JP5195687B2 - Motor control apparatus and image forming apparatus - Google Patents
Motor control apparatus and image forming apparatus Download PDFInfo
- Publication number
- JP5195687B2 JP5195687B2 JP2009184869A JP2009184869A JP5195687B2 JP 5195687 B2 JP5195687 B2 JP 5195687B2 JP 2009184869 A JP2009184869 A JP 2009184869A JP 2009184869 A JP2009184869 A JP 2009184869A JP 5195687 B2 JP5195687 B2 JP 5195687B2
- Authority
- JP
- Japan
- Prior art keywords
- compensation
- operation amount
- section
- count value
- motor control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Control Of Electric Motors In General (AREA)
Description
本発明は、被駆動体の駆動をリニアエンコーダからの信号に基づいて制御するモータ制御装置、及びこのモータ制御装置を搭載した画像形成装置に関する。 The present invention relates to a motor control device that controls driving of a driven body based on a signal from a linear encoder, and an image forming apparatus equipped with the motor control device.
インクジェットプリンタにおいては、記録ヘッドを搭載したキャリッジをモータによって駆動制御するために、一般に、所定間隔でスリットが形成されたリニアスケールを有するリニアエンコーダが用いられる。リニアエンコーダを用いたモータ制御装置では、リニアエンコーダから出力されるパルス状のエンコーダ信号に基づいてキャリッジの位置や速度等の駆動状態が検出され、その検出結果に基づくフィードバック制御が行われる。 In an ink jet printer, a linear encoder having a linear scale in which slits are formed at predetermined intervals is generally used to drive and control a carriage on which a recording head is mounted by a motor. In a motor control device using a linear encoder, a driving state such as a carriage position and speed is detected based on a pulsed encoder signal output from the linear encoder, and feedback control is performed based on the detection result.
ところで、リニアスケールには、インクジェットプリンタの製造ラインでインクが付着したり、ユーザによる使用時に機器内部のグリスが付着したりするなどして、汚れが付着してしまうことがある。リニアスケールに汚れが付着すると、キャリッジの検出速度が乱れ、実際の速度とは異なる速度が検出されるおそれがある。このようにキャリッジの速度が誤検出されてしまうと、その誤検出された速度に基づく不要なフィードバック制御がなされてキャリッジの実際の速度自体も乱れ、印字品質が劣化してしまう。 By the way, dirt may adhere to the linear scale due to, for example, ink adhering to the production line of the ink jet printer or grease inside the apparatus adhering when used by the user. If dirt adheres to the linear scale, the detection speed of the carriage is disturbed, and a speed different from the actual speed may be detected. If the carriage speed is erroneously detected in this way, unnecessary feedback control based on the erroneously detected speed is performed, the actual speed of the carriage itself is disturbed, and the print quality deteriorates.
これに対し、特許文献1には、キャリッジの検出速度が異常であった場合に、その異常の出現区間が微小範囲ならば当該検出速度に代えて直前の検出速度を用いてモータを駆動制御し、連続した制御周期で速度異常が検出されたり同一箇所で複数回連続して速度異常が検出された場合には、エンコーダ汚れと判断することが記載されている。 On the other hand, in Patent Document 1, when the detection speed of the carriage is abnormal and the abnormal appearance section is in a very small range, the motor is driven and controlled using the immediately preceding detection speed instead of the detection speed. In addition, it is described that it is determined that the encoder is dirty when a speed abnormality is detected at successive control cycles or when a speed abnormality is detected a plurality of times at the same location.
また、特許文献2には、搬送ベルト等のベルト上にエンコーダスケールが設けられたレーザプリンタにおいて、スケールの継ぎ目やスケールに付着したトナーの影響などによって、演算速度が所定の正規範囲を逸脱していると判断された場合に、目標速度又は過去の演算速度の平均値をフィードバック量として操作量を演算することが記載されている。 Further, in Patent Document 2, in a laser printer in which an encoder scale is provided on a belt such as a conveyor belt, the calculation speed deviates from a predetermined normal range due to the influence of toner adhered to the scale seam or scale. It is described that the operation amount is calculated using the average value of the target speed or the past calculation speed as a feedback amount when it is determined that the target speed is determined.
しかし、特許文献1,2のいずれにおいても、エンコーダスケールの汚れが発生している区間を正確には検出できず、エンコーダスケールの汚れに起因して生じる検出速度の異常を補償するための制御が必要以上になされ、制御性能が悪化するおそれがある。 However, neither of Patent Documents 1 and 2 can accurately detect a section where the encoder scale is contaminated, and control for compensating for an abnormality in the detection speed caused by the encoder scale dirt. This is done more than necessary, and the control performance may deteriorate.
しかも、汚れの影響を排除するために、速度異常が検出された場合には直前の検出速度や目標速度等をフィードバック量としてモータ制御を行うようにしているため、実際の位置における摺動負荷が考慮されず、制御精度が劣化するおそれがある。 In addition, in order to eliminate the influence of dirt, when a speed abnormality is detected, the motor control is performed using the immediately preceding detected speed, target speed, etc. as a feedback amount. There is a possibility that the control accuracy is deteriorated without being considered.
本発明は上記課題に鑑みなされたものであり、リニアエンコーダにより検出された駆動状態に基づいて被駆動体をモータにより駆動制御するモータ制御装置において、被駆動体の駆動範囲のうちリニアスケールに汚れが付着している区間を特定し、その区間内でリニアスケールの汚れに起因した制御性能の劣化を効果的に抑制することを目的とする。 The present invention has been made in view of the above problems, and in a motor control device that controls driving of a driven body by a motor based on a driving state detected by a linear encoder, a linear scale is contaminated in a driving range of the driven body. It is an object to specify a section where the ink adheres and effectively suppress deterioration of control performance due to contamination of the linear scale in the section.
上記課題を解決するためになされた請求項1に記載の発明は、予め設定された移動経路上をモータにより駆動される被駆動体の移動量に応じてパルス状のエンコーダ信号を出力するリニアエンコーダと、そのリニアエンコーダからのエンコーダ信号をカウントし、そのカウント値に基づいて被駆動体の速度及び位置を検出する駆動状態検出手段と、所定の演算タイミング毎に、駆動状態検出手段により検出された速度に基づいてモータを制御するための操作量を演算してモータへ出力する操作量演算手段と、を備えたモータ制御装置であって、駆動状態検出手段により検出された速度が予め設定された速度正常範囲から外れた異常速度であるか否かを検知する異常速度検知手段と、この異常速度検知手段によって異常速度が検知された場合に、まず被駆動体を移動経路の一端から駆動させてその駆動開始から異常速度検知手段により異常速度が検知されるまでのエンコーダ信号をカウントすることにより第1カウント値kaを計測し、さらに被駆動体を移動経路の他端から駆動させてその駆動開始から異常速度検知手段により異常速度が検知されるまでのエンコーダ信号をカウントすることにより第2カウント値kbを計測して、各カウント値ka,kbに対応した位置の間を補償区間として検出する補償区間検出手段と、当該モータ制御装置における制御対象のノミナルモデルに対する操作量であるノミナル操作量が演算タイミング毎に記憶されているノミナル操作量記憶手段と、補償区間検出手段により補償区間が検出された後の被駆動体の駆動の際、駆動状態検出手段により検出された位置に基づいて被駆動体が補償区間に入ったかどうかを判断する補償区間判断手段と、この補償区間判断手段により被駆動体が補償区間に入ったと判断されている間、演算タイミング毎に、ノミナル操作量記憶手段に記憶されているノミナル操作量に基づいて予め決められた演算により補償操作量を生成し、その補償操作量を操作量演算手段による操作量に代えてモータへ出力する、操作量補償手段と、を備えている。 In order to solve the above-mentioned problem, the invention according to claim 1 is directed to a linear encoder that outputs a pulsed encoder signal in accordance with the amount of movement of a driven body driven by a motor on a preset movement path. And a drive state detection unit that counts an encoder signal from the linear encoder and detects the speed and position of the driven body based on the count value, and is detected by the drive state detection unit at every predetermined calculation timing. An operation amount calculation means for calculating an operation amount for controlling the motor based on the speed and outputting the operation amount to the motor, wherein the speed detected by the drive state detection means is preset. When an abnormal speed is detected by the abnormal speed detecting means that detects whether the abnormal speed is out of the normal speed range or not, First, the driven body is driven from one end of the movement path, and the first count value ka is measured by counting the encoder signal from the start of driving until the abnormal speed is detected by the abnormal speed detecting means. Is driven from the other end of the moving path, and the second count value kb is measured by counting the encoder signal from the start of driving until the abnormal speed is detected by the abnormal speed detecting means, and each count value ka, kb is measured. Compensation section detecting means for detecting a position between positions corresponding to a compensation section, and nominal operation amount storage means in which a nominal operation amount that is an operation amount for the nominal model to be controlled in the motor control device is stored for each calculation timing When the driven body is driven after the compensation section is detected by the compensation section detecting means, the driving state detecting means Compensation section judgment means for judging whether or not the driven body has entered the compensation section based on the output position, and while it is judged by the compensation section judgment means that the driven body has entered the compensation section, In addition, a compensation operation amount is generated by a predetermined calculation based on the nominal operation amount stored in the nominal operation amount storage means, and the compensation operation amount is output to the motor instead of the operation amount by the operation amount calculation means. And an operation amount compensation means.
このように構成されたモータ制御装置では、異常速度が検知された場合、その異常速度がリニアエンコーダを構成するリニアスケールの汚れ等に起因するものであるとの一応の仮定の元で、その汚れ等が付着している区間を補償区間として特定する。そして、以後再び被駆動体を移動経路の端部から駆動させる際は、補償区間においては、操作量補償手段が、操作量演算手段により演算される操作量に代えて、ノミナル操作量に基づく演算により補償操作量を生成し、モータへ出力する。 In the motor control device configured as described above, when an abnormal speed is detected, the abnormal speed is caused by dirt on the linear scale constituting the linear encoder. The section where the etc. are attached is specified as the compensation section. Thereafter, when the driven body is driven again from the end of the movement path, the operation amount compensation means performs calculation based on the nominal operation amount instead of the operation amount calculated by the operation amount calculation means in the compensation section. To generate a compensation operation amount and output it to the motor.
従って、本発明のモータ制御装置によれば、補償区間内において、汚れ等に起因して生じる検出速度の変動の影響がモータ制御に反映されてしまうのを防止でき、被駆動体を安定して駆動させることができる。しかも、補償操作量によるモータ制御はあくまでも補償区間内で行われ、それ以外の区間では通常通り検出速度に基づいて演算される操作量が用いられるため、全体として制御性能の劣化を大幅に抑え、高精度にモータを制御することができる。また、補償区間で用いられる補償操作量は、予め記憶されているノミナル操作量に基づいて演算された値であるため、この補償操作量を補償区間で用いることで、補償区間内においてもより適切な制御を実現することができる。 Therefore, according to the motor control device of the present invention, it is possible to prevent the influence of fluctuations in the detection speed caused by dirt or the like from being reflected in the motor control within the compensation section, and to stabilize the driven body. It can be driven. In addition, the motor control based on the compensation operation amount is performed only within the compensation section, and since the operation amount calculated based on the detection speed is used in the other sections as usual, the deterioration of the control performance is significantly suppressed as a whole, The motor can be controlled with high accuracy. Further, since the compensation operation amount used in the compensation interval is a value calculated based on the nominal operation amount stored in advance, using the compensation operation amount in the compensation interval makes it more appropriate in the compensation interval. Can be realized.
以下に、本発明の好適な実施形態を図面に基づいて説明する。
(1)インクジェットプリンタの構成
図1に、本実施形態のインクジェットプリンタ1の電気的構成を示す。インクジェットプリンタ1は、用紙P(図2参照)への画像形成を行うものであり、用紙Pへインク液滴を吐出する記録ヘッド11と、この記録ヘッド11が搭載されたキャリッジ12と、このキャリッジ12を主走査方向(用紙Pが搬送される副走査方向と直交する方向)へ往復駆動させるための駆動源であるキャリッジ(CR)モータ13と、キャリッジ12の駆動状態(位置や速度、移動方向等)を検出するためのCRリニアエンコーダ14と、記録ヘッド11を駆動してインク液滴を吐出させるための記録ヘッドドライバ15と、CRモータ13を駆動するためのCRモータドライバ16と、これら各ドライバ15,16を介して記録ヘッド11やCRモータ13の駆動を制御するASIC2と、を備えている。
Preferred embodiments of the present invention will be described below with reference to the drawings.
(1) Configuration of Inkjet Printer FIG. 1 shows an electrical configuration of the inkjet printer 1 of the present embodiment. The ink jet printer 1 performs image formation on a paper P (see FIG. 2). The recording head 11 ejects ink droplets onto the paper P, a carriage 12 on which the recording head 11 is mounted, and the carriage. Carriage (CR) motor 13 which is a driving source for reciprocally driving 12 in the main scanning direction (a direction perpendicular to the sub-scanning direction in which paper P is conveyed), and the driving state (position, speed, moving direction) of carriage 12 And the like, a recording head driver 15 for driving the recording head 11 to eject ink droplets, a CR motor driver 16 for driving the CR motor 13, and the like. And an ASIC 2 that controls driving of the recording head 11 and the CR motor 13 via drivers 15 and 16.
なお、インクジェットプリンタ1は、図示は省略したものの、用紙Pを副走査方向へ搬送するための、搬送ローラやその駆動用モータ等からなる搬送機構も備えている。
ここで、インクジェットプリンタ1における、キャリッジ12、CRモータ13、及びCRリニアエンコーダ14等からなる画像形成機構の具体的構成について、図2を用いて説明する。図2に示すように、インクジェットプリンタ1の画像形成機構においては、用紙Pの幅方向(主走査方向)にガイド軸41が設置され、このガイド軸41に、記録ヘッド11を搭載したキャリッジ12が挿通されている。
Although not shown, the inkjet printer 1 also includes a transport mechanism including a transport roller and a driving motor for transporting the paper P in the sub-scanning direction.
Here, a specific configuration of the image forming mechanism including the carriage 12, the CR motor 13, the CR linear encoder 14 and the like in the inkjet printer 1 will be described with reference to FIG. As shown in FIG. 2, in the image forming mechanism of the inkjet printer 1, a guide shaft 41 is installed in the width direction (main scanning direction) of the paper P, and a carriage 12 on which the recording head 11 is mounted is mounted on the guide shaft 41. It is inserted.
キャリッジ12は、ガイド軸41に沿って設けられた無端ベルト42に連結されている。無端ベルト42は、ガイド軸41の一端側に設置された従動プーリ44と、ガイド軸41の他端側に設置されたCRモータ13の駆動プーリ43との間に掛け止められている。これにより、キャリッジ12は、無端ベルト42を介して伝達されるCRモータ13の駆動力により、ガイド軸41に沿って主走査方向に往復駆動される。 The carriage 12 is connected to an endless belt 42 provided along the guide shaft 41. The endless belt 42 is hooked between a driven pulley 44 installed on one end side of the guide shaft 41 and a drive pulley 43 of the CR motor 13 installed on the other end side of the guide shaft 41. Accordingly, the carriage 12 is reciprocated in the main scanning direction along the guide shaft 41 by the driving force of the CR motor 13 transmitted through the endless belt 42.
ガイド軸41の近傍には、主走査方向に所定の間隔でスリット48が形成されたリニアスケール46が、ガイド軸41に沿って(即ちキャリッジ12の移動経路に沿って)設置されている。また、キャリッジ12におけるリニアスケール46と対向する位置には、リニアスケール46を挟んで発光部および受光部が配置された検出部47が備えられており、リニアスケール46と共にCRリニアエンコーダ14を構成している。 Near the guide shaft 41, a linear scale 46 having slits 48 formed at predetermined intervals in the main scanning direction is installed along the guide shaft 41 (that is, along the movement path of the carriage 12). In addition, a detection unit 47 in which a light emitting unit and a light receiving unit are arranged with the linear scale 46 interposed therebetween is provided at a position facing the linear scale 46 in the carriage 12, and the CR linear encoder 14 is configured together with the linear scale 46. ing.
検出部47は、発光部及及び受光部からなる光ユニットを二組有し、発光部と受光部の間にリニアスケール46が挟まれるように配置されている。そのため、キャリッジ12の移動と共に検出部47が移動すると、発光部の光がスリット48を透過して受光部で受光される状態と、発光部の光がリニアスケール46により遮られて受光部で受光されない状態とが交互に生じ、その状態変化がパルス信号として検出部47から出力される。 The detection unit 47 includes two sets of optical units including a light emitting unit and a light receiving unit, and is arranged so that the linear scale 46 is sandwiched between the light emitting unit and the light receiving unit. Therefore, when the detection unit 47 moves with the movement of the carriage 12, the light from the light emitting unit passes through the slit 48 and is received by the light receiving unit, and the light from the light emitting unit is blocked by the linear scale 46 and received by the light receiving unit. The state that is not generated alternately occurs, and the state change is output from the detection unit 47 as a pulse signal.
具体的には、図3に示すように、検出部47からは、キャリッジ12の移動に応じて、各光ユニットに対応した、互いに位相差(本実施形態では1/4周期の位相差)を有する2種類のパルス信号(A相信号,B相信号)が出力される。このA,B各相のパルス信号は、ASIC2内のCRリニアエンコーダ処理部34(図1参照)に入力される。 Specifically, as shown in FIG. 3, the detection unit 47 generates a phase difference (in this embodiment, a phase difference of ¼ period) corresponding to each optical unit according to the movement of the carriage 12. Two types of pulse signals (A-phase signal and B-phase signal) are output. The A and B pulse signals are input to the CR linear encoder processing unit 34 (see FIG. 1) in the ASIC 2.
CRリニアエンコーダ処理部34は、A相信号(以下これを「エンコーダ信号」ともいう)の立ち上がりエッジ及び立ち下がりエッジを検出し、その検出毎にエッジ検出信号を生成する。そして、エッジ検出信号の生成の度にそのエッジ検出信号をカウントし、そのカウント値に基づいてキャリッジ12の位置を検出する。また、CRリニアエンコーダ処理部34は、エッジ検出信号の生成の度に、CRリニアエンコーダ14の物理分解能と、前回エッジが検出されてから今回エッジが検出されるまでの時間とに基づく演算により、キャリッジ12の速度を検出する。また、CRリニアエンコーダ処理部34は、A,B各相のパルス信号の位相の違いに基づき、キャリッジ12の移動方向を検出する。 The CR linear encoder processing unit 34 detects the rising edge and the falling edge of the A-phase signal (hereinafter also referred to as “encoder signal”), and generates an edge detection signal for each detection. Each time the edge detection signal is generated, the edge detection signal is counted, and the position of the carriage 12 is detected based on the count value. The CR linear encoder processing unit 34 performs an operation based on the physical resolution of the CR linear encoder 14 and the time from the detection of the previous edge to the detection of the current edge every time the edge detection signal is generated. The speed of the carriage 12 is detected. The CR linear encoder processing unit 34 detects the moving direction of the carriage 12 based on the phase difference between the A and B phase pulse signals.
記録制御部31は、CRリニアエンコーダ処理部34にて検出されたキャリッジ12の駆動状態に基づき、記録ヘッド11を駆動させるための駆動指令を生成し、記録ヘッドドライバ15へ出力する。 The recording control unit 31 generates a drive command for driving the recording head 11 based on the driving state of the carriage 12 detected by the CR linear encoder processing unit 34, and outputs it to the recording head driver 15.
CRモータ制御部32は、基本的にはキャリッジ12の駆動状態に基づくフィードバック制御(以下「通常制御」ともいう)を行う。即ち、所定の演算タイミング毎に、CRリニアエンコーダ処理部34にて検出された駆動状態に基づいて、CRモータ13を制御するための操作量(以下「通常操作量」と称す)Uaを演算する。そして、その通常操作量Uaに対応した駆動指令(PWM信号など)をCRモータドライバ16へ出力する。 The CR motor control unit 32 basically performs feedback control (hereinafter also referred to as “normal control”) based on the driving state of the carriage 12. That is, an operation amount (hereinafter referred to as “normal operation amount”) Ua for controlling the CR motor 13 is calculated based on the drive state detected by the CR linear encoder processing unit 34 at every predetermined calculation timing. . Then, a drive command (such as a PWM signal) corresponding to the normal operation amount Ua is output to the CR motor driver 16.
但し、後述するように、補償制御情報設定部36によりリニアスケール46に汚れ等が付着していることが検出され、補償制御情報設定部36から汚れ区間情報が伝達されてきた場合は、CRモータ制御部32は、その汚れ等が付着している区間(汚れ区間)では、検出速度等に基づく通常制御(フィードバック制御)に代えて補償制御を行う。 However, as described later, when the compensation control information setting unit 36 detects that dirt or the like is attached to the linear scale 46 and the dirt control section information is transmitted from the compensation control information setting unit 36, the CR motor The control unit 32 performs compensation control instead of normal control (feedback control) based on the detection speed or the like in a section where the dirt or the like is attached (dirt section).
また、インクジェットプリンタ1は、ASIC2を含む当該インクジェットプリンタ1の各部を統括的に制御するCPU3と、CPU3が実行するプログラム等が記憶されたROM4と、CPU3によるプログラム実行時に作業領域として使用されるRAM5と、後述するノミナルカウント値Nやノミナル操作量データを含む各種設定情報等が記憶されるEEPROM6と、図示しないパーソナルコンピュータ等に接続されて相互にデータ送受信するためのインタフェース(I/F)7と、各種操作ボタンや表示装置等を備えた操作・表示部8とを備え、これら及びASIC2がバス9を介して互いに接続されている。 In addition, the inkjet printer 1 includes a CPU 3 that comprehensively controls each unit of the inkjet printer 1 including the ASIC 2, a ROM 4 that stores a program executed by the CPU 3, and a RAM 5 that is used as a work area when the CPU 3 executes the program. An EEPROM 6 for storing various setting information including a nominal count value N and nominal manipulated variable data, which will be described later, and an interface (I / F) 7 connected to a personal computer (not shown) for transmitting / receiving data to / from each other. And an operation / display unit 8 including various operation buttons, a display device, and the like, and these and the ASIC 2 are connected to each other via a bus 9.
用紙Pへの画像形成のためのキャリッジ駆動は、調整領域内の初期位置から開始される。その初期位置からの駆動が開始されると、キャリッジ12は記録領域へ(順方向へ)加速し始め、やがて所定の目標一定速度に到達する。 Carriage driving for image formation on the paper P is started from an initial position in the adjustment area. When driving from the initial position is started, the carriage 12 starts to accelerate to the recording area (forward direction) and eventually reaches a predetermined target constant speed.
本実施形態では、キャリッジ12は、駆動開始(加速開始)後、目標一定速度にまだ到達していない加速期間中に記録領域へ入り、記録領域に入った後も加速を続けて、やがて目標一定速度へ到達する。目標一定速度に到達後、所定期間はその目標一定速度での定速駆動が行われるが、定速駆動期間が終わると減速が開始される。そして、減速開始から暫くして記録領域から待機領域へと移り、やがて停止することになる。 In the present embodiment, the carriage 12 enters the recording area after the start of driving (start of acceleration) during the acceleration period that has not yet reached the target constant speed, continues to accelerate after entering the recording area, and eventually reaches the target constant. Reach speed. After reaching the target constant speed, constant speed driving at the target constant speed is performed for a predetermined period, but deceleration is started when the constant speed driving period ends. Then, after a while from the start of deceleration, the recording area shifts to the standby area and then stops.
キャリッジ12が記録領域を移動されている間、用紙Pへの1ライン分の画像形成が行われる。つまり本実施形態では、画像形成速度の高速化のために、定速駆動中だけでなくその前後の加減速期間でも画像形成が行われる。待機領域内での停止後は、キャリッジ12は、この待機領域から調整領域へ向かう方向(つまり逆方向)へ移動し始める。そして、記録領域内で次の1ライン分の画像形成が行われ、再び調整領域内で停止する。この逆方向への移動時も、順方向への移動時と同様に、加減速期間中にも画像形成が行われる。 While the carriage 12 is moved in the recording area, image formation for one line on the paper P is performed. That is, in this embodiment, in order to increase the image formation speed, image formation is performed not only during constant speed driving but also during acceleration / deceleration periods before and after that. After stopping in the standby area, the carriage 12 starts to move in the direction from the standby area toward the adjustment area (that is, in the reverse direction). Then, the image formation for the next one line is performed in the recording area, and again stops in the adjustment area. When moving in the reverse direction, image formation is also performed during the acceleration / deceleration period as in the case of moving in the forward direction.
このようにしてキャリッジ12が主走査方向へ往復移動されながら記録ヘッド11により画像形成が行われることで、最終的に用紙Pへ1ページ分の画像が形成される。
(2)リニアスケールの汚れによる検出速度の変動について
図4に、リニアスケール46に汚れが付着している例と、その場合にキャリッジ12を定速駆動させたときのエンコーダ信号及びこのエンコーダ信号に基づいて検出される検出速度の例を示す。なお、図4に示す検出速度は、同図中、リニアスケール46に対してキャリッジ12が右方向に移動している場合の検出結果である。
In this way, an image is formed by the recording head 11 while the carriage 12 is reciprocated in the main scanning direction, so that an image for one page is finally formed on the paper P.
(2) Variation in detection speed due to contamination of the linear scale FIG. 4 shows an example in which the linear scale 46 is contaminated, an encoder signal when the carriage 12 is driven at a constant speed in this case, and this encoder signal. The example of the detection speed detected based on is shown. The detection speed shown in FIG. 4 is a detection result when the carriage 12 is moving in the right direction with respect to the linear scale 46 in FIG.
図4の例では、リニアスケール46にグリス等の汚れ70が付着しているため、その汚れ70が付着している領域内の1つのスリット48はその汚れ70によって覆われている。そのため、キャリッジ12がその汚れ70で覆われている領域に対応する区間を移動している間は、本来検出されるはずのエンコーダ信号のエッジが検出されない。これにより、キャリッジ12は実際には定速移動しているにもかかわらず、エンコーダ信号に基づく検出速度は、図4に示すように、汚れ70の影響を受けて大きく変動(低下)し、予め設定された速度正常範囲(速度下限閾値から速度上限閾値までの間)から外れてしまう。 In the example of FIG. 4, dirt 70 such as grease adheres to the linear scale 46, so that one slit 48 in the area where the dirt 70 adheres is covered with the dirt 70. Therefore, while the carriage 12 is moving in a section corresponding to the area covered with the dirt 70, the edge of the encoder signal that should be detected is not detected. Thereby, although the carriage 12 is actually moving at a constant speed, the detection speed based on the encoder signal greatly fluctuates (decreases) under the influence of the dirt 70 as shown in FIG. It deviates from the set normal speed range (between the speed lower limit threshold and the speed upper threshold).
このように検出速度が変動すると、実際には定速移動しているにもかかわらず、CRモータ制御部32は、その大きく低下した検出速度を目標速度(一定速度)に戻すべく、本来は必要のないフィードバック制御を行う。その結果、キャリッジ12の実際の速度自体も乱れてしまう。 When the detection speed fluctuates in this way, the CR motor control unit 32 is originally necessary to return the greatly reduced detection speed to the target speed (constant speed) despite the fact that it is moving at a constant speed. Perform feedback control without noise. As a result, the actual speed of the carriage 12 itself is disturbed.
そこで、本実施形態のインクジェットプリンタ1では、補償制御情報設定部36が、キャリッジ12の検出速度が速度正常範囲から外れた異常速度であるかどうかを検知し、異常速度が検知された場合は、その異常速度がリニアスケール46の汚れ等に起因するものか否かを判断する。そして、汚れ等の付着に起因するものである場合には、その付着している区間(汚れ区間)を特定し、その汚れ区間に関する情報である汚れ区間情報(詳細は後述)をCRモータ制御部32へ伝達する。このようにして汚れ区間情報が伝達されると、CRモータ制御部32は、以後、その汚れ区間を補償区間として補償制御を行う。 Therefore, in the inkjet printer 1 of the present embodiment, the compensation control information setting unit 36 detects whether or not the detection speed of the carriage 12 is an abnormal speed out of the normal speed range, and when the abnormal speed is detected, It is determined whether or not the abnormal speed is caused by dirt on the linear scale 46 or the like. If it is caused by adhesion of dirt or the like, the attached section (dirt section) is specified, and dirt section information (details will be described later), which is information related to the dirt section, is stored in the CR motor control unit. 32. When the dirt section information is transmitted in this way, the CR motor control unit 32 subsequently performs compensation control using the dirt section as the compensation section.
尚、異常速度であるか否かの判断方法は種々考えられ、例えば目標速度に対する速度偏差が所定の閾値以内となる範囲を速度正常範囲としてそれを外れたら異常速度と判断してもよいし、速度偏差の変化量が所定の閾値を超えた場合に異常速度と判断してもよい。 Various methods for determining whether or not the speed is abnormal may be considered, for example, a range in which the speed deviation with respect to the target speed is within a predetermined threshold may be determined as an abnormal speed if the speed is within the normal speed range, The abnormal speed may be determined when the change amount of the speed deviation exceeds a predetermined threshold.
(3)キャリッジ駆動処理の説明
次に、ASIC2にて行われるキャリッジ駆動処理を、図5を用いて説明する。図5のキャリッジ駆動処理は、ASIC2において主にCRリニアエンコーダ処理部34(特に補償制御情報設定部36)及びCRモータ制御部32にて行われる。
(3) Description of Carriage Driving Process Next, the carriage driving process performed by the ASIC 2 will be described with reference to FIG. The carriage driving process of FIG. 5 is mainly performed by the CR linear encoder processing unit 34 (particularly the compensation control information setting unit 36) and the CR motor control unit 32 in the ASIC 2.
CPU3は、用紙Pへの画像形成を行う際、ASIC2に対し、キャリッジ駆動処理を含む各種処理の実行に必要な各種設定等を行う。ASIC2は、そのCPU3からの各種設定等に従い、キャリッジ駆動処理を実行する。CPU3にて設定される項目の中には、キャリッジ12の動作パターンも含まれている。即ち、用紙Pの大きさや紙質、画像形成の速度や品質などに応じた複数種類の動作パターンが設定される。そのため、ASIC2は、CPU3にて設定される動作パターンに従ってキャリッジ12を駆動させる。 When the CPU 3 forms an image on the paper P, the CPU 3 performs various settings and the like necessary for executing various processes including a carriage driving process on the ASIC 2. The ASIC 2 executes a carriage driving process according to various settings from the CPU 3. Items set by the CPU 3 include an operation pattern of the carriage 12. That is, a plurality of types of operation patterns are set according to the size and quality of the paper P and the speed and quality of image formation. Therefore, the ASIC 2 drives the carriage 12 according to the operation pattern set by the CPU 3.
なお、CRリニアエンコーダ処理部34は、このキャリッジ駆動処理と並行して、CRリニアエンコーダ14からのA,B各相信号に基づくキャリッジ12の速度、位置、移動方向等の検出や、その検出速度が異常速度であるか否かの判断等も行う。 The CR linear encoder processing unit 34 detects the speed, position, moving direction, and the like of the carriage 12 based on the A and B phase signals from the CR linear encoder 14 and the detected speed in parallel with the carriage driving process. It is also determined whether or not is an abnormal speed.
ASIC2は、このキャリッジ駆動処理を開始すると、まずS110にて、キャリッジ12の1ライン分の走査(駆動)を開始する。そして、S120にて、前回の駆動時(回の1ライン分の走査時)までに異常速度が検知済みか否かを判断し、検知済みならば(S120:YES)S180の補償区間対応制御処理に進み、まだ検知されていない場合は(S120:NO)、通常制御に入る。 When the ASIC 2 starts the carriage driving process, first, in S110, scanning (driving) of one line of the carriage 12 is started. Then, in S120, it is determined whether or not the abnormal speed has been detected by the previous driving (when scanning for one line), and if detected (S120: YES), the compensation section corresponding control processing in S180. If not detected yet (S120: NO), normal control is entered.
即ち、演算タイミング毎に(S130:YES)、S140にて通常制御処理を行う。具体的には、エンコーダ信号に基づいて検出された検出速度等に基づいて通常操作量Uaを演算し、その通常操作量Uaに対応した駆動指令を出力することにより、CRモータ13を駆動(ひいてはキャリッジ12を駆動)させる。 That is, at every calculation timing (S130: YES), normal control processing is performed in S140. Specifically, the normal operation amount Ua is calculated based on the detected speed detected based on the encoder signal, and a drive command corresponding to the normal operation amount Ua is output, thereby driving the CR motor 13 (as a result). The carriage 12 is driven).
1ライン分の走査が終了するまでは、演算タイミング毎にこのS140の通常制御処理を行う。1ライン分の走査が終了すると(S150:YES)、S160にてその1ライン分の走査中に異常速度が検知されたか否かを判断し、異常速度が検知された場合は(S160:YES)S200以降に進み、異常速度が検知されなかった場合は(S160:NO)、S170にて、全ライン走査完了したか否かを判断する。そして、全ライン走査が完了するまでは上述したS110以降の処理による1ライン毎の走査を繰り返し、全ライン走査が完了すると(S170:YES)、このキャリッジ駆動処理を終了する。 Until the scanning for one line is completed, the normal control process of S140 is performed at each calculation timing. When the scanning for one line is completed (S150: YES), it is determined in S160 whether an abnormal speed is detected during the scanning for that one line, and if an abnormal speed is detected (S160: YES). If the abnormal speed is not detected (S160: NO), it is determined in S170 whether or not all line scanning is completed. Then, until the entire line scanning is completed, scanning for each line by the above-described processing after S110 is repeated. When the entire line scanning is completed (S170: YES), this carriage driving process is ended.
一方、1ライン分の走査中に異常速度が検知された場合は(S160:YES)、S200にて、すでに汚れ判定が実行済みか否かを判断する。汚れ判定とは、汚れ等が付着している区間(汚れ区間)を特定するためのS210〜S250の処理であり、換言すれば、後述する補償制御が行われる区間である補償区間を特定するための処理である。そのため、汚れ区間と補償区間とは実質的には同義(同じ区間を示すもの)である。すでに汚れ判定が実行済みならば(S200:YES)、S280に進むが、まだ汚れ判定が実行されていない場合は(S200:NO)、S210以降の汚れ判定を実行する。 On the other hand, if an abnormal speed is detected during scanning for one line (S160: YES), it is determined in S200 whether or not the stain determination has already been performed. The dirt determination is the processing of S210 to S250 for specifying a section (dirt section) where dirt is attached, in other words, for specifying a compensation section that is a section in which compensation control described later is performed. It is processing of. Therefore, the dirt section and the compensation section are substantially synonymous (indicating the same section). If the stain determination has already been performed (S200: YES), the process proceeds to S280. If the stain determination has not yet been performed (S200: NO), the stain determination after S210 is performed.
ここで、汚れ判定について、図7を参照しつつ説明する。図7は、リニアスケール46において近接する2箇所に汚れ71,72が付着している例を示している。汚れ判定を開始すると、まずS210にて汚れカウント値nを算出する。具体的には、まず、キャリッジ12をその移動経路(走査域)の一端から他端までの全領域を駆動させて、その間のエンコーダ信号をカウントすることにより、異常時全カウント値Mを計測する。 Here, the dirt determination will be described with reference to FIG. FIG. 7 shows an example in which dirt 71 and 72 are attached to two adjacent locations on the linear scale 46. When the dirt determination is started, a dirt count value n is first calculated in S210. Specifically, first, the carriage 12 is driven in the entire area from one end to the other end of the moving path (scanning area), and the encoder signal is counted between them, thereby measuring the total count value M at the time of abnormality. .
一方、EEPROM6には、リニアスケール46が汚れ等のない正常な状態である場合にキャリッジ12を移動経路の一端から他端までの全走査域を駆動させた場合のエンコーダ信号のカウント値が、ノミナルカウント値Nとして予め記憶されている。そこで、次式(1)の演算を行うことにより、汚れカウント値nを求める。 On the other hand, the EEPROM 6 has a nominal value of the encoder signal when the linear scale 46 is in a normal state free of dirt and the like when the carriage 12 is driven in the entire scanning area from one end of the moving path to the other end. A count value N is stored in advance. Therefore, the dirt count value n is obtained by performing the calculation of the following equation (1).
汚れカウント値n = ノミナルカウント値N − 異常時全カウント値M ・・・(1)
そして、S220にて、その算出した汚れカウント値nに基づき、異常速度の原因がリニアスケール46の汚れによるものか否かを判断する。具体的には、汚れカウント値nが0ではない場合は、異常速度がリニアスケール46の汚れに起因するもの判断する。逆に、汚れカウント値nが0である場合は、リニアスケール46の汚れとは別の原因で異常速度が検知されたものと判断する。
Dirt count value n = Nominal count value N-Abnormal total count value M (1)
In S220, based on the calculated dirt count value n, it is determined whether or not the cause of the abnormal speed is caused by dirt on the linear scale 46. Specifically, when the dirt count value n is not 0, it is determined that the abnormal speed is caused by dirt on the linear scale 46. On the contrary, when the dirt count value n is 0, it is determined that an abnormal speed is detected due to a cause other than the dirt of the linear scale 46.
汚れカウント値nが0で、異常速度の原因が汚れによるものではないと判断した場合は(S220:NO)、S260にて、操作・表示部8が備える図示しない表示装置へのエラー表示を行い、続くS270にて、キャリッジ12の駆動を停止する。 When the dirt count value n is 0 and it is determined that the cause of the abnormal speed is not caused by dirt (S220: NO), an error is displayed on a display device (not shown) provided in the operation / display unit 8 in S260. In subsequent S270, the driving of the carriage 12 is stopped.
汚れカウント値nが0ではなく、異常速度の原因が汚れによるものであると判断した場合は(S220:YES)、S230にて汚れ区間幅mの算出を行う。具体的には、まずキャリッジ12を移動経路の一端側から順方向へ駆動させ、その駆動開始から異常速度が検知されるまでのエンコーダ信号をカウントすることにより第1カウント値kaを計測する。次に、キャリッジ12を移動経路の他端側から逆方向へ駆動させ、その駆動開始から異常速度が検知されるまでのエンコーダ信号をカウントすることにより第2カウント値kbを計測する。そして、次式(2)の演算を行うことにより、汚れ区間幅mを求める。 When the dirt count value n is not 0 and it is determined that the cause of the abnormal speed is caused by dirt (S220: YES), the dirt section width m is calculated in S230. Specifically, first, the carriage 12 is driven in the forward direction from one end side of the movement path, and the first count value ka is measured by counting the encoder signal from the start of driving until the abnormal speed is detected. Next, the carriage 12 is driven in the reverse direction from the other end side of the movement path, and the second count value kb is measured by counting the encoder signal from the start of driving until the abnormal speed is detected. And the dirt section width m is calculated | required by calculating the following Formula (2).
汚れ区間幅m = ノミナルカウント値N −
(第1カウント値ka + 第2カウント値Kb) ・・・(2)
この汚れ区間幅mは、図7に示すように、2つの汚れ71,72を含む汚れ区間の幅であり、換言すれば、この汚れ区間内において仮に汚れ71,72がなかったならばカウントされたであろうカウント値を意味するものである。
Dirt section width m = nominal count value N −
(First count value ka + second count value Kb) (2)
As shown in FIG. 7, the dirt section width m is the width of a dirt section including two dirt 71 and 72. In other words, the dirt section width m is counted if there is no dirt 71 and 72 in the dirt section. It means the count value that would have been.
汚れ区間幅mの算出後は、続くS240にて、その算出された汚れ区間幅mが所定の汚れ幅閾値より大きいか否かを判断する。そして、汚れ区間幅mが汚れ幅閾値より大きい場合は(S240:YES)、汚れが広範囲にわたって付着しているものとして、S260よるエラー表示を行い、続くS270にてキャリッジ12の駆動を停止する。汚れ区間幅mが広くなるケースとしては、単に1つの汚れが広範囲に渡って連続的に付着しているケースの他、狭い領域の汚れが断続的に点在しているケース等も想定される。 After calculating the dirt section width m, it is determined in subsequent S240 whether or not the calculated dirt section width m is larger than a predetermined dirt width threshold. If the dirt section width m is larger than the dirt width threshold value (S240: YES), it is assumed that dirt has adhered over a wide range, an error display is performed at S260, and the drive of the carriage 12 is stopped at S270. As a case where the dirt section width m becomes wide, a case where only one dirt is continuously attached over a wide range, a case where dirt in a narrow area is intermittently scattered, and the like are assumed. .
汚れ区間幅mが汚れ幅閾値以下である場合は(S240:NO)、S250にて、次式(3)の演算を行うことにより汚れ区間内実カウント値zを算出する。
汚れ区間内実カウント値z = 異常時全カウント値M −
(第1カウント値ka + 第2カウント値Kb) ・・・(3)
なお、汚れ区間幅mは、上記式(2)以外にも、上記式(3)で得られた汚れ区間内実カウント値zに汚れカウント値nを加算することによっても算出できる。そのため、S230の汚れ区間幅mの算出に先立ってまずS250の汚れ区間内実カウント値zの算出を行い、その後に、m=z+nの演算により汚れ区間幅mを算出するようにしてもよい。
When the dirt section width m is equal to or less than the dirt width threshold (S240: NO), the actual count value z in the dirt section is calculated by performing the following equation (3) in S250.
Actual count value z in dirt section = all count values M −
(First count value ka + second count value Kb) (3)
In addition to the above formula (2), the dirt section width m can be calculated by adding the dirt count value n to the dirt section actual count value z obtained by the above formula (3). Therefore, prior to the calculation of the dirt section width m in S230, the dirt section actual count value z may be calculated first in S250, and then the dirt section width m may be calculated by the calculation of m = z + n.
S210〜S250の汚れ判定は、補償制御情報設定部36にて行われる。補償制御情報設定部36は、汚れ判定を実行した後、得られた各値(m,z,ka,kb)を、汚れ区間を示す汚れ区間情報としてCRモータ制御部32へ伝達する。CRモータ制御部32は、その伝達されてきた汚れ区間情報が示す汚れ区間を補償区間として設定し、以後、その補償区間内(即ち汚れ区間内)では後述する補償制御を行う。 The stain determination in S210 to S250 is performed by the compensation control information setting unit 36. After executing the dirt determination, the compensation control information setting unit 36 transmits the obtained values (m, z, ka, kb) to the CR motor control unit 32 as dirt section information indicating the dirt section. The CR motor control unit 32 sets a dirt section indicated by the transmitted dirt section information as a compensation section, and thereafter performs compensation control described later in the compensation section (that is, in the dirt section).
汚れ判定実行後は、再びS110に戻り、次の1ライン分の走査を開始する。そのため、汚れ判定が行われた後のキャリッジ駆動の際は、それ以前のキャリッジ駆動においてすでに異常速度が検知済みであることから、S120の判断処理では異常速度検知済みと判断され、S180の補償区間対応制御処理に進むことになる。 After performing the dirt determination, the process returns to S110 again, and scanning for the next one line is started. Therefore, when the carriage is driven after the dirt determination is performed, the abnormal speed has already been detected in the previous carriage drive. Therefore, in the determination process of S120, it is determined that the abnormal speed has been detected, and the compensation interval of S180 Proceed to the corresponding control process.
S180の補償区間対応制御処理は、図6のフローチャートに示す通りであり、まずS410にて、キャリッジ12の現在位置が補償区間前であるか否かを判断する。そして、補償区間前ならば(S410:YES)、演算タイミング毎に(S420:YES)、S430以降の処理に進む。補償区間前かどうかの判断は、駆動開始後のエンコーダ信号のカウント値に基づいて行い、順方向駆動のときはカウント値が第1カウントkaに達するまでは補償区間前であると判断し、逆方向駆動のときはカウント値が第2カウント値kbに達するまでは補償区間前であると判断する。 The compensation section correspondence control process in S180 is as shown in the flowchart of FIG. 6. First, in S410, it is determined whether or not the current position of the carriage 12 is before the compensation section. And if it is before a compensation area (S410: YES), it will progress to the process after S430 for every calculation timing (S420: YES). The determination as to whether the current period is before the compensation period is made based on the count value of the encoder signal after the start of driving. In forward driving, it is determined that the current value is before the compensation period until the count value reaches the first count ka. In the case of direction driving, it is determined that it is before the compensation period until the count value reaches the second count value kb.
S430では、図5のS140と同様、通常制御処理を行う。即ち、検出速度等に基づいて通常操作量Uaを算出し、キャリッジ12を駆動させる。そして、S440にて、予め設定された補償係数算出開始条件(本発明の補償情報生開始条件に相当)が成立したか否か、即ちキャリッジ12が初期不安定区間から出たか否かを判断する。初期不安定区間とは、キャリッジ12の駆動開始後からその駆動状態が安定するまでの区間を意味するものであり、キャリッジ12がまだ初期不安定区間内である(即ち補償係数算出開始条件が成立していない)ならば(S440:NO)、一旦この補償区間対応制御処理を終了し、初期不安定区間を抜けた(即ち補償係数算出開始条件が成立した)ならば(S440:YES)、S450に進む。S450では、現在の駆動方向に対応したノミナル操作量データから、現演算タイミングでのノミナル操作量Unを読み出す。 In S430, a normal control process is performed as in S140 of FIG. That is, the normal operation amount Ua is calculated based on the detected speed and the carriage 12 is driven. Then, in S440, it is determined whether or not a preset compensation coefficient calculation start condition (corresponding to the compensation information raw start condition of the present invention) is satisfied, that is, whether or not the carriage 12 has exited from the initial unstable section. . The initial unstable section means a section from the start of driving of the carriage 12 until the driving state is stabilized, and the carriage 12 is still in the initial unstable section (that is, the compensation coefficient calculation start condition is satisfied). If not (S440: NO), this compensation section corresponding control process is once ended, and if the initial unstable section is exited (that is, the compensation coefficient calculation start condition is satisfied) (S440: YES), S450 Proceed to In S450, the nominal operation amount Un at the current calculation timing is read from the nominal operation amount data corresponding to the current drive direction.
ここで、ノミナル操作量データ及びノミナル操作量Unについて説明する。EEPROM6には、インクジェットプリンタ1のノミナルモデルに対する操作量(ノミナル操作量Un)が、演算タイミング毎の時系列的なデータ群(ノミナル操作量データ)として、インクジェットプリンタ1の出荷前に予め記憶されている。ノミナル操作量Unとは、仮にインクジェットプリンタ1の実モデルがノミナルモデルと同じならばそのノミナル操作量Unをそのまま用いてキャリッジ12を正常に駆動制御できる、という操作量である。 Here, the nominal operation amount data and the nominal operation amount Un will be described. In the EEPROM 6, the operation amount (nominal operation amount Un) for the nominal model of the inkjet printer 1 is stored in advance as a time-series data group (nominal operation amount data) at each calculation timing before shipment of the inkjet printer 1. Yes. The nominal operation amount Un is an operation amount that allows the carriage 12 to be normally driven and controlled using the nominal operation amount Un as it is if the actual model of the inkjet printer 1 is the same as the nominal model.
図8に、キャリッジ12が1ライン走査される間の各演算タイミング毎の、ノミナル操作量データ(ノミナル操作量Un)とキャリッジ駆動中に実際に算出される操作量の一例を示す。図8に示すように、通常制御処理によって演算される通常操作量Uaは、ノミナル操作量Unからずれた値となっている。 FIG. 8 shows an example of nominal operation amount data (nominal operation amount Un) and an operation amount actually calculated during driving of the carriage for each calculation timing while the carriage 12 is scanned by one line. As shown in FIG. 8, the normal operation amount Ua calculated by the normal control process is a value deviated from the nominal operation amount Un.
ノミナル操作量データは、動作パターン毎に、また、駆動方向毎に、EEPROM6に記憶されている。そのため、S450では、現駆動時の動作パターンに対応し且つ現駆動方向に対応したノミナル操作量データの中から、現演算タイミングでのノミナル操作量Un(Unf又はUnr)が読み出される。なお、Unfは駆動方向が順方向の場合を示し、Unrは駆動方向が逆方向の場合を示す。 The nominal operation amount data is stored in the EEPROM 6 for each operation pattern and for each driving direction. Therefore, in S450, the nominal operation amount Un (Unf or Unr) at the current calculation timing is read from the nominal operation amount data corresponding to the operation pattern during the current drive and corresponding to the current drive direction. Unf indicates the case where the drive direction is the forward direction, and Unr indicates the case where the drive direction is the reverse direction.
そして、S460にて、現在の駆動方向に対応した補償係数α(αf又はαr)を算出する。補償係数αの算出は、S430で算出した通常操作量UaをS450で読み出したノミナル操作量Unで除算することにより行われる。つまり、補償係数αは、通常操作量Uaとノミナル操作量Unとの比率を表すものであり、換言すれば、ノミナルモデルと実モデルとのずれを定量的に示すものである。なお、αfは駆動方向が順方向の場合を示し、αrは駆動方向が逆方向の場合を示す。 In S460, a compensation coefficient α (αf or αr) corresponding to the current drive direction is calculated. The compensation coefficient α is calculated by dividing the normal operation amount Ua calculated in S430 by the nominal operation amount Un read in S450. That is, the compensation coefficient α represents a ratio between the normal operation amount Ua and the nominal operation amount Un, and in other words, quantitatively indicates a deviation between the nominal model and the actual model. Αf indicates the case where the drive direction is the forward direction, and αr indicates the case where the drive direction is the reverse direction.
また、キャリッジ12の駆動開始直後は、CRモータ13に対して通常操作量Uaに応じた駆動力が与えられるものの、静止摩擦等によってすぐには動き出さずに検出速度が0のままという、不安定な状態となる。そのため、そのような不安定な状態のときの通常操作量Uaに基づいて得られる補償係数αは、信頼性の低い値であるおそれがある。 Immediately after the carriage 12 starts to be driven, a driving force corresponding to the normal operation amount Ua is given to the CR motor 13, but it does not start immediately due to static friction or the like, and the detection speed remains zero. It becomes a state. Therefore, the compensation coefficient α obtained based on the normal operation amount Ua in such an unstable state may be a low reliability value.
そこで本実施形態では、駆動開始後の、検出速度がまだ0のままの間は、不感帯として、その不感帯での駆動中は補償係数αの算出を行わない。更に、キャリッジ12が不感帯を出た直後の所定区間においても、不感帯の影響を受けた精度の低い制御がなされるおそれがあるため、補償計数αの算出を行わない。 Therefore, in the present embodiment, the calculation of the compensation coefficient α is not performed during driving in the dead zone as the dead zone while the detection speed is still 0 after the start of driving. Further, even in a predetermined section immediately after the carriage 12 exits the dead zone, the compensation count α is not calculated because there is a possibility that control with low accuracy affected by the dead zone may be performed.
つまり、キャリッジ12の駆動開始後、不感帯及びその直後の所定区間は、安定した制御がなされないおそれのある初期不安定区間であり、この初期不安定区間を駆動中は、補償係数算出開始条件がまだ不成立である(S440:NO)として補償係数αの算出は行わず、初期不安定区間を出た後に、補償係数算出開始条件が成立した(S440:YES)として補償係数αの算出を行うようにしている。なお、不感帯やその直後の所定区間の設定、延いてはそれら両者を含む初期不安定区間の設定は、適宜行うことができ、例えば駆動開始位置から所定距離としてもよいし、駆動開始から所定時間経過するまでとしてもよいし、キャリッジ12の速度が所定速度に到達するまでとしてもよい。 That is, the dead zone and the predetermined section immediately after the start of driving the carriage 12 are initial unstable sections in which stable control may not be performed. During driving of the initial unstable section, the compensation coefficient calculation start condition is The compensation coefficient α is not calculated because it is not yet established (S440: NO), and the compensation coefficient α is calculated when the compensation coefficient calculation start condition is satisfied (S440: YES) after leaving the initial unstable period. I have to. The dead zone and the predetermined interval immediately after it, and the initial unstable interval including both of them can be set as appropriate. For example, a predetermined distance from the drive start position or a predetermined time from the drive start can be set. The time may elapse until the speed of the carriage 12 reaches a predetermined speed.
このようにして、キャリッジ12が補償区間に入るまでは、α算出区間として(但し初期不安定区間は除く)、演算タイミング毎に、現演算タイミングにおける補償係数αが算出され、その値はASIC2内にて保持される。但し本実施形態では、常に最新の補償係数αのみが保持される。 In this manner, until the carriage 12 enters the compensation section, the compensation coefficient α at the current computation timing is calculated at each computation timing as an α computation section (except for the initial unstable section), and the value is stored in the ASIC 2. Held at. However, in the present embodiment, only the latest compensation coefficient α is always maintained.
そして、キャリッジ12が補償区間に入ると(S410:NO,S420:NO)、その補償区間の駆動中は、演算タイミング毎に(S480:YES)、補償制御を行う。即ち、まずS490にて、現在の駆動方向に対応したノミナル操作量データから、現演算タイミングでのノミナル操作量Unを読み出す。そして、S500にて、S490で読み出したノミナル操作量Unに補償係数αを乗じることにより、補償操作量Ucを算出する。 When the carriage 12 enters the compensation section (S410: NO, S420: NO), compensation control is performed at each calculation timing (S480: YES) during driving of the compensation section. That is, first, in S490, the nominal operation amount Un at the current calculation timing is read from the nominal operation amount data corresponding to the current drive direction. In S500, the compensation operation amount Uc is calculated by multiplying the nominal operation amount Un read in S490 by the compensation coefficient α.
つまり、補償区間内においては、検出速度に基づいて通常操作量Uaを算出する通常制御処理を行うのではなく、図8に例示するように、演算タイミング毎に、その演算タイミングにおけるノミナル操作量Unをα倍することにより、補償操作量Ucに換算する。そして、その補償操作量Ucに基づいてCRモータ13を駆動する。 That is, in the compensation section, the normal control process for calculating the normal operation amount Ua based on the detected speed is not performed, but the nominal operation amount Un at the calculation timing is calculated for each calculation timing as illustrated in FIG. Is converted into a compensation manipulated variable Uc. Then, the CR motor 13 is driven based on the compensation operation amount Uc.
補償制御を行っている間も、エンコーダ信号のカウントは継続され、CRモータ制御部32は、補償制御開始後のカウント値に基づいて補償区間の終了タイミングを検出する。具体的には、補償区間に入った後のカウント値が汚れ区間内実カウント値zに到達したかどうかを判断する。そして、汚れ区間内実カウント値zに到達したとき、それは補償区間内における最後のカウントであるため、更に次のカウントが行われるまで補償制御を継続する。そして、汚れ区間内実カウント値zに到達後、次のカウントが行われたときに、補償区間から出た(即ち汚れ区間から出た)ものと判断する。 While the compensation control is being performed, the encoder signal continues to be counted, and the CR motor control unit 32 detects the end timing of the compensation section based on the count value after the start of the compensation control. Specifically, it is determined whether the count value after entering the compensation section has reached the actual count value z in the dirt section. When the dirt count actual count value z is reached, since this is the last count in the compensation section, compensation control is continued until the next count is performed. Then, after reaching the actual count value z in the dirt section, when the next count is performed, it is determined that the compensation section has been exited (that is, the dirt section has been exited).
キャリッジ12が補償区間を出ると(S410:NO,S420:YES)、再び通常制御に戻る。即ち、演算タイミング毎に(S510:YES)、通常操作量Uaを算出し、その通常操作量Uaに基づいてCRモータ13を駆動する。 When the carriage 12 leaves the compensation section (S410: NO, S420: YES), the normal control is resumed. That is, at each calculation timing (S510: YES), the normal operation amount Ua is calculated, and the CR motor 13 is driven based on the normal operation amount Ua.
但し、補償制御から通常制御に戻った後の最初の演算タイミングにおいて、単にそのときの検出速度等に基づいて通常操作量Uaを算出するようにすると、その直前の演算タイミングでの操作量(即ち補償区間最後の演算タイミングでの補償操作量Uc)から大きく変動してキャリッジ12の動作が不安定になってしまうおそれがある。 However, if the normal operation amount Ua is simply calculated based on the detection speed at that time at the first calculation timing after returning from the compensation control to the normal control, the operation amount at the immediately preceding calculation timing (that is, There is a possibility that the operation of the carriage 12 becomes unstable due to a large fluctuation from the compensation operation amount Uc) at the last calculation timing of the compensation section.
そこで本実施形態では、補償区間を出た後の最初の演算タイミングでは(S520:YES)、通常操作量Uaとして、補償区間最後の演算タイミングで演算された補償操作量Ucを設定する(S530)。そして、その次の演算タイミング以降、即ち補償区間を出てから2番目の演算タイミング以降は(S520:NO)、S430と同様、通常操作量Uaによる通常制御処理を行う(S540)。 Therefore, in the present embodiment, at the first calculation timing after leaving the compensation section (S520: YES), the compensation operation amount Uc calculated at the last calculation timing of the compensation section is set as the normal operation amount Ua (S530). . Then, after the next calculation timing, that is, after the second calculation timing after exiting the compensation section (S520: NO), the normal control process with the normal operation amount Ua is performed similarly to S430 (S540).
ここで、補償区間終了時のエンコーダ信号のカウント値は、エンコーダスケール46の汚れ等の影響により、汚れ等がない正常状態の場合のカウント値とは異なる値になっている可能性が高い。そこで、補償制御情報設定部36は、キャリッジ12が補償区間から出た時に、その時点(補償区間終了時)のエンコーダ信号のカウント値を、その時点におけるキャリッジ12の位置に対応した、本来あるべき正しいカウント値に修正する。具体的には、補償区間終了時に、その時点での実際のカウント値に汚れカウント値nを加算することにより、カウント値の修正を行う。 Here, the count value of the encoder signal at the end of the compensation period is likely to be a value different from the count value in the normal state where there is no dirt due to the dirt of the encoder scale 46 or the like. Therefore, the compensation control information setting unit 36 should originally correspond to the position of the carriage 12 at that point in time when the carriage 12 leaves the compensation interval, and the count value of the encoder signal at that point (at the end of the compensation interval). Correct to the correct count value. Specifically, at the end of the compensation period, the count value is corrected by adding the dirt count value n to the actual count value at that time.
補償区間を出て通常制御に戻った後、1ライン分の走査が終了すると(図5のS190:YES)、S160にて、その1ライン分の走査中に異常速度が検知されたか否かが判断される。 When the scanning for one line is completed after exiting the compensation section and returning to the normal control (S190: YES in FIG. 5), whether or not an abnormal speed is detected during the scanning for the one line is determined in S160. To be judged.
補償区間の開始位置は、第1カウント値ka又は第2カウント値kbに基づいて判断されるが、これら各カウント値ka,kbは、キャリッジ12を端部から駆動させて異常速度が検知されるまでのカウント値に基づくものである。そのため、異常速度が検知されるタイミングによっては、必ずしも、その検知時のカウント値が汚れ区間の開始位置(汚れ等が付着している位置の端部)に対応しているとは限らない。つまり、CRリニアエンコーダ処理部34による異常速度の検知タイミングが遅れると、すでに汚れ区間に入ってしかもその汚れ区間内でカウントが進んだ段階で、異常速度が検知される可能性もある。 The start position of the compensation section is determined based on the first count value ka or the second count value kb. These count values ka and kb are used to drive the carriage 12 from the end to detect an abnormal speed. It is based on the count value up to. Therefore, depending on the timing at which the abnormal speed is detected, the count value at the time of detection does not necessarily correspond to the start position of the dirt section (the end of the position where dirt or the like is attached). That is, if the detection timing of the abnormal speed by the CR linear encoder processing unit 34 is delayed, there is a possibility that the abnormal speed is detected when the count has already entered the dirt section and the count has advanced within the dirt section.
そこで、汚れ判定が行われた後の1ライン分の走査中においてもまだ異常速度が検知された場合は(S160:YES)、S200に進む。この場合、少なくとも1回はすでに汚れ判定が行われているはずであるため、S280に進み、補償区間の開始位置を更新する。即ち、補償制御情報設定部36が、補償区間の開始位置を、現在設定されている位置(カウント値)よりも前の位置に更新する。 Therefore, when an abnormal speed is still detected even during scanning for one line after the stain determination is performed (S160: YES), the process proceeds to S200. In this case, since the dirt determination has already been performed at least once, the process proceeds to S280, and the start position of the compensation section is updated. That is, the compensation control information setting unit 36 updates the start position of the compensation section to a position before the currently set position (count value).
例えば、補償区間開始タイミングが第1カウント値kaに設定されている場合に、補償区間開始前(即ちカウント値が第1カウント値kaに達する前)に異常速度が検知された場合は、補償区間開始タイミングを所定カウント分早いタイミングへ更新する。このようにして補償区間開始位置を更新した後も、まだ、補償区間開始前に異常速度が検知された場合は、更に補償区間開始位置を所定カウント分早いタイミングへ更新する。つまり、補償区間開始前に異常速度が検知されなくなるまで、補償区間開始位置を逐次更新(前倒し)していく。なお、一回の更新毎にどの程度ずつ更新していくかは適宜決めればよい。 For example, when the compensation interval start timing is set to the first count value ka and the abnormal speed is detected before the compensation interval starts (that is, before the count value reaches the first count value ka), the compensation interval The start timing is updated to a timing earlier by a predetermined count. Even after the compensation section start position is updated in this way, if an abnormal speed is still detected before the compensation section is started, the compensation section start position is further updated to a timing earlier by a predetermined count. That is, the compensation section start position is sequentially updated (advanced) until no abnormal speed is detected before the compensation section starts. In addition, what is necessary is just to determine suitably how much it updates for every update.
また、上記のように補償区間開始位置を更新する場合は、併せて、汚れ区間幅mや汚れ区間内実カウント値zも更新するのが好ましい。例えば、補償区間開始位置が1カウント分早められた場合は、汚れ区間幅m及び汚れ区間内実カウント値zも1カウント分増やす、といった具合である。 Further, when the compensation section start position is updated as described above, it is also preferable to update the dirt section width m and the dirt section actual count value z. For example, when the compensation section start position is advanced by one count, the dirt section width m and the dirt section actual count value z are also increased by one count.
S280にて補償区間の開始位置が更新された後は、再びS110に戻り、次の1ライン分の走査が開始される。
(4)実施形態の効果等
以上説明した本実施形態のインクジェットプリンタ1によれば、補償区間内において、汚れ等に起因して生じる検出速度の変動の影響がCRモータ13の制御に反映されてしまうのを防止でき、キャリッジ12を安定して駆動させることができる。そのため、リニアスケール45に汚れ等が付着していても、その影響を抑えてキャリッジ12を高精度に制御でき、高品質の画像を形成することができる。
After the start position of the compensation section is updated in S280, the process returns to S110 again, and scanning for the next one line is started.
(4) Effect of Embodiment, etc. According to the inkjet printer 1 of the present embodiment described above, the influence of fluctuations in detection speed caused by dirt or the like is reflected in the control of the CR motor 13 in the compensation section. Can be prevented, and the carriage 12 can be driven stably. Therefore, even if dirt or the like adheres to the linear scale 45, the carriage 12 can be controlled with high accuracy while suppressing the influence, and a high-quality image can be formed.
しかも、補償操作量Ucによる制御はあくまでも補償区間内で行われ、それ以外の区間では通常操作量Uaによる通常制御が行われる。即ち、補償区間が終了したら再び、検出速度に基づいて演算された通常操作量Uaによる通常制御処理が行われる。また、補償区間の終了タイミングは、補償区間開始後のエンコーダ信号のカウント値と汚れ区間内実カウント値zとに基づいて正確に検出される。 Moreover, the control using the compensation operation amount Uc is performed only within the compensation section, and the normal control using the normal operation amount Ua is performed in other sections. That is, when the compensation section is completed, the normal control process with the normal operation amount Ua calculated based on the detected speed is performed again. Further, the end timing of the compensation section is accurately detected based on the count value of the encoder signal after the start of the compensation section and the actual count value z in the dirt section.
そのため、補償操作量UcによるCRモータ13の駆動制御を必要十分に行うことができ、全体として制御性能の劣化を大幅に抑え、CRモータ13の制御、ひいてはキャリッジ12の駆動制御を高精度に行うことができる。 Therefore, the drive control of the CR motor 13 by the compensation operation amount Uc can be performed sufficiently and sufficiently, and the deterioration of the control performance as a whole is greatly suppressed, and the control of the CR motor 13 and thus the drive control of the carriage 12 are performed with high accuracy. be able to.
また、補償区間で用いられる補償操作量Ucは、予め記憶されているノミナル操作量Unに補償係数αを乗じたものであるが、この補償係数αは、補償区間に入る直前の演算タイミングにおける通常操作量Uaとノミナル操作量Unの比率である。そのため、経年変化や周囲環境(温度や湿度等)に起因して本来必要な操作量とノミナル操作量Unとの間にずれが生じていても、補償係数αを用いることでそのずれが加味された(実モデルに合った)適切な補償操作量Ucを得ることができ、補償区間内においてもより適切且つ高精度な制御を実現することができる。 Further, the compensation operation amount Uc used in the compensation section is obtained by multiplying the nominal operation amount Un stored in advance by the compensation coefficient α. This compensation coefficient α is the normal operation timing immediately before entering the compensation section. This is the ratio between the manipulated variable Ua and the nominal manipulated variable Un. Therefore, even if there is a deviation between the operation amount that is originally required and the nominal operation amount Un due to aging or the surrounding environment (temperature, humidity, etc.), the deviation is taken into account by using the compensation coefficient α. In addition, an appropriate compensation operation amount Uc (according to the actual model) can be obtained, and more appropriate and highly accurate control can be realized even in the compensation section.
また、補償係数αは上記のように比率であることから、補償区間が、キャリッジ12の定速駆動区間に設定されるか或いは加減速区間に設定されるかにかかわらず、補償制御を行うことが可能である。昨今、製品の小型化や印刷速度の高速化といった要望から、本実施形態のように加減速区間においても画像形成を行う製品が増えているが、そのような製品に対しても効果的に補償制御を行うことが可能である。 Since the compensation coefficient α is a ratio as described above, compensation control is performed regardless of whether the compensation section is set to the constant speed drive section or the acceleration / deceleration section of the carriage 12. Is possible. Recently, due to demands such as downsizing of products and higher printing speed, the number of products that perform image formation in the acceleration / deceleration section as in this embodiment is increasing. However, such products are also effectively compensated. Control can be performed.
また、補償係数αの算出は、不感帯を含む初期不安定区間を抜けた後(補償係数算出開始条件が成立した後)に行うようにしているため、駆動開始直後の不安定な状態のときの通常操作量Uaを補償係数αの生成に用いないようにすることができ、高精度・高信頼性の補償係数αを生成することができる。なお、初期不安定区間を抜ける前に補償区間に入ってしまう場合は、補償係数αが算出されないことになる。そのような場合の対応としては、例えばノミナル操作量Unをそのまま補償操作量Ucとしたり、或いはエラー扱いにしてキャリッジ駆動を停止したりするなど、適宜決めればよい。 Since the compensation coefficient α is calculated after the initial unstable section including the dead zone (after the compensation coefficient calculation start condition is satisfied), the compensation coefficient α is calculated in an unstable state immediately after the start of driving. The normal operation amount Ua can be prevented from being used to generate the compensation coefficient α, and the highly accurate and reliable compensation coefficient α can be generated. If the compensation interval is entered before exiting the initial unstable interval, the compensation coefficient α is not calculated. As a countermeasure for such a case, for example, the nominal operation amount Un may be used as it is as the compensation operation amount Uc, or it may be appropriately determined such that the carriage driving is stopped by treating it as an error.
また、補償区間を出た後の最初の通常操作量Uaとして、補償区間における最後の補償操作量Ucが用いられるため、補償制御から通常制御に移行する際の操作量の大きな変動・不連続性を抑制でき、通常制御への切り替えをスムーズに行うことができる。 In addition, since the last compensation operation amount Uc in the compensation section is used as the first normal operation amount Ua after exiting the compensation section, a large variation / discontinuity in the operation amount when shifting from the compensation control to the normal control. Can be suppressed, and switching to normal control can be performed smoothly.
また、本実施形態では、補償区間終了時(キャリッジ12が補償区間を出た時)、エンコーダ信号のカウント値を、その時の実際のカウント値に汚れカウント値nを加算することで、その時点において本来あるべきカウント値(本来の位置を示す値)に修正するようにしている。そのため、補償区間を通過した後のキャリッジ12の実際の位置とカウント値とのずれをなくすことができ、補償区間通過後のキャリッジ12の駆動制御を、補償区間の影響(汚れ等の影響)を受けることなく、より高精度に行うことができる。 In the present embodiment, when the compensation section ends (when the carriage 12 exits the compensation section), the count value of the encoder signal is added to the actual count value at that time, and the dirt count value n is added at that time. The count value (correction value indicating the original position) should be corrected. Therefore, the deviation between the actual position of the carriage 12 after passing through the compensation section and the count value can be eliminated, and the drive control of the carriage 12 after passing through the compensation section can be influenced by the influence of the compensation section (effect of dirt, etc.). It can be performed with higher accuracy without receiving.
また、本実施形態では、汚れカウント値nが0であった場合は、異常速度の原因がリニアスケール46の汚れ以外のものであるとして、補償操作量Ucによる補償制御は行わずに外部のユーザ等に対するエラー報知を行い、キャリッジ12の駆動を停止させるようにしている。そのため、補償操作量Ucによる補償制御の要否を正確に判断でき、CRリニアエンコーダ14以外の要因による異常が発生した場合にはそのことをユーザ等に知らしめて、その異常に応じた適切な対応をとるよう促すことができる。 In this embodiment, when the dirt count value n is 0, it is assumed that the cause of the abnormal speed is other than the dirt of the linear scale 46, and compensation control by the compensation operation amount Uc is not performed and an external user is not performed. Etc., and the drive of the carriage 12 is stopped. Therefore, it is possible to accurately determine whether or not the compensation control based on the compensation operation amount Uc is necessary. When an abnormality due to a factor other than the CR linear encoder 14 occurs, the user is informed of this and an appropriate response corresponding to the abnormality is made. Can be encouraged to take
更に、汚れ区間幅mが汚れ幅閾値より大きかった場合も、汚れ区間幅mが広すぎるものとしてユーザ等に対するエラー報知を行い、キャリッジ12を停止させるようにしている。そのため、広い範囲にわたって補償操作量Ucでキャリッジ12を駆動させることにより生じ得る制御性能の劣化を防ぐことができ、ユーザ等に対しても適切な対応をとるように促すことができる。 Further, even when the dirt section width m is larger than the dirt width threshold, the carriage 12 is stopped by notifying the user or the like that the dirt section width m is too wide. Therefore, it is possible to prevent deterioration of control performance that can be caused by driving the carriage 12 with the compensation operation amount Uc over a wide range, and it is possible to prompt the user or the like to take an appropriate measure.
また、本実施形態では、異常速度の検知によって汚れ区間(補償区間)が設定された後のキャリッジ12の駆動の際、その設定された補償区間に入る前に再び異常速度が検知された場合は、補償区間の開始位置を、現在設定されている位置(カウント値)よりも前の位置に更新するようにしている。そのため、一旦設定された補償区間の開始位置が、実際に汚れ等が付着し始めている位置からずれていたとしても、そのずれを修正することができ、汚れ等が付着している区間全体に渡って確実に補償操作量Ucによる制御が行われるようにすることができる。 In the present embodiment, when the carriage 12 is driven after the dirt section (compensation section) is set by detecting the abnormal speed, the abnormal speed is detected again before entering the set compensation section. The start position of the compensation section is updated to a position before the currently set position (count value). For this reason, even if the start position of the compensation section once set is deviated from the position where dirt or the like actually starts to adhere, the deviation can be corrected, and the entire section where the dirt or the like is attached is corrected. Thus, the control by the compensation operation amount Uc can be surely performed.
なお、本実施形態において、CRリニアエンコーダ処理部34は本発明の駆動状態検出手段に相当し、CRモータ制御部32は本発明の操作量演算手段、補償情報生成手段、補償区間判断手段、及び操作量補償手段に相当し、EEPROM6は本発明のノミナル操作量記憶手段及びノミナルカウント値記憶手段に相当し、操作・表示部8は本発明の第1報知手段及び第2報知手段に相当し、補償係数αは本発明の補償情報に相当する。 In the present embodiment, the CR linear encoder processing unit 34 corresponds to the driving state detection unit of the present invention, and the CR motor control unit 32 includes the operation amount calculation unit, the compensation information generation unit, the compensation section determination unit, and the like of the present invention. The operation amount compensation means corresponds, the EEPROM 6 corresponds to the nominal operation amount storage means and the nominal count value storage means of the present invention, the operation / display unit 8 corresponds to the first notification means and the second notification means of the present invention, The compensation coefficient α corresponds to compensation information of the present invention.
また、補償制御情報設定部36は、本発明の異常速度検知手段、補償区間検出手段、異常時全カウント値計測手段、補償区間内実カウント値演算手段、異常時カウント誤差演算手段、修正手段、補償区間幅演算手段、補償区間幅判断手段、及び更新手段に相当する。 Further, the compensation control information setting unit 36 includes an abnormal speed detecting means, a compensation section detecting means, an abnormal total count value measuring means, a compensation actual count value calculating means, an abnormal count error calculating means, a correcting means, and a compensation means according to the present invention. It corresponds to a section width calculating means, a compensation section width determining means, and an updating means.
(5)変形例
上記実施形態では、補償係数αとして、補償区間に入る直前の演算タイミングにおける通常操作量Uaとノミナル操作量Unとの比率を用いたが、補償係数αの算出方法はこれに限定されず、例えば、補償区間に入る前の複数の演算タイミングにおける上記比率の平均値を補償係数αとしてもよい。複数の比率の平均値を補償係数αとることで、ノイズ等の影響が抑制された適切な補償操作量Ucを得ることができる。
(5) Modification In the above embodiment, the ratio between the normal operation amount Ua and the nominal operation amount Un at the calculation timing immediately before entering the compensation section is used as the compensation coefficient α. For example, the average value of the ratios at a plurality of calculation timings before entering the compensation section may be used as the compensation coefficient α. By setting the average value of the plurality of ratios as the compensation coefficient α, it is possible to obtain an appropriate compensation operation amount Uc in which the influence of noise or the like is suppressed.
また例えば、通常操作量Uaとノミナル操作量Unとの差を補償係数αとしてもよい。但しその場合、補償区間を定速区間に限定するのが望ましい。また、例えば最小二乗法などを用いてノミナル操作量Unを通常操作量Uaに線形変換する関数を導出し、その関数を用いて、ノミナル操作量Unから補償操作量Ucを得るようにすることもできる。 For example, the difference between the normal operation amount Ua and the nominal operation amount Un may be used as the compensation coefficient α. However, in that case, it is desirable to limit the compensation section to a constant speed section. Further, for example, a function for linearly converting the nominal manipulated variable Un to the normal manipulated variable Ua using a least square method or the like may be derived, and the compensated manipulated variable Uc may be obtained from the nominal manipulated variable Un using the function. it can.
また、上記実施形態では、ノミナル操作量Unに補償係数αを乗じたものを補償操作量Ucとしたが、実モデルとノミナルモデルとの差(ずれ)の程度によっては、ノミナル操作量Unをそのまま補償操作量Ucとすることも可能である。 In the above embodiment, the compensation operation amount Uc is obtained by multiplying the nominal operation amount Un by the compensation coefficient α. However, depending on the degree of difference (deviation) between the actual model and the nominal model, the nominal operation amount Un is used as it is. It is also possible to set the compensation operation amount Uc.
また、上記実施形態では、汚れによってスリット48が覆われてしまうケース、即ち本来カウントされるはずのエンコーダ信号のエッジがカウントされないケースを例示したが、これとは逆に、例えばスリット48にその幅よりも細い汚れが付着するなどして、本来カウントされるべきエッジよりも多いエッジが検出されてカウントされてしまうケースにおいても、上記実施形態と同様にして汚れ区間(補償区間)を特定し、補償制御を行うようにすることができる。 Further, in the above embodiment, the case where the slit 48 is covered with dirt, that is, the case where the edge of the encoder signal that should be counted is not counted is illustrated. Even in a case where more edges than the edges that should be counted are detected and counted, such as by attaching dirt that is thinner than that, the dirt section (compensation section) is specified in the same manner as in the above embodiment, Compensation control can be performed.
また、上記実施形態では、インクジェットプリンタ1におけるキャリッジ12を駆動させるCRモータ13の制御に対して本発明を適用した例を示したが、本発明は、リニアエンコーダを用いて駆動対象の移動量を検出することによりモータを制御するよう構成されたあらゆるモータ制御装置に対して適用できる。 In the above embodiment, the example in which the present invention is applied to the control of the CR motor 13 that drives the carriage 12 in the inkjet printer 1 has been described. However, the present invention uses the linear encoder to determine the movement amount of the drive target. The present invention can be applied to any motor control device configured to control a motor by detection.
1…インクジェットプリンタ、2…ASIC、3…CPU、4…ROM、5…RAM、6…EEPROM、7…I/F、8…操作・表示部、9…バス、11…記録ヘッド、12…キャリッジ、13…CRモータ、14…CRリニアエンコーダ、15…記録ヘッドドライバ、16…CRモータドライバ、31…記録制御部、32…CRモータ制御部、34…CRリニアエンコーダ処理部、36…補償制御情報設定部、41…ガイド軸、42…無端ベルト、43…駆動プーリ、44…従動プーリ、46…リニアスケール、47…検出部、48…スリット、70〜72…汚れ、P…用紙 DESCRIPTION OF SYMBOLS 1 ... Inkjet printer, 2 ... ASIC, 3 ... CPU, 4 ... ROM, 5 ... RAM, 6 ... EEPROM, 7 ... I / F, 8 ... Operation / display part, 9 ... Bus, 11 ... Recording head, 12 ... Carriage , 13 ... CR motor, 14 ... CR linear encoder, 15 ... recording head driver, 16 ... CR motor driver, 31 ... recording control unit, 32 ... CR motor control unit, 34 ... CR linear encoder processing unit, 36 ... compensation control information Setting unit 41 ... Guide shaft 42 ... Endless belt 43 ... Driving pulley 44 ... Driving pulley 46 ... Linear scale 47 ... Detecting unit 48 ... Slit 70-72 ... Dirt P ... Paper
Claims (14)
前記リニアエンコーダからの前記エンコーダ信号をカウントし、該カウント値に基づいて前記被駆動体の速度及び位置を検出する駆動状態検出手段と、
所定の演算タイミング毎に、前記駆動状態検出手段により検出された速度に基づいて前記モータを制御するための操作量を演算して該モータへ出力する操作量演算手段と、
を備えたモータ制御装置であって、
前記駆動状態検出手段により検出された速度が予め設定された速度正常範囲から外れた異常速度であるか否かを検知する異常速度検知手段と、
前記異常速度検知手段によって前記異常速度が検知された場合に、まず前記被駆動体を前記移動経路の一端から駆動させてその駆動開始から前記異常速度検知手段により前記異常速度が検知されるまでの前記エンコーダ信号をカウントすることにより第1カウント値kaを計測し、さらに前記被駆動体を前記移動経路の他端から駆動させてその駆動開始から前記異常速度検知手段により前記異常速度が検知されるまでの前記エンコーダ信号をカウントすることにより第2カウント値kbを計測して、該各カウント値ka,kbに対応した位置の間を補償区間として検出する補償区間検出手段と、
当該モータ制御装置における制御対象のノミナルモデルに対する前記操作量であるノミナル操作量が前記演算タイミング毎に記憶されているノミナル操作量記憶手段と、
前記補償区間検出手段により前記補償区間が検出された後の前記被駆動体の駆動の際、前記駆動状態検出手段により検出された位置に基づいて前記被駆動体が前記補償区間に入ったかどうかを判断する補償区間判断手段と、
前記補償区間判断手段により前記被駆動体が前記補償区間に入ったと判断されている間、前記演算タイミング毎に、前記ノミナル操作量記憶手段に記憶されている前記ノミナル操作量に基づいて予め決められた演算により補償操作量を生成し、その補償操作量を前記操作量演算手段による前記操作量に代えて前記モータへ出力する、操作量補償手段と、
を備えていることを特徴とするモータ制御装置。 A linear encoder that outputs a pulsed encoder signal according to the amount of movement of a driven body driven by a motor on a preset movement path;
Drive state detection means for counting the encoder signal from the linear encoder and detecting the speed and position of the driven body based on the count value;
An operation amount calculation unit that calculates an operation amount for controlling the motor based on the speed detected by the drive state detection unit and outputs the operation amount to the motor at each predetermined calculation timing;
A motor control device comprising:
An abnormal speed detecting means for detecting whether or not the speed detected by the driving state detecting means is an abnormal speed outside a preset normal speed range;
When the abnormal speed is detected by the abnormal speed detecting means, the driven body is first driven from one end of the moving path, and from the start of driving until the abnormal speed is detected by the abnormal speed detecting means. A first count value ka is measured by counting the encoder signal, and the driven body is driven from the other end of the moving path, and the abnormal speed is detected by the abnormal speed detecting means from the start of driving. A compensation interval detecting means for measuring the second count value kb by counting the encoder signals up to and detecting between the positions corresponding to the respective count values ka and kb as a compensation interval;
Nominal operation amount storage means in which a nominal operation amount that is the operation amount for the nominal model to be controlled in the motor control device is stored for each of the calculation timings;
Whether or not the driven body has entered the compensation section based on the position detected by the driving state detection means when driving the driven body after the compensation section is detected by the compensation section detection means. A compensation section judgment means for judging;
While the driven section is determined to have entered the compensation section by the compensation section determining means, it is determined in advance based on the nominal operation amount stored in the nominal operation amount storage means at each calculation timing. A manipulated variable compensation unit that generates a compensated manipulated variable by the calculation and outputs the compensated manipulated variable to the motor instead of the manipulated variable by the manipulated variable calculating unit;
A motor control device comprising:
前記補償区間判断手段により前記被駆動体が前記補償区間に入ったと判断される前の、一または複数の前記演算タイミングにおける、前記操作量演算手段により演算された前記操作量である実操作量と前記ノミナル操作量記憶手段に記憶されている前記ノミナル操作量とに基づいて、前記ノミナル操作量を前記補償操作量に換算するための、前記ノミナル操作量と前記実操作量との関係を表す補償情報を生成する補償情報生成手段を備え、
前記操作量補償手段は、前記補償操作量の生成を、前記演算タイミング毎に、その演算タイミングにおける前記ノミナル操作量を前記補償情報を用いて前記補償操作量に換算することにより行う
ことを特徴とするモータ制御装置。 The motor control device according to claim 1,
An actual operation amount that is the operation amount calculated by the operation amount calculation means at one or more of the calculation timings before the driven section is determined to have entered the compensation section by the compensation section determination means; Compensation representing the relationship between the nominal manipulated variable and the actual manipulated variable for converting the nominal manipulated variable into the compensated manipulated variable based on the nominal manipulated variable stored in the nominal manipulated variable storage means Compensation information generating means for generating information,
The manipulated variable compensation means generates the compensated manipulated variable by converting the nominal manipulated variable at the calculation timing into the compensated manipulated variable using the compensation information at each calculation timing. Motor control device.
前記補償情報生成手段は、前記補償区間判断手段により前記被駆動体が前記補償区間に入ったと判断される直前の前記演算タイミングにおける前記実操作量と前記ノミナル操作量との比率を前記補償情報として生成し、
前記操作量補償手段は、前記補償情報生成手段により生成された前記比率に従って前記ノミナル操作量を前記補償操作量に換算する
ことを特徴とするモータ制御装置。 The motor control device according to claim 2,
The compensation information generation means uses, as the compensation information, a ratio between the actual operation amount and the nominal operation amount at the calculation timing immediately before the compensation section determination section determines that the driven body has entered the compensation section. Generate
The motor control device, wherein the operation amount compensation unit converts the nominal operation amount into the compensation operation amount in accordance with the ratio generated by the compensation information generation unit.
前記補償情報生成手段は、前記補償区間判断手段により前記被駆動体が前記補償区間に入ったと判断される前の複数の前記演算タイミング毎に前記実操作量と前記ノミナル操作量との比率を演算して、その演算した各比率の平均値を前記補償情報として生成し、
前記操作量補償手段は、前記補償情報生成手段により生成された前記平均値に従って前記ノミナル操作量を前記補償操作量に換算する
ことを特徴とするモータ制御装置。 The motor control device according to claim 2,
The compensation information generation means calculates a ratio between the actual operation amount and the nominal operation amount at each of a plurality of calculation timings before the driven section is determined to have entered the compensation section by the compensation section determination means. Then, an average value of the calculated ratios is generated as the compensation information,
The motor control device, wherein the operation amount compensation unit converts the nominal operation amount into the compensation operation amount according to the average value generated by the compensation information generation unit.
前記補償情報生成手段は、前記被駆動体の駆動開始後、予め設定された補償情報生成開始条件が成立した場合に、前記補償情報の生成を開始する
ことを特徴とするモータ制御装置。 The motor control device according to any one of claims 2 to 4,
The motor control apparatus, wherein the compensation information generation means starts generating the compensation information when a preset compensation information generation start condition is satisfied after the driving of the driven body is started.
前記操作量演算手段は、前記被駆動体が前記補償区間から出た後の最初の前記演算タイミングにおける前記操作量として、前記補償区間から出る前に該補償区間内において前記操作量補償手段によって最後に演算された前記補償操作量を用いる
ことを特徴とするモータ制御装置。 The motor control device according to any one of claims 1 to 5,
The manipulated variable calculating means is operated as the manipulated variable at the first calculation timing after the driven body leaves the compensation section by the manipulated variable compensating means in the compensation section before leaving the compensated section. The motor control apparatus characterized by using the compensation operation amount calculated in step (a).
前記異常速度検知手段によって前記異常速度が検知された場合に、前記被駆動体を前記移動経路の一端から他端までの全領域を駆動させ、該駆動中の前記エンコーダ信号をカウントすることにより異常時全カウント値Mを計測する異常時全カウント値計測手段と、
前記第1カウント値kaと前記第2カウント値kbの和を前記異常時全カウント値Mから減算することにより補償区間内実カウント値zを演算する補償区間内実カウント値演算手段を備え、
前記操作量補償手段は、補償区間判断手段により前記補償区間に入ったと判断された場合、該入った後の前記駆動状態検出手段によるカウント値及び前記補償区間内実カウント値zに基づいて該補償区間の終了位置を検出し、該終了位置が検出されるまで前記補償操作量を出力する
ことを特徴とするモータ制御装置。 The motor control device according to any one of claims 1 to 6,
When the abnormal speed is detected by the abnormal speed detecting means, the driven body is driven in the entire region from one end to the other end of the moving path, and the abnormal encoder is counted by counting the encoder signal being driven. An abnormal total count value measuring means for measuring the total count value M at the time,
A compensation interval actual count value calculating means for calculating a compensation interval actual count value z by subtracting the sum of the first count value ka and the second count value kb from the abnormal total count value M;
When it is determined that the operation amount compensation means has entered the compensation section by the compensation section determination means, the compensation section is based on the count value by the drive state detection means after entering and the actual count value z in the compensation section. An end position of the motor is detected, and the compensation operation amount is output until the end position is detected.
前記リニアエンコーダが正常である場合に前記被駆動体を前記移動経路の一端から他端までの全領域を駆動させたときの、該駆動中の前記エンコーダ信号のカウント値であるノミナルカウント値Nが予め記憶されているノミナルカウント値記憶手段と、
前記異常速度検知手段によって前記異常速度が検知された場合に、前記異常時全カウント値計測手段により計測された前記異常時全カウント値Mを前記ノミナルカウント値Nから減算することにより、異常時カウント誤差nを演算する異常時カウント誤差演算手段と、
前記補償区間検出手段により前記補償区間が検出された後の前記被駆動体の駆動の際、前記被駆動体が前記補償区間から出たときに、前記駆動状態検出手段によるカウント中のカウント値を、前記補償区間から出たときのカウント値に前記異常時カウント誤差nを加算した値に修正する修正手段と、
を備えていることを特徴とするモータ制御装置。 The motor control device according to claim 7,
When the linear encoder is normal, when the driven body is driven in the entire region from one end to the other end of the moving path, a nominal count value N which is a count value of the encoder signal being driven is Pre-stored nominal count value storage means;
When the abnormal speed is detected by the abnormal speed detecting means, the abnormal count is subtracted from the nominal count value N by subtracting the abnormal total count value M measured by the abnormal total count value measuring means. An error count error calculating means for calculating an error n;
When the driven body is driven after the compensation section is detected by the compensation section detecting means, the count value being counted by the driving state detecting means is calculated when the driven body leaves the compensation section. Correcting means for correcting to a value obtained by adding the abnormal count error n to the count value when the compensation section is exited;
A motor control device comprising:
前記操作量補償手段は、前記異常時カウント誤差nが0ではない場合に、前記補償操作量を出力する
ことを特徴とするモータ制御装置。 The motor control device according to claim 8,
The motor control device, wherein the operation amount compensation means outputs the compensation operation amount when the abnormal count error n is not zero.
前記異常時カウント誤差演算手段によって前記異常時カウント誤差nが0と演算された場合に該演算結果に基づく予め決められた報知を行う第1報知手段を備えている
ことを特徴とするモータ制御装置。 The motor control device according to claim 8 or 9, wherein
A motor control device comprising: first notification means for performing predetermined notification based on the calculation result when the abnormal count error n is calculated as 0 by the abnormal count error calculation means .
前記第1カウント値kaと前記第2カウント値kbの和を前記ノミナルカウント値Nから減算することにより、前記補償区間において前記駆動状態検出手段により本来カウントされるべきカウント値である補償区間幅mを演算する補償区間幅演算手段と、
前記補償区間幅演算手段により演算された前記補償区間幅mが、予め設定した補償区間幅閾値より大きいか否かを判断する補償区間幅判断手段と、
を備え、
前記操作量補償手段は、前記補償区間幅判断手段により前記補償区間幅mが前記補償区間幅閾値以下と判断された場合に、前記補償操作量を出力する
ことを特徴とするモータ制御装置。 It is a motor control device given in any 1 paragraph of Claims 8-10,
By subtracting the sum of the first count value ka and the second count value kb from the nominal count value N, a compensation interval width m which is a count value that should be originally counted by the driving state detection means in the compensation interval. Compensation interval width calculating means for calculating
Compensation interval width determining means for determining whether or not the compensation interval width m calculated by the compensation interval width calculating means is larger than a preset compensation interval width threshold;
With
The operation amount compensation unit outputs the compensation operation amount when the compensation interval width determination unit determines that the compensation interval width m is equal to or less than the compensation interval width threshold value.
前記補償区間幅判断手段により前記補償区間幅mが前記補償区間幅閾値より大きいと判断された場合に該判断結果に基づく予め決められた報知を行う第2報知手段を備えている
ことを特徴とするモータ制御装置。 The motor control device according to claim 11,
When the compensation section width determining means determines that the compensation section width m is larger than the compensation section width threshold, the second section is provided with a second notification means for performing a predetermined notification based on the determination result. Motor control device.
前記補償区間検出手段により前記補償区間が検出された後の前記被駆動体の駆動の際、前記被駆動体が前記補償区間に入る前に前記異常速度検知手段によって前記異常速度が検知された場合に、前記補償区間の開始位置を、現在検出されている位置よりも予め決められた量だけ前の位置へ更新する更新手段を備えている
ことを特徴とするモータ制御装置。 The motor control device according to any one of claims 1 to 12,
When the abnormal speed is detected by the abnormal speed detection means before the driven body enters the compensation section when the driven body is driven after the compensation section is detected by the compensation section detection means. In addition, the motor control device further includes an update unit that updates the start position of the compensation section to a position that is a predetermined amount before the currently detected position.
インクを吐出することにより被記録媒体に画像を形成する記録ヘッドと、
前記被駆動体としての、前記記録ヘッドを搭載したキャリッジと、
を備えていることを特徴とする画像形成装置。 The motor control device according to any one of claims 1 to 13,
A recording head that forms an image on a recording medium by ejecting ink; and
A carriage on which the recording head is mounted as the driven body;
An image forming apparatus comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009184869A JP5195687B2 (en) | 2009-08-07 | 2009-08-07 | Motor control apparatus and image forming apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009184869A JP5195687B2 (en) | 2009-08-07 | 2009-08-07 | Motor control apparatus and image forming apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011041375A JP2011041375A (en) | 2011-02-24 |
JP5195687B2 true JP5195687B2 (en) | 2013-05-08 |
Family
ID=43768541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009184869A Active JP5195687B2 (en) | 2009-08-07 | 2009-08-07 | Motor control apparatus and image forming apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5195687B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5782866B2 (en) * | 2011-06-29 | 2015-09-24 | トヨタ自動車株式会社 | Driving device and vehicle |
JP5928255B2 (en) * | 2012-08-31 | 2016-06-01 | ブラザー工業株式会社 | Control device and image forming system |
JP6606954B2 (en) * | 2015-09-30 | 2019-11-20 | ブラザー工業株式会社 | Recording device |
JP7334400B2 (en) * | 2018-08-30 | 2023-08-29 | ブラザー工業株式会社 | recording device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006006083A (en) * | 2004-06-21 | 2006-01-05 | Ricoh Co Ltd | Drive controller, drive control method, image forming device, image reader, and program |
JP2005115903A (en) * | 2003-09-18 | 2005-04-28 | Ricoh Co Ltd | Method and device for controlling position of rotary body, image forming apparatus, image reader, and recording medium |
JP2006178374A (en) * | 2004-12-24 | 2006-07-06 | Brother Ind Ltd | Image forming apparatus |
JP2006213042A (en) * | 2005-01-04 | 2006-08-17 | Ricoh Co Ltd | Image formation device |
JP2007156194A (en) * | 2005-12-06 | 2007-06-21 | Ricoh Co Ltd | Angular displacement or displacement control device, and image forming apparatus using the same |
-
2009
- 2009-08-07 JP JP2009184869A patent/JP5195687B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011041375A (en) | 2011-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4894872B2 (en) | Motor control apparatus and image forming apparatus | |
JP5195687B2 (en) | Motor control apparatus and image forming apparatus | |
JP5649401B2 (en) | Ink jet recording apparatus and carriage control method | |
JP2006334837A (en) | Linear drive device | |
JP4447891B2 (en) | DC motor control apparatus and recording apparatus | |
US8882225B2 (en) | Printing apparatus, driving apparatus, and driving method | |
JP5928255B2 (en) | Control device and image forming system | |
JP6558186B2 (en) | Velocity detection device and liquid ejection device | |
JP4380491B2 (en) | Rotation drive evaluation apparatus and method, correction operation amount setting apparatus and method, control apparatus and method, and program | |
US9132631B2 (en) | Printing apparatus and print timing control method | |
JP5256619B2 (en) | Motor drive device and image forming apparatus | |
US11358404B2 (en) | Printer and method for preventing erroneous interruption of printing | |
JP7327026B2 (en) | drive system | |
US11390073B2 (en) | Liquid discharge apparatus | |
US20230375374A1 (en) | Electronic device | |
JP2022154877A (en) | control system | |
JP5845693B2 (en) | Conveying apparatus and image forming apparatus | |
JP2022154875A (en) | control system | |
JP6736863B2 (en) | Liquid ejector | |
JP4412314B2 (en) | Motor control device, recording device | |
JP2010011701A (en) | Conveyance apparatus, parameter setting method, and parameter setting device | |
JP2005176518A (en) | Recording device, motor control device and method | |
JP2015199275A (en) | Recording device and recording method | |
JP2010083012A (en) | Control device | |
JP5071073B2 (en) | Motor control device, printer, and drive control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110324 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121212 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130121 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160215 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5195687 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |