专利摘要:
Motor controller for a brushless DC-motor comprising: a phase current input; for each motor phase: a phase output for controlling the corresponding motor phase; a rotor position input; a phase output generation unit configured to generate the phase outputs based on the rotor position and a phase offset; and wherein the motor controller is configured to determine a phase offset by: stepping through a range of phase offsets; for each phase offset determining the magnitude of the phase current during a number of samples; and selecting the phase offset with the lowest sum of magnitudes of the phase current.
公开号:NL2022132A
申请号:NL2022132
申请日:2018-12-04
公开日:2019-06-19
发明作者:Chun Zhang Yan;C Mulkens Edwin
申请人:Oce Holding Bv;
IPC主号:
专利说明:

Motor controller for a brushless DC-motor and method therefor
FIELD OF THE INVENTION
The present invention generally pertains to a motor controller for a brushless DC-motor. The present invention further pertains to a method for controlling a brushless DC-motor.
BACKGROUND ART
In more and more applications brushless DC-motors (BLDC) are replacing conventional DC-motors with brushes due to their lower maintenance requirements resulting from the absence of commutator brushes and the unavoidable brush wear. However, BLDC-motors have the disadvantage of requiring more complex motor control to be driven efficiently and smoothly.
In simpler applications trapezoid commutation is employed. In more sophisticated applications sinusoid commutation is employed.
The motor control depends on the rotor position to properly control the motor.
It is known to monitor the back-EMF generated by the motor to determine the rotor position (sensorless BLDC motors). It is further known to either use Hall sensors or rotary encoders to obtain the rotor position. A disadvantage of using Hall sensors or rotary encoders is that an inaccuracy in the rotary position may occur due to inaccuracies in Hall sensor placement and imperfections in rotor shape leading to sub-efficient driving of the motor and to torque ripple.
It is known to use a phase offset to determine an offset between the Hall sensors or rotary encoder and the real rotary position. Such a phase offset is usually determined at manufacturing time and pre-configured in the motor control. Note that the phase offset depends on the rotational direction. Therefore, usually two phase offsets are set, one for each rotational direction.
If a motor needs to be replaced in the field, the phase offset needs to be determined again.
The present invention has as an object to overcome or at least mitigate at least one of these advantages, but is simple enough to be implemented in, for example, relatively simple Field Programmable Gate Arrays (FPGAs).
SUMMARY OF THE INVENTION
In a first embodiment of the present invention, a motor controller for a brushless DC-motor is provided comprising: a phase current input; for each motor phase: a phase output for controlling the corresponding motor phase; a rotor position input; a phase output generation unit configured to generate the phase outputs based on the rotor position and a phase offset; and the motor controller is configured to determine a phase offset by: stepping through a range of phase offsets; for each phase offset determining the magnitude of the phase current during a number of samples; and selecting the phase offset with the lowest sum of magnitudes of the phase current.
The motor control also has a motor command input that is used to actually control the motor (for example rotate at a low speed or at a high speed). For the discussion inhere it is assumed that the motor command is constant and is further not described to simplify the description.
In a specific, but typical, embodiment often employed in Field Programmable Gate Arrays (FPGAs), the phase output generation unit comprises a sine lookup table that is used to drive the phases of the motor according to a sinusoid commutation scheme. The rotor position is used as an index in the sine lookup table to determine the phase outputs for the motor phases taking into account the phase offset.
Instead of using a pre-configured phase offset, the present invention allows to automatically determine the correct phase offset by searching a range of phase offsets. For at least one motor phase the phase current is sampled. For a period of a number of samples Λ/, the phase offset is kept constant. The magnitude of the phase current is determined, for example by calculating an absolute value of the phase current (depending on the encoding used this may be as simple as dropping the sign bit) or calculating the square of the phase current. The magnitudes of the phase current are summed, for example in a cumulative register. After the period of N samples, the sum of magnitudes is compared to the smallest amount so far. If the new sum is smaller, the new sum and its corresponding phase offset are stored as the smallest phase current so far and the next phase offset in the range is set to determine a new sum of magnitudes of the phase current. Otherwise the new sum is simply discarded. This continues until either a pre-determined range of phase offsets has been searched, or alternatively until the new sum of magnitudes exceeds the smallest phase current found so far by a predetermined amount (absolute or relative). After the phase offset search has completed the phase output generation unit proceeds with using the found optimal phase offset. Note that the motor command should also be kept constant between different phase offsets in order to obtain a fair comparison.
The number of samples is not required to be equal during the sampling of each phase offset. Different number of samples per phase offset can be corrected for by dividing the obtained sum by the number of samples.
Note that the phase offset will typically not be equal for both rotational directions of the motor. It should therefore be determined for each direction if the motor is operated in both directions.
In a further embodiment the present invention provides a printer apparatus comprising: a receiving material support; a print head facing, during operation, the receiving material support for depositing marking material on receiving material supported by the receiving material support, wherein the print head is mounted on a carriage, the carriage being movable along a gantry, the gantry extending along the receiving material support; a brushless DC-motor operable to move the carriage along the gantry; and a motor controller connected to the brushless DC-motor to control the brushless DC-motor.
The printer allows printing for example ink on sheets of paper although the present invention may equally well be employed in 3D-printers for printing three-dimensional objects. The printer comprises a support for supporting receiving material during printing. The receiving material may be sheets like paper sheets. Facing the receiving material support is a print head that deposits the marking material, for example ink, on the receiving material. The print head is mounted on a carriage and the carriage is mounted on a gantry in such a way that the carriage can move along the gantry. The gantry extends along the receiving material support allowing the carriage to move along the receiving material support and the print head to move along the receiving material in order to deposit marking material such as ink over the full width of the receiving material by making scanning movements along the gantry by driving the brushless DC-motor appropriately. Such a scanning movement is called a swath. The brushless DC-motor is controlled according to a motor controller according to the present invention.
In a more specific embodiment, the present invention provides a printer apparatus, wherein, during the stepping through a range of phase offsets, the phase offset is only updated to the next step after the print head has completed depositing marking material for a first direction of movement of the carriage and before the print head starts depositing marking material for a subsequent movement of the carriage in a second direction.
In order to prevent print artefacts, the motor torque of the motor that drives the carriage with the print head along the gantry should be kept constant. Therefore, the phase offset is preferably not changed during the depositing of marking material. Once the print head is beyond the print edge and above the margin of the image of even no longer above the receiving material, the phase offset can be changed without consequences for print quality. The changing of the phase offset can advantageously be performed when switching direction at the end of the swath.
Note though that a different phase offset will typically be found for the two rotational directions of the motor. Therefore, determining the phase offset for the two rotational directions can be done concurrently by changing the phase offset only after the carriage has moved in both directions and summing the phase current for each direction separately.
According to a further embodiment a motor controller for a brushless DC-motor is provided comprising: a phase current input; for each motor phase: a phase output for controlling the corresponding motor phase; a rotor position input; a phase output generation unit configured to generate the phase outputs based on the rotor position and a phase offset; wherein the rotor position input comprises a Hall sensor input and a rotary encoder input; and wherein the motor controller is configured to determine a rotary reference position by observing during one motor revolution for each Hall transition observed at a Hall sensor input, the number of counts of the rotary encoder input, therewith obtaining a loop of rotary encoder counts, and selecting from the loop of rotary encoder counts a sequence of subsequent rotary encoder counts that occurs uniquely in the loop; and wherein during subsequent motor revolutions the occurrence of the unique sequence is detected by comparing the unique sequence to the most recently occurred rotary encoder counts.
Detecting the occurrence of the unique sequence allows for the detection of not only the phase position in the electrical cycle, but also allows for the detection or tracking of the phase position in the mechanical cycle for motors with multiple rotor pole pairs. Hence, an absolute angular position in the mechanical cycle is obtained.
According to a further embodiment, a motor controller is provided, wherein the phase output generation unit comprises a synchronisation input to restart the phase output generation cycle from a configured phase angle; and wherein upon detection of the unique sequence the synchronisation input of the phase output generation unit is triggered.
The motor controller needs to synchronise the phase outputs to the actual rotor position. Typically, this is done upon a selected Hall transition occurring. However, most brushless DC-motors have multiple pole pairs on the rotor. This results in the motor having multiple electrical cycles within a single mechanical cycle. The Hall sensor signal itself does not provide information to what pole pair the pole that passed the sensor belongs. If the rotor has four pole pairs, there is a chance of 25% that the phase outputs are synchronised to the correct angular position in the mechanical cycle. If the brushless DC-motor is an ideal motor, this is not a problem. However, this is in practice not the case. Synchronising to the wrong angular position leads to reduced efficiency in a nonideal motor. Furthermore, every synchronise action will contribute to torque ripple, so synchronising to every occurrence of the selected Hall transition, i.e. synchronising to a phase in the electrical cycle, results in increased torque ripple.
The present invention allows to identify the correct angular position for multi pole-pair rotors. The non-ideal character of the motor results in the rotary encoder pulses not being equally distributed over the periods between the Hall sensor transitions. In some periods some more pulses will be counted while in other periods less pulses will be counted. In practice the applicant has observed motors where a full motor revolution involved 20000 rotary encoder pulses and 24 Hall transitions, resulting in ideally 833½ rotary encoder pulses per period. However, the actual pulse count observed deviated by a maximum of 250 counts corresponding to an error of 30%.
According to the present invention the motor controller counts the number of rotary encoder pulses for each period between Hall transitions. This results in a sequence of rotary encoder pulse counts which sequence wraps around due to the cyclic nature of the rotor’s rotations and therefore the sequence actually forms a loop. The non-ideal characteristics of the motor will result in at least some if not all these pulse counts differing from the ideal uniform distribution. Therefore, it should be possible to identify a reference angular position in the loop by identifying a sequence of pulse counts in the loop that is unique in the loop. In case of an ideal motor, the unique sequence would be the whole loop. However, for a non-ideal motor this sequence may be shorter, often even being a sequence of length one, i.e. there is a period between two Hall transitions that has a unique number of rotary encoder pulse counts that does not occur between any of the other Hall transitions.
Having thus obtained an absolute reference for the rotary position, the phase output generation is synchronised each mechanical revolution in accordance with the occurrence of the unique sequence.
Note that in determining the uniqueness of the sequence initially and in matching the occurrence of the sequence afterwards some tolerance is to be observed as some small differences in counts between identical periods between Hall transitions may be observed for example due to a rotary encoder pulse and a Hall transition more or less coinciding.
Note that the loop of rotary encoded pulse counts is specific for an individual motor. As long as the motor controller stays connected to the same motor, there is no reason to identify the loop again. The loop or the identified sequence can advantageously be stored in a non-volatile memory in order to have it readily available each time the motor controller is started. On the other hand, because the identification may also be run during normal operation it is also possible to automatically identify the loop and unique sequence either continuously or for example upon start-up. By comparing the identified loop or sequence against a stored loop or sequence respectively, it is also possible to automatically detect that a motor was exchanged during a maintenance action.
In a further embodiment the present invention provides a printer apparatus comprising: a receiving material support; a print head facing, during operation, the receiving material support for depositing marking material on receiving material supported by the receiving material support, wherein the print head is mounted on a carriage, the carriage being movable along a gantry, the gantry extending along the receiving material support; a brushless DC-motor operable to move the carriage along the gantry; a motor controller as described above and connected to the brushless DC-motor to control the brushless DC-motor.
According to one aspect of the invention a method is provided for controlling a brushless DC-motor comprising the steps of: controlling the brushless DC-motor by: repeatedly reading a rotor position input, generating a phase output based on the read rotor position and a phase offset, and outputting a phase output; and during a number of repetitions of the previous step: stepping through a range of phase offsets; for each phase offset determining the magnitude of the phase current during a number of samples; and selecting the phase offset with the lowest sum of magnitudes of the phase current; and proceeding subsequent repetitions of the first step with the selected phase offset.
According to a further aspect of the present invention a method is provided further comprising that during the stepping through a range of phase offsets, the phase offset is only updated to the next step after the print head has completed depositing marking material for a first direction of movement of the carriage and before the print head starts depositing marking material for a subsequent movement of the carriage in a second direction.
According to another aspect of the present invention a method is provided for controlling a brushless DC-motor comprising the steps of: controlling the brushless DC-motor by: repeatedly reading a rotor position comprising Hall sensor signals and a rotary encoder signal, generating a phase output based on the read rotor position and a phase offset, and outputting a phase output; determining a rotary reference position by observing during one motor revolution for each Hall transition observed in the Hall sensor signals, the number of counts of the rotary encoder signal, therewith obtaining a loop of rotary encoder counts, and selecting from the loop of rotary encoder counts a sequence of subsequent rotary encoder counts that occurs uniquely in the loop; and during subsequent revolutions detecting the occurrence of the unique sequence of rotary encoder counts between Hall transitions.
According to a further aspect of the present invention, a method is provided further comprising the step of: upon detecting the occurrence of the unique sequence, restarting the phase output generation cycle in the first step from a configured phase angle.
Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating embodiments of the invention, are given by way of illustration only, since various changes and modifications within the scope of the invention will become apparent to those skilled in the art from this detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will become more fully understood from the detailed description given hereinbelow and the accompanying schematical drawings which are given by way of illustration only, and thus are not limitative of the present invention, and wherein:
Fig. 1 shows a diagram of an application of a motor controller according to the present invention.
Fig. 2 shows a flow diagram of a method according to the present invention for finding the optimal phase offset.
Fig. 3 shows a flow diagram of a method according to the present invention for determining an absolute rotor reference position.
Fig. 4 shows a flow diagram of a method according to the present invention for synchronising the phase output generation of a motor controller to an absolute rotor reference position.
DETAILED DESCRIPTION OF THE DRAWINGS
The present invention will now be described with reference to the accompanying drawings, wherein the same reference numerals have been used to identify the same or similar elements throughout the several views.
Figure 1 shows a 3-phase brushless DC-motor 14. It is driven by three phases 13A-C that feed the respective stator coils. The three phases 13A-C are delivered by the motor drive 12 that receives three phase signals 11A-C from the motor controller 10. The motor drive 12 makes sure sufficient power can be delivered to the motor 14. The motor controller 10 determines the commutation of the motor 14 by determining a phase signal for each of the three phases 11 A-C depending on the actual angular rotor position of the motor 14. In the presented example, the rotor position is determined two-fold: • a high resolution quadrature rotary encoder that produces 20000 pulses per revolution of the rotor, and • three Hall sensors that actually measure the transition of the poles of the rotor.
The rotary encoder is typically mounted on the rotor shaft 18 and produces pulses that are fed through a signal line 17 to the motor controller 10. Furthermore, in the motor three Hall sensors are mounted close to the rotor to sense the passing rotor poles. With four pole pairs the three Hall sensors will detect 24 transitions per rotor revolution. The signals of the Hall sensors are also fed back to the motor controller 10 via signal lines 19X-Z.
Furthermore, the motor drive 12 provides a feedback 15 to the motor controller 10 with the momentary phase current. This feedback may report on a single phase A-C or there may be separate signals for each phase A-C.
The motor controller 10 performs an automatic phase offset determination as shown in Figure 2. The automatic phase offset determination may be run on demand by a specific command being provided to the motor controller 10 or may run automatically after the motor 14 is started. The automatic phase offset determination starts S200 and initialises S202 a minimum phase current to some unrealisticly high value such as the maximum value that can be stored. Furthermore, the phase offset is initialised to the start of the range to be searched. Next, the cumulative phase current is reset S204 to zero as no current has been measured yet. The motor 14 (that might already be running), is controlled according to the phase offset just set. During running, the phase current is measured S206. Next, the absolute value of the measured phase current is added S208 to the cumulative phase current. In the following step S210 it is determined whether sufficient phase current samples have been accumulated. The algorithm may use a fixed number of samples or a variable number of samples (in which case the accumulated phase current should be divided by the number of samples before comparing the accumulated phase current to correct for different numbers of samples). At least sufficient samples should be accumulated in order to capture all moments of the electrical cycle of the motor and preferably all moments of the mechanical cycle. Capturing over multiple rotor revolutions is preferred. As long as not sufficient samples have been accumulated, the process repeats with the phase offset fixed and measuring S206 the phase current and adding S208 the absolute value of the phase current to the cumulative phase current. Once sufficient samples have been accumulated, the cumulative phase current is compared S212 to the stored minimum phase current. If the cumulative phase current is smaller than the thus far recorded minimum phase current, the cumulative phase current is stored S214 as the new minimum phase current together with the current phase offset in order to track at what phase offset the minimum phase current occurred. Next, the phase offset is increased S216 to commence with the next step in scanning the range of phase offsets, and it is checked S218 whether the end of the range of phase offsets has been reached. If it hasn’t, the procedure loops back to S204 to reset the cumulative phase current to zero again in order to determine the cumulative phase current for the next phase offset. If it is determined in S218 that the end of the phase offset range has been reached, the procedure continues by setting the phase offset to the stored value of the phase offset that corresponds to the minimum phase current found during the scan and proceeds S220 with controlling the motor with this phase offset. Herewith the phase offset scan ends S222.
Figure 3 shows a flow diagram for determining an absolute angular position for the rotor in order to synchronise the phase output generation unit in the motor controller 10 to the actual angular rotor position. The Hall sensors in the motor 14 allow for the accurate detection of rotor poles passing by the Hall sensors. However, the Hall sensors are not capable of providing any angular position in between the Hall transitions. The rotary encoder provides angular position information in between the Hall transitions. However, none of these positions is an absolute angular position.
In order to be able to identify an absolute angular position, the method in Figure 3 starts S300 and will initially control S302 the motor 14 to go through a first full mechanical revolution. The motor 14 may actually be continuously driven, but the method uses a full mechanical revolution to collect all the rotary encoder counts between all Hall transitions. To that end, the method waits S304 for a first Hall transition to occur. When the Hall transitions occurs, a rotary encoder counter that will keep track of the number of rotary encoder pulses that occurred since the Hall transition will be reset S306 to reflect that no pulses have been observed since the last Hall transition. Next, every rotary encoder pulse that occurs is counted S308 in the rotary encoder counter. This continues (by means of the loop back from decision diamond S310 to the previous block S308) until a new Hall transition is detected S310.
Once a Hall transition has been detected the number of pulses in the rotary encoder counter is stored S312 in a count list. This list keeps track of how many rotary encoder pulses have been counted between each Hall transition. Next, it is determined whether the detected S314 Hall transition is the last Hall transition. For example, typically a BLDC motor has three Hall sensors. If the rotor has four pole pairs a full mechanical revolution will generate 24 Hall transitions. In such a BLDC motor, step S314 may simply check whether 24 Hall transitions have occurred (or more precisely 25 if the initial Hall transition in S304 is included), for example by checking whether the count list already contains 24 entries. If not all Hall transitions have been encountered yet, the method loops back to S306 to start determining the number of rotary encoder pulses for the next period between two Hall transitions.
As soon as all Hall transitions have occurred, the sum of all counts in the count list should be equal to the total number of pulses the rotary encoder generates for a full revolution (neglecting any timing uncertainties with respect to the coinciding occurrence of a Hall transition and a rotary encoder pulse). The count list is then searched S316 for a unique sequence of counts. In the case of an ideal motor, the rotary encoder counts will be evenly distributed among the periods between Hall transitions. If the total number of rotary encoder counts for a single revolution is even dividable by the number of Hall transitions in a single revolution, all these counts will even be equal. In that case, only the full list will be a unique sequence. However, even the full list is usable as unique sequence. In the case of a non-ideal motor, some periods will have a lower count than in the ideal case and some will have a higher count. In that case, a shorter sequence may be found that is unique. Note that in determining whether a sequence is unique, it should be considered that the list actually wraps around as the starting point for the full mechanical revolution is arbitrary and the list repeats itself upon further mechanical revolutions. Furthermore, in determining the uniqueness of the sequence, it should be considered that a small variation (one or two pulses) may be observed in counts of identical periods due to timing uncertainties, for example due to Hall transitions coinciding with rotary encoder pulses.
Once a unique sequence has been detected, the sequence is stored S318 to match an absolute angular position during subsequent revolutions, which is explained below with reference to Figure 4. The determination phase ends S320 with the storing of the unique sequence.
It is noted that it may not be necessary to find the shortest unique sequence. The trivial unique sequence, consisting of the list of counts of all periods will work equally well in some applications to match an absolute angular position. However, in some applications detecting a short sequence may result in a lower computational burden.
Figure 4 shows how the unique sequence is used to synchronise the generation of the phase outputs 11A-C in the motor controller 10. The motor controller 10 starts S402 generating the phase outputs in the conventional way. For example, a sine lookup table may be used to determine the phase outputs taking the rotor position as input. Initially, no rotor position is known and it is typical to start a BLDC motor with a trapezoid waveform instead of a sine waveform. As soon as a first Hall transition occurs S404, the electrical angular position is known and the motor controller 10 can now switch driving the motor 14 with the sine waveform. However, motors with more than one pole pair have multiple electrical cycles per mechanical cycle. Therefore, the actual angular position of the rotor can still correspond to as many angular positions as there are pole pairs. A rotary encoder count list is reset S406 to keep track of the counts between each Hall transition. This list can be easily implemented as a circular buffer or a shift buffer with the same length as the unique sequence to detect. (New pulse counts overwrite or shift-out the oldest entry in the buffer.) Furthermore, a rotary encoder counter is reset S408 to count the rotary encoder pulses for the current period between Hall transitions. With every rotary encoder pulse the rotary encoder counter is increased S410 by one to keep track of the pulse count. This continues (see loop back to S410) till a Hall transition is detected S412 again. If a Hall transition is detected S412, the rotary encoder count is written S414 to the count list. Next, the content of the count list is compared S416 to the unique sequence. If it doesn’t match, the procedure continues with tracking the next period between two subsequent Hall transitions by looping back to S408 to reset the rotary encoder counter.
Note that matching the count list to the unique sequence should take into account a small tolerance to account for timing uncertainties. This may be implemented by dropping the one or two least significant bits of the count list and the unique sequence (for example by using one or two shift-right operations).
If the count list is equal to the unique sequence, the angular position in the mechanical cycle has been found too and from that moment on the absolute angular position is available. This absolute angular position may subsequently be used to reset S418 the phase output generation cycle to a configured rotary position.
Detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention, which can be embodied in various forms. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present invention in virtually any appropriately detailed structure. In particular, features presented and described in separate dependent claims may be applied in combination and any advantageous combination of such claims are herewith disclosed.
Further, the terms and phrases used herein are not intended to be limiting; but rather, to provide an understandable description of the invention. The terms “a” or “an”, as used herein, are defined as one or more than one. The term plurality, as used herein, is defined as two or more than two. The term another, as used herein, is defined as at least a second or more. The terms including and/or having, as used herein, are defined as comprising (i.e., open language). The term coupled, as used herein, is defined as connected, although not necessarily directly.
The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.
EMBODIMENTS 1. Motor controller for a brushless DC-motor comprising: - a phase current input; - for each motor phase: a phase output for controlling the corresponding motor phase; - a rotor position input; - a phase output generation unit configured to generate the phase outputs based on the rotor position and a phase offset; wherein - the rotor position input comprises a Hall sensor input and a rotary encoder input; and wherein the motor controller is configured to determine a rotary reference position by observing during one motor revolution for each Hall transition observed at a Hall sensor input, the number of counts of the rotary encoder input, therewith obtaining a loop of rotary encoder counts, and selecting from the loop of rotary encoder counts a sequence of subsequent rotary encoder counts that occurs uniquely in the loop; and wherein during subsequent motor revolutions the occurrence of the unique sequence is detected by comparing the unique sequence to the most recently occurred rotary encoder counts. 2. Motor controller according to claim 1, wherein the phase output generation unit comprises a synchronisation input to restart the phase output generation cycle from a configured phase angle; and wherein upon detection of the unique sequence the synchronisation input of the phase output generation unit is triggered. 3. Printer apparatus comprising: a receiving material support; a print head facing, during operation, the receiving material support for depositing marking material on receiving material supported by the receiving material support, wherein the print head is mounted on a carriage, the carriage being movable along a gantry, the gantry extending along the receiving material support; a brushless DC-motor operable to move the carriage along the gantry; a motor controller according to claim 1 or 2 and connected to the brushless DC- motor to control the brushless DC-motor. 4. Method for controlling a brushless DC-motor comprising the steps of: - controlling the brushless DC-motor by: repeatedly reading a rotor position comprising Hall sensor signals and a rotary encoder signal, generating a phase output based on the read rotor position and a phase offset, and outputting a phase output; - determining a rotary reference position by observing during one motor revolution for each Hall transition observed in the Hall sensor signals, the number of counts of the rotary encoder signal, therewith obtaining a loop of rotary encoder counts, and selecting from the loop of rotary encoder counts a sequence of subsequent rotary encoder counts that occurs uniquely in the loop; and - during subsequent revolutions detecting the occurrence of the unique sequence of rotary encoder counts between Hall transitions. 5. Method according to claim 4 further comprising the step of: upon detecting the occurrence of the unique sequence, restarting the phase output generation cycle in the first step from a configured phase angle.
权利要求:
Claims (5)
[1]
A motor control for a brushless DC motor comprising: - a phase current input; - for each motor phase: a phase output for controlling the corresponding motor phase; - a rotor position input; - a phase output generation unit adapted to generate the phase outputs based on the rotor position and a phase difference; wherein - the rotor position input comprises a Hall sensor input and a rotary pulse generator input; and wherein the motor driver is arranged to determine an angular reference position by determining during a motor revolution for each sensed Hall passage at the Hall sensor input, the number of pulses from the rotary pulse generator input, thereby obtaining a cycle of rotary pulse generator numbers, and from the cycle of rotary pulse generator numbers select a series of successive rotary pulse generator numbers that is unique in the cycle; and wherein during subsequent engine revolutions the occurrence of the unique sequence is determined by comparing the unique sequence with the most recently observed rotary pulse generator numbers.
[2]
The motor control of claim 1, wherein the phase output generation unit comprises a synchronization input to restart the phase output generation cycle from a predetermined phase angle; and wherein the synchronization input of the phase output generating unit is activated upon occurrence of the unique sequence.
[3]
A printer device comprising: a receiving material support; a print head which, when operating, is opposite the receiving material support, for depositing a marking material on receiving material supported by the receiving material support, the print head being mounted on a carriage, the carriage being movably arranged along a portal, which portal extends along the receiving material support; a brushless DC motor operative to move the carriage along the portal; a motor control according to claim 1 or 2 and connected to the brushless DC motor to control the brushless DC motor.
[4]
Method for controlling a brushless DC motor comprising the steps of: - controlling the brushless DC motor by: repeatedly reading a rotor position comprising Hall sensor signals and a rotary pulse signal signal, generating a phase output based on the read rotor position and a phase difference and performing a phase output; - determining an angular reference position by determining during a motor revolution for each sensed Hall passage in the Hall sensor signals, the number of pulses of the rotary pulse generator signal, thereby obtaining a cycle of rotary pulse generator numbers, and from the cycle of rotary pulse generator numbers, selecting a series of consecutive rotary pulse generator numbers that is unique in the cycle; and - determining the occurrence of the unique series of pulse generator numbers between Hall passages during subsequent engine revolutions.
[5]
The method of claim 4 further comprising the steps of: upon observing the occurrence of the unique sequence, restarting the phase output generation cycle in the first step from a predetermined phase angle.
类似技术:
公开号 | 公开日 | 专利标题
KR101256661B1|2013-04-19|Method for measuring rotation angle position of camschaft of reciprocating piston-combustion engine relative to crankshaft
US6570351B2|2003-05-27|Sensorless motor driving apparatus
KR970707540A|1997-12-01|Adaptive compensation for hard disk drive spindle motor manufacturing tolerances |
KR101813963B1|2018-01-03|Method for synchronization of mdps motor and motor position sensor and apparatus thererof
JP2005326424A|2005-11-24|Measuring method for rotational frequency of ec motor
KR101174910B1|2012-08-17|Rotor position detection in an electrical machine
KR101164241B1|2012-07-09|Method for operating an ec-motor
JP4002103B2|2007-10-31|Method and system for determining rotor position in a switched reluctance machine
US9641108B2|2017-05-02|Method and system for calibrating and detecting offset of rotary encoder relative to rotor of motor
CN100517946C|2009-07-22|Method and apparatus for controlling motor drive
US6124588A|2000-09-26|Process and measuring system for locating a movable object by monitoring the absolute position of the object
EP1617556A2|2006-01-18|Rotor position detection in an electrical machine
US7430998B2|2008-10-07|Method for positional determination of an EC motor
US7622882B2|2009-11-24|Position detection device for permanent magnetic machines
US20130009588A1|2013-01-10|Drive controlling apparatus and drive controlling method for stepping motor, drive controlling system, and optical apparatus
CN103322896A|2013-09-25|Detection method and system for mounting position of Hall sensor of brushless direct current motor
NL2022132B1|2019-10-16|Motor controller for a brushless DC-motor and method therefor
CN104617836B|2017-10-24|A kind of stepper motor starts method, device and driver
Yousfi et al.2009|Review and evaluation of some position and speed estimation methods for PMSM sensorless drives
US5905350A|1999-05-18|Position measuring system and measuring process
US6624602B2|2003-09-23|Motor driving apparatus
JP2014155356A|2014-08-25|Control device for ac motor and control method
JP4692891B2|2011-06-01|DC brushless motor and rotary vacuum pump
US4862045A|1989-08-29|Method and apparatus for controlling the number of revolutions of a rotor
EP3588768A1|2020-01-01|Position detector
同族专利:
公开号 | 公开日
DE102018131885A1|2019-06-19|
NL2022132B1|2019-10-16|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US7274163B1|2006-03-31|2007-09-25|Lexmark International, Inc.|Methods and apparatus for commutating a brushless DC motor in a laser printer|
US20110279077A1|2010-05-11|2011-11-17|Canon Kabushiki Kaisha|Apparatus equipped with motor|
KR20150078652A|2013-12-31|2015-07-08|현대자동차주식회사|Method and apparatus for controlling of motor driving power steering system|
法律状态:
2020-02-05| HC| Change of name(s) of proprietor(s)|Owner name: CANON PRODUCTION PRINTING HOLDING B.V.; NL Free format text: DETAILS ASSIGNMENT: CHANGE OF OWNER(S), CHANGE OF OWNER(S) NAME Effective date: 20200123 |
优先权:
申请号 | 申请日 | 专利标题
NL2020084|2017-12-14|
[返回顶部]