主出力軸を有し、前記主出力軸を回動することで、縫針を上下動する主軸を駆動するメインモータと、布送り出力軸を有し、前記布送り出力軸を所定角度の範囲で回動する布送りモータと、布を水平方向に送る布送り機構とを備えたミシンにおいて、前記布送り出力軸の一方向及び逆方向への夫々の回動動作を、前記布送り機構が水平に一往復揺動する揺動運動に変換して、前記布送りモータの動力を前記布送り機構に伝達する動力伝達機構と、前記主出力軸の回転角である主回転角を検出する主回転角検出部と、前記布送り出力軸の回転角である布送り回転角を検出する布送り回転角検出部と、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する速度算出部と、前記速度算出部が算出した前記回転速度で前記布送りモータを駆動制御し、前記動力伝達機構を介して前記布送り機構を揺動する駆動制御部とを備えるミシン。前記動力伝達機構が、前記布送り出力軸の一方向及び逆方向への夫々一回の回動動作を、前記布送り機構の一往復の揺動運動に変換する期間のうち、前記布送り機構の揺動方向が反転する前の期間である反転前期間、及び反転した後の期間である反転後期間の何れであるかを判断する期間判断部と、前記期間判断部が前記反転後期間であると判断した場合に、前記速度算出部が算出した前記回転速度の速度変化の変化量が閾値より大きいか否かを判断する変化量判断部と、前記変化量が前記閾値より大きいと前記変化量判断部が判断した場合に、前記変化量が前記閾値以下となる回転速度を算出し、前記布送りモータの速度変化後の回転速度に設定する変化量制限部とを更に備える請求項1に記載のミシン。前記速度算出部は、前記期間判断部が前記反転前期間であると判断した場合に、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転前速度算出部と、前記期間判断部が前記反転後期間であると判断した場合に、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転後速度算出部とを備える請求項2に記載のミシン。主回転角に対応して前記布送り出力軸が位置すべき目標回転角を、前記主回転角検出部が検出した前記主回転角から設定する布送り目標角設定部と、前記布送り目標角設定部が設定した前記目標回転角と、前記布送り回転角検出部が検出した前記布送り回転角の偏差を算出する布送り偏差算出部とを更に備え、前記速度算出部は前記偏差に基づいて前記回転速度を算出する第一速度算出部を備える請求項1から3の何れか一つに記載のミシン。布送り回転角に対応して前記主出力軸が位置すべき目標回転角を、前記布送り回転角検出部が検出した前記布送り回転角から設定する主目標角設定部と、前記主目標角設定部が設定した前記目標回転角と、前記主回転角検出部が検出した前記主回転角の偏差を算出する主偏差算出部とを更に備え、前記速度算出部は前記偏差に基づいて前記回転速度を算出する第一速度算出部を備える請求項1から3の何れか一つに記載のミシン。前記布送り機構が揺動方向の反転位置に次回達する時点で前記主出力軸が位置すべき主回転角である反転角を取得する反転角取得部と、前記反転角取得部が取得した前記反転角と前記主回転角検出部が検出した前記主回転角とに基づいて、前記主出力軸が前記反転角に達するまでの残り回転角を算出する主回転角残量算出部と、前記メインモータの回転速度である主回転速度を取得する速度取得部と、前記主回転角残量算出部が算出した前記残り回転角と、前記速度取得部が取得した前記主回転速度とに基づいて、前記主出力軸が前記反転角に達するまでの所要時間を算出する時間算出部と、前記布送り回転角検出部が検出した前記布送り回転角から、前記布送り機構が前記反転位置に達するまでの前記布送りモータの残り回転角を算出する布送り回転角残量算出部とを更に備え、前記速度算出部は、前記布送り回転角残量算出部が算出した前記残り回転角を前記時間算出部が算出した前記所要時間で前記布送りモータが回動する為に必要な前記回転速度を算出する第二速度算出部を備える請求項1から3の何れか一つに記載のミシン。前記布送り機構が揺動方向の反転位置に次回達する時点で前記主出力軸が位置すべき主回転角である反転角を取得する反転角取得部と、前記反転角取得部が取得した前記反転角と前記主回転角検出部が検出した前記主回転角とに基づいて、前記主出力軸が前記反転角に達するまでの残り回転角を算出する主回転角残量算出部と、前記メインモータの回転速度である主回転速度を取得する速度取得部と、前記主回転角残量算出部が算出した前記残り回転角と、前記速度取得部が取得した前記主回転速度とに基づいて、前記主出力軸が前記反転角に達するまでの所要時間を算出する時間算出部と、前記布送り回転角検出部が検出した前記布送り回転角から、前記布送り機構が前記反転位置に達するまでの前記布送りモータの残り回転角を算出する布送り回転角残量算出部とを更に備え、前記速度算出部は、前記布送り回転角残量算出部が算出した前記残り回転角を前記時間算出部が算出した前記所要時間で前記布送りモータが回動する為に必要な前記回転速度を算出する第二速度算出部を更に備え、前記駆動制御部は、前記速度取得部が取得した前記主回転速度が所定値以下であるか否かを判断する速度判断部と、前記主回転速度が前記所定値以下であると前記速度判断部が判断した場合に、前記第一速度算出部が算出した前記回転速度で前記布送りモータを駆動する低速時駆動部と、前記主回転速度が前記所定値よりも大きいと前記速度判断部が判断した場合に、少なくとも前記第二速度算出部が算出した前記回転速度に基づいて前記布送りモータを駆動する高速時駆動部とを更に備える請求項4又は5に記載のミシン。前記速度算出部は、前記布送りモータに指示する回転速度を、前記第一速度算出部が算出した前記回転速度と前記第二速度算出部が算出した前記回転速度とから、特定の比率により算出する第三速度算出部を更に備え、前記第三速度算出部は、前記主回転速度に応じて前記特定の比率を変えて前記布送りモータを駆動する回転速度を算出し、前記高速時駆動部は、前記主回転速度が前記所定値よりも大きいと前記速度判断部が判断した場合に、前記第三速度算出部が算出した回転速度で前記布送りモータを駆動する請求項7に記載のミシン。前記布送り機構における布送りの終端位置を設定可能な設定部を更に備える請求項1から8の何れか一つに記載のミシン。主出力軸を有し、前記主出力軸を回動することで、縫針を上下動する主軸を駆動するメインモータと、布送り出力軸を有し、前記布送り出力軸を所定角度の範囲で回動する布送りモータと、布を水平方向に送る布送り機構と、前記布送りモータの動力を前記布送り機構に伝達する動力伝達機構とを備えるミシンが実行するミシンの制御方法において、前記主出力軸の回転角である主回転角を検出する主回転角検出ステップと、前記布送り出力軸の回転角である布送り回転角を検出する布送り回転角検出ステップと、前記動力伝達機構が、前記布送り出力軸の一方向及び逆方向への夫々の回動動作を、前記布送り機構の水平方向における一往復の揺動運動に変換する期間のうち、前記布送り機構の水平の揺動方向が反転する前の期間である反転前期間、及び反転した後の期間である反転後期間の何れであるかを判断する期間判断ステップと、前記期間判断ステップで前記反転前期間であると判断した場合に、前記主回転角検出ステップで検出した前記主回転角と、前記布送り回転角検出ステップで検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転前速度算出ステップと、前記期間判断ステップで前記反転後期間であると判断した場合に、前記主回転角検出ステップで検出した前記主回転角と、前記布送り回転角検出ステップで検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転後速度算出ステップとを含むミシンの制御方法。従来のミシンは、送り歯が水平方向に一往復する毎に布送りモータの出力軸を所定角度の範囲で一往復する。故に、布送りモータの回動方向を頻繁に切り替えなければならず、布送りモータにかかる負荷は大きい。更に、従来のミシンでは、布送り動作の途中で作業者がペダル等を操作して主軸の回転速度を変える場合、布送りの速度は主軸の回転速度の変化に追従できず主軸の駆動と布送り機構の駆動の同期がずれる。主軸の駆動と布送り機構の駆動の同期がずれると、縫製の品質は悪化する。故に、従来のミシンは、布送りモータの回動方向の切替頻度を減らし、且つ主軸の駆動と布送り機構の駆動の同期を保持することはできなかった。本発明の目的は、布送りモータの回動方向の切替頻度を減らし、且つ主軸の駆動と布送り機構の駆動の同期を保持することができるミシン及びミシンの制御方法を提供することである。本発明の第一態様のミシンは、主出力軸を有し、前記主出力軸を回動することで、縫針を上下動する主軸を駆動するメインモータと、布送り出力軸を有し、前記布送り出力軸を所定角度の範囲で回動する布送りモータと、布を水平方向に送る布送り機構とを備えたミシンにおいて、前記布送り出力軸の一方向及び逆方向への夫々の回動動作を、前記布送り機構が水平に一往復揺動する揺動運動に変換して、前記布送りモータの動力を前記布送り機構に伝達する動力伝達機構と、前記主出力軸の回転角である主回転角を検出する主回転角検出部と、前記布送り出力軸の回転角である布送り回転角を検出する布送り回転角検出部と、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する速度算出部と、前記速度算出部が算出した前記回転速度で前記布送りモータを駆動制御し、前記動力伝達機構を介して前記布送り機構を揺動する駆動制御部とを備える。第一態様のミシンは、布送り出力軸を一往復回動する毎に、布送り機構を水平に二往復駆動できる。布送り出力軸を一往復回動する毎に布送り機構を一往復駆動する場合に比べて、布送りモータの回動方向の切替頻度は減少する。故に、布送りモータにかかる負荷は減少する。該ミシンは、主回転角と布送り回転角を用いて回転速度を算出することで、主軸の駆動と布送り機構の駆動の同期を保持できる。即ち、該ミシンは、布送りモータの回動方向の切替頻度を減らし、且つ主軸の駆動と布送り機構の駆動の同期を適切に保持することができる。前記ミシンは、前記動力伝達機構が、前記布送り出力軸の一方向及び逆方向への夫々一回の回動動作を、前記布送り機構の一往復の揺動運動に変換する期間のうち、前記布送り機構の揺動方向が反転する前の期間である反転前期間、及び反転した後の期間である反転後期間の何れであるかを判断する期間判断部と、前記期間判断部が前記反転後期間であると判断した場合に、前記速度算出部が算出した前記回転速度の速度変化の変化量が閾値より大きいか否かを判断する変化量判断部と、前記変化量が前記閾値より大きいと前記変化量判断部が判断した場合に、前記変化量が前記閾値以下となる回転速度を算出し、前記布送りモータの速度変化後の回転速度に設定する変化量制限部とを更に備えてもよい。本発明では、布送り機構の揺動方向は、布送り出力軸が一方向及び逆方向の夫々の回動動作を高速で行っている途中で反転する。故に、速度算出部は布送り機構の揺動方向の反転前後で大きく異なる速度を算出する場合がある。布送りモータは、回動中に急激な速度変化が生じると大きな負荷を受ける。本発明のミシンは、回転速度の変化量が閾値以下となるように、布送りモータの回転速度を設定することができる。故に、該ミシンは、急激な回転速度の変化により布送りモータに大きな負荷がかかることを防止できる。前記速度算出部は、前記期間判断部が前記反転前期間であると判断した場合に、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転前速度算出部と、前記期間判断部が前記反転後期間であると判断した場合に、前記主回転角検出部が検出した前記主回転角と、前記布送り回転角検出部が検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転後速度算出部とを備えてもよい。該ミシンは、布送り機構の揺動方向が反転する前後で別々に、主回転角と布送り回転角を用いて布送りモータの回転速度を算出する。故に、該ミシンは、布送り機構の揺動方向が反転する前後の各々の状況布送り量、布送りのタイミング等に応じた適切な回転速度を算出して2つのモータの同期を保持できる。該ミシンは、布送り機構の往路、復路で共に2つのモータの同期を保持する為、より確実に2つのモータの同期を保持できる。前記ミシンは、主回転角に対応して前記布送り出力軸が位置すべき目標回転角を、前記主回転角検出部が検出した前記主回転角から設定する布送り目標角設定部と、前記布送り目標角設定部が設定した前記目標回転角と、前記布送り回転角検出部が検出した前記布送り回転角の偏差を算出する布送り偏差算出部とを更に備えてもよい。前記速度算出部は前記偏差に基づいて前記回転速度を算出する第一速度算出部を備えてもよい。この場合、主軸の回転速度が変化しても、布送りモータはメインモータとの同期を保って回動する。故に、該ミシンは、縫製の速度が変化しても、主軸の駆動と布送り機構の駆動の同期を適切に保持できる。特に、該ミシンはメインモータが停止した場合又は作業者が手動で主軸を回動した場合でも適切に布送りモータとメインモータの同期を保つことができる。前記ミシンは、布送り回転角に対応して前記主出力軸が位置すべき目標回転角を、前記布送り回転角検出部が検出した前記布送り回転角から設定する主目標角設定部と、前記主目標角設定部が設定した前記目標回転角と、前記主回転角検出部が検出した前記主回転角の偏差を算出する主偏差算出部とを更に備えてもよい。前記速度算出部は前記偏差に基づいて前記回転速度を算出する第一速度算出部を備えてもよい。この場合、主軸の回転速度が変化した場合でも、布送りモータはメインモータとの同期を保って回動する。故に、該ミシンは、縫製の速度が変化しても、主軸の駆動と布送り機構の駆動の同期を適切に保持できる。特に、該ミシンはメインモータが停止した場合又は作業者が手動で主軸を回動した場合でも適切に布送りモータとメインモータの同期を保つことができる。前記ミシンは、前記布送り機構が揺動方向の反転位置に次回達する時点で前記主出力軸が位置すべき主回転角である反転角を取得する反転角取得部と、前記反転角取得部が取得した前記反転角と前記主回転角検出部が検出した前記主回転角とに基づいて、前記主出力軸が前記反転角に達するまでの残り回転角を算出する主回転角残量算出部と、前記メインモータの回転速度である主回転速度を取得する速度取得部と、前記主回転角残量算出部が算出した前記残り回転角と、前記速度取得部が取得した前記主回転速度とに基づいて、前記主出力軸が前記反転角に達するまでの所要時間を算出する時間算出部と、前記布送り回転角検出部が検出した前記布送り回転角から、前記布送り機構が前記反転位置に達するまでの前記布送りモータの残り回転角を算出する布送り回転角残量算出部とを更に備えてもよい。前記速度算出部は、前記布送り回転角残量算出部が算出した前記残り回転角を前記時間算出部が算出した前記所要時間で前記布送りモータが回動する為に必要な前記回転速度を算出する第二速度算出部を備えてもよい。この場合、布送り機構が反転位置に達する時点は、メインモータの出力軸が反転角に達する時点に一致する。故に、ミシンは、縫製の速度が変化しても、主軸の駆動と布送り機構の駆動の同期を適切に保持できる。特に、主軸の速度が増大している場合でも、該ミシンは2つのモータの同期を正確に保つことができる。前記ミシンは、前記布送り機構が揺動方向の反転位置に次回達する時点で前記主出力軸が位置すべき主回転角である反転角を取得する反転角取得部と、前記反転角取得部が取得した前記反転角と前記主回転角検出部が検出した前記主回転角とに基づいて、前記主出力軸が前記反転角に達するまでの残り回転角を算出する主回転角残量算出部と、前記メインモータの回転速度である主回転速度を取得する速度取得部と、前記主回転角残量算出部が算出した前記残り回転角と、前記速度取得部が取得した前記主回転速度とに基づいて、前記主出力軸が前記反転角に達するまでの所要時間を算出する時間算出部と、前記布送り回転角検出部が検出した前記布送り回転角から、前記布送り機構が前記反転位置に達するまでの前記布送りモータの残り回転角を算出する布送り回転角残量算出部とを更に備えてもよい。前記速度算出部は、前記布送り回転角残量算出部が算出した前記残り回転角を前記時間算出部が算出した前記所要時間で前記布送りモータが回動する為に必要な前記回転速度を算出する第二速度算出部を更に備えてもよい。前記駆動制御部は、前記速度取得部が取得した前記主回転速度が所定値以下であるか否かを判断する速度判断部と、前記主回転速度が前記所定値以下であると前記速度判断部が判断した場合に、前記第一速度算出部が算出した前記回転速度で前記布送りモータを駆動する低速時駆動部と、前記主回転速度が前記所定値よりも大きいと前記速度判断部が判断した場合に、少なくとも前記第二速度算出部が算出した前記回転速度に基づいて前記布送りモータを駆動する高速時駆動部とを更に備えてもよい。該ミシンは、出力軸が位置すべき回転角と、該出力軸が実際に位置する回転角の偏差に応じて、布送りモータの回転速度第一速度を算出できる。更に、ミシンはメインモータの回転速度に基づいて布送りモータの回転速度第二速度を算出できる。第一速度によれば、ミシンはメインモータが停止した場合又は作業者が手動で主軸を回動した場合でも適切に布送りモータとメインモータの同期を保つことができる。第二速度を考慮すれば、主軸の速度が増大している場合でも、ミシンは2つのモータの同期を正確に保つことができる。ミシンは、メインモータの回転速度に応じて布送りモータの制御方法を変えることで、より適切に布送り機構を駆動することができる。前記速度算出部は、前記布送りモータに指示する回転速度を、前記第一速度算出部が算出した前記回転速度と前記第二速度算出部が算出した前記回転速度とから、特定の比率により算出する第三速度算出部を更に備えてもよい。前記第三速度算出部は、前記主回転速度に応じて前記特定の比率を変えて前記布送りモータを駆動する回転速度を算出してもよい。前記高速時駆動部は、前記主回転速度が前記所定値よりも大きいと前記速度判断部が判断した場合に、前記第三速度算出部が算出した回転速度で前記布送りモータを駆動してもよい。該ミシンは、低速時に適した第一速度と高速時に適した第二速度との比率を主回転速度に応じて変えて、布送りモータの回転速度を算出することができる。故に、メインモータの回転速度に更に適した回転速度で布送りモータを駆動することができる。前記ミシンは、前記布送り機構における布送りの終端位置を設定可能な設定部を更に備えてもよい。作業者は布送り量を自由に設定できる。ミシンは、作業者が設定した布送り量に応じて布送り機構の動作を適切に制御できる。本発明の第二態様に係るミシンの制御方法は、主出力軸を有し、前記主出力軸を回動することで、縫針を上下動する主軸を駆動するメインモータと、布送り出力軸を有し、前記布送り出力軸を所定角度の範囲で回動する布送りモータと、布を水平方向に送る布送り機構と、前記布送りモータの動力を前記布送り機構に伝達する動力伝達機構とを備えるミシンが実行するミシンの制御方法において、前記主出力軸の回転角である主回転角を検出する主回転角検出ステップと、前記布送り出力軸の回転角である布送り回転角を検出する布送り回転角検出ステップと、前記動力伝達機構が、前記布送り出力軸の一方向及び逆方向への夫々の回動動作を、前記布送り機構の水平方向における一往復の揺動運動に変換する期間のうち、前記布送り機構の水平の揺動方向が反転する前の期間である反転前期間、及び反転した後の期間である反転後期間の何れであるかを判断する期間判断ステップと、前記期間判断ステップで前記反転前期間であると判断した場合に、前記主回転角検出ステップで検出した前記主回転角と、前記布送り回転角検出ステップで検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転前速度算出ステップと、前記期間判断ステップで前記反転後期間であると判断した場合に、前記主回転角検出ステップで検出した前記主回転角と、前記布送り回転角検出ステップで検出した前記布送り回転角とを用いて、前記布送りモータに指示する回転速度を算出する反転後速度算出ステップとを含む。第二態様のミシンの制御方法によると、ミシンは布送り出力軸を一往復回動する毎に、布送り機構を水平に二往復駆動できる。布送り出力軸を一往復回動する毎に布送り機構を一往復駆動する場合に比べて、布送りモータの回動方向の切替頻度は減少する。故に、布送りモータにかかる負荷は減少する。該ミシンは、布送り機構の揺動方向が反転する前後で別々に、主回転角と布送り回転角を用いて布送りモータの回転速度を算出する。故に、該ミシンは、布送り機構の揺動方向が反転する前後の各々の状況布送り量、布送りのタイミング等に応じた適切な回転速度を算出できる。該ミシンは、主回転角と布送り回転角を用いて回転速度を算出することで、主軸の駆動と布送り機構の駆動の同期を保持できる。即ち、該ミシンは、布送りモータの回動方向の切替頻度を減らし、且つ主軸の駆動と布送り機構の駆動の同期を適切に保持することができる。以下、本発明の第一実施形態について図面を参照して説明する。図1~図6を参照しミシン1の構成について説明する。図1の紙面上側、下側、右側、左側、表側、背面側は夫々ミシン1の上側、下側、右側、左側、前側、後側である。ミシン1はベッド部2、脚柱部3、アーム部4を備える。ベッド部2はミシン1の土台となる。ベッド部2はテーブル20上面の凹部図示略に上方から装着する。脚柱部3はベッド部2右端から鉛直上方に延びる。アーム部4は脚柱部3上端から左方に延びる。アーム部4はベッド部2上面に対向する。アーム部4は左端部下方に押え足17を装着する。アーム部4は内部に針棒7を保持する。針棒7は下端に縫針8図2参照を装着する。針棒7と縫針8はメインモータ13の駆動に従って上下に往復移動する。アーム部4は左端部前方に天秤9を備える。天秤9は針棒7に連動して上下動する。アーム部4は上部に操作部10を備える。操作部10は前面に液晶パネル11を備える。作業者は液晶パネル11を見ながら操作部10を操作し各種指示をミシン1に入力する。ミシン1はテーブル20下面に制御装置30を備える。制御装置30はロッド21を介して踏み込み式のペダル22に接続する。作業者はペダル22をつま先側又は踵側に操作する。制御装置30はペダル22の操作方向と操作量に応じてミシン1の動作を制御する。脚柱部3は右側面上部にメインモータ13を備える。アーム部4は内部に主軸14を備える。主軸14は回転可能な状態でアーム部4内部を左右方向に延びる。主軸14の右端はメインモータ13に接続する。主軸14の左端は針棒上下動機構図示略に接続する。メインモータ13は主軸14を駆動して針棒7と天秤9を上下動する。図2に示すように、ベッド部2は上面左端に針板15を備える。針板15は略中央部に針穴18を有する。縫針8の下端は下降時に針穴18を通過する。針板15は針穴18の左方、後方、右方の夫々に送り歯穴19を備える。送り歯穴19は前後方向に長い長方形状の穴である。ベッド部2は針板15の下方に釜機構図示略、布送りモータ23図3~図7参照、布送り機構32図3~図6参照、動力伝達機構35図3~図6参照を備える。図3を参照し布送りモータ23、布送り機構32、動力伝達機構35について説明する。図3の紙面上側、下側、左奥側、右手前側、右奥側、左手前側は夫々ミシン1の上側、下側、右側、左側、前側、後側である。図3に示すように、布送りモータ23は布送り機構32の右方に配置してある。布送りモータ23の布送り出力軸24はモータ本体から左方に延びる。布送りモータ23はステップモータであり、布送り出力軸24を所定角度の範囲で回動することができる。布送りモータ23は布送り機構32を前後方向に移動する。布送り機構32は送り台34、送り歯33を備える。送り台34は針板15図2参照の下方に位置し且つ針板15に対し平行である。送り台34は上面の中心近傍に送り歯33を備える。送り歯33は送り歯穴19図2参照の位置に対応する。送り歯33は前後方向に長い。送り歯33の前後方向の長さは送り歯穴19の長さより短い。送り歯33は押え足17図2参照との間で布を挟む為の凹凸を上部に備える。動力伝達機構35は、水平送り軸36、第一腕部37、作用腕部38、第二腕部39、接続部40を備える。水平送り軸36は布送りモータ23の左上方に回動可能に保持してある。水平送り軸36は左右方向に延びる。第一腕部37は布送り出力軸24に直交して連結する。作用腕部38は水平送り軸36の右端近傍に直交して連結する。水平送り軸36は作用腕部38の回動に伴って回動する。第二腕部39は、第一腕部37の先端と作用腕部38の先端の各々に回動可能な状態で連結する。接続部40は水平送り軸36の左端近傍から上方へ延びる。接続部40は、布送り機構32の送り台34の前端部に回動可能に連結する。図4~図6を参照し動力伝達機構35の作用について説明する。以下の説明では、布送り出力軸24の軸心をL、第一腕部37と第二腕部39の連結軸の軸心をM、第二腕部39と作用腕部38の連結軸の軸心をNとする。図4~図6のW1~W3の各々は、送り歯33の近傍を示す。前述のように、布送りモータ23は布送り出力軸24を所定角度の範囲で回動することができる。図4に示すように、布送り出力軸24は布送りを開始する時点で回動範囲の中間位置に位置している。布送り出力軸24が回動範囲の中間位置に位置している場合、側面視において、LとMを結ぶ直線直線LMとMとNを結ぶ直線直線MNは上下方向に一直線になる。故に、作用腕部38の先端部第二腕部39に連結する部分は可動範囲の上端に位置する。作用腕部38の先端部が上端に位置すると、接続部40の上端部は可動範囲の前端図4の右側の端部に位置する。故に、布送り機構32は可動範囲の前端に位置する。布送り出力軸24が図4の状態から左側面視時計回りに回動すると、直線LMと直線MNは屈曲する。直線LMと直線MNが成す角度の内小さい方の角度以下内角というは徐々に小さくなる。故に、作用腕部38の先端部は下降する。水平送り軸36は左側面視反時計回りに回動する。布送り機構32は後方に移動する。図5に示すように、布送り出力軸24が回動範囲の2つの端部の一方前方の端部に達すると、直線LMと直線MNの内角は最小となる。作用腕部38の先端部は可動範囲の下端に位置する。故に、布送り機構32は可動範囲の後端に位置する。布送り出力軸24が図5の状態から反転し左側面視反時計回りに回動すると、直線LMと直線MNの内角は徐々に大きくなる。故に、作用腕部38の先端部は上昇する。布送り機構32は前方に移動する。布送り出力軸24が回動範囲の中間位置に達すると、布送り機構32は図4に示す状態に戻り、可動範囲の前端に位置する。布送り出力軸24が図4の状態から更に左側面視反時計回りに回動すると、直線LMと直線LMの内角は再び減少し、布送り機構32は後方に移動する。図6に示すように、布送り出力軸24が回動範囲の後方の端部に達すると、布送り機構32は可動範囲の後端に位置する。以上のように、布送り出力軸24が回動範囲の一方の端部から他方の端部まで回動する毎に、布送り機構32は水平に一往復揺動する。布送りモータ23の動力は、直線LMと直線MNが一直線になっている方が作用腕部38に伝わり易い。即ち、布送りモータ23が受ける負荷は、布送り出力軸24が一方向への回動動作を行っている途中の方が、回動方向を反転する時点よりも小さい。故に、本実施形態のミシン1は、布送り出力軸24が一方向への回動動作を行う途中の中間位置図4に示す位置で布送りを開始すれば、布送りを円滑に行うことができる。図3~図6に示すように、ミシン1は布送り機構32の後方に上下送り軸27を備える。上下送り軸27は回動可能な状態で左右方向に延びる。上下送り軸27は水平送り軸36に対して平行に位置する。上下送り軸27は右端部にプーリ25を備える。プーリ25はタイミングベルト図示略を介して主軸14に連結してある。主軸14と上下送り軸27は同期を保持した状態で回動する。上下送り軸27は左端に偏心カム28を備える。偏心カム28は、上下送り軸27の回動に伴って布送り機構32を上下動する。ミシン1では、針棒7と縫針8が上下に一往復する間に送り歯33と送り台34は上下に一往復する。即ち、ミシン1では縫針8の上下動と送り歯33の上下動は機械的に同期する。送り台34が上昇すると、送り歯33は送り歯穴19図2参照から針板15の上方に突出し、押え足17との間に布を挟む。布が所定の厚み以下であれば、送り歯33が針板15の上方に位置している間、縫針8は布に刺さらない。縫製の実行中、ミシン1はメインモータ13と布送りモータ23の回転角位相を監視する。詳細は後述するが、ミシン1はメインモータ13と布送りモータ23の同期をとり、送り歯33が針板15の上方に位置している間に、縫製プログラムで規定してある量だけ布送りモータ23を駆動する。故に、布は縫針8が刺さっていない状態で前後方向に移動する。送り台34が下降すると、送り歯33は針板15の下方に位置する。送り歯33が針板15の下方に位置すれば、送り歯33が前後方向に移動しても布は移動しない。縫針8は、送り歯33が針板15の下方に位置している間に布に縫い目を形成する。以上のように、ミシン1は、布送り機構32の水平方向本実施形態では前後方向の駆動と縫針8の駆動を別のモータで実行する。故に、ミシン1は縫製中に送り歯33の水平方向の移動量を自由に制御できる。図7を参照しミシン1の電気的構成について説明する。ミシン1の制御装置30はCPU44を備える。CPU44はミシン1の制御を司る。CPU44はROM45、RAM46、EEPROM登録商標47、I/Oインターフェース以下I/Oという48とバスを介して接続する。ROM45は後述する布送り量設定処理図8参照、速度制御処理図9、11、12、13参照、動作確認処理図10参照を実行する為のプログラム等を記憶する。RAM46はプログラムを実行する為に必要な各種値を一時的に記憶する。EEPROM47は各種値を記憶する不揮発性の記憶装置である。I/O48はペダル22、操作部10に接続する。CPU44はペダル22の操作方向と操作量を入力する。CPU44は操作部10から作業者による操作指示を入力する。作業者は操作部10を操作することで、後述する布送り開始位置、布送り終端位置、布送り戻り位置を設定できる。I/O48は駆動回路51~53に接続する。駆動回路51は液晶パネル11を駆動する。駆動回路52は、CPU44から入力するトルク指令信号に応じてメインモータ13を駆動する。ミシン1はメインモータ13の回転角位相と回転速度を検出する為のメインエンコーダ55を備える。メインエンコーダ55はメインモータ13の回転角位相と回転速度の検出結果をI/O48に出力する。駆動回路53は、CPU44から入力する布送り駆動信号に応じて布送りモータ23を駆動する。布送りモータ23の布送り駆動信号はパルス信号である。ミシン1は布送りモータ23の回転角位相と回転速度を検出する為の布送りエンコーダ56を備える。布送りエンコーダ56は布送りモータ23の回転角位相と回転速度の検出結果をI/O48に出力する。図8~図10を参照し、第一実施形態のミシン1が実行する処理について説明する。ミシン1のCPU44はROM45に記憶しているプログラムに従って、図8に示す布送り量設定処理、図9に示す第一速度制御処理、図10に示す動作確認処理を実行する。ミシン1は上記3つの処理を並行して実行できる。図8を参照し布送り設定処理について説明する。布送り設定処理では、ミシン1は作業者による操作部10の操作に従って、布送り機構32詳細には送り歯33の布送り開始位置、布送り終端位置、布送り戻り位置を設定する。布送り開始位置は、布送り機構32が布送りの戻りを終了した後に反転し布に接触して布送りを開始する位置である。布送り終端位置は、布送り機構32が布送りを終了する位置である。布送り戻り位置は、布送り機構32が針板15の下方で布送りの戻りを開始する位置である。送り歯33の前後方向の移動量である布送り量は、布送り開始位置と布送り終端位置を設定することで定まる。ミシン1は、作業者が布送り開始位置、布送り終端位置、布送り戻り位置を夫々設定することで、布送り出力軸24の布送りモータ駆動中間位置、布送りモータ駆動終端位置、布送りモータ駆動開始位置を夫々求めることができる。更に、ミシン1は、布送りモータ23の駆動開始時のメインモータ13の回転角、駆動の中間位置におけるメインモータ13の回転角、駆動の終端位置におけるメインモータ13の回転角を設定できる。ミシン1の電源がオンとなると、CPU44は布送り量設定処理を開始する。CPU44は、布送り開始位置、布送り終端位置、布送り戻り位置の設定値を作業者が操作部10から入力したか否かを判断するS1。入力していなければS1:NO、CPU44は処理をS9の判断へ移行する。作業者が操作部10を操作して各設定値を入力するとS1:YES、CPU44は入力した値を布送り出力軸24の角度に換算する。CPU44は換算した値をEEPROM47に記憶することで、布送りモータ駆動開始位置STPosと布送りモータ駆動中間位置CTPosと布送りモータ駆動終端位置ENPosを設定するS2~S4。前述のように、布送り機構32は布送り出力軸24が布送りモータ駆動中間位置CTPos図4に示す状態にある時に布送りを開始する。布送り出力軸24が布送りモータ駆動開始位置STPos及び布送りモータ駆動終端位置ENPosにある場合、布送り機構32は図5又は図6に示す状態となる。CPU44は布送りモータ駆動中間位置CTPosから布送りモータ駆動終端位置ENPosまでの距離である布送り量Pitchを設定するS5。本実施形態では、布送りモータ駆動開始位置、布送りモータ駆動中間位置、布送りモータ駆動終端位置、布送り量は布送り出力軸24の角度で表す。前述のように、本実施形態では布送り出力軸24が片道一回の回動動作を行う毎に、布送り機構32は水平に一往復揺動する。故に、ミシン1は、出力軸24の2つの回動方向の各々について、布送りモータ駆動開始位置STPos、布送りモータ駆動中間位置CTPos、布送りモータ駆動終端位置ENPosを別々に設定する。尚、布送りモータ駆動開始位置、布送りモータ駆動中間位置、布送りモータ駆動終端位置、布送り量は、布送りモータ23のパルス数等の他の値で表してもよい。布送り量は布送り機構32の実際の移動量で表してもよい。布送り量は縫製プログラムに基づき予め設定したテーブルを用いてもよい。CPU44は、メインモータ13の出力軸以下主出力軸というの回転角以下主回転角というのうち、布送りモータ駆動開始位置から一意に定まる布送りモータ駆動開始時の主回転角である開始角FeedStartを設定するS6。CPU44は布送りモータ駆動中間位置から一意に定まる主回転角である中間角FeedCenterを設定するS7。CPU44は布送りモータ駆動終端位置から一意に定まる主回転角である終端角FeedEndを設定するS8。作業者が処理を終了する為の指示を入力していなければS9:NO、CPU44は処理をS1の判断へ戻す。作業者が終了指示を入力するとS9:YES、CPU44は布送り量設定処理を終了する。図9を参照し第一速度制御処理について説明する。第一速度制御処理では、ミシン1は布送り出力軸24の目標回転角と実際の回転角の偏差を算出する。ミシン1は算出した偏差に基づいて布送りモータ23の回転速度を算出する。故に、ミシン1では、布送りモータ23の回転速度はメインモータ13の回転速度の変化に追従できる。ミシン1の電源がオンとなると、CPU44は第一速度制御処理を開始する。CPU44は、現在のメインモータ13の主回転角DDPOSをメインエンコーダ55から取得するS11。CPU44は、S11で取得した主回転角DDPOSが中間角FeedCenterより前であるか否かを判断するS12。換言すると、CPU44は、主回転角DDPOSが開始角FeedStartと中間角FeedCenterの間にあるか否かを判断する。主回転角DDPOSが中間角FeedCenterより前であればS12:YES、CPU44は、一回の布送り期間中の反転前期間における布送りモータ23の回転速度を算出するS13~S17。一回の布送り期間は、動力伝達機構35が布送り出力軸24の一方向及び逆方向への夫々の回転動作を布送り機構32の一往復の揺動運動に変換する期間である。反転前期間は、一回の布送り期間のうち、布送り機構32の揺動方向が反転する前の期間である。布送り機構32は、反転前期間において送り歯33が布送り戻り位置から布送り開始位置まで戻る。詳細には、CPU44は、現在の布送りモータ23の布送り回転角RELPOSを布送りエンコーダ56から取得するS13。CPU44は、S11で取得した主回転角DDPOSに対応する布送り出力軸24が位置すべき布送り回転角である目標回転角POS1aを設定するS14。前述のように、ミシン1ではメインモータ13と布送りモータ23は同期する。故に、布送りモータ23の目標回転角は主回転角DDPOSから一意に定まる。目標回転角POS1aの設定方法について詳細に説明する。CPU44は、送り歯33が布送りの戻りを開始してから反転するまでの間に主出力軸が回動する角度FeedDeg<a>を、以下の式で算出する。FeedDeg<a>=FeedCenter-FeedStartFeedDeg<a>のうち、既に回動が終了した角度の割合は、DDPOS-FeedStart/FeedDeg<a>となる。故に、CPU44は目標回転角POS1aを以下の式で算出できる。POS1a=STPosCTPos-STPosDDPOS-FeedStart/FeedDeg<a>CPU44は、設定した目標回転角POS1aと、布送りエンコーダ56から取得した布送り回転角RELPOSの偏差を算出するS15。CPU44は、算出した偏差に基づいて、布送りモータ23に指示する回転速度SP1aを算出するS16。具体的には、CPU44は予め設定してある固定値の計数N1aを偏差に乗じることで回転速度SP1aを算出する。CPU44は、回転速度SP1aで布送りモータ23を駆動する為の布送り駆動信号を駆動回路53に出力し、布送りモータ23を駆動するS17。CPU44は処理をS11へ戻す。主回転角DDPOSが中間角FeedCenter以後であればS12:NO、CPU44は、一回の布送り期間中の反転後期間における布送りモータ23の回転速度を算出するS19~S28。反転後期間は、一回の布送り期間のうち、布送り機構32の揺動方向が反転した後の期間である。布送り機構32は、反転後期間において送り歯33が布送り開始位置から布送り終端位置まで移動して布を送る。CPU44は、現在の布送りモータ23の布送り回転角RELPOSを布送りエンコーダ56から取得するS19。CPU44は、S11で取得した主回転角DDPOSに対応する布送り出力軸24が位置すべき布送り回転角である目標回転角POS1bを設定するS20。目標回転角POS1bの設定方法について詳細に説明する。CPU44は、送り歯33が反転して布送りを開始してから布送り終端位置へ移動するまでの間に主出力軸が回動する角度FeedDeg<b>を、以下の式で算出する。FeedDeg<b>=FeedEnd-FeedCenterFeedDeg<b>のうち、既に回動が終了した角度の割合は、DDPOS-FeedCenter/FeedDeg<b>となる。故に、CPU44は目標回転角POS1bを以下の式で算出できる。POS1b=CTPosPitchDDPOS-FeedCenter/FeedDeg<b>CPU44は、設定した目標回転角POS1bと、布送りエンコーダ56から取得した布送り回転角RELPOSの偏差を算出するS21。CPU44は、算出した偏差に固定値の計数N1bを乗じることで回転速度SP1bを算出するS22。固定値N1bは、布送り機構32の特性等に応じて予め設定してある。N1aとN1bは各々別個に設定してある。CPU44は、布送りモータ23に前回S17、S25、S28の何れかで指示した速度に対する、S22で算出した回転速度SP1bの変化量が、前回の指示速度の1割以下であるか否かを判断するS24。尚、ミシン1は現在の布送りモータ23の回転速度を取得し、取得した現在の回転速度に対するSP1bの変化量が1割以下であるか否かを判断してもよい。判断する変化量は1割に限られず、所定の固定値であってもよい。変化量が1割以下であればS24:YES、CPU44はS22で算出した回転速度SP1bで布送りモータ23を駆動するS25。CPU44は処理をS11へ戻す。変化量が1割よりも大きい場合S24:NO、CPU44は、変化量が1割以下になるように回転速度SP1cを算出するS27。具体的には、回転速度SP1bが前回の指示速度から減速した場合、CPU44は、前回の指示速度に0.9を乗じることで回転速度SP1cを算出する。回転速度SP1bが前回の指示速度から加速した場合、CPU44は、前回の指示速度に1.1を乗じることで回転速度SP1cを算出する。CPU44は、S27で算出した回転速度SP1cで布送りモータ23を駆動するS28。故に、ミシン1は、布送り機構32の揺動方向が反転する前後で指示速度が急激に変化することを適切に防止できる。布送り機構32の揺動方向が反転すると、布送り機構32の送り歯33は針板15の上方に突出して布送り開始位置から布送り終端位置へ向けて移動を始める。従って、ミシン1は、布送りを開始する時に布送りモータ23の回転速度が急激に変化するのを防ぐことができる。CPU44は処理をS11へ戻す。第一速度制御処理は、ミシン1の電源がオフとなると終了する。図10を参照し動作確認処理について説明する。動作確認処理では、ミシン1はメインモータ13と布送りモータ23が同期しているか否かを確認し、同期していない場合にエラー処理を行う。ミシン1の電源がオンとなると、CPU44は動作確認処理を開始する。CPU44は、現在のメインモータ13の主回転角DDPOSをメインエンコーダ55から取得するS31。CPU44は、予め作業者が行った動作確認タイミングの設定内容を判断するS32、S33。本実施形態のミシン1では、作業者は操作部10を操作することで動作確認タイミングの設定を行うことができる。動作確認タイミングには常時確認と所定位置確認がある。常時確認は、所定間隔例えば、CPU44がS31~S44の処理を行う間隔、又はCPU44のクロック数に応じた所定時間毎に動作確認を行う。常時確認では、ミシン1はより正確に動作確認を行うことができる。所定位置確認は、布送り機構32の送り歯33が所定の動作確認位置に到達した際に動作確認を行う。所定位置確認では、ミシン1は必要なタイミングで効率よく動作確認を行うことができ、CPU44の処理負担は低下する。作業者は所定位置確認を行う場合、デフォルト位置及び任意位置の何れかの動作確認位置を設定できる。所定確認位置をデフォルト位置に設定した場合、動作確認位置は布送り機構32の送り歯33が針板15の板面から上昇する位置及び下降する位置である。布送り機構32は送り歯33が針板15よりも上方にある状態で布を送る。故に、送り歯33が針板15から上昇、下降する位置では、2つのモータ13、23の同期は特に重要である。所定確認位置をデフォルト位置に設定することで、ミシン1は特に重要なタイミングで効率よく動作確認を行うことができる。所定確認位置を任意位置に設定した場合、作業者は操作部10を操作して動作確認位置を任意に設定する。作業者が任意に設定可能な位置は、布送りモータ駆動中間位置CTPosと布送りモータ駆動終端位置ENPosの間の位置である。例えば、布が厚い場合、縫針8は布が薄い場合よりも早いタイミングで布に刺さる。布が厚い場合に所定確認位置をデフォルト位置に設定すると、布送り機構32の送り歯33が針板15の板面から下降する位置に到達する前に縫針8が布に刺さる場合がある。故に、2つのモータ13、23の同期がずれ、送り歯33の下降が遅れると、布は縫針8が刺さった状態で移動する。縫針8が布に刺さった状態で布が移動すると、縫針8は曲がる。曲がった縫針8は針穴18を通過せず針板15上面に接触して破損する場合がある。送り歯33が針板15から下降する位置よりも早いタイミングとなる位置に任意に動作確認位置を設定することで、ミシン1は布厚に応じてタイミングを変えて動作確認を行うことができる。所定確認位置を任意位置に設定することで、ミシン1は作業者が所望の確認位置で動作確認を行うことができる。動作確認タイミングの設定が常時確認でなければS32:NO、CPU44は、布送り機構32の位置が所定の動作確認位置であるか否かをメインモータ13の主回転角DDPOSから判断するS33。前述のように、ミシン1は、布送りモータ23の布送り回転角RELPOSがメインモータ13の主回転角DDPOSに同期するように布送りモータ23を駆動する図9参照。布送り機構32の位置は布送り回転角RELPOSから定まる。故に、ミシン1は布送り機構32が存在すべき位置をメインモータ13の主回転角DDPOSから判断できる。布送り機構32が所定の動作確認位置になければS33:NO、CPU44は処理をS31へ戻す。動作確認タイミングの設定が常時確認である場合S32:YES、又は布送り機構32が所定の動作確認位置にある場合S33:YES、CPU44は、S31で取得した現在の主回転角DDPOSが中間角FeedCenterより前であるか否かを判断するS34。中間角FeedCenterより前であればS34:YES、CPU44は布送り回転角RELPOSを布送りエンコーダ56から取得するS36。CPU44は、S31で取得した主回転角DDPOSに対応する布送り出力軸24の目標回転角POS1aを設定するS37。POS1aの設定方法は前述したS14図6参照と同様である。CPU44は、設定した目標回転角POS1aと、S36で取得した布送り回転角RELPOSの偏差を算出するS38。CPU44は、算出した偏差が閾値以下であるか否かを判断するS39。閾値は任意に設定できる。閾値は、作業者が操作部10を操作して変更できる値であってもよい。偏差が閾値以下であればS39:YES、CPU44はメインモータ13と布送りモータ23が同期していると判断し、処理をS31へ戻す。偏差が閾値よりも大きければS39:NO、CPU44は、2つのモータ13、23の同期がずれたことを示すエラー画面を液晶パネル11に表示するS46。故に、作業者は2つのモータ13、23の同期がずれたことを容易に把握して適切な対処を行うことができる。S46ではCPU44はエラー音をスピーカから出力してエラーを報知してもよい。CPU44は、メインモータ13と布送りモータ23の駆動を停止しS47、動作確認処理を終了する。主回転角DDPOSが中間角FeedCenter以後である場合S34:NO、CPU44は布送り回転角RELPOSを取得するS41。CPU44は、S31で取得した主回転角DDPOSに対応する布送り出力軸24の目標回転角POS1bを設定するS42。POS1bの設定方法は前述したS20図9参照と同様である。CPU44は、設定した目標回転角POS1bと、S41で取得した布送り回転角RELPOSの偏差を算出するS43。CPU44は、算出した偏差が閾値以下であるか否かを判断するS44。閾値は任意に設定できる。ミシン1は、布送り機構32が布に接触して布送りを行っている場合には、布送りを終了して布送り戻り位置から布送り開始位置へ移動している場合よりも厳密に同期を保持すべきである。従って、布送り機構32が布送りを行っている場合の閾値は、布送り戻り位置から布送り開始位置へ移動している場合の閾値よりも小さい値に設定するのが望ましい。偏差が閾値以下であればS44:YES、CPU44は処理をS31へ戻す。偏差が閾値よりも大きければS44:NO、CPU44はエラー画面を表示しS46、2つのモータ13、23の駆動を停止しS47、処理を終了する。尚、布送り量設定処理図8参照、第一速度制御処理図9参照、動作確認処理図10参照は、ミシン1の電源がオフとなると終了する。以上のように、第一実施形態のミシン1は、布送り出力軸24を一往復回動する毎に、布送り機構32を水平に二往復駆動できる。布送り出力軸24を一往復回動する毎に布送り機構32を一往復駆動する場合に比べて、布送りモータ23の回動方向の切替頻度は減少する。故に、布送りモータ23にかかる負荷は減少する。ミシン1は、主回転角と布送り回転角を用いて回転速度を算出することで、主軸14の駆動と布送り機構32の駆動の同期を保持できる。ミシン1は、布送りモータ23の回動方向の切替頻度を減らし、且つ主軸14と布送り機構32の駆動の同期を適切に保持することができる。本発明では、布送り機構32の揺動方向は、布送り出力軸24が一方向及び逆方向の夫々の回動動作を高速で行っている途中で反転する。ミシン1は、布送り機構32の揺動方向の反転前後で大きく異なる速度を算出する場合がある。布送りモータ23は、回動中に急激な速度変化が生じると大きな負荷を受ける。本実施形態のミシン1は、回転速度の変化量が閾値以下となるように、布送りモータ23の回転速度を設定することができる。故に、ミシン1は、急激な回転速度の変化により布送りモータ23に大きな負荷がかかることを防止できる。ミシン1は、布送り機構32の揺動方向が反転する前後で別々に、主回転角DDPOSと布送り回転角RELPOSを用いて、布送りモータ23に指示する回転速度を算出する。故に、ミシン1は、布送り機構32の揺動方向が反転する前後の各々の状況布送り量、布送りのタイミング等に応じた適切な回転速度を算出できる。該ミシンは、布送り機構32の往路、復路で共に2つのモータ13、23の同期を保持する為、より確実に2つのモータ13、23の同期を保持できる。第一実施形態のミシン1は、メインモータ13の主回転角DDPOSから布送り出力軸24が位置すべき目標回転角POS1a/POS1bを設定する。ミシン1は、設定した目標回転角POS1/POS1bと実際の布送りモータ23の布送り回転角RELPOSの偏差を算出する。ミシン1は算出した偏差に基づいて布送りモータ23の回転速度を算出する。メインモータ13及び主軸14の回転速度が変化した場合でも、布送りモータ23はメインモータ13との同期を保って駆動する。故に、ミシン1は縫製の速度が変化しても主軸14の駆動と布送り機構32の駆動の同期を保持できる。第一実施形態のミシン1はメインモータ13の回転速度を用いずに布送りモータ23の回転速度を算出できる。故に、第一実施形態のミシン1は、メインモータ13が停止した場合又は作業者が手動で主軸14を回動した場合でも適切に布送りモータ23とメインモータ13の同期を保つことができる。ミシン1では、作業者は布送りモータ駆動開始位置、布送りモータ駆動中間位置、布送りモータ駆動終端位置、布送り量を自由に設定できる。ミシン1は設定値に応じた適切な速度で布送りモータ23を駆動できる。第一実施形態において、図9のS11で主回転角を取得するCPU44は主回転角検出部として機能する。図9のS13、S19で布送り回転角を取得するCPU44は布送り回転角検出部として機能する。図9のS16、S22で布送りモータ23の回転速度を算出するCPU44は速度算出部として機能する。図9のS17、S25、S28で布送りモータを駆動制御するCPU44は駆動制御部として機能する。図9のS12で主回転角DDPOSが中間角FeedCenterよりも前であるか否かを判断するCPU44は期間判断部として機能する。図9のS24で回転速度の変化量を判断するCPU44は変化量判断部として機能する。図9のS27で変化量が閾値以下の回転速度を布送りモータ23の回転速度に設定するCPU44は変化量制限部として機能する。図9のS16で布送りモータ23の回転速度を算出するCPU44は反転前速度算出部として機能する。図9のS22で布送りモータ23の回転速度を算出するCPU44は反転後速度算出部として機能する。図9のS14、S20で目標回転角を設定するCPU44は布送り目標角設定部として機能する。図9のS15、S21で偏差を算出するCPU44は布送り偏差算出部として機能する。図8の布送り量設定処理を行うCPU44は設定部として機能する。図9のS16、S22で布送りモータ23の回転速度を偏差に基づいて算出するCPU44は第一速度算出部として機能する。図9のS11で主回転角を取得する処理は主回転角検出ステップに相当する。図9のS13、S19で布送り回転角を取得する処理は布送り回転角検出ステップに相当する。図9のS12で主回転角DDPOSが中間角FeedCenterよりも前であるか否かを判断する処理は期間判断ステップに相当する。図9のS13~S16で布送りモータ23の回転速度を算出する処理は反転前速度算出ステップに相当する。図9のS19~S22で布送りモータ23の回転速度を算出する処理は反転後速度算出ステップに相当する。図11を参照し、本発明の第二実施形態について説明する。第二実施形態のミシン1は、メインモータ13の主出力軸の目標回転角を、現在の布送り出力軸24の布送り回転角から設定する。該ミシン1は、設定した主出力軸の目標回転角と実際の主回転角の偏差を算出し、布送りモータ23の回転速度を算出する。前述した第一実施形態のミシン1は、布送り出力軸24の目標回転角を設定して回転速度を算出する。第二実施形態のミシン1は、主出力軸の目標回転角を用いる点が第一実施形態のミシン1と異なるのみであり、機械的構成、電気的構成、布送り量設定処理図8参照、動作確認処理図10参照等は第一実施形態と同一である。故に、第二実施形態の説明では、第一実施形態のミシン1と同一の構成、処理には同一の番号を付し、説明を省略又は簡略化する。ミシン1の電源がオンとなると、CPU44は第二速度制御処理を開始する。CPU44は、主出力軸の主回転角DDPOSを取得するS11。CPU44は、S11で取得した主回転角DDPOSが中間角FeedCenterよりも前であるか否かを判断するS12。DDPOSがFeedCenterよりも前であればS12:YES、CPU44は布送り回転角RELPOSを取得するS13。CPU44は、S13で取得した布送り回転角RELPOSに対応するメインモータ13の主出力軸が位置すべき主回転角である目標回転角POS2aを設定するS114。目標回転角POS2aの設定方法について詳細に説明する。送り歯33が前後方向の一方に移動する間に布送り出力軸24が回動する角度は、CTPos-STPosである。CTPos-STPosの内、既に回動が終了した角度の割合はRELPOS-STPos/CTPos-STPosとなる。CPU44は目標回転角POS2aを以下の式で算出できる。POS2a=FeedStartFeedCenter-FeedStartRELPOS-STPos/CTPos-STPosCPU44は、設定した目標回転角POS2aと、メインエンコーダ55から取得した主回転角DDPOSの偏差を算出するS115。CPU44は、S115で算出した偏差に基づいて、布送りモータ23に指示する回転速度を算出する為の変換値を算出するS116。具体的には、CPU44は、偏差にFeedCenter-FeedStart/CTPos-STPosを乗ずることで、布送り出力軸24が位置すべき目標回転角と布送り回転角RELPOSの偏差に相当する値に、S115で算出した偏差を変換する。CPU44は、S116で算出した変換値に基づいて、布送りモータ23に指示する回転速度SP1aを算出するS16。具体的には、CPU44は計数N1aを変換値に乗ずることで回転速度SP1aを算出する。CPU44は、算出した回転速度SP1aで布送りモータ23を駆動するS17。CPU44は処理をS11へ戻す。主回転角DDPOSが中間角FeedCenter以後であればS12:NO、CPU44は、現在の布送り回転角RELPOSを取得するS19。CPU44は、S19で取得した布送り回転角RELPOSに対応する主出力軸の目標回転角POS2bを、以下の式を用いて算出し設定するS120。POS2b=FeedCenterFeedEnd-FeedCenterRELPOS-CTPos/PitchCPU44は、設定した目標回転角POS2bと主回転角DDPOSの偏差を算出するS121。CPU44は、S121で算出した偏差にFeedEnd-FeedCenter/Pitchを乗ずることで、偏差を変換するS122。CPU44は、変換値に計数N1bを乗ずることで回転速度SP1bを算出するS22。CPU44は、布送りモータ23に前回指示した速度に対する回転速度SP1bの変化量が、前回の指示速度の1割以下であるか否かを判断するS24。変化量が1割以下であればS24:YES、CPU44は回転速度SP1bで布送りモータ23を駆動するS25。CPU44は処理をS11へ戻す。変化量が1割よりも大きい場合S24:NO、CPU44は、変化量が1割以下となる回転速度SP1cを算出するS27。CPU44はSP1cで布送りモータ23を駆動しS28、処理をS11へ戻す。第二速度制御処理はミシン1の電源がオフとなると終了する。以上のように、第二実施形態のミシン1は、布送り回転角RELPOSから主出力軸の目標回転角POS2a/POS2bを設定する。ミシン1は、設定した目標回転角と実際の主回転角DDPOSの偏差を算出する。ミシン1は算出した偏差に基づいて布送りモータ23の回転速度を算出する。メインモータ13と主軸14の回転速度が変化した場合でも、布送りモータ23はメインモータ13との同期を保って回動する。故に、ミシン1は縫製の速度が変化しても主軸14の駆動と布送り機構32の駆動の同期を保持できる。特に、第二実施形態のミシン1は、メインモータ13が停止した場合又は作業者が手動で主軸14を回動した場合でも適切に布送りモータ23とメインモータ13の同期を保つことができる。第二実施形態において、図11のS114、S120で目標回転角を設定するCPU44は主目標角設定部として機能する。図11のS115、S121で偏差を算出するCPU44は主偏差算出部として機能する。図11のS16、S22で布送りモータ23の回転速度を偏差に基づいて算出するCPU44は第一速度算出部として機能する。図12を参照し、本発明の第三実施形態について説明する。第三実施形態のミシン1は、メインモータ13の主出力軸が中間角FeedCenter又は終端角FeedEnd本発明の反転角に相当するに達するまでの所要時間を算出する。中間角FeedCenterは、布送り機構32が布送り開始位置で反転して布送りを開始する時点で主出力軸が位置すべき主回転角である。終端角FeedEndは、布送り機構32が布送りを終了して揺動方向を反転する位置布送り戻り位置に達した時点で主出力軸が位置すべき主回転角である。ミシン1は、布送り機構32が布送り開始位置又は布送り戻り位置に次に達するまでの布送り出力軸24の残り回転角を算出する。ミシン1は、算出した所要時間で布送りモータ23が残り回転角を回動する為の回転速度を算出する。第三実施形態のミシン1は、第一速度制御処理及び第二速度制御処理の代わりに第三速度制御処理を実行する点が、第一、第二実施形態と異なるのみである。故に、第三実施形態の説明では、第一、第二実施形態のミシン1と同一の構成及び処理には同一の番号を付し、説明を省略又は簡略化する。ミシン1の電源がオンとなると、CPU44は第三速度制御処理を開始する。CPU44は、メインモータ13の主回転角DDPOSをメインエンコーダ55から取得するS51。CPU44は、S51で取得した主回転角DDPOSが中間角FeedCenterよりも前であるか否かを判断するS52。即ち、CPU44は、主回転角DDPOSが開始角FeedStartと中間角FeedCenterの間であるか否かを判断する。中間角FeedCenterよりも前である場合S52:YES、CPU44は、反転前期間における布送りモータ23の回転速度を算出するS53~S59。詳細には、CPU44は、布送り機構32が布送り開始位置に達する時点の主回転角である中間角FeedCenterをEEPROM47から取得するS53。CPU44は、中間角FeedCenterから現在の主回転角DDPOSを減算することで、主出力軸が中間角FeedCenterに達するまでの残り回転角RemMaを算出するS54。CPU44は、メインモータ13の回転速度DDSpeed単位:rpmを取得するS55。回転速度は、第三速度制御処理と並行して実行する回転速度検出処理図示略で、メインエンコーダ55から取得した主回転角の変化量単位:回転数をサンプリング時間単位:分で割ることで算出している。CPU44は、メインモータ13の主出力軸が中間角FeedCenterに達するまでの所要時間Ta単位:分を以下の式で算出するS56。Ta=RemMa/360DDSpeedCPU44は、現在の布送りモータ23の布送り回転角RELPOSを布送りエンコーダ56から取得するS57。CPU44は、布送りモータ駆動中間位置CTPosから現在の布送り回転角RELPOSを減算することで、布送り出力軸24が布送りモータ駆動中間位置に達するまでの残り回転角RemFaを算出するS58。CPU44は、布送りモータ23が残り回転角RemFaを所要時間Taで回動する為に必要な回転速度SP2aを以下の式で算出するS59。SP2a=RemFa/360TaCPU44は、算出した回転速度SP2aで布送りモータ23を駆動するS60。CPU44は処理をS51へ戻す。主回転角DDPOSが中間角FeedCenter以後であればS52:NO、CPU44は反転後期間における布送りモータの回転速度を算出するS62~S72。詳細には、CPU44は、布送り機構32が布送り終端位置に達する時点の主回転角である終端角FeedEndをEEPROM47から取得するS62。CPU44は、終端角FeedEndから現在の主回転角DDPOSを減算することで、主出力軸が終端角FeedEndに達するまでの残り回転角RemMbを算出するS63。CPU44は、メインモータの回転速度DDSpeedを取得するS64。CPU44は、主出力軸が終端角FeedEndに達するまでの所要時間Tbを以下の式で算出するS65。Tb=RemMb/360DDSpeedCPU44は、現在の布送り回転角RELPOSを取得するS66。CPU44は、布送りモータ駆動終端位置ENPosから現在の布送り回転角RELPOSを減算することで、布送り出力軸24が布送りモータ駆動終端位置ENPosに達するまでの残り回転角RemFbを算出するS67。CPU44は、布送りモータ23が残り回転角RemFbを所要時間Tbで回動する為に必要な回転速度SP2bを以下の式で算出するS68。SP2b=RemFb/360TbCPU44は、布送りモータ23に前回S60、S71、S73の何れかで指示した速度に対する、S68で算出した回転速度SP2bの変化量が、前回の指示速度の1割以下であるか否かを判断するS69。変化量が1割以下であればS69:YES、CPU44はS68で算出した回転速度SP2bで布送りモータ23を駆動するS71。CPU44は処理をS51へ戻す。変化量が1割よりも大きい場合S69:NO、CPU44は、変化量が1割以下になる回転速度SP2cを算出するS72。例えば、回転速度SP2bが前回の指示速度から減速した場合、CPU44は前回の指示速度に0.9以上1.0未満の値を乗じることでSP2cを算出してもよい。回転速度SP2bが前回の指示速度から加速した場合、CPU44は前回の指示速度に1.0より大きく1.1以下の値を乗じることでSP2cを算出してもよい。CPU44は他の方法でSP2cを算出してもよい。CPU44は、S72で算出した回転速度SP2cで布送りモータ23を駆動するS73。CPU44は処理をS51へ戻す。第三速度制御処理は、ミシン1の電源がオフとなると終了する。以上のように、第三実施形態のミシン1は、メインモータ13の主出力軸が中間角又は終端角に達するまでの所要時間Ta/Tbを算出する。ミシン1は、布送り機構32が布送り開始位置又は布送り終端位置に次回達するまでの布送りモータ23の残り回転角RemFa/RemFbを算出する。ミシン1は、所要時間Ta/Tbで布送りモータ23が残り回転角RemFa/RemFbを回動する為の回転速度SP2a/SP2bを算出する。回転速度SP2a/SP2bで布送りモータ23を駆動することで布送りモータ23はメインモータ13に同期する。布送り出力軸24が布送りモータ駆動中間位置CTPos又は布送りモータ駆動終端位置ENPosに達する時点は、メインモータ13の主出力軸が反転角中間角FeedCenter又は終端角FeedEndに達する時点に一致する。故に、ミシン1は縫製の速度が変化しても主軸14の駆動と布送り機構32の駆動の同期を保持できる。第三実施形態のミシン1は、2つのモータ13、23の出力軸の位置と目標位置の偏差を用いない。第三実施形態のミシン1はメインモータ13の回転速度が増大している場合に偏差を用いずに2つのモータ13、23を適切に制御できる。第三実施形態において、図12のS51で主回転角を取得するCPU44は本発明の主回転角検出部として機能する。図12のS57、S66で布送り回転角を取得するCPU44は布送り回転角検出部として機能する。図12のS60、S71で布送りモータ23を駆動制御するCPU44は駆動制御部として機能する。図12のS52で主回転角DDPOSが中間角FeedCenterよりも前であるか否かを判断するCPU44は期間判断部として機能する。図12のS69で変化量を判断するCPU44は変化量判断部として機能する。図12のS72、S73で変化量が閾値以下となる回転速度を算出し設定するCPU44は変化量制限部として機能する。図12のS59で回転速度を算出するCPU44は反転前速度算出部として機能する。図12のS68で回転速度を算出するCPU44は反転後速度算出部として機能する。図12のS53、S62で中間角FeedCenter及び終端角FeedEndを取得するCPU44は反転角取得部として機能する。図12のS54、S63で残り回転角RemMa/RemMbを算出するCPU44は主回転角残量算出部として機能する。図12のS55、S64で回転速度DDSpeedを取得するCPU44は速度取得部として機能する。図12のS56、S65で所要時間Ta/Tbを算出するCPU44は時間算出部として機能する。図12のS58、S67で残り回転角RemFa/RemFbを算出するCPU44は布送り回転角残量算出部として機能する。図12のS59、S68で回転速度SP2a/SP2bを算出するCPU44は第二速度算出部として機能する。図12のS51で主回転角を取得する処理は本発明の主回転角検出ステップに相当する。図12のS57、S66で布送り回転角を取得する処理は布送り回転角検出ステップに相当する。図12のS52で主回転角DDPOSが中間角FeedCenterよりも前であるか否かを判断する処理は期間判断ステップに相当する。図12のS53~S59で回転速度を算出する処理は反転前速度算出ステップに相当する。図12のS62~S68で回転速度を算出する処理は反転後速度算出ステップに相当する。図13~図15を参照し、本発明の第四実施形態について説明する。第四実施形態のミシン1は、目標回転角と実際の回転角の偏差に応じて回転速度SP1a/SP1bを算出する。ミシン1は、メインモータ13の回転速度に基づいて回転速度SP2a/SP2bを算出する。ミシン1はメインモータ13の回転速度に応じて布送りモータ23の制御方法を変える。第四実施形態のミシン1は、第一~第三速度制御処理の代わりに第四速度制御処理を実行する点が、第一~第三実施形態と異なるのみである。故に、第四実施形態の説明では、第一~第三実施形態のミシン1と同一の構成及び処理には同一の番号を付し、説明を省略又は簡略化する。ミシン1の電源がオンとなると、CPU44は図13に示す第四速度制御処理を開始する。CPU44はメインモータ13の主回転角DDPOSをメインエンコーダ55から取得するS81。CPU44は第一速度算出処理を実行するS82。第一速度算出処理は目標回転角と実際の回転角の偏差に応じて回転速度を算出する処理である。第一速度算出処理の内容は、第一実施形態における第一速度制御処理図9参照の内容と略同一である。図14に示すように、CPU44は、S81図13参照で取得した主回転角DDPOSが中間角FeedCenterより前であるか否かを判断するS12。主回転角DDPOSが中間角FeedCenterより前であればS12:YES、CPU44は、現在の布送りモータ23の布送り回転角RELPOSを布送りエンコーダ56から取得するS13。CPU44は、S81で取得した主回転角DDPOSに対応する布送り出力軸24が位置すべき布送り回転角である目標回転角POS1aを設定するS14。CPU44は、設定した目標回転角POS1aと、布送りエンコーダ56から取得した布送り回転角RELPOSの偏差を算出するS15。CPU44は、予め設定してある固定値の計数N1aを偏差に乗じることで回転速度SP1aを算出するS16。CPU44は処理を第四速度制御処理へ戻す。主回転角DDPOSが中間角FeedCenter以後であればS12:NO、CPU44は、現在の布送りモータ23の布送り回転角RELPOSを布送りエンコーダ56から取得するS19。CPU44は、S81で取得した主回転角DDPOSに対応する布送り出力軸24が位置すべき布送り回転角である目標回転角POS1bを設定するS20。CPU44は、設定した目標回転角POS1bと、布送りエンコーダ56から取得した布送り回転角RELPOSの偏差を算出するS21。CPU44は、算出した偏差に固定値の計数N1bを乗じることで回転速度SP1bを算出するS22。CPU44は処理を第四速度制御処理へ戻す。図13の説明に戻る。CPU44は、メインモータ13の回転速度DDSpeedを取得するS83。CPU44は回転速度DDSpeedが閾値である300rpm以下であるか否かを判断するS84。閾値の値は300に限られない。閾値の値は、作業者が操作部10を操作することで変更できてもよい。回転速度DDSpeedが300以下であればS84:YES、CPU44はS82の第一速度算出処理で算出したSP1a又はSP1bを一次算出速度に決定するS85。一次算出速度とは、前回の指示速度に対する変化量が閾値以下である場合にそのまま布送りモータ23の回転速度として採用される速度である。CPU44は処理をS95へ移行する。回転速度DDSpeedが300より大きければS84:NO、CPU44は第二速度算出処理を実行するS87。第二速度算出処理は、メインモータ13の回転速度に基づいて布送りモータ23の回転速度を算出する処理である。第二速度算出処理の内容は、第三実施形態における第三速度制御処理図12参照の内容と略同一である。図15に示すように、CPU44は、S81図13参照で取得した主回転角DDPOSが中間角FeedCenterよりも前であるか否かを判断するS52。中間角FeedCenterよりも前である場合S52:YES、CPU44は、布送り機構32が布送り開始位置に達する時点の主回転角である中間角FeedCenterをEEPROM47から取得するS53。CPU44は、中間角FeedCenterから現在の主回転角DDPOSを減算することで、主出力軸が中間角FeedCenterに達するまでの残り回転角RemMaを算出するS54。CPU44は、メインモータ13の主出力軸が中間角FeedCenterに達するまでの所要時間Ta単位:分を算出するS56。CPU44は、布送りモータ駆動中間位置CTPosから現在の布送り回転角RELPOSを減算することで、布送り出力軸24が布送りモータ駆動中間位置CTPosに達するまでの残り回転角RemFaを算出するS58。CPU44は、布送りモータ23が残り回転角RemFaを所要時間Taで回動する為に必要な回転速度SP2aを算出するS59。CPU44は処理を第四速度制御処理に戻す。主回転角DDPOSが中間角FeedCenter以後であればS52:NO、CPU44は、布送り機構32が布送り終端位置に達する時点の主回転角である終端角FeedEndをEEPROM47から取得するS62。CPU44は、終端角FeedEndから現在の主回転角DDPOSを減算することで、主出力軸が終端角FeedEndに達するまでの残り回転角RemMbを算出するS63。CPU44は、主出力軸が終端角FeedEndに達するまでの所要時間Tbを算出するS65。CPU44は、布送りモータ駆動終端位置ENPosから現在の布送り回転角RELPOSを減算することで、布送り出力軸24が布送りモータ駆動終端位置に達するまでの残り回転角RemFbを算出するS67。CPU44は、布送りモータ23が残り回転角RemFbを所要時間Tbで回動する為に必要な回転速度SP2bを算出するS68。CPU44は処理を第四速度制御処理に戻す。図13の説明に戻る。CPU44は、回転速度DDSpeedが閾値である3000rpmより小さいか否かを判断するS88。該閾値の値は3000に限られないが、S84の判断で用いる閾値よりも大きい必要がある。回転速度DDSpeedが3000以上であればS88:NO、CPU44はS87の第二速度算出処理で算出したSP2a又はSP2bを一次算出速度に決定するS89。回転速度DDSpeedが300より大きく、且つ3000より小さければS88:YES、CPU44は、S82とS87で算出した回転速度SP1a又はSP1b以下SP1というとSP2a又はSP2b以下SP2というから特定の比率により布送りモータ23の回転速度SP3を算出するS91、S92。具体的には、CPU44は、SP3に占めるSP1の割合rtを以下の式で算出するS91。rt=3000-DDSpeed/2700CPU44は回転速度SP3を以下の式で算出するS92。SP3=rtSP11-rtSP2回転速度SP3は、回転速度DDSpeedが3000に近づく程、SP3に占めるSP1の割合が小さくなり、SP2の割合が大きくなる。CPU44は算出した回転速度SP3を一次算出速度に決定しS93、処理をS95へ移行する。CPU44は、布送りモータ23に前回S96又はS98で指示した速度に対する一次算出速度の変化量が、前回の指示速度の1割以下であるか否かを判断するS95。変化量が1割以下であればS95:YES、CPU44は一次算出速度でそのまま布送りモータ23を駆動しS96、処理をS81へ戻す。変化量が1割よりも大きい場合S95:NO、CPU44は、変化量が1割以下になる二次算出速度を算出するS97。例えば、CPU44は前回の指示速度に0.9又は1.1の値を乗じることで二次算出速度を算出すればよい。CPU44は、S97で算出した二次算出速度で布送りモータ23を駆動しS98、処理をS81へ戻す。第四速度制御処理はミシン1の電源がオフとなると終了する。以上のように、第四実施形態のミシン1は、目標回転角と実際の回転角の偏差に応じて回転速度SP1a/SP1bを算出する。ミシン1は、メインモータ13の回転速度に基づいて回転速度SP2a/SP2bを算出する。回転速度SP1a/SP1bによれば、ミシン1はメインモータ13が停止した場合又は作業者が手動で主軸14を回動した場合でも適切に布送りモータ23とメインモータ13の同期を保つことができる。回転速度SP2a/SP2bを考慮すれば、ミシン1は主軸14の回転速度が増大している場合でも、適切な回転速度を布送りモータ23に指示して2つのモータ13、23の同期を保つことができる。ミシン1はメインモータ13の回転速度DDSpeedに応じて布送りモータ23の制御方法を変えることで、より適切に布送り機構32を駆動することができる。詳細には、ミシン1は、低速時に適した回転速度SP1a/SP1bと高速時に適した回転速度SP2a/SP2bの比率を回転速度DDSpeedに応じて変えて、布送りモータ23の回転速度SP3を算出することができる。ミシン1は、回転速度DDSpeedが中間の速度本実施形態では300~3000である場合、回転速度SP1a/SP1bと回転速度SP2a/SP2bを適切に考慮して回転速度SP3を算出できる。故に、ミシン1は回転速度DDSpeedに更に適した回転速度で布送りモータ23を駆動することができる。第四実施形態において、図13のS81で主回転角を取得するCPU44は本発明の主回転角検出部として機能する。図14のS13、S19で布送り回転角を取得するCPU44は布送り回転角検出部として機能する。図13のS91~S93、図14のS16、S22、図15のS59、S68で回転速度を算出するCPU44は速度算出部として機能する。図13のS96、S98で布送りモータ23を駆動制御するCPU44は駆動制御部として機能する。図14のS12、図15のS52で主回転角DDPOSが中間角FeedCenterよりも前であるか否かを判断するCPU44は期間判断部として機能する。図14のS16、図15のS59で回転速度を算出するCPU44は反転前速度算出部として機能する。図14のSS22、図15のS68で回転速度を算出するCPU44は反転後速度算出部として機能する。図14のS16、S22で回転速度を算出するCPU44は第一速度算出部として機能する。図15のS53、S62で中間角FeedCenter及び終端角FeedEndを取得するCPU44は反転角取得部として機能する。図15のS54、S63で残り回転角RemMa/RemMbを算出するCPU44は主回転角残量算出部として機能する。図13のS83で回転速度DDSpeedを取得するCPU44は速度取得部として機能する。図15のS56、S65で所要時間Ta/Tbを算出するCPU44は時間算出部として機能する。図15のS58、S67で残り回転角RemFa/RemFbを算出するCPU44は布送り回転角残量算出部として機能する。図15のS59、S68で回転速度SP2a/SP2bを算出するCPU44は第二速度算出部として機能する。図13のS84でDDSpeedが所定値以下であるか否かを判断するCPU44は速度判断部として機能する。図13のS85、S96、S98で回転速度SP1a/SP1bで布送りモータ23を駆動するCPU44は低速時駆動部として機能する。図13のS89、S93、S96、S98で回転速度SP2a/SP2b又はSP3で布送りモータ23を駆動するCPU44は高速時駆動部として機能する。図13のS91、S92で回転速度SP3を算出するCPU44は第三速度算出部として機能する。図13のS81で主回転角を取得する処理は本発明の主回転角検出ステップに相当する。図14のS13、S19で布送り回転角を取得する処理は布送り回転角検出ステップに相当する。図14のS12、図15のS52で主回転角DDPOSが中間角FeedCenterよりも前であるか否かを判断する処理は期間判断ステップに相当する。図14のS13~S16、図15のS53~S59で回転速度を算出する処理は反転前速度算出ステップに相当する。図14のS19~S22、図15のS62~S68で回転速度を算出する処理は反転後速度算出ステップに相当する。上記実施形態は様々な変形が可能である。第一~第三実施形態のミシン1は、主回転角DDPOSが中間角FeedCenter以後である場合のみ、算出した回転速度と前回の指示速度の変化量を判断する。故に、ミシン1は、布送り出力軸24が一方向に回動している途中で回転速度が急激に変化することの影響を抑制できる。しかし、ミシン1は、主回転角DDPOSが中間角FeedCenterよりも前である場合にも変化量が閾値以下であるか否かを判断し、判断結果に応じた処理を行ってもよい。一方、第四実施形態のミシン1は、主回転角DDPOSが中間角FeedCenterよりも前であるか否かに関わらず、変化量が閾値以下であるか否かを判断し、判断結果に応じて処理を行っている。しかし、第四実施形態のミシン1も第一~第三実施形態のミシン1と同様に、主回転角DDPOSが中間角FeedCenter以後である場合のみ上記判断、処理を行ってもよい。上記実施形態のミシン1は、主回転角DDPOSが中間角FeedCenterよりも前である場合、及び中間角FeedCenter以後である場合の各々で、主回転角と布送り回転角を用いて回転速度を算出する。故に、布送り機構32の往路、復路の両方で、メインモータ13と布送りモータ23は同期する。しかし、ミシン1は、送り歯33が針板15の上方を移動して布を送る間のみ、2つのモータ13、23の同期を保持することも可能である。上記実施形態のミシン1は、主回転角DDPOSが中間角FeedCenterよりも前である場合と後である場合反転前、反転後の各々で、布送り回転角RELPOSを取得する処理等を行う。しかし、反転前と反転後で共通する処理はまとめて行ってもよい。例えば、図9のS13~S15とS19~S21は、S12の処理の前にまとめて行ってもよい。上記実施形態のミシン1はメインモータ13で布送り機構32を上下に移動する。故に、布送り機構32の上下動と縫針8の上下動は機械的に同期する。しかし、本発明は、布送り機構32を上下動するモータ具体的には、図3の上下送り軸27を回動するモータをメインモータ13とは別に備えたミシンにも適用できる。回転速度の具体的な算出方法は変更してもよい。例えば、上記第四実施形態のミシン1は、回転速度DDSpeedの値に比例してSP2の割合が増加するようにSP3を算出する図13のS91、S92参照。回転速度DDSpeedの値とSP2の割合は比例しなくてもよい。ミシン1は、回転速度DDSpeedの値とSP1、SP2の割合とを対応付けるテーブルをROM45等に記憶し、回転速度DDSpeedの値に対応する割合をテーブルから取得してSP3を算出してもよい。図9のS16、S22、図11のS16、S22、図14のS16、S22で偏差からSP1a/SP1bを算出する方法は変更できる。ミシン1は偏差とSP1a/SP1bの値を対応付けるテーブルを用いてSP1a/SP1bを算出してもよい。図13に示す第四速度制御処理の処理順は変更できる。例えば、ミシン1は第四速度制御処理の開始直後にメインモータ13の回転速度DDSpeedを取得し、SP1、SP2、SP3の何れを使用して布送りモータ23を駆動するかを判断してもよい。ミシン1は、使用すると判断した回転速度を以後の処理で算出し、布送りモータ23を駆動してもよい。第四速度制御処理では、CPU44は、布送り出力軸24の目標回転角と実際の布送り回転角の偏差を用いて布送りモータ23の回転速度を算出するS13~S16。CPU44は、主出力軸の目標回転角と実際の主回転角の偏差を用いて回転速度を算出してもよい。動力伝達機構35の構成は変更できる。例えば、第一腕部37、第二腕部39の代わりに、一往復の動作で作用腕部38を二往復する往路、復路の夫々で作用腕部38を一往復するカム機構等を用いてもよい。