(57)【要約】【課題】  駆動対象部の駆動停止位置に対する減速タイミングを一定にし、減速タイミングにおける駆動対象部の駆動状態を略一定にすることで、脱調を回避し、駆動停止位置精度を向上することである。【解決手段】  Ｘ方向駆動モータへの駆動パルスを介して指令した指令回転位置と、Ｘエンコーダで検出したＸ方向駆動モータの実回転位置との偏差Ｄ０を演算する（Ｓ３２）。偏差Ｄ０が所定値Ｄ１より小さい場合（Ｓ３４：Ｙｅｓ）、脱調する虞があるので、パルス出力間隔を大きく変更して（Ｓ３５）、駆動パルスを出力する。偏差Ｄ０が所定値Ｄ１と同じか所定値Ｄ１よりも大きく（Ｓ３４：Ｎｏ）、さらに所定値Ｄ２よりも大きい場合は（Ｓ３７：Ｙｅｓ）、ダンピングを終息させるために、パルス出力間隔を小さく変更して（Ｓ４０〜Ｓ４１）、駆動パルスを出力する。【選択図】  図１１
2007228787.tif 000002
【特許請求の範囲】
【請求項１】
駆動対象部を駆動させるパルスモータを制御するモータ制御装置において、
前記駆動対象部の駆動状態を検出する駆動状態検出手段と、
前記パルスモータへ駆動パルスを順次出力するパルス出力間隔を格納したパルス出力タイミング格納手段と、
前記駆動状態検出手段が検出した前記駆動対象部の実際の駆動状態と、前記パルスモータが駆動パルスを介して受けた指令値との偏差を演算する偏差演算手段と、
前記偏差演算手段が演算した前記偏差が所定範囲内に存在するか否かを判断する偏差判断手段と、
前記偏差判断手段が前記偏差が所定範囲内に存在しないと判断した場合には、前記パルス出力タイミング格納手段が格納するパルス出力間隔を変更し、その変更したパルス出力間隔に基づいて駆動パルスを出力するパルス出力制御手段と、
を備えたことを特徴とするモータ制御装置。
【請求項２】
前記所定範囲は、前記パルスモータの速度状態が加速及び定速の場合と、減速の場合とで異なることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記指令値に基づいて、前記パルスモータの前記速度状態が加速、定速、減速のいずれであるかを判断する指令速度判断手段と、
前記指令値に基づいて、前記パルスモータの回転方向が正転であるか逆転であるかを判断する回転方向判断手段とをさらに備え、
前記回転方向判断手段が前記パルスモータの回転方向が正転であると判断した場合、
前記パルス出力制御手段は、
前記指令速度判断手段が前記速度状態が加速または定速であると判断し、且つ、前記偏差判断手段が前記偏差が前記所定範囲の下限値を下回ると判断した場合は、前記パルス出力タイミング格納手段が格納する前記パルス出力間隔を前記パルス出力間隔よりも大きく変更し、
前記指令速度判断手段が前記速度状態が加速または定速であると判断し、且つ、前記偏差判断手段が前記偏差が前記所定範囲の上限値を上回ると判断した場合は、前記パルス出力タイミング格納手段が格納する前記パルス出力間隔を前記パルス出力間隔よりも小さく変更することを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記回転方向判断手段がパルスモータの回転方向が逆転であると判断した場合、
前記パルス出力制御手段は、
前記指令速度判断手段が前記速度状態が加速または定速であると判断し、且つ、前記偏差判断手段が前記偏差が前記所定範囲の上限値を上回ると判断した場合は、前記パルス出力タイミング格納手段が格納する前記パルス出力間隔を前記パルス出力間隔よりも大きく変更し、
前記指令速度判断手段が前記速度状態が加速または定速であると判断し、且つ、前記偏差判断手段が前記偏差が前記所定範囲の下限値を下回ると判断した場合は、前記パルス出力タイミング格納手段が格納する前記パルス出力間隔を前記パルス出力間隔よりも小さく変更することを特徴とする請求項３に記載のモータ制御装置。
【請求項５】
前記パルス出力制御手段は、
前記指令速度判断手段が前記速度状態が減速であると判断し、且つ、前記偏差判断手段が前記偏差が前記所定範囲内に存在しないと判断した場合は、前記パルス出力タイミング格納手段が格納する前記パルス出力間隔を前記パルス出力間隔よりも大きく変更することを特徴とする請求項３または４に記載のモータ制御装置。
【請求項６】
前記駆動対象物の実際の駆動状態は、前駆駆動対象物の位置であることを特徴とする請求項１〜５に記載のモータ制御装置。
【請求項７】
前記請求項１〜請求項６に記載のモータ制御装置を備えたことを特徴とするミシン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ミシンの駆動対象部を駆動するパルスモータをフィードバック制御により駆動制御するモータ制御装置及びこのモータ制御装置を備えたミシンに関する。
【背景技術】
【０００２】
従来、本縫いミシン等の一般的なミシンは、制御装置が出力する駆動パルスにより駆動対象部を駆動制御するように、パルスモータ（ステッピングモータ）を装備している。例えば、刺繍ミシンは、加工布を保持する刺繍枠を装着した枠ホルダーを、Ｘ方向とこれと直交するＹ方向に移動させる為のパルスモータを夫々備えている。
【０００３】
それ故、枠ホルダーは加工布を保持する刺繍枠と共に正確に所定の位置へ移動するので、各種の刺繍模様を位置精度良く縫製することが可能になっている。しかし、縫製中において、つまりパルスモータの駆動制御中に、枠ホルダーや刺繍枠に大きな外力が作用した場合に限らず、回転駆動するパルスモータ自体の惰性等によって、パルスモータに脱調が起こる。
【０００４】
このようなパルスモータにエンコーダを設け、エンコーダが出力するエンコーダ信号によりパルスモータの回転量を検出してフィードバック制御する場合がある。この場合、パルスモータが脱調すると、制御装置が出力する指令パルス数と、パルスモータの回転量に対応するエンコーダ信号数、つまりエンコーダパルス数との間に誤差が生じることになり、刺繍枠を正確に駆動させることができない。その結果、模様崩れが発生して、綺麗な刺繍模様を縫製することができない場合がある。そこで、パルスモータの脱調を防ぐためのパルスモータ制御装置が種々存在する。
【０００５】
例えば、特許文献１に記載のパルスモータ制御プログラムは、パルスモータの実際の回転量を検出するエンコーダをパルスモータに設け、パルスモータの実際の回転量に対応するエンコーダパルス数を検出する。そして、パルスモータの駆動中に、パルスモータを駆動する為の駆動パルスである第１パルス数と、エンコーダパルス数である第２パルス数との偏差を演算する。最大トルクを発生させる加速用設定偏差及び減速用設定偏差を予め設定しておき、演算で得た偏差が設定偏差になるように駆動パルスをパルスモータへ出力する。このように、従来のパルスモータの制御装置は、パルスモータの出力を最大トルクに維持しつつ、脱調現象を回避するようにしてある。
【特許文献１】特開２００４−３２１７７１号公報（第９〜１４頁、図７，図８）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載のパルスモータ制御プログラムにおいては、パルスモータの出力を最大トルクに維持しながら、送りピッチ分を所定時間内に移動完了できると想定した加速用設定偏差及び減速用設定偏差を予め設定する。第１パルス数と第２パルス数との偏差が設定偏差になるように駆動パルスをパルスモータへ出力するので、脱調を防止することはできる。しかし、パルスモータの駆動停止位置に対する減速タイミングが一定であるのに対して、減速タイミングにおけるパルスモータの回転速度は一定でない。従って、この回転速度如何により、目標とする停止位置に停止できなくなる場合が起こり、安定した停止位置精度が得られないという問題がある。
【０００７】
本発明の目的は、パルス出力間隔を設定したパルス出力タイミング格納（記憶）手段を採用することで、駆動対象部の駆動停止位置に対する減速タイミングを一定にすることである。更に、減速タイミングにおける駆動対象部の駆動状態を略一定にすることで、脱調を回避し、しかも駆動停止位置精度を向上することである。
【課題を解決するための手段】
【０００８】
請求項１のモータ制御装置は、駆動対象部を駆動させるパルスモータを制御するモータ制御装置において、駆動対象部の駆動状態を検出する駆動状態検出手段と、パルスモータへ駆動パルスを順次出力するパルス出力間隔を格納したパルス出力タイミング格納手段と、駆動状態検出手段が検出した駆動対象部の実際の駆動状態と、パルスモータが駆動パルスを介して受けた指令値との偏差を演算する偏差演算手段と、偏差演算手段が演算した偏差が所定範囲内に存在するか否かを判断する偏差判断手段と、偏差判断手段が偏差が所定範囲内に存在しないと判断した場合には、パルス出力タイミング格納手段が格納するパルス出力間隔を変更し、その変更したパルス出力間隔に基づいて駆動パルスを出力するパルス出力制御手段とを備えたものである。
【０００９】
パルスモータに対する指令値と駆動対象部の実際の駆動状態との偏差が所定範囲内に存在する場合には、パルス出力タイミング格納手段が格納するパルス出力間隔毎に駆動パルスを順々に出力する。反対に、偏差が所定範囲内に存在しない場合には、パルス出力タイミング格納手段が格納するパルス出力間隔を変更し、その変更したパルス出力間隔に基づいて駆動パルスを順々に出力する。これにより、何れの場合であっても、脱調を確実に回避することができる。加えて、駆動対象部の駆動停止位置に対する減速タイミングが略一定になり、しかも減速タイミングにおける駆動対象部の駆動状態が略一定になるので、駆動対象部の駆動停止位置精度の安定化を図ることができる。
【００１０】
請求項２のモータ制御装置は、請求項１において、前記所定範囲は、パルスモータの速度状態が加速及び定速の場合と、減速の場合とで異なるものである。
【００１１】
請求項３のモータ制御装置は、請求項２において、前記指令値に基づいて、パルスモータの速度状態が加速、定速、減速のいずれであるかを判断する指令速度判断手段と、指令値に基づいて、パルスモータの回転方向が正転であるか逆転であるかを判断する回転方向判断手段とをさらに備え、回転方向判断手段がパルスモータの回転方向が正転であると判断した場合、パルス出力制御手段は、指令速度判断手段が速度状態が加速または定速であると判断し、且つ、偏差判断手段が偏差が所定範囲の下限値を下回ると判断した場合は、パルス出力タイミング格納手段が格納するパルス出力間隔をパルス出力間隔よりも大きく変更し、指令速度判断手段が速度状態が加速または定速であると判断し、且つ偏差判断手段が偏差が所定範囲の上限値を上回ると判断した場合は、パルス出力タイミング格納手段が格納するパルス出力間隔をパルス出力間隔よりも小さく変更するものである。
【００１２】
請求項４のモータ制御装置は、請求項３において、前記回転方向判断手段がパルスモータの回転方向が逆転であると判断した場合、パルス出力制御手段は、指令速度判断手段が速度状態が加速または定速であると判断し、且つ、偏差判断手段が偏差が所定範囲の上限値を上回ると判断した場合は、パルス出力タイミング格納手段が格納するパルス出力間隔をパルス出力間隔よりも大きく変更し、指令速度判断手段が速度状態が加速または定速であると判断し、且つ、偏差判断手段が偏差が所定範囲の下限値を下回ると判断した場合は、パルス出力タイミング格納手段が格納するパルス出力間隔をパルス出力間隔よりも小さく変更するものである。
【００１３】
請求項５のモータ制御装置は、請求項３又は４において、前記パルス出力制御手段は、指令速度判断手段が速度状態が減速であると判断し、且つ偏差判断手段が偏差が所定範囲の範囲内に存在しないと判断した場合は、パルス出力タイミング格納手段が格納するパルス出力間隔をパルス出力間隔よりも大きく変更するものである。
【００１４】
請求項６のモータ制御装置は、請求項１〜５の何れかにおいて、前記駆動対象物の実際の駆動状態は、駆動対象物の位置であることを特徴とする。
【００１５】
請求項７のミシンは、請求項１〜６の何れかにおいて、前記請求項１〜請求項６に記載のモータ制御装置を備えたもるである。
【発明の効果】
【００１６】
請求項１の発明によれば、駆動対象部を駆動させるパルスモータを制御するモータ制御装置において、駆動状態検出手段と、パルス出力タイミング格納手段と、偏差演算手段と、偏差判断手段と、パルス出力制御手段とを備えたので、パルスモータに対する指令値と駆動対象部の実際の駆動状態との偏差が所定範囲内に存在する場合には、パルス出力タイミング格納手段が格納するパルス出力間隔毎に駆動パルスが順々に出力される。
【００１７】
反対に、偏差が所定範囲内に存在しない場合には、パルス出力タイミング格納手段が格納するパルス出力間隔を変更し、その変更したパルス出力間隔に基づいて駆動パルスが順々に出力される。
【００１８】
これにより、何れの場合であっても、脱調を確実に回避することができる。加えて、駆動対象部の駆動停止位置に対する減速タイミングが略一定になり、しかも減速タイミングにおける駆動対象部の駆動状態が略一定になるので、駆動対象部の駆動停止位置精度の安定化を図ることができる。
【００１９】
請求項２の発明によれば、前記所定範囲は、パルスモータの速度状態が加速及び定速の場合と、減速の場合とで異なるので、加速及び定速の場合と減速の場合とで異なるパルスモータの動作に応じて、脱調の回避やダンピングの抑制に最適な所定範囲を夫々個別に設定することができる。その他請求項１と同様の効果を奏する。
【００２０】
請求項３の発明によれば、前記指令値に基づいて、パルスモータの速度状態が加速、定速、減速のいずれであるかを判断する指令速度判断手段と、指令値に基づいて、パルスモータの回転方向が正転であるか逆転であるかを判断する回転方向判断手段とをさらに備え、回転方向判断手段がパルスモータの回転方向が正転であると判断した場合、パルス出力制御手段は、指令速度判断手段が速度状態が加速または定速であると判断し、且つ、偏差判断手段が偏差が所定範囲の下限値を下回るか又は所定範囲の上限値を上回ると判断した場合、パルス出力タイミング格納手段が格納するパルス出力間隔をパルス出力間隔よりも大きく又は小さく変更する。
【００２１】
それ故、パルスモータの回転方向が正転の場合に、駆動対象部の実際の駆動状態を指令値に早期に近づけて、偏差が所定範囲内に収まるようになることから、パルスモータの脱調を極力回避することが可能になる。加えて、駆動対象部の駆動停止位置に対する減速タイミングが略一定になり、しかも減速タイミングにおける駆動対象部の駆動状態が略一定になるので、駆動対象部の駆動停止位置精度の安定化を図ることができる。その他請求項２と同様の効果を奏する。
【００２２】
請求項４の発明によれば、前記回転方向判断手段がパルスモータの回転方向が逆転であると判断した場合、パルス出力制御手段は、指令速度判断手段が速度状態が加速または定速であると判断し、且つ、偏差判断手段が偏差が所定範囲の上限値を上回るか又は所定範囲の下限値を下回ると判断した場合、パルス出力タイミング格納手段が格納するパルス出力間隔をパルス出力間隔よりも大きく又は小さく変更する。
【００２３】
それ故、パルスモータの回転方向が逆転の場合に、駆動対象部の実際の駆動状態を指令値に早期に近づけて、偏差が所定範囲内に収まるようになることから、パルスモータの脱調を極力回避することが可能になる。加えて、駆動対象部の駆動停止位置に対する減速タイミングが略一定になり、しかも減速タイミングにおける駆動対象部の駆動状態が略一定になるので、駆動対象部の駆動停止位置精度の安定化を図ることができる。その他請求項３と同様の効果を奏する。
【００２４】
請求項５の発明によれば、前記パルス出力制御手段は、指令速度判断手段が速度状態が減速であると判断し、且つ偏差判断手段が偏差が所定範囲の範囲内に存在しないと判断した場合は、パルス出力タイミング格納手段が格納するパルス出力間隔をパルス出力間隔よりも大きく変更する。
【００２５】
それ故、パルスモータの回転方向が逆転の場合に、駆動対象部の実際の駆動状態を指令値に早期に近づけて、偏差が所定範囲内に収まるようになることから、パルスモータの脱調を極力回避することが可能になる。加えて、駆動対象部の駆動停止位置に対する減速タイミングが略一定になり、しかも減速タイミングにおける駆動対象部の駆動状態が略一定になるので、駆動対象部の駆動停止位置精度の安定化を図ることができる。その他請求項３又は４と同様の効果を奏する。
【００２６】
請求項６の発明によれば、前記駆動対象物の実際の駆動状態は、駆動対象物の位置であるので、駆動対象物の実際の駆動状態を簡単なエンコーダで検出でき、しかも偏差演算手段による偏差の演算が格段に簡単化する。その他請求項１〜５の何れかと同様の効果を奏する。
【００２７】
請求項７の発明によれば、ミシンは、前記請求項１〜請求項６に記載のモータ制御装置を備えたので、請求項１〜請求項６に記載の効果を発揮できるミシンを実現することができる。
【発明を実施するための最良の形態】
【００２８】
本実施例のパルスモータ制御装置は、駆動パルスをパルスモータへ出力するパルス出力間隔を予め設定したパルス出力タイミングテーブルを参照しながら、複数の駆動パルスをパルスモータへ順次出力する。そして、パルスモータが駆動パルスを介して指令を受けた指令回転位置とパルスモータの実回転位置との偏差を求め、この偏差が所定範囲内に存在しないときには、パルス出力間隔を変更する。従って、パルスモータの脱調を防止でき、しかも駆動対象部の停止位置精度を高めることができる。
【実施例】
【００２９】
本発明の実施例について図面を参照して説明する。
本実施例は、刺繍枠を装着するための枠ホルダーを有し、この枠ホルダーを保持するキャリッジをＸ方向及びＹ方向に駆動させるパルスモータを備えた刺繍用の多針ミシンに本発明を適用した一例である。
【００３０】
図１に示すように、多針ミシンＭは、左右１対の支持脚１と、これら支持脚１の後端部から立設する脚柱部２と、脚柱部２の上端部から前方に延びるアーム部３とを備えている。更に、多針ミシンＭは、アーム部３の先端部に設けた左右方向へ移動可能な針棒ケース４と、脚柱部２の下端部から前方に延びるベッド部５と、装着した枠ホルダー２０をＸ方向及びＹ方向へ移動させるキャリッジ６（駆動対象部に相当する）とを備えている。更に、多針ミシンＭは、作業者がタッチパネル８ａを介して種々の操作をするための操作パネル８と、多針ミシンＭの制御全般を司る制御装置４０などを有する。
【００３１】
針棒ケース４は、下端部に縫針１０を夫々装着した６本の針棒(図示略)と、その針棒と対応するように配置した６個の天秤１１と、針棒ケース４の上端部に設けた糸調子台１２と、この糸調子台１２に配設した６個の糸調子器１３などを有する。
【００３２】
アーム部３は、脚柱部２に設けたミシンモータ５０(図３参照)の駆動力を縫針１０及び天秤１１に伝達する駆動力伝達機構(図示略)と、この駆動力伝達機構が伝達したミシンモータ５０の駆動力により縫針１０及び天秤１１を夫々駆動する縫針上下駆動機構及び天秤揺動機構(図示略)とを備えている。更に、アーム部３は、針棒ケース駆動モータ５５(図３参照)が針棒ケース４を左右に移動させて所望の針棒及び天秤１１を駆動力伝達可能な位置に切換える針棒天秤切換え機構(図示略)等を備えている。
【００３３】
アーム部３の上面部の後半部分は、各々３個の糸駒(図示略)が配置可能な左右１対の糸駒台１４と、この糸駒台１４に対応する糸案内１５を備えている。各糸駒は、糸駒台１４の上方に位置する糸案内１５、糸調子器１３、天秤１１などを経由して各縫針１０に上糸を供給する。
【００３４】
図２に示すように、キャリッジ６は、枠ホルダー２０を装着したＸ方向キャリッジ２１と、Ｘ方向キャリッジ２１を駆動するＸ方向駆動モータ２２と、Ｘ方向駆動モータ２２の駆動力をＸ方向キャリッジ２１に伝達するタイミングベルト２３と、脚柱部２に設けたＹ方向駆動モータ５３(図３参照)が駆動力を伝達するガイド脚２４等（図１参照）を備えている。Ｘ方向駆動モータ２２と、Ｙ方向駆動モータ５３は、パルスモータである。
【００３５】
Ｘ方向駆動モータ２２は、両軸タイプのモータであり、上方に延びる出力軸２５にタイミングベルト２３の一端部が掛かっており、下方に延びる出力軸２５にはＸエンコーダ５７(図３参照)が連結している。
【００３６】
Ｘエンコーダ５７（駆動状態検出手段に相当する）は、Ｘ方向駆動モータ２２の実際の回転位置（駆動対象部の駆動状態に相当する）を検出するためのものである。図示しないが、Ｘエンコーダ５７は、周方向微少間隔に複数本のスリットを放射状に形成したディスクと、発光部と受光部とを有する検出器とを備えている。
【００３７】
このＸエンコーダ５７は、発光部が発した光がディスクのスリットを通過したときに受光部によりその光を検出し、その検出したエンコーダ信号を制御装置４０に出力する。このようにして、Ｘエンコーダ５７はＸ方向駆動モータ２２の出力軸２５の回転角度、つまりＸ方向駆動モータ２２の実回転位置を検出する。
【００３８】
タイミングベルト２３の一端部はＸ方向駆動モータ２２の出力軸２５が支持し、他端部はＸ方向キャリッジ２１の右端部にある回転軸２６が支持している。タイミングベルト２３の中間部には、Ｘ方向キャリッジ２１の２箇所で連結部材２７が連結している。タイミングベルト２３が、Ｘ方向駆動モータ２２の駆動力をＸ方向キャリッジ２１に伝達している。
【００３９】
ガイド脚２４は、Ｙ方向駆動モータ５３の駆動に応じて、支持脚１が有するガイド溝２８に沿って、キャリッジ６及び枠ホルダー２０と共に移動する（図１参照）。尚、図示しないが、Ｙ方向駆動モータ５３の出力軸にも、Ｘ方向駆動モータ２２に連結するＸエンコーダ５７と同様のＹエンコーダ５８が連結している。
【００４０】
枠ホルダー２０は、加工布を保持する刺繍枠２９を装着するものである。枠ホルダー２０は、左右１対の腕部３０ａ,３０ｂにより刺繍枠２９を支持する。左側の腕部３０ａは左右方向に移動可能であり、複数種の刺繍枠２９を支持することができる。
【００４１】
多針ミシンＭにより刺繍縫製する際には、加工布を装着した刺繍枠２９がＸ方向駆動モータ２２及びＹ方向駆動モータ５３の駆動に応じてＸ方向とＹ方向とに独立に移動する。それと同時に、駆動力伝達機構及び縫針上下駆動機構がミシンモータ５０の駆動力を所望の針棒に伝達する。その結果、針棒が縫針１０と共に上下移動し、ベッド部５の糸輪捕捉器(図示略)との協動により、刺繍縫製する。
【００４２】
次に、この多針ミシンＭの制御系について説明する。
図３に示すように、多針ミシンＭの制御全般を司る制御装置４０は、ＣＰＵ４１とＲＯＭ４２とＲＡＭ４３とこれらを接続するバス４４等を含むマイクロコンピュータと、このマイクロコンピュータに各種の信号を入出力する入出力インターフェース（Ｉ／Ｏ）４６等を有する。
【００４３】
入出力インターフェース４６には、ミシンモータ５０を駆動する駆動回路５１と、Ｘ方向駆動モータ２２を駆動する駆動回路５２と、Ｙ方向駆動モータ５３を駆動する駆動回路５４と、針棒ケース駆動モータ５５を駆動する駆動回路５６と、操作パネル８と、Ｘエンコーダ５７及びＹエンコーダ５８等が接続している。
【００４４】
ＲＯＭ４２は、本願特有のパルスモータ駆動制御プログラム（図９参照）と、図４に示すパルス出力タイミングテーブル（パルス出力タイミング格納（記憶）手段に相当する）と、図５に示す６つの所定値Ｄ１〜Ｄ６等を格納（記憶）している。ＲＡＭ４３は、Ｘ，Ｙ方向駆動モータ２２，５３が指令として受けた駆動パルス数を格納（記憶）する第１パルス数格納（記憶）領域を備えている。
【００４５】
更に、ＲＡＭ４３は、Ｘ，Ｙエンコーダ５７，５８が出力したエンコーダ信号に対応するエンコーダパルス数を格納（記憶）する第２パルス数格納（記憶）領域を備えている。更に、ＲＡＭ４３は、その他に、各種のバッファ等を格納（記憶）する領域を備えている。Ｘ，Ｙエンコーダ５７，５８が出力するエンコーダパルス数は、パルスモータが正転する際には正の値となり、パルスモータが逆転する際には負の値となる。エンコーダパルス数に基づいてモータの実回転位置の値を求める。
【００４６】
図４に示すパルス出力タイミングテーブルは、第１番目の駆動パルスＰ１を出力してから、順に駆動パルスＰ２、Ｐ３、Ｐ４、・・・Ｐ２０を出力するパルス出力間隔を夫々設定している。第１番目の駆動パルスＰ１から第５番目の駆動パルスＰ５までが加速領域に対応し、第６番目の駆動パルスＰ６から第１７番目の駆動パルスＰ１７までが定速領域に対応し、第１８番目の駆動パルスＰ１８から第２０番目の駆動パルスＰ２０までが減速領域に対応する。第１番目の駆動パルスＰ１からエンドコードまでの駆動パルスを出力することにより、布を保持した刺繍枠を１ピッチ分送る。
【００４７】
パルス出力タイミングテーブルに予め設定してある各パルス出力間隔は、Ｘ，Ｙ方向駆動モータ２２，５３の回転トルク、Ｘ，Ｙエンコーダ５７，５８の分解能、キャリッジ６を移動させるときの負荷の大きさ等に基づいて、脱調を回避できるように予め実験により求めたものである。
【００４８】
図５に示す６つの所定値Ｄ１〜Ｄ６は、後述するパルスモータ６０への指令回転位置に対する実回転位置の偏差Ｄ０との比較に用いる値である。実回転位置の値（エンコーダパルス数）から指令回転位置の値（駆動パルス数）を減算して偏差Ｄ０を求める。所定値Ｄ１〜Ｄ６のうち、Ｘ，Ｙ方向駆動モータ２２，５３の回転方向が「正転」の場合には、最初の３つの所定値Ｄ１〜Ｄ３を適用し、Ｘ，Ｙ方向駆動モータ２２，５３の回転方向が「逆転」の場合には、次の３つの所定値Ｄ４〜Ｄ６を適用する。
【００４９】
なお、図５に示すように、所定値Ｄ１,Ｄ４はそれぞれ実回転位置が指令回転位置よりも遅れて良い限界値を示す。所定値Ｄ１の数値例は「−５」であり、所定値Ｄ４の数値例は「５」である。所定値Ｄ２，Ｄ３，Ｄ５，Ｄ６はそれぞれ実回転位置が指令回転位置よりも進んで良い限界値を示す。所定値Ｄ２の数値例は「２」であり、所定値Ｄ３の数値例は「３」であり、所定値Ｄ５の数値例は「２」であり、所定値Ｄ６の数値例は「−３」である。
【００５０】
所定値Ｄ１，Ｄ２は、正転時の加速領域と定速領域において、予め定めたパルス出力間隔によりパルスを出力するか否かを判別するための閾値である。即ち、Ｄ１≦Ｄ０≦Ｄ２であった場合は、予め定めたパルス出力間隔によりパルスを出力し、そうでない場合は例外処理を行う。ここで、Ｄ１≦Ｄ０≦Ｄ２が、請求項１、２、３の所定範囲を示し、Ｄ１が、請求項３の下限値を示し、Ｄ２が請求項３の上限値を示す。
【００５１】
所定値Ｄ３は、正転時の減速領域において、予め定めたパルス出力間隔によりパルスを出力するか否かを判別するための閾値である。即ち、Ｄ０≦Ｄ３であった場合は、予め定めたパルス出力間隔によりパルスを出力し、そうでない場合は例外処理を行う。ここで、前記Ｄ０≦Ｄ３が、請求項１、２、４の所定範囲を示す。
【００５２】
所定値Ｄ４，Ｄ５は、逆転時の加速領域と定速領域において、予め定めたパルス出力間隔によりパルスを出力するか否かを判別するための閾値である。即ち、Ｄ５≦Ｄ０≦Ｄ４であった場合は、予め定めたパルス出力間隔によりパルスを出力し、そうでない場合は例外処理を行う。ここで、前記Ｄ５≦Ｄ０≦Ｄ４が、請求項１、２、５の所定範囲を示し、Ｄ５が、請求項５の下限値を示し、Ｄ４が請求項５の上限値を示す。
【００５３】
所定値Ｄ６は、逆転時の減速領域において、予め定めたパルス出力間隔によりパルスを出力するか否かを判別するための閾値である。即ち、Ｄ６≦Ｄ０であった場合は、予め定めたパルス出力間隔によりパルスを出力し、そうでない場合は例外処理を行う。ここで、前記Ｄ６≦Ｄ０が、請求項１、２、６の所定範囲を示す。
【００５４】
パルスモータ駆動制御プログラムについて説明する前に、一般的なパルスモータを駆動制御するのに必要な、ローターの回転角度と励磁コイル（exciting coil）との回転角度の差と、駆動トルクとの関係について、図６に示すような４相のパルスモータ６０を例にして、図７を参照しつつ説明する。
【００５５】
パルスモータ６０は、４つの励磁コイルＣ１〜Ｃ４と、励磁コイルＣ１〜Ｃ４により回転軸６２の周りを回転する永久磁石のローター６３等から成る。
【００５６】
図７に示す曲線は、各励磁コイルＣ１〜Ｃ４に駆動パルスを出力した際の、ローター６３の回転角度と出力トルクとの関係を示している。尚、以下の説明で、励磁コイルＣ１〜Ｃ４に出力する駆動パルスとしての駆動電流は、励磁コイルＣ１〜Ｃ４に「Ｎ」,「Ｓ」で示すように、ローター６３のＮ極と駆動パルスの供給を受けた励磁コイルＣ１〜Ｃ４との間に引力が作用する方向に励磁コイルＣ１〜Ｃ４を流れるものとする。但し、図６に示すローター６３の回転位置を「０°」とし、平面視にて反時計周りを正の回転位置とする。
【００５７】
図６に示すローター６３の回転位置では、励磁コイルＣ１に駆動パルスを出力しているため、ローター６３に作用するトルクは「０」である。しかし、励磁コイルＣ２に１つ目の駆動パルスを出力すると、コイルＣ２がローター６３のＮ極を引くため、ローター６３は回転軸６２の周りを平面視にて反時計周りに回転する。次に、ローター６３が４５°回転すると、図７のＣ２の曲線で示すように、ローター６３に作用するトルクが小さくなるので、励磁コイルＣ２を消磁して、励磁コイルＣ３に２つ目の駆動パルスを出力する。
【００５８】
励磁コイルＣ３に駆動パルスを出力すると、図７のＣ３の曲線で示すように、ローター６３に作用するトルクが再び増加する。次に、ローター６３の回転角度が１３５°になるとローター６３に作用するトルクが小さくなるので、励磁コイルＣ３を消磁し、励磁コイルＣ４に３つ目の駆動パルスを出力すると、図７のＣ４の曲線で示すように、ローター６３に作用するトルクが増加する。その後、上記と同じような励磁を繰り返すことで、パルスモータ６０は、出力が略最大トルクを維持しながら回転する。
【００５９】
次に、図８に基づいて、パルスモータ６０の一般的な駆動制御について簡単に説明する。図８は、加速領域と定速領域と減速領域とにおいて、制御装置４０が出力する駆動パルス数と、エンコーダが出力するエンコーダパルス数の時間的変化を示すものである。
【００６０】
通常、正転の加速領域においては、パルスモータ６０への指令回転位置に対するパルスモータ６０の実回転位置は遅れるため、偏差Ｄ０はマイナスの値となる。通常、正転の定速領域においては、パルスモータ６０への指令回転位置に対するパルスモータ６０の実回転位置は次第に接近するため、終盤には偏差Ｄ０は０に近い値となる。通常、正転の減速領域においては、パルスモータ６０への指令回転位置に対するパルスモータ６０の実回転位置は進むため、偏差Ｄ０はプラスの値となる。
【００６１】
一方、通常、逆転の加速領域においては、正転の場合と同様、パルスモータ６０への指令回転位置に対するパルスモータ６０の実回転位置は遅れるが、実回転位置（エンコーダパルス数）も、指令回転位置（駆動パルス数）もマイナスの値をとるため、両者の差である偏差Ｄ０はプラスの値となる。通常、逆転の定速領域においては、パルスモータ６０への指令回転位置に対するパルスモータ６０の実回転位置は次第に接近するため、終盤には偏差Ｄ０は０に近い値となる。通常、逆転の減速領域においては、パルスモータ６０への指令回転位置に対するパルスモータ６０の実回転位置は進むが、前述の理由から、偏差Ｄ０はマイナスの値となる。
【００６２】
次に、多針ミシンＭの制御装置４０が実行するパルスモータ駆動制御について、図９〜図１２のフローチャートに基づいて説明する。ここでは、Ｘ方向駆動モータ２２を、Ｘエンコーダ５７が出力するエンコーダ信号によりフィードバック制御しながら駆動制御する場合について説明する。図中の符号Ｓｉ（ｉ＝１１、１２、１３・・・）は各ステップである。
【００６３】
多針ミシンＭの電源を投入すると、制御装置４０は、図示しないＸ方向駆動モータ２２の原点位置設定を実行し、その後、縫製開始に際して送り指令を受けたときにパルスモータ駆動制御を実行する。送り指令としては、Ｘ方向駆動モータ２２を「２０パルス」分回転駆動させるものとする。この場合、制御装置４０は、図４のパルス出力タイミングテーブルを参照する。
【００６４】
図９に示すように、制御装置４０は、先ず、Ｘ方向駆動モータ２２に１つの駆動パルスを出力し（Ｓ１１）、出力パルス数カウンタのパルス数カウント値ＯＰを「１」に設定する（Ｓ１２）。次に、第１タイマには、パルス出力タイミングテーブル（図４参照）からパルス数カウント値ＯＰで指示するパルス出力間隔のデータを読み込んでタイマ値Ｔとして設定する（Ｓ１３）。更に、偏差監視用のタイマである第２タイマには、所定時間Ｔａ（例えば、０．１ｍｓ）をタイマ値として設定する（Ｓ１３）。尚、パルス数カウント値ＯＰは、駆動パルスＰ１では、０とし、駆動パルスＰ２では、１となっている。
【００６５】
次に、第１タイマ割込み処理と、第２タイマ割込み処理のタイマ割込み処理を夫々許可し（Ｓ１４）、これら第１タイマと第２タイマを夫々作動させ（Ｓ１５）、Ｘ方向駆動モータ２２の駆動制御が完了すると、この制御が終了する。
【００６６】
このように、Ｓ１４において、これら第１，第２タイマ割込み処理を夫々許可したので、制御装置４０は、第１タイマに設定した設定時間が経過する毎に発生するタイマ割込み指令により第１タイマ割込み処理を実行する。第２タイマに設定した設定時間が経過する毎に発生するタイマ割込み指令により第２タイマ割込み処理を実行する。
【００６７】
先ず、第１タイマ割込み処理制御について、図１０に基づいて説明する。第１タイマ割込み制御を開始すると、制御装置４０は、先ず、Ｘ方向駆動モータ２２に対する駆動パルスの出力を禁止するパルス出力禁止フラグＫＦが１か否かを判断する（Ｓ２１）。パルス出力禁止フラグＫＦが１ではない場合、つまり駆動パルスの出力が許可状態のときには（Ｓ２１：Ｎｏ）、次の駆動パルスを出力する為のパルス出力間隔を指示する為に、パルス数カウント値ＯＰを１つ増加する（Ｓ２２）。
【００６８】
次に、パルス数カウント値ＯＰで指示する駆動パルスのパルス出力間隔のデータを変数ｔにセットする（Ｓ２３）。この変数ｔがパルス出力間隔であって、「エンドコード」でない場合には（Ｓ２４：Ｙｅｓ）、次の１つの駆動パルスを出力する（Ｓ２５）。次に、Ｘ方向駆動モータ２２の指令回転位置と実回転位置とを、エンコーダパルス数で比較する為に、パルス数カウント値ＯＰで示す駆動パルス数を、エンコーダパルス数に換算して更新する（Ｓ２６）。
【００６９】
次に、第１タイマに、変数ｔを設定時間として設定し（Ｓ２７）、第１タイマ割込み処理が終了する。変数ｔのデータが「エンドコード」の場合にも（Ｓ２４：Ｎｏ）、処理が終了する。第１タイマ割込み処理が開始したときに、パルス出力禁止フラグＫＦが１である場合、つまり駆動パルスの出力が禁止状態のときには（Ｓ２１：Ｙｅｓ）、第１タイマに微少所定時間Ｔａ（例えば、０．１ｍｓ）をタイマ値として設定する。それ故、これ以降、制御装置４０は、第１タイマ割込み処理を、第１タイマに設定した微少所定時間Ｔａを経過する毎に、頻繁に実行するようになる。
【００７０】
制御装置４０は、後述する第２タイマ割込み処理により、パルス出力禁止フラグＫＦを０にリセットしたとき（Ｓ２１：Ｎｏ）、Ｓ２２以降を繰返して実行する。それ故、パルス出力禁止フラグＫＦを１にセットしてから０にリセットするまでの経過時間だけ、次の駆動パルスの出力が遅くなる。
【００７１】
即ち、Ｘ方向駆動モータ２２が脱調しそうな状況では、制御装置４０は、第２タイマ割込み処理により駆動パルス出力を禁止し、パルス出力間隔が大きくなるように変更する。その結果、駆動パルスを出力しない間に、Ｘ方向駆動モータ２２が回転し、後述するように偏差Ｄ０の大きさ（絶対値）が小さくなって脱調を回避する。その後パルス出力禁止フラグＫＦを０にリセットし、次の駆動パルスを出力する。
【００７２】
次に、第２タイマ割込み処理制御について、図１１〜図１２に基づいて説明する。第２タイマ割込み処理制御を開始すると、制御装置４０は、先ず、Ｘ方向駆動モータ２２の回転方向が正転の場合には（Ｓ３１：正転）、Ｓ２６で更新した駆動パルス数に基づいて、演算式「エンコーダパルス数」−「駆動パルス数」により、偏差Ｄ０を求める（Ｓ３２）。尚、Ｘ方向駆動モータ２２の回転方向が正転か逆転かを判断するには、パルス出力タイミングテーブルに格納した駆動パルスの値が正か負かで判断している。
【００７３】
次に、パルス数カウント値ＯＰに基づいて、現在、減速領域でない場合で（Ｓ３３：Ｎｏ）、偏差Ｄ０が所定値Ｄ１と同じか所定値Ｄ１よりも大きい場合には（Ｓ３４：Ｎｏ）、パルス出力禁止フラグＫＦを０にリセットする（Ｓ３６）。更に、偏差Ｄ０が所定値Ｄ２と同じか所定値Ｄ２よりも小さい場合には（Ｓ３７：Ｎｏ）、この制御を終了する。
【００７４】
即ち、この場合には、加速領域又は定速領域であり、Ｘ方向駆動モータ２２の指令回転位置と実回転位置の差が加速または定速の場合の所定範囲内であり、脱調する虞がない。従って、制御装置４０は、図１０に示す第１タイマ割込み処理でパルス出力タイミングテーブルに設定したパルス出力間隔で、駆動パルスを順次出力する。
【００７５】
１ピッチ分のパルス出力タイミングテーブルのパルス出力時間は一定であるため縫製速度が高速になると前回の減速領域と今回の加速領域が接近する。このような場合、加速領域の初期段階においては、Ｘ方向駆動モータ２２にダンピングが発生していることがある。このような場合には、偏差Ｄ０が所定値Ｄ２よりも大きくなり（Ｓ３７：Ｙｅｓ）、パルス数カウント値ＯＰで指示する駆動パルスのパルス出力間隔のデータを変数ｔにセットする（Ｓ３８）。
【００７６】
次に、この変数ｔがパルス出力間隔であって、「エンドコード」でない場合には（Ｓ３９：Ｙｅｓ）、制御装置４０は、Ｓ３８でセットした変数ｔのパルス出力間隔を、微少時間ｔ０だけ短く変更する（Ｓ４０）。その後、短く変更した変数ｔを、パルス数カウント値ＯＰで指示する駆動パルスのパルス出力間隔として設定し（Ｓ４１）、第２タイマ割込み処理を終了する。それ故、駆動開始直後における加速領域の初期段階において、Ｘ方向駆動モータ２２にダンピングが発生した場合でも、パルス出力間隔を短くすることで、そのダンピングを早期に終息させることができる。
【００７７】
現在、減速領域でない場合で（Ｓ３３：Ｎｏ）、偏差Ｄ０が所定値Ｄ１よりも小さい場合には（Ｓ３４：Ｙｅｓ）、パルス出力禁止フラグＫＦを１にセットして（Ｓ３５）、第２タイマ割込み処理を終了する。その後、第１タイマ割込み処理において、前述したように、パルス出力禁止フラグＫＦが１である為（Ｓ２１：Ｙｅｓ）、第１タイマ割込み処理を微少時間Ｔａ毎に実行する。
【００７８】
第１タイマ割り込み処理が開始しても、駆動パルスを出力しないので、この間にＸ方向駆動モータ２２は回転を続ける。そのため、エンコーダパルス数が徐々に増加する。そして、偏差Ｄ０が所定値Ｄ１と同じか所定値Ｄ１よりも大きくなった場合には（Ｓ３４：Ｎｏ）、パルス出力禁止フラグＫＦを０にリセットする（Ｓ３６）。更に、偏差Ｄ０が所定値Ｄ２以下の場合には（Ｓ３７：Ｎｏ）、第１タイマ割込み処理において、Ｓ２２以降を再度実行する。これにより、Ｘ方向駆動モータ２２の脱調を回避する。
【００７９】
現在、減速領域の場合で（Ｓ３３：Ｙｅｓ）、偏差Ｄ０が所定値Ｄ３と同じか所定値Ｄ３よりも小さい場合には（Ｓ４２：Ｎｏ）、パルス出力禁止フラグＫＦを０にリセットし（Ｓ４４）、第２割込み処理を終了するので、第１タイマ割込み処理において、Ｓ２２以降を実行する。しかし、偏差Ｄ０が所定値Ｄ３よりも大きくなった場合には（Ｓ４２：Ｙｅｓ）、パルス出力禁止フラグＫＦをセットして（Ｓ４３）、第２タイマ割込み処理を終了する。
【００８０】
その結果、第１タイマ割込み処理において、パルス出力禁止フラグＫＦをリセットするまで（Ｓ４４）、駆動パルスの出力待ち状態になる。この間に、Ｘ方向駆動モータ２２は減速を続けるため、偏差Ｄ０はやがて所定値Ｄ３と同じか所定値Ｄ３よりも小さくなる。駆動パルス間隔が大きくなったことで、Ｘ方向駆動モータ２２は更に減速する。そして最終的には、エンコーダパルス数が駆動パルス数と一致して停止する。このように、偏差Ｄ０が所定値Ｄ３を超えた場合には、理想の減速曲線にあわせてより強いブレーキをかけることにより、停止時のダンピングを極力抑制し、停止位置を安定化させることができる。
【００８１】
本実施例では、偏差が所定範囲内である場合には、パルス出力タイミングテーブルのパルス出力間隔で駆動パルスを出力し、偏差が所定範囲内でない場合には、パルス出力タイミングテーブルのパルス出力間隔に基づいて、駆動パルスを出力する間隔を変更している。その結果、駆動対象部の駆動停止位置に対する減速タイミングがパルス出力タイミングテーブルに基づくものであるため略一定になり、しかも減速タイミングにおける駆動対象部の駆動状態も略一定になるので、駆動対象部の駆動停止位置精度の安定化を図ることができる。
【００８２】
次に、Ｘ方向駆動モータ２２の回転方向が逆転の場合には（Ｓ３１：逆転）、前述したＳ３２〜Ｓ４４と同様にＳ５１〜Ｓ６３を実行するので、この割込み処理の説明を省略する。但し、Ｓ５３においては、偏差Ｄ０が所定値Ｄ４よりも大きいか否かを判定し、Ｓ５６においては、偏差Ｄ０が所定値Ｄ５よりも小さいか否かを判定し、Ｓ６１においては、偏差Ｄ０が所定値Ｄ６よりも小さいか否かを判定する。
【００８３】
本実施例において、第２タイマ割込み処理制御のＳ３２，Ｓ５１を実行する制御装置４０が偏差演算手段に相当する。また、第１タイマ割込み処理制御のＳ２１〜Ｓ２７と、第２タイマ割込み処理制御のＳ３３〜Ｓ４４及びＳ５２〜Ｓ６３を実行する制御装置４０がパルス出力制御手段に相当する。第２タイマ割込み処理制御のＳ３１を実行する制御装置４０が回転方向判断手段に相当する。第２タイマ割込み処理制御のＳ３３、Ｓ５２を実行する制御装置４０が指令速度判断手段に相当する。第２タイマ割込み処理制御のＳ３４、Ｓ３７、Ｓ４２、Ｓ５３、Ｓ５６、Ｓ６１を実行する制御装置４０が偏差判断手段に相当する。
【００８４】
次に、前記実施例を部分的に変更した変更形態について説明する。
１）パルスモータからなるＸ方向駆動モータ２２を、Ｘエンコーダ５７によるフィードバック制御を採用して駆動制御する形態について説明したが、パルスモータからなるＹ方向駆動モータ５３を、Ｙエンコーダ５８によるフィードバック制御を採用して駆動制御する形態に本発明を適用してもよい。
【００８５】
２）ＲＯＭ４２に予め格納する６つの所定値Ｄ１〜Ｄ６の各々は、使用するパルスモータが有するトルクの大きさ、エンコーダの分解能、キャリッジ６を移動させるときの負荷の大きさ等に基づいて、予め実験により求めるようにしてもよい。
【００８６】
３）ＲＯＭ４２に予め格納するパルス出力タイミングテーブルの各パルス出力間隔についても、使用するパルスモータが有するトルクの大きさ、エンコーダの分解能、キャリッジ６を移動させるときの負荷の大きさ等に基づいて、予め実験により求めるようにしてもよい。
【００８７】
４）実施例においては、駆動パルスを順次出力するパルス出力間隔を記憶したパルス出力タイミングテーブルを用いたが、パルス出力間隔は、駆動開始からの時間と駆動対象部の負荷の大きさ等に基づいて、演算式により演算により求めるようにしてもよい。パルス出力タイミングテーブルや演算式を、指令速度に応じて複数種類準備してもよい。
【００８８】
５）実施例においては、駆動対象部の位置を検出するようにしたが、駆動対象部の速度や加速度等を検出し、これら速度や加速度に基づいて駆動対象部の駆動状態を検出するようにしてもよい。
【００８９】
６）実施例においては、Ｘ方向駆動モータ２２の回転方向をパルス出力タイミングテーブルに格納した駆動パルスの値が正か負で判断しているが、駆動パルスの値としては、正の値として格納し、正転か逆転かを他の格納領域に格納してもよい。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施例に係る多針ミシンの全体斜視図である。
【図２】多針ミシンのキャリッジ周辺の平面図である。
【図３】多針ミシンの制御系のブロック図である。
【図４】パルス出力タイミングテーブルに格納（記憶）した駆動パルスに対するパルス出力間隔を示す図表である。
【図５】回転方向及び対象領域毎の所定値及び回転位置関係を示す図表である。
【図６】パルスモータを駆動するコイルとローターの概略説明図である。
【図７】励磁コイルにパルス電流を流したときのトルク曲線を示す図である。
【図８】駆動パルス数による指令回転位置とエンコーダパルス数による実回転位置との関係を示す線図である。
【図９】パルスモータ駆動制御のフローチャートである。
【図１０】第１タイマ割込み処理制御のフローチャートである。
【図１１】第２タイマ割込み処理制御のフローチャートの一部である。
【図１２】第２タイマ割込み処理制御のフローチャートの残部である。
【符号の説明】
【００９１】
Ｍ      多針ミシン
６      キャリッジ
２２    Ｘ方向駆動モータ
４０    制御装置
５３    Ｙ方向駆動モータ
５７    Ｘエンコーダ
５８    Ｙエンコーダ
【図１】
2007228787.tif 000003
【図２】
2007228787.tif 000004
【図３】
2007228787.tif 000005
【図４】
2007228787.tif 000006
【図５】
2007228787.tif 000007
【図６】
2007228787.tif 000008
【図７】
2007228787.tif 000009
【図８】
2007228787.tif 000010
【図９】
2007228787.tif 000011
【図１０】
2007228787.tif 000012
【図１１】
2007228787.tif 000013
【図１２】
2007228787.tif 000014