本発明を実施するための形態(実施形態)につき、図面を参照しつつ詳細に説明する。以下の実施形態に記載した内容により本発明が限定されるものではない。また、以下に記載した構成要素には、当業者が容易に想定できるもの、実質的に同一のものが含まれる。さらに、以下に記載した構成要素は適宜組み合わせることが可能である。本発明は、X−Y方向の駆動にステッピングモータを用いるミシンであれば、工業用ミシン、家庭用ミシンを問わず適用できる。
図1は、ステッピングモータ及び本実施形態に係るミシン用ステッピングモータ制御装置を示す概略図である。本実施形態において、ステッピングモータ30は、ミシンの位置決め機構を駆動するために用いられるが、ミシンの他の部分を駆動するために用いられてもよい。本実施形態において、ステッピングモータ30は、いわゆるPM(Permanent Magnet)型の2相ステッピングモータであるが、これに限定されるものではない。ステッピングモータ30は、回転軸31と、回転子32と、固定子33と、芯部33a、33bと、コイル34a、34bとを含む。
回転子32は、ステッピングモータ30の回転軸31と連結され、ステッピングモータ30の筐体によって回転可能に設けられた円柱状の構造体である。回転子32は、永久磁石等の磁性体である。固定子33は、回転子32の周囲に設けられた円筒状の磁性材料(例えば鉄)である。固定子33は、その内周部に回転子32に向かって突出する芯部33a、33bを有する。コイル34a、34bは、芯部33a、33bに巻きつけられた巻線である。コイル34a、34bは、電流が流されることによって励磁されて、電磁石として機能する。
ステッピングモータ30の動作は、ミシン用ステッピングモータ制御装置(以下、必要に応じてモータ制御装置という)1によって制御される。モータ制御装置1は、制御信号生成部2と、信号演算部4と、それぞれのコイル34a、34bに対応した駆動回路6、6とを含む。モータ制御装置1は、ステッピングモータ30に対する指令回転角度に応じた励磁パターンに対応した駆動信号を生成し、これに基づき、それぞれのコイル34a、34bに電流を流すことによってこれらを励磁する。このようにすることで、磁性体の回転子32がコイル34a、34bの励磁パターンに応じた回転角度へと回転し、励磁パターンが変化するまで前記回転角度で維持される。モータ制御装置1によって流されるコイル34a、34bの電流の方向(図1に示す例では、コイル34aが矢印A、Bで示す方向であり、コイル34bが矢印C、Dで示す方向)は、駆動回路6の駆動に応じて変化する。次に、モータ制御装置1について説明する。
図2は、本実施形態に係るモータ制御装置の装置構成を示す図である。モータ制御装置1は、ステッピングモータ30の動作を制御する装置である。上述したように、モータ制御装置1は、制御信号生成部2と、信号演算部4と、駆動回路6と、を含む。また、モータ制御装置1は、図1に示すステッピングモータ30が有するそれぞれのコイル34a、34bに対応した数だけ駆動回路6を有するが、説明の便宜上、以下に示す例では一方の駆動回路6のみを示す。
制御信号生成部2は、ステッピングモータ30の動作を制御するための指令値としての電流指令値Icを演算して生成し、信号演算部4に送信する。電流指令値Icはアナログ信号である。また、制御信号生成部2は、省電力制御と、これ以外の制御とを切り替えるための制御切替指令P1、P2を生成し、信号演算部4に送信する。省電力制御は、ステッピングモータ30が有するコイル34a(34b)の自己誘導によってコイル34a(34b)から流れる電流をコイル34a(34b)自体に還流するように駆動回路6を制御するものである。すなわち、省電力制御は、ステッピングモータ30が有するコイル34a(34b)の自己誘導によってコイル34a(34b)から流れる電流をコイル34a(34b)自体に還流するように、駆動回路6が有する正極側スイッチング素子60a、60c及びアース側スイッチング素子60b、60dを駆動する制御である。省電力制御については後述する。
制御信号生成部2は、例えば、CPU(Central Processing Unit:中央演算装置)又はMCU(Micro Computer Unit:マイクロコンピュータ装置)である。制御信号生成部2は、ステッピングモータ30の動作を制御するためのコンピュータプログラムを実行することにより、ステッピングモータ30を回転させたり、停止させたり、ステッピングモータ30に対して上述した省電力制御を実行したりする。制御信号生成部2は、パルス周波数からモータの回転数を認識し、制御切替指令P1、P2を生成してもよく、ステッピングモータ30の回転数を計測する不図示のエンコーダからの信号によりステッピングモータ30の回転数を認識し、制御切替指令P1、P2を生成してもよい。
信号演算部4は、制御信号生成部2が生成した電流指令値Icと、駆動電流値Idと、制御切替指令P1、P2とに基づいて、ステッピングモータ30を駆動するための駆動信号Sd1、Sd2を生成する。そして、信号演算部4は、生成した駆動信号Sd1、Sd2を駆動回路6に与えることにより、ステッピングモータ30のコイル34a、34bに電流を流して、ステッピングモータ30を回転又は停止させる。すなわち、信号演算部4の駆動信号Sd1、Sd2により、駆動回路6を介して、ステッピングモータ30を制御する。このように、本実施形態において、ステッピングモータ30の駆動には、ステッピングモータ30を回転させることと、ステッピングモータ30を停止させることとの両方が含まれる。また、駆動信号Sd1、Sd2は、ステッピングモータ30をPWM(Pulse Width Modulation:パルス幅変調)制御するための信号である。信号演算部4は、上述した機能を実現するための処理装置(例えば、マイクロコンピュータ)であり、本実施形態では、DSP(Digital Signal Processor:ディジタル信号処理装置)を用いる。DSPは、特定の処理に特化したマイクロプロセッサである。信号演算部4の詳細は後述する。
駆動回路6は、ステッピングモータ30が有するコイル34a(34b)の両端の導電部をそれぞれ電源62の正極に接続可能な2つの正極側スイッチング素子60a、60c及びコイル34a(34b)の両端の導電部をそれぞれアース63に接続可能な2つのアース側スイッチング素子60b、60dを有する。このように、駆動回路6は、フルブリッジ回路である。駆動回路6は、それぞれの正極側スイッチング素子60a、60c及びそれぞれのアース側スイッチング素子60b、60dと並列に接続されたダイオード61a、61c及びダイオード61b、61dを有する。ダイオード61a、61c及びダイオード61b、61dは、アース63から電源62の正極に向かって電流を流すことができるように接続される。
このような構成により、電源62からの電流がダイオード61a、61c及びダイオード61b、61dに流れることはなく、電源62による電流の方向とは逆の方向の電流が流れた場合に、この電流はダイオード61a、61c及びダイオード61b、61dを流れる。駆動回路6がこのように構成されることで、前記逆の方向の電流がダイオード61a、61c及びダイオード61b、61dに流れることで正極側スイッチング素子60a、60c及びアース側スイッチング素子60b、60dの破損を回避する。すなわち、ダイオード61a、61c及びダイオード61b、61dは、正極側スイッチング素子60a、60c及びアース側スイッチング素子60b、60dの保護回路として機能する。
本実施形態において、正極側スイッチング素子60a、60c及びアース側スイッチング素子60b、60dは、いずれもFET(Field Effect Transistor:電界効果型トランジスタ)である。なお、正極側スイッチング素子60a、60cのゲートに駆動信号Sd1が入力され、アース側スイッチング素子60b、60dのゲートに駆動信号Sd2が入力される。なお、正極側スイッチング素子60a、60c及びアース側スイッチング素子60b、60dはFETに限定されるものではないが、FETはゲート電圧を制御するため、ステッピングモータ30に大電流を流す場合には好ましい。
正極側スイッチング素子60aとアース側スイッチング素子60bとは直列に接続される。より具体的には、正極側スイッチング素子60aのドレインとアース側スイッチング素子60bのソースとが電気的に接続される。同様に、正極側スイッチング素子60cのドレインとアース側スイッチング素子60dのソースとが電気的に接続されることにより、両者は直列に接続される。したがって、コイル34a(34b)の両端は、直列接続される正極側スイッチング素子60aとアース側スイッチング素子60bとの間及び直列接続される正極側スイッチング素子60cとアース側スイッチング素子60dとの間にそれぞれ接続される。以下においては、必要に応じて正極側スイッチング素子60aを第1正極側素子60a、正極側スイッチング素子60cを第2正極側素子60c、アース側スイッチング素子60bを第1アース側素子60b、アース側スイッチング素子60dを第2アース側素子60dというものとする。
コイル34a(34b)と駆動回路6との間には、ステッピングモータ30に流れる電流、より具体的にはコイル34a(34b)に流れる電流を検出するための駆動電流検出手段として、電流検出回路8a(8b)が直列に接続される。なお、電流検出回路8aはコイル34aに対応し、電流検出回路8bはコイル34bに対応したものであることを意味する。電流検出回路8a(8b)が検出した電流の値は、ステッピングモータ30(より具体的には、コイル34a(34b))に流れてステッピングモータ30を駆動する電流(駆動電流)の値、すなわち駆動電流値Idである。なお、前記駆動電流は、電流検出回路8a(8b)内のシャント抵抗により電圧に変換されて出力される。したがって、本実施形態においては、駆動電流値Idは電圧で出力される。信号演算部4は、駆動電流値Idを取得し、駆動信号Sd1、Sd2を生成するために用いる。
本実施形態において、モータ制御装置1は、少なくとも信号演算部4を有していればよく、制御信号生成部2と駆動回路6との少なくとも一方は、モータ制御装置1とは別個に用意されていてもよい。また、モータ制御装置1が制御信号生成部2と信号演算部4とを有する場合、本実施形態のように、これらを別個の処理装置(例えば、マイクロコンピュータ)として用意してもよい。また、モータ制御装置1は、制御信号生成部2と信号演算部4とを一つの処理装置(例えば、マイクロコンピュータ)に統合し、別個のコンピュータプログラムを前記処理装置が実行することにより、それぞれの機能を実現するようにしてもよい。次に、信号演算部4についてより詳細に説明する。
図3は、本実施形態に係るモータ制御装置が有する信号演算部の構成を示す説明図である。信号演算部4は、偏差生成部40と、駆動信号生成部41と、三角波発生部42と、ゲイン調整部43と、を含む。また、信号演算部4は、駆動信号生成部41が生成した駆動信号Sdを、駆動回路6へ送信する駆動信号Sd1、Sd2に加工する出力部44を有する。これらによって、信号演算部4は、ステッピングモータ30を駆動する電流を制御するためのA/D変換機能及びPWM制御機能を有する。
偏差生成部40は、図2に示す制御信号生成部2が生成したステッピングモータ30に対する電流指令値Icと、ステッピングモータ30に流れる駆動電流値Idとの偏差d(=Ic−Id)を求め、ゲイン調整部43が生成した所定のゲインGを偏差dに与えた電流値偏差D(=d×G)を生成する。駆動信号生成部41は、電流値偏差Dからステッピングモータ30を駆動するための駆動信号Sdを生成する。このとき、駆動信号生成部41は、三角波発生部42が発生した三角波Vtを用いて駆動信号Sdを生成する。ゲインGは、電流値偏差Dの重み付けである。Gが大きいほどPWM信号のONデューティーの変化が大きくなり、電流応答性は向上するが、Gは大きすぎると電流が変化する際にオーバーシュートが発生し、電流が不安定となる。このため、Gは適切な値となるようにする必要がある。本実施形態においては、大きさの異なるゲインを2種類用意し、上述した省電力制御が実行される場合において、ステッピングモータ30を流れる電流を低下させる必要がある場合は、この場合以外に用いるゲインよりも大きいゲインを用いる。次に、駆動信号Sdを生成する方法の一例を説明する。
図4、図5は、制御信号の生成方法を示す説明図である。三角波発生部42は、図4、図5に示すような三角波Vtを発生させる。駆動信号生成部41は、三角波Vtと電流値偏差Dとを比較して、Vt≦Dである場合にはON信号を生成し(図4、図5の時間t1〜t2)、Vt>Dである場合にはOFF信号を生成する(図4、図5の時間t2〜t3)。このようにして得られたON信号とOFF信号とを組み合わせたON/OFF信号が、駆動信号Sdである。三角波Vtの1周期が駆動信号Sdの1周期に相当する。
図4、図5から分かるように、電流値偏差Dが大きくなると、駆動信号Sdの1周期におけるON時間が長くなり、電流値偏差Dが小さくなると、駆動信号Sdの1周期におけるOFF時間が長くなる。駆動信号SdがON信号である場合にステッピングモータ30へ電流が流れ、駆動信号SdがOFF信号である場合にステッピングモータ30へ電流は流れない。そして、駆動信号SdのON時間が長いほど、ステッピングモータ30には多くの電流が流れる。このように、駆動信号Sdは、ON時間の長さ(時間t1とt2との間隔でありパルス幅という)によってステッピングモータ30に流れる電流の大きさを変更する。駆動信号Sdのパルス幅に基づきステッピングモータ30に流れる電流の大きさを変更する制御が、PWM制御である。
ゲイン調整部43は、コイル34a(34b)の自己誘導によってコイル34a(34b)から流れる電流をコイル34a(34b)自体に還流するように駆動回路6が制御される場合において、駆動電流値Idの絶対値を減少させる必要があるときには、駆動電流値Idの絶対値を減少させる必要がないときよりもゲインGを大きくする。すなわち、ゲイン調整部43は、上述した省電力制御の実行時において、駆動電流値Idの絶対値が電流指令値Icの絶対値以上であるときには、駆動電流値Idの絶対値が電流指令値Icの絶対値よりも小さいときよりもゲインGを大きくする。
出力部44は、駆動信号生成部41が生成した駆動信号Sdを取得して、駆動回路6に出力する。出力部44は、第1反転部45と、第1論理積演算部46と、第2論理積演算部47と、第2反転部48と、第3反転部49とを含む。第1論理積演算部46は、図2に示す制御信号生成部2からの制御切替指令P1と駆動信号Sdとが入力されて、両者の論理積を駆動信号Sd1として出力する。第2論理積演算部47は、制御信号生成部2からの制御切替指令P2と第1反転部45を通過した駆動信号Sdとが入力されて、両者の論理積を駆動信号Sd2として出力する。なお、第1反転部45によって、駆動信号Sdは反転している。以下においては、説明の便宜上、必要に応じて駆動信号Sd1を第1駆動信号Sd1、駆動信号Sd2を第2駆動信号Sd2という。第1駆動信号Sd1は駆動信号Sdに等しく、第2駆動信号Sd2は駆動信号Sdを反転させた信号に等しい。
第1論理積演算部46が出力した第1駆動信号Sd1は、第1正極側素子60aのゲートに直接入力されるとともに、第2反転部48を通過してから第1アース側素子60bのゲートに入力される。第2論理積演算部47が出力した第2駆動信号Sd2は、第2正極側素子60cのゲートに直接入力されるとともに、第3反転部49を通過してから第2アース側素子60dのゲートに入力される。
このように、第1正極側素子60aのゲートには第1駆動信号Sd1が入力され、第2正極側素子60cのゲートには第2駆動信号Sd2が入力される。第1アース側素子60bのゲートに入力される信号は、第2反転部48が第1駆動信号Sd1を反転させた出力なので、第2駆動信号Sd2になる。また、第2アース側素子60dのゲートに入力される信号は、第1反転部45が駆動信号Sdを反転させた信号、すなわち第2駆動信号Sd2を第3反転部49が再度反転させた出力なので、駆動信号Sd、すなわち第1駆動信号Sd1になる。このように、第1正極側素子60aと第2アース側素子60dとは第1駆動信号Sd1によって駆動され、第2正極側素子60cと第1アース側素子60bとは第2駆動信号Sd2によって駆動される。
上述したように、信号演算部4は、偏差生成部40と、駆動信号生成部41と、三角波発生部42と、ゲイン調整部43と、出力部44とを構成部として含む。信号演算部4は、自身の記憶部に格納されたコンピュータプログラムを実行することにより、これらの構成部の機能を実現する。すなわち、信号演算部4は、ソフトウェアによって自身の機能を実現するものである。このため、前記コンピュータプログラムを暗号化しておけば、信号演算部4の機能を解析することは困難になるので、不正な改造のおそれを低減できる。また、ステッピングモータ30の仕様及びステッピングモータ30の適用対象であるミシンの仕様等が変更された場合でも、それに対応したコンピュータプログラムに書き換えるだけで、同じ信号演算部4で対応できるので、利便性が向上する。
図6は、ステッピングモータの励磁方法を説明する模式図である。図1に示す2相バイポーラ型のステッピングモータ30は、2つのコイル34a、34bを有する。ステッピングモータ30のコイル34a、34bに電流を与える方法(励磁方法)はいくつか存在するが、例えば、A相(コイル34a)とB相(コイル34b)とを交互に切り替えて電流を流す1−2相励磁方式という方法がある。この方法は、一相励磁又は二相励磁と比較して、ステップ角度を半分にすることができるので、滑らかな回転が得られるという利点がある。
1−2相励磁の場合、それぞれのコイル34a、34bに流す電流の組み合わせは、図6に示すように、0〜7の8パターンある。図6のステップ0、1、2、3、4、5、6、7における組み合わせの順にコイル34a、34bを励磁して、それぞれのコイル34a、34bに流す電流を切り替えることで、ステッピングモータ30は回転する。A相、すなわちコイル34aについて、駆動回路6の動作を説明する。
図7−1、図7−2は、ステッピングモータの駆動時における駆動回路の動作を示す説明図である。図8〜図10は、ステッピングモータのコイルを流れる電流の変化を示す模式図である。図6のステップ0、1、2でコイル34aに流れる電流は、図7−1の矢印E方向(電源62の正極からアース63へ向かう方向、以下、+方向と定義する)に流れる。このとき、第1正極側素子60aと第2アース側素子60dとがON/OFFを繰り返してコイル34aに流れる駆動電流値Idを制御する。すると、図8のONの部分に示すように、コイル34aを流れる駆動電流値Idは増加する。
第1正極側素子60aと第2アース側素子60dとがOFFの場合、第2アース側素子60bのダイオード61bとコイル34aと第1正極側素子60cのダイオード61cとを通って、電流が電源62に戻る方向で流れる(図7−2の矢印Fで示す方向)。これは、第1正極側素子60aと第2アース側素子60dとがOFFされた場合、コイル34aは自己誘導によりこれまで流れていた方向に電流を流そうとするためである。この場合、ダイオード61b、61cの発熱を抑えるため、第2アース側素子60b及び第1正極側素子60cがONに制御される。すると、図8のOFFの部分に示すように、コイル34aを流れる駆動電流値Idは減少する。
図6に示すステップ3、7において、電流指令値Icは0A(アンペア)となる。これは、駆動電流値Idが0A(アンペア)となることを意味する。このとき、コイル34aの電流が+方向とその逆方向(−方向)とを交互に流れるように、第1正極側素子60a及び第2アース側素子60dと第2正極側素子60cと第1アース側素子60bとがON/OFFする(図9参照)。その結果、コイル34aを流れる電流の平均値は0Aになるので、駆動電流値Idは0Aになる。図6に示すステップ4、5、6においては、コイル34aを流れる電流の方向が−方向となる(図10参照)。
コイル34aを流れる電流の傾きが正であるとき、第1正極側素子60a及び第2アース側素子60dがONする(図7−1)。また、コイル34aを流れる電流の傾きが負であるとき、第2正極側素子60c及び第1アース側素子60bがONする(図7−2)。前記傾きは、コイル34aに加わっている電圧に左右されるが、この電圧は電源62の電圧(電源電圧)Vccとなるため、前記傾きは略同じ大きさとなる(図8〜図9)。前記傾きによる電流変化分は、電流指令値Icの大きさに関わらず、略同一となり、鉄損の原因となる。すなわち、ステッピングモータ30の発熱を抑えるために、ステッピングモータ30の停止中においてコイル34a、34bを流れる電流を小さくしても、この電流による銅損は低減させることができるが、鉄損を低減させることはできない。そこで、上述した省電力制御により、ステッピングモータ30の発熱を抑制する。
図11、図12は、省電力制御を実行する際における駆動回路の動作を説明するための図である。図13、図14は、省電力制御時に、ステッピングモータのコイルを流れる電流の変化を示す模式図である。ステッピングモータ30の発熱を抑制する制御を、便宜上、省電力制御という。省電力制御は、図2、図3に示す制御信号生成部2が、制御切替指令P1、P2を信号演算部4に与えることにより実行される。なお、省電力制御はステッピングモータ30の停止時に実施するが、これに加えて、ステッピングモータ30の低速回転時、具体的はステッピングモータ30の回転数が200rpm以下又は300rpm以下のときに実施してもよい。
省電力制御を実行しない場合、すなわち、ステッピングモータ30の通常回転時において、制御切替指令P1、P2はともに1になっている。このため、図3に示す第1論理積演算部46に入力される制御切替指令P1及び第2論理積演算部47に入力される制御切替指令P2はいずれも1になる。その結果、第1論理積演算部46及び第2論理積演算部47の出力は、制御切替指令P1、P2以外の入力がそのまま出力される。具体的には、第1論理積演算部46からは駆動信号Sdが第1駆動信号Sd1として出力され、第2論理積演算部47からは駆動信号Sdが反転された第2駆動信号Sd2が出力される。このため、駆動回路6のそれぞれの素子は、第1駆動信号Sd1と第2駆動信号Sd2とにより、ON/OFFを繰り返す。
図7−1に示すように、第1正極側素子60a及び第2アース側素子60dがON、第2正極側素子60c及び第1アース側素子60bがOFFの場合、コイル34a(34b)には、図7−1の矢印Eで示す方向に電流が流れる。また、図7−2に示すように、第2正極側素子60c及び第1アース側素子60bがON、第1正極側素子60a及び第2アース側素子60dがOFFの場合、コイル34a(34b)に流れる電流は、矢印Fで示すように、アース63から電源62の正極に向かう。
次に、省電力制御を説明する。省電力制御は、例えば、ステッピングモータ30の停止中又は低速回転時に行われる。省電力制御を実行するにあたって、コイル34a(34b)を流れる電流が+方向である場合、図2に示す制御信号生成部2は、制御切替指令P1=1、P2=0を生成する。また、コイル34a(34b)を流れる電流が−方向である場合、図2に示す制御信号生成部2は、制御切替指令P1=0、P2=1を生成する。また、コイル34a(34b)を流れる電流が0Aである場合、図2に示す制御信号生成部2は、制御切替指令P1=0、P2=0を生成する。
図11、図12は、省電力制御において、コイル34a(34b)を流れる電流が+方向である場合を示す。このとき、P1=1、P2=0なので、図3の第1論理積演算部46からは第1駆動信号Sd1が出力され、第2論理積演算部47からは0が出力される。したがって、省電力制御において、コイル34a(34b)を流れる電流が+方向である場合、第1正極側素子60a及び第1アース側素子60bはON/OFFを繰り返し、第2正極側素子60cは常時OFFに、第2アース側素子60dは常時ONになる。なお、第1正極側素子60aがONのとき第1アース側素子60bはOFFになり、第1正極側素子60aがOFFのとき第1アース側素子60bはONになる。
図11に示すように、省電力制御において、第1正極側素子60aがONで第2アース側素子60dがONである場合、コイル34a(34b)を流れる電流は、図11の矢印Eで示す方向に流れる。第1正極側素子60aがOFF、第1アース側素子60bがONになったとき、第2正極側素子60cはOFF、第2アース側素子60dはONである。このため、図12に示すように、自己誘導によりコイル34a(34b)から流れる電流は、第2正極側素子60cのダイオード61cを通って電源62へ還らず、第1アース側素子60b及び第2アース側素子60dを通ってコイル34a(34b)自体に環流する(図12の矢印Gで示す方向)。このとき、コイル34a(34b)の電流の流れを妨げるような逆向きの電圧は加わらないため、電流の減少は、図13に示すように非常に穏やかになる。
その結果、コイル34a(34b)を流れる電流の変化分(電流リップル)は、図9に示す場合と比較して非常に小さいものとなる。その結果、省電力制御は、ステッピングモータ30の鉄損による発熱を低減できるという効果がある。そして、ステッピングモータ30の停止時又は低速回転時において、ステッピングモータ30を流れる電流が一定状態のときに省電力制御を実行することにより、ステッピングモータ30を適用したミシンの待機時における消費電力を低減することができる。
しかしながら、省電力制御時は、ステッピングモータ30に流れる電流(駆動電流)を減少させる際の応答性が低いため、電流指令値Icよりも大きい電流がステッピングモータ30のコイル34a、34bに流れてしまうことがある。これは、図14に示すように、省電力制御ではコイル34a、34bを流れる電流の減少が緩やかになるため、駆動電流値Idが電流指令値Icまで低減しないうちに、次のPWM制御のON時間に入ってしまう。次のPWM制御はONの割合が前回よりも少なくなるので、駆動電流値Idは順次減少していき、何回かPWM制御を繰り返すことで駆動電流値Idは電流指令値Icまで減少する。コイル34a、34bを流れる電流が増加する際には、通常の制御、すなわち省電力制御以外の制御と同様の傾きで増加するので応答性は問題ない。しかし、コイル34a、34bを流れる電流が減少する場合のみ応答性が低下するので、その間余分な電流が流れ、ステッピングモータ30の消費電力を十分に低減できないことがある。
コイル34a、34bを流れる電流が減少する場合におけるPWM制御のOFF時間を十分に確保するため、図2、図3に示す信号演算部4からの電流値偏差Dを−(マイナス)方向に大きくすることが有効である。このためには、信号演算部4が有するゲイン調整部43が生成するゲインGを大きくすればよい。しかし、ゲインGを大きくすると、通常の制御及び省電力制御でコイル34a、34bを流れる電流が増加する際には、前記電流が過剰に増加する結果、オーバーシュートが発生するおそれがある。
この問題を解決するため、本実施形態の省電力制御において、図3に示すゲイン調整部43は、駆動電流値Idの絶対値を減少させる必要があるときには、駆動電流値Idの絶対値を減少させる必要がないとき(例えば、コイル34a、34bを流れる電流が増加する場合)よりもゲインGを大きくする。このようにすることで、省電力制御においては、コイル34a、34bを流れる電流が減少する場合のみ、電流値偏差Dを大きくすることができるので、スイッチング素子のOFF時間を長くすることができる。このため、ステッピングモータ30に流れる電流を減少させる際の応答性低下を抑制できる。その結果、本実施形態の省電力制御は、駆動電流値Idを電流指令値Icへ速やかに収束させることができるので、余分な電流がコイル34a、34bを流れることが抑制されて、ステッピングモータ30の消費電力を十分に低減できる。また、ゲイン調整部43が、駆動電流値Idの絶対値と電流指令値Icの絶対値を比較して、駆動電流値Idの絶対値を減少させる必要があるときには、ゲインGを大きくするように調整してもよい。さらに、ゲイン調整部43が、省電力制御の実行時において、駆動電流値Idの絶対値が電流指令値Icの絶対値以上であるときには、駆動電流値Idの絶対値が電流指令値Icの絶対値よりも小さいときよりも前記ゲインGを大きくするように調整してもよい。
本実施形態においては、ステッピングモータ30の回転速度が所定の回転速度以下である場合に、省電力制御を実行する。所定の回転速度以下には、ステッピングモータ30が停止している場合(回転速度が0)も含まれる。これまでは、ステッピングモータ30が停止しているときに省電力制御が実行されていたが、ステッピングモータ30が回転しているときにも省電力制御の適用を広げることで、ステッピングモータ30の消費電力をさらに抑制することができる。前記所定の回転速度は、ステッピングモータ30が比較的低速で回転している場合を規定するための回転速度であり、例えば、200rpmから300rpmである。所定の回転速度以下で省電力制御を実行するのは、ステッピングモータ30が高速で回転している場合は応答性を優先させるためである。次に、本実施形態の省電力制御をより詳細に説明する。
図15、図16は、本実施形態の省電力制御におけるゲインの設定を説明するための概念図である。図15は、コイル34a、34bを流れる電流の方向が+の場合(P1=1、P2=0)であり、図16は、−の場合(P1=0、P2=1)である。図17は、本実施形態の省電力制御における駆動電流値の変化を示す模式図である。図17の実線は、本実施形態の省電力制御による駆動電流値Idの変化であり、点線は、ゲインを一定とした場合における駆動電流値Idの変化である。上述したように、本実施形態の省電力制御は、駆動電流値Idの絶対値|Id|を減少させる必要がないときのゲインG1よりも、駆動電流値Idの絶対値|Id|を減少させる必要があるときのゲインG2を大きくする(G1<G2)。
図15、図16に示す例において、電流指令値Icの絶対値|Ic|よりも駆動電流値Idの絶対値|Id|が小さい場合(t=t1までの領域及びtがt2よりも大きい領域)、偏差d(=Ic−Id)を0にするため駆動電流値Idの絶対値|Id|を増加させる必要がある。このとき、図3に示すゲイン調整部43はゲインG=G1とするので、電流値偏差Dはd×G1となる。また、|Id|≧|Ic|である場合(t=t1〜t2までの領域)、偏差d(=Ic−Id)を0にするため駆動電流値Idの絶対値|Id|を減少させる必要がある。このとき、ゲイン調整部43はゲインG=G2(>G1)とするので、電流値偏差Dはd×G2となる。このように、本実施形態の省電力制御において、ゲイン調整部43は、駆動電流値Idの絶対値|Id|が電流指令値Icの絶対値|Ic|以上であるときには、|Id|が|Ic|よりも小さいときよりもゲインGを大きくする。
このようにすることで、本実施形態の省電力制御は、コイル34a、34bを流れる電流が減少する場合のみ、電流値偏差Dを大きくすることができる。その結果、図17に示すように、本実施形態の省電力制御による駆動電流値Idの変化は(実線)、ゲインGを一定とした場合(点線)と比較して、ステッピングモータ30に流れる電流を減少させる際の応答性低下が抑制されて、迅速に電流指令値Ic(ステッピングモータ30の停止時では0)へ収束する。その結果、ステッピングモータ30を流れる余分な電流を低減できるので、ステッピングモータ30の消費電力を十分に低減できる。次に、図2に示すモータ制御装置1がステッピングモータ30の動作を制御する例を説明する。
図18は、モータ制御装置によるステッピングモータの制御例を示すフローチャートである。ステッピングモータ30の動作を制御する場合、図2に示すモータ制御装置1の制御信号生成部2は、電流指令値Ic及び制御切替指令P1、P2を生成する。そして、ステップS101において、信号演算部4は、制御信号生成部2が生成した電流指令値Icを取得し、ステップS102において電流検出回路8a(8b)から駆動電流値Idを取得し、ステップS103において、制御信号生成部2が生成した制御切替指令P1、P2を取得する。なお、ステップS101とステップS102とステップS103との順序は問わない。
ステップS104において、制御切替指令であるP1又はP2が0である場合(ステップS104、Yes)、モータ制御装置1は省電力制御を実行する。この場合、ステップS105に進む。ステップS105において、P1=1かつId≧Icである場合(ステップS105、Yes)、ステッピングモータ30のコイル34a、34bを流れる電流の方向は+かつ|Id|≧|Ic|である。この場合、駆動電流値Idを減少させる必要があるので、ステップS106に進み、偏差生成部40は、ゲイン調整部43からゲインG2を取得して、偏差dに乗ずるゲインGをG2に設定する。
ステップS104において、制御切替指令であるP1又はP2が0でない場合、すなわち、P1=1かつP2=1である場合(ステップS104、No)、モータ制御装置1は省電力制御を実行しない。この場合、ステップS107に進み、偏差生成部40は、ゲイン調整部43からゲインG1を取得して、偏差dに乗ずるゲインGをG1に設定する。ステップS105において、P1=1かつId≧Icでない場合、すなわち、P2=1又はId<Icである場合(ステップS105、No)、ステップS108へ進む。ステップS108において、P2=1かつIc≧Idである場合(ステップS108、Yes)、ステッピングモータ30のコイル34a、34bを流れる電流の方向は−かつ|Id|≧|Ic|である。この場合、駆動電流値Idを減少させる必要があるので、ステップS106に進み、偏差生成部40は、ゲイン調整部43からゲインG2を取得して、偏差dに乗ずるゲインGをG2に設定する。
ステップS108において、P2=1かつIc≧Idでない場合、すなわち、P2=0又はIc<Idである場合(ステップS108、No)モータ制御装置1は省電力制御を実行しない。この場合、ステップS107に進み、偏差生成部40は、ゲイン調整部43からゲインG1を取得して、偏差dに乗ずるゲインGをG1に設定する。
次に、ステップS109に進み、偏差生成部40は、電流値偏差Dを算出する。そして、ステップS110において、駆動信号生成部41は、三角波発生部42から三角波Vtを取得する。次に、ステップS111においてD>Vtである場合(ステップS111、Yes)はステップS112に進み、駆動信号生成部41は駆動信号Sdを1にする。D≦Vtである場合(ステップS111、No)はステップS113に進み、駆動信号生成部41は、駆動信号Sdを0にする。ステップS111〜ステップS113で、駆動信号生成部41は、ON/OFFからなる駆動信号Sdを生成する。この駆動信号Sdは、PWM制御のための信号である。
次に、ステップS114に進み、図3に示す信号演算部4は、駆動信号Sdを第1駆動信号Sd1とし、駆動信号Sdを反転させた信号を第2駆動信号Sd2とする。信号演算部4の第1反転部45が、駆動信号Sdを反転させて第2駆動信号Sd2とする。ステップS115において制御切替指令P1が1である場合(ステップS115、Yes)、ステップS116に進む。ステップS116において、制御切替信号P2が1である場合(ステップS116、Yes)、ステップS117に進み、信号演算部4は、第1論理積演算部46から第1駆動信号Sd1を駆動回路6に対して出力し、第2論理積演算部47から第2駆動信号Sd2を駆動回路6に対して出力する。ステップS115及びステップS116でYesである場合、P1=P2=1なので省電力制御は実行されず、通常の制御でステッピングモータ30が駆動される。
ステップS115において制御切替指令P1が1でない場合(ステップS115、No)、ステップS118に進む。この場合、P1=0なので、信号演算部4の第1論理積演算部46は、第1駆動信号Sd1を0に設定する。その後、ステップS117に進み、信号演算部4は上記の処理を実行する。この場合、第1駆動信号Sd1=0かつ第2駆動信号Sd2=1なので、ステップS117においては、ステッピングモータ30のコイル34a、34bを流れる電流の方向が−の場合における省電力制御が実行される。
ステップS116において制御切替信号P2が1でない場合(ステップS116、No)、ステップS119に進む。この場合、P2=0なので、信号演算部4の第2論理積演算部47は、第2駆動信号Sd2を0に設定する。その後、ステップS117に進み、信号演算部4は上記の処理を実行する。この場合、第1駆動信号Sd1=1かつ第2駆動信号Sd2=0なので、ステップS117においては、ステッピングモータ30のコイル34a、34bを流れる電流の方向が+の場合における省電力制御が実行される。
図19は、本実施形態に係るモータ制御装置によって制御されるステッピングモータを備えるミシンの一例を示す斜視図である。図20は、図19に示すミシンの位置決め機構を示す斜視図である。図19に示すミシン70は、電子サイクルミシンである。電子サイクルミシンは、縫製を行う被縫製物である布を保持する保持枠を有し、その保持枠が縫い針に対し相対的に移動することにより、保持枠に保持される布に所定の縫製パターンデータ(縫製パターン)に基づく縫い目を形成するミシンである。ここで、後述する縫い針78が上下動を行う方向をZ軸方向(上下方向)とし、これと直交する一の方向をX軸方向(左右方向)とし、Z軸方向とX軸方向の両方に直交する方向をY軸方向(前後方向)と定義する。
電子サイクルミシン70(以下、ミシン70という)は、図19に示すように、ミシンテーブルTの上面に備えられるミシン本体71と、ミシンテーブルTの下部に備えられ縫製の開始と停止を操作するためのペダルR及びミシンテーブルTの上部に備えられユーザによる入力操作を行うための操作パネル90等を備えている。図19に示すように、ミシン本体71は、外形が側面視で略コ字状のミシンフレーム72を備えている。ミシンフレーム72は、ミシン本体71の上部をなし前後方向に延びるミシンアーム部72aと、ミシン本体71の下部をなし、前後方向に延びるミシンベッド部72bと、ミシンアーム部72aとミシンベッド部72bとを連結する縦胴部72cとを有している。ミシン本体71は、ミシンフレーム72内に動力伝達機構が配置され、回動自在で前後方向に延びる主軸及び下軸を有している。前記主軸はミシンアーム部72aの内部に配置され、前記下軸はミシンベッド部72bの内部に配置されている。
前記主軸は、ミシンモータに連結され、このミシンモータにより回動力が付与される。また、前記下軸は、縦軸を介して主軸と連結されており、主軸が回動すると、主軸の動力が縦軸を介して下軸側へ伝達し、下軸が回動するようになっている。前記主軸の前端には、前記主軸の回動によりZ軸方向に上下動する針棒78aが接続されている。針棒78aの下端には、縫い針78が交換可能に設けられている。このような構成により、前記主軸の回動により縫い針78はZ軸方向に上下動する。前記下軸の前端には、釜が設けられている。前記主軸とともに前記下軸が回動すると、縫い針78と前記釜との協働により縫い目が形成される。
ミシンアーム部72aには、縫い針78の上下動による布の浮き上がりを防止するために、針棒78aの上下動と連動して上下動し、かつ縫い針78の周囲の布を下方に押圧する中押さえを有する中押さえ装置が設けられている。なお、前記中押さえ装置の本体はミシンアーム部72aの内部に配設されており、縫い針78は、前記中押さえの先端側に形成されている貫通孔に挿入されている。
図19に示すように、ミシンベッド部72b上には、布板80が配設されている。布板80の上方に布保持部としての保持枠81及び縫い針78が配置されるようになっている。保持枠81は、ミシンアーム部72aの前端部に配される取付部材83に取り付けられている。また、図20に示すように、保持枠81は、布押さえ86と下板87とを有する。そして、布押さえ86は、ミシンアーム部72a内に配置された布押さえシリンダの駆動により上下駆動が可能である。このような構成により、布押さえ86は、自身の下降時に下板87との間で布地を挟持し保持するようになっている。
保持枠81を保持する取付部材83は、ミシンフレーム72内に格納保持されたX軸レール75上に、スライドユニットを介して支持されている。X軸レール75はY軸レール76上にスライドユニットを介して支持されている。このような構成により、保持枠81は取付部材83を介してX−Y平面上を任意に移動することが可能となっている。また、ミシンベッド部72b内には、X軸モータとしての第1ステッピングモータ30A及びY軸モータとしての第2ステッピングモータ30BがX−Y駆動手段として設けられている。第1ステッピングモータ30Aは、歯車を介して送り軸77を回転させて取付部材83に連結されたタイミングベルト84を搬送する。また、第2ステッピングモータ30Bは、傘歯歯車を介して送り軸78を回転させてX軸レール75に連結されたタイミングベルト85を搬送する。
このような構成により、第1ステッピングモータ30A及び第2ステッピングモータ30Bを駆動させると、これらの協働によって取付部材83及び保持枠81をX−Y平面の任意の位置に位置決めすることができる。そして、保持枠81の移動と、縫い針78及び前記釜の動作が連動することにより、所定の縫製パターンデータの縫い目データに基づく縫い目が布地に形成される。そして、保持枠81、取付部材83、第1ステッピングモータ30A及び第2ステッピングモータ30Bは、被縫製物である布地に対して任意の位置に針落ちが行われるように、縫い針78と布地とをX軸方向及びY軸方向に相対的に位置決めする位置決め機構91として機能する。
第1ステッピングモータ30A及び第2ステッピングモータ30Bは、図2に示すモータ制御装置1によってその動作が制御される。このようにすることで、第1ステッピングモータ30A及び第2ステッピングモータ30Bは、位置決め機構91を駆動する。そして、位置決め機構91は、縫い針78と布地との相対的な位置決めを行う。第1ステッピングモータ30A及び第2ステッピングモータ30Bが停止している場合又は所定の回転速度以下で回転している場合には、モータ制御装置1は、上述した本実施形態の省電力制御を実行する。本実施形態の省電力制御は、第1ステッピングモータ30A及び第2ステッピングモータ30Bの消費電力を低減できるので、ミシン70の消費電力を低減することができる。
以上、本実施形態では、省電力制御においてステッピングモータを流れる電流の絶対値を減少させる必要がある場合は、それ以外の場合よりもゲインを大きくする。このようにすることで、PWM制御においてはスイッチング素子のOFF時間を長くすることができるので、ステッピングモータを流れる電流が減少する時間を十分に確保することができる。その結果、前記電流が減少する際の応答性の低下を抑制して、ステッピングモータの消費電力を低減することができる。また、省電力制御において、駆動電流値は電流指令値に速やかに収束するので、駆動電流値の振動は低減される。その結果、ミシンの保持枠の振動やステッピングモータの騒音が低減される。
また、本実施形態では、信号演算部をマイクロプロセッサ(例えば、DSP)とすることにより、ゲインの設定を省電力制御と通常制御とのそれぞれにおいて、適切な値に自動的に変更することができる。このようにすることで、省電力制御において、ステッピングモータを流れる電流が減少する際の応答性の低下を抑制することができる。その結果、ステッピングモータを流れる余分な電流を減少させることができるので、ステッピングモータの消費電力を低減することができる。
また、本実施形態では、信号演算部をマイクロプロセッサとすることにより、信号演算部によって制御されるステッピングモータが変更になった場合でも、最適なゲインになるように、ソフトウェアで変更することができる。このように、本実施形態は、ハードウェアを交換することなく、最適なステッピングモータの制御を実現できる。また、信号演算部をソフトウェア化したことで、信号演算部内のコンピュータプログラムを読み出す際にセキュリティを設ける等により、ゲインの設定又は内部の制御等の技術情報が第三者へ漏洩するおそれも低減できる。また、信号演算部の偏差生成部をハードウェアで構成する場合、オペアンプと抵抗器とを有する差動増幅回路で構成することができるが、この場合、ゲインは抵抗比率で設定されることから、省電力制御とそれ以外の場合とで高速にゲインを変更することは困難であった。本実施形態は、信号演算部の偏差生成部をソフトウェア化したので、省電力制御とそれ以外の場合とで高速にゲインを変更することは容易に実現できる。