記録ヘッドを搭載し往復移動するキャリッジと、駆動源としてモータを備え、前記キャリッジを移動する駆動手段と、前記キャリッジの位置を検出する検出手段と、前記モータを制御する制御データを生成する生成手段と、前記モータのトルクリップルを打ち消すために、前記制御データを前記トルクリップルと同周期で変化する補正データで補正する補正手段と、前記キャリッジの位置に対する前記補正データの位相を更新する更新手段と、前記検出手段の検出結果に基づいて、前記キャリッジの速度変動量を演算する演算手段と、を備え、前記更新手段は、複数種類の前記位相を順次仮設定し、前記演算手段によって、仮設定した位相毎に演算された前記速度変動量に基づいて、前記速度変動量が小さくなるように前記位相を更新することを特徴とする記録装置。前記更新手段は、予め定めた条件が成立する度に前記位相を更新し、仮設定される前記複数種類の位相は、過去の前記位相の更新結果に基づき仮設定されることを特徴とする請求項1に記載の記録装置。仮設定される前記複数種類の位相の位相差が変更可能であることを特徴とする請求項1に記載の記録装置。仮設定される前記複数種類の位相は、所定の位相から予め定めた位相差分ずつ順次位相差をつけたものであることを特徴とする請求項1に記載の記録装置。駆動源としてモータを備え、移動体を移動する駆動手段と、前記移動体の位置を検出する検出手段と、前記モータを制御する制御データを生成する生成手段と、前記モータのトルクリップルを打ち消すために、前記制御データを前記トルクリップルと同周期で変化する補正データで補正する補正手段と、前記移動体の位置に対する前記補正データの位相を更新する更新手段と、前記検出手段の検出結果に基づいて、前記移動体の速度変動量を演算する演算手段と、を備え、前記更新手段は、複数種類の前記位相を順次仮設定し、前記演算手段によって、仮設定した位相毎に演算された前記速度変動量に基づいて、前記速度変動量が小さくなるように前記位相を更新することを特徴とする制御装置。記録ヘッドを搭載し往復移動するキャリッジと、駆動源としてモータを備え、前記キャリッジを移動する駆動手段と、前記キャリッジの位置を検出する検出手段と、を備えた記録装置の制御方法であって、前記モータを制御する制御データを生成する生成工程と、前記モータのトルクリップルを打ち消すために、前記制御データを前記トルクリップルと同周期で変化する補正データで補正する補正工程と、前記キャリッジの位置に対する前記補正データの位相を更新する更新工程と、前記検出手段の検出結果に基づいて、前記キャリッジの速度変動量を演算する演算工程と、を備え、前記更新工程は、複数種類の前記位相を順次仮設定し、前記演算工程によって、仮設定した位相毎に演算された前記速度変動量に基づいて、前記速度変動量が小さくなるように前記位相を更新することを特徴とする制御方法。モータが発生するトルクリップルの影響をFF制御で抑制するためには、モータの制御データをトルクリップルと同周期、同振幅、逆位相となる補正データで補正すればよい。このうち、トルクリップルはモータの構造により、その発生周期が決まる。振幅と位相については、例えば、出荷時に個々の製品毎に設定すればよい。しかし、位相は、使用に伴うモータの劣化の影響を受けてずれが生じる場合がある。例えば、ブラシモータは、整流子とブラシと呼ばれる部材が接触する構造となっている。整流子およびブラシが磨耗を起こすと、位相関係が変化する。よって、初期設定した位相のままでは、長期間に渡ってトルクリップルの影響を効果的に抑制できない場合がある。本発明の目的は、長期間に渡ってモータのトルクリップルの影響を効果的に抑制することにある。本発明によれば、記録ヘッドを搭載し往復移動するキャリッジと、駆動源としてモータを備え、前記キャリッジを移動する駆動手段と、前記キャリッジの位置を検出する検出手段と、前記モータを制御する制御データを生成する生成手段と、前記モータのトルクリップルを打ち消すために、前記制御データを前記トルクリップルと同周期で変化する補正データで補正する補正手段と、前記キャリッジの位置に対する前記補正データの位相を更新する更新手段と、前記検出手段の検出結果に基づいて、前記キャリッジの速度変動量を演算する演算手段と、を備え、前記更新手段は、複数種類の前記位相を順次仮設定し、前記演算手段によって、仮設定した位相毎に演算された前記速度変動量に基づいて、前記速度変動量が小さくなるように前記位相を更新することを特徴とする記録装置が提供される。本発明によれば、長期間に渡ってモータのトルクリップルの影響を効果的に抑制することができる。<第1実施形態>図1は本実施形態にかかる記録装置Aの説明図であり、その構成の一部を破断して表示している。本実施形態では、インクジェット記録装置に本発明を適用した場合について説明するが、本発明は他の形式の記録装置にも適用可能である。なお、記録には、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わず、広く記録媒体上に画像、模様、パターン等を形成する、又は媒体の加工を行う場合も含まれ、人間が視覚で知覚し得るように顕在化したものであるか否かを問わない。また、記録媒体には、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチックフィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも含まれる。記録装置Aは、記録ヘッド1を搭載したキャリッジ2を備える。キャリッジ2は、メインガイドレール3、サブガイドレール4に支持されている。メインガイドレール3、サブガイドレール4は、キャリッジ2を記録媒体15の搬送方向に対して交差する方向へ往復移動自在に支持する。また、メインガイドレール3、サブガイドレール4は、記録ヘッド1が記録媒体15に対してほぼ一定間隔となるように筐体12に支持されている。記録ヘッド1はインクタンクからインクが供給され、インクを記録媒体15に吐出する。これにより画像が形成される。搬送ローラ10は、モータを駆動源とした駆動ユニット不図示によって駆動され、記録媒体15を搬送する。排出ローラ11は、画像記録された記録媒体を装置外へ排出する。記録装置Aは駆動ユニットDMを備える。駆動ユニットDMはキャリッジ2を移動する。駆動ユニットDMは、駆動源としてモータ7を備える。本実施形態ではモータ7として直流ブラシモータを想定するが、他の種類のモータも採用可能である。駆動ユニットDMは、モータ7の駆動力をキャリッジ2に伝達する動力伝達機構として、プーリ8、9及びこれらに巻きまわされた、無端のタイミングベルト6を備える。本実施形態では動力伝達機構としてベルト伝動機構を採用したが、他の機構も採用可能である。プーリ8はモータ7に連結された駆動プーリである。プーリ9は、キャリッジ1の移動方向で見て、プーリ8の反対側に配置された従動プーリである。タイミングベルト6はその走行方向がガイドレール3及び4と平行であり、その一部にキャリッジ2が固定されている。モータ7を駆動することでタイミングベルト6が走行し、これによりキャリッジ2が移動する。図2Aはキャリッジ2の斜視図である。キャリッジ2には取り付けられたエンコーダセンサ13が取り付けられている。エンコーダスケール14はキャリッジ2の移動方向に平行に設けられており、エンコーダセンサ13はエンコーダスケール14を読み取ることで、キャリッジ2の走査方向の位置を検出する。なお、キャリッジ2の位置を検出可能であれば他の種類のセンサでもよい。エンコーダセンサ13から出力される位置検出信号は、フレキシブル基板5を通して記録装置Aの制御部へ送られる。制御部では、位置検出信号に基づき、エンコーダスケール14のパルスカウントを行うことでキャリッジ2の走査方向の位置及び移動速度を演算できる。係る構成からなる記録装置Aでは、記録の際、搬送ローラ10により搬送された記録媒体15上をキャリッジ2が移動走査する。キャリッジ2の移動中に、記録ヘッド1からインク滴を吐出する。キャリッジ2が記録媒体15の側端まで移動すると、搬送ローラ10により記録媒体15が一定量搬送される。この動作の繰り返しにより記録媒体15に画像が記録される。<トルクリップル>図2Bはモータ7の断面図を示す。モータ7は、マグネット16、ロータ17、ブラシ18、整流子19及びモータハウジング20を備える。から構成されている。回転自在に支持されたロータ17は、ブラシ18と整流子19の働きによりその磁界極性が変化される。そして、ロータ17はマグネット16と吸引/反発を繰り返すことで回転する。モータ7はその構造上、周期的なトルクの脈動であるトルクリップルが発生する。トルクの脈動はブラシ18の切り替え、マグネット16の磁力バラツキ等、モータ7の回転角度に依存して発生する。<制御部>図3は記録装置Aの制御部のブロック図である。CPU21は記憶部22に記憶されたプログラムを読み込んで実行する。記憶部22は本実施形態の場合、ROM22aと、RAM22bとを有しているが各種の記憶装置が利用可能である。CPU21で行う処理は、画像処理、I/Fインターフェース24を介したホストコンピュータとの通信、記録ヘッド1の吐出制御、エンコーダセンサ13の信号処理、モータドライバ23を介したモータ7の制御等である。なお、インクジェット記録装置の特有機能をASIC不図示としてハードウェア化してCPU21の演算処理を軽減しても良い。ROM22aには例えば記録装置Aを制御するための制御プログラムや実行に必要なデータ等が記憶されている。RAM22bには例えばCPU21で実行中のプログラム、ホストコンピュータから送信された記録データ、記録用データを保存するために用いられる。モータドライバ23は、CPU21からの指示に基づき、例えば、パルス電圧幅を変調することによりモータ7へ印加される電圧を調整し、モータ7を駆動するPWM制御。<モータ制御>次に、本実施形態におけるモータ7の制御内容について説明する。図4は主にCPU21により実現される、モータ制御に関わる機能のブロック線図である。目標値駆動指令信号は予めプログラムで決定されたキャリッジ2の駆動プロファイルである。位置演算部36と速度演算部37は、エンコーダセンサ13で検出した信号からキャリッジ2の位置と速度を演算する。速度変動量演算部38は速度演算部37の演算結果に基づき、キャリッジ2の移動速度の変動量を演算する。つまり、速度変動量演算部38はエンコーダセンサ13の検出結果に基づいて、キャリッジ2の速度変動量を演算する。制御データ生成部30はモータ7を制御する制御データを生成する。制御データ生成部30の演算部31、32は、キャリッジ2の位置と速度から目標値に追従するようにフィードバック演算を行う。演算部32は、比例項33と積分項34からなるPI補償制御を行っているが、キャリッジ2が目標値に追従するように演算を行うものであればどの手法でもよい。補正部35は、モータ7のトルクリップルを打ち消すために、制御データ生成部30から出力される制御データをモータ7のトルクリップルと同周期で変化する補正データで補正する。上記のとおり、トルクリップルはモータ7の回転角度θに依存して発生する。補正部35は、モータ回転角度θに応じてトルクリップルと同周期で、逆位相となる補正データを制御データに加算する。加算後のデータがモータドライバ23へ出力される。モータドライバ23は電流増幅を行い、モータ7を駆動する。これによりトルクリップルの影響を抑制できる。通常、プーリ8とタイミングベルト6で歯飛びは起きない為、モータ回転角度θとキャリッジ2の位置は同期的な一定の関係となる。ここで、駆動プーリ8の歯ピッチや半径、エンコーダスケール14等に製造誤差が無視できるほど小さいとする。すると、モータ回転量を直動換算した値以下、モータ直動換算量とも呼ぶとエンコーダセンサ13で検出した位置以下、センサ検出位置とも呼ぶは同じになる。ここで、モータ直動換算量は以下のように定義することができる。モータ直動換算量=モータ回転量/2×π×駆動プーリ歯数×歯ピッチ=モータ回転量×駆動プーリ半径従って、モータ回転角度θを検出しなくても、エンコーダセンサ13の検出結果に基づくキャリッジ2の位置に応じて補正データを制御データに加算すればよいことになる。ここで、キャリッジ2の位置をYとすると補正データは以下の式から導くことができる。補正データ=振幅設定値×sin2×π×Y/トルクリップルピッチ位相設定値補正データはキャリッジ2の位置に応じた、トルクリップルピッチのデータとなる。振幅設定値は、トルクリップルの振幅に応じて設定することになる。モータ7の1回転でN回の脈動を持つトルクリップルの場合、トルクリップルピッチは、駆動プーリ歯数×歯ピッチ/Nで算出することができる。位相設定値は、キャリッジ2の位置に対する補正データの位相を合わせるための値である。上記のとおり、トルクリップルはキャリッジ2の位置に応じて現出するので、補正データの変化がキャリッジ2の位置に対応している必要があり、位相設定値はその調整値である。トルクリップルの周期がモータ7の構造により決まるため、トルクリップルピッチはモータ7及びその動力伝達機構により決まる。しかし、トルクリップルの振幅と位相は、モータ7の製造誤差、記録装置Aの部品誤差や組立により異なる。よって、記録装置A毎に、振幅設定値、位相設定値を特定する必要がある。振幅設定値、位相設定値は、例えば出荷時やモータ7の交換時に個々の記録装置A毎に設定し、記憶部22に記憶することになる。補正部35は記憶部22からトルクリプピッチ、振幅設定値、位相設定値を読み出して補正データを生成することになる。振幅設定値、位相設定値の設定にあたっては、振幅設定値、位相設定値を少しずつ変化させたときのキャリッジ2の速度変動を調べ、速度変動がより小さいときの値を設定すればよい。このような処理を自動化すべく、図4に示すように初期設定部40を設けてもよい。その内容の詳細は後述する。次に、位相更新部39は記憶部22に記憶されている位相設定値を更新する。モータ7の回転位相に対するトルクリップルの位相は、上述した通り、使用に伴うモータ7の劣化の影響を受けてずれる場合がある。このずれが生じると、トルクリップルとキャリッジ2の位置との関係もずれる。補正部35はキャリッジ2の位置を基準として補正データを生成しているため、このずれによりトルクリップルを打ち消せない場合がある。そこで、予め定めた条件が成立する度に、位相更新部39は記憶部22に記憶されている位相設定値を更新する。補正部35は更新後の位相設定値を使用する。予め定めた条件が成立する場合としては、ユーザが指示した場合が挙げられる。また、キャリッジ2の往復移動回数をカウントしておき、カウント値が所定値に達した場合が挙げられる。位相設定値の更新方法を図5を参照して説明する。図5はCPU21が位相更新部39として位相更新処理を行う場合を想定したフローチャートである。まず、位相設定値の候補を複数種類準備するS1。例えば、以下のように位相の候補A~Eを決定する。この例では現在設定されている位相設定値を位相Cを中心として、予め定めた位相差分ΔPずつ順次位相差をつけたものとしている。この例では5つの候補を設定しているが、その数は問われない。但し、3以上が好ましい。位相A=位相C-2×ΔP位相B=位相C-ΔP位相C=現在の位相設定値位相D=位相CΔP位相E=位相C2×ΔPΔP:位相間隔位相差次に、位相A~位相Eを位相設定値として順番に仮設定しS2、キャリッジ2を移動させるS3。例えば、位相Aを仮設定してキャリッジ2を1走査分、定速で移動する。そして、このときのエンコーダセンサ13の検出結果に基づいてキャリッジ2の速度変動量を演算するS4。速度変動量は、例えば、定速移動制御時のキャリッジ2の最高速度と最低速度の差である。演算結果は、仮設定した位相Aと対応づけて例えば記憶部22に記憶する。次に、位相Bを仮設定して同様のことを行う。つまり、全ての候補について処理が終わっているかを確認しS5、終わっていなければ次の候補を仮設定して同様の処理を行う。こうして、複数種類の位相を順次仮設定し、キャリッジ2を移動させたときの速度変動量を調べる。なお、このような処理は、画像の非記録時に行ってもよいし、画像記録時に行ってもよい。画像記録時に行う場合は画像品位に影響しない範囲で位相の候補を決定する。全ての位相候補について上記の処理が終了すると、記憶部22に記憶した位相毎の速度変動量に基づいて、速度変動量が小さくなるように位相設定値を新たな位相設定値に更新する。例えば、速度変動量が最も小さかった位相候補を新たな位相設定値とする。或いは、速度変動量が最も小さかった位相候補と次に小さかった位相候補との間の値を新たな位相候補とする。図6Aは位相A~Eを仮設定した場合の速度変動量の演算結果と位相A~Eとの対応関係の例を示している。同図の例では位相Cの場合に速度変動量が最も小さい。よって、例えば、新たな位相設定値として位相Cを設定する。図6Bは別の例を示す。同図の例では位相Cと位相Dとの間で速度変動量が最も小さいと推測できる。よって、例えば、新たな位相設定値として位相Cと位相Dとの中間値を設定する。位相の候補A~E以外に最適な位相が存在する場合もある。そこで、位相の候補を設定し直して再度、同様の処理を行うこともできる。例えば、図6Cの例では位相Eのときに速度変動量が最小となっているがこれが最適な位相かは不明である。そこで、位相Eを新たな位相Cとして、位相A、B、D、Eを設定し直す。そして、図5のS2以下の処理をもう一度行う。図6Dはその結果の例を示す。図6Cの位相候補と比較すると、位相D、Eが新たな候補として加えられている。こうして、位相の候補を設定し直して再度、同様の処理を行うことで、最適な位相設定値を設定することもできる。以上のように位相設定値を更新することで、長期間に渡ってモータ7のトルクリップルの影響を効果的に抑制することができる。<初期設定例>図4において初期設定部40として示した、振幅設定値、位相設定値の初期設定の自動化について説明する。基本的な考え方は位相設定値の更新の処理と同様である。図7はCPU21が初期設定部39として初期設定処理を行う場合を想定したフローチャートである。まず、位相設定値及び振幅設定値の候補を複数種類準備するS11。候補の設定の仕方は、位相設定値の更新の場合と同様に考えることができる。次に、位相候補を位相設定値として順番に仮設定しS12、キャリッジ2を移動させるS13。振幅設定値はS11で準備した候補の中の一つとする。そして、このときのエンコーダセンサ13の検出結果に基づいてキャリッジ2の速度変動量を演算するS14。演算結果は、仮設定した位相候補と対応づけて例えば記憶部22に記憶する。全ての位相候補について処理が終わっているかを確認しS15、終わっていなければ次の候補を仮設定して同様の処理を行う。全ての位相候補について上記の処理が終了すると、記憶部22に記憶した位相候補毎の速度変動量に基づいて、速度変動量が小さくなるように位相設定値の初期値を設定する。次に、振幅候補を振幅設定値として順番に仮設定しS17、キャリッジ2を移動させるS18。位相設定値はS16で設定した初期値とする。そして、このときのエンコーダセンサ13の検出結果に基づいてキャリッジ2の速度変動量を演算するS19。演算結果は、仮設定した振幅候補と対応づけて例えば記憶部22に記憶する。全ての振幅候補について処理が終わっているかを確認しS20、終わっていなければ次の候補を仮設定して同様の処理を行う。全ての振幅候補について上記の処理が終了すると、記憶部22に記憶した振幅候補毎の速度変動量に基づいて、速度変動量が小さくなるように振幅設定値の初期値を設定する。以上により、振幅設定値、位相設定値の初期値の設定が終了する。<第2実施形態>モータ7の回転位相に対するトルクリップルの位相の経時的な変化は一方向となる。図8はモータ7の使用時間と位相の変化の関係例を示す。位相の変化は実線で示す変化となるか、破線で示す変化となる。つまり、進むか遅れるかのいずれかとなる。そこで、位相設定値の更新履歴を記憶部22に記憶しておき、過去の位相の更新結果に基づいて位相を仮設定してもよい。より詳しくは、過去の位相の更新結果に基づいて、位相変化の傾向を判断し、進む方向か遅れる方向を把握する。そして、仮設定する位相の候補を設定する際S1、以下の通りとする。まず、基準とする位相を位相Aとする。これは例えば現在設定されている位相設定値である。そして、位相Aに対して順次ΔPを足していくか、引いていくかで他の候補を決める。以下の例は順次ΔPを足していった例である。位相A=現在の位相設定値位相B=位相AΔP位相C=位相A2×ΔP位相D=位相A3×ΔP位相E=位相A4×ΔPΔP:位相間隔位相差このように位相候補を設定することで、位相候補の中に最適な位相が含まれる可能性を高くすることができる。また、ΔPは固定値でなく、変更可能としてもよい。変更する方法としては、例えば、位相設定値の更新毎に変更してもよい。位相変化の割合はモータ7の使用時間によって異なるので、例えば、前回の位相設定値の更新からモータ7の使用時間が相対的に長い場合はΔPを大きくし、相対的に短い場合は小さくする。モータ7の使用時間は、キャリッジ2の往復移動回数をカウントしておき、カウント値を基準としてもよい。このように位相候補を設定することで、位相候補の範囲内に最適な位相が含まれる可能性を高くすることができる。<他の実施形態>上記各実施形態では、記録装置を対象としたが本発明の適用分野はこれに限られず、移動体を、モータを駆動源とする駆動ユニットによって移動する各種の制御装置に適用可能である。