以下、本発明の一つの実施形態によるモータ制御装置を、図を参照しつつ説明する。このモータ制御装置は、例えば、回胴遊技機が有する回転リールを駆動するモータを制御するために用いられる。このモータ制御装置は、上位の制御装置から、回転中のモータを停止させるときに適用される停止制御の方式を指定するための停止制御信号を受信すると、その停止制御信号に含まれる停止設定値に応じて、モータを停止させる際にモータに印加する駆動力(以下、ブレーキ力と呼ぶことがある)、及び、モータにブレーキを掛け始めるタイミングを制御する。停止設定値は、モータの回転量が目標回転量に達した時点でモータの回転を停止させるようモータを制御(以下、このような制御を「通常停止」と呼ぶ)するための値と、モータの回転量が目標回転量に達する度に、モータの回転方向とは逆向きにモータを回転させる一定のブレーキ力を印加し続けるようモータを制御(以下、このような制御を演出停止と呼ぶ)するための値との間で選択可能となっている。停止設定値が演出停止を行うための値に設定されている場合、モータにより駆動される回転リールは、目標回転量に応じた目標停止位置の前後で振動しながら徐々に停止する。一方、停止設定値が通常停止を行うための値に設定されている場合、モータにより駆動される回転リールは、上記のような振動を行わずに、目標回転量に応じた目標停止位置にて静止する。したがって、このモータ制御装置は、停止設定値に応じて、モータが停止する際のモータの停止動作を多様化できる。
図1は、本発明の一つの実施形態によるモータ制御装置の概略構成図である。図1に示されるように、モータ制御装置1は、通信インターフェース回路10と、メモリ11と、駆動制御回路12と、回転速度算出回路13と、駆動信号生成回路14と、ブレーキタイミング判定回路15とを有する。
モータ制御装置1が有するこれらの各部は、それぞれ、別個の回路として回路基板(図示せず)上に実装されてもよく、あるいは、これらの各部が集積された集積回路として回路基板上に実装されてもよい。
モータ制御装置1は、上位の制御装置から受信した、速度設定信号、駆動信号及び停止制御信号に従って、モータ2を駆動するモータ駆動回路3を制御する。本実施形態では、モータ制御装置1は、モータ2に対する電流の供給のオン/オフを切り替える駆動信号を、パルス幅変調(PWM)方式により生成する。そしてモータ制御装置1は、生成した駆動信号を、モータ駆動回路3へ出力することで、モータ2の回転を制御する。その際、モータ制御装置1は、駆動信号のデューティ比を、速度設定信号にて指定された回転速度に対応するデューティ比に設定することで、モータ2をその指定された回転速度で回転させる。そしてモータ制御装置1は、モータ2の回転量を調べるためのロータリーエンコーダ4から、モータ2の回転軸(図示せず)が所定のサンプリング角度だけ回転する度に、その角度回転したことを示す検知信号を受信し、検知信号の受信回数及び停止制御信号に含まれる停止設定値に応じてモータ2にブレーキを掛け始めるタイミングを制御する。さらに、モータ制御装置1は、停止制御信号に含まれる停止設定値に従って、モータ2を停止させる際のブレーキ力を制御する。
本実施形態では、モータ2は、直流モータとすることができる。
図2は、モータ駆動回路3の回路図である。モータ駆動回路3は、4個のスイッチTR1~TR4を有する。なお、各スイッチは、例えば、トランジスタまたは電界効果トランジスタとすることができる。このうち、二つのスイッチTR1及びTR3が、電源とグラウンドとの間に直列に接続される。同様に、二つのスイッチTR2及びTR4が、電源とグラウンドとの間に直列に接続される。そしてモータ2の正極側端子は、スイッチTR1とTR3の間に接続され、一方、モータ2の負極側端子は、スイッチTR2とTR4の間に接続される。そして各スイッチTR1~TR4のスイッチ端子(例えば、スイッチTR1~TR4がトランジスタであれば、ベース端子に相当し、スイッチTR1~TR4が電界効果トランジスタであれば、ゲート端子に相当)は、それぞれ、駆動信号生成回路14に接続される。そして駆動信号生成回路14からの駆動信号は、各スイッチTR1~TR4のスイッチ端子に入力される。
図3は、各スイッチに印加される駆動信号とモータ2の回転方向との関係を表すテーブルの一例を示す図である。
テーブル300に示されるように、モータ2を正転させる場合、スイッチTR1のスイッチ端子とスイッチTR4のスイッチ端子とに、PWM方式に従って設定された、モータ2の回転速度に応じたパルス幅を持つ、周期的なパルスを含む駆動信号が印加される。一方、スイッチTR2のスイッチ端子及びスイッチTR3のスイッチ端子には駆動信号が印加されない。これにより、モータ2には、スイッチTR1とスイッチTR4とにパルスが印加されている間のみ、正極側端子に電源電圧が印加されるので、モータ2は、そのパルス幅に応じた速度で正転する。
なお、モータ2を正転させる場合、スイッチTR1とTR4のうちの何れか一方に駆動信号を印加し、他方を常時オンとしてもよい。
一方、モータ2を逆転させる場合、スイッチTR2のスイッチ端子とスイッチTR3のスイッチ端子とに、PWM方式に従って設定された、モータ2の回転速度に応じた周期的なパルスを持つ駆動信号が印加される。一方、スイッチTR1のスイッチ端子及びスイッチTR4のスイッチ端子には駆動信号が印加されない。これにより、モータ2には、スイッチTR2とスイッチTR3とにパルスが印加されている間のみ、負極側端子に電源電圧が印加されるので、モータ2は、そのパルス幅に応じた速度で逆転する。
なお、モータ2を逆転させる場合、スイッチTR2とTR3のうちの何れか一方に駆動信号を印加し、他方を常時オンとしてもよい。
本実施形態では、モータ2が正転しているときにモータ2にブレーキをかける場合には、駆動信号生成回路14は、モータ2を逆転させる駆動信号をモータ駆動回路3へ出力する。逆に、モータ2が逆転しているときにモータ2にブレーキをかける場合には、駆動信号生成回路14は、モータ2を正転させる駆動信号をモータ駆動回路3へ出力する。
また、モータ2の静止状態を維持する場合、スイッチTR3のスイッチ端子とスイッチTR4のスイッチ端子とがオンにされ、スイッチTR1のスイッチ端子とスイッチTR2のスイッチ端子とがオフにされる。
さらに、モータ2を駆動しない場合には、各スイッチのスイッチ端子はオフにされる。
ロータリーエンコーダ4は、回転角センサの一例であり、例えば、光学式のロータリーエンコーダとすることができる。そしてロータリーエンコーダ4は、例えば、モータ2の回転軸に取り付けられた、その回転軸を中心とする円周方向に沿って所定のサンプリング角度ごとに設けられる複数のスリットを有する円盤と、その円盤を挟んで対向するように配置された光源と受光素子とを有する。そして光源と受光素子との間に何れかのスリットが位置する度に、光源からの光が受光素子に達することで、ロータリーエンコーダ4は、パルス状の検知信号を出力する。これにより、ロータリーエンコーダ4は、モータ2が所定のサンプリング角度だけ回転する度に、検知信号をモータ制御装置1へ出力する。例えば、モータ2の回転軸を中心とする円周方向に沿って、円盤に50個のスリットが設けられることで、ロータリーエンコーダ4は、モータ2の回転軸が1回転する間に50個の検知信号を出力する。
以下、モータ制御装置1の各部について説明する。
通信インターフェース回路10は、通信部の一例である。そして通信インターフェース回路10は、例えば、モータ制御装置1を上位の制御装置と接続する。上位の制御装置は、例えば、モータ制御装置1が実装された回胴遊技機本体の制御部である。そして通信インターフェース回路10は、上位の制御装置から、シリアル伝送される複数のビットを持つ速度設定信号を、モータ2が駆動する回転リールの回転速度が変更される度に受信する。例えば、速度設定信号が2ビットを有するとする。この場合、速度設定信号のビット値‘00’に対して回転速度40[rpm]が設定される。同様に、速度設定値のビット値‘01’、‘10’、‘11’のそれぞれに対して、回転速度80[rpm]、240[rpm]、333[rpm]が設定される。
さらに、通信インターフェース回路10は、回転リールが回転駆動されている間、上位の制御装置から、回転リールを図柄一つ分の回転量だけ回転させる度に、回転リールの回転を継続することを表す駆動制御信号を受信する。なお、駆動制御信号は、例えば、矩形の単パルス信号とすることができる。
さらにまた、通信インターフェース回路10は、上位の制御装置から、シリアル伝送される複数のビットを持つ停止制御信号を、回転リールの停止制御の方式が変更される度に受信する。
通信インターフェース回路10は、速度設定信号を受信する度に、受信した速度設定信号を駆動制御回路12へ渡す。また通信インターフェース回路10は、駆動制御信号を受信する度に、駆動制御信号を受信したことを駆動制御回路12へ通知する。なお、回転リールが停止される場合には、上位の制御装置は、駆動制御信号をモータ制御装置1へ送信しないので、通信インターフェース回路10から駆動制御回路12にも、駆動制御信号の受信が通知されない。さらに、通信インターフェース回路10は、停止制御信号を受信する度に、その停止制御信号に含まれる停止設定値を、駆動信号生成回路14及びブレーキタイミング判定回路15へ通知する。
メモリ11は、例えば、不揮発性の半導体メモリ回路を有する。そしてメモリ11は、回転リールの回転制御に必要な情報を記憶する。本実施形態では、メモリ11は、速度設定信号と回転リールの回転速度との関係を表す速度テーブルと、回転速度ごとの、何れかの図柄が所定の停止位置にて停止するよう、回転中の回転リールが静止するまで、すなわち、回転中のモータ2が停止するまでの検知信号数(以下、停止所要数と呼ぶ)とを記憶する。さらに、メモリ11は、回転速度ごとのデューティ比を表すデューティ比テーブルと、通常停止の際に用いられる、回転速度とブレーキ力に応じたデューティ比との関係を表す速度ブレーキ値テーブルと、演出停止の際に用いられる、停止設定値とブレーキ力に応じたデューティ比との関係を表すブレーキ値テーブルを記憶する。
図4は、ブレーキ値テーブルの一例を示す図である。ブレーキ値テーブル400の左側の列には、停止制御信号に含まれる停止設定値が示される。なお、この例では、停止設定値は、2ビットで表される。一方、ブレーキ値テーブル400の右側の列には、停止制御信号に含まれる停止設定値に対応する、ブレーキ力に応じたデューティ比が示される。図4に示される例では、ビット値が‘00’である場合、すなわち、通常停止の場合、ブレーキ力に相当するデューティ比は、モータ2の回転速度に依存した値であることを表す、予め設定された値(図4では、AA)に設定される。一方、ビット値が‘01’、‘10’、‘11’である場合、すなわち、演出停止の場合、ブレーキ力に相当するデューティ比は、それぞれ、20[%]、50[%]、100[%]に設定される。
駆動制御回路12は、駆動制御部の一例であり、速度設定信号で指定された回転速度に従って、モータ2を駆動信号のデューティ比を設定する。そこで、駆動制御回路12は、速度設定信号を受信する度に、メモリ11から速度テーブルを読み込んで、その速度テーブルを参照することで、速度設定信号にて指定された回転速度を求める。さらに、駆動制御回路12は、設定された回転速度に応じて、駆動信号のパルスのデューティ比を設定する。駆動制御回路12は、デューティ比テーブルを参照して、設定された回転速度に対応するデューティ比を決定すればよい。
駆動制御回路12は、駆動制御信号を受信したことが通知される度に、デューティ比を、駆動信号生成回路14へ出力する。
さらに、駆動制御回路12は、駆動制御信号を受信したことが通知される度に、1図柄当たりの回転量に相当する、ロータリーエンコーダ4からの検知信号の数(以下、図柄単位検知信号数と呼ぶ)をブレーキタイミング判定回路15へ出力する。例えば、モータ2と回転リールのギア比が1:10であり、ロータリーエンコーダ4が、モータ2が一周する間に50個の検知信号を出力するとすれば、回転リールが一周する間に500個の検知信号が出力される。したがって、回転リールに20個の図柄が設けられる場合、1図柄当たり25個の検知信号が出力される。そのため、この例では、駆動制御回路12は、駆動制御信号を受信したことが通知される度に、図柄単位検知信号数として、‘25’をブレーキタイミング判定回路15へ出力する。なお、回転リールが停止される場合には、駆動制御信号を受信したことが通知されないので、駆動制御回路12は、図柄単位検知信号数を出力しない。
さらにまた、駆動制御回路12は、回転リールの回転速度が変更される度に、回転リールの回転速度をブレーキタイミング判定回路15へ通知する。
回転速度算出回路13は、ロータリーエンコーダ4から受信した検知信号に基づいて、モータ2の現在の回転速度を算出する。そのために、回転速度算出回路13は、例えば、タイマとカウンタとを有する。そして回転速度算出回路13は、タイマにより計時された一定期間中に受信した検知信号の数をカウンタによりカウントし、その検知信号の数に、ロータリーエンコーダ4のサンプリング角度を乗じて得られる回転量をその一定期間で除することで回転速度を算出する。なお、回転速度算出回路13は、一定期間内に受信した検知信号の数が1個以下である場合、モータ2の回転速度を0としてもよい。
回転速度算出回路13は、所定の周期ごと、例えば、駆動信号生成回路14からモータ駆動回路3へ出力されるパルス信号の周期ごとに、算出したモータ2の回転速度を駆動信号生成回路14へ出力する。
駆動信号生成回路14は、駆動信号生成部の一例であり、例えば、出力するパルスの幅(すなわち、デューティ比)を変更可能な可変パルス生成回路と、可変パルス生成回路により生成された、駆動信号である周期的なパルス信号を、モータ駆動回路3の何れのスイッチへ出力するかを切り替えるスイッチ回路とを有する。そして駆動信号生成回路14は、駆動制御回路12からデューティ比が通知される度に、モータ2を駆動するための駆動信号であるパルス信号をPWM方式に従って生成し、所定の出力周期ごとに、そのパルス信号を、モータ駆動回路3へ出力することで、モータ2の回転を制御する。その際、駆動信号生成回路14は、通知されたデューティ比にしたがって、パルス信号のパルス幅を設定すればよい。一方、駆動信号生成回路14は、ブレーキタイミング判定回路15からブレーキ開始タイミングになったことを通知されると、モータ2にブレーキを掛けて停止させるための駆動信号を、モータ駆動回路3へ出力する。なお、本実施形態では、上記のように、モータ2にブレーキを掛ける場合、駆動信号生成回路14は、モータ2が回転している向きとは逆向きに回転させる駆動信号をモータ駆動回路3へ出力すればよい。
駆動信号生成回路14は、モータ2にブレーキを掛ける場合、上位制御装置から受信した停止制御信号に含まれる停止設定値と、メモリ11から読み込んだブレーキ値テーブルとを参照して、モータ2に印加するブレーキ力を設定する。
例えば、停止制御信号に含まれる停止設定値が‘00’である場合、すなわち、通常停止が指示された場合、駆動信号生成回路14は、ブレーキ開始タイミングから、停止所要数だけモータ2が回転した時点でモータ2が停止するよう、ブレーキ力を制御する。この場合、ブレーキ力に相当する駆動信号のデューティ比は、モータ2の回転速度に応じて設定される。すなわち、駆動信号生成回路14は、メモリ11に記憶されている速度ブレーキ値テーブルを参照して、回転速度算出回路13から受信したモータ2の回転速度に対応するデューティ比を特定すればよい。なお、速度ブレーキ値テーブルでは、例えば、モータ2の回転速度が高いほど、高いデューティ比、すなわち、高いブレーキ力が設定される。そして駆動信号生成回路14は、モータ2が停止するまで、特定したデューティ比の駆動信号をモータ駆動回路3へ出力する。
一方、停止制御信号に含まれる停止設定値が‘00’以外である場合、すなわち、演出停止が指示された場合、駆動信号生成回路14は、駆動信号のデューティ比が、停止設定値で指定されたデューティ比となるように、ブレーキ力を制御する。そして駆動信号生成回路14は、モータ2が停止するまで、モータ2の回転量が目標回転量に達したこと、すなわち、ブレーキ開始タイミングになったことがブレーキタイミング判定回路15から通知される度に、モータ2の回転方向とは逆向きにモータ2を回転させる駆動信号をモータ駆動回路3へ出力する。
なお、駆動信号生成回路14は、モータ2の回転量が目標回転量となり、かつ、回転速度算出回路13により算出されたモータ2の回転速度が0になると、モータ2に対するブレーキを停止させ、モータ2の静止状態を維持させる駆動信号をモータ駆動回路3へ出力してもよい。
ブレーキタイミング判定回路15は、ブレーキタイミング判定部の一例であり、停止設定値に応じてモータ2にブレーキを掛け始めるタイミング(すなわち、ブレーキ開始タイミング)を決定する。
本実施形態では、ブレーキタイミング判定回路15は、停止設定値が通常停止を示す値である場合と、停止設定値が演出停止を示す値である場合とで、ブレーキ開始タイミングを異ならせる。
停止設定値が通常停止を示す値である場合、ブレーキタイミング判定回路15は、所定の目標回転量とモータ2の回転量との差(すなわち、残回転量)が検知所要数以下になるとブレーキ開始タイミングになったと判定する。本実施形態では、ブレーキタイミング判定回路15は、駆動制御回路12から受け取った図柄単位検知信号数の累積値(以下、単に累積値と呼ぶ)と、受信した検知信号の数とに基づいてブレーキ開始タイミングを決定する。なお、モータ2が、回転リールの1図柄分回転しても上位制御装置から駆動制御信号を受信しなかったとき、すなわち、モータ2の回転の停止が指示されたときの累積値が、モータ2を停止させる目標回転量に相当し、それ以降に受信した検知信号の数がモータ2の回転量に相当する。したがって、ロータリーエンコーダ4から検知信号を受信する度に更新される累積値は、目標回転量までの残回転量に相当する。例えば、ブレーキタイミング判定回路15は、回転リールが回転を開始する前の時点で、累積値を0に設定する。その後、ブレーキタイミング判定回路15は、駆動制御回路12から回転リールの回転速度を通知されると、その回転速度に対応する停止所要数をメモリ11から読み込む。またブレーキタイミング判定回路15は、駆動制御回路12から図柄単位検知信号数を受信する度に、累積値に受信した図柄単位検知信号数を加算する。一方、ブレーキタイミング判定回路15は、ロータリーエンコーダ4から検知信号を受信する度に、累積値から1を減じる。そしてブレーキタイミング判定回路15は、累積値がメモリ11から読み込んだ停止所要数以下となったときをブレーキ開始タイミングとする。
一方、停止設定値が演出停止を示す値である場合、ブレーキタイミング判定回路15は、所定の目標回転量とモータ2の回転量とが一致すると、ブレーキ開始タイミングになったと判定する。本実施形態では、ブレーキタイミング判定回路15は、モータ2にブレーキが掛け始められる前と同じ方向にモータ2が回転している場合、ロータリーエンコーダ4から検知信号を受信する度に、累積値から1を減じる。一方、ブレーキタイミング判定回路15は、モータ2にブレーキが掛け始められる前と同じ方向にモータ2が回転している場合、ロータリーエンコーダ4から検知信号を受信する度に、累積値に1を加算する。そしてブレーキタイミング判定回路15は、累積値が0になる度に、モータ2の回転量が目標回転量に達したこと、すなわち、ブレーキ開始タイミングになったことを駆動信号生成回路14へ通知する。
図5(a)は、通常停止が適用される場合における、ブレーキ力とモータ2の回転速度の時間変化の一例を示す図である。図5(b)は、演出停止が適用される場合における、ブレーキ力とモータ2の回転速度の時間変化の一例を示す図である。図5(a)及び図5(b)において、横軸は経過時間を表し、左側の縦軸は、モータ2の回転速度を表し、右側の縦軸は、駆動信号生成回路14からモータ駆動回路3へ出力される駆動信号のデューティ比を表す。なお、モータ2が正転している場合、回転速度は正で表され、一方、モータ2が逆転している場合、回転速度は負で表される。また、モータ2を正転させる駆動信号が出力される場合のデューティ比は正で表され、一方、モータ2を逆転させる駆動信号が出力される場合のデューティ比は負で表される。
図5(a)において、波形501は、モータ2の回転速度の時間変化を表し、波形502は、駆動信号生成回路14からモータ駆動回路3へ出力される駆動信号のデューティ比(すなわち、ブレーキ力)の時間変化を表す。この例では、時刻t1において、累計値が停止所要数以下となり、モータ2にブレーキが掛け始められる。そのため、時刻t1以降、モータ2の回転方向(この例では、正転方向)とは逆向きにモータ2を回転させるブレーキ力がモータ2に印加される。そして時刻t1以降、モータ2の回転速度が低下し、時刻t2にて、モータ2の回転速度は0となる。すなわち、モータ2は、目標回転量を超えて回転することはないので、モータ2により駆動される回転リールも、目標停止位置を超えずに停止する。
図5(b)において、波形511は、モータ2の回転速度の時間変化を表し、波形512は、駆動信号生成回路14からモータ駆動回路3へ出力される駆動信号のデューティ比の時間変化を表す。この例では、時刻t1に達するまで、モータ2には、正転方向に回転させる駆動信号が印加される。そして時刻t1にて、モータ2の回転量が目標回転量に達するので、時刻t1を過ぎると、モータ2の回転方向(この例では、正転方向)とは逆向きにモータ2を回転させる、停止設定値により指定された一定のブレーキ力(この例では、デューティ比20%に相当)を持つ駆動信号がモータ駆動回路3へ出力される。そして時刻t2にて、モータ2の回転速度が0となり、時刻t2以降、モータ2は逆向きに回転を始める(すなわち、モータ2は逆転方向に回転し始める)。この時点では、モータ2の回転量は、目標回転量を超えているので、モータ2により駆動される回転リールも、目標停止位置よりも行き過ぎている。そして時刻t3にて、モータ2の回転量が再び目標回転量になると、今度は、モータ2を正転させる方向に、停止設定値により指定された一定のブレーキ力を持つ駆動信号がモータ駆動回路3へ出力される。そして時刻t4にて、モータ2の回転速度が再び0となり、時刻t4以降、モータ2は逆向きに回転を始める(すなわち、モータ2は正転方向に回転し始める)。この時点では、モータ2の回転量は、目標回転量に達していないので、モータ2により駆動される回転リールも、目標停止位置の手前に位置している。そして時刻t5にて、モータ2の回転量が目標回転量になると、モータ2を逆転させる方向に、停止設定値により指定された一定のブレーキ力を持つ駆動信号がモータ駆動回路3へ出力される。このように、モータ2の回転量が目標回転量となる度に、ブレーキを掛ける方向を反転させることで、モータ2は回転方向を入れ替えながら徐々に停止する。これに伴い、モータ2により駆動される回転リールも、目標停止位置の前後で行ったり来たりを繰り返しながら徐々に停止する。
図6は、モータ制御装置1による、モータ2を停止させるための停止制御処理の動作フローチャートである。この停止制御処理は、モータ制御装置1が上位制御装置から駆動制御信号を受信しなくなると、すなわち、モータ2の回転を停止させることが指示されると実行される。
駆動信号生成回路14は、駆動制御回路12から通知された、速度設定信号にて指定された回転速度に対応するデューティ比を持つ駆動信号を、モータ2を駆動するモータ駆動回路3へ出力する(ステップS101)。
ブレーキタイミング判定回路15は、ロータリーエンコーダ4から検知信号を受信すると、目標回転量までの残回転量を表す、図柄単位検知信号数の累積値を1デクリメントする(ステップS102)。
また、ブレーキタイミング判定回路15は、上位制御装置から受信し、通信インターフェース回路10から受信した停止設定値が通常停止を示す値か否か判定する(ステップS103)。停止設定値が通常停止を示す値である場合(ステップS103-Yes)、ブレーキタイミング判定回路15は、累積値が停止所要数以下か否か判定する(ステップS104)。累積値が停止所要数よりも大きければ(ステップS104-No)、モータ制御装置1は、ステップS101以降の処理を繰り返す。
一方、累積値が停止所要数以下であれば(ステップS104-Yes)、ブレーキタイミング判定回路15は、駆動信号生成回路14へブレーキ開始タイミングとなったことを通知する。また、駆動信号生成回路14は、モータ2が停止するまで、メモリ11に記憶されている速度ブレーキ値テーブルを参照して、回転速度算出回路13から受信したモータ2の回転速度に対応するデューティ比を特定する。そして駆動信号生成回路14は、そのデューティ比に相当するブレーキ力を持つ駆動信号を、モータ駆動回路3へ出力する(ステップS105)。駆動信号生成回路14は、モータ2が停止すると、すなわち、累積値が0になると、モータ駆動回路3への駆動信号の出力を停止する。
ステップS103にて、停止設定値が演出停止を示す値である場合(ステップS103-No)、ブレーキタイミング判定回路15は、累積値が0、すなわち、モータ2の回転量が目標回転量に達したか否か判定する(ステップS106)。累積値が0よりも大きければ(ステップS106-No)、モータ制御装置1は、ステップS101以降の処理を繰り返す。
一方、累積値が0であれば(ステップS106-Yes)、ブレーキタイミング判定回路15は、駆動信号生成回路14へブレーキ開始タイミングになったことを通知する。そして駆動信号生成回路14は、停止設定値で指定されたデューティ比に相当するブレーキ力を持ち、かつ、それ以前の回転方向とは逆向きにモータ2を回転させる駆動信号を、累積値が0になるまで、すなわち、モータ2の回転量が目標回転量に達するまで、モータ駆動回路3へ出力する(ステップS107)。
その後、累積値が0、すなわち、モータ2の回転量が目標回転量に達すると、駆動信号生成回路14は、回転速度算出回路13により算出されたモータ2の回転速度が0になったか否か判定する(ステップS108)。モータ2の回転速度が0でなければ(ステップS108-No)、モータ制御装置1は、ステップS107以降の処理を繰り返す。一方、モータ2の回転速度が0であれば(ステップS108-Yes)、モータ2の回転量が目標回転量となったところでモータ2が停止している。そこで、駆動信号生成回路14は、モータ駆動回路3への駆動信号の出力を停止する(ステップS109)。
ステップS105またはステップS109の後、モータ制御装置1は、停止制御処理を終了する。
以上に説明してきたように、このモータ制御装置は、上位制御装置から受信した停止制御信号に含まれる停止設定値に応じて、モータを停止させる際のブレーキの開始タイミング及びブレーキ力を制御する。そのため、モータが回転停止に至るまでのモータの挙動がその停止設定値に応じて変化する。したがって、このモータ制御装置は、モータが停止する際のモータの停止動作を多様化できる。
変形例によれば、駆動信号生成回路14は、演出停止制御によりモータ2を停止させる場合、モータ2の回転量が目標回転量に所定回(例えば、1~4回)達する度に、駆動信号のデューティ比を低下させてもよい。この場合、ブレーキタイミング判定回路15は、カウンタを有し、累積値が0となる回数が所定回数の整数倍となる度、すなわち、モータ2の回転量が目標回転量に所定回達する度に、そのカウンタにより、モータ2の回転量が目標回転量に達した数(以下、単に到達回数と呼ぶ)を1インクリメントすればよい。そしてブレーキタイミング判定回路15は、到達回数が1インクリメントされる度に、その到達回数を駆動信号生成回路14へ通知する。
駆動信号生成回路14は、到達回数が1インクリメントされる度に、モータ2にブレーキを掛ける駆動信号のデューティ比を低下させる。例えば、駆動信号生成回路14は、停止設定値により指定されたデューティ比(指定デューティ比)から、その指定デューティ比に対して到達回数と所定の減衰係数を乗じた値を減じることで、モータ2にブレーキを掛ける駆動信号のデューティ比を求める。そして駆動信号生成回路14は、そのデューティ比を持つ駆動信号を、モータ駆動回路3へ出力する。
図7は、この変形例による、演出停止が適用される場合における、ブレーキ力とモータ2の回転速度の時間変化の一例を示す図である。図7において、横軸は経過時間を表し、左側の縦軸は、モータ2の回転速度を表し、右側の縦軸は、駆動信号生成回路14からモータ駆動回路3へ出力される駆動信号のデューティ比を表す。なお、モータ2が正転している場合、回転速度は正で表され、一方、モータ2が逆転している場合、回転速度は負で表される。また、モータ2を正転させる駆動信号が出力される場合のデューティ比は正で表され、一方、モータ2を逆転させる駆動信号が出力される場合のデューティ比は負で表される。
図7において、波形701は、モータ2の回転速度の時間変化を表し、波形702は、駆動信号生成回路14からモータ駆動回路3へ出力される駆動信号のデューティ比(すなわち、ブレーキ力)の時間変化を表す。波形701及び波形702に示されるように、モータ2にブレーキが掛け始められる時刻t1以降において、モータ2の回転速度が極値となる度に、すなわち、モータ2の回転量が目標回転量に達する度に、徐々にデューティ比、すなわち、ブレーキ力が低下することが分かる。これにより、モータ2の回転量が目標回転量に達したときの回転速度が徐々に低下し、最終的にモータ2の回転量が目標回転量となる位置でモータ2は停止する。
この変形例によれば、モータ制御装置は、モータ2が駆動する回転リールによる負荷によらず、モータ2の回転量がその目標回転量となる位置にてモータ2を停止させることが容易となる。
なお、この変形例において、停止制御信号には、演出停止が適用される場合に、目標回転量への到達回数に応じて駆動信号のデューティ比を低下させるか、到達回数によらず、駆動信号のデューティ比を停止設定値により指定された値を維持するかを切り替えるためのフラグが含まれてもよい。この場合、駆動信号生成回路14は、そのフラグを参照して、モータ2を演出停止制御に従って停止させる際に、駆動信号のデューティ比を到達回数に応じて低下させるか否かを切り替えればよい。これにより、モータ制御装置は、モータ2が停止する際のモータ2の停止動作をさらに多様化できる。
他の変形例によれば、モータ2の回転を停止させる場合、上位制御装置は、目標回転量をモータ制御装置1へ通知してもよい。この場合、モータ制御装置1の通信インターフェース回路10は、その目標回転量をブレーキタイミング判定回路15へわたす。そしてブレーキタイミング判定回路15は、モータ2が直前に静止していた時からの検知信号の受信数をモータ2の回転量としてカウントし、その検知信号の受信数と通知された目標回転量とに基づいて、上記の実施形態と同様にブレーキ開始タイミングを判定してもよい。
また、上記の実施形態または変形例によるモータ制御装置は、回胴遊技機の回転リール以外の可動部材を駆動するために用いられてもよい。例えば、モータ制御装置は、弾球遊技機の演出用の可動部材を駆動するために用いられてもよい。
図8は、上記の実施形態または変形例によるモータ制御装置を備えた回胴遊技機100の概略斜視図である。また図9は、回胴遊技機100の回路ブロック図である。さらに、図10は、リールユニット120が有する一つの回転リールの概略斜視図である。図8に示すように、回胴遊技機100は、遊技機本体である本体筐体110と、リールユニット120と、スタートレバー130と、ストップボタン140a~140cとを有する。
また回胴遊技機100は、本体筐体110内に、回胴遊技機100の各部を制御する制御回路150と、リールユニット120が有する回転リールを駆動するための3個のモータ151-1~151-3と、各モータを駆動する3個のモータ駆動回路152-1~152-3と、3個のモータ制御装置153-1~153-3とを有する。なお、モータ制御装置153-1~153-3は、上記の実施形態または変形例によるモータ制御装置とすることができる。また、モータ駆動回路152-1~152-3は、上記の実施形態または変形例によるモータ駆動回路とすることができる。さらに、回胴遊技機100は、回胴遊技機100の各部に電力を供給する電源回路(図示せず)及び制御回路150からの制御信号に応じてメダルを一時貯留し、かつメダルを排出するためのメダル貯留及び排出機構(図示せず)を有する。
本体筐体110の前面の中央上部には開口111が形成されており、その開口111を通じて、リールユニット120の一部が視認可能になっている。また開口111の下側の枠112の上面には、メダルを投入するためのメダル投入口113が形成されている。
リールユニット120は、3個の回転リール121-1~121-3を有する。回転リール121-1~121-3は、それぞれ、制御回路150からの駆動制御信号に応じて、本体筐体110の前面に対して略平行かつ略水平な回転軸(図示せず)を回転中心として、それぞれ、別個に回転可能となっている。さらに、回転リール121-1~121-3のそれぞれの回転軸は、ギア(図示せず)を介してモータ151-1~151-3の回転軸と係合される。そしてモータ151-1~151-3が回転することで、回転リール121-1~121-3も回転する。さらに、モータ151-1~151-3のそれぞれの回転軸には、ロータリーエンコーダ(図示せず)が取り付けられ、ロータリーエンコーダは、モータ151-1~151-3が所定のサンプリング角度だけ回転する度に、検知信号をモータ制御装置153-1~153-3へ出力する。
また、回転リール121-1~121-3の表面は、それぞれ、回転方向、すなわち、円周方向に沿って複数の略同一幅を持つ領域に区切られ、領域ごとに様々な図柄が描かれており、それら領域のうちの一部が開口111を介して遊技者に視認可能となっている。
スタートレバー130は、本体筐体110の枠112の前面に向かって左側に設けられている。また、枠112の前面略中央には、ストップボタン140a~140cが設けられている。ストップボタン140a~140cは、それぞれ、回転リール121-1~121-3に対応する。
本体筐体110の前面の下部には、メダルを排出するためのメダル排出口114が形成されている。そしてメダル排出口114の下方には、排出されたメダルが落下することを防止するためのメダル受け皿115が取り付けられている。
メダルがメダル投入口113に投入された後に、スタートレバー130が操作されると、スタートレバー130が操作されたことを示す信号が制御回路150へ伝達される。そして制御回路150は、回転リール121-1~121-3の回転を開始させる。すなわち、制御回路150は、モータ制御装置153-1~153-3へ、速度設定信号を出力するとともに、回転リール121-1~121-3がそれぞれ1図柄分だけ回転する度に、駆動制御信号を出力する。なお、制御回路150は、遊技の状態に応じて、回転リール121-1~121-3の回転速度を変更してもよい。この場合、制御回路150は、回転リール121-1~121-3の回転速度を変更する度に、変更後の回転速度を指定する速度設定信号をモータ制御装置153-1~153-3へ出力すればよい。なお、制御回路150は、回転リール121-1~121-3のそれぞれごとに、異なる回転速度を設定してもよい。また、制御回路150は、回転リール121-1~121-3のそれぞれごとに、回転速度を変更するタイミングを互いに異ならせてもよい。
さらに、制御回路150は、遊技の状態に応じて、停止設定値を変更し、停止設定値が変更される度に、その変更後の停止設定値を含む停止制御信号をモータ制御装置153-1~153-3へ出力する。なお、制御回路150は、遊技の状態に応じて、モータ制御装置153-1~153-3ごとに、停止設定値を異ならせてもよい。これにより、回転リール121-1~121-3のそれぞれは、停止が指示された場合に互いに異なる挙動を行いながら停止する。
その後、本体筐体110の枠112の前面略中央に設けられたストップボタン140a~140cの何れかが押下されると、制御回路150は、その押下されたボタンから押下されたことを示す信号を受信し、その押下されたボタンに対応する回転リールの回転を停止させる。あるいは、制御回路150は、回転リール121-1~121-3のうち、回転を開始してから所定期間が経過するまでに、対応するストップボタンが押下されなかった回転リールを、その所定期間経過後に停止させる。回転リールを停止させる場合、制御回路150は、駆動制御信号の出力を停止すればよい。そしてモータ制御装置153-1~153-3のそれぞれは、上記の停止制御処理を実行すればよい。
そして全ての回転リールが停止した時点で、同一の図柄が全ての回転リールにわたって一列に並んでいると、制御回路150は、その図柄に応じた所定枚数のメダルを、メダル排出口114を通じて排出する。
このように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。