友人からの頼まれ物Part2ですw コインレス機を作って欲しいと言われ家で飲みながら話していたのですが、できれば出玉カウンタも・・・ できれば外部からの信号でクレジットが上がる仕組みで・・・ と、どんどん注文が増えてきたので最終的に何がしたいの?って聞いてみると アミューズメント機にできるようにしたいとの事、よくラブホやゲーセンにあるスロット機は100円などを入れると クレジットが上がりゲームができるようになっているが最終的に出るのは景品である。 それって数字の表示だけなら賭博に使えるからダメじゃないの? 友人曰く換金するから賭博であって換金しなけりゃただのゲームだから大丈夫らしい・・・本当か? まぁ頼まれりゃ作りはしますがねw ってことで今回は長くなります。 台の仕組みは左図のように前回と同じで今回は赤丸の部分に注目してみます。 外部からの信号でクレジットを上げ、BETボタンを押すことによってクレジットを減算しコイン投入信号を台に送る。 払い出しがあればクレジットに加算する。 クレジットが0になれば停止する。 外部信号で上がるクレジット数は設定ができるようにする。 一定クレジットで外部に信号を出す。(これは次回考えようw) いろいろな台を見てみると仕組みはほぼ同じだが出る(入る)信号に多少違いがある。 オープンドレインでLレベル出力やフォトカプラによりHレベル出力される物など全てに対応するにはハーネスで接続ポートを変えねば・・・ コイン投入口(コインセレクタと言う)の電磁石やコイン払い出し機(ホッパーと言う)のモーターには24Vという、とんでもない電圧がかかっているので一歩間違えればPICが瞬時に黒焦げにw テスト段階で3個ほどPICをこんがり焼き、コインセレクタとホッパーのメーカー別ほぼ共通の構造がわかってきました。 これらを考慮し回路を設計する前に2点の構造をおさらいします。 台自体のクレジット数50枚はここでは考えないものとして見てください。 通常はBET数最大3枚ですので、1枚〜3枚までは通常通りセンサーを通過し内部に流れます。 4枚目以降は電磁石が働き、センサー通過前に排出されます。 つまりこの電磁石がコイン受付のイネーブル信号になるわけで電磁石が働いてない間はコインを受け付けるわけです。 次にコイン通過時のセンサーの動きを見てみましょう。 センサーは光電センサがほとんどで、通過時には以下のステップで動作します。 (0)センサー1=OFF、センサー2=OFF (1)センサー1=ON、センサー2=OFF (2)センサー1=ON、センサー2=ON (3)センサー1=OFF、センサー2=ON (4)センサー1=OFF、センサー2=OFF 各ステップ間は約10〜100mSecとなっていて、これより早かったり遅かったりすると不正信号として処理されます。 連続して投入してもコインの上部分か下部分で見ているので必ず隙間ができる仕組みになっています。 イネーブル時に15〜20mSecステップで各センサー端子に信号を入れれば電気的にコイン投入ができると言うことです。 イネーブル端子はオープンコレクタ入力にする事が必須です。 ホッパーも仕組み的にはコインセレクタと似た感じです。 モーターの回転によってコインを弾き飛ばす感じになっており、これをホッパー払い出しのイネーブル信号として使えます。 セレクタとの違いはセンサ2が初めからONになった状態です。 (0)センサ1=OFF、センサ2=ON (1)センサ1=ON、センサ2=ON (2)センサ1=ON、センサ2=OFF (3)センサ1=OFF、センサ2=ON 各ステップは5〜30mSecとセレクタに比べて短くエラーが出やすい構造になっています。 メイン基盤内の払い出し数に合った払い出しがあるとモーターが止まる仕組みなので、モーターが動いてる間センサに信号を送り続ければいいだけです。 こちらもイネーブル時に15〜20mSecステップで各センサ端子に信号を入れ同時にPIC内部カウンタを加算すれば払い出しを外部でカウントすることが可能になります。 やはりモーターは24Vで動いているのでトランジスタによりオープンコレクタ入力してやらないとPICが破壊されます。 ここまで準備が整えば回路設計とプログラミングは簡単です。 さてやっと本題に入りましょうw 今回のチップは、ホッパー入出力3本、セレクタ入出力3本、カウンタ表示用にBCD出力4本+桁上げ1本、BETボタン1本、その他数本で15本もあれば足りるので16F648Aでいくことにしました。 16F627でもいけると思いますが、家に余っていたのでこのまま使います。w 回路設計中に度々変更を加えながら最終的な物は以下の回路図ですが、見ただけじゃわからないと思いますので説明をしときます。 BETボタンとセレクタやホッパーをRAポートでコントロールし本体部分と別にカウント数を表示する5桁LED部分へRBポートで信号を送るように分けました。 デコードICを使ってもBCD4本、5桁ダイナミック表示なら桁数分の出力を考えると表示だけで9本が必要では? と思うかも知れませんが、桁コントロールに1本しか使いません。 その理由は、桁切り替え部分をPIC12F629でパルスコントロールします、リセット時の同期さえ取れれば可能なので後はプログラムで対処しましょうw(コスト的にもその方がお得) 表示部と本体を分けた事により表示部分を繋げない状態では単にエンドレスで動くコインレス機として働くように設計し桁上げパルスを出力するRB4を起動時に入力モードにし100K抵抗でプルダウンしてあります。 表示部分では10kでプルアップしてあるので表示部があればHレベル、無ければLレベルになり接続の有無を判断できます。 RB5〜RB7でクレジットのコントロールを行いますので、外部からのクレジットトリガに1本とクレジット加算数設定に2本使います。 表示部側で設定ボタンを設けてもよかったのですが外部に露出する表示部に設定端子を設けるのはセキュリティ的に問題があるので、ジャンパで選択できるように回路設計しました。 RA6で台からのBETボタン入力を受付けRA7のコインセレクタイネーブル(CSE)でRA0とRA1がセレクタセンサにコイン投入信号を連続して送出します。 台側では24Vもある電磁石への大電流をコントロールするのにFETでのオープンドレインによって制御していますのでLレベル入力と同じ事になります。 台側のセンサ入力にはメーカーによりHレベル入力とLレベル入力が存在するので2系統作っています。「CS01、CS02」がHレベル入力用と「CS11、CS12」がLレベル入力用です。 RA2〜RA4はホッパーコントロールに使用します。 ホッパーセンサは各社共通でLレベル入力しか存在しないようなので1系統しか作っていません。 ところが、モーターコントロールにはパワートランジスタによる+側制御とFETによる−側制御が存在しますので2系統作っています。 「HSE1」が+側制御用と「HSE0」が−側制御用です。 これでほとんどのメーカーのスロット台に対応することが可能になります。 さて表示側回路ですが、ほとんど何も考える必要もなくダイナミック表示の桁切り替えコントロールにはPIC12F629を使い本体より送られるパルスに従い桁を制御するだけなので注意点としてはリセット時の同期を取る部分だけです。 その方法は少しアバウトですが、12F629側を先に待機状態にして本体16F648Aでリセット時にウェイトを置き少し遅らせて待機状態にします。 本体からマーカーパルスを1回送出し準備が完了したことを知らせ表示側で桁パルス受付け状態にするだけのシンプル設計です。 最初の設計段階では簡単にクレジットの外部入力を1・5・10で端子ごとに分けて入力させようと目論んでいたのですが、金銭識別機の種類によってパルス回数に違いがあることが判明したのでCRE5の端子のみを外部クレジット入力と変更しました。 本体側(ジャンパーにより表示側)で1パルスに対して∩゚∀゚∩ageるクレジット数を設定できるように変更した訳は、コインサンド機を使う例で説明します。 メーカーにより1,000円札を入れると10回のパルスを出す物と1回しかパルスを出さない物が存在するため、細かい設定ができるように考慮した結果こうなりましたが、後に考えてみたらサンド側にもコントロール基盤を仕込めばいいだけなので問題はないのです。 でも作ってしまったからもういいじゃんw まぁ細かい設定ができる仕様になったと言うだけで、深く考えないでください。 この端子はショートさせればいいだけなので、俗に言う「接点入力」である事に注意してください。 デコードICにはごく一般的なCMOSの4511を使います。(これ安くて便利で割りと好きw) 7セグLEDは秋月で一番安い汎用品を使いましたのでカソード・コモンであればほとんどピンコンパチだと思います。 さて基盤パターンの設計に入るとどうしても基盤に少し余裕ができてしまうので何か付加回路を組もうと思いましたので、さっき言ったサンド側コントロール基盤を組みたいと思います。 と言ってもサンドの構造は金銭識別機から出される信号で規定数のコインを吐き出すだけスロット台のホッパーと同じ原理なので何も悩むことはありません 古いサンドにはホッパーからあらかじめ貯留部に50枚溜め込んでそれを電磁石で一度にバケツをひっくり返す要領で吐き出すという方式の物が存在します。 最近見かける物はノズルから順番に1枚ずつ吐き出されますが、一昔前だと受け皿が下にありそこに向かってガサッ!っと落ちてくる物がありました。 吐き出した後はホッパーが50枚分を貯留部に貯めるという構造なのでそれらも考慮し回路設計を行います。 そこでさっき言っていたクレジットの接点入力用にフォトリレーを用いて1パルス出力を設けます。 これ、基盤の余ってる部分に収まるの? 収めるしかないので無理やりにでも詰め込みましたw 「MOT0」はモーターが−側制御の場合「MOT1」は+側制御の場合に使用します。 「MAG」は電磁石用オープンドレイン入力です。 「HS0」はセンサがHレベル入力だった場合に使用、「HS1」はLレベル入力だった場合に使用しますがホッパーセンサ用で、コインサンドのホッパーにはセンサが1つしか付いていない物が多いため1入力2系統にしました。 「OS1」と「OS2」は払い出しセンサが存在するバケツでガサッとタイプの古いサンドで使用します。 この回路設計をするに当たりテストした機種は、Daito製のMH-170とグローリー製EMS-7というコインサンド2機種です。 かなり細々して製作には手間がかかりますが、何だか行けそうな気がするぅ〜♪あると思います! これでほとんどのコインサンドに対応してくれる事を信じて基盤設計に行きたいと思いますが、それは次週にしたいと思います。 次週はパターン設計とハーネスの解説を行いますのでお楽しみに〜 今回の回路図をダウンロードする。 (CADLUS Circuit用cmpファイル) |