(57)【要約】【課題】布送りモータの回動方向の切替頻度を減らし、且つ主軸の駆動と布送り機構の駆動の同期を保持することができるミシン及びミシンの制御方法を提供する。【解決手段】ミシンは、縫針を上下動する主軸を駆動するメインモータと、布を送る布送り機構を駆動する布送りモータを備える。ミシンが備える動力伝達機構は、布送りモータの出力軸の一方向及び逆方向への夫々の回動動作を、布送り機構が水平に一往復揺動する揺動運動に変換して、布送りモータの動力を布送り機構に伝達する。ミシンのＣＰＵは、メインモータの出力軸の回転角である主回転角を検出する（Ｓ１１）。ＣＰＵは布送りモータの出力軸の回転角である布送り回転角を検出する（Ｓ１３、Ｓ１９）。ＣＰＵは、布送りモータに指示する回転速度を、主回転角と布送り回転角を用いて算出する（Ｓ１６、Ｓ２２）。【選択図】図９
2013022362.tif 000002
【特許請求の範囲】
【請求項１】
主出力軸を有し、前記主出力軸を回動することで、縫針を上下動する主軸を駆動するメインモータと、
布送り出力軸を有し、前記布送り出力軸を所定角度の範囲で回動する布送りモータと、
布を水平方向に送る布送り機構とを備えたミシンにおいて、
前記布送り出力軸の一方向及び逆方向への夫々の回動動作を、前記布送り機構が水平に一往復揺動する揺動運動に変換して、前記布送りモータの動力を前記布送り機構に伝達する動力伝達機構と、
前記主出力軸の回転角である主回転角を検出する主回転角検出部と、
前記布送り出力軸の回転角である布送り回転角を検出する布送り回転角検出部と、
前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する速度算出部と、
前記速度算出部が算出した前記回転速度で前記布送りモータを駆動制御し、前記動力伝達機構を介して前記布送り機構を揺動する駆動制御部と
を備えるミシン。
【請求項２】
前記動力伝達機構が、前記布送り出力軸の一方向及び逆方向への夫々一回の回動動作を、前記布送り機構の一往復の揺動運動に変換する期間のうち、前記布送り機構の揺動方向が反転する前の期間である反転前期間、及び反転した後の期間である反転後期間の何れであるかを判断する期間判断部と、
前記期間判断部が前記反転後期間であると判断した場合に、前記速度算出部が算出した前記回転速度の速度変化の変化量が閾値より大きいか否かを判断する変化量判断部と、
前記変化量が前記閾値より大きいと前記変化量判断部が判断した場合に、前記変化量が前記閾値以下となる回転速度を算出し、前記布送りモータの速度変化後の回転速度に設定する変化量制限部と
を更に備える請求項１に記載のミシン。
【請求項３】
前記速度算出部は、
前記期間判断部が前記反転前期間であると判断した場合に、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転前速度算出部と、
前記期間判断部が前記反転後期間であると判断した場合に、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転後速度算出部と
を備える請求項２に記載のミシン。
【請求項４】
主回転角に対応して前記布送り出力軸が位置すべき目標回転角を、前記主回転角検出部が検出した前記主回転角から設定する布送り目標角設定部と、
前記布送り目標角設定部が設定した前記目標回転角と、前記布送り回転角検出部が検出した前記布送り回転角の偏差を算出する布送り偏差算出部とを更に備え、
前記速度算出部は前記偏差に基づいて前記回転速度を算出する第一速度算出部を備える請求項１から３の何れか一つに記載のミシン。
【請求項５】
布送り回転角に対応して前記主出力軸が位置すべき目標回転角を、前記布送り回転角検出部が検出した前記布送り回転角から設定する主目標角設定部と、
前記主目標角設定部が設定した前記目標回転角と、前記主回転角検出部が検出した前記主回転角の偏差を算出する主偏差算出部とを更に備え、
前記速度算出部は前記偏差に基づいて前記回転速度を算出する第一速度算出部を備える請求項１から３の何れか一つに記載のミシン。
【請求項６】
前記布送り機構が揺動方向の反転位置に次回達する時点で前記主出力軸が位置すべき主回転角である反転角を取得する反転角取得部と、
前記反転角取得部が取得した前記反転角と前記主回転角検出部が検出した前記主回転角とに基づいて、前記主出力軸が前記反転角に達するまでの残り回転角を算出する主回転角残量算出部と、
前記メインモータの回転速度である主回転速度を取得する速度取得部と、
前記主回転角残量算出部が算出した前記残り回転角と、前記速度取得部が取得した前記主回転速度とに基づいて、前記主出力軸が前記反転角に達するまでの所要時間を算出する時間算出部と、
前記布送り回転角検出部が検出した前記布送り回転角から、前記布送り機構が前記反転位置に達するまでの前記布送りモータの残り回転角を算出する布送り回転角残量算出部とを更に備え、
前記速度算出部は、前記布送り回転角残量算出部が算出した前記残り回転角を前記時間算出部が算出した前記所要時間で前記布送りモータが回動する為に必要な前記回転速度を算出する第二速度算出部を備える請求項１から３の何れか一つに記載のミシン。
【請求項７】
前記布送り機構が揺動方向の反転位置に次回達する時点で前記主出力軸が位置すべき主回転角である反転角を取得する反転角取得部と、
前記反転角取得部が取得した前記反転角と前記主回転角検出部が検出した前記主回転角とに基づいて、前記主出力軸が前記反転角に達するまでの残り回転角を算出する主回転角残量算出部と、
前記メインモータの回転速度である主回転速度を取得する速度取得部と、
前記主回転角残量算出部が算出した前記残り回転角と、前記速度取得部が取得した前記主回転速度とに基づいて、前記主出力軸が前記反転角に達するまでの所要時間を算出する時間算出部と、
前記布送り回転角検出部が検出した前記布送り回転角から、前記布送り機構が前記反転位置に達するまでの前記布送りモータの残り回転角を算出する布送り回転角残量算出部とを更に備え、
前記速度算出部は、前記布送り回転角残量算出部が算出した前記残り回転角を前記時間算出部が算出した前記所要時間で前記布送りモータが回動する為に必要な前記回転速度を算出する第二速度算出部を更に備え、
前記駆動制御部は、
前記速度取得部が取得した前記主回転速度が所定値以下であるか否かを判断する速度判断部と、
前記主回転速度が前記所定値以下であると前記速度判断部が判断した場合に、前記第一速度算出部が算出した前記回転速度で前記布送りモータを駆動する低速時駆動部と、
前記主回転速度が前記所定値よりも大きいと前記速度判断部が判断した場合に、少なくとも前記第二速度算出部が算出した前記回転速度に基づいて前記布送りモータを駆動する高速時駆動部と
を更に備える請求項４又は５に記載のミシン。
【請求項８】
前記速度算出部は、
前記布送りモータに指示する回転速度を、前記第一速度算出部が算出した前記回転速度と前記第二速度算出部が算出した前記回転速度とから、特定の比率により算出する第三速度算出部を更に備え、
前記第三速度算出部は、前記主回転速度に応じて前記特定の比率を変えて前記布送りモータを駆動する回転速度を算出し、
前記高速時駆動部は、前記主回転速度が前記所定値よりも大きいと前記速度判断部が判断した場合に、前記第三速度算出部が算出した回転速度で前記布送りモータを駆動する請求項７に記載のミシン。
【請求項９】
前記布送り機構における布送りの終端位置を設定可能な設定部を更に備える請求項１から８の何れか一つに記載のミシン。
【請求項１０】
主出力軸を有し、前記主出力軸を回動することで、縫針を上下動する主軸を駆動するメインモータと、
布送り出力軸を有し、前記布送り出力軸を所定角度の範囲で回動する布送りモータと、
布を水平方向に送る布送り機構と、
前記布送りモータの動力を前記布送り機構に伝達する動力伝達機構と
を備えるミシンが実行するミシンの制御方法において、
前記主出力軸の回転角である主回転角を検出する主回転角検出ステップと、
前記布送り出力軸の回転角である布送り回転角を検出する布送り回転角検出ステップと、
前記動力伝達機構が、前記布送り出力軸の一方向及び逆方向への夫々の回動動作を、前記布送り機構の水平方向における一往復の揺動運動に変換する期間のうち、前記布送り機構の水平の揺動方向が反転する前の期間である反転前期間、及び反転した後の期間である反転後期間の何れであるかを判断する期間判断ステップと、
前記期間判断ステップで前記反転前期間であると判断した場合に、前記主回転角検出ステップで検出した前記主回転角と、前記布送り回転角検出ステップで検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転前速度算出ステップと、
前記期間判断ステップで前記反転後期間であると判断した場合に、前記主回転角検出ステップで検出した前記主回転角と、前記布送り回転角検出ステップで検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転後速度算出ステップと
を含むミシンの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主軸と布送り機構を別のモータで駆動するミシン及びミシンの制御方法に関する。
【背景技術】
【０００２】
主軸と布送り機構を別のモータで駆動するミシンがある。該ミシンは布送り量を自由に制御することができる為、種々の模様を容易に縫製できる。特許文献１が開示するミシンは、ステップモータである布送りモータの出力軸に送り歯を連結する。布送りモータが出力軸を所定角度の範囲で一往復すると、送り歯は水平方向に一往復する。
【０００３】
主軸と布送り機構を別のモータで駆動する場合、ミシンは主軸の駆動と布送り機構の駆動の同期を保つ必要がある。特許文献２が開示するミシンは、主軸の回転速度と回転位相に基づいて、布送りを開始するタイミングを決定する。更に、該ミシンは、布送りを開始するタイミングを布送り量と主軸の加速度に基づいて補正する。故に、布送りは適切なタイミングで開始し、縫針と布が接触するまでに終了する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭５４−９２４４４号公報
【特許文献２】特開平５−２２８２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のミシンは、送り歯が水平方向に一往復する毎に布送りモータの出力軸を所定角度の範囲で一往復する。故に、布送りモータの回動方向を頻繁に切り替えなければならず、布送りモータにかかる負荷は大きい。更に、従来のミシンでは、布送り動作の途中で作業者がペダル等を操作して主軸の回転速度を変える場合、布送りの速度は主軸の回転速度の変化に追従できず主軸の駆動と布送り機構の駆動の同期がずれる。主軸の駆動と布送り機構の駆動の同期がずれると、縫製の品質は悪化する。故に、従来のミシンは、布送りモータの回動方向の切替頻度を減らし、且つ主軸の駆動と布送り機構の駆動の同期を保持することはできなかった。
【０００６】
本発明の目的は、布送りモータの回動方向の切替頻度を減らし、且つ主軸の駆動と布送り機構の駆動の同期を保持することができるミシン及びミシンの制御方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の第一態様のミシンは、主出力軸を有し、前記主出力軸を回動することで、縫針を上下動する主軸を駆動するメインモータと、布送り出力軸を有し、前記布送り出力軸を所定角度の範囲で回動する布送りモータと、布を水平方向に送る布送り機構とを備えたミシンにおいて、前記布送り出力軸の一方向及び逆方向への夫々の回動動作を、前記布送り機構が水平に一往復揺動する揺動運動に変換して、前記布送りモータの動力を前記布送り機構に伝達する動力伝達機構と、前記主出力軸の回転角である主回転角を検出する主回転角検出部と、前記布送り出力軸の回転角である布送り回転角を検出する布送り回転角検出部と、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する速度算出部と、前記速度算出部が算出した前記回転速度で前記布送りモータを駆動制御し、前記動力伝達機構を介して前記布送り機構を揺動する駆動制御部とを備える。
【０００８】
第一態様のミシンは、布送り出力軸を一往復回動する毎に、布送り機構を水平に二往復駆動できる。布送り出力軸を一往復回動する毎に布送り機構を一往復駆動する場合に比べて、布送りモータの回動方向の切替頻度は減少する。故に、布送りモータにかかる負荷は減少する。該ミシンは、主回転角と布送り回転角を用いて回転速度を算出することで、主軸の駆動と布送り機構の駆動の同期を保持できる。即ち、該ミシンは、布送りモータの回動方向の切替頻度を減らし、且つ主軸の駆動と布送り機構の駆動の同期を適切に保持することができる。
【０００９】
前記ミシンは、前記動力伝達機構が、前記布送り出力軸の一方向及び逆方向への夫々一回の回動動作を、前記布送り機構の一往復の揺動運動に変換する期間のうち、前記布送り機構の揺動方向が反転する前の期間である反転前期間、及び反転した後の期間である反転後期間の何れであるかを判断する期間判断部と、前記期間判断部が前記反転後期間であると判断した場合に、前記速度算出部が算出した前記回転速度の速度変化の変化量が閾値より大きいか否かを判断する変化量判断部と、前記変化量が前記閾値より大きいと前記変化量判断部が判断した場合に、前記変化量が前記閾値以下となる回転速度を算出し、前記布送りモータの速度変化後の回転速度に設定する変化量制限部とを更に備えてもよい。本発明では、布送り機構の揺動方向は、布送り出力軸が一方向及び逆方向の夫々の回動動作を高速で行っている途中で反転する。故に、速度算出部は布送り機構の揺動方向の反転前後で大きく異なる速度を算出する場合がある。布送りモータは、回動中に急激な速度変化が生じると大きな負荷を受ける。本発明のミシンは、回転速度の変化量が閾値以下となるように、布送りモータの回転速度を設定することができる。故に、該ミシンは、急激な回転速度の変化により布送りモータに大きな負荷がかかることを防止できる。
【００１０】
前記速度算出部は、前記期間判断部が前記反転前期間であると判断した場合に、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転前速度算出部と、前記期間判断部が前記反転後期間であると判断した場合に、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転後速度算出部とを備えてもよい。該ミシンは、布送り機構の揺動方向が反転する前後で別々に、主回転角と布送り回転角を用いて布送りモータの回転速度を算出する。故に、該ミシンは、布送り機構の揺動方向が反転する前後の各々の状況（布送り量、布送りのタイミング等）に応じた適切な回転速度を算出して２つのモータの同期を保持できる。該ミシンは、布送り機構の往路、復路で共に２つのモータの同期を保持する為、より確実に２つのモータの同期を保持できる。
【００１１】
前記ミシンは、主回転角に対応して前記布送り出力軸が位置すべき目標回転角を、前記主回転角検出部が検出した前記主回転角から設定する布送り目標角設定部と、前記布送り目標角設定部が設定した前記目標回転角と、前記布送り回転角検出部が検出した前記布送り回転角の偏差を算出する布送り偏差算出部とを更に備えてもよい。前記速度算出部は前記偏差に基づいて前記回転速度を算出する第一速度算出部を備えてもよい。この場合、主軸の回転速度が変化しても、布送りモータはメインモータとの同期を保って回動する。故に、該ミシンは、縫製の速度が変化しても、主軸の駆動と布送り機構の駆動の同期を適切に保持できる。特に、該ミシンはメインモータが停止した場合又は作業者が手動で主軸を回動した場合でも適切に布送りモータとメインモータの同期を保つことができる。
【００１２】
前記ミシンは、布送り回転角に対応して前記主出力軸が位置すべき目標回転角を、前記布送り回転角検出部が検出した前記布送り回転角から設定する主目標角設定部と、前記主目標角設定部が設定した前記目標回転角と、前記主回転角検出部が検出した前記主回転角の偏差を算出する主偏差算出部とを更に備えてもよい。前記速度算出部は前記偏差に基づいて前記回転速度を算出する第一速度算出部を備えてもよい。この場合、主軸の回転速度が変化した場合でも、布送りモータはメインモータとの同期を保って回動する。故に、該ミシンは、縫製の速度が変化しても、主軸の駆動と布送り機構の駆動の同期を適切に保持できる。特に、該ミシンはメインモータが停止した場合又は作業者が手動で主軸を回動した場合でも適切に布送りモータとメインモータの同期を保つことができる。
【００１３】
前記ミシンは、前記布送り機構が揺動方向の反転位置に次回達する時点で前記主出力軸が位置すべき主回転角である反転角を取得する反転角取得部と、前記反転角取得部が取得した前記反転角と前記主回転角検出部が検出した前記主回転角とに基づいて、前記主出力軸が前記反転角に達するまでの残り回転角を算出する主回転角残量算出部と、前記メインモータの回転速度である主回転速度を取得する速度取得部と、前記主回転角残量算出部が算出した前記残り回転角と、前記速度取得部が取得した前記主回転速度とに基づいて、前記主出力軸が前記反転角に達するまでの所要時間を算出する時間算出部と、前記布送り回転角検出部が検出した前記布送り回転角から、前記布送り機構が前記反転位置に達するまでの前記布送りモータの残り回転角を算出する布送り回転角残量算出部とを更に備えてもよい。前記速度算出部は、前記布送り回転角残量算出部が算出した前記残り回転角を前記時間算出部が算出した前記所要時間で前記布送りモータが回動する為に必要な前記回転速度を算出する第二速度算出部を備えてもよい。この場合、布送り機構が反転位置に達する時点は、メインモータの出力軸が反転角に達する時点に一致する。故に、ミシンは、縫製の速度が変化しても、主軸の駆動と布送り機構の駆動の同期を適切に保持できる。特に、主軸の速度が増大している場合でも、該ミシンは２つのモータの同期を正確に保つことができる。
【００１４】
前記ミシンは、前記布送り機構が揺動方向の反転位置に次回達する時点で前記主出力軸が位置すべき主回転角である反転角を取得する反転角取得部と、前記反転角取得部が取得した前記反転角と前記主回転角検出部が検出した前記主回転角とに基づいて、前記主出力軸が前記反転角に達するまでの残り回転角を算出する主回転角残量算出部と、前記メインモータの回転速度である主回転速度を取得する速度取得部と、前記主回転角残量算出部が算出した前記残り回転角と、前記速度取得部が取得した前記主回転速度とに基づいて、前記主出力軸が前記反転角に達するまでの所要時間を算出する時間算出部と、前記布送り回転角検出部が検出した前記布送り回転角から、前記布送り機構が前記反転位置に達するまでの前記布送りモータの残り回転角を算出する布送り回転角残量算出部とを更に備えてもよい。前記速度算出部は、前記布送り回転角残量算出部が算出した前記残り回転角を前記時間算出部が算出した前記所要時間で前記布送りモータが回動する為に必要な前記回転速度を算出する第二速度算出部を更に備えてもよい。前記駆動制御部は、前記速度取得部が取得した前記主回転速度が所定値以下であるか否かを判断する速度判断部と、前記主回転速度が前記所定値以下であると前記速度判断部が判断した場合に、前記第一速度算出部が算出した前記回転速度で前記布送りモータを駆動する低速時駆動部と、前記主回転速度が前記所定値よりも大きいと前記速度判断部が判断した場合に、少なくとも前記第二速度算出部が算出した前記回転速度に基づいて前記布送りモータを駆動する高速時駆動部とを更に備えてもよい。
【００１５】
該ミシンは、出力軸が位置すべき回転角と、該出力軸が実際に位置する回転角の偏差に応じて、布送りモータの回転速度（第一速度）を算出できる。更に、ミシンはメインモータの回転速度に基づいて布送りモータの回転速度（第二速度）を算出できる。第一速度によれば、ミシンはメインモータが停止した場合又は作業者が手動で主軸を回動した場合でも適切に布送りモータとメインモータの同期を保つことができる。第二速度を考慮すれば、主軸の速度が増大している場合でも、ミシンは２つのモータの同期を正確に保つことができる。ミシンは、メインモータの回転速度に応じて布送りモータの制御方法を変えることで、より適切に布送り機構を駆動することができる。
【００１６】
前記速度算出部は、前記布送りモータに指示する回転速度を、前記第一速度算出部が算出した前記回転速度と前記第二速度算出部が算出した前記回転速度とから、特定の比率により算出する第三速度算出部を更に備えてもよい。前記第三速度算出部は、前記主回転速度に応じて前記特定の比率を変えて前記布送りモータを駆動する回転速度を算出してもよい。前記高速時駆動部は、前記主回転速度が前記所定値よりも大きいと前記速度判断部が判断した場合に、前記第三速度算出部が算出した回転速度で前記布送りモータを駆動してもよい。該ミシンは、低速時に適した第一速度と高速時に適した第二速度との比率を主回転速度に応じて変えて、布送りモータの回転速度を算出することができる。故に、メインモータの回転速度に更に適した回転速度で布送りモータを駆動することができる。
【００１７】
前記ミシンは、前記布送り機構における布送りの終端位置を設定可能な設定部を更に備えてもよい。作業者は布送り量を自由に設定できる。ミシンは、作業者が設定した布送り量に応じて布送り機構の動作を適切に制御できる。
【００１８】
本発明の第二態様に係るミシンの制御方法は、主出力軸を有し、前記主出力軸を回動することで、縫針を上下動する主軸を駆動するメインモータと、布送り出力軸を有し、前記布送り出力軸を所定角度の範囲で回動する布送りモータと、布を水平方向に送る布送り機構と、前記布送りモータの動力を前記布送り機構に伝達する動力伝達機構とを備えるミシンが実行するミシンの制御方法において、前記主出力軸の回転角である主回転角を検出する主回転角検出ステップと、前記布送り出力軸の回転角である布送り回転角を検出する布送り回転角検出ステップと、前記動力伝達機構が、前記布送り出力軸の一方向及び逆方向への夫々の回動動作を、前記布送り機構の水平方向における一往復の揺動運動に変換する期間のうち、前記布送り機構の水平の揺動方向が反転する前の期間である反転前期間、及び反転した後の期間である反転後期間の何れであるかを判断する期間判断ステップと、前記期間判断ステップで前記反転前期間であると判断した場合に、前記主回転角検出ステップで検出した前記主回転角と、前記布送り回転角検出ステップで検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転前速度算出ステップと、前記期間判断ステップで前記反転後期間であると判断した場合に、前記主回転角検出ステップで検出した前記主回転角と、前記布送り回転角検出ステップで検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転後速度算出ステップとを含む。
【００１９】
第二態様のミシンの制御方法によると、ミシンは布送り出力軸を一往復回動する毎に、布送り機構を水平に二往復駆動できる。布送り出力軸を一往復回動する毎に布送り機構を一往復駆動する場合に比べて、布送りモータの回動方向の切替頻度は減少する。故に、布送りモータにかかる負荷は減少する。該ミシンは、布送り機構の揺動方向が反転する前後で別々に、主回転角と布送り回転角を用いて布送りモータの回転速度を算出する。故に、該ミシンは、布送り機構の揺動方向が反転する前後の各々の状況（布送り量、布送りのタイミング等）に応じた適切な回転速度を算出できる。該ミシンは、主回転角と布送り回転角を用いて回転速度を算出することで、主軸の駆動と布送り機構の駆動の同期を保持できる。即ち、該ミシンは、布送りモータの回動方向の切替頻度を減らし、且つ主軸の駆動と布送り機構の駆動の同期を適切に保持することができる。
【図面の簡単な説明】
【００２０】
【図１】ミシン１の斜視図。
【図２】縫針８及び針板１５近傍の拡大斜視図。
【図３】布送りモータ２３、布送り機構３２、動力伝達機構３５を左斜め後方から見た斜視図。
【図４】布送り出力軸２４が回動範囲の中間位置にある状態の布送りモータ２３、布送り機構３２、動力伝達機構３５の斜視図。
【図５】布送り出力軸２４が回動範囲の前端にある状態の布送りモータ２３、布送り機構３２、動力伝達機構３５の斜視図。
【図６】布送り出力軸２４（図３〜図５参照）が回動範囲の後端にある状態の布送りモータ２３、布送り機構３２、動力伝達機構３５の斜視図。
【図７】ミシン１の電気的構成を示すブロック図。
【図８】ミシン１が実行する布送り量設定処理のフローチャート。
【図９】第一実施形態のミシン１が実行する第一速度制御処理のフローチャート。
【図１０】ミシン１が実行する動作確認処理のフローチャート。
【図１１】第二実施形態のミシン１が実行する第二速度制御処理のフローチャート。
【図１２】第三実施形態のミシン１が実行する第三速度制御処理のフローチャート。
【図１３】第四実施形態のミシン１が実行する第四速度制御処理のフローチャート。
【図１４】第四速度制御処理中に実行する第一速度算出処理のフローチャート。
【図１５】第四速度制御処理中に実行する第二速度算出処理のフローチャート。
【発明を実施するための形態】
【００２１】
以下、本発明の第一実施形態について図面を参照して説明する。図１〜図６を参照しミシン１の構成について説明する。図１の紙面上側、下側、右側、左側、表側、背面側は夫々ミシン１の上側、下側、右側、左側、前側、後側である。
【００２２】
ミシン１はベッド部２、脚柱部３、アーム部４を備える。ベッド部２はミシン１の土台となる。ベッド部２はテーブル２０上面の凹部（図示略）に上方から装着する。脚柱部３はベッド部２右端から鉛直上方に延びる。アーム部４は脚柱部３上端から左方に延びる。アーム部４はベッド部２上面に対向する。アーム部４は左端部下方に押え足１７を装着する。アーム部４は内部に針棒７を保持する。針棒７は下端に縫針８（図２参照）を装着する。針棒７と縫針８はメインモータ１３の駆動に従って上下に往復移動する。アーム部４は左端部前方に天秤９を備える。天秤９は針棒７に連動して上下動する。アーム部４は上部に操作部１０を備える。操作部１０は前面に液晶パネル１１を備える。作業者は液晶パネル１１を見ながら操作部１０を操作し各種指示をミシン１に入力する。
【００２３】
ミシン１はテーブル２０下面に制御装置３０を備える。制御装置３０はロッド２１を介して踏み込み式のペダル２２に接続する。作業者はペダル２２をつま先側又は踵側に操作する。制御装置３０はペダル２２の操作方向と操作量に応じてミシン１の動作を制御する。
【００２４】
脚柱部３は右側面上部にメインモータ１３を備える。アーム部４は内部に主軸１４を備える。主軸１４は回転可能な状態でアーム部４内部を左右方向に延びる。主軸１４の右端はメインモータ１３に接続する。主軸１４の左端は針棒上下動機構（図示略）に接続する。メインモータ１３は主軸１４を駆動して針棒７と天秤９を上下動する。
【００２５】
図２に示すように、ベッド部２は上面左端に針板１５を備える。針板１５は略中央部に針穴１８を有する。縫針８の下端は下降時に針穴１８を通過する。針板１５は針穴１８の左方、後方、右方の夫々に送り歯穴１９を備える。送り歯穴１９は前後方向に長い長方形状の穴である。ベッド部２は針板１５の下方に釜機構（図示略）、布送りモータ２３（図３〜図７参照）、布送り機構３２（図３〜図６参照）、動力伝達機構３５（図３〜図６参照）を備える。
【００２６】
図３を参照し布送りモータ２３、布送り機構３２、動力伝達機構３５について説明する。図３の紙面上側、下側、左奥側、右手前側、右奥側、左手前側は夫々ミシン１の上側、下側、右側、左側、前側、後側である。図３に示すように、布送りモータ２３は布送り機構３２の右方に配置してある。布送りモータ２３の布送り出力軸２４はモータ本体から左方に延びる。布送りモータ２３はステップモータであり、布送り出力軸２４を所定角度の範囲で回動することができる。布送りモータ２３は布送り機構３２を前後方向に移動する。
【００２７】
布送り機構３２は送り台３４、送り歯３３を備える。送り台３４は針板１５（図２参照）の下方に位置し且つ針板１５に対し平行である。送り台３４は上面の中心近傍に送り歯３３を備える。送り歯３３は送り歯穴１９（図２参照）の位置に対応する。送り歯３３は前後方向に長い。送り歯３３の前後方向の長さは送り歯穴１９の長さより短い。送り歯３３は押え足１７（図２参照）との間で布を挟む為の凹凸を上部に備える。
【００２８】
動力伝達機構３５は、水平送り軸３６、第一腕部３７、作用腕部３８、第二腕部３９、接続部４０を備える。水平送り軸３６は布送りモータ２３の左上方に回動可能に保持してある。水平送り軸３６は左右方向に延びる。第一腕部３７は布送り出力軸２４に直交して連結する。作用腕部３８は水平送り軸３６の右端近傍に直交して連結する。水平送り軸３６は作用腕部３８の回動に伴って回動する。第二腕部３９は、第一腕部３７の先端と作用腕部３８の先端の各々に回動可能な状態で連結する。接続部４０は水平送り軸３６の左端近傍から上方へ延びる。接続部４０は、布送り機構３２の送り台３４の前端部に回動可能に連結する。
【００２９】
図４〜図６を参照し動力伝達機構３５の作用について説明する。以下の説明では、布送り出力軸２４の軸心をＬ、第一腕部３７と第二腕部３９の連結軸の軸心をＭ、第二腕部３９と作用腕部３８の連結軸の軸心をＮとする。図４〜図６のＷ１〜Ｗ３の各々は、送り歯３３の近傍を示す。前述のように、布送りモータ２３は布送り出力軸２４を所定角度の範囲で回動することができる。図４に示すように、布送り出力軸２４は布送りを開始する時点で回動範囲の中間位置に位置している。布送り出力軸２４が回動範囲の中間位置に位置している場合、側面視において、ＬとＭを結ぶ直線（直線ＬＭ）とＭとＮを結ぶ直線（直線ＭＮ）は上下方向に一直線になる。故に、作用腕部３８の先端部（第二腕部３９に連結する部分）は可動範囲の上端に位置する。作用腕部３８の先端部が上端に位置すると、接続部４０の上端部は可動範囲の前端（図４の右側の端部）に位置する。故に、布送り機構３２は可動範囲の前端に位置する。
【００３０】
布送り出力軸２４が図４の状態から左側面視時計回りに回動すると、直線ＬＭと直線ＭＮは屈曲する。直線ＬＭと直線ＭＮが成す角度の内小さい方の角度（以下「内角」という）は徐々に小さくなる。故に、作用腕部３８の先端部は下降する。水平送り軸３６は左側面視反時計回りに回動する。布送り機構３２は後方に移動する。図５に示すように、布送り出力軸２４が回動範囲の２つの端部の一方（前方の端部）に達すると、直線ＬＭと直線ＭＮの内角は最小となる。作用腕部３８の先端部は可動範囲の下端に位置する。故に、布送り機構３２は可動範囲の後端に位置する。
【００３１】
布送り出力軸２４が図５の状態から反転し左側面視反時計回りに回動すると、直線ＬＭと直線ＭＮの内角は徐々に大きくなる。故に、作用腕部３８の先端部は上昇する。布送り機構３２は前方に移動する。布送り出力軸２４が回動範囲の中間位置に達すると、布送り機構３２は図４に示す状態に戻り、可動範囲の前端に位置する。布送り出力軸２４が図４の状態から更に左側面視反時計回りに回動すると、直線ＬＭと直線ＬＭの内角は再び減少し、布送り機構３２は後方に移動する。図６に示すように、布送り出力軸２４が回動範囲の後方の端部に達すると、布送り機構３２は可動範囲の後端に位置する。以上のように、布送り出力軸２４が回動範囲の一方の端部から他方の端部まで回動する毎に、布送り機構３２は水平に一往復揺動する。
【００３２】
布送りモータ２３の動力は、直線ＬＭと直線ＭＮが一直線になっている方が作用腕部３８に伝わり易い。即ち、布送りモータ２３が受ける負荷は、布送り出力軸２４が一方向への回動動作を行っている途中の方が、回動方向を反転する時点よりも小さい。故に、本実施形態のミシン１は、布送り出力軸２４が一方向への回動動作を行う途中の中間位置（図４に示す位置）で布送りを開始すれば、布送りを円滑に行うことができる。
【００３３】
図３〜図６に示すように、ミシン１は布送り機構３２の後方に上下送り軸２７を備える。上下送り軸２７は回動可能な状態で左右方向に延びる。上下送り軸２７は水平送り軸３６に対して平行に位置する。上下送り軸２７は右端部にプーリ２５を備える。プーリ２５はタイミングベルト（図示略）を介して主軸１４に連結してある。主軸１４と上下送り軸２７は同期を保持した状態で回動する。上下送り軸２７は左端に偏心カム２８を備える。偏心カム２８は、上下送り軸２７の回動に伴って布送り機構３２を上下動する。ミシン１では、針棒７と縫針８が上下に一往復する間に送り歯３３と送り台３４は上下に一往復する。即ち、ミシン１では縫針８の上下動と送り歯３３の上下動は機械的に同期する。
【００３４】
送り台３４が上昇すると、送り歯３３は送り歯穴１９（図２参照）から針板１５の上方に突出し、押え足１７との間に布を挟む。布が所定の厚み以下であれば、送り歯３３が針板１５の上方に位置している間、縫針８は布に刺さらない。縫製の実行中、ミシン１はメインモータ１３と布送りモータ２３の回転角位相を監視する。詳細は後述するが、ミシン１はメインモータ１３と布送りモータ２３の同期をとり、送り歯３３が針板１５の上方に位置している間に、縫製プログラムで規定してある量だけ布送りモータ２３を駆動する。故に、布は縫針８が刺さっていない状態で前後方向に移動する。送り台３４が下降すると、送り歯３３は針板１５の下方に位置する。送り歯３３が針板１５の下方に位置すれば、送り歯３３が前後方向に移動しても布は移動しない。縫針８は、送り歯３３が針板１５の下方に位置している間に布に縫い目を形成する。以上のように、ミシン１は、布送り機構３２の水平方向（本実施形態では前後方向）の駆動と縫針８の駆動を別のモータで実行する。故に、ミシン１は縫製中に送り歯３３の水平方向の移動量を自由に制御できる。
【００３５】
図７を参照しミシン１の電気的構成について説明する。ミシン１の制御装置３０はＣＰＵ４４を備える。ＣＰＵ４４はミシン１の制御を司る。ＣＰＵ４４はＲＯＭ４５、ＲＡＭ４６、ＥＥＰＲＯＭ（登録商標）４７、Ｉ／Ｏインターフェース（以下Ｉ／Ｏという）４８とバスを介して接続する。ＲＯＭ４５は後述する布送り量設定処理（図８参照）、速度制御処理（図９、１１、１２、１３参照）、動作確認処理（図１０参照）を実行する為のプログラム等を記憶する。ＲＡＭ４６はプログラムを実行する為に必要な各種値を一時的に記憶する。ＥＥＰＲＯＭ４７は各種値を記憶する不揮発性の記憶装置である。
【００３６】
Ｉ／Ｏ４８はペダル２２、操作部１０に接続する。ＣＰＵ４４はペダル２２の操作方向と操作量を入力する。ＣＰＵ４４は操作部１０から作業者による操作指示を入力する。作業者は操作部１０を操作することで、後述する布送り開始位置、布送り終端位置、布送り戻り位置を設定できる。Ｉ／Ｏ４８は駆動回路５１〜５３に接続する。駆動回路５１は液晶パネル１１を駆動する。駆動回路５２は、ＣＰＵ４４から入力するトルク指令信号に応じてメインモータ１３を駆動する。ミシン１はメインモータ１３の回転角位相と回転速度を検出する為のメインエンコーダ５５を備える。メインエンコーダ５５はメインモータ１３の回転角位相と回転速度の検出結果をＩ／Ｏ４８に出力する。駆動回路５３は、ＣＰＵ４４から入力する布送り駆動信号に応じて布送りモータ２３を駆動する。布送りモータ２３の布送り駆動信号はパルス信号である。ミシン１は布送りモータ２３の回転角位相と回転速度を検出する為の布送りエンコーダ５６を備える。布送りエンコーダ５６は布送りモータ２３の回転角位相と回転速度の検出結果をＩ／Ｏ４８に出力する。
【００３７】
図８〜図１０を参照し、第一実施形態のミシン１が実行する処理について説明する。ミシン１のＣＰＵ４４はＲＯＭ４５に記憶しているプログラムに従って、図８に示す布送り量設定処理、図９に示す第一速度制御処理、図１０に示す動作確認処理を実行する。ミシン１は上記３つの処理を並行して実行できる。
【００３８】
図８を参照し布送り設定処理について説明する。布送り設定処理では、ミシン１は作業者による操作部１０の操作に従って、布送り機構３２（詳細には送り歯３３）の布送り開始位置、布送り終端位置、布送り戻り位置を設定する。布送り開始位置は、布送り機構３２が布送りの戻りを終了した後に反転し布に接触して布送りを開始する位置である。布送り終端位置は、布送り機構３２が布送りを終了する位置である。布送り戻り位置は、布送り機構３２が針板１５の下方で布送りの戻りを開始する位置である。送り歯３３の前後方向の移動量である布送り量は、布送り開始位置と布送り終端位置を設定することで定まる。ミシン１は、作業者が布送り開始位置、布送り終端位置、布送り戻り位置を夫々設定することで、布送り出力軸２４の布送りモータ駆動中間位置、布送りモータ駆動終端位置、布送りモータ駆動開始位置を夫々求めることができる。更に、ミシン１は、布送りモータ２３の駆動開始時のメインモータ１３の回転角、駆動の中間位置におけるメインモータ１３の回転角、駆動の終端位置におけるメインモータ１３の回転角を設定できる。ミシン１の電源がオンとなると、ＣＰＵ４４は布送り量設定処理を開始する。
【００３９】
ＣＰＵ４４は、布送り開始位置、布送り終端位置、布送り戻り位置の設定値を作業者が操作部１０から入力したか否かを判断する（Ｓ１）。入力していなければ（Ｓ１：ＮＯ）、ＣＰＵ４４は処理をＳ９の判断へ移行する。作業者が操作部１０を操作して各設定値を入力すると（Ｓ１：ＹＥＳ）、ＣＰＵ４４は入力した値を布送り出力軸２４の角度に換算する。ＣＰＵ４４は換算した値をＥＥＰＲＯＭ４７に記憶することで、布送りモータ駆動開始位置「ＳＴＰｏｓ」と布送りモータ駆動中間位置「ＣＴＰｏｓ」と布送りモータ駆動終端位置「ＥＮＰｏｓ」を設定する（Ｓ２〜Ｓ４）。前述のように、布送り機構３２は布送り出力軸２４が布送りモータ駆動中間位置「ＣＴＰｏｓ」（図４に示す状態）にある時に布送りを開始する。布送り出力軸２４が布送りモータ駆動開始位置「ＳＴＰｏｓ」及び布送りモータ駆動終端位置「ＥＮＰｏｓ」にある場合、布送り機構３２は図５又は図６に示す状態となる。ＣＰＵ４４は布送りモータ駆動中間位置「ＣＴＰｏｓ」から布送りモータ駆動終端位置「ＥＮＰｏｓ」までの距離である布送り量「Ｐｉｔｃｈ」を設定する（Ｓ５）。本実施形態では、布送りモータ駆動開始位置、布送りモータ駆動中間位置、布送りモータ駆動終端位置、布送り量は布送り出力軸２４の角度で表す。前述のように、本実施形態では布送り出力軸２４が片道一回の回動動作を行う毎に、布送り機構３２は水平に一往復揺動する。故に、ミシン１は、出力軸２４の２つの回動方向の各々について、布送りモータ駆動開始位置「ＳＴＰｏｓ」、布送りモータ駆動中間位置「ＣＴＰｏｓ」、布送りモータ駆動終端位置「ＥＮＰｏｓ」を別々に設定する。尚、布送りモータ駆動開始位置、布送りモータ駆動中間位置、布送りモータ駆動終端位置、布送り量は、布送りモータ２３のパルス数等の他の値で表してもよい。布送り量は布送り機構３２の実際の移動量で表してもよい。布送り量は縫製プログラムに基づき予め設定したテーブルを用いてもよい。
【００４０】
ＣＰＵ４４は、メインモータ１３の出力軸（以下「主出力軸」という）の回転角（以下「主回転角」という）のうち、布送りモータ駆動開始位置から一意に定まる布送りモータ駆動開始時の主回転角である開始角「ＦｅｅｄＳｔａｒｔ」を設定する（Ｓ６）。ＣＰＵ４４は布送りモータ駆動中間位置から一意に定まる主回転角である中間角「ＦｅｅｄＣｅｎｔｅｒ」を設定する（Ｓ７）。ＣＰＵ４４は布送りモータ駆動終端位置から一意に定まる主回転角である終端角「ＦｅｅｄＥｎｄ」を設定する（Ｓ８）。作業者が処理を終了する為の指示を入力していなければ（Ｓ９：ＮＯ）、ＣＰＵ４４は処理をＳ１の判断へ戻す。作業者が終了指示を入力すると（Ｓ９：ＹＥＳ）、ＣＰＵ４４は布送り量設定処理を終了する。
【００４１】
図９を参照し第一速度制御処理について説明する。第一速度制御処理では、ミシン１は布送り出力軸２４の目標回転角と実際の回転角の偏差を算出する。ミシン１は算出した偏差に基づいて布送りモータ２３の回転速度を算出する。故に、ミシン１では、布送りモータ２３の回転速度はメインモータ１３の回転速度の変化に追従できる。ミシン１の電源がオンとなると、ＣＰＵ４４は第一速度制御処理を開始する。
【００４２】
ＣＰＵ４４は、現在のメインモータ１３の主回転角「ＤＤＰＯＳ」をメインエンコーダ５５から取得する（Ｓ１１）。ＣＰＵ４４は、Ｓ１１で取得した主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」より前であるか否かを判断する（Ｓ１２）。換言すると、ＣＰＵ４４は、主回転角「ＤＤＰＯＳ」が開始角「ＦｅｅｄＳｔａｒｔ」と中間角「ＦｅｅｄＣｅｎｔｅｒ」の間にあるか否かを判断する。
【００４３】
主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」より前であれば（Ｓ１２：ＹＥＳ）、ＣＰＵ４４は、一回の布送り期間中の反転前期間における布送りモータ２３の回転速度を算出する（Ｓ１３〜Ｓ１７）。一回の布送り期間は、動力伝達機構３５が布送り出力軸２４の一方向及び逆方向への夫々の回転動作を布送り機構３２の一往復の揺動運動に変換する期間である。反転前期間は、一回の布送り期間のうち、布送り機構３２の揺動方向が反転する前の期間である。布送り機構３２は、反転前期間において送り歯３３が布送り戻り位置から布送り開始位置まで戻る。
【００４４】
詳細には、ＣＰＵ４４は、現在の布送りモータ２３の布送り回転角「ＲＥＬＰＯＳ」を布送りエンコーダ５６から取得する（Ｓ１３）。ＣＰＵ４４は、Ｓ１１で取得した主回転角「ＤＤＰＯＳ」に対応する布送り出力軸２４が位置すべき布送り回転角である目標回転角「ＰＯＳ１ａ」を設定する（Ｓ１４）。前述のように、ミシン１ではメインモータ１３と布送りモータ２３は同期する。故に、布送りモータ２３の目標回転角は主回転角「ＤＤＰＯＳ」から一意に定まる。
【００４５】
目標回転角「ＰＯＳ１ａ」の設定方法について詳細に説明する。ＣＰＵ４４は、送り歯３３が布送りの戻りを開始してから反転するまでの間に主出力軸が回動する角度「ＦｅｅｄＤｅｇ＜ａ＞」を、以下の式で算出する。
ＦｅｅｄＤｅｇ＜ａ＞＝ＦｅｅｄＣｅｎｔｅｒ−ＦｅｅｄＳｔａｒｔ
「ＦｅｅｄＤｅｇ＜ａ＞」のうち、既に回動が終了した角度の割合は、
（ＤＤＰＯＳ−ＦｅｅｄＳｔａｒｔ）／ＦｅｅｄＤｅｇ＜ａ＞
となる。故に、ＣＰＵ４４は目標回転角「ＰＯＳ１ａ」を以下の式で算出できる。
ＰＯＳ１ａ＝ＳＴＰｏｓ＋（ＣＴＰｏｓ−ＳＴＰｏｓ）（ＤＤＰＯＳ−ＦｅｅｄＳｔａｒｔ）／ＦｅｅｄＤｅｇ＜ａ＞
【００４６】
ＣＰＵ４４は、設定した目標回転角「ＰＯＳ１ａ」と、布送りエンコーダ５６から取得した布送り回転角「ＲＥＬＰＯＳ」の偏差を算出する（Ｓ１５）。ＣＰＵ４４は、算出した偏差に基づいて、布送りモータ２３に指示する回転速度「ＳＰ１ａ」を算出する（Ｓ１６）。具体的には、ＣＰＵ４４は予め設定してある固定値の計数Ｎ１ａを偏差に乗じることで回転速度「ＳＰ１ａ」を算出する。ＣＰＵ４４は、回転速度「ＳＰ１ａ」で布送りモータ２３を駆動する為の布送り駆動信号を駆動回路５３に出力し、布送りモータ２３を駆動する（Ｓ１７）。ＣＰＵ４４は処理をＳ１１へ戻す。
【００４７】
主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」以後であれば（Ｓ１２：ＮＯ）、ＣＰＵ４４は、一回の布送り期間中の反転後期間における布送りモータ２３の回転速度を算出する（Ｓ１９〜Ｓ２８）。反転後期間は、一回の布送り期間のうち、布送り機構３２の揺動方向が反転した後の期間である。布送り機構３２は、反転後期間において送り歯３３が布送り開始位置から布送り終端位置まで移動して布を送る。ＣＰＵ４４は、現在の布送りモータ２３の布送り回転角「ＲＥＬＰＯＳ」を布送りエンコーダ５６から取得する（Ｓ１９）。ＣＰＵ４４は、Ｓ１１で取得した主回転角「ＤＤＰＯＳ」に対応する布送り出力軸２４が位置すべき布送り回転角である目標回転角「ＰＯＳ１ｂ」を設定する（Ｓ２０）。
【００４８】
目標回転角「ＰＯＳ１ｂ」の設定方法について詳細に説明する。ＣＰＵ４４は、送り歯３３が反転して布送りを開始してから布送り終端位置へ移動するまでの間に主出力軸が回動する角度「ＦｅｅｄＤｅｇ＜ｂ＞」を、以下の式で算出する。
ＦｅｅｄＤｅｇ＜ｂ＞＝ＦｅｅｄＥｎｄ−ＦｅｅｄＣｅｎｔｅｒ
「ＦｅｅｄＤｅｇ＜ｂ＞」のうち、既に回動が終了した角度の割合は、
（ＤＤＰＯＳ−ＦｅｅｄＣｅｎｔｅｒ）／ＦｅｅｄＤｅｇ＜ｂ＞
となる。故に、ＣＰＵ４４は目標回転角「ＰＯＳ１ｂ」を以下の式で算出できる。
ＰＯＳ１ｂ＝ＣＴＰｏｓ＋Ｐｉｔｃｈ（ＤＤＰＯＳ−ＦｅｅｄＣｅｎｔｅｒ）／ＦｅｅｄＤｅｇ＜ｂ＞
【００４９】
ＣＰＵ４４は、設定した目標回転角「ＰＯＳ１ｂ」と、布送りエンコーダ５６から取得した布送り回転角「ＲＥＬＰＯＳ」の偏差を算出する（Ｓ２１）。ＣＰＵ４４は、算出した偏差に固定値の計数Ｎ１ｂを乗じることで回転速度「ＳＰ１ｂ」を算出する（Ｓ２２）。固定値Ｎ１ｂは、布送り機構３２の特性等に応じて予め設定してある。Ｎ１ａとＮ１ｂは各々別個に設定してある。
【００５０】
ＣＰＵ４４は、布送りモータ２３に前回Ｓ１７、Ｓ２５、Ｓ２８の何れかで指示した速度に対する、Ｓ２２で算出した回転速度「ＳＰ１ｂ」の変化量が、前回の指示速度の１割以下であるか否かを判断する（Ｓ２４）。尚、ミシン１は現在の布送りモータ２３の回転速度を取得し、取得した現在の回転速度に対する「ＳＰ１ｂ」の変化量が１割以下であるか否かを判断してもよい。判断する変化量は１割に限られず、所定の固定値であってもよい。変化量が１割以下であれば（Ｓ２４：ＹＥＳ）、ＣＰＵ４４はＳ２２で算出した回転速度「ＳＰ１ｂ」で布送りモータ２３を駆動する（Ｓ２５）。ＣＰＵ４４は処理をＳ１１へ戻す。変化量が１割よりも大きい場合（Ｓ２４：ＮＯ）、ＣＰＵ４４は、変化量が１割以下になるように回転速度「ＳＰ１ｃ」を算出する（Ｓ２７）。具体的には、回転速度「ＳＰ１ｂ」が前回の指示速度から減速した場合、ＣＰＵ４４は、前回の指示速度に０．９を乗じることで回転速度「ＳＰ１ｃ」を算出する。回転速度「ＳＰ１ｂ」が前回の指示速度から加速した場合、ＣＰＵ４４は、前回の指示速度に１．１を乗じることで回転速度「ＳＰ１ｃ」を算出する。ＣＰＵ４４は、Ｓ２７で算出した回転速度「ＳＰ１ｃ」で布送りモータ２３を駆動する（Ｓ２８）。故に、ミシン１は、布送り機構３２の揺動方向が反転する前後で指示速度が急激に変化することを適切に防止できる。布送り機構３２の揺動方向が反転すると、布送り機構３２の送り歯３３は針板１５の上方に突出して布送り開始位置から布送り終端位置へ向けて移動を始める。従って、ミシン１は、布送りを開始する時に布送りモータ２３の回転速度が急激に変化するのを防ぐことができる。ＣＰＵ４４は処理をＳ１１へ戻す。第一速度制御処理は、ミシン１の電源がオフとなると終了する。
【００５１】
図１０を参照し動作確認処理について説明する。動作確認処理では、ミシン１はメインモータ１３と布送りモータ２３が同期しているか否かを確認し、同期していない場合にエラー処理を行う。ミシン１の電源がオンとなると、ＣＰＵ４４は動作確認処理を開始する。
【００５２】
ＣＰＵ４４は、現在のメインモータ１３の主回転角「ＤＤＰＯＳ」をメインエンコーダ５５から取得する（Ｓ３１）。ＣＰＵ４４は、予め作業者が行った動作確認タイミングの設定内容を判断する（Ｓ３２、Ｓ３３）。
【００５３】
本実施形態のミシン１では、作業者は操作部１０を操作することで動作確認タイミングの設定を行うことができる。動作確認タイミングには常時確認と所定位置確認がある。常時確認は、所定間隔（例えば、ＣＰＵ４４がＳ３１〜Ｓ４４の処理を行う間隔、又はＣＰＵ４４のクロック数に応じた所定時間）毎に動作確認を行う。常時確認では、ミシン１はより正確に動作確認を行うことができる。所定位置確認は、布送り機構３２の送り歯３３が所定の動作確認位置に到達した際に動作確認を行う。所定位置確認では、ミシン１は必要なタイミングで効率よく動作確認を行うことができ、ＣＰＵ４４の処理負担は低下する。
【００５４】
作業者は所定位置確認を行う場合、デフォルト位置及び任意位置の何れかの動作確認位置を設定できる。所定確認位置をデフォルト位置に設定した場合、動作確認位置は布送り機構３２の送り歯３３が針板１５の板面から上昇する位置及び下降する位置である。布送り機構３２は送り歯３３が針板１５よりも上方にある状態で布を送る。故に、送り歯３３が針板１５から上昇、下降する位置では、２つのモータ１３、２３の同期は特に重要である。所定確認位置をデフォルト位置に設定することで、ミシン１は特に重要なタイミングで効率よく動作確認を行うことができる。
【００５５】
所定確認位置を任意位置に設定した場合、作業者は操作部１０を操作して動作確認位置を任意に設定する。作業者が任意に設定可能な位置は、布送りモータ駆動中間位置「ＣＴＰｏｓ」と布送りモータ駆動終端位置「ＥＮＰｏｓ」の間の位置である。例えば、布が厚い場合、縫針８は布が薄い場合よりも早いタイミングで布に刺さる。布が厚い場合に所定確認位置をデフォルト位置に設定すると、布送り機構３２の送り歯３３が針板１５の板面から下降する位置に到達する前に縫針８が布に刺さる場合がある。故に、２つのモータ１３、２３の同期がずれ、送り歯３３の下降が遅れると、布は縫針８が刺さった状態で移動する。縫針８が布に刺さった状態で布が移動すると、縫針８は曲がる。曲がった縫針８は針穴１８を通過せず針板１５上面に接触して破損する場合がある。送り歯３３が針板１５から下降する位置よりも早いタイミングとなる位置に任意に動作確認位置を設定することで、ミシン１は布厚に応じてタイミングを変えて動作確認を行うことができる。所定確認位置を任意位置に設定することで、ミシン１は作業者が所望の確認位置で動作確認を行うことができる。
【００５６】
動作確認タイミングの設定が常時確認でなければ（Ｓ３２：ＮＯ）、ＣＰＵ４４は、布送り機構３２の位置が所定の動作確認位置であるか否かをメインモータ１３の主回転角「ＤＤＰＯＳ」から判断する（Ｓ３３）。前述のように、ミシン１は、布送りモータ２３の布送り回転角「ＲＥＬＰＯＳ」がメインモータ１３の主回転角「ＤＤＰＯＳ」に同期するように布送りモータ２３を駆動する（図９参照）。布送り機構３２の位置は布送り回転角「ＲＥＬＰＯＳ」から定まる。故に、ミシン１は布送り機構３２が存在すべき位置をメインモータ１３の主回転角「ＤＤＰＯＳ」から判断できる。布送り機構３２が所定の動作確認位置になければ（Ｓ３３：ＮＯ）、ＣＰＵ４４は処理をＳ３１へ戻す。
【００５７】
動作確認タイミングの設定が常時確認である場合（Ｓ３２：ＹＥＳ）、又は布送り機構３２が所定の動作確認位置にある場合（Ｓ３３：ＹＥＳ）、ＣＰＵ４４は、Ｓ３１で取得した現在の主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」より前であるか否かを判断する（Ｓ３４）。中間角「ＦｅｅｄＣｅｎｔｅｒ」より前であれば（Ｓ３４：ＹＥＳ）、ＣＰＵ４４は布送り回転角「ＲＥＬＰＯＳ」を布送りエンコーダ５６から取得する（Ｓ３６）。ＣＰＵ４４は、Ｓ３１で取得した主回転角「ＤＤＰＯＳ」に対応する布送り出力軸２４の目標回転角「ＰＯＳ１ａ」を設定する（Ｓ３７）。「ＰＯＳ１ａ」の設定方法は前述したＳ１４（図６参照）と同様である。ＣＰＵ４４は、設定した目標回転角「ＰＯＳ１ａ」と、Ｓ３６で取得した布送り回転角「ＲＥＬＰＯＳ」の偏差を算出する（Ｓ３８）。
【００５８】
ＣＰＵ４４は、算出した偏差が閾値以下であるか否かを判断する（Ｓ３９）。閾値は任意に設定できる。閾値は、作業者が操作部１０を操作して変更できる値であってもよい。偏差が閾値以下であれば（Ｓ３９：ＹＥＳ）、ＣＰＵ４４はメインモータ１３と布送りモータ２３が同期していると判断し、処理をＳ３１へ戻す。偏差が閾値よりも大きければ（Ｓ３９：ＮＯ）、ＣＰＵ４４は、２つのモータ１３、２３の同期がずれたことを示すエラー画面を液晶パネル１１に表示する（Ｓ４６）。故に、作業者は２つのモータ１３、２３の同期がずれたことを容易に把握して適切な対処を行うことができる。Ｓ４６ではＣＰＵ４４はエラー音をスピーカから出力してエラーを報知してもよい。ＣＰＵ４４は、メインモータ１３と布送りモータ２３の駆動を停止し（Ｓ４７）、動作確認処理を終了する。
【００５９】
主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」以後である場合（Ｓ３４：ＮＯ）、ＣＰＵ４４は布送り回転角「ＲＥＬＰＯＳ」を取得する（Ｓ４１）。ＣＰＵ４４は、Ｓ３１で取得した主回転角「ＤＤＰＯＳ」に対応する布送り出力軸２４の目標回転角「ＰＯＳ１ｂ」を設定する（Ｓ４２）。「ＰＯＳ１ｂ」の設定方法は前述したＳ２０（図９参照）と同様である。ＣＰＵ４４は、設定した目標回転角「ＰＯＳ１ｂ」と、Ｓ４１で取得した布送り回転角「ＲＥＬＰＯＳ」の偏差を算出する（Ｓ４３）。
【００６０】
ＣＰＵ４４は、算出した偏差が閾値以下であるか否かを判断する（Ｓ４４）。閾値は任意に設定できる。ミシン１は、布送り機構３２が布に接触して布送りを行っている場合には、布送りを終了して布送り戻り位置から布送り開始位置へ移動している場合よりも厳密に同期を保持すべきである。従って、布送り機構３２が布送りを行っている場合の閾値は、布送り戻り位置から布送り開始位置へ移動している場合の閾値よりも小さい値に設定するのが望ましい。偏差が閾値以下であれば（Ｓ４４：ＹＥＳ）、ＣＰＵ４４は処理をＳ３１へ戻す。偏差が閾値よりも大きければ（Ｓ４４：ＮＯ）、ＣＰＵ４４はエラー画面を表示し（Ｓ４６）、２つのモータ１３、２３の駆動を停止し（Ｓ４７）、処理を終了する。尚、布送り量設定処理（図８参照）、第一速度制御処理（図９参照）、動作確認処理（図１０参照）は、ミシン１の電源がオフとなると終了する。
【００６１】
以上のように、第一実施形態のミシン１は、布送り出力軸２４を一往復回動する毎に、布送り機構３２を水平に二往復駆動できる。布送り出力軸２４を一往復回動する毎に布送り機構３２を一往復駆動する場合に比べて、布送りモータ２３の回動方向の切替頻度は減少する。故に、布送りモータ２３にかかる負荷は減少する。ミシン１は、主回転角と布送り回転角を用いて回転速度を算出することで、主軸１４の駆動と布送り機構３２の駆動の同期を保持できる。ミシン１は、布送りモータ２３の回動方向の切替頻度を減らし、且つ主軸１４と布送り機構３２の駆動の同期を適切に保持することができる。
【００６２】
本発明では、布送り機構３２の揺動方向は、布送り出力軸２４が一方向及び逆方向の夫々の回動動作を高速で行っている途中で反転する。ミシン１は、布送り機構３２の揺動方向の反転前後で大きく異なる速度を算出する場合がある。布送りモータ２３は、回動中に急激な速度変化が生じると大きな負荷を受ける。本実施形態のミシン１は、回転速度の変化量が閾値以下となるように、布送りモータ２３の回転速度を設定することができる。故に、ミシン１は、急激な回転速度の変化により布送りモータ２３に大きな負荷がかかることを防止できる。
【００６３】
ミシン１は、布送り機構３２の揺動方向が反転する前後で別々に、主回転角「ＤＤＰＯＳ」と布送り回転角「ＲＥＬＰＯＳ」を用いて、布送りモータ２３に指示する回転速度を算出する。故に、ミシン１は、布送り機構３２の揺動方向が反転する前後の各々の状況（布送り量、布送りのタイミング等）に応じた適切な回転速度を算出できる。該ミシンは、布送り機構３２の往路、復路で共に２つのモータ１３、２３の同期を保持する為、より確実に２つのモータ１３、２３の同期を保持できる。
【００６４】
第一実施形態のミシン１は、メインモータ１３の主回転角「ＤＤＰＯＳ」から布送り出力軸２４が位置すべき目標回転角「ＰＯＳ１ａ／ＰＯＳ１ｂ」を設定する。ミシン１は、設定した目標回転角「ＰＯＳ１／ＰＯＳ１ｂ」と実際の布送りモータ２３の布送り回転角「ＲＥＬＰＯＳ」の偏差を算出する。ミシン１は算出した偏差に基づいて布送りモータ２３の回転速度を算出する。メインモータ１３及び主軸１４の回転速度が変化した場合でも、布送りモータ２３はメインモータ１３との同期を保って駆動する。故に、ミシン１は縫製の速度が変化しても主軸１４の駆動と布送り機構３２の駆動の同期を保持できる。
【００６５】
第一実施形態のミシン１はメインモータ１３の回転速度を用いずに布送りモータ２３の回転速度を算出できる。故に、第一実施形態のミシン１は、メインモータ１３が停止した場合又は作業者が手動で主軸１４を回動した場合でも適切に布送りモータ２３とメインモータ１３の同期を保つことができる。ミシン１では、作業者は布送りモータ駆動開始位置、布送りモータ駆動中間位置、布送りモータ駆動終端位置、布送り量を自由に設定できる。ミシン１は設定値に応じた適切な速度で布送りモータ２３を駆動できる。
【００６６】
第一実施形態において、図９のＳ１１で主回転角を取得するＣＰＵ４４は主回転角検出部として機能する。図９のＳ１３、Ｓ１９で布送り回転角を取得するＣＰＵ４４は布送り回転角検出部として機能する。図９のＳ１６、Ｓ２２で布送りモータ２３の回転速度を算出するＣＰＵ４４は速度算出部として機能する。図９のＳ１７、Ｓ２５、Ｓ２８で布送りモータを駆動制御するＣＰＵ４４は駆動制御部として機能する。
【００６７】
図９のＳ１２で主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前であるか否かを判断するＣＰＵ４４は期間判断部として機能する。図９のＳ２４で回転速度の変化量を判断するＣＰＵ４４は変化量判断部として機能する。図９のＳ２７で変化量が閾値以下の回転速度を布送りモータ２３の回転速度に設定するＣＰＵ４４は変化量制限部として機能する。図９のＳ１６で布送りモータ２３の回転速度を算出するＣＰＵ４４は反転前速度算出部として機能する。図９のＳ２２で布送りモータ２３の回転速度を算出するＣＰＵ４４は反転後速度算出部として機能する。図９のＳ１４、Ｓ２０で目標回転角を設定するＣＰＵ４４は布送り目標角設定部として機能する。図９のＳ１５、Ｓ２１で偏差を算出するＣＰＵ４４は布送り偏差算出部として機能する。図８の布送り量設定処理を行うＣＰＵ４４は設定部として機能する。図９のＳ１６、Ｓ２２で布送りモータ２３の回転速度を偏差に基づいて算出するＣＰＵ４４は第一速度算出部として機能する。
【００６８】
図９のＳ１１で主回転角を取得する処理は主回転角検出ステップに相当する。図９のＳ１３、Ｓ１９で布送り回転角を取得する処理は布送り回転角検出ステップに相当する。図９のＳ１２で主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前であるか否かを判断する処理は期間判断ステップに相当する。図９のＳ１３〜Ｓ１６で布送りモータ２３の回転速度を算出する処理は反転前速度算出ステップに相当する。図９のＳ１９〜Ｓ２２で布送りモータ２３の回転速度を算出する処理は反転後速度算出ステップに相当する。
【００６９】
図１１を参照し、本発明の第二実施形態について説明する。第二実施形態のミシン１は、メインモータ１３の主出力軸の目標回転角を、現在の布送り出力軸２４の布送り回転角から設定する。該ミシン１は、設定した主出力軸の目標回転角と実際の主回転角の偏差を算出し、布送りモータ２３の回転速度を算出する。前述した第一実施形態のミシン１は、布送り出力軸２４の目標回転角を設定して回転速度を算出する。第二実施形態のミシン１は、主出力軸の目標回転角を用いる点が第一実施形態のミシン１と異なるのみであり、機械的構成、電気的構成、布送り量設定処理（図８参照）、動作確認処理（図１０参照）等は第一実施形態と同一である。故に、第二実施形態の説明では、第一実施形態のミシン１と同一の構成、処理には同一の番号を付し、説明を省略又は簡略化する。
【００７０】
ミシン１の電源がオンとなると、ＣＰＵ４４は第二速度制御処理を開始する。ＣＰＵ４４は、主出力軸の主回転角「ＤＤＰＯＳ」を取得する（Ｓ１１）。ＣＰＵ４４は、Ｓ１１で取得した主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前であるか否かを判断する（Ｓ１２）。「ＤＤＰＯＳ」が「ＦｅｅｄＣｅｎｔｅｒ」よりも前であれば（Ｓ１２：ＹＥＳ）、ＣＰＵ４４は布送り回転角「ＲＥＬＰＯＳ」を取得する（Ｓ１３）。
【００７１】
ＣＰＵ４４は、Ｓ１３で取得した布送り回転角「ＲＥＬＰＯＳ」に対応するメインモータ１３の主出力軸が位置すべき主回転角である目標回転角「ＰＯＳ２ａ」を設定する（Ｓ１１４）。目標回転角「ＰＯＳ２ａ」の設定方法について詳細に説明する。送り歯３３が前後方向の一方に移動する間に布送り出力軸２４が回動する角度は、（ＣＴＰｏｓ−ＳＴＰｏｓ）である。（ＣＴＰｏｓ−ＳＴＰｏｓ）の内、既に回動が終了した角度の割合は（ＲＥＬＰＯＳ−ＳＴＰｏｓ）／（ＣＴＰｏｓ−ＳＴＰｏｓ）となる。ＣＰＵ４４は目標回転角「ＰＯＳ２ａ」を以下の式で算出できる。
ＰＯＳ２ａ＝ＦｅｅｄＳｔａｒｔ＋（ＦｅｅｄＣｅｎｔｅｒ−ＦｅｅｄＳｔａｒｔ）（ＲＥＬＰＯＳ−ＳＴＰｏｓ）／（ＣＴＰｏｓ−ＳＴＰｏｓ）
【００７２】
ＣＰＵ４４は、設定した目標回転角「ＰＯＳ２ａ」と、メインエンコーダ５５から取得した主回転角「ＤＤＰＯＳ」の偏差を算出する（Ｓ１１５）。ＣＰＵ４４は、Ｓ１１５で算出した偏差に基づいて、布送りモータ２３に指示する回転速度を算出する為の変換値を算出する（Ｓ１１６）。具体的には、ＣＰＵ４４は、偏差に（ＦｅｅｄＣｅｎｔｅｒ−ＦｅｅｄＳｔａｒｔ）／（ＣＴＰｏｓ−ＳＴＰｏｓ）を乗ずることで、布送り出力軸２４が位置すべき目標回転角と布送り回転角「ＲＥＬＰＯＳ」の偏差に相当する値に、Ｓ１１５で算出した偏差を変換する。ＣＰＵ４４は、Ｓ１１６で算出した変換値に基づいて、布送りモータ２３に指示する回転速度「ＳＰ１ａ」を算出する（Ｓ１６）。具体的には、ＣＰＵ４４は計数Ｎ１ａを変換値に乗ずることで回転速度「ＳＰ１ａ」を算出する。ＣＰＵ４４は、算出した回転速度「ＳＰ１ａ」で布送りモータ２３を駆動する（Ｓ１７）。ＣＰＵ４４は処理をＳ１１へ戻す。
【００７３】
主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」以後であれば（Ｓ１２：ＮＯ）、ＣＰＵ４４は、現在の布送り回転角「ＲＥＬＰＯＳ」を取得する（Ｓ１９）。ＣＰＵ４４は、Ｓ１９で取得した布送り回転角「ＲＥＬＰＯＳ」に対応する主出力軸の目標回転角「ＰＯＳ２ｂ」を、以下の式を用いて算出し設定する（Ｓ１２０）。
ＰＯＳ２ｂ＝ＦｅｅｄＣｅｎｔｅｒ＋（ＦｅｅｄＥｎｄ−ＦｅｅｄＣｅｎｔｅｒ）（ＲＥＬＰＯＳ−ＣＴＰｏｓ）／Ｐｉｔｃｈ
【００７４】
ＣＰＵ４４は、設定した目標回転角「ＰＯＳ２ｂ」と主回転角「ＤＤＰＯＳ」の偏差を算出する（Ｓ１２１）。ＣＰＵ４４は、Ｓ１２１で算出した偏差に（ＦｅｅｄＥｎｄ−ＦｅｅｄＣｅｎｔｅｒ）／Ｐｉｔｃｈを乗ずることで、偏差を変換する（Ｓ１２２）。ＣＰＵ４４は、変換値に計数Ｎ１ｂを乗ずることで回転速度「ＳＰ１ｂ」を算出する（Ｓ２２）。
【００７５】
ＣＰＵ４４は、布送りモータ２３に前回指示した速度に対する回転速度「ＳＰ１ｂ」の変化量が、前回の指示速度の１割以下であるか否かを判断する（Ｓ２４）。変化量が１割以下であれば（Ｓ２４：ＹＥＳ）、ＣＰＵ４４は回転速度「ＳＰ１ｂ」で布送りモータ２３を駆動する（Ｓ２５）。ＣＰＵ４４は処理をＳ１１へ戻す。変化量が１割よりも大きい場合（Ｓ２４：ＮＯ）、ＣＰＵ４４は、変化量が１割以下となる回転速度「ＳＰ１ｃ」を算出する（Ｓ２７）。ＣＰＵ４４は「ＳＰ１ｃ」で布送りモータ２３を駆動し（Ｓ２８）、処理をＳ１１へ戻す。第二速度制御処理はミシン１の電源がオフとなると終了する。
【００７６】
以上のように、第二実施形態のミシン１は、布送り回転角「ＲＥＬＰＯＳ」から主出力軸の目標回転角「ＰＯＳ２ａ／ＰＯＳ２ｂ」を設定する。ミシン１は、設定した目標回転角と実際の主回転角「ＤＤＰＯＳ」の偏差を算出する。ミシン１は算出した偏差に基づいて布送りモータ２３の回転速度を算出する。メインモータ１３と主軸１４の回転速度が変化した場合でも、布送りモータ２３はメインモータ１３との同期を保って回動する。故に、ミシン１は縫製の速度が変化しても主軸１４の駆動と布送り機構３２の駆動の同期を保持できる。特に、第二実施形態のミシン１は、メインモータ１３が停止した場合又は作業者が手動で主軸１４を回動した場合でも適切に布送りモータ２３とメインモータ１３の同期を保つことができる。
【００７７】
第二実施形態において、図１１のＳ１１４、Ｓ１２０で目標回転角を設定するＣＰＵ４４は主目標角設定部として機能する。図１１のＳ１１５、Ｓ１２１で偏差を算出するＣＰＵ４４は主偏差算出部として機能する。図１１のＳ１６、Ｓ２２で布送りモータ２３の回転速度を偏差に基づいて算出するＣＰＵ４４は第一速度算出部として機能する。
【００７８】
図１２を参照し、本発明の第三実施形態について説明する。第三実施形態のミシン１は、メインモータ１３の主出力軸が中間角「ＦｅｅｄＣｅｎｔｅｒ」又は終端角「ＦｅｅｄＥｎｄ」（本発明の反転角に相当する）に達するまでの所要時間を算出する。中間角「ＦｅｅｄＣｅｎｔｅｒ」は、布送り機構３２が布送り開始位置で反転して布送りを開始する時点で主出力軸が位置すべき主回転角である。終端角「ＦｅｅｄＥｎｄ」は、布送り機構３２が布送りを終了して揺動方向を反転する位置（布送り戻り位置）に達した時点で主出力軸が位置すべき主回転角である。ミシン１は、布送り機構３２が布送り開始位置又は布送り戻り位置に次に達するまでの布送り出力軸２４の残り回転角を算出する。ミシン１は、算出した所要時間で布送りモータ２３が残り回転角を回動する為の回転速度を算出する。第三実施形態のミシン１は、第一速度制御処理及び第二速度制御処理の代わりに第三速度制御処理を実行する点が、第一、第二実施形態と異なるのみである。故に、第三実施形態の説明では、第一、第二実施形態のミシン１と同一の構成及び処理には同一の番号を付し、説明を省略又は簡略化する。
【００７９】
ミシン１の電源がオンとなると、ＣＰＵ４４は第三速度制御処理を開始する。ＣＰＵ４４は、メインモータ１３の主回転角「ＤＤＰＯＳ」をメインエンコーダ５５から取得する（Ｓ５１）。ＣＰＵ４４は、Ｓ５１で取得した主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前であるか否かを判断する（Ｓ５２）。即ち、ＣＰＵ４４は、主回転角「ＤＤＰＯＳ」が開始角「ＦｅｅｄＳｔａｒｔ」と中間角「ＦｅｅｄＣｅｎｔｅｒ」の間であるか否かを判断する。
【００８０】
中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前である場合（Ｓ５２：ＹＥＳ）、ＣＰＵ４４は、反転前期間における布送りモータ２３の回転速度を算出する（Ｓ５３〜Ｓ５９）。詳細には、ＣＰＵ４４は、布送り機構３２が布送り開始位置に達する時点の主回転角である中間角「ＦｅｅｄＣｅｎｔｅｒ」をＥＥＰＲＯＭ４７から取得する（Ｓ５３）。ＣＰＵ４４は、中間角「ＦｅｅｄＣｅｎｔｅｒ」から現在の主回転角「ＤＤＰＯＳ」を減算することで、主出力軸が中間角「ＦｅｅｄＣｅｎｔｅｒ」に達するまでの残り回転角「ＲｅｍＭａ」を算出する（Ｓ５４）。
【００８１】
ＣＰＵ４４は、メインモータ１３の回転速度「ＤＤＳｐｅｅｄ（単位：ｒｐｍ）」を取得する（Ｓ５５）。回転速度は、第三速度制御処理と並行して実行する回転速度検出処理（図示略）で、メインエンコーダ５５から取得した主回転角の変化量（単位：回転数）をサンプリング時間（単位：分）で割ることで算出している。ＣＰＵ４４は、メインモータ１３の主出力軸が中間角「ＦｅｅｄＣｅｎｔｅｒ」に達するまでの所要時間Ｔａ（単位：分）を以下の式で算出する（Ｓ５６）。
Ｔａ＝ＲｅｍＭａ／（３６０・ＤＤＳｐｅｅｄ）
【００８２】
ＣＰＵ４４は、現在の布送りモータ２３の布送り回転角「ＲＥＬＰＯＳ」を布送りエンコーダ５６から取得する（Ｓ５７）。ＣＰＵ４４は、布送りモータ駆動中間位置「ＣＴＰｏｓ」から現在の布送り回転角「ＲＥＬＰＯＳ」を減算することで、布送り出力軸２４が布送りモータ駆動中間位置に達するまでの残り回転角「ＲｅｍＦａ」を算出する（Ｓ５８）。ＣＰＵ４４は、布送りモータ２３が残り回転角「ＲｅｍＦａ」を所要時間Ｔａで回動する為に必要な回転速度「ＳＰ２ａ」を以下の式で算出する（Ｓ５９）。
ＳＰ２ａ＝ＲｅｍＦａ／（３６０・Ｔａ）
ＣＰＵ４４は、算出した回転速度「ＳＰ２ａ」で布送りモータ２３を駆動する（Ｓ６０）。ＣＰＵ４４は処理をＳ５１へ戻す。
【００８３】
主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」以後であれば（Ｓ５２：ＮＯ）、ＣＰＵ４４は反転後期間における布送りモータの回転速度を算出する（Ｓ６２〜Ｓ７２）。詳細には、ＣＰＵ４４は、布送り機構３２が布送り終端位置に達する時点の主回転角である終端角「ＦｅｅｄＥｎｄ」をＥＥＰＲＯＭ４７から取得する（Ｓ６２）。ＣＰＵ４４は、終端角「ＦｅｅｄＥｎｄ」から現在の主回転角「ＤＤＰＯＳ」を減算することで、主出力軸が終端角「ＦｅｅｄＥｎｄ」に達するまでの残り回転角「ＲｅｍＭｂ」を算出する（Ｓ６３）。
【００８４】
ＣＰＵ４４は、メインモータの回転速度「ＤＤＳｐｅｅｄ」を取得する（Ｓ６４）。ＣＰＵ４４は、主出力軸が終端角「ＦｅｅｄＥｎｄ」に達するまでの所要時間Ｔｂを以下の式で算出する（Ｓ６５）。
Ｔｂ＝ＲｅｍＭｂ／（３６０・ＤＤＳｐｅｅｄ）
ＣＰＵ４４は、現在の布送り回転角「ＲＥＬＰＯＳ」を取得する（Ｓ６６）。ＣＰＵ４４は、布送りモータ駆動終端位置「ＥＮＰｏｓ」から現在の布送り回転角「ＲＥＬＰＯＳ」を減算することで、布送り出力軸２４が布送りモータ駆動終端位置「ＥＮＰｏｓ」に達するまでの残り回転角「ＲｅｍＦｂ」を算出する（Ｓ６７）。ＣＰＵ４４は、布送りモータ２３が残り回転角「ＲｅｍＦｂ」を所要時間Ｔｂで回動する為に必要な回転速度「ＳＰ２ｂ」を以下の式で算出する（Ｓ６８）。
ＳＰ２ｂ＝ＲｅｍＦｂ／（３６０・Ｔｂ）
【００８５】
ＣＰＵ４４は、布送りモータ２３に前回Ｓ６０、Ｓ７１、Ｓ７３の何れかで指示した速度に対する、Ｓ６８で算出した回転速度「ＳＰ２ｂ」の変化量が、前回の指示速度の１割以下であるか否かを判断する（Ｓ６９）。変化量が１割以下であれば（Ｓ６９：ＹＥＳ）、ＣＰＵ４４はＳ６８で算出した回転速度「ＳＰ２ｂ」で布送りモータ２３を駆動する（Ｓ７１）。ＣＰＵ４４は処理をＳ５１へ戻す。変化量が１割よりも大きい場合（Ｓ６９：ＮＯ）、ＣＰＵ４４は、変化量が１割以下になる回転速度「ＳＰ２ｃ」を算出する（Ｓ７２）。例えば、回転速度「ＳＰ２ｂ」が前回の指示速度から減速した場合、ＣＰＵ４４は前回の指示速度に０．９以上１．０未満の値を乗じることで「ＳＰ２ｃ」を算出してもよい。回転速度「ＳＰ２ｂ」が前回の指示速度から加速した場合、ＣＰＵ４４は前回の指示速度に１．０より大きく１．１以下の値を乗じることで「ＳＰ２ｃ」を算出してもよい。ＣＰＵ４４は他の方法で「ＳＰ２ｃ」を算出してもよい。ＣＰＵ４４は、Ｓ７２で算出した回転速度「ＳＰ２ｃ」で布送りモータ２３を駆動する（Ｓ７３）。ＣＰＵ４４は処理をＳ５１へ戻す。第三速度制御処理は、ミシン１の電源がオフとなると終了する。
【００８６】
以上のように、第三実施形態のミシン１は、メインモータ１３の主出力軸が中間角又は終端角に達するまでの所要時間「Ｔａ／Ｔｂ」を算出する。ミシン１は、布送り機構３２が布送り開始位置又は布送り終端位置に次回達するまでの布送りモータ２３の残り回転角「ＲｅｍＦａ／ＲｅｍＦｂ」を算出する。ミシン１は、所要時間「Ｔａ／Ｔｂ」で布送りモータ２３が残り回転角「ＲｅｍＦａ／ＲｅｍＦｂ」を回動する為の回転速度「ＳＰ２ａ／ＳＰ２ｂ」を算出する。回転速度「ＳＰ２ａ／ＳＰ２ｂ」で布送りモータ２３を駆動することで布送りモータ２３はメインモータ１３に同期する。布送り出力軸２４が布送りモータ駆動中間位置「ＣＴＰｏｓ」又は布送りモータ駆動終端位置「ＥＮＰｏｓ」に達する時点は、メインモータ１３の主出力軸が反転角（中間角「ＦｅｅｄＣｅｎｔｅｒ」又は終端角「ＦｅｅｄＥｎｄ」）に達する時点に一致する。故に、ミシン１は縫製の速度が変化しても主軸１４の駆動と布送り機構３２の駆動の同期を保持できる。第三実施形態のミシン１は、２つのモータ１３、２３の出力軸の位置と目標位置の偏差を用いない。第三実施形態のミシン１はメインモータ１３の回転速度が増大している場合に偏差を用いずに２つのモータ１３、２３を適切に制御できる。
【００８７】
第三実施形態において、図１２のＳ５１で主回転角を取得するＣＰＵ４４は本発明の主回転角検出部として機能する。図１２のＳ５７、Ｓ６６で布送り回転角を取得するＣＰＵ４４は布送り回転角検出部として機能する。図１２のＳ６０、Ｓ７１で布送りモータ２３を駆動制御するＣＰＵ４４は駆動制御部として機能する。
【００８８】
図１２のＳ５２で主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前であるか否かを判断するＣＰＵ４４は期間判断部として機能する。図１２のＳ６９で変化量を判断するＣＰＵ４４は変化量判断部として機能する。図１２のＳ７２、Ｓ７３で変化量が閾値以下となる回転速度を算出し設定するＣＰＵ４４は変化量制限部として機能する。図１２のＳ５９で回転速度を算出するＣＰＵ４４は反転前速度算出部として機能する。図１２のＳ６８で回転速度を算出するＣＰＵ４４は反転後速度算出部として機能する。
【００８９】
図１２のＳ５３、Ｓ６２で中間角「ＦｅｅｄＣｅｎｔｅｒ」及び終端角「ＦｅｅｄＥｎｄ」を取得するＣＰＵ４４は反転角取得部として機能する。図１２のＳ５４、Ｓ６３で残り回転角「ＲｅｍＭａ／ＲｅｍＭｂ」を算出するＣＰＵ４４は主回転角残量算出部として機能する。図１２のＳ５５、Ｓ６４で回転速度「ＤＤＳｐｅｅｄ」を取得するＣＰＵ４４は速度取得部として機能する。図１２のＳ５６、Ｓ６５で所要時間「Ｔａ／Ｔｂ」を算出するＣＰＵ４４は時間算出部として機能する。図１２のＳ５８、Ｓ６７で残り回転角「ＲｅｍＦａ／ＲｅｍＦｂ」を算出するＣＰＵ４４は布送り回転角残量算出部として機能する。図１２のＳ５９、Ｓ６８で回転速度「ＳＰ２ａ／ＳＰ２ｂ」を算出するＣＰＵ４４は第二速度算出部として機能する。
【００９０】
図１２のＳ５１で主回転角を取得する処理は本発明の主回転角検出ステップに相当する。図１２のＳ５７、Ｓ６６で布送り回転角を取得する処理は布送り回転角検出ステップに相当する。図１２のＳ５２で主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前であるか否かを判断する処理は期間判断ステップに相当する。図１２のＳ５３〜Ｓ５９で回転速度を算出する処理は反転前速度算出ステップに相当する。図１２のＳ６２〜Ｓ６８で回転速度を算出する処理は反転後速度算出ステップに相当する。
【００９１】
図１３〜図１５を参照し、本発明の第四実施形態について説明する。第四実施形態のミシン１は、目標回転角と実際の回転角の偏差に応じて回転速度「ＳＰ１ａ／ＳＰ１ｂ」を算出する。ミシン１は、メインモータ１３の回転速度に基づいて回転速度「ＳＰ２ａ／ＳＰ２ｂ」を算出する。ミシン１はメインモータ１３の回転速度に応じて布送りモータ２３の制御方法を変える。第四実施形態のミシン１は、第一〜第三速度制御処理の代わりに第四速度制御処理を実行する点が、第一〜第三実施形態と異なるのみである。故に、第四実施形態の説明では、第一〜第三実施形態のミシン１と同一の構成及び処理には同一の番号を付し、説明を省略又は簡略化する。
【００９２】
ミシン１の電源がオンとなると、ＣＰＵ４４は図１３に示す第四速度制御処理を開始する。ＣＰＵ４４はメインモータ１３の主回転角「ＤＤＰＯＳ」をメインエンコーダ５５から取得する（Ｓ８１）。ＣＰＵ４４は第一速度算出処理を実行する（Ｓ８２）。第一速度算出処理は目標回転角と実際の回転角の偏差に応じて回転速度を算出する処理である。第一速度算出処理の内容は、第一実施形態における第一速度制御処理（図９参照）の内容と略同一である。
【００９３】
図１４に示すように、ＣＰＵ４４は、Ｓ８１（図１３参照）で取得した主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」より前であるか否かを判断する（Ｓ１２）。主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」より前であれば（Ｓ１２：ＹＥＳ）、ＣＰＵ４４は、現在の布送りモータ２３の布送り回転角「ＲＥＬＰＯＳ」を布送りエンコーダ５６から取得する（Ｓ１３）。ＣＰＵ４４は、Ｓ８１で取得した主回転角「ＤＤＰＯＳ」に対応する布送り出力軸２４が位置すべき布送り回転角である目標回転角「ＰＯＳ１ａ」を設定する（Ｓ１４）。ＣＰＵ４４は、設定した目標回転角「ＰＯＳ１ａ」と、布送りエンコーダ５６から取得した布送り回転角「ＲＥＬＰＯＳ」の偏差を算出する（Ｓ１５）。ＣＰＵ４４は、予め設定してある固定値の計数Ｎ１ａを偏差に乗じることで回転速度「ＳＰ１ａ」を算出する（Ｓ１６）。ＣＰＵ４４は処理を第四速度制御処理へ戻す。
【００９４】
主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」以後であれば（Ｓ１２：ＮＯ）、ＣＰＵ４４は、現在の布送りモータ２３の布送り回転角「ＲＥＬＰＯＳ」を布送りエンコーダ５６から取得する（Ｓ１９）。ＣＰＵ４４は、Ｓ８１で取得した主回転角「ＤＤＰＯＳ」に対応する布送り出力軸２４が位置すべき布送り回転角である目標回転角「ＰＯＳ１ｂ」を設定する（Ｓ２０）。ＣＰＵ４４は、設定した目標回転角「ＰＯＳ１ｂ」と、布送りエンコーダ５６から取得した布送り回転角「ＲＥＬＰＯＳ」の偏差を算出する（Ｓ２１）。ＣＰＵ４４は、算出した偏差に固定値の計数Ｎ１ｂを乗じることで回転速度「ＳＰ１ｂ」を算出する（Ｓ２２）。ＣＰＵ４４は処理を第四速度制御処理へ戻す。
【００９５】
図１３の説明に戻る。ＣＰＵ４４は、メインモータ１３の回転速度「ＤＤＳｐｅｅｄ」を取得する（Ｓ８３）。ＣＰＵ４４は回転速度「ＤＤＳｐｅｅｄ」が閾値である３００（ｒｐｍ）以下であるか否かを判断する（Ｓ８４）。閾値の値は３００に限られない。閾値の値は、作業者が操作部１０を操作することで変更できてもよい。回転速度「ＤＤＳｐｅｅｄ」が３００以下であれば（Ｓ８４：ＹＥＳ）、ＣＰＵ４４はＳ８２の第一速度算出処理で算出したＳＰ１ａ又はＳＰ１ｂを一次算出速度に決定する（Ｓ８５）。一次算出速度とは、前回の指示速度に対する変化量が閾値以下である場合にそのまま布送りモータ２３の回転速度として採用される速度である。ＣＰＵ４４は処理をＳ９５へ移行する。回転速度「ＤＤＳｐｅｅｄ」が３００より大きければ（Ｓ８４：ＮＯ）、ＣＰＵ４４は第二速度算出処理を実行する（Ｓ８７）。第二速度算出処理は、メインモータ１３の回転速度に基づいて布送りモータ２３の回転速度を算出する処理である。第二速度算出処理の内容は、第三実施形態における第三速度制御処理（図１２参照）の内容と略同一である。
【００９６】
図１５に示すように、ＣＰＵ４４は、Ｓ８１（図１３参照）で取得した主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前であるか否かを判断する（Ｓ５２）。中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前である場合（Ｓ５２：ＹＥＳ）、ＣＰＵ４４は、布送り機構３２が布送り開始位置に達する時点の主回転角である中間角「ＦｅｅｄＣｅｎｔｅｒ」をＥＥＰＲＯＭ４７から取得する（Ｓ５３）。ＣＰＵ４４は、中間角「ＦｅｅｄＣｅｎｔｅｒ」から現在の主回転角「ＤＤＰＯＳ」を減算することで、主出力軸が中間角「ＦｅｅｄＣｅｎｔｅｒ」に達するまでの残り回転角「ＲｅｍＭａ」を算出する（Ｓ５４）。ＣＰＵ４４は、メインモータ１３の主出力軸が中間角「ＦｅｅｄＣｅｎｔｅｒ」に達するまでの所要時間Ｔａ（単位：分）を算出する（Ｓ５６）。
【００９７】
ＣＰＵ４４は、布送りモータ駆動中間位置「ＣＴＰｏｓ」から現在の布送り回転角「ＲＥＬＰＯＳ」を減算することで、布送り出力軸２４が布送りモータ駆動中間位置「ＣＴＰｏｓ」に達するまでの残り回転角「ＲｅｍＦａ」を算出する（Ｓ５８）。ＣＰＵ４４は、布送りモータ２３が残り回転角「ＲｅｍＦａ」を所要時間Ｔａで回動する為に必要な回転速度「ＳＰ２ａ」を算出する（Ｓ５９）。ＣＰＵ４４は処理を第四速度制御処理に戻す。
【００９８】
主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」以後であれば（Ｓ５２：ＮＯ）、ＣＰＵ４４は、布送り機構３２が布送り終端位置に達する時点の主回転角である終端角「ＦｅｅｄＥｎｄ」をＥＥＰＲＯＭ４７から取得する（Ｓ６２）。ＣＰＵ４４は、終端角「ＦｅｅｄＥｎｄ」から現在の主回転角「ＤＤＰＯＳ」を減算することで、主出力軸が終端角「ＦｅｅｄＥｎｄ」に達するまでの残り回転角「ＲｅｍＭｂ」を算出する（Ｓ６３）。ＣＰＵ４４は、主出力軸が終端角「ＦｅｅｄＥｎｄ」に達するまでの所要時間Ｔｂを算出する（Ｓ６５）。ＣＰＵ４４は、布送りモータ駆動終端位置「ＥＮＰｏｓ」から現在の布送り回転角「ＲＥＬＰＯＳ」を減算することで、布送り出力軸２４が布送りモータ駆動終端位置に達するまでの残り回転角「ＲｅｍＦｂ」を算出する（Ｓ６７）。ＣＰＵ４４は、布送りモータ２３が残り回転角「ＲｅｍＦｂ」を所要時間Ｔｂで回動する為に必要な回転速度「ＳＰ２ｂ」を算出する（Ｓ６８）。ＣＰＵ４４は処理を第四速度制御処理に戻す。
【００９９】
図１３の説明に戻る。ＣＰＵ４４は、回転速度「ＤＤＳｐｅｅｄ」が閾値である３０００（ｒｐｍ）より小さいか否かを判断する（Ｓ８８）。該閾値の値は３０００に限られないが、Ｓ８４の判断で用いる閾値よりも大きい必要がある。回転速度「ＤＤＳｐｅｅｄ」が３０００以上であれば（Ｓ８８：ＮＯ）、ＣＰＵ４４はＳ８７の第二速度算出処理で算出したＳＰ２ａ又はＳＰ２ｂを一次算出速度に決定する（Ｓ８９）。回転速度「ＤＤＳｐｅｅｄ」が３００より大きく、且つ３０００より小さければ（Ｓ８８：ＹＥＳ）、ＣＰＵ４４は、Ｓ８２とＳ８７で算出した回転速度「ＳＰ１ａ又はＳＰ１ｂ（以下ＳＰ１という）」と「ＳＰ２ａ又はＳＰ２ｂ（以下ＳＰ２という）」から特定の比率により布送りモータ２３の回転速度「ＳＰ３」を算出する（Ｓ９１、Ｓ９２）。具体的には、ＣＰＵ４４は、ＳＰ３に占めるＳＰ１の割合「ｒｔ」を以下の式で算出する（Ｓ９１）。
ｒｔ＝（３０００−ＤＤＳｐｅｅｄ）／２７００
ＣＰＵ４４は回転速度「ＳＰ３」を以下の式で算出する（Ｓ９２）。
ＳＰ３＝ｒｔ・ＳＰ１＋（１−ｒｔ）・ＳＰ２
回転速度「ＳＰ３」は、回転速度「ＤＤＳｐｅｅｄ」が３０００に近づく程、ＳＰ３に占めるＳＰ１の割合が小さくなり、ＳＰ２の割合が大きくなる。ＣＰＵ４４は算出した回転速度「ＳＰ３」を一次算出速度に決定し（Ｓ９３）、処理をＳ９５へ移行する。
【０１００】
ＣＰＵ４４は、布送りモータ２３に前回Ｓ９６又はＳ９８で指示した速度に対する一次算出速度の変化量が、前回の指示速度の１割以下であるか否かを判断する（Ｓ９５）。変化量が１割以下であれば（Ｓ９５：ＹＥＳ）、ＣＰＵ４４は一次算出速度でそのまま布送りモータ２３を駆動し（Ｓ９６）、処理をＳ８１へ戻す。変化量が１割よりも大きい場合（Ｓ９５：ＮＯ）、ＣＰＵ４４は、変化量が１割以下になる二次算出速度を算出する（Ｓ９７）。例えば、ＣＰＵ４４は前回の指示速度に０．９又は１．１の値を乗じることで二次算出速度を算出すればよい。ＣＰＵ４４は、Ｓ９７で算出した二次算出速度で布送りモータ２３を駆動し（Ｓ９８）、処理をＳ８１へ戻す。第四速度制御処理はミシン１の電源がオフとなると終了する。
【０１０１】
以上のように、第四実施形態のミシン１は、目標回転角と実際の回転角の偏差に応じて回転速度「ＳＰ１ａ／ＳＰ１ｂ」を算出する。ミシン１は、メインモータ１３の回転速度に基づいて回転速度「ＳＰ２ａ／ＳＰ２ｂ」を算出する。回転速度「ＳＰ１ａ／ＳＰ１ｂ」によれば、ミシン１はメインモータ１３が停止した場合又は作業者が手動で主軸１４を回動した場合でも適切に布送りモータ２３とメインモータ１３の同期を保つことができる。回転速度「ＳＰ２ａ／ＳＰ２ｂ」を考慮すれば、ミシン１は主軸１４の回転速度が増大している場合でも、適切な回転速度を布送りモータ２３に指示して２つのモータ１３、２３の同期を保つことができる。ミシン１はメインモータ１３の回転速度「ＤＤＳｐｅｅｄ」に応じて布送りモータ２３の制御方法を変えることで、より適切に布送り機構３２を駆動することができる。詳細には、ミシン１は、低速時に適した回転速度「ＳＰ１ａ／ＳＰ１ｂ」と高速時に適した回転速度「ＳＰ２ａ／ＳＰ２ｂ」の比率を回転速度「ＤＤＳｐｅｅｄ」に応じて変えて、布送りモータ２３の回転速度「ＳＰ３」を算出することができる。ミシン１は、回転速度「ＤＤＳｐｅｅｄ」が中間の速度（本実施形態では３００〜３０００）である場合、回転速度「ＳＰ１ａ／ＳＰ１ｂ」と回転速度「ＳＰ２ａ／ＳＰ２ｂ」を適切に考慮して回転速度「ＳＰ３」を算出できる。故に、ミシン１は回転速度「ＤＤＳｐｅｅｄ」に更に適した回転速度で布送りモータ２３を駆動することができる。
【０１０２】
第四実施形態において、図１３のＳ８１で主回転角を取得するＣＰＵ４４は本発明の主回転角検出部として機能する。図１４のＳ１３、Ｓ１９で布送り回転角を取得するＣＰＵ４４は布送り回転角検出部として機能する。図１３のＳ９１〜Ｓ９３、図１４のＳ１６、Ｓ２２、図１５のＳ５９、Ｓ６８で回転速度を算出するＣＰＵ４４は速度算出部として機能する。図１３のＳ９６、Ｓ９８で布送りモータ２３を駆動制御するＣＰＵ４４は駆動制御部として機能する。
【０１０３】
図１４のＳ１２、図１５のＳ５２で主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前であるか否かを判断するＣＰＵ４４は期間判断部として機能する。図１４のＳ１６、図１５のＳ５９で回転速度を算出するＣＰＵ４４は反転前速度算出部として機能する。図１４のＳＳ２２、図１５のＳ６８で回転速度を算出するＣＰＵ４４は反転後速度算出部として機能する。
【０１０４】
図１４のＳ１６、Ｓ２２で回転速度を算出するＣＰＵ４４は第一速度算出部として機能する。図１５のＳ５３、Ｓ６２で中間角「ＦｅｅｄＣｅｎｔｅｒ」及び終端角「ＦｅｅｄＥｎｄ」を取得するＣＰＵ４４は反転角取得部として機能する。図１５のＳ５４、Ｓ６３で残り回転角「ＲｅｍＭａ／ＲｅｍＭｂ」を算出するＣＰＵ４４は主回転角残量算出部として機能する。図１３のＳ８３で回転速度「ＤＤＳｐｅｅｄ」を取得するＣＰＵ４４は速度取得部として機能する。図１５のＳ５６、Ｓ６５で所要時間「Ｔａ／Ｔｂ」を算出するＣＰＵ４４は時間算出部として機能する。図１５のＳ５８、Ｓ６７で残り回転角「ＲｅｍＦａ／ＲｅｍＦｂ」を算出するＣＰＵ４４は「布送り回転角残量算出部」として機能する。図１５のＳ５９、Ｓ６８で回転速度「ＳＰ２ａ／ＳＰ２ｂ」を算出するＣＰＵ４４は第二速度算出部として機能する。図１３のＳ８４で「ＤＤＳｐｅｅｄ」が所定値以下であるか否かを判断するＣＰＵ４４は速度判断部として機能する。図１３のＳ８５、Ｓ９６、Ｓ９８で回転速度「ＳＰ１ａ／ＳＰ１ｂ」で布送りモータ２３を駆動するＣＰＵ４４は低速時駆動部として機能する。図１３のＳ８９、Ｓ９３、Ｓ９６、Ｓ９８で回転速度「ＳＰ２ａ／ＳＰ２ｂ」又は「ＳＰ３」で布送りモータ２３を駆動するＣＰＵ４４は高速時駆動部として機能する。図１３のＳ９１、Ｓ９２で回転速度「ＳＰ３」を算出するＣＰＵ４４は第三速度算出部として機能する。
【０１０５】
図１３のＳ８１で主回転角を取得する処理は本発明の主回転角検出ステップに相当する。図１４のＳ１３、Ｓ１９で布送り回転角を取得する処理は布送り回転角検出ステップに相当する。図１４のＳ１２、図１５のＳ５２で主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前であるか否かを判断する処理は期間判断ステップに相当する。図１４のＳ１３〜Ｓ１６、図１５のＳ５３〜Ｓ５９で回転速度を算出する処理は反転前速度算出ステップに相当する。図１４のＳ１９〜Ｓ２２、図１５のＳ６２〜Ｓ６８で回転速度を算出する処理は反転後速度算出ステップに相当する。
【０１０６】
上記実施形態は様々な変形が可能である。第一〜第三実施形態のミシン１は、主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」以後である場合のみ、算出した回転速度と前回の指示速度の変化量を判断する。故に、ミシン１は、布送り出力軸２４が一方向に回動している途中で回転速度が急激に変化することの影響を抑制できる。しかし、ミシン１は、主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前である場合にも変化量が閾値以下であるか否かを判断し、判断結果に応じた処理を行ってもよい。一方、第四実施形態のミシン１は、主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前であるか否かに関わらず、変化量が閾値以下であるか否かを判断し、判断結果に応じて処理を行っている。しかし、第四実施形態のミシン１も第一〜第三実施形態のミシン１と同様に、主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」以後である場合のみ上記判断、処理を行ってもよい。
【０１０７】
上記実施形態のミシン１は、主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前である場合、及び中間角「ＦｅｅｄＣｅｎｔｅｒ」以後である場合の各々で、主回転角と布送り回転角を用いて回転速度を算出する。故に、布送り機構３２の往路、復路の両方で、メインモータ１３と布送りモータ２３は同期する。しかし、ミシン１は、送り歯３３が針板１５の上方を移動して布を送る間のみ、２つのモータ１３、２３の同期を保持することも可能である。
【０１０８】
上記実施形態のミシン１は、主回転角「ＤＤＰＯＳ」が中間角「ＦｅｅｄＣｅｎｔｅｒ」よりも前である場合と後である場合（反転前、反転後）の各々で、布送り回転角「ＲＥＬＰＯＳ」を取得する処理等を行う。しかし、反転前と反転後で共通する処理はまとめて行ってもよい。例えば、図９のＳ１３〜Ｓ１５とＳ１９〜Ｓ２１は、Ｓ１２の処理の前にまとめて行ってもよい。
【０１０９】
上記実施形態のミシン１はメインモータ１３で布送り機構３２を上下に移動する。故に、布送り機構３２の上下動と縫針８の上下動は機械的に同期する。しかし、本発明は、布送り機構３２を上下動するモータ（具体的には、図３の上下送り軸２７を回動するモータ）をメインモータ１３とは別に備えたミシンにも適用できる。
【０１１０】
回転速度の具体的な算出方法は変更してもよい。例えば、上記第四実施形態のミシン１は、回転速度「ＤＤＳｐｅｅｄ」の値に比例してＳＰ２の割合が増加するようにＳＰ３を算出する（図１３のＳ９１、Ｓ９２参照）。回転速度「ＤＤＳｐｅｅｄ」の値とＳＰ２の割合は比例しなくてもよい。ミシン１は、回転速度「ＤＤＳｐｅｅｄ」の値とＳＰ１、ＳＰ２の割合とを対応付けるテーブルをＲＯＭ４５等に記憶し、回転速度「ＤＤＳｐｅｅｄ」の値に対応する割合をテーブルから取得してＳＰ３を算出してもよい。図９のＳ１６、Ｓ２２、図１１のＳ１６、Ｓ２２、図１４のＳ１６、Ｓ２２で偏差から「ＳＰ１ａ／ＳＰ１ｂ」を算出する方法は変更できる。ミシン１は偏差と「ＳＰ１ａ／ＳＰ１ｂ」の値を対応付けるテーブルを用いて「ＳＰ１ａ／ＳＰ１ｂ」を算出してもよい。
【０１１１】
図１３に示す第四速度制御処理の処理順は変更できる。例えば、ミシン１は第四速度制御処理の開始直後にメインモータ１３の回転速度「ＤＤＳｐｅｅｄ」を取得し、ＳＰ１、ＳＰ２、ＳＰ３の何れを使用して布送りモータ２３を駆動するかを判断してもよい。ミシン１は、使用すると判断した回転速度を以後の処理で算出し、布送りモータ２３を駆動してもよい。第四速度制御処理では、ＣＰＵ４４は、布送り出力軸２４の目標回転角と実際の布送り回転角の偏差を用いて布送りモータ２３の回転速度を算出する（Ｓ１３〜Ｓ１６）。ＣＰＵ４４は、主出力軸の目標回転角と実際の主回転角の偏差を用いて回転速度を算出してもよい。
【０１１２】
動力伝達機構３５の構成は変更できる。例えば、第一腕部３７、第二腕部３９の代わりに、一往復の動作で作用腕部３８を二往復する（往路、復路の夫々で作用腕部３８を一往復する）カム機構等を用いてもよい。
【符号の説明】
【０１１３】
１    ミシン
７    針棒
８    縫針
１０    操作部
１３    メインモータ
１４    主軸
１５    針板
２２    ペダル
２３    布送りモータ
２４    布送り出力軸
３２    布送り機構
３３    送り歯
３５    動力伝達機構
４４    ＣＰＵ
４５    ＲＯＭ
４７    ＥＥＰＲＯＭ
５５    メインエンコーダ
５６    布送りエンコーダ
【図１】
2013022362.tif 000003
【図２】
2013022362.tif 000004
【図３】
2013022362.tif 000005
【図４】
2013022362.tif 000006
【図５】
2013022362.tif 000007
【図６】
2013022362.tif 000008
【図７】
2013022362.tif 000009
【図８】
2013022362.tif 000010
【図９】
2013022362.tif 000011
【図１０】
2013022362.tif 000012
【図１１】
2013022362.tif 000013
【図１２】
2013022362.tif 000014
【図１３】
2013022362.tif 000015
【図１４】
2013022362.tif 000016
【図１５】
2013022362.tif 000017