Motor control device and image forming apparatus

The motor control device optimizes rotor position estimation and torque command values to address inefficiencies in sensorless vector control, enhancing efficiency and reducing coil temperature during load changes.

JP2026116009APending Publication Date: 2026-07-09CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-12-27
Publication Date
2026-07-09

Smart Images

  • Figure 2026116009000001_ABST
    Figure 2026116009000001_ABST
Patent Text Reader

Abstract

This enables more efficient motor control in forced commutation control. [Solution] The processing unit detects the current flowing through the coils of each phase of the motor and estimates the rotational position of the motor rotor based on the current value of the current. In motor control (forced commutation control) that switches the excitation phase of the motor according to the target rotational speed of the rotor, the processing unit determines the current command value Iq_ref of the q-axis current based on the phase difference Δθ between the command value (command electrical angle θ_ref) and the estimated value (estimated electrical angle θ_est) of the rotational position of the rotor. The processing unit controls the current supplied to the coils of each phase of the motor according to the determined current command value Iq_ref.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a motor control device and an image forming apparatus. [Background technology]

[0002] Sensorless motors, which do not have sensors such as encoders to detect the rotational position (rotational phase) of the rotor, are sometimes used as the drive source for rotating members such as paper transport rollers used in image forming apparatuses. As a control method for such motors, the application of sensorless vector control or V / f control, which requires less computation than sensorless vector control, is being considered (Patent Document 1). [Prior art documents] [Patent Documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-147188 [Overview of the Initiative] [Problems that the invention aims to solve]

[0004] In the sensorless vector control or V / f control described above, if the load on the motor increases rapidly, the excitation timing of the motor may be delayed in accordance with the lag of the rotor's rotational position from the ideal position. This allows the motor to be driven without losing synchronism, but it may reduce the rotor's ability to track the position command value. Also, when rapid acceleration or deceleration control is applied to the motor, the motor's rotational speed may overshoot or undershoot. For this reason, to improve the accuracy of motor position control, forced commutation control, which switches the motor's excitation phase according to the target rotational speed, may be applied.

[0005] However, in order to drive the motor without causing detuning in forced commutation control, it is necessary to excite the motor with a current that is sufficiently large with respect to the load applied to the motor. This can lead to a decrease in the power efficiency of the motor and an increase in the temperature of the winding (coil).

[0006] Therefore, an object of the present disclosure is to provide a technique for realizing more efficient motor control in forced commutation control.

Means for Solving the Problems

[0007] A motor control device according to an aspect of the present disclosure is a motor control device that controls a motor, and includes detection means for detecting a current flowing through a coil of each phase of the motor, and based on a current value of the current detected by the detection means, estimation means for estimating a rotational position of a rotor of the motor, and in motor control for switching an excitation phase of the motor according to a target rotational speed of the rotor, determination means for determining a current command value of a current component that generates torque in the rotor based on a phase difference between a command value of the rotational position and an estimated value obtained by the estimation means, and control means for controlling a current supplied to a coil of each phase of the motor according to the current command value determined by the determination means.

Effects of the Invention

[0008] According to the present disclosure, it becomes possible to realize more efficient motor control in forced commutation control.

Brief Description of the Drawings

[0009] [Figure 1] A cross-sectional view (A) showing a configuration example of a printer, and a block diagram (B) showing a control configuration example of the printer. [Figure 2] A diagram showing a configuration example of a motor control unit. [Figure 3] A diagram showing a configuration example (comparative example) of a processing unit. [Figure 4] A diagram showing a configuration example and an operation example of a motor. [Figure 5]This diagram shows an example of the change in rotor rotation speed when forced commutation control is performed. [Figure 6] Figure (A) shows an example configuration of the processing unit (comparative example), and Figure (B) shows an example configuration of the target current determination unit. [Figure 7] A diagram showing an example of changes in motor-related parameters. [Figure 8] A flowchart illustrating an example of a motor control procedure. [Figure 9] A diagram showing an example of changes in motor-related parameters (second embodiment). [Figure 10] A flowchart illustrating an example of the motor control procedure (second embodiment). [Modes for carrying out the invention]

[0010] The embodiments will be described in detail below with reference to the attached drawings. Note that the following embodiments do not limit the invention as defined in the claims. While the embodiments describe multiple features, not all of these features are essential to the invention, and the features may be combined in any way. Furthermore, in the attached drawings, identical or similar configurations are given the same reference numerals, and redundant descriptions are omitted.

[0011] [First Embodiment] In the following embodiments, a laser printer performing electrophotographic image formation will be described as an example of an image forming apparatus according to the Disclosure. The image forming apparatus may be, for example, a printing apparatus, a printer, a copier, a multifunction device, or a facsimile machine. Furthermore, the recording method of the image forming apparatus is not limited to electrophotography, but may be, for example, an inkjet method.

[0012] <Image forming apparatus> Figure 1(A) is a schematic cross-sectional view showing an example configuration of the printer 100 in the first embodiment. In this embodiment, the printer 100 is configured as a color laser printer that forms a color image (multicolor image), but it may also be configured as a monochrome laser printer that forms a monochrome image (monochromatic image).

[0013] The printer 100 includes an image forming unit 127 that includes forming units for forming toner images of yellow, magenta, cyan, and black. Each forming unit for each color includes a charging unit, a photoreceptor, an exposure unit, a developing unit, and a primary transfer unit (not shown), and forms a toner image of the corresponding color on the photoreceptor by an electrophotographic process. Specifically, in the forming unit, the charging unit charges the photoreceptor, the exposure unit exposes the charged photoreceptor with light based on image data to form an electrostatic latent image on the photoreceptor, and the developing unit develops the electrostatic latent image with toner to form a toner image of the corresponding color on the photoreceptor. The toner images of each color formed on the corresponding photoreceptor by the image forming unit 127 are transferred to an intermediate transfer belt 108 by the primary transfer unit. In this way, multi-colored toner images are formed on the intermediate transfer belt 108.

[0014] The toner image formed on the intermediate transfer belt 108 is transported to the position opposite the secondary transfer roller 129 (secondary transfer position) as the intermediate transfer belt 108 rotates. Meanwhile, the recording material P loaded (stored) in the paper feed cassette 113 (paper feed section) is fed into the transport path by the paper feed roller 114, and then transported by the transport roller 115 and registration roller 116 provided on the transport path. In this way, the recording material P is transported from the paper feed cassette 113 through the transport path to the position opposite the secondary transfer roller 129 (secondary transfer position). At the secondary transfer position, the toner image is transferred from the intermediate transfer belt 108 to the recording material P by the secondary transfer roller 129.

[0015] The recording material P onto which the toner image has been transferred is transported to the fuser 117. The fuser 117 includes a heating roller 118 and a pressure roller 119. The fuser 117 fixes the toner image to the recording material P by applying heat and pressure to the recording material P using the heating roller 118 and the pressure roller 119. After the toner image has been fixed, the recording material P is discharged to the outside of the printer 100 by the paper discharge roller 120.

[0016] The paper feed roller 114 is rotationally driven by a driving force transmitted from the motor 134 for transporting the recording material P via the paper feed clutch 136. The driving force of the motor 134 is not transmitted to the paper feed roller 114 when the paper feed clutch 136 is off, and is transmitted to the paper feed roller 114 when the paper feed clutch 136 is on. The on / off switching of the paper feed clutch 136 is controlled by the control unit 150. The transport roller 115 and the registration roller 116 are also rotationally driven by a driving force transmitted from the motor 134. The transport roller 115 and the registration roller 116 are rotationally driven so that the recording material P is transported to the secondary transfer position at a predetermined timing based on the output signal of the transport sensor 135. The transport sensor 135 is configured to detect the recording material P being transported along the transport path and output a signal indicating the detection result.

[0017] The printer 100 includes a control board 125 and a low-voltage power supply (switching power supply) 123. The control board 125 is equipped with a control unit 150. The control unit 150 includes one or more processors (CPU, etc.) and one or more memories (ROM, etc.) and controls the operation of the entire device. The low-voltage power supply 123 converts the alternating current (AC) voltage input via the power cable 124 into a direct current (DC) voltage for use within the printer 100 and outputs it, and this DC voltage is supplied to each device (control board 125, etc.) within the printer 100.

[0018] Figure 1(B) is a block diagram showing an example of the control configuration of the printer 100. The printer 100 further comprises a control unit 150, a motor control unit 160, motors 161, sensors 170, a display unit 180, and a communication controller 190.

[0019] The control unit 150 has a microcomputer (one or more processors) and one or more memories. The microcomputer controls each device in the printer 100 based on various control programs and various data stored in the memories. The sensors 170 are a plurality of sensors for detecting the state of each device in the printer 100 or the state of the recording material P, and include a transport sensor 135. The communication controller 190 communicates with external devices such as the host computer 50. For example, the communication controller 190 receives image data for printing (image forming) from the host computer 50.

[0020] The motor control unit 160 is a motor control device that controls the drive of each motor (motor 134, etc.) included in the motor unit 161 according to instructions from the control unit 150. Each motor included in the motor unit 161 is used as a power source for each device in the printer 100. Motor 134 is an example of a motor that drives a load in the printer 100.

[0021] When the control unit 150 receives image data of the image to be formed from the host computer 50 via the communication controller 190, it starts forming the image on the recording material P based on the received image data. Once image formation has started, the control unit 150 controls the motor control unit 160 to drive the motors 161 (including the motor 134), thereby controlling the drive of the rotating members (photoreceptors, etc.) included in the image forming unit 127 and the transport of the recording material P. The control unit 150 also controls the display to show a screen, such as a screen indicating the status of the printer 100 (operating status, etc.), on the display unit 180, and controls the sensors 170 for detecting the status of the recording material P or the printer 100.

[0022] <Motor Control Unit> Using Figure 2, we will explain an example of the configuration of the motor control unit 160, with motor 134 being a representative example among the motors 161. The motor control unit 160 controls each of the motors included in the motors 161, including motor 134.

[0023] The motor control unit 160 comprises a processing unit 201, a gate driver 210 (drive circuit), an amplifier 218, and an inverter 221 (inverter circuit). The processing unit 201 is implemented by a microcontroller or the like. The processing unit 201 operates by receiving a DC voltage VC1 from a low-voltage power supply 123, and the gate driver 210 and inverter 221 operate by receiving a DC voltage VC2 from the low-voltage power supply 123. The processing unit 201 includes a communication port 202, an AD converter 203, a counter 204, a non-volatile memory 205, a reference clock generation unit 206, a memory 207, a PWM (pulse width modulation) port 208, and a current calculation unit 209.

[0024] The reference clock generation unit 206 generates a reference clock for the operation of the processing unit 201. The counter 204 performs counting operations based on the reference clock generated by the reference clock generation unit 206. Based on the count value obtained by the counter 204, the period of the input pulse is measured, a PWM signal is generated, etc. The processing unit 201 communicates with the control unit 150 via the communication port 202. The processing unit 201 also outputs a PWM signal via the PWM port 208 to drive each switching element of the inverter 221.

[0025] The inverter 221 is connected to the motor 134 controlled by the motor control unit 160. The motor 134 is a three-phase motor having three phases (U-phase, V-phase, W-phase) windings (coils) 213 to 215. The inverter 221 is a three-phase inverter composed of six switching elements, including three high-side switching elements M1, M3, and M5 corresponding to the U-phase, V-phase, and W-phase respectively, and three low-side switching elements M2, M4, and M6 corresponding to the U-phase, V-phase, and W-phase respectively. Specifically, the inverter 221 comprises high-side and low-side switching elements M1 and M2 connected to the U-phase coil 213, high-side and low-side switching elements M3 and M4 connected to the V-phase coil 214, and high-side and low-side switching elements M5 and M6 connected to the W-phase coil 215. Each switching element of the inverter 221 is composed of, for example, a transistor or FET.

[0026] Each of the switching elements M1 to M6 has a gate G1 to G6, and the corresponding terminals (G1 to G6) of the gate driver 210 are connected to these gates. The switching elements M1 to M6 are connected to the PWM port 208 via the gate driver 210. The PWM signal output from the PWM port 208 allows for the on / off control of each of the switching elements M1 to M6. For example, each of the switching elements M1 to M6 turns on when a high (H) level PWM signal is output to its corresponding gate G1 to G6, and turns off when a low (L) level PWM signal is output to its corresponding gate G1 to G6.

[0027] The PWM port 208 has six terminals corresponding to the six switching elements M1 to M6 (each with gates G1 to G6) of the inverter 221. Specifically, the PWM port 208 has high and low terminals (UH terminal and UL terminal) corresponding to the U phase, which output PWM signals to the gates G1 and G2 of switching elements M1 and M2, respectively. The PWM port 208 further has high and low terminals (VH terminal and VL terminal) corresponding to the V phase, which output PWM signals to the gates G3 and G4 of switching elements M3 and M4, respectively. The PWM port 208 further has high and low terminals (WH terminal and WL terminal) corresponding to the W phase, which output PWM signals to the gates G5 and G6 of switching elements M5 and M6, respectively.

[0028] As described above, the PWM signal output from the PWM port 208 controls the on / off state of each switching element M1 to M6 of the inverter 221. This causes an excitation current to flow from the inverter 221 to the coils 213 (U phase), 214 (V phase), and 215 (W phase) of the motor 134. The processing unit 201 controls the excitation current flowing to each coil 213 to 215 by controlling the on / off state of each switching element M1 to M6 of the inverter 221. In this way, the inverter 221 operates so that, by driving multiple switching elements M1 to M6, it excites the coil to be excited among the multiple coils 213 to 215 of the motor 134 (excites the target excitation phase among the multiple excitation phases of the motor 134).

[0029] The current detection unit 216 is configured to detect the current flowing through the coils of each phase of the motor 134. The current detection unit 216 has current detection resistors 219 to 221 used to detect the current (excitation current) supplied to coils 213 to 215, respectively. The excitation current supplied to coils 213 to 215, respectively, is converted into voltage by the current detection resistors 219 to 221. The converted voltages are input to the amplifier 218 as Uin, Vin, and Win. The amplifier 218 amplifies and applies an offset voltage to the input voltages Uin, Vin, and Win, and outputs voltages Uout, Vout, and Wout, corresponding to the current values ​​of the excitation current supplied to coils 213 to 215, respectively, to the processing unit 201. Voltages Uout, Vout, and Wout are input to the AD converter 203 of the processing unit 201.

[0030] The AD converter 203 converts the input voltage into a digital value by performing analog-to-digital (A / D) conversion, and outputs this digital value as a value indicating the detection result of the excitation current. The current calculation unit 209 performs a predetermined calculation on the value output from the AD converter 203 and outputs the obtained value as the current value of the excitation current supplied to coils 213 to 215, respectively. The non-volatile memory 205 functions as a storage unit that holds data used for processing by the processing unit 201.

[0031] <Processing> Using Figures 3 and 4, the processes performed by the processing unit 201 in this embodiment, namely rotor stop position estimation and forced commutation control, will be explained. Figure 3 shows an example of the configuration of the processing unit 201 included in the motor control unit 160, and provides an example of a configuration for performing forced commutation control as a comparative example, compared to the configuration of this embodiment (Figure 6). Figure 4 shows an example of the configuration and operation of the motor 134.

[0032] As shown in Figure 4, the motor 134 has a stator 401 and a rotor 402. The stator 401 has three phases (U-phase, V-phase, W-phase) of coils, including a U-phase coil 213, a V-phase coil 214, and a W-phase coil 215. Coils 213 to 215 are connected in a star configuration. The rotor 402 is made up of permanent magnets and has one pair of north and south poles (i.e., the rotor 402 has one pole pair). The rotor 402 is configured to be rotatable around the axis of rotation.

[0033] In this embodiment, there are a total of six excitation phases (i.e., excitation phases) among the coils 213 to 215 that are excited: UV, UW, VU, VW, WU, and WV. In this specification, for example, "exciting the UV phase" means driving the inverter 221 with a PWM signal output from the PWM port 208 to cause an excitation current to flow from the U-phase coil to the V-phase coil. When the UV phase is excited in this way, an excitation current flows from the U-phase coil 213 to the V-phase coil 214, and at this time, the U-phase coil becomes the N pole and the V-phase coil becomes the S pole.

[0034] Here, we will explain how to estimate the stopping position (rotational position) of the rotor 402 when the motor 134 (rotor 402) is stopped. In this embodiment, the stopping position of the rotor 402 is detected by utilizing the phenomenon in which the inductance of each coil 213 to 215 changes depending on the stopping position of the rotor 402. Specifically, each excitation phase (UV, UW, VW, VU, WU, WV) is excited in order (i.e., a predetermined voltage is applied sequentially to each combination of coils). At that time, the excitation current flowing through the coils constituting each excitation phase is measured, and the relative magnitudes of the inductances of each coil are determined based on the relative magnitudes of the measured values, and the stopping position of the rotor 402 is determined (estimated) from the result of that determination.

[0035] In this embodiment, with the north pole of the rotor 402 facing the coil 213, the three-phase AC phase when current (AC current) is supplied to each coil 213 to 215 such that the d-axis current value Id = 0 [A] (described later) is set to an electrical angle of 0 [rad]. In this example, where the number of pole pairs of the rotor 402 is 1, the position where the rotor 402 is rotated counterclockwise by a mechanical angle of π [rad] corresponds to an electrical angle of π [rad], relative to the position (phase) where the rotor 402 faces the coil 213. For convenience, the rotation direction of the rotor 402 is considered positive when it is counterclockwise.

[0036] As shown in Figure 4(A), when the north pole of the rotor 402 faces the coil 213, the stop angle calculation unit 301, described later, outputs an initial electrical angle θ_ini = 0 [rad]. In this embodiment, the initial electrical angle θ_ini represents the electrical angle corresponding to the initial excitation phase when the motor 134 is started, and is the electrical angle corresponding to the stop position of the rotor 402.

[0037] Next, an example of forced commutation control (comparative example) will be described using the case where the initial electrical angle θ_ini = 0 [rad] as an example. In this specification, forced commutation control corresponds to motor control that switches the excitation phase of the motor 134 according to the target rotational speed of the rotor 402. In this comparative example, as a normal forced commutation control, the rotor is rotated by forcibly supplying current to each coil of the motor using current command values ​​Id_ref and Iq_ref, which are set to fixed values ​​(stored in advance in the non-volatile memory 205).

[0038] In this example, current command values ​​(d-axis and q-axis current command values) Id_ref and Iq_ref, which correspond to the torque command value, are pre-stored in the non-volatile memory 205. The current control unit 302 performs current feedback control based on the current command values ​​Id_ref and Iq_ref stored in the non-volatile memory 205 and the current values ​​(d-axis and q-axis current values) Id and Iq, which correspond to the output torque of the motor 103. As a result, the current control unit 302 outputs voltage command values ​​(d-axis and q-axis voltage command values) Vd_ref and Vq_ref. Note that Id_ref and Iq_ref represent the torque command value in the rotor coordinate system, Id and Iq represent the output torque in the rotor coordinate system, and Vd_ref and Vq_ref represent the voltage command value in the rotor coordinate system.

[0039] The rotor coordinate system corresponds to a rotational coordinate system based on the rotational position of rotor 402 (rotor position). The q-axis current (current component) is an example of the first current component that generates torque in rotor 402 in the rotational coordinate system based on rotor position. The d-axis current (current component) is an example of the second current component that affects the strength of the magnetic flux passing through coils 213-215 of motor 134 in the rotational coordinate system based on rotor position.

[0040] The coordinate transformation unit 304 performs a transformation process from the rotor coordinate system (d,q) to the stator coordinate system (U,V,W). The coordinate transformation unit 305 performs a transformation process from the stator coordinate system (U,V,W) to the rotor coordinate system (d,q). In this embodiment, as forced commutation control, the motor 134 is rotated by setting Id_ref=0[A] and controlling Iq_ref. Meanwhile, the angle calculation unit 303 calculates the command value (command electrical angle θ_ref) of the rotation position (rotor position) of the rotor 402 based on the speed command value ω_ref, which is input from the control unit 150 (external controller) and indicates the target rotation speed of the rotor 402. Specifically, the angle calculation unit 303 integrates the phase based on the speed command value ω_ref with the initial electrical angle θ_ini corresponding to the stopping position of the rotor 402 at predetermined cycles. As a result, the angle calculation unit 303 calculates the command electrical angle θ_ref, which is the command value for the rotational position of the rotor 402, and outputs the calculation result to the coordinate transformation units 304 and 305.

[0041] The coordinate transformation unit 304 converts the voltage command values ​​Vd_ref and Vq_ref in the rotor coordinate system to voltage command values ​​Vu, Vv, and Vw in the stator coordinate system based on the command electrical angle θ_ref output from the angle calculation unit 303, and outputs them. The voltage command values ​​Vu, Vv, and Vw correspond to the voltages applied to the U-phase coil (coil 213), V-phase coil (coil 214), and W-phase coil (coil 215).

[0042] Figure 4 shows an example of the rotation of the rotor 402 when forced commutation control is applied to the motor 134, as an example of the motor 134's operation. In this figure, the arrows shown in thick lines are vectors representing the torque command value Iq_ref. In forced commutation control, the rotational position (rotor position) of the rotor 402 is controlled according to a preset torque command value Iq_ref. Figures 4(A), 4(B), and 4(C) show the rotational position of the rotor 402 when the command electrical angle θ_ref is switched sequentially to 0 [rad], π / 6 [rad], and π / 3 [rad], respectively. In this way, the rotational position of the rotor 402 is controlled according to the switching of the command electrical angle θ_ref.

[0043] Figure 5 shows an example of the change in rotational speed (transient response) of the rotor 402 when forced commutation control is performed to sequentially switch the command electrical angle θ_ref to 0 [rad], π / 6 [rad], and π / 3 [rad]. Using this example, we will explain the difference in the behavior of the rotor 402 when the magnitude of the torque command value differs from that of the load torque (motor load) of the motor 134. Figure 5(A) shows the case when a sufficiently large torque command value Iq_ref is set relative to the load torque (Iq_ref >> motor load). Figure 5(B) shows the case when an appropriate (close to the load torque) torque command value Iq_ref is set relative to the load torque (Iq_ref ≈ motor load).

[0044] As shown in Figure 5(A), when a torque command value Iq_ref is set to be sufficiently large relative to the load torque, the rotational speed of the rotor 402 changes while repeatedly undergoing damped oscillations, that is, relatively large vibrations occur in the rotor 402. Specifically, each time the command electrical angle θ_ref is switched by π / 6 [rad], relatively large vibrations occur in the rotor 402 as the actual electrical angle θ of the rotor 402 follows the command electrical angle θ_ref (the rotational speed of the rotor 402 follows the speed command value ω_ref).

[0045] On the other hand, as shown in Figure 5(B), when a torque command value Iq_ref close to the load torque is set, the amount of vibration (variation in rotational speed) of the rotor 402 is smaller compared to when a torque command value sufficiently large relative to the load torque is set (Figure 5(A)). Although not explained here, in sensorless vector control when the d-axis current value is set to 0, if appropriate control is performed, the rotor 402 rotates with almost no vibration.

[0046] Here, we define Δθ as the difference (error) between the (actual) electrical angle θ of the rotor 402 and the commanded electrical angle θ_ref at time Δt (the period during which the commanded electrical angle θ_ref switches) as shown in Figure 5 (i.e., Δθ = θ - θ_ref). In this case, Δθ can be calculated by the following equation. In TIFF2026116009000002.tif12143, the larger the peak value of the damped oscillation of the rotor 402's rotational speed, the larger Δθ becomes. Therefore, it can be seen that Δθ increases in proportion to the ratio of the torque command value Iq_ref to the motor load (load torque).

[0047] Thus, setting the torque command value Iq_ref to a large value relative to the load torque increases the difference (phase difference) Δθ between the command electrical angle θ_ref and the electrical angle θ of the rotor 402 (corresponding to the rotor position). Conversely, decreasing the torque command value Iq_ref to be closer to the load torque reduces the phase difference Δθ between the command electrical angle θ_ref and the electrical angle θ of the rotor 402. This means that it is possible to set the torque command value Iq_ref to an appropriate value relative to the load torque based on Δθ.

[0048] Therefore, the motor control unit 160 (processing unit 201) of this embodiment performs a process to determine the torque command value Iq_ref for forced commutation control according to Δθ, in order to prevent the torque command value (current command value) Iq_ref from becoming excessively large in relation to the motor load (load torque). Specifically, in this embodiment, the estimated electrical angle θ_est is determined based on the induced voltage induced in the coils of each phase of the motor 134, and the estimated electrical angle θ_est is used instead of the (actual) electrical angle θ of the rotor 402. That is, the phase difference Δθ = θ_est - θ_ref is set, and the torque command value Iq_ref is determined according to Δθ. This realizes a method of controlling the motor by forced commutation control while maintaining an appropriate torque command value according to the motor load (load torque).

[0049] <Forced commutation control (torque-based control)> Next, the forced commutation control of this embodiment will be described with reference to Figure 6. Hereinafter, the forced commutation control of this embodiment will also be referred to as "torque-based control". Figure 6(A) shows an example of the configuration of the processing unit 201 in the motor control unit 160 (Figure 2) according to this embodiment. In the configuration shown in Figure 6(A), an angular velocity / angle estimation unit 501 and a target current determination unit 502 are added compared to the configuration example shown in Figure 3. The other components (stop angle calculation unit 301, current control unit 302, angle calculation unit 303, and coordinate transformation units 304, 305) are the same as the configuration example (comparative example) in Figure 3, and the same processing is performed. Figure 6(B) shows an example of the configuration of the target current determination unit 502 shown in Figure 6(A). Here, the differences from the configuration example in Figure 3 will be explained in detail.

[0050] The angular velocity / angle estimation unit 501 performs a process to obtain an estimated electrical angle θ_est (estimated value of rotor position) by estimating the rotational position (rotor position) of the motor 134. In this process, various parameters related to the motor 134 (torque constant, inductance of each coil, and resistance), voltage command values ​​Vd_ref, Vq_ref, and induced voltages of each coil 213 to 215 are used. The induced voltages of each coil 213 to 215 are calculated from the current values ​​Id, Iq of the current flowing through each coil. The angular velocity / angle estimation unit 501 outputs the obtained estimated electrical angle θ_est to the target current determination unit 502. In this way, the angular velocity / angle estimation unit 501 is an example of an estimation means that estimates the rotational position of the rotor 402 of the motor 134 based on the current value of the current detected by the current detection unit 216 (detection means). The estimated value of the rotational position is obtained as the estimated electrical angle θ_est.

[0051] As mentioned above, it is common to use speed command values ​​as motor speed information necessary to estimate the rotor position using the induced voltage generated in the motor coils. Such a rotor position estimation method can be used, for example, in sensorless vector control. In sensorless vector control, in low-speed rotational states where the estimated rotor position (estimated electrical angle) is unstable due to insufficient induced voltage, switching the excitation phase based on the estimated electrical angle may cause the rotational speed to not converge to the target rotational speed (target speed), making motor control difficult.

[0052] On the other hand, in the method of this embodiment, the timing of switching the excitation phase of the motor is determined based on the speed command value. In this case, it is possible to more reliably make the rotational speed of the motor (rotor) follow the target rotational speed. As a result, compared to sensorless vector control, it becomes easier to estimate the rotor position even when the motor is rotating at a low speed.

[0053] As shown in Figures 6(A) and 6(B), the target current determination unit 502 receives the estimated electrical angle θ_est (estimated value of rotor position) obtained by the angular velocity / angle estimation unit 501, the command electrical angle θ_ref generated by the angle calculation unit 303, and the phase difference command value Δθ_ref as input. The phase difference command value Δθ_ref is the command value (target value) for the difference (phase difference) Δθ between the estimated electrical angle θ_est and the command electrical angle θ_ref. The phase difference command value Δθ_ref is predetermined based on, for example, the driving conditions of the motor 134 and stored in the non-volatile memory 205. The target current determination unit 502 uses the phase difference command value Δθ_ref read from the non-volatile memory 205.

[0054] In the forced commutation control of this embodiment, the target current determination unit 502 determines the current command value Iq_ref of the q-axis current (the current component that generates torque in the rotor 402) based on the phase difference Δθ between the command electrical angle θ_ref (the command value of the rotational position of the rotor 402) and the estimated electrical angle θ_est (the estimated value) obtained by the angular velocity / angle estimation unit 501.

[0055] Specifically, the target current determination unit 502 determines the current command value Iq_ref so that the phase difference Δθ approaches the phase difference command value Δθ_ref. In the present embodiment, the target current determination unit 502 performs an operation corresponding to the configuration shown in FIG. 6(B) every predetermined control cycle (the cycle in which the speed command value ω_ref is output from the control unit 150 to the motor control unit 160). As a result, the target current determination unit 502 determines the current command value Iq_ref n+1 corresponding to the next control cycle ((n + 1)th control cycle) as the torque command value. Specifically, the target current determination unit 502 uses the torque command value (current command value) Iq_ref n+1 corresponding to the (n + 1)th control cycle, a predetermined proportional gain K Δθ to calculate the following formula based on the torque command value Iq_ref n in the nth control cycle. Iq_ref n+1 = Iq_ref n + K Δθ × (Δθ_ref - Δθ)

[0056] In the above formula, K Δθ × (Δθ_ref - Δθ) corresponds to a control amount based on the phase difference Δθ between the estimated electrical angle θ_est and the command electrical angle θ_ref. Thus, the target current determination unit 502 determines the value obtained by multiplying the difference between the phase difference command value Δθ_ref and the phase difference Δθ by a predetermined proportional gain K Δθ as the control amount based on the phase difference Δθ. In the forced commutation control (torque-based control) of the present embodiment, this control amount is added to the torque command value Iq_ref n in the previous (nth) control cycle to determine the torque command value Iq_ref n+1 in the next (n + 1)th control cycle (that is, update the torque command value Iq_ref). Thus, the target current determination unit 502 determines the control amount based on the phase difference Δθ every predetermined control cycle, and updates the current command value Iq_ref by adding the control amount to the current command value Iq_ref determined for the previous control cycle.

[0057] The target current determination unit 502 determines the torque command value (current command value) Iq_ref obtained by the above calculation. n+1 This is output as the target value for controlling the q-axis current by the current control unit 302. The current control unit 302 uses the torque command value (current command value) Id_ref stored in the non-volatile memory 205 as the target value for controlling the d-axis current, similar to the configuration shown in Figure 3.

[0058] The current control unit 302 is configured to control the current supplied to the coils of each phase of the motor 134 according to the torque command value (current command value) Iq_ref determined by the target current determination unit 502. Specifically, the current control unit 302 performs current feedback control based on the torque command value Iq_ref (for the q-axis current) from the target current determination unit 502, the torque command value Id_ref (for the d-axis current) from the non-volatile memory 205, and the current values ​​Id and Iq (corresponding to the output torque of the motor 134). As a result, the current control unit 302 outputs voltage command values ​​(d-axis and q-axis voltage command values) Vd_ref and Vq_ref.

[0059] Finally, as explained using Figure 3, the coordinate transformation unit 304 converts the voltage command values ​​Vd_ref and Vq_ref in the rotor coordinate system to voltage command values ​​Vu, Vv, and Vw in the stator coordinate system based on the command electrical angle θ_ref output from the current control unit 302, and outputs them. Although not shown in Figures 3 and 6(A), a PWM signal is generated based on the voltage command values ​​Vu, Vv, and Vw, and as shown in Figure 2, the generated PWM signal is output to the gate driver 210. As a result, the gate driver 210 and inverter 221 supply excitation current to each coil of the motor 134.

[0060] In the forced commutation control (torque-based control) of this embodiment, the torque command value Iq_ref in the previous (nth) control cycle is used. n In contrast, by adding a control amount based on the phase difference Δθ between the estimated electrical angle θ_est and the commanded electrical angle θ_ref, the torque command value Iq_ref is obtained. n+1This determines the torque command value Iq_ref. This control method is not limited to this, and for example, the torque command value Iq_ref n Without using the control variable based on the phase difference Δθ, the torque command value Iq_ref n+1 It may be required.

[0061] <Example of motor operation> Next, with reference to Figure 7, an example of the operation of the motor 134 when the forced commutation control (torque-based control) described above according to this embodiment is applied to the printer 100 will be explained. As described above, the printer 100 of this embodiment uses the motor 134 as a drive source for paper feeding members and transport members such as the paper feeding roller 114 and the transport roller 115.

[0062] In this example, we assume that the printer 100 continuously transports multiple sheets of recording material P. In this case, fluctuations in the load on the motor 134 occur at the timing when the paper feed roller 114 feeds the recording material P loaded (stored) in the paper feed cassette 113, and occur periodically due to the feeding of multiple sheets of recording material P one by one. The paper feeding operation of the recording material P by the paper feed roller 114 starts when the paper feed clutch 136 is switched to the ON state by a drive signal supplied to the paper feed clutch 136. At that timing, fluctuations in the load on the motor 134 occur.

[0063] While the recording material P is being transported, a load torque of approximately 40 [mN·m] is constantly applied to the motor 134. In this case, at the timing when the subsequent recording material P is fed from the paper feed cassette 113 (paper feeding timing), a load torque of up to approximately 70 [mN·m] is applied in a direction that decelerates the motor 134.

[0064] Figure 7 shows examples of changes in various parameters related to the motor 134 when the target rotational speed of the motor 134 is set to 600 [rpm]. Figure 7(A) shows sensorless vector control, Figure 7(B) shows normal forced commutation control (comparative example), and Figure 7(C) shows forced commutation control (torque-based control) in this embodiment. The position error of the motor 134 is a value obtained by integrating the difference between the speed command value ω_ref and the speed estimate value ω_est over time, and represents the error of the estimated electrical angle θ_est of the rotor 402 with respect to the position command value (command electrical angle θ_ref).

[0065] In the example shown in Figure 7(A), when the motor 134 is driven by sensorless vector control, the torque command value Iq_ref is controlled to an appropriate value in accordance with the increase or decrease in load torque. However, at the timing when the load torque increases from 40 [mN·m] to 70 [mN·m] (i.e., the timing of paper feeding of the recording material P), the rotational speed (revolutions per minute) of the motor 134 decreases. After a certain amount of time has elapsed, the rotational speed of the motor 134 changes to follow the speed command value. During this period when the rotational speed of the motor 134 decreases, the position error of the motor 134 increases.

[0066] In the example shown in Figure 7(B), the torque command value Iq_ref is set to a fixed value, and the motor 134 is driven using normal forced commutation control (comparative example). As mentioned above, in normal forced commutation control, it is necessary to set a torque command value that is sufficiently large relative to the load torque (larger than the maximum value of the load torque). For this reason, in this example, Iq_ref is set to 2[A]. In normal forced commutation control, even if the load torque increases from 40[mN·m] to 70[mN·m] due to the start of paper feeding of the recording material P, the position error of the motor 134 does not increase. This is because the torque command value is set to a value larger than the maximum value of the load torque. However, setting an excessive torque command value relative to the load torque applied to the motor 134 in this way reduces the driving efficiency (power efficiency) of the motor 134 compared to sensorless vector control. This also leads to a temperature rise in the coils 213~215 of the motor 134.

[0067] In the example shown in Figure 7(C), the motor 134 is driven using the forced commutation control (torque-based control) of this embodiment. In this example, the initial value of the torque command value Iq_ref is set to Iq_ref = 2 [A], similar to the example in Figure 7(B), and the torque command value Iq_ref is controlled in accordance with the load torque. In this example, from the start timing of the forced commutation control, the torque command value Iq_ref decreases in accordance with the load torque and finally converges to Iq_ref = 1.0 [A]. However, this value is higher than the torque command value Iq_ref (= 0.8 [A]) when sensorless vector control is performed.

[0068] Subsequently, when the load torque increases from 40 [mN·m] to 70 [mN·m] (i.e., when the recording material P is fed), the torque command value Iq_ref increases. This is because, due to fluctuations in the load torque, the phase difference Δθ between the commanded electrical angle θ_ref and the estimated electrical angle θ_est becomes smaller than the target phase difference Δθ_ref. As the phase difference Δθ becomes smaller than the target phase difference Δθ_ref, the torque command value Iq_ref increases in order to bring the phase difference Δθ closer to the target phase difference Δθ. Subsequently, as the phase difference Δθ follows the target phase difference Δθ_ref, the torque command value Iq_ref decreases in accordance with the load torque. During this time, as shown in Figure 7(C), the fluctuations in the position error of the motor 134 are almost the same as those of normal forced commutation control. In other words, even when the load torque increases from 40 [mN·m] to 70 [mN·m] due to the start of paper feeding of the recording material P, the position error of the motor 134 is kept at the same level as that of normal forced commutation control.

[0069] In this way, by applying the forced commutation control (torque-based control) of this embodiment as forced commutation control for the motor 134, position control accuracy comparable to that of conventional forced commutation control can be achieved. Furthermore, although sensorless vector control may result in lower power efficiency for the motor 134, it is possible to prevent the decrease in power efficiency that occurs with conventional forced commutation control. In other words, it is possible to efficiently drive and control the motor 134 while maintaining position control accuracy comparable to that of conventional forced commutation control.

[0070] In this embodiment, an example of applying the forced commutation control (torque-based control) of this embodiment to a motor 134 that drives a roller for feeding or transporting the recording material P of a printer 100 is described, but it is not limited to this. For example, it may be applied to other applications such as motors used to drive the joints of a manipulator. In the case of a manipulator, high position control accuracy is required for each actuator in order to maintain the positional accuracy of the tip coordinates. For example, a configuration in which an encoder is attached to a brushless motor is used. By using a brushless motor to which the control of this embodiment is applied instead of such a motor, it becomes possible to achieve equivalent functionality with a low-cost configuration with fewer parts.

[0071] <Processing Procedure> Figure 8 is a flowchart showing an example of a control procedure for the motor 134 executed by the motor control unit 160 (processing unit 201) in the printer 100 of this embodiment. When the control unit 150 instructs the processing unit 201 to execute forced commutation control based on the target rotational speed (speed command value ω_ref), the processing unit 201 starts processing according to this control procedure.

[0072] In S101, the processing unit 201 receives the setting of the initial value β of the torque command value (current command value) Iq_ref from the control unit 150 (Iq_ref=β). The initial value β is set by the control unit 150 so that it exceeds, for example, the expected maximum value of the load torque applied to the motor 134. In the example in Figure 7(C), Iq_ref=2[A] is set as the initial value. Once the initial setting of the torque command value Iq_ref is complete, in S102, the processing unit 201 starts torque-based control as forced commutation control of the motor 134 and proceeds to S103.

[0073] In S103, the processing unit 201 (angle calculation unit 303) generates a command electrical angle θ_ref based on the speed command value ω_ref. Next, in S104, the processing unit 201 (angular velocity / angle estimation unit 501) obtains the estimated electrical angle θ_est (estimated value of rotor position) by the above calculation using the induced voltages of each coil 213 to 215 of the motor 134.

[0074] After obtaining the estimated electrical angle θ_est, in S105 and S106, the processing unit 201 (target current determination unit 502) updates the torque command value Iq_ref (the next torque command value Iq_ref n+1 The process determines the following: First, in S105, the processing unit 201 calculates the phase difference Δθ between the estimated electrical angle θ_est and the commanded electrical angle θ_ref. Furthermore, in S106, the processing unit 201 updates the torque command value Iq_ref based on the phase difference Δθ and the phase difference command value Δθ_ref. Specifically, a predetermined proportional gain K is applied to the difference between the phase difference Δθ and the phase difference command value Δθ_ref. Δθ By multiplying by this, the control quantity based on the phase difference Δθ between the estimated electrical angle θ_est and the commanded electrical angle θ_ref is obtained. Furthermore, the obtained control quantity is set to the torque command value Iq_ref in the previous (nth) control cycle. n By adding to this, a new torque command value (current command value) Iq_ref is obtained. n+1 By determining this, the torque command value Iq_ref is updated.

[0075] New torque command value Iq_ref n+1 When the torque command value Iq_ref is determined (updated), the processing unit 201 (current control unit 302) checks the determined torque command value Iq_ref n+1 This is used to control the current flowing through coils 213 to 215 of motor 134. Then, in S107, the processing unit 201 determines whether or not to terminate the torque-based control. If the processing unit 201 terminates the torque-based control, it terminates the process according to the procedure in Figure 8. If it does not terminate the torque-based control, it returns to S103 and repeats the process from S103 to S106.

[0076] As described above, in the motor control unit 160 of this embodiment, the processing unit 201 (current detection unit 216) detects the current flowing through the coils of each phase of the motor 134. The processing unit 201 (angular velocity / angle estimation unit 501) estimates the rotational position of the rotor 402 of the motor 134 based on the current value of the current detected by the current detection unit 216. In motor control (forced commutation control) that switches the excitation phase of the motor according to the target rotational speed of the rotor 402, the processing unit 201 (target current determination unit 502) determines the current command value Iq_ref of the q-axis current based on the phase difference Δθ between the command value (command electrical angle θ_ref) and the estimated value (estimated electrical angle θ_est) of the rotational position of the rotor 402. The processing unit 201 (current control unit 302) controls the current supplied to the coils of each phase of the motor 134 according to the determined current command value Iq_ref.

[0077] According to the forced commutation control (torque-based control) of this embodiment, it is possible to set the torque command value (current command value) according to the load applied to the motor 134 while achieving position control accuracy comparable to that of normal forced commutation control. This prevents a decrease in the driving efficiency (power efficiency) of the motor 134 and suppresses the rise in temperature of each coil due to the excitation current. Therefore, according to this embodiment, it is possible to achieve more efficient motor control in forced commutation control.

[0078] [Second Embodiment] In the first embodiment, an example is described in which the phase difference command value Δθ_ref, which is a command value (target value) for the phase difference Δθ, is set to a fixed value, and forced commutation control is performed by applying torque-based control. In this case, by storing the phase difference command value Δθ_ref in the non-volatile memory 205 in advance, the above-mentioned torque-based control can be realized with a simple configuration.

[0079] In the second embodiment, we assume a case where the motor control unit 160 performs acceleration control to accelerate the rotor 402 of the motor 134, which is rotating at a steady rate. During the acceleration of the rotor 402, the load torque of the motor 134 increases. Therefore, when determining the phase difference target value Δθ_ref considering the acceleration control of the rotor 402, it is necessary to determine the phase difference target value Δθ_ref in such a way that a larger torque command value (current command value) Iq_ref can be set compared to the case where the rotor 402 is only rotating at a steady rate. This can lead to extra power consumption during the steady rotation of the rotor 402. Furthermore, as a method of increasing the torque command value Iq_ref while the acceleration control of the rotor 402 is being performed, it is conceivable that a predetermined torque command value can be added to the torque command value during steady rotation. In this case, if the load torque during steady rotation changes, it may not be possible to set an appropriate torque command value.

[0080] Therefore, when the motor control unit 160 (processing unit 201) of this embodiment performs acceleration control to accelerate the rotor 402 which is rotating at a steady rate, the first current command value (Iq_ref) used while the rotor 402 was rotating at a steady rate is used. ste Based on the ) and the acceleration α of the rotor 402, a second current command value used for acceleration control is determined. This prevents excessive current from being supplied to the coils 213-215 of each phase of the motor 134 during acceleration control, even when the load torque during steady rotation of the rotor 402 is different. Points common to the first embodiment will be omitted from the following explanation.

[0081] Figure 9 shows an example of the changes in various parameters related to the motor 134 when the target rotational speed of the rotor 402 is changed from 600 [rpm] to 1500 [rpm]. Similar to the example explained using Figure 7 in the first embodiment, it is assumed that a load torque of approximately 40 [mN·m] is steadily applied to the motor 134 while the rotor 402 is rotating steadily. In this example, the phase difference Δθ when the speed command value ω_ref = 600 [rpm] and the load torque is 40 [mN·m] is used as the reference.

[0082] In the example shown in Figure 9, the motor control unit 160 (processing unit 201) performs acceleration control of the rotor 402 by adding a constant α = 1.8 to the speed command value ω_ref at each control cycle (50 μs). This constant α corresponds to the acceleration of the rotor 402. The current command value (torque command value) Iq_ref is used for the acceleration control of the rotor 402. acc This is the current command value (torque command value) Iq_ref used while rotor 402 was rotating steadily. ste Based on the acceleration α of rotor 402, it can be calculated using the following equation. Iq_ref acc =Iq_ref ste (1+K acc ·α)

[0083] Thus, the processing unit 201 calculates the torque command value Iq_ref during steady rotation of the rotor 402. ste Acceleration α and acceleration gain K relative to (first current command value) acc The control amount obtained by multiplying by the torque command value Iq_ref ste By adding to this, the torque command value Iq_ref used in acceleration control is obtained. acc Determine the (second current command value). Acceleration gain K acc This is the torque command value Iq_ref for the steady rotation of rotor 402. ste This is the gain used to determine the control amount to be added according to the acceleration α. ​​Acceleration gain K acc This can be predetermined based on at least one of the acceleration α and the load torque assumed to be applied to the motor 134.

[0084] In this example, a load torque of 40 [mN·m] is applied to the motor 134 while the rotor 402 is rotating steadily. In this state, in order to maintain the phase difference Δθ at the phase difference command value Δθ_ref, the torque command value during steady rotation is Iq_ref ste =1[A] is set. After that, acceleration control of rotor 402 is started. In this example, K acc =0.6 is used. In this case, the torque command value used for acceleration control is Iq_ref acc=1·(1+0.6·1.8)=2.08[A] is set.

[0085] Figure 10 is a flowchart showing an example of a control procedure for the motor 134 executed by the motor control unit 160 (processing unit 201) in the printer 100 of this embodiment. Similar to the first embodiment (Figure 8), when the control unit 150 instructs the processing unit 201 to execute forced commutation control based on the target rotational speed (speed command value ω_ref), the processing unit 201 starts processing according to this control procedure.

[0086] Steps S101 to S102 are the same as in the first embodiment. When the processing unit 201 starts torque-based control as forced commutation control of the motor 134, it proceeds from S102 to S201.

[0087] In S201, the processing unit 201 determines whether or not to start acceleration control of the rotor 402. This determination may be made, for example, based on the change in the speed command value ω_ref, which indicates the target rotational speed of the rotor 402 and is input from the control unit 150 (external controller). Alternatively, the acceleration α may be obtained based on the speed command value ω_ref. If the processing unit 201 does not perform acceleration control (i.e., the rotor 402 is allowed to rotate at a steady rate), it proceeds to S103. In S103 to S107, the same processing as in the first embodiment is performed. On the other hand, if the processing unit 201 decides to start acceleration control, it proceeds to S202.

[0088] In S202, when the processing unit 201 starts acceleration control of the rotor 402, it sets the torque command value Iq_ref determined for the previous control cycle to the torque command value (first current command value) Iq_ref during steady rotation of the rotor 402. ste It is obtained as follows. Next, in S203, the processing unit 201 obtains the torque command value Iq_ref during steady rotation. ste , acceleration α, and acceleration gain K acc Based on the above, the torque command value Iq_ref used when accelerating motor 134 is used. acc To decide.

[0089] Thus, the processing unit 201 uses the torque command value Iq_ref determined for the previous control cycle to determine the torque command value (first current command value) Iq_ref during steady rotation of the rotor 402. ste Used as the torque command value (second current command value) during acceleration Iq_ref acc This is determined. Then, in S204, if the processing unit 201 determines that it has finished the acceleration control of the rotor 402, it proceeds to S107.

[0090] The processing unit 201 determines whether or not to terminate torque-based control. If the processing unit 201 terminates torque-based control, it terminates the process according to the procedure in Figure 10. If it does not terminate torque-based control, it returns to S201 and repeats the above process.

[0091] Thus, in this embodiment, the torque command value (first current command value) Iq_ref during steady rotation of the rotor 402 is ste Based on this, the torque command value (second current command value) Iq_ref used in acceleration control acc This is determined. As a result, even when the load torque during steady rotation of the rotor 402 is different, it is possible to prevent excessive current from being supplied to the coils 213 to 215 of each phase of the motor 134 during acceleration control. In addition, it becomes possible to appropriately set the torque command value according to the load on the motor 134 even during acceleration control of the rotor 402.

[0092] Furthermore, when the processing unit 201 controls the acceleration of the rotor 402, it uses a different phase difference command value Δθ_ref than that used during steady rotation, thereby controlling the torque command value (second current command value) Iq_ref used for acceleration control. acc The processing unit 201 may determine the first phase difference command value Δθ_ref while the rotor 402 is rotating steadily. ste Using this, while acceleration control is performed, the first current command value Iq_ref ste The second phase difference command value Δθ_ref is determined based on the acceleration α. acc Using the second current command value Iq_ref, accThis can be determined. This process also makes it possible to appropriately set the torque command value according to the load on the motor 134 when controlling the acceleration of the rotor 402.

[0093] The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.

[0094] The disclosures herein include the following motor control devices and image forming apparatuses. (Item 1) A motor control device that controls a motor, A detection means for detecting the current flowing through the coils of each phase of the motor, An estimation means for estimating the rotational position of the motor rotor based on the current value of the current detected by the detection means, In motor control that switches the excitation phase of the motor according to the target rotational speed of the rotor, a determination means determines the current command value of the current component that generates torque in the rotor based on the phase difference between the command value of the rotational position and the estimated value obtained by the estimation means, A control means that controls the current supplied to each phase coil of the motor according to the current command value determined by the determination means, A motor control device equipped with the following features. (Item 2) The determination means determines the current command value such that the phase difference approaches the phase difference command value. The motor control device described in item 1. (Item 3) The system further includes a storage means for storing the aforementioned phase difference command value, The phase difference command value is predetermined based on the motor's driving conditions. The motor control device described in item 2. (Item 4) The determination means determines a control amount based on the phase difference at each predetermined control cycle, and updates the current command value by adding the control amount to the current command value determined for the previous control cycle. A motor control device as described in item 2 or 3. (Item 5) The determination means determines the control amount as a value obtained by multiplying the difference between the phase difference command value and the phase difference by a predetermined gain. The motor control device described in item 4. (Item 6) The system further includes a calculation means for calculating a command value for the rotational position based on a speed command value indicating the target rotational speed, which is input from an external controller. A motor control device as described in any one of items 1 through 5. (Item 7) The calculation means calculates the command value of the rotational position by integrating the phase based on the speed command value with respect to the initial electrical angle corresponding to the stopping position of the rotor. The motor control device described in item 6. (Item 8) The estimation means calculates the induced voltage induced in each phase coil of the motor based on the current value of the current detected by the detection means, and estimates the rotational position by calculation using the induced voltage. A motor control device as described in any one of items 1 through 7. (Item 9) When performing acceleration control to accelerate the rotor which is rotating at a steady rate, the determination means determines a second current command value to be used in the acceleration control based on the first current command value used while the rotor was rotating at a steady rate and the acceleration of the rotor. A motor control device as described in any one of items 1 through 8. (Item 10) The aforementioned determination means is The current command value is determined at each predetermined control cycle, When the acceleration control is initiated, the current command value determined for the previous control cycle is used as the first current command value to determine the second current command value. The motor control device described in item 9. (Item 11) The determination means determines the second current command value by adding to the first current command value a control amount obtained by multiplying the first current command value by the acceleration and the acceleration gain. A motor control device as described in item 9 or 10. (Item 12) The acceleration gain is predetermined based on at least one of the acceleration and the load torque assumed to be applied to the motor. The motor control device described in item 11. (Item 13) The determination means acquires the acceleration based on a speed command value indicating the target rotational speed, which is input from an external controller. A motor control device as described in any one of items 9 through 12. (Item 14) The determination means determines the second current command value using a first phase difference command value while the rotor is rotating steadily, and using a second phase difference command value determined based on the first current command value and the acceleration while the acceleration control is being performed. The motor control device described in item 9. (Item 15) The control means controls the current flowing through each phase coil of the motor based on a first current component that generates torque in the rotor and a second current component that affects the strength of the magnetic flux passing through the coil of the motor, in a rotational coordinate system with reference to the rotational position of the rotor. The determination means determines the current command value of the first current component based on the phase difference. A motor control device as described in any one of items 1 through 14. (Item 16) The system further includes a storage means that stores a predetermined current command value for the second current component, The control means, in motor control, determines a voltage command value in the rotating coordinate system based on the current command value of the first current component determined by the determination means and the current command value of the second current component stored in the storage means. The motor control device described in item 15. (Item 17) An inverter circuit including a plurality of switching elements connected to the corresponding coils of the motor, A drive circuit that drives the inverter circuit according to the voltage command value determined by the control means, thereby supplying current to the coils of each phase of the motor, A motor control device as described in item 16, further comprising: (Item 18) An image forming apparatus for forming an image on a recording material, A motor that drives the load, A motor control device, as described in any one of items 1 to 17, for controlling the motor, An image forming apparatus comprising: (Item 19) The load is a conveyor roller that transports the recording material. The image forming apparatus described in item 18. (Item 20) The load is a paper feed roller that feeds the recording material stored in the paper feed section to the transport path. The image forming apparatus described in item 18.

[0095] The invention is not limited to the embodiments described above, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, claims are attached to disclose the scope of the invention. [Explanation of Symbols]

[0096] 100: Printer (image forming apparatus), 150: Control unit, 160: Motor control unit (motor control device), 134: Motor, 201: Processing unit, 402: Rotor

Claims

1. A motor control device that controls a motor, A detection means for detecting the current flowing through the coils of each phase of the motor, An estimation means for estimating the rotational position of the motor rotor based on the current value of the current detected by the detection means, In motor control that switches the excitation phase of the motor according to the target rotational speed of the rotor, a determination means determines the current command value of the current component that generates torque in the rotor based on the phase difference between the command value of the rotational position and the estimated value obtained by the estimation means, A control means that controls the current supplied to each phase coil of the motor according to the current command value determined by the determination means, A motor control device equipped with the following features.

2. The determination means determines the current command value such that the phase difference approaches the phase difference command value. The motor control device according to claim 1.

3. The system further includes a storage means for storing the aforementioned phase difference command value, The phase difference command value is predetermined based on the motor's driving conditions. The motor control device according to claim 2.

4. The determination means determines a control amount based on the phase difference at each predetermined control cycle, and updates the current command value by adding the control amount to the current command value determined for the previous control cycle. The motor control device according to claim 2.

5. The determination means determines the control amount as a value obtained by multiplying the difference between the phase difference command value and the phase difference by a predetermined gain. The motor control device according to claim 4.

6. The system further includes a calculation means for calculating a command value for the rotational position based on a speed command value indicating the target rotational speed, which is input from an external controller. The motor control device according to claim 1.

7. The calculation means calculates the command value of the rotational position by integrating the phase based on the speed command value with respect to the initial electrical angle corresponding to the stopping position of the rotor. The motor control device according to claim 6.

8. The estimation means calculates the induced voltage induced in each phase coil of the motor based on the current value of the current detected by the detection means, and estimates the rotational position by calculation using the induced voltage. The motor control device according to claim 1.

9. When performing acceleration control to accelerate the rotor which is rotating at a steady rate, the determination means determines a second current command value to be used in the acceleration control based on a first current command value used while the rotor was rotating at a steady rate and the acceleration of the rotor. The motor control device according to claim 1.

10. The aforementioned determination means is The current command value is determined at each predetermined control cycle, When the acceleration control is initiated, the current command value determined for the previous control cycle is used as the first current command value to determine the second current command value. The motor control device according to claim 9.

11. The determination means determines the second current command value by adding to the first current command value a control amount obtained by multiplying the first current command value by the acceleration and the acceleration gain. The motor control device according to claim 9.

12. The acceleration gain is predetermined based on at least one of the acceleration and the load torque assumed to be applied to the motor. The motor control device according to claim 11.

13. The determination means acquires the acceleration based on a speed command value indicating the target rotational speed, which is input from an external controller. The motor control device according to claim 9.

14. The determination means determines the second current command value using a first phase difference command value while the rotor is rotating steadily, and using a second phase difference command value determined based on the first current command value and the acceleration while the acceleration control is being performed. The motor control device according to claim 9.

15. The control means controls the current flowing through each phase coil of the motor based on a first current component that generates torque in the rotor and a second current component that affects the strength of the magnetic flux passing through the motor coils, in a rotational coordinate system with reference to the rotational position of the rotor. The determination means determines the current command value of the first current component based on the phase difference. The motor control device according to claim 1.

16. The system further includes a storage means that stores a predetermined current command value for the second current component, The control means, in motor control, determines a voltage command value in the rotating coordinate system based on the current command value of the first current component determined by the determination means and the current command value of the second current component stored in the storage means. The motor control device according to claim 15.

17. An inverter circuit including a plurality of switching elements connected to the corresponding coils of the motor, A drive circuit that drives the inverter circuit according to the voltage command value determined by the control means, thereby supplying current to the coils of each phase of the motor, The motor control device according to claim 16, further comprising the following:

18. An image forming apparatus for forming an image on a recording material, A motor that drives the load, A motor control device according to any one of claims 1 to 17 for controlling the motor, An image forming apparatus comprising:

19. The load is a conveyor roller that transports the recording material. The image forming apparatus according to claim 18.

20. The load is a paper feed roller that feeds the recording material stored in the paper feed section to the transport path. The image forming apparatus according to claim 18.