(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記目標回転量から前記総回転量を減じた残回転量が第1の所定値未満となると、前記設定値を前記直流モータが静止することを表す値に設定し、前記総回転量が前記目標回転量と一致するまで前記直流モータを慣性で回転させる、請求項1に記載の直流モータ制御装置。
前記制御部は、前記目標回転量から前記総回転量を減じた残回転量が第2の所定値未満となると、前記設定値を、前記残回転量が少なくなるほど遅くなるように設定する、請求項1に記載の直流モータ制御装置。
前記制御部は、前記目標回転量から前記総回転量を減じた残回転量が第3の所定値未満となると、前記設定値を、前記目標回転速度よりも遅い所定速度に設定する、請求項1に記載の直流モータ制御装置。
【発明を実施するための形態】
【0018】
以下、本発明の一つの実施形態による直流モータ制御装置を、図を参照しつつ説明する。この直流モータ制御装置は、上位の制御装置から、直流モータの目標回転量及び目標回転速度を指定する制御コマンドを受信すると、その目標回転速度で直流モータを回転させる。そしてこの直流モータ制御装置は、直流モータが所定角度回転する度に検知信号を出力する回転角センサからの検知信号に基づいて、その制御コマンドについて直流モータが回転開始してからの総回転量を求め、目標回転量からその総回転量の差である残回転量を求める。そしてこの直流モータ制御装置は、残回転量が所定値未満となると、直流モータの回転速度を減速させることにより、目標回転量だけ回転した時点で直流モータを静止させる。
【0019】
また、この直流モータ制御装置は、残回転量が所定値未満となったときの直流モータを減速させる複数の方法の中から、制御コマンドによって、直流モータが駆動する可動体に応じた適切な減速方法を選択的に実行可能とする。
【0020】
図1は、本発明の一つの実施形態に係る直流モータ制御装置の概略構成図である。
図1に示されるように、直流モータ制御装置1は、通信回路11と、レジスタ12と、制御回路13と、駆動信号生成回路14と、センサインターフェース回路15とを有する。
直流モータ制御装置1が有するこれらの各部は、それぞれ、別個の回路として回路基板(図示せず)上に実装されてもよく、あるいは、これらの各部が集積された集積回路として回路基板上に実装されてもよい。
【0021】
直流モータ制御装置1は、上位の制御装置から受信した制御コマンドに従って、直流モータ2を制御する。具体的には、直流モータ制御装置1は、その制御コマンドで指定された目標回転速度で直流モータ2を回転させる。本実施形態では、直流モータ制御装置1は、パルス幅変調(PWM)方式により生成され、直流モータ2に対する電流の供給のオン/オフを切り替える駆動信号を、直流モータ2へ電流供給するモータ駆動回路3へ出力することで、直流モータ2の回転速度を制御する。そして直流モータ制御装置1は、ロータリーエンコーダ4から、直流モータ2の回転軸(図示せず)が所定の角度回転する度に、その所定の角度回転したことを示す検知信号を受信して、回転開始からの総回転量を算出する。そして直流モータ制御装置1は、制御コマンドで指定された目標回転量から総回転量との差に応じて直流モータ2を適宜減速することで、直流モータ2が目標回転量だけ回転したところで直流モータ2を静止させる。
【0022】
図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のスイッチ端子に入力される。
【0023】
図3は、各スイッチに印加される駆動信号と直流モータ2の回転方向との関係を表すテーブルの一例を示す図である。
テーブル300に示されるように、直流モータ2を正転させる場合、スイッチTR1のスイッチ端子とスイッチTR4のスイッチ端子とに、PWM方式に従って設定された、直流モータ2の回転速度に応じたパルス幅を持つ、周期的なパルスを含む駆動信号が印加される。一方、スイッチTR2のスイッチ端子及びスイッチTR3のスイッチ端子には駆動信号が印加されない。これにより、直流モータ2には、スイッチTR1とスイッチTR4とにパルスが印加されている間のみ、正極側端子に電源電圧が印加されるので、直流モータ2は、そのパルス幅に応じた速度で正転する。
なお、直流モータ2を正転させる場合、スイッチTR1とTR4のうちの何れか一方に駆動信号を印加し、他方を常時オンとしてもよい。
【0024】
一方、直流モータ2を逆転させる場合、スイッチTR2のスイッチ端子とスイッチTR3のスイッチ端子とに、PWM方式に従って設定された、直流モータ2の回転速度に応じた周期的なパルスを持つ駆動信号が印加される。一方、スイッチTR1のスイッチ端子及びスイッチTR4のスイッチ端子には駆動信号が印加されない。これにより、直流モータ2には、スイッチTR2とスイッチTR3とにパルスが印加されている間のみ、負極側端子に電源電圧が印加されるので、直流モータ2は、そのパルス幅に応じた速度で逆転する。
なお、直流モータ2を逆転させる場合、スイッチTR2とTR3のうちの何れか一方に駆動信号を印加し、他方を常時オンとしてもよい。
【0025】
また、直流モータ2にブレーキをかける場合、スイッチTR3のスイッチ端子とスイッチTR4のスイッチ端子とがオンにされ、スイッチTR1のスイッチ端子とスイッチTR2のスイッチ端子とがオフにされる。
【0026】
さらに、直流モータ2を駆動しない場合には、各スイッチのスイッチ端子はオフにされる。
【0027】
ロータリーエンコーダ4は、回転角センサの一例であり、例えば、光学式のロータリーエンコーダとすることができる。そしてロータリーエンコーダ4は、例えば、直流モータ2の回転軸に取り付けられた、その回転軸を中心とする円周方向に沿って複数のスリットを有する円盤と、その円盤を挟んで対向するように配置された光源と受光素子とを有する。そして光源と受光素子との間に何れかのスリットが位置する度に、光源からの光が受光素子に達することで、ロータリーエンコーダ4は、パルス状の検知信号を出力する。これにより、ロータリーエンコーダ4は、直流モータ2が所定角度回転する度に検知信号を出力する。例えば、直流モータ2の回転軸を中心とする円周方向に沿って、円盤に50個のスリットが設けられることで、ロータリーエンコーダ4は、直流モータ2の回転軸が1回転する間に50個の検知信号を出力する。
【0028】
以下、直流モータ制御装置1の各部について説明する。
【0029】
通信回路11は、例えば、直流モータ制御装置1を上位の制御装置と接続する。上位の制御装置は、例えば、直流モータ制御装置1が実装された遊技機の演出用CPUである。そして通信回路11は、上位の制御装置から、シリアル伝送される複数のビットを持つ制御コマンドを受信する。なお、通信回路11は、制御コマンドを解析するために、制御コマンドに含まれる複数のビットのそれぞれと同期を取るためのクロック信号も、上位の制御装置から受信してもよい。
制御コマンドは、例えば、直流モータ2が駆動する可動体の移動量に相当する、直流モータ2の目標回転量といった、直流モータ2の動作を特定するための動作情報または直流モータ2についての設定を規定する設定情報とを含む。直流モータ2に対する、動作情報と設定情報の組を、便宜上、以下ではコマンドセットと呼ぶ。一つのコマンドセットは、可動体の動作を規定する。
クロック信号は、例えば、制御コマンド中の所定数のビットごとに、矩形状のパルスを持つ信号とすることができる。
【0030】
図4(a)は、動作情報を含む制御コマンドのフォーマットの一例を示す図である。
図4(a)に示されるように、動作情報を含む制御コマンド400は、先頭から順に、STARTフラグ401と、デバイスアドレス402と、動作/設定切替フラグ403と、制御データ404と、ENDフラグ405とを有する。さらに、制御コマンド400は、隣接するフラグ、アドレス及びデータ間に、例えば'0'の値を持つ1ビットのスペーサを含んでもよい。
【0031】
STARTフラグ401は、制御コマンド400の先頭であることを表すビット列であり、本実施形態では、'1'の値を持つ9個のビットが連続したビット列である。なお、STARTフラグ401は、制御コマンド400内の任意の他の何れのビット列とも一致しないビット列であればよい。
デバイスアドレス402は、制御コマンド400が制御対象とする直流モータ制御装置を特定するための識別情報であり、本実施形態では、8ビット長のビット列で表される。デバイスアドレス402は、通信回路11により、上位の制御装置から別途受信する識別アドレスと一致するか否か判定され、一致する場合、直流モータ制御装置1が制御コマンド400の制御対象であると判定される。
【0032】
動作/設定切替フラグ403は、制御コマンドが動作情報を含むか設定情報を含むかを表す1ビットのフラグである。本実施形態では、動作/設定切替フラグ403が'0'であれば、制御コマンドは動作情報を含み、動作/設定切替フラグ403が'1'であれば、制御コマンドは設定情報を含む。
図4(a)の例では、制御コマンド400は動作情報を含むので、動作/設定切替フラグ403は'0'である。
【0033】
制御データ404は、直流モータ制御装置1が制御する直流モータ2の動作情報を含む。具体的には、制御データ404は、回転方向フラグ4041と、速度データ4042と、停止制御モードフラグ4043と、回転量データ4044とを含む。
【0034】
回転方向フラグ4041は、直流モータ2の回転方向を表す1ビットのフラグである。本実施形態では、回転方向フラグ4041が'0'であれば、直流モータ制御装置1は、直流モータ2を正転させ、一方、回転方向フラグ4041が'1'であれば、直流モータ制御装置1は、直流モータ2を逆転させる。
【0035】
速度データ4042は、直流モータ2の目標回転速度を表す。本実施形態では、速度データ4042は4ビット長のビット列であり、'0'〜'15'の何れかの値となる。速度データ4042が'0'であれば直流モータ2にブレーキをかける、すなわち、モータ駆動回路3のスイッチTR3及びTR4をオンにするブレーキ信号を出力することを表す。速度データ4042が'1'〜'15'であれば、その速度データ4042の値、及び設定情報により設定される速度域から求められる目標回転速度で直流モータ2を回転させることを表す。なお、この例では、速度データ4042の値が大きいほど、目標回転速度も速くなる。
【0036】
停止制御モードフラグ4043は、一旦回転を開始した直流モータ2を静止させる際の停止方式を指定する停止制御モードを表す2ビットのフラグである。停止制御モードフラグ4043が'00'であれば、即時停止モードが適用される。また停止制御モードフラグ4043が'01'であれば、慣性移動モードが適用される。一方、停止制御モードフラグ4043が'10'であれば、減速制御モードが適用される。そして停止制御モードフラグ4043が'11'であれば、段階減速モードが適用される。なお、停止制御モードの詳細については後述する。
【0037】
回転量データ4044は、直流モータ2の目標回転量を表す。本実施形態では、回転量データ4044は13ビット長のビット列である。そして回転量データ4044は、目標回転量を、ロータリーエンコーダ4から受信する検知信号の数で表す。すなわち、回転量データ4044に示された値に、ロータリーエンコーダ4の隣接スリット間の中心角を乗じた値が、直流モータ2の実際の目標回転量となる。
【0038】
ENDフラグ405は、制御コマンド400の終端であることを表すビット列である。ENDフラグ405は、制御コマンドに含まれる、STARTフラグ及び他のビット列と一致しないビット列であればよい。
【0039】
図4(b)は、設定情報を含む制御コマンドのフォーマットの一例を示す図である。
図4(b)に示されるように、設定情報を含む制御コマンド410は、先頭から順に、STARTフラグ411と、デバイスアドレス412と、動作/設定切替フラグ413と、速度域設定フラグ414と、ENDフラグ415とを有する。設定情報を含む制御コマンド410は、動作情報を含む制御コマンド400と比較して、動作/設定切替フラグ413の値が'1'であること、及び制御データ405の代わりに速度域設定フラグ414を含む点で異なる。そこで以下では、速度域設定フラグ414について説明する。
【0040】
速度域設定フラグ414は、2ビット長を持ち、直流モータ2の回転速度を設定可能な範囲のうち、実際に使用される範囲を速度域として指定する。このように、速度域を指定することで、直流モータ制御装置1及び上位の制御装置は、相対的に少ないビット数で回転速度を詳細に指定することができる。
また、直流モータ2の回転速度は、直流モータ2が駆動する可動体の重量などによって決まる負荷トルクによっても変動する。そこで、上位の制御装置は、負荷トルクに応じて速度域を指定することで、速度データの値を変更しなくても、直流モータ2を目標回転速度で回転させることができる。
【0041】
図5は、速度域設定フラグの値と速度域との関係の一例を示す図である。本実施形態では、直流モータ制御装置1は、PWM方式によって直流モータ2の回転速度を制御する。そのため、速度域は、直流モータ2を駆動する駆動信号が有する1周期当たりのパルス幅、すなわちデューティ比が取り得る範囲で表される。速度域設定フラグの値が'00'である場合、駆動信号のデューティ比は、矢印501に示されるように、40%〜100%の間に設定される。また、速度域設定フラグの値が'01'である場合、駆動信号のデューティ比は、矢印502に示されるように、30%〜90%の間に設定される。さらに、速度域設定フラグの値が'10'である場合、駆動信号のデューティ比は、矢印503に示されるように、20%〜80%の間に設定される。そして速度域設定フラグの値が'11'である場合、駆動信号のデューティ比は、矢印504に示されるように、10%〜70%の間に設定される。
【0042】
直流モータ2の目標回転速度は、制御データに含まれる速度データ4042の値と、速度域設定フラグ414により指定された速度域に応じて設定される。例えば、指定された速度域が15等分される。そして速度データ4042の取り得る値'0001'〜'1111'が、それぞれ、その15等分された速度域の何れかの値に対応する。
【0043】
さらに、通信回路11は、上位の制御装置から、制御コマンドが制御対象とする直流モータ制御装置を特定するための識別アドレスを受信する。そして通信回路11は、識別アドレスと、制御コマンド中に含まれるデバイスアドレスとが一致する場合、その制御コマンドに含まれる動作情報または設定情報をレジスタ12に書き込む。一方、通信回路11は、識別アドレスとデバイスアドレスとが一致しない場合、受信した制御コマンドを廃棄する。
通信回路11は、識別アドレスと制御コマンドを受信するタイミングが異なっていても、識別アドレスとデバイスアドレスとが一致するか否かを判定できるようにするために、識別アドレスを記憶するメモリ回路を有していてもよい。
【0044】
さらに、通信回路11は、直流モータ制御装置1が制御する直流モータ2について、レジスタ12に記憶されているコマンドセットが一つ実行されると、すなわち、そのコマンドセットに含まれる目標回転量だけ直流モータ2が回転すると、そのコマンドセットが実行されたことを示す命令完了信号を上位の制御装置へ出力する。命令完了信号は、例えば、単パルス信号とすることができる。
【0045】
レジスタ12は、直流モータ2のコマンドセットを少なくとも一つ記憶可能な記憶容量を持つ、いわゆる先入れ先出し(FIFO)方式のメモリ回路を有する。レジスタ12が有するメモリ回路は、例えば、揮発性の読み書き可能な半導体メモリ回路により構成される。
レジスタ12は、通信回路11により書き込まれたコマンドセットを記憶する。そしてそのコマンドセットが制御回路13により読み出されるとそのコマンドセットを消去する。
【0046】
制御回路13は、例えば、プロセッサ及び不揮発性のメモリ回路を有する。そして制御回路13は、レジスタ12から読み出したコマンドセットを参照して、直流モータ2の回転方向を決定する。また制御回路13は、コマンドセット及びロータリーエンコーダ4からの検知信号に基づいて、駆動信号のデューティ比を決定する。そして制御回路13は、回転方向及びデューティ比を駆動信号生成回路14へ通知する。
【0047】
駆動信号のデューティ比を決定するために、制御回路13は、メモリ回路に予め記憶されている、速度域ごとに速度データの値とデューティ比との対応関係を表した速度テーブルのうち、コマンドセットに含まれる速度域設定フラグの値に対応する速度テーブルを特定する。そして制御回路13は、特定した速度テーブルを参照することにより、速度データに対応するデューティ比を、目標回転速度に対応するデューティ比とする。
【0048】
図6は、速度域ごとの速度テーブルの一例を示す図である。速度テーブル601〜604は、それぞれ、速度域設定フラグの値'00'、'01'、'10'、'11'に対応する。各速度テーブルにおいて、左側の列の各欄の値は速度データを表し、右側の列の各欄の値は、左隣の欄の速度データに対応する駆動信号のデューティ比を表す。例えば、速度域設定フラグの値が'00'であり、速度データが'0011'である場合、制御回路13は、目標回転速度に対応するデューティ比を55%と決定する。
【0049】
また制御回路13は、コマンドセットを実行する度に、そのコマンドセットの実行により直流モータ2が回転を開始した後に、ロータリーエンコーダ4から受信した検知信号の数をカウントし、受信した検知信号の合計を、直流モータ2の総回転量とする。そして制御回路13は、その総回転量をメモリ回路に記憶する。
【0050】
制御回路13は、直流モータ2の総回転量を更新する度に、コマンドセットに含まれる回転量データに指定された目標回転量と総回転量との差を、残回転量として算出する。そして制御回路13は、制御コマンドにより指定された目標回転量だけ直流モータ2が回転した時点で静止するよう、コマンドセットに含まれる停止制御モードフラグにより指定された停止制御モードに従って、目標回転速度に対応するデューティ比及び残回転量に応じて、デューティ比を決定する。
【0051】
図7(a)〜
図7(d)を参照しつつ、停止制御モードについて説明する。なお、
図7(a)〜
図7(d)において、横軸は、直流モータ2の総回転量を表す。一方、縦軸は、駆動信号の電圧を表し、ONは、直流モータ2に電流が流れる電圧であることを表し、OFFは、直流モータ2に電流が流れない電圧であることを表す。
【0052】
本実施形態で停止制御モードは以下の通りである。
(1)即時停止モード
図7(a)は、即時停止モードにおける、直流モータ2の駆動信号の時間遷移の一例を表す図である。即時停止モードでは、直流モータ制御装置1は、直流モータ2の回転開始からの総回転量が目標回転量に達するまで、駆動信号701として、目標回転速度に応じたパルス幅を持つパルス信号を周期的に出力する。そして総回転量が目標回転量に達した後、駆動信号は、モータ駆動回路3のスイッチTR3及びTR4のみをオンにするブレーキ信号となる。すなわち、直流モータ2に電流が流れない状態となる。即時停止モードは、例えば、直流モータ2が駆動する可動体が軽量で、かつ、目標回転速度が遅く、ブレーキ信号を出力した時点で直ちに直流モータ2が静止する場合に用いられる。
【0053】
(2)慣性移動モード
図7(b)は、慣性移動モードにおける、直流モータ2の駆動信号の時間遷移の一例を表す図である。慣性移動モードでは、直流モータ制御装置1は、目標回転量と総回転量との差である残回転量が所定の閾値Th(ただし、閾値Th>0)以上である間、駆動信号702として、目標回転速度に応じたパルス幅を持つパルス信号を周期的に出力する。そして残回転量が閾値Th未満となった時点で、直流モータ制御装置1は、駆動信号702をブレーキ信号とする。これにより、直流モータ制御装置1は、ブレーキ信号が出力された後、その閾値Thに相当する回転量だけ直流モータ2が慣性によって回転した時点で直流モータ2を停止させることで、直流モータ2の総回転量が目標回転量となるように直流モータ2を制御する。慣性移動モードは、例えば、目標回転速度が速かったり、あるいは、直流モータ2が駆動する可動体が重く、直流モータ2にブレーキ信号を出力しても、その後しばらく、慣性で直流モータ2が回転する場合に用いられる。
【0054】
(3)減速制御モード
図7(c)は、減速制御モードにおける、直流モータ2の駆動信号の時間遷移の一例を表す図である。減速制御モードでは、残回転量が所定の閾値Th(ただし、閾値Th>0)以上である間、直流モータ制御装置1は、駆動信号703として、目標回転速度に応じたパルス幅を持つパルス信号を周期的に出力する。そして残回転量が閾値Th未満となった時点で、直流モータ制御装置1は、直流モータ2の回転速度を目標回転速度よりも遅くするために、駆動信号703に含まれる各パルスの幅を狭くする。そして直流モータ2が減速を開始してから、閾値Thに相当する回転量だけ直流モータ2が回転した時点、すなわち、直流モータ2の総回転量が目標回転量に達した時点で、直流モータ制御装置1は、駆動信号703をブレーキ信号として、直流モータ2を静止させる。
【0055】
(4)段階減速モード
図7(d)は、段階減速モードにおける、直流モータの駆動信号の時間遷移の一例を表す図である。段階減速モードでも、残回転量が所定の閾値Th(ただし、閾値Th>0)以上である間、直流モータ制御装置1は、駆動信号704として、目標回転速度に応じたパルス幅を持つパルス信号を周期的に出力する。そして残回転量が閾値Th未満となった時点で、直流モータ制御装置1は、直流モータ2の回転速度を目標回転速度よりも遅くするために、駆動信号704に含まれる各パルスの幅を狭くする。そして直流モータ制御装置1は、残回転量が少なくなるほどパルス幅を狭くして、直流モータ2の回転速度を低下させる。最終的に、直流モータ2が減速を開始してから、閾値Thに相当する回転量だけ直流モータ2が回転した時点、すなわち、直流モータ2の総回転量が目標回転量に達した時点で、直流モータ制御装置1は、駆動信号704をブレーキ信号として、直流モータ2を静止させる。
【0056】
減速制御モード及び段階減速モードは、例えば、目標回転速度が速かったり、あるいは、直流モータ2が駆動する可動体が重い場合であっても、直流モータ2の総回転量を慣性移動モードよりも正確に目標回転量となるように直流モータ2を制御する場合に用いられる。
また、これらの停止制御モードは、直流モータ2が回転を停止する時において、直流モータ2によって駆動される可動体、例えば、遊技機の可動役物の挙動によって選択されてもよい。例えば、直流モータ2の回転を可動役物に伝達するギアの遊びが大きいと、停止制御モードごとに、可動役物は以下のような挙動を示す。
停止制御モードとして即時停止モードまたは慣性移動モードが適用されている場合、直流モータ2が急停止することにより、可動役物はギヤの遊びの範囲内で振動する。そのため、遊技機の遊技者に対して、可動役物が何かに衝突したように可動役物を見せることができる。
一方、停止制御モードとして減速制御モードが適用されている場合、直流モータ2の停止時の衝撃が緩和されるので、可動役物の振動も抑制される。そのため、遊技者に対して、可動役物が振動せずに停止するように見せることができる。
また、停止制御モードとして段階減速モードが適用されている場合、直流モータ2の停止時の衝撃がさらに緩和される。そのため、遊技者に対して、可動役物が滑らかに停止するように見せることができる。また、この場合には、直流モータ2を減速開始させるタイミングが早くなり得るので、遊技者に対して、可動役物がゆっくり減速するように見せることができる。
【0057】
図8は、停止制御モードとして即時停止モードが適用される場合の停止制御処理の動作フローチャートである。
制御回路13は、ロータリーエンコーダ4からの検知信号をセンサインターフェース回路15を介して受信したか否か判定する(ステップS101)。
検知信号を受信していなければ、制御回路13は、検知信号を受信するまでステップS101の処理を繰り返す。
一方、制御回路13は、検知信号を受信すると、すなわち、直流モータ2が1ステップ分の回転角だけ回転すると、実行中のコマンドセットについての直流モータ2の回転開始からの総回転量に1ステップ分の回転角を加算することで、総回転量を更新する(ステップS102)。そして制御回路13は、コマンドセットに指定された目標回転量から総回転量を減じることで残回転量を算出する(ステップS103)。
【0058】
残回転量がもとまると、制御回路13は、残回転量が0以下か否か判定する(ステップS104)。
残回転量が0よりも多ければ、すなわち、直流モータ2の総回転量が目標回転量に達していなければ(ステップS104−No)、制御回路13は、駆動信号のデューティ比を目標回転速度に相当するデューティ比に設定する(ステップS105)。そして制御回路13は、そのデューティ比を駆動信号生成回路14に通知する。駆動信号生成回路14は、そのデューティ比に応じたパルス幅を持つ駆動信号を生成し、その駆動信号をモータ駆動回路3へ出力する。また制御回路13は、ステップS101以降の処理を繰り返す。
【0059】
一方、残回転量が0以下であれば、すなわち、直流モータ2の総回転量が目標回転量に達していれば(ステップS104−Yes)、制御回路13は、駆動信号のデューティ比を0に設定する。そして制御回路13は、そのデューティ比を駆動信号生成回路14に通知する(ステップS106)。駆動信号生成回路14は、デューティ比が0であることが通知されると、ブレーキ信号をモータ駆動回路3へ出力する。
そして制御回路13は、直流モータ2が目標回転量だけ回転したことを表す命令完了信号を、通信回路11を介して上位の制御装置へ送信することにより、命令完了を報告する(ステップS107)。その後、制御回路13は、停止制御処理を終了する。
【0060】
図9は、停止制御モードとして慣性移動モードが適用される場合の停止制御処理の動作フローチャートである。
なお、ステップS201〜ステップS203の処理は、それぞれ、
図8に示されたステップS101〜S103の処理と同一であるため、説明を省略する。
【0061】
ステップS203にて残回転量がもとまると、制御回路13は、残回転量が閾値Th未満となったか否か判定する(ステップS204)。なお、閾値Thは、直流モータ2にブレーキをかけてから直流モータ2が静止するまでの回転量に相当する正の値である。なお、閾値Thは、予め定められた固定値であってもよく、あるいは、目標回転速度が速いほど大きくなるように、目標回転速度に応じて設定されてもよい。この場合には、例えば、駆動信号のデューティ比と閾値Thとの関係を表すテーブルが制御回路13が有するメモリに予め記憶される。そして制御回路13は、そのテーブルを参照して、駆動信号のデューティ比に対応する閾値Thを決定する。
【0062】
残回転量が閾値Th以上であれば、すなわち、直流モータ2に対して直ちにブレーキをかけたとしたとき、慣性運動による回転を考慮しても総回転量が目標回転量に達しない場合(ステップS204−No)、制御回路13は、駆動信号のデューティ比を目標回転速度に相当するデューティ比に設定する(ステップS205)。そして制御回路13は、そのデューティ比を駆動信号生成回路14に通知する。駆動信号生成回路14は、そのデューティ比に応じたパルス幅を持つ駆動信号を生成し、その駆動信号をモータ駆動回路3へ出力する。また制御回路13は、ステップS201以降の処理を繰り返す。
【0063】
一方、残回転量がTh未満であれば(ステップS204−Yes)、制御回路13は、駆動信号のデューティ比を0に設定する。そして制御回路13は、そのデューティ比を駆動信号生成回路14に通知する(ステップS206)。駆動信号生成回路14は、デューティ比が0であることが通知されると、ブレーキ信号をモータ駆動回路3へ出力する。
【0064】
駆動信号のデューティ比を0に設定した後、制御回路13は、残回転量が0か否か判定する(ステップS207)。残回転量が0よりも多ければ(ステップS207−No)、制御回路13は、ステップS201以降の処理を繰り返す。
一方、残回転量が0以下であれば(ステップS207−Yes)、制御回路13は、直流モータ2が目標回転量だけ回転したことを表す命令完了信号を、通信回路11を介して上位の制御装置へ送信することにより、命令完了を報告する(ステップS208)。その後、制御回路13は、停止制御処理を終了する。
【0065】
図10は、停止制御モードとして減速制御モードが適用される場合の停止制御処理の動作フローチャートである。
なお、ステップS301〜ステップS303の処理は、それぞれ、
図8に示されたステップS101〜S103の処理と同一であるため、説明を省略する。
【0066】
ステップS303にて残回転量がもとまると、制御回路13は、残回転量が閾値Th未満となったか否か判定する(ステップS304)。なお、閾値Thは、慣性移動モードと同様に、予め定められた固定値であってもよく、あるいは、目標回転速度が速いほど大きくなるように、目標回転速度に応じて設定されてもよい。ただし、減速制御モードにおける残回転量の閾値Thは、慣性移動モードにおける残回転量の閾値と等しくてもよく、あるいは、長くてもよい。
【0067】
残回転量が閾値Th以上であれば(ステップS304−No)、制御回路13は、駆動信号のデューティ比を目標回転速度に相当するデューティ比に設定する(ステップS305)。そして制御回路13は、そのデューティ比を駆動信号生成回路14に通知する。駆動信号生成回路14は、そのデューティ比に応じたパルス幅を持つ駆動信号を生成し、その駆動信号をモータ駆動回路3へ出力する。また制御回路13は、ステップS301以降の処理を繰り返す。
【0068】
一方、残回転量がTh未満であれば(ステップS304−Yes)、制御回路13は、駆動信号のデューティ比を、目標回転速度に相当するデューティ比の1/2に設定する。そして制御回路13は、そのデューティ比を駆動信号生成回路14に通知する(ステップS306)。駆動信号生成回路14は、デューティ比に応じたパルス幅を持つ駆動信号を生成し、その駆動信号をモータ駆動回路3へ出力する。
なお、ステップS306において、制御回路13は、駆動信号のデューティ比を、目標回転速度の1/2に相当するデューティ比とする代わりに、ブレーキ信号を出力すると直ちに直流モータ2が停止できる回転速度に相当するデューティ比(例えば、5%〜10%)に設定してもよい。あるいは、制御回路13は、減速後における駆動信号のデューティ比を、直流モータ2が滑らかに減速できる程度、例えば、目標回転速度の1/3、2/5、3/5あるいは2/3に相当するデューティ比としてもよい。
【0069】
駆動信号のデューティ比を小さくした後、制御回路13は、残回転量が0以下か否か判定する(ステップS307)。残回転量が0よりも多ければ(ステップS307−No)、制御回路13は、ステップS301以降の処理を繰り返す。
一方、残回転量が0以下であれば(ステップS307−Yes)、制御回路13は、駆動信号のデューティ比を0に設定する。そして制御回路13は、そのデューティ比を駆動信号生成回路14に通知する(ステップS308)。駆動信号生成回路14は、デューティ比が0であることが通知されると、ブレーキ信号をモータ駆動回路3へ出力する。そして制御回路13は、直流モータ2が目標回転量だけ回転したことを表す命令完了信号を、通信回路11を介して上位の制御装置へ送信することにより、命令完了を報告する(ステップS309)。その後、制御回路13は、停止制御処理を終了する。
【0070】
図11は、停止制御モードとして段階減速モードが適用される場合の停止制御処理の動作フローチャートである。
なお、
図11に示された段階減速モードが適用される場合の停止制御処理の動作フローチャートは、
図10に示された減速制御モードが適用される場合の停止制御処理の動作フローチャート比較して、ステップS406の処理のみが異なり、ステップS401〜S405及びステップS407〜S409の処理は、それぞれ、ステップS301〜S305及びステップS307〜S309の処理と同一である。そこで以下では、ステップS406の処理について説明する。
【0071】
ステップS404において、残回転量が閾値Th未満であれば(ステップS404−Yes)、制御回路13は、駆動信号のデューティ比を、目標回転速度に相当するデューティ比に、(残回転量/Th)を乗じた値に設定する。そして制御回路13は、そのデューティ比を駆動信号生成回路14に通知する(ステップS406)。駆動信号生成回路14は、デューティ比に応じたパルス幅を持つ駆動信号を生成し、その駆動信号をモータ駆動回路3へ出力する。これにより、残回転量が少なくなるほど、直流モータ2は減速する。
その後、残回転量が0になると、制御回路13は、駆動信号のデューティ比を0に設定し、駆動信号生成回路14は、ブレーキ信号を出力する。その後、制御回路13は、命令完了信号を、通信回路11を介して上位の制御装置へ送信することにより、命令完了を報告する。
【0072】
駆動信号生成回路14は、例えば、出力するパルスの幅を変更可能な可変パルス生成回路と、可変パルス生成回路により生成された、駆動信号である周期的なパルス信号を、モータ駆動回路3の何れのスイッチへ出力するかを切り替えるスイッチ回路とを有する。そして駆動信号生成回路14は、制御回路13から通知されたデューティ比に従って、直流モータ2を駆動するための駆動信号をPWM方式に従って生成し、その駆動信号をモータ駆動回路3の何れかのスイッチへ出力する。なお、駆動信号の1周期の長さは、例えば、50μ秒である。例えば、制御回路13から通知された回転方向が正転である場合、駆動信号生成回路14は、モータ駆動回路3のスイッチTR1とTR4へ周期的なパルス信号を出力する。一方、制御回路13から通知された回転方向が逆転である場合、駆動信号生成回路14は、モータ駆動回路3のスイッチTR2とTR3へ周期的なパルス信号を出力する。
【0073】
センサインターフェース回路15は、ロータリーエンコーダ4からの検知信号を受信するインターフェース回路を有する。そしてセンサインターフェース回路15は、検知信号を受信する度に、その検知信号を制御回路13へ出力する。
【0074】
図12は、直流モータ制御装置1により実行される直流モータ制御処理の動作フローチャートである。この直流モータ制御処理は、直流モータ制御装置1が上位の制御装置からコマンドセットを受け取り、レジスタ12にそのコマンドセットが記憶される度に実行される。
【0075】
制御回路13は、レジスタ12に記憶されたコマンドセットを読み込み、レジスタ12からそのコマンドセットを消去する(ステップS501)。そして制御回路13は、コマンドセットに含まれる、目標回転速度、目標回転量及び回転方向を表すフラグを、制御回路13のメモリに記憶する。
【0076】
制御回路13は、回転方向フラグを参照して直流モータ2の回転方向を決定し、駆動信号生成回路14へその回転方向を通知する(ステップS502)。さらに、制御回路13は、目標回転速度に相当するデューティ比を駆動信号生成回路14へ通知する(ステップS503)。駆動信号生成回路14は、そのデューティ比に応じたパルス幅を持つ駆動信号を生成し、その駆動信号をモータ駆動回路3へ出力する。これにより、直流モータ2は回転を開始する。
【0077】
制御回路13は、停止制御モードフラグの値が'00'であるか否か判定する(ステップS504)。停止制御モードフラグの値が'00'であれば(ステップS504−Yes)、制御回路13は、即時停止モードによりモータ停止制御を実行する(ステップS505)。
【0078】
一方、停止制御モードフラグの値が'00'でなければ(ステップS504−No)、制御回路13は、停止制御モードフラグの値が'01'であるか否か判定する(ステップS506)。停止制御モードフラグの値が'01'であれば(ステップS506−Yes)、制御回路13は、慣性移動モードによりモータ停止制御を実行する(ステップS507)。
【0079】
一方、停止制御モードフラグの値が'01'でなければ(ステップS506−No)、制御回路13は、停止制御モードフラグの値が'10'であるか否か判定する(ステップS508)。停止制御モードフラグの値が'10'であれば(ステップS508−Yes)、制御回路13は、減速制御モードによりモータ停止制御を実行する(ステップS509)。一方、停止制御モードフラグの値が'10'でなければ(ステップS508−No)、制御回路13は、段階減速モードによりモータ停止制御を実行する(ステップS510)。
ステップS505、S507、S509またはS510の後、直流モータ制御装置1は、直流モータ制御処理を終了する。
【0080】
以上に説明してきたように、この直流モータ制御装置は、ロータリーエンコーダを用いて直流モータの回転開始からの実際の回転量を求め、実際回転量が目標回転量に達するよりも前に直流モータを減速する。これにより、この直流モータ制御装置は、直流モータを目標回転量だけ回転させることができる。さらにこの直流モータ制御装置は、制御コマンドを書き換えるだけで、複数の停止制御モードの中から適用する停止制御モードを選択できるので、用途または直流モータが駆動する可動体に応じて、直流モータの停止時の制御を適切に行える。
【0081】
なお、本発明は上記の実施形態に限定されるものではない。例えば、一つの制御コマンドが、動作情報と設定情報の両方を含んでいてもよい。また、変形例によれば、直流モータ制御装置は、上記の複数の停止制御モードのうち、何れか一つのみに対応するものであってもよい。この場合には、制御コマンドは、停止制御モードフラグを含まなくてもよい。
また他の変形例によれば、直流モータの目標回転速度は、直流モータの回転速度の制御可能な範囲全体、すなわち、駆動信号のデューティ比が0%〜100%の範囲内で指定されてもよい。この場合には、設定情報における速度域の指定は省略されてもよい。
【0082】
さらに他の変形例によれば、制御回路は、ロータリーエンコーダから受信する検知信号の間隔によって直流モータの実際の回転速度を測定し、目標回転速度と実際の回転速度の差が小さくなるように、自動的に適用する速度テーブルを切り替えてもよい。例えば、実際の回転速度が目標回転速度よりも遅ければ、制御回路は、現在適用している速度テーブルよりも、より速い速度域に対応する速度テーブル、すなわち、制御コマンドの速度データの値に対してより高いデューティ比を割り当てる速度テーブルに切り替えて、駆動信号のデューティ比を決定してもよい。逆に、実際の回転速度が目標回転速度よりも速ければ、制御回路は、現在適用している速度テーブルよりも、より遅い速度域に対応する速度テーブル、すなわち、制御コマンドの速度データの値に対してより低いデューティ比を割り当てる速度テーブルに切り替えて、駆動信号のデューティ比を決定してもよい。
【0083】
さらに他の変形例によれば、制御コマンドは、制御コマンドによって適用される速度域を指定するか、あるいは上記のような自動制御によって速度域を決定するかを切り替えるための自動/手動切り替えフラグをさらに有していてもよい。自動/手動切り替えフラグは、例えば、動作情報を含む制御コマンド中に設けられてもよく、あるいは、設定情報を含む制御コマンド中に設けられてもよい。この変形例では、制御回路は、自動/手動切り替えフラグを参照し、そのフラグが制御コマンドによって速度域を指定することを示す値(例えば、'1')を持つ場合、速度域設定フラグの値を参照して適用される速度テーブルを決定する。一方、自動/手動切り替えフラグが自動制制であることを示す値(例えば、'0')を持つ場合、御回路は、速度域設定フラグで指定された速度テーブルによりデューティ比の初期値を決定し、直流モータ2の回転が開始されてからは、上記のような自動制御によって適用される速度テーブルを決定すればよい。
【0084】
上記の実施形態または変形例による直流モータ制御装置は、弾球遊技機または回胴遊技機といった遊技機に搭載されてもよい。
図13は、上記の実施形態または変形例による直流モータ制御装置を備えた弾球遊技機100の概略斜視図である。また
図14は、弾球遊技機100の概略背面図である。
図13に示すように、弾球遊技機100は、上部から中央部の大部分の領域に設けられ、遊技機本体である遊技盤101と、遊技盤101の下方に配設された球受け部102と、ハンドルを備えた操作部103と、遊技盤101の略中央に設けられた表示装置104とを有する。
また弾球遊技機100は、遊技の演出のために、遊技盤101の前面において遊技盤101の下方に配置された固定役物部105と、遊技盤101と固定役物部105との間に配置された可動役物部106とを有する。また遊技盤101の側方にはレール107が配設されている。また遊技盤101上には多数の障害釘(図示せず)及び少なくとも一つの入賞装置108が設けられている。
【0085】
操作部103は、遊技者の操作によるハンドルの回動量に応じて図示しない発射装置より所定の力で遊技球を発射する。発射された遊技球は、レール107に沿って上方へ移動し、多数の障害釘の間を落下する。そして遊技球が何れかの入賞装置108に入ったことを、図示しないセンサにより検知すると、遊技盤101の背面に設けられた主制御回路110は、遊技球が入った入賞装置108に応じた所定個の遊技球を玉払い出し装置(図示せず)を介して球受け部102へ払い出す。さらに主制御回路110は、遊技盤101の背面に設けられた演出用CPU111を介して表示装置104に様々な映像を表示させる。
【0086】
可動役物部106は、遊技の状態に応じて移動する可動体の一例であり、遊技盤101の背面に設けられた、本発明の実施形態またはその変形例による直流モータ制御装置112により制御される直流モータ125(
図15(a)〜(c)を参照)によって駆動される。
【0087】
図15(a)は、固定役物部105を透過して見た、直流モータ制御装置112により駆動される可動役物部106の概略正面図であり、
図15(b)は、固定役物部105の背面側から見た、可動役物部106が移動可能範囲の一端に位置する場合の概略背面図であり、
図15(c)は、固定役物部105の背面側から見た、可動役物部106が移動可能範囲の他端に位置する場合の概略背面図である。
【0088】
この実施形態では、可動役物部106は、星型の装飾部材121と、その装飾部材121を一端にて保持する棒状の支持部材122とを有する。支持部材122は、固定役物部105の背面側に、遊技盤101の左下端から右上方へ向けて斜め方向に、支持部材122の下端と接するように設けられたレール123と係合し、そのレール123に沿って直進移動可能に保持されている。この例では、
図15(b)に示されるように、可動役物部106がその移動可能範囲の左下方側の端部に位置する場合、遊技盤101の前面側から見て、装飾部材121が固定役物部105の背後に隠れて遊技者から見えなくなる。一方、
図15(c)に示されるように、可動役物部106がその移動可能範囲の右上方側の端部に位置する場合、装飾部材121全体が固定役物部105よりも遊技盤101の中央側に位置することとなり、遊技者が装飾部材121全体を視認可能となる。
【0089】
支持部材122の上面側には、直線歯車としての歯が形成されており、この歯が、移動可能範囲の右上方側の端部に可動役物部106が位置する場合の支持部材122の左下端側の端部の位置近傍に設置された減速ギア124と係合する。また減速ギア124は、直流モータ125の回転軸126に取り付けられたギア127と係合している。そのため、直流モータ125が所定角度回転することにより、ギア127及び減速ギア124を介して、その回転角度に対応する所定の移動量だけ可動役物部106が移動する。そして直流モータ125は、直流モータ制御装置112により制御される。
【0090】
主制御回路110から演出用CPU111に伝達された遊技の状態を表す状態信号に基づいて、演出用CPU111は、可動役物部106の目標座標を決定し、その決定に従った制御コマンドを生成する。そして演出用CPU111は、生成した制御コマンドを直流モータ制御装置112へ出力する。例えば、遊技球が入賞装置107に入る前は、演出用CPU111は、可動役物部106が固定役物部105に隠れるように、可動役物部106をその現在地から移動可能範囲の左下方の端部までの移動距離に相当する直流モータ125の回転量を目標回転量として指定するとともに、例えば、減速制御モードを指定する制御コマンドを直流モータ制御装置112へ送信する。一方、遊技球が入賞装置107に入ったことが検知され、そのことを示す状態信号が主制御回路110から演出用CPU111に入力されると、演出用CPU111は、可動役物部106をその現在地から移動可能範囲の右上方の端部までの移動距離に相当する直流モータ125の回転量を目標回転量として指定するとともに、例えば、慣性移動モードを指定する制御コマンドを生成し、その制御コマンドを直流モータ制御装置112へ送信する。
【0091】
直流モータ制御装置112は、上記の実施形態またはその変形例による直流モータ制御装置であり、演出用CPU111から受け取った制御コマンドと、ロータリーエンコーダ128から受け取った検知信号に基づいて、直流モータ125が目標回転量だけ回転したところで静止するように、直流モータ125を制御する。これにより、可動役物部106は、演出に応じた移動目的地まで正確に移動できる。
【0092】
このように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。