(57)【要約】【課題】モータのトルク指令値を算出するためのゲイン値を駆動状況に応じて増減することができるミシン及びミシン制御プログラムを提供する。【解決手段】ミシンのＣＰＵはミシンモータに対する回転速度の指令値Ｓを取得する（Ｓ１１）。ＣＰＵはミシンモータの回転速度の検出値Ｎをエンコーダにより取得する（Ｓ１２）。指令値Ｓと検出値Ｎの偏差ΔＮを算出する（Ｓ１３）。ＣＰＵはミシンの駆動状況に応じた増減割合で、ミシンモータのトルク指令値Ｔを算出するためのゲイン値を偏差ΔＮの増減に従って増減する（Ｓ１４〜Ｓ１７、Ｓ２１〜Ｓ２５）。ＣＰＵは設定したゲイン値に偏差ΔＮを乗じてトルク指令値Ｔを算出する（Ｓ２９）。【選択図】図３
2012191709.tif 000002
【特許請求の範囲】
【請求項１】
主軸を回転するモータと、前記モータの動力で駆動する駆動部を備え、前記モータの回転を制御して縫製を行うミシンにおいて、
前記モータに対する回転速度の指令値を取得する指令値取得部と、
前記モータの回転速度を検出する検出部から前記回転速度の検出値を取得する検出値取得部と、
前記指令値取得部が取得した指令値と前記検出値取得部が取得した検出値の偏差を算出する偏差算出部と、
前記偏差算出部が算出した偏差にゲイン値を乗じて、前記モータに出力するトルク指令値を算出するトルク算出部と、
前記指令値取得部が取得した指令値、及び前記駆動部の駆動状態の少なくともいずれかに応じた増減割合で、前記偏差算出部が算出した偏差の増減に従って前記ゲイン値を増減するゲイン値決定部と
を備えたミシン。
【請求項２】
前記ゲイン値決定部は、前記指令値取得部が取得した指令値が増加した場合に、指令値の増加前の増減割合以下の増減割合を用いて前記ゲイン値を増減する請求項１に記載のミシン。
【請求項３】
前記増減割合には、指令値が閾値未満である場合の増減割合である低速時割合と、指令値が閾値以上である場合の増減割合であり前記低速時割合よりも低い割合である高速時割合が少なくとも設けてあり、
前記ゲイン値決定部は、
前記指令値取得部が取得した指令値が前記閾値未満である場合には前記低速時割合で前記ゲイン値を増減し、
前記指令値取得部が取得した指令値が前記閾値以上である場合には前記高速時割合で前記ゲイン値を増減する請求項２に記載のミシン。
【請求項４】
前記増減割合には、前記駆動部の駆動状態が糸切りを行っている状態である場合の増減割合であり、糸切りを行っていない場合の増減割合よりも高い割合である糸切り時割合が設けてあり、
前記ゲイン値決定部は、前記駆動部の駆動状態が糸切りを行っている状態である場合に前記糸切り時割合で前記ゲイン値を増減する請求項１から３の何れかに記載のミシン。
【請求項５】
前記検出値取得部は、取得する検出値が増加した場合に、検出値の増加前のサンプリング時間以上のサンプリング時間内に前記検出部が検出した検出結果から、前記回転速度の検出値を取得する請求項１から４の何れかに記載のミシン。
【請求項６】
主軸を回転するモータと、前記モータの動力で駆動する駆動部を備え、前記モータの回転を制御して縫製を行うミシンで用いるミシン制御プログラムにおいて、
前記モータに対する回転速度の指令値を取得する指令値取得工程と、
前記モータの回転速度を検出する検出部から前記回転速度の検出値を取得する検出値取得工程と、
前記指令値取得工程で取得した指令値と前記検出値取得工程で取得した検出値の偏差を算出する偏差算出工程と、
前記偏差算出工程で算出した偏差にゲイン値を乗じて、前記モータに出力するトルク指令値を算出するトルク算出工程と、
前記指令値取得工程で取得した指令値、及び前記駆動部の駆動状態の少なくともいずれかに応じた増減割合で、前記偏差算出工程で算出した偏差の増減に従って前記ゲイン値を増減するゲイン値決定工程と
を実行する為の前記ミシンのコントローラへの指示を含むミシン制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの回転速度の指令値と検出値の偏差からモータのトルク指令値を算出するミシン及びミシン制御プログラムに関する。
【背景技術】
【０００２】
ミシンのモータは縫針が布に刺さる時点、糸切りの時点等に負荷を受ける。モータのトルクが負荷に耐えられなければモータは停止する。一方、モータのトルクが大きすぎると回転変動が増加し騒音は増大する。特許文献１が開示するミシンは、モータのトルク指令値を算出するためのゲイン値をモータの回転速度に基づいて増減する。故に、該ミシンはモータの負荷変動に追従できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１８２３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
モータの実際の回転速度と該回転速度の検出値の誤差（検出誤差）は、実際の回転速度が大きい程増加する。ゲイン値の増減割合を高く設定した場合に検出誤差が増大すると、ゲイン値が大幅に変化してモータの電流波形が乱れる。一方、ゲイン値の増減割合を低く設定すると、ミシンはモータに掛かる負荷の影響が大きい場合にモータの負荷変動に十分に追従できない。従来のミシンは駆動状況に応じてゲイン値を増減することはできなかった。故に従来のミシンは上記の問題を解決できなかった。
【０００５】
本発明の目的は、モータのトルク指令値を算出するためのゲイン値を駆動状況に応じて増減することができるミシン及びミシン制御プログラムを提供することである。
【課題を解決するための手段】
【０００６】
本発明の第一の態様のミシンは、主軸を回転するモータと、前記モータの動力で駆動する駆動部を備え、前記モータの回転を制御して縫製を行うミシンにおいて、前記モータに対する回転速度の指令値を取得する指令値取得部と、前記モータの回転速度を検出する検出部から前記回転速度の検出値を取得する検出値取得部と、前記指令値取得部が取得した指令値と前記検出値取得部が取得した検出値の偏差を算出する偏差算出部と、前記偏差算出部が算出した偏差にゲイン値を乗じて、前記モータに出力するトルク指令値を算出するトルク算出部と、前記指令値取得部が取得した指令値、及び前記駆動部の駆動状態の少なくともいずれかに応じた増減割合で、前記偏差算出部が算出した偏差の増減に従って前記ゲイン値を増減するゲイン値決定部とを備える。本発明のミシンは駆動状況に応じてゲイン値の増減割合を変えることができる。故に、該ミシンは駆動状況に応じて適切にゲイン値を増減できる。
【０００７】
前記ゲイン値決定部は、前記指令値取得部が取得した指令値が増加した場合に、指令値の増加前の増減割合以下の増減割合を用いて前記ゲイン値を増減してもよい。モータの回転速度の検出誤差は回転速度が大きい程増加する。ミシンは指令値が高速であれば低い割合でゲイン値を増減する。故に、ミシンは検出誤差の影響でトルク指令値が大幅に変動して電流波形が乱れる可能性を下げることができる。一方、回転速度が小さければ慣性力は小さくなり、負荷が掛かる時間も長くなる為、モータへの負荷は駆動に大きく影響する。ミシンは指令値が低速であれば高い割合でゲイン値を増減する。故に、ミシンは負荷が大きく影響する低速回転時でも十分に負荷変動に追従できる。
【０００８】
前記増減割合には、指令値が閾値未満である場合の増減割合である低速時割合と、指令値が閾値以上である場合の増減割合であり前記低速時割合よりも低い割合である高速時割合が少なくとも設けてあってもよい。前記ゲイン値決定部は、前記指令値取得部が取得した指令値が前記閾値未満である場合には前記低速時割合で前記ゲイン値を増減し、前記指令値取得部が取得した指令値が前記閾値以上である場合には前記高速時割合で前記ゲイン値を増減してもよい。ミシンは指令値が閾値以上であるか否かを判断するだけで容易に適切な増減割合を設定することができる。
【０００９】
前記増減割合には、前記駆動部の駆動状態が糸切りを行っている状態である場合の増減割合であり、糸切りを行っていない場合の増減割合よりも高い割合である糸切り時割合が設けてあってもよい。前記ゲイン値決定部は、前記駆動部の駆動状態が糸切りを行っている状態である場合に前記糸切り時割合で前記ゲイン値を増減してもよい。モータは糸切り時に強い負荷を受ける為、回転速度は低下し易い。ミシンは糸切り時に高い割合でゲイン値を増減する。故に、ミシンは糸切り時でも十分に負荷変動に追従できる。
【００１０】
前記検出値取得部は、取得する検出値が増加した場合に、検出値の増加前のサンプリング時間以上のサンプリング時間内に前記検出部が検出した検出結果から、前記回転速度の検出値を取得してもよい。ミシンは回転速度が高速であれば検出部のサンプリング時間を長くする。サンプリング時間が長くなれば検出誤差は平均化して減少する。故に、ミシンはモータの回転速度が高速である場合の検出誤差を下げることができ、電流波形が乱れる可能性を更に下げることができる。
【００１１】
本発明の第二の態様のミシン制御プログラムは、主軸を回転するモータと、前記モータの動力で駆動する駆動部を備え、前記モータの回転を制御して縫製を行うミシンで用いるミシン制御プログラムにおいて、前記モータに対する回転速度の指令値を取得する指令値取得工程と、前記モータの回転速度を検出する検出部から前記回転速度の検出値を取得する検出値取得工程と、前記指令値取得工程で取得した指令値と前記検出値取得工程で取得した検出値の偏差を算出する偏差算出工程と、前記偏差算出工程で算出した偏差にゲイン値を乗じて、前記モータに出力するトルク指令値を算出するトルク算出工程と、前記指令値取得工程で取得した指令値、及び前記駆動部の駆動状態の少なくともいずれかに応じた増減割合で、前記偏差算出工程で算出した偏差の増減に従って前記ゲイン値を増減するゲイン値決定工程とを実行する為の前記ミシンのコントローラへの指示を含む。該プログラムによると、ミシンは駆動状況に応じてゲイン値の増減割合を変えることができる。故に、該ミシンは駆動状況に応じて適切にゲイン値を増減できる。
【図面の簡単な説明】
【００１２】
【図１】ミシン１の斜視図。
【図２】ミシン１の電気的構成を示すブロック図。
【図３】ミシン１が実行するトルク算出処理のフローチャート。
【図４】トルク算出処理で用いる各値の大小関係を説明する為の説明図。
【図５】ミシン１が実行するサンプリング時間決定処理のフローチャート。
【図６】偏差ΔＮと可変ゲインＫｐｖの関係を示すグラフ。
【図７】変形例のミシンがＥＥＰＲＯＭ３４に記憶する可変ゲイン決定テーブルを説明する為の説明図。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態のミシン１について図面を参照して説明する。図１を参照しミシン１の構成について説明する。図１の紙面上側、下側、右側、左側、表側、背面側は夫々ミシン１の上側、下側、右側、左側、前側、後側である。テーブル２０は上面に凹部（図示略）を備える。ミシン１はテーブル２０の凹部に上方から嵌めてテーブル２０に装着する。テーブル２０は下面に制御装置３０を備える。制御装置３０はロッド２１を介して踏み込み式のペダル２２に接続する。作業者はペダル２２をつま先側又は踵側に操作する。ペダル２２は操作方向及び操作量を制御装置３０に出力する。制御装置３０はペダル２２の操作方向及び操作量に応じてミシン１の動作を制御する。
【００１４】
ミシン１はベッド部２、脚柱部３、アーム部４を備える。ベッド部２はミシン１の土台となる。脚柱部３はベッド部２右端から鉛直上方に延びる。アーム部４は脚柱部３上端から左方に延びる。アーム部４はベッド部２上面に対向する。アーム部４は左端下部に頭部５を備える。頭部５は下端に押え足１７を装着し、且つ内部に針棒７を保持する。針棒７は下端に縫針（図示略）を装着する。針棒７及び縫針はミシンモータ１３の駆動に従って上下に往復移動する。アーム部４は左端部前方に天秤９を備える。天秤９は針棒７に従って上下動する。アーム部４は上面に操作部１０を固定する。操作部１０は前面に液晶パネル１１を備える。作業者は液晶パネル１１を見ながら操作部１０を操作し各種指示をミシン１に入力する。
【００１５】
脚柱部３は右側面上部にミシンモータ１３を備える。アーム部４は内部に主軸１４を備える。主軸１４は回転可能な状態でアーム部４内部を左右方向に延びる。主軸１４の右端はミシンモータ１３に接続し、左端は針棒上下動機構（図示略）に接続する。ミシンモータ１３は主軸１４を駆動して針棒７と天秤９を上下動する。
【００１６】
ベッド部２は上面左端に針板１５を備える。針板１５は針穴を有し、縫針は針穴を通過する。ベッド部２は針板１５の下部に釜機構（図示略）、布送り機構（図示略）、糸切り機構１８（図２参照）を備える。
【００１７】
布送り機構はミシンモータ１３と布送りモータ１６（図２参照）に接続する。ミシンモータ１３は針棒７の上下動に合わせて布送り機構の送り歯（図示略）を上下動する。布送りモータ１６はベッド部２内部に位置するパルスモータである。布送りモータ１６はミシンモータ１３による上下動との同期を保ちつつ送り歯を前方又は後方に移動する。送り歯が移動すると、送り歯と押え足１７の間の加工布（図示略）は移動する。送り歯の前後方向の移動量はプログラムに従い、ミシンモータ１３の回転量は送り歯の前後方向の移動量に影響を与えない。故に、ミシン１は縫製中に送り歯の移動量を自由に制御することができる。作業者は送り歯の移動量を縫製途中に手動で設定する必要は無い。
【００１８】
糸切り機構１８は糸切りモータ１９（図２参照）に接続する。糸切りモータ１９は糸切り機構１８の糸切り刃を糸切り位置に移動する。糸切り刃が糸切り位置にある状態でミシンモータ１３が回転すると、糸は糸切り刃に接触して切れる。故に、ミシンモータは糸を切る際に負荷を受ける。
【００１９】
図２を参照しミシン１の電気的構成について説明する。ミシン１の制御装置３０はＣＰＵ３１を備える。ＣＰＵ３１はミシン１の制御を司る。ＣＰＵ３１はＲＯＭ３２、ＲＡＭ３３、ＥＥＰＲＯＭ３４、Ｉ／Ｏインターフェース（以下Ｉ／Ｏという）３５にバスを介して接続する。ＲＯＭ３２は後述するトルク算出処理（図３参照）とサンプリング時間決定処理（図５参照）を実行するためのミシン制御プログラム等を記憶する。ＲＡＭ３３はプログラムを実行する為に必要な各種値を一時的に記憶する。ＥＥＰＲＯＭ３４は各種値を記憶する不揮発性の記憶装置である。
【００２０】
Ｉ／Ｏ３５はペダル２２、操作部１０に接続する。ＣＰＵ３１はペダル２２の操作方向及び操作量をペダル２２から入力する。操作部１０は作業者からの操作指示をＩ／Ｏ３５に出力する。作業者は操作部１０を操作することで、後述するゲイン最大値及び偏差基準値を所定範囲内で変更できる。Ｉ／Ｏ３５は駆動回路４１〜４４に接続する。駆動回路４１は液晶パネル１１を駆動する。駆動回路４２はＣＰＵ３１の制御に応じてミシンモータ１３を駆動する。ミシン１はミシンモータ１３の回転角位相及び回転速度を検出する為のエンコーダ４７を備える。エンコーダ４７は検出結果をＩ／Ｏ３５に出力する。駆動回路４３はＣＰＵ３１の制御に応じて布送りモータ１６を駆動する。ミシン１は布送りモータ１６の回転角位相及び回転速度を検出する為のエンコーダ４８を備える。エンコーダ４８は検出結果をＩ／Ｏ３５に出力する。駆動回路４４はＣＰＵ３１の制御に応じて糸切りモータ１９を駆動する。糸切りモータ１９が回転すると糸切り機構１８が動作する。糸切りモータ１９の代わりにソレノイド等を用いてもよい。
【００２１】
ミシン１の駆動状態について説明する。前述したように、ミシン１のＣＰＵ３１はペダル２２の操作方向及び操作量に応じてミシンモータ１３を駆動する。詳細には、ＣＰＵ３１はペダル２２の操作方向に応じてミシンモータ１３の回転方向を決定する。ＣＰＵ３１はペダル２２の操作量に比例する回転速度の指令値を決定し、決定した指令値を駆動回路４２に出力する。故に、ミシンモータ１３の回転速度は、ペダル２２の操作量が少なければ低速となり、ペダル２２の操作量が多ければ高速となる。作業者はミシン１に糸切りを指示する場合、操作部１０を操作して糸切りの指示を入力する。ミシン１のＣＰＵ３１は糸切りの指示を入力すると、ミシンモータ１３を低速で回転しつつ糸切りモータ１９を駆動し糸切りを行う。
【００２２】
本実施形態のミシン１は工業用ミシンであり、ミシンモータ１３を高速で回転できる。ミシンモータ１３の最高速度は５０００ｒｐｍ以上である。以下では、回転速度の指令値が６００ｒｐｍ以上の場合の駆動状態を「高速時」という。指令値が６００ｒｐｍ未満の場合の駆動状態を「低速時」という。糸切り機構１８及び糸切りモータ１９が糸切りを行っている場合の駆動状態を「糸切り時」という。
【００２３】
図３〜図５を参照し、ミシン１が実行する処理について説明する。ミシン１のＣＰＵ３１はＲＯＭ３２に記憶しているミシン制御プログラムに従って、図３に示すトルク算出処理、図５に示すサンプリング時間決定処理を実行する。
【００２４】
図３を参照し、トルク算出処理について説明する。トルク算出処理は、ミシンモータ１３に出力するトルク指令値Ｔ（電流指令値）を算出する処理である。本実施形態のミシン１は、トルク指令値Ｔを算出する際に用いるゲイン値をミシンモータ１３の回転速度に基づいて増減することができる。故に、ミシン１はミシンモータ１３の負荷変動に追従できる。更にミシン１は、モータに対する回転速度の指令値Ｓ及びミシン１の駆動状態に応じて、ゲイン値の増減割合を変更することができる。故に、ミシン１は駆動状況に応じた適切な割合でゲイン値を増減し、ミシンモータ１３を適切に駆動することができる。ＣＰＵ３１は、ミシンモータ１３の回転中に所定間隔毎（例えば１ｍｓｅｃ毎）にトルク算出処理を実行する。
【００２５】
ＣＰＵ３１はトルク算出処理を開始すると、ミシンモータ１３に対する回転速度の指令値（目標値）Ｓを取得する（Ｓ１１）。前述したように、ＣＰＵ３１はペダル２２の操作量に比例する回転速度の指令値Ｓを決定し、決定した指令値Ｓを駆動回路４２に出力する。Ｓ１１では、ＣＰＵ３１は駆動回路４２に出力した指令値Ｓの値を取得する。
【００２６】
ＣＰＵ３１はミシンモータ１３の回転速度の検出値Ｎを取得する（Ｓ１２）。ＣＰＵ３１は、トルク算出処理と並行して実行する回転速度検出処理（図示略）で、エンコーダ４７が検出したミシンモータ１３の回転角位相から回転速度の検出値Ｎを検出している。回転速度の検出値Ｎは以下の（式１）で求める。
回転速度の検出値Ｎ（ｒｐｍ）＝回転角位相の変化量（回転数）／サンプリング時間（分）・・・（式１）
サンプリング時間は、エンコーダ４７が検出したミシンモータ１３の回転角位相から回転速度を算出するための時間である。詳細には、サンプリング時間は回転角位相の変化量の計測開始時点から計測終了時点までに経過した時間である。ＣＰＵ３１は（式１）を用いてその時点の回転速度を検出する。ＣＰＵ３１は、取得した指令値Ｓと検出値Ｎの偏差ΔＮを算出する（Ｓ１３）。
【００２７】
ＣＰＵ３１は、取得した指令値Ｓが閾値（本実施形態では６００ｒｐｍ）未満であるか否かを判断する（Ｓ１４）。指令値Ｓが閾値以上であり、ミシン１の駆動状況が「高速時」であれば（Ｓ１４：ＮＯ）、ＣＰＵ３１はゲイン最大値Ｋｐの値をＫｐＨに設定する（Ｓ１５）。
【００２８】
ゲイン最大値Ｋｐは可変ゲインＫｐｖが取り得る最大の値である。ミシン１はゲイン最大値Ｋｐを設定することで、ミシンモータ１３に過剰な電力が掛かることを防止できる。ゲイン最大値Ｋｐは、ミシン１の駆動状況（指令値Ｓの値、糸切りを行っているか否か）に応じて予め設定してある。図４に示すように、高速時のゲイン最大値ＫｐＨは他のゲイン最大値に比べて最も小さい。詳細は後述するが、トルク指令値Ｔは可変ゲインＫｐｖの値に比例する。故に、高速時のゲイン最大値ＫｐＨを小さくすることで、高速時のトルク指令値Ｔの最大値は小さくなる。ミシンモータ１３が高速で回転している場合、ミシンモータ１３の慣性力（イナーシャ）は低速時よりも大きくなる為、可変ゲインＫｐｖ（トルク指令値Ｔの増減割合）が小さくても回転は安定する。例えば、厚い加工布の縫製を行う場合でも慣性力が大きい為、可変ゲインＫｐｖを小さくしても縫針は加工布を円滑に貫通する。逆に、高速時に可変ゲインＫｐｖを大きくし過ぎるとトルク指令値Ｔは過剰に大きくなる。トルク指令値Ｔが過剰に大きくなると、ミシンモータ１３の回転変動が増大して騒音が増大する。電力も無駄に浪費する。ミシン１は、高速時のゲイン最大値ＫｐＨを小さくすることで、回転変動を抑制しつつミシンモータ１３を安定して駆動することができる。
【００２９】
ＣＰＵ３１は、Ｓ１３で算出した偏差ΔＮが高速時の偏差基準値ＮｍａｘＨ未満であるか否かを判断する（Ｓ１６）。偏差基準値は、可変ゲインＫｐｖがゲイン最大値Ｋｐに達する時点の偏差ΔＮの値である。偏差ΔＮが偏差基準値未満である場合、偏差ΔＮが増加する程可変ゲインＫｐｖは増加する。一方、偏差ΔＮが偏差基準値より大きければ可変ゲインＫｐｖはゲイン最大値Ｋｐを維持する。図４に示すように、高速時の偏差基準値ＮｍａｘＨは低速時、糸切り時の偏差基準値ＮｍａｘＬよりも大きい。
【００３０】
偏差ΔＮが高速時の偏差基準値ＮｍａｘＨ未満である場合（Ｓ１６：ＹＥＳ）、ＣＰＵ３１は以下の（式２）を用いて可変ゲインＫｐｖを算出する（Ｓ１７）。
Ｋｐｖ＝Ｋｐ／２＋（Ｋｐ・ΔＮ／２ＮｍａｘＨ）・・・（式２）
（式２）に示すように、偏差ΔＮが偏差基準値ＮｍａｘＨ未満であれば、可変ゲインＫｐｖは偏差ΔＮに比例して増減する。可変ゲインＫｐｖの最小値はゲイン最大値Ｋｐの２分の１である。前述したように、高速時のゲイン最大値ＫｐＨは他のゲイン最大値に比べて最も小さく、且つ偏差基準値ＮｍａｘＨは他方の偏差基準値ＮｍａｘＬよりも大きい。故に、図４に示すように、高速時の可変ゲインＫｐｖの増減割合「Ｋｐ／２ＮｍａｘＨ」は他の増減割合に比べて最も小さい。
【００３１】
偏差ΔＮが高速時の偏差基準値ＮｍａｘＨ以上である場合（Ｓ１６：ＮＯ）、ＣＰＵ３１は可変ゲインＫｐｖをゲイン最大値Ｋｐ（高速時のゲイン最大値ＫｐＨ）に設定する（Ｓ１８）。処理はＳ２９へ移行する。
【００３２】
Ｓ１１で取得した指令値Ｓが閾値未満である場合（Ｓ１４：ＹＥＳ）、ＣＰＵ３１は駆動状態が「糸切り中」であるか否かを判断する（Ｓ２１）。ＣＰＵ３１は、操作部１０から糸切りの指示を入力して糸切り動作を実行している場合に糸切り中と判断する。糸切り中でなく、駆動状況が「低速時」であれば（Ｓ２１：ＮＯ）、ＣＰＵ３１はゲイン最大値Ｋｐの値をＫｐＬに設定する（Ｓ２３）。図４に示すように、低速時のゲイン最大値ＫｐＬは高速時のゲイン最大値ＫｐＨに比べて大きい。故に、ミシン１は、ミシンモータ１３の慣性力が小さい低速時でも安定してミシンモータ１３を駆動できる。ミシンモータ１３が抵抗を受けて回転速度が低下した場合でも、ミシンモータ１３は十分なトルクを発生する為回転速度が安定する。ミシンモータ１３の回転速度が低い為、トルク指令値Ｔを大きくしても回転変動の影響（騒音等）は小さい。
【００３３】
ＣＰＵ３１は、Ｓ１３で算出した偏差ΔＮが低速時と糸切り時の偏差基準値ＮｍａｘＬ未満であるか否かを判断する（Ｓ２４）。低速時と糸切り時の偏差基準値ＮｍａｘＬは高速時の偏差基準値ＮｍａｘＨよりも小さい。偏差ΔＮが偏差基準値ＮｍａｘＬ未満である場合（Ｓ２４：ＹＥＳ）、ＣＰＵ３１は以下の（式３）を用いて可変ゲインＫｐｖを算出する（Ｓ２５）。
Ｋｐｖ＝Ｋｐ／２＋（Ｋｐ・ΔＮ／２ＮｍａｘＬ）・・・（式３）
（式３）に示すように、可変ゲインＫｐｖの最小値はゲイン最大値Ｋｐの２分の１である。故に、低速時には高速時に比べてゲイン最大値だけでなく可変ゲインの最小値も大きい。図４に示すように、低速時の可変ゲインＫｐｖの増減割合「Ｋｐ／２ＮｍａｘＬ」は高速時の増減割合よりも大きい。
【００３４】
偏差ΔＮが低速時の偏差基準値ＮｍａｘＬ以上である場合（Ｓ２４：ＮＯ）、ＣＰＵ３１は可変ゲインＫｐｖをゲイン最大値Ｋｐ（低速時のゲイン最大値ＫｐＬ）に設定する（Ｓ２６）。処理はＳ２９へ移行する。
【００３５】
糸切り動作を実行している場合（Ｓ２１：ＹＥＳ）、ＣＰＵ３１はゲイン最大値Ｋｐの値をＫｐＴに設定する（Ｓ２２）。図４に示すように、糸切り時のゲイン最大値ＫｐＴは他のゲイン最大値に比べて最も大きい。糸切り時は、低速回転である為ミシンモータ１３の慣性力は小さく、且つ糸を切る際に抵抗を受ける。故に、ミシンモータ１３は糸切り時に強い負荷を受け、回転速度は低下し易い。ミシンモータ１３は糸切り中に十分なトルクを発生する為回転速度が安定する。糸切り中はミシンモータ１３の回転速度が低い為、トルク指令値Ｔを大きくしても回転変動の影響は小さい。
【００３６】
ＣＰＵ３１は偏差ΔＮが偏差基準値ＮｍａｘＬであるか否かを判断する（Ｓ２４）。偏差ΔＮがＮｍａｘＬ未満であれば（Ｓ２４：ＹＥＳ）、ＣＰＵ３１は上記（式３）を用いて可変ゲインＫｐｖを算出する（Ｓ２５）。図４に示すように、糸切り時の可変ゲインＫｐｖの増減割合「Ｋｐ／２ＮｍａｘＬ」は最も大きい。偏差ΔＮがＮｍａｘＬ以上であれば（Ｓ２４：ＮＯ）、ＣＰＵ３１は可変ゲインＫｐｖをゲイン最大値Ｋｐ（糸切り時のゲイン最大値ＫｐＴ）に設定する（Ｓ２６）。処理はＳ２９へ移行する。
【００３７】
ＣＰＵ３１は、Ｓ１３で算出した偏差ΔＮと、Ｓ１７、Ｓ１８、Ｓ２５、Ｓ２６で算出した可変ゲインＫｐｖを用いて、以下の（式４）によりトルク指令値Ｔを算出する（Ｓ２９）。トルク算出処理は終了する。
トルク指令値Ｔ＝可変ゲインＫｐｖ×偏差ΔＮ・・・（式４）
ＣＰＵ３１は、ミシンモータ１３の駆動処理（図示略）において、Ｓ２９で算出したトルク指令値Ｔ（電流指令値）をミシンモータ１３に出力する。
【００３８】
図５を参照し、サンプリング時間決定処理について説明する。前述したように、サンプリング時間は、エンコーダ４７が検出したミシンモータ１３の回転角位相から回転速度を算出するための時間である。回転速度は上記（式１）で求める。サンプリング時間が短ければ、ＣＰＵ３１は短い時間間隔で最新の回転速度を算出することができる。故に、ＣＰＵ３１は回転速度が急激に変化する場合でもより正確に回転速度を算出することができる。一方、エンコーダ４７が検出する回転角位相には誤差が生じる場合がある。上記（式１）に示すように、サンプリング時間が短い程誤差の影響は大きくなる為、回転速度の検出誤差は大きくなる。図５に示すサンプリング時間決定処理は回転速度に適したサンプリング時間を決定する処理である。ＣＰＵ３１は、ミシンモータ１３の回転中に所定間隔毎（例えば１ｍｓｅｃ毎）にサンプリング時間決定処理を実行する。
【００３９】
ＣＰＵ３１は前回算出した最新の回転速度の検出値Ｎを取得する（Ｓ３１）。ＣＰＵ３１は、最新の検出値Ｎが閾値である２０００ｒｐｍ以上であるか否かを判断する（Ｓ３２）。閾値の値は変更してもよい。最新の検出値Ｎが２０００ｒｐｍ以上である場合（Ｓ３２：ＹＥＳ）、ＣＰＵ３１はサンプリング時間を４ｍｓｅｃに設定する（Ｓ３３）。処理は終了する。一方、最新の検出値Ｎが２０００ｒｐｍ未満である場合（Ｓ３２：ＮＯ）、ＣＰＵ３１はサンプリング時間を２ｍｓｅｃに設定する（Ｓ３４）。処理は終了する。
【００４０】
ミシンモータ１３の回転速度の検出誤差は、ミシンモータ１３の回転速度が大きい程増加する。例えば、誤差範囲が１％であると仮定すると、回転速度が５００ｒｐｍ（低速時）の場合の検出誤差は僅か５ｒｐｍとなるが、回転速度が５０００ｒｐｍ（高速時）の場合の検出誤差は５０ｒｐｍとなる。ＣＰＵ３１は、検出値Ｎが閾値（２０００ｒｐｍ）以上である場合には閾値未満である場合よりも長いサンプリング時間を設定する。長いサンプリング時間を設定すると回転角位相の検出誤差は平均化し、回転速度の検出誤差は減少する。故に、ＣＰＵ３１は回転速度が大きい場合でもより正確に回転速度を検出できる。ＣＰＵ３１は、検出誤差が小さい場合（回転速度が小さい場合）には短いサンプリング時間を設定する。故に、ＣＰＵ３１は、慣性力が小さく負荷の影響を受けやすい低速時に、短い時間間隔で最新の回転速度を算出できる。
【００４１】
図６を参照し、偏差ΔＮと可変ゲインＫｐｖの関係について説明する。ミシン１は、偏差ΔＮが偏差基準値（ＮｍａｘＨ、ＮｍａｘＬ）未満である場合に、偏差ΔＮの増減に従って可変ゲインＫｐｖを増減できる。詳細には、ミシン１はミシンモータ１３の負荷が増大すれば可変ゲインＫｐｖを増加してトルク指令値Ｔを増加できる。ミシン１はミシンモータ１３の負荷が減少すれば可変ゲインＫｐｖを減少して回転変動の増加を防止できる。故に、ミシン１はモータの負荷変動に追従できる。
【００４２】
ミシン１は駆動状況（高速時、低速時、糸切り時）に応じて可変ゲインＫｐｖの増減割合を増減する。ミシンモータ１３の回転速度の検出誤差は回転速度が大きい程増加する。可変ゲインＫｐｖの増減割合を高く設定した場合に検出誤差が増大すると、可変ゲインＫｐｖは大幅に変化する。可変ゲインＫｐｖが大幅に変化するとトルク指令値Ｔは大幅に変化し、ミシンモータ１３の電流波形が乱れる問題が生じる。一方、可変ゲインＫｐｖの増減割合を低く設定すると、ミシン１はミシンモータ１３に掛かる負荷の影響が大きい場合にミシンモータ１３の負荷変動に十分追従できない。ミシン１は負荷変動に十分追従できなければミシンモータ１３の停止等の不具合を生じる場合がある。本実施形態のミシン１は、駆動状況に応じて可変ゲインＫｐｖの増減割合を増減することで、駆動状況に応じて適切に可変ゲインＫｐｖを変更でき、上記問題の発生を抑制できる。
【００４３】
詳細には、ミシン１は高速時には低い割合で可変ゲインＫｐｖを増減する。故に、ミシン１は検出誤差の影響でトルク指令値Ｔが大幅に変動して電流波形が乱れる可能性を下げることができる。一方、回転速度が小さければ慣性力は小さくなり、負荷が掛かる時間も長くなる為、ミシンモータ１３への負荷は駆動に大きく影響する。ミシン１は低速時には高い割合で可変ゲインＫｐｖを増減する。故に、ミシン１は負荷が大きく影響する低速時でも十分に負荷変動に追従できる。ミシン１は、回転速度の指令値Ｓが閾値未満であるか否かを判断するだけで、適切な可変ゲインＫｐｖの増減割合を容易に設定できる。ミシンモータ１３は糸切り時に特に強い負荷を受ける為、回転速度は低下し易い。ミシン１は糸切り時に最も高い割合で可変ゲインＫｐｖを増減する。故に、ミシン１は糸切り時でも十分に負荷変動に追従できる。
【００４４】
尚、ミシン１は指令値Ｓが２０００ｒｐｍ以上であれば回転速度の検出のサンプリング時間を長くする。前述したように、サンプリング時間が長くなれば検出誤差は平均化して減少する。故に、ミシン１は、可変ゲインＫｐｖの増減割合を低くして検出誤差の影響を減少することに加え、検出誤差自体を減少することができ、電流波形が乱れる可能性を更に下げることができる。
【００４５】
上記実施形態においてミシンモータ１３は本発明の「主軸を回転するモータ」に相当する。針棒７、糸切り機構１８は駆動部に相当する。図３のＳ１１で指令値Ｓを取得するＣＰＵ３１は指令値取得部として機能する。エンコーダ４７は検出部に相当する。図３のＳ１２で回転速度の検出値Ｎを取得するＣＰＵ３１は検出値取得部として機能する。図３のＳ１３で偏差ΔＮを算出するＣＰＵ３１は偏差算出部として機能する。図３のＳ２９でトルク指令値Ｔを算出するＣＰＵ３１はトルク算出部として機能する。Ｓ３のＳ１４〜Ｓ１７、Ｓ２１〜Ｓ２５で可変ゲインＫｐｖを増減するＣＰＵ３１はゲイン値決定部として機能する。
【００４６】
図３のＳ１１で指令値Ｓを取得する処理は指令値取得ステップに相当する。図３のＳ１２で回転速度の検出値Ｎを取得する処理は検出値取得ステップに相当する。図３のＳ１３で偏差ΔＮを算出する処理は偏差算出ステップに相当する。図３のＳ２９でトルク指令値Ｔを算出する処理はトルク算出ステップに相当する。Ｓ３のＳ１４〜Ｓ１７、Ｓ２１〜Ｓ２５で可変ゲインＫｐｖを増減する処理はゲイン値決定ステップに相当する。
【００４７】
上記実施形態は様々な変形が可能である。上記実施形態のミシン１は、偏差ΔＮに比例するように可変ゲインＫｐｖを増減する。しかし、可変ゲインＫｐｖの増減方法は変更できる。例えば、ミシン１は、図７に例示する可変ゲイン決定テーブルを備えてもよい。図７の可変ゲイン決定テーブルは、偏差ΔＮが増加した場合に、可変ゲインＫｐｖが増加前の値以上となるように、偏差ΔＮの範囲と可変ゲインＫｐｖの値を対応付ける。可変ゲイン決定テーブルは、高速時、低速時、糸切り時のテーブルを備える。ミシン１のＣＰＵ３１は可変ゲイン決定テーブルにおいて偏差ΔＮに対応している値を可変ゲインＫｐｖに設定してもよい。以上のように、ミシン１はテーブルを用いて可変ゲインＫｐｖを増減してもよい。可変ゲインＫｐｖと偏差ΔＮは比例する必要は無い。可変ゲインＫｐｖは、偏差ΔＮが増加した場合に増加前の値以上となればよい。
【００４８】
（式２）（式３）は変更してもよい。例えば、可変ゲインＫｐｖの最低値であるＫｐ／２は変更してもよい。ゲイン最大値であるＫｐＨ、ＫｐＬ、ＫｐＴの値は操作部１０を操作することで変更できてもよいが、「ＫｐＨ＜ＫｐＬ＜ＫｐＴ」の関係を保つことが望ましい。同様に、偏差基準値は「ＮｍａｘＬ＜ＮｍａｘＨ」の条件下で変更できてもよい。低速時の偏差基準値と糸切り時の偏差基準値は別々に設けてもよい。
【００４９】
上記実施形態のミシン１は指令値Ｓが閾値未満であるか否かに応じて低速時か高速時かを判断する。つまり、ミシン１は回転速度の指令値Ｓに応じて２つの増減割合を使い分ける。しかし、増減割合は指令値Ｓに応じて３つ以上定めても良い。増減割合は指令値Ｓに比例して変化してもよい。以上のように、ミシン１は、指令値Ｓが増加した場合に増加前の増減割合以下の増減割合を用いればよい。
【００５０】
上記実施形態のミシンは指令値Ｓ、駆動状態（糸切り動作中であるか否か）の２つに応じて増減割合を決定する。しかし、ミシン１は指令値Ｓ、駆動状態の一方のみに応じて増減割合を決定してもよい。ミシン１は糸切り動作以外の駆動状態に応じて増減割合を決定してもよい。例えば、ミシン１は加工布の厚み、種類等の入力を作業者に要求し、入力結果からミシンモータ１３に加わる負荷を判断してもよい。ミシン１は、判断した負荷に応じて駆動状態（負荷が大きい駆動状態であるか否か）を判断し、負荷が大きい程可変ゲインＫｐｖの増減割合を大きくしてもよい。
【００５１】
ミシンモータ１３の回転速度のサンプリング時間は２種類以上設けてもよい。ミシン１は回転速度に比例してサンプリング時間を長くしてもよい。つまり、ミシン１は、指令値Ｓが増加した場合に増加前のサンプリング時間以上のサンプリング時間を設定すればよい。図３のＳ１４の判断とＳ２１の判断の順番は入れ替えてもよい。
【符号の説明】
【００５２】
１    ミシン
７    針棒
１０    操作部
１３    ミシンモータ
１４    主軸
１８    糸切り機構
２２    ペダル
３０    制御装置
３１    ＣＰＵ
３２    ＲＯＭ
４７    エンコーダ
【図１】
2012191709.tif 000003
【図２】
2012191709.tif 000004
【図３】
2012191709.tif 000005
【図４】
2012191709.tif 000006
【図５】
2012191709.tif 000007
【図６】
2012191709.tif 000008
【図７】
2012191709.tif 000009