JP2021025960A - Encoder device - Google Patents

Encoder device Download PDF

Info

Publication number
JP2021025960A
JP2021025960A JP2019146250A JP2019146250A JP2021025960A JP 2021025960 A JP2021025960 A JP 2021025960A JP 2019146250 A JP2019146250 A JP 2019146250A JP 2019146250 A JP2019146250 A JP 2019146250A JP 2021025960 A JP2021025960 A JP 2021025960A
Authority
JP
Japan
Prior art keywords
motor
pulse signal
encoder
phase
maximum count
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019146250A
Other languages
Japanese (ja)
Inventor
美宏 奥松
Yoshihiro Okumatsu
美宏 奥松
Original Assignee
トヨタ自動車株式会社
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by トヨタ自動車株式会社, Toyota Motor Corp filed Critical トヨタ自動車株式会社
Priority to JP2019146250A priority Critical patent/JP2021025960A/en
Publication of JP2021025960A publication Critical patent/JP2021025960A/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide an encoder device capable of correcting the error of the output value of an encoder without spending many hours even when using the output pulse signal of a Hall sensor as an index pulse.SOLUTION: An encoder device: determines what pole the motor has on the basis of an output pulse signal from a Hall sensor provided in a motor; sequentially acquires the maximum count value of the number of pulses of the pulse signal until the determined number of poles reaches the number of pole pairs of the motor to hold a plurality of maximum count values of the number of pole pairs of the motor; and smooths the plurality of maximum count values to calculate an angle using the smoothed correction maximum count values.SELECTED DRAWING: Figure 5

Description

本発明は、エンコーダ装置に関する。 The present invention relates to an encoder device.
一般に、ロボットの関節の駆動には、ブラシレスDCサーボモータ等のサーボモータが用いられる。ロボットの関節の角度制御は、サーボモータの出力軸に直結されたエンコーダで、サーボモータの出力軸の回転角度を検出して行われる。 Generally, a servomotor such as a brushless DC servomotor is used to drive the joints of the robot. The angle control of the joints of the robot is performed by detecting the rotation angle of the output shaft of the servomotor with an encoder directly connected to the output shaft of the servomotor.
このようなモータの回転角度を検出する技術として、例えば、特許文献1に記載された技術がある。特許文献1には、ホールICを使用して、ホールセンサマグネットの磁束を検出することで、ブラシレスモータのロータ位置を検出する位置検出器が記載されている。特許文献1では、ホールセンサマグネットの着磁ずれを補正するために、ブラシレスモータを一定速で回転させたときの位置検出器の出力信号のデューティ比を保存し、ブラシレスモータの駆動時に、記憶したデューティ比に基づいて、位置検出器の出力信号を補正している。 As a technique for detecting the rotation angle of such a motor, for example, there is a technique described in Patent Document 1. Patent Document 1 describes a position detector that detects the rotor position of a brushless motor by detecting the magnetic flux of the Hall sensor magnet using a Hall IC. In Patent Document 1, in order to correct the magnetizing deviation of the Hall sensor magnet, the duty ratio of the output signal of the position detector when the brushless motor is rotated at a constant speed is stored and stored when the brushless motor is driven. The output signal of the position detector is corrected based on the duty ratio.
特開2017−028949号公報Japanese Unexamined Patent Publication No. 2017-028949
HSR(Human Support Robot)などのサービスロボットでは、家庭内で人と協調して作業をするために、静粛性が求められる。そのため、モータは正弦波駆動が必要であり、モータには1回転あたり1000パルス以上のパルス数のパルス信号を出力するエンコーダが取り付けられる。 Service robots such as HSR (Human Support Robot) are required to be quiet in order to work in cooperation with people at home. Therefore, the motor needs to be driven by a sine wave, and the motor is equipped with an encoder that outputs a pulse signal having a pulse number of 1000 pulses or more per rotation.
一方、多関節構造とサーボモータによって動作するマニピュレータを備えるロボットは関節の数(軸数)が多いため、安価なモータが求められる。そこで、エンコーダのインデックスパルスとして、通常使用されるZ相パルス信号の代わりに、ホールセンサの出力パルス信号の一つ(例えば、U相信号)を用いる方式が検討されている。 On the other hand, a robot equipped with an articulated structure and a manipulator operated by a servomotor has a large number of joints (number of axes), so an inexpensive motor is required. Therefore, a method in which one of the output pulse signals of the Hall sensor (for example, a U-phase signal) is used as the index pulse of the encoder instead of the normally used Z-phase pulse signal is being studied.
しかしながら、ホールセンサは組み付け能力誤差が大きく、電気角毎の出力パルス信号のカウント値にバラツキが発生する。このため、ホールセンサの出力パルス信号をインデックスパルスとして用いると、エンコーダの出力値に誤差が生じる。 However, the Hall sensor has a large assembly capacity error, and the count value of the output pulse signal for each electric angle varies. Therefore, if the output pulse signal of the Hall sensor is used as an index pulse, an error occurs in the output value of the encoder.
このようなエンコーダの出力値の誤差を補正する場合、特許文献1のように、デューティ比等のエンコーダ出力値をフィードバックすることが考えられる。しかしながら、エンコーダ出力値は誤差を含んでいるため、補正値が安定するまでには時間がかかるという問題がある。 When correcting such an error in the output value of the encoder, it is conceivable to feed back the encoder output value such as the duty ratio as in Patent Document 1. However, since the encoder output value includes an error, there is a problem that it takes time for the correction value to stabilize.
本発明は、このような問題に鑑みてなされたものであり、本発明の目的は、インデックスパルスとしてホールセンサの出力パルス信号を用いた場合でも、時間をかけることなく、出力値の誤差を補正することが可能なエンコーダ装置を提供することである。 The present invention has been made in view of such a problem, and an object of the present invention is to correct an error in the output value without taking time even when the output pulse signal of the Hall sensor is used as the index pulse. It is to provide an encoder device capable of.
本発明の一態様に係るエンコーダ装置は、モータに設けられたホールセンサからの出力パルス信号に基づいて該モータが何極目であるかを判定し、判定された極数がモータの極対数に達するまでパルス信号のパルス数の最大カウント値を順次取得して、前記モータの極対数分の複数の最大カウント値を保持する取得部と、複数の前記最大カウント値を用いて平滑化処理を行う平滑化処理部と、平滑化された補正最大カウント値を用いて角度計算を行う角度計算部とを備えるものである。 The encoder device according to one aspect of the present invention determines the number of poles of the motor based on the output pulse signal from the hall sensor provided in the motor, and the determined number of poles reaches the number of pole pairs of the motor. Smoothing processing is performed using the acquisition unit that sequentially acquires the maximum count value of the number of pulses of the pulse signal up to, and holds a plurality of maximum count values corresponding to the number of pole pairs of the motor, and the plurality of the maximum count values. It is provided with a conversion processing unit and an angle calculation unit that performs angle calculation using the smoothed maximum correction count value.
本発明によれば、インデックスパルスとしてホールセンサの出力パルス信号を用いた場合でも、時間をかけることなく、出力値の誤差を補正することが可能なエンコーダ装置を提供することができる。 According to the present invention, it is possible to provide an encoder device capable of correcting an error in an output value without spending time even when an output pulse signal of a Hall sensor is used as an index pulse.
実施の形態に係るエンコーダとBLDCモータとアンプとが接続されている状態を示すブロック図である。It is a block diagram which shows the state which the encoder, the BLDC motor, and the amplifier which concerns on embodiment are connected. 図1のBLDCモータの構成を示す図である。It is a figure which shows the structure of the BLDC motor of FIG. ホールセンサの波形を示す図である。It is a figure which shows the waveform of a hall sensor. 実施の形態に係るエンコーダの構成を示すブロック図である。It is a block diagram which shows the structure of the encoder which concerns on embodiment. 実施の形態の最大カウント値補正処理の一例を示すフロー図である。It is a flow figure which shows an example of the maximum count value correction processing of embodiment. 実施の形態の角度計算処理を示すフロー図である。It is a flow chart which shows the angle calculation process of embodiment. 5極対のBLDCモータの場合に取得される、複数の最大カウント値の一例を示す図である。It is a figure which shows an example of a plurality of maximum count values acquired in the case of a 5-pole pair BLDC motor. 実施の形態の最大カウント値補正処理の他の例を示すフロー図である。It is a flow figure which shows another example of the maximum count value correction processing of embodiment. 比較例のエンコーダの波形を示す図である。It is a figure which shows the waveform of the encoder of the comparative example. 比較例の角度計算処理を示すフロー図である。It is a flow chart which shows the angle calculation process of the comparative example.
以下、図面を参照して本発明の実施形態について説明する。各図における同等の構成要素には同一の符号を付し、重複する説明を省略する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. Equivalent components in each figure are designated by the same reference numerals, and duplicate description will be omitted.
実施の形態は、例えば、ロボットの関節を駆動するブラシレスDCサーボモータ等のモータ制御に必要なロータ角度を検出するエンコーダ装置に関する。図1は、実施の形態に係るエンコーダ10とBLDCモータとアンプとの接続状態を示すブロック図である。ここでは、モータの一例として、ブラシレスDCサーボモータ(以下、BLDCモータ)20が用いられる。BLDCモータ20は、例えば、三相ブラシレスDCサーボモータである。 The embodiment relates to an encoder device that detects a rotor angle required for motor control, such as a brushless DC servomotor that drives a robot joint. FIG. 1 is a block diagram showing a connection state of the encoder 10, the BLDC motor, and the amplifier according to the embodiment. Here, as an example of the motor, a brushless DC servo motor (hereinafter, BLDC motor) 20 is used. The BLDC motor 20 is, for example, a three-phase brushless DC servo motor.
図2は、図1のBLDCモータ20の構成を示す図である。BLDCモータ20は、ロータ21、ステータ22を備える一般的な構成のものである。BLDCモータ20においては、永久磁石タイプのロータ21が回転軸と一体に形成される。これらは、BLDCモータ20のハウジングに設けられた軸受により、回転自在に保持される。BLDCモータ20の三相(U相、V相、W相)の各ステータコイルには、駆動トルクや速度指令等に応じて電流の制御された電力が供給される。各ステータコイルに供給される電流の位相を制御することで、ロータ21が回転する。BLDCモータ20の駆動電流の波形には正弦波が用いられる。周波数、振幅、位相を制御することによりBLDCモータ20が効率よく駆動される。 FIG. 2 is a diagram showing the configuration of the BLDC motor 20 of FIG. The BLDC motor 20 has a general configuration including a rotor 21 and a stator 22. In the BLDC motor 20, a permanent magnet type rotor 21 is formed integrally with the rotating shaft. These are rotatably held by bearings provided in the housing of the BLDC motor 20. A current-controlled electric power is supplied to each of the three-phase (U-phase, V-phase, and W-phase) stator coils of the BLDC motor 20 according to a drive torque, a speed command, and the like. The rotor 21 rotates by controlling the phase of the current supplied to each stator coil. A sine wave is used for the waveform of the drive current of the BLDC motor 20. The BLDC motor 20 is efficiently driven by controlling the frequency, amplitude, and phase.
また、BLDCモータ20には、ロータ21の位置を検出する3つのホールセンサHu、Hv、Hwが内蔵されている。ホールセンサHu、Hv、Hwは、ステータ22の内側に一定間隔で3個配置され、例えば、120度の位相で配置されている。図3には、ホールセンサHu、Hv、Hwの波形が示されている。図3において、一点鎖線は、各ホールセンサHu、Hv、Hwからのアナログ波形を示しており、実線は、コンパレータを通したデジタル波形(出力パルス信号)を示している。 Further, the BLDC motor 20 has three Hall sensors Hu, Hv, and Hw that detect the position of the rotor 21. Three Hall sensors Hu, Hv, and Hw are arranged inside the stator 22 at regular intervals, and are arranged, for example, in a phase of 120 degrees. FIG. 3 shows the waveforms of the Hall sensors Hu, Hv, and Hw. In FIG. 3, the one-point chain line shows the analog waveform from each Hall sensor Hu, Hv, Hw, and the solid line shows the digital waveform (output pulse signal) through the comparator.
図3に示すように、ホールセンサHu、Hv、Hwからの出力パルス信号は、それぞれ180度毎に変化し、その位相が120度ずつずれている。すなわち、ホールセンサからの出力信号は、3ビットの信号が60度毎に変化するパルス信号となる。実施の形態では、U相、V相、W相のいずれかの出力パルス信号(U相信号、V相信号、W相信号)を後述するエンコーダ10に入力して、Z相パルス信号の代わりにインデックスパルスとして使用する。 As shown in FIG. 3, the output pulse signals from the Hall sensors Hu, Hv, and Hw change every 180 degrees, and their phases are shifted by 120 degrees. That is, the output signal from the Hall sensor is a pulse signal in which the 3-bit signal changes every 60 degrees. In the embodiment, any one of the U-phase, V-phase, and W-phase output pulse signals (U-phase signal, V-phase signal, W-phase signal) is input to the encoder 10 described later, and instead of the Z-phase pulse signal. Used as an index pulse.
BLDCモータ20の出力軸の一端には、エンコーダ10が接続される。エンコーダ10は、出力軸の回転に伴うインクリメンタルな信号(A相パルス信号、B相パルス信号)を出力するロータリーエンコーダである。エンコーダ10は、例えば、BLDCモータ20に連結された回転軸にスリットを有する回転板が取り付けられた、周知の光学式のインクリメンタル形ロータリーエンコーダとして構成され得る。 An encoder 10 is connected to one end of the output shaft of the BLDC motor 20. The encoder 10 is a rotary encoder that outputs incremental signals (A-phase pulse signal, B-phase pulse signal) accompanying the rotation of the output shaft. The encoder 10 can be configured as, for example, a well-known optical incremental rotary encoder in which a rotating plate having a slit is attached to a rotating shaft connected to the BLDC motor 20.
エンコーダ10は、位相が90度ずれたA相パルス信号、B相パルス信号をロータの回転に同期して出力する。A相パルス信号とB相パルス信号の位相関係によって、BLDCモータ20が正転か逆転かを知ることができる。A相パルス信号、B相パルス信号は回転角度に応じた数のパルスを含む。エンコーダ10は、A相パルス信号、B相パルス信号のパルス数をカウントしたカウント値を生成する。 The encoder 10 outputs an A-phase pulse signal and a B-phase pulse signal that are 90 degrees out of phase in synchronization with the rotation of the rotor. From the phase relationship between the A-phase pulse signal and the B-phase pulse signal, it is possible to know whether the BLDC motor 20 rotates forward or reverse. The A-phase pulse signal and the B-phase pulse signal include a number of pulses according to the rotation angle. The encoder 10 generates a count value that counts the number of pulses of the A-phase pulse signal and the B-phase pulse signal.
なお、実施の形態のエンコーダ10は、インデックスパルスとして、通常使用されるZ相パルス信号の代わりに、ホールセンサの出力パルス信号の一つ(例えば、U相信号)を用いる方式を採用している。このため、エンコーダ10は、A相パルス信号、B相パルス信号のみを生成し、Z相信号を生成しない。これにより、エンコーダ10のコストダウンと省配線化を図ることができる。 The encoder 10 of the embodiment employs a method in which one of the output pulse signals of the Hall sensor (for example, a U-phase signal) is used as the index pulse instead of the normally used Z-phase pulse signal. .. Therefore, the encoder 10 generates only the A-phase pulse signal and the B-phase pulse signal, and does not generate the Z-phase signal. As a result, the cost of the encoder 10 and the wiring can be reduced.
エンコーダ10は、A相パルス信号及びB相パルス信号に基づいて基準角度からの回転量を計算する。より具体的に説明すると、エンコーダ10は、A相パルス信号及びB相パルス信号のエッジをカウントし、そのカウント値に基づいて、ロータの基準角度からの回転量、ひいては、現在の回転角度を算出する。実施の形態のエンコーダ10における角度計算については、のちに詳述する。 The encoder 10 calculates the amount of rotation from the reference angle based on the A-phase pulse signal and the B-phase pulse signal. More specifically, the encoder 10 counts the edges of the A-phase pulse signal and the B-phase pulse signal, and calculates the amount of rotation from the reference angle of the rotor, and thus the current rotation angle, based on the count values. To do. The angle calculation in the encoder 10 of the embodiment will be described in detail later.
エンコーダ10、BLDCモータ20には、バッテリー(不図示)とアンプ30が接続される。アンプ30は、エンコーダ10により算出されるBLDCモータ20のロータ角度及び角速度に基づいて、BLDCモータ20を制御する。すなわち、アンプ30は、エンコーダ10により算出される角度に応じて予め規定された処理を行う。 A battery (not shown) and an amplifier 30 are connected to the encoder 10 and the BLDC motor 20. The amplifier 30 controls the BLDC motor 20 based on the rotor angle and angular velocity of the BLDC motor 20 calculated by the encoder 10. That is, the amplifier 30 performs a predetermined process according to the angle calculated by the encoder 10.
ここで、図9、10を参照して、ホールセンサの出力パルス信号をインデックスパルスとして使用する際の問題点について説明する。図9は、比較例のエンコーダの波形を示す図である。比較例のエンコーダは、A相、B相パルス信号に加えて、Z相パルス信号を出力する。Z相パルス信号は、ロータが規定の基準位置に到達した際に、ロータが1回転する毎に1回出力される。すなわち、Z相パルス信号は、機械角に1回の信号である。比較例では、Z相パルス信号に基づいてロータの絶対位置が計算される。 Here, problems when the output pulse signal of the Hall sensor is used as an index pulse will be described with reference to FIGS. 9 and 10. FIG. 9 is a diagram showing a waveform of an encoder of a comparative example. The encoder of the comparative example outputs a Z-phase pulse signal in addition to the A-phase and B-phase pulse signals. The Z-phase pulse signal is output once for each rotation of the rotor when the rotor reaches a specified reference position. That is, the Z-phase pulse signal is a signal once per mechanical angle. In the comparative example, the absolute position of the rotor is calculated based on the Z-phase pulse signal.
図10は、比較例の角度計算処理を示すフロー図である。まず、ホールセンサの出力パルス信号を用いて、ロータ角度の初期値が計算される(ステップS41)。ただし、ホールセンサは60度毎のパルス信号しか出力しないため、最大で±30度の誤差が発生する。 FIG. 10 is a flow chart showing an angle calculation process of a comparative example. First, the initial value of the rotor angle is calculated using the output pulse signal of the Hall sensor (step S41). However, since the Hall sensor outputs only a pulse signal every 60 degrees, an error of ± 30 degrees at the maximum occurs.
モータが回転すると、エンコーダのA相、B相パルス信号のカウント値でロータ角度が計算される(ステップS42)。1回目のZ相パルス信号が入力されると、ロータ角度が基準角度(通常は0度)にリセットされる(ステップS43)。この時、ホールセンサの出力パルス信号で計算したロータ角度の初期値が持っていた誤差がリセットされる。 When the motor rotates, the rotor angle is calculated based on the count values of the A-phase and B-phase pulse signals of the encoder (step S42). When the first Z-phase pulse signal is input, the rotor angle is reset to the reference angle (usually 0 degrees) (step S43). At this time, the error of the initial value of the rotor angle calculated from the output pulse signal of the Hall sensor is reset.
その後は、A相、B相パルス信号のカウント値に基づいて、ロータ角度の計算が行われ(ステップS44)、Z相パルス信号が入力されたら0度にリセットしながら(ステップS45)、モータが回転する。 After that, the rotor angle is calculated based on the count values of the A-phase and B-phase pulse signals (step S44), and when the Z-phase pulse signal is input, the motor is reset to 0 degrees (step S45). Rotate.
このように、比較例のエンコーダのZ相パルス信号は、機械角で1回転するときに、特定の角度で発生する。このため、通常、モータ1回転時のA相、B相パルス信号のパルス数のカウント値がZ相パルス信号の入力毎に異なることはない。例えば、A相、B相パルス信号の予め設定される設定最大カウント値が1000パルスのエンコーダの場合、Z相パルス信号が入力されたときのカウント値は毎回1000パルスとなる。 As described above, the Z-phase pulse signal of the encoder of the comparative example is generated at a specific angle when one rotation is performed at the mechanical angle. Therefore, normally, the count value of the number of pulses of the A-phase and B-phase pulse signals at the time of one rotation of the motor does not differ for each input of the Z-phase pulse signal. For example, in the case of an encoder in which the preset maximum count value of the A-phase and B-phase pulse signals is 1000 pulses, the count value when the Z-phase pulse signal is input is 1000 pulses each time.
一方、ホールセンサはU相、V相、W相の3ビットの信号が60度毎に変化する信号である。すなわち、ホールセンサの出力パルス信号は、電気角で変化する。ホールセンサの組み付け精度の問題から、ホールセンサからの出力パルス信号が入力された時の、A相、B相パルス信号の最大カウント値が電気角ごとに異なる場合がある。 On the other hand, the Hall sensor is a signal in which a 3-bit signal of U phase, V phase, and W phase changes every 60 degrees. That is, the output pulse signal of the Hall sensor changes with the electric angle. Due to the problem of the assembly accuracy of the Hall sensor, the maximum count value of the A-phase and B-phase pulse signals when the output pulse signal from the Hall sensor is input may differ for each electric angle.
上述のようにA相、B相パルス信号の予め設定される設定最大カウント値が1000パルスのエンコーダの場合、5極対のモータでは、U相パルス信号が入力されたときの設定最大カウント値は200パルスとなる。BLDCモータ20のロータ角度は、通常、A相、B相パルス信号をカウントしたカウント値を設定最大カウント値(200)で除算し、2πを乗算することで得られる。 As described above, in the case of an encoder in which the preset maximum count value of the A-phase and B-phase pulse signals is 1000 pulses, in a 5-pole pair motor, the set maximum count value when the U-phase pulse signal is input is It becomes 200 pulses. The rotor angle of the BLDC motor 20 is usually obtained by dividing the count value obtained by counting the A-phase and B-phase pulse signals by the set maximum count value (200) and multiplying by 2π.
しかし、ホールセンサの組み付け精度の問題から、A相、B相パルス信号のカウント値が201−198−202−199−200のように、電気角ごとに異なるがある。このため、ホールセンサの出力パルス信号をインデックスパルスとして使用すると、エンコーダの出力値に誤差が生じてしまう。そこで、本発明者は、このような問題点を解決すべく、以下の構成を考案した。 However, due to the problem of assembly accuracy of the Hall sensor, the count values of the A-phase and B-phase pulse signals are different for each electric angle, such as 201-198-202-199-200. Therefore, if the output pulse signal of the Hall sensor is used as an index pulse, an error occurs in the output value of the encoder. Therefore, the present inventor has devised the following configuration in order to solve such a problem.
図4は、実施の形態に係るエンコーダ10の構成を示すブロック図である。実施の形態に係るエンコーダ10は、モータに設けられたホールセンサからの出力パルス信号に基づいて該モータが何極目であるかを判定し、判定された極数がモータの極対数に達するまでパルス信号のパルス数の最大カウント値を順次取得して、該モータの極対数分の複数の最大カウント値を保持する取得部11と、複数の最大カウント値を用いて平滑化処理を行う平滑化処理部12と、平滑化された補正最大カウント値を用いて角度計算を行う角度計算部13とを備える。 FIG. 4 is a block diagram showing a configuration of the encoder 10 according to the embodiment. The encoder 10 according to the embodiment determines the number of poles of the motor based on the output pulse signal from the hall sensor provided in the motor, and pulses until the determined number of poles reaches the number of pole pairs of the motor. A smoothing process that sequentially acquires the maximum count value of the number of pulse pulses of the signal and holds a plurality of maximum count values corresponding to the number of pole pairs of the motor, and a smoothing process using the plurality of maximum count values. A unit 12 and an angle calculation unit 13 that performs an angle calculation using the smoothed maximum correction count value are provided.
このように、極対数分の複数の最大カウント値を平滑化した補正最大カウント値を用いて角度計算を行うことで、インデックスパルスとしてホールセンサの出力パルス信号を用いた場合でも、時間をかけることなく、出力値の誤差を補正することが可能となる。 In this way, by performing angle calculation using the corrected maximum count value obtained by smoothing a plurality of maximum count values corresponding to the number of pole pairs, it takes time even when the output pulse signal of the Hall sensor is used as the index pulse. It is possible to correct the error of the output value.
図5は、実施の形態の最大カウント値補正処理の一例を示すフロー図である。ここでは、インデックスパルスとして、U相パルス信号を用いるものとする。なお、U相パルス信号ではなく、V相パルス信号又はW相パルス信号を用いてもよい。図5に示すように、まず、U相パルス信号が入力されたか否かが判断される。具体的には、U相パルス信号のエッジが検出されたか否かが判断される(ステップS11)。 FIG. 5 is a flow chart showing an example of the maximum count value correction process of the embodiment. Here, it is assumed that a U-phase pulse signal is used as the index pulse. A V-phase pulse signal or a W-phase pulse signal may be used instead of the U-phase pulse signal. As shown in FIG. 5, it is first determined whether or not a U-phase pulse signal has been input. Specifically, it is determined whether or not the edge of the U-phase pulse signal is detected (step S11).
U相パルス信号が入力されていない場合(ステップS11、NO)、処理は終了する。この場合、上述したように、最大カウント値の補正は行われず、設定最大カウント値(200)を用いてロータ角度の計算が行われる。 When the U-phase pulse signal is not input (step S11, NO), the process ends. In this case, as described above, the maximum count value is not corrected, and the rotor angle is calculated using the set maximum count value (200).
一方、U相パルス信号のエッジが検出された場合(ステップS11、YES)、モータが何極目であるかが判定される(ステップS12)。なお、モータの極数の絶対値はわからないため、電源投入時の位置を1極目とする。そして、判定された極数のときの、A相、B相パルス信号のパルス数の最大カウント値が取得される(ステップS13)。 On the other hand, when the edge of the U-phase pulse signal is detected (step S11, YES), it is determined which pole the motor is in (step S12). Since the absolute value of the number of poles of the motor is unknown, the position when the power is turned on is set as the first pole. Then, the maximum count value of the number of pulses of the A-phase and B-phase pulse signals at the determined number of poles is acquired (step S13).
その後、判定された極数がモータの極対数に達したか否かが判断される(ステップS14)。判定された極数がモータの極対数に達していない場合(ステップS14、NO)、ステップS11に戻り、U相パルス信号が入力される毎に、判定された極数がモータの極対数と等しくなるまでステップS12、13が繰り返し実行される。このようにして、取得部11では、モータの極対数分の複数の最大カウント値が保持される。図7に、5極対のBLDCモータの場合に取得される、複数の最大カウント値の一例が示される。この例では、最大カウント値(1)〜(5)の5つの最大カウント値が取得される。 After that, it is determined whether or not the determined number of poles has reached the number of pole pairs of the motor (step S14). If the determined number of poles has not reached the number of pole pairs of the motor (step S14, NO), the process returns to step S11, and each time a U-phase pulse signal is input, the determined number of poles is equal to the number of pole pairs of the motor. Steps S12 and 13 are repeatedly executed until the result. In this way, the acquisition unit 11 holds a plurality of maximum count values corresponding to the number of pole pairs of the motor. FIG. 7 shows an example of a plurality of maximum count values acquired in the case of a 5-pole pair BLDC motor. In this example, five maximum count values (1) to (5) are acquired.
判定された極数がモータの極対数に達した場合(ステップS14、YES)、取得部11に保持されているモータの極対数分の複数の最大カウント値を用いて平滑化処理が実行される(ステップS15)。ここでは、平滑化処理の一例として、単純平均処理を行うものとする。なお、平滑化処理としては、単純平均処理に限定されず、移動平均処理やローパスフィルタ処理を行ってもよい。これにより、電気角毎に異なる最大カウント値を補正することが可能となる。そして、平滑化された最大カウント値を補正最大カウント値として更新する(ステップS16)。 When the determined number of poles reaches the number of pole pairs of the motor (step S14, YES), the smoothing process is executed using a plurality of maximum count values corresponding to the number of pole pairs of the motor held in the acquisition unit 11. (Step S15). Here, as an example of the smoothing process, a simple averaging process is performed. The smoothing process is not limited to the simple averaging process, and a moving average process or a low-pass filter process may be performed. This makes it possible to correct a maximum count value that differs for each electric angle. Then, the smoothed maximum count value is updated as the corrected maximum count value (step S16).
次に、最大カウント値補正処理を行った後の、ロータ角度の計算処理について説明する。図6は、実施の形態の角度計算処理を示すフロー図である。図6に示すように、まず、パルス信号のカウント値が入力される(ステップS21)。そして、入力されたカウント値を図5のフローで得られた補正最大カウント値で除算する(ステップS22)。この値に2πを乗算する(ステップS23)ことで、ロータ角度が得られる。 Next, the calculation process of the rotor angle after the maximum count value correction process will be described. FIG. 6 is a flow chart showing the angle calculation process of the embodiment. As shown in FIG. 6, first, the count value of the pulse signal is input (step S21). Then, the input count value is divided by the corrected maximum count value obtained in the flow of FIG. 5 (step S22). The rotor angle is obtained by multiplying this value by 2π (step S23).
このように、実施の形態によれば、エンコーダ10のインデックスパルスにホールセンサの出力パルス信号を用いた場合でも、ロータ角度の計算に、モータの極対数分の複数の最大カウント値を平均した補正最大カウント値を用いることで、エンコーダの出力値の誤差を抑制することが可能となる。これにより、モータを搭載したロボットに振動などが発生しないようにできる。 As described above, according to the embodiment, even when the output pulse signal of the Hall sensor is used for the index pulse of the encoder 10, the rotor angle is calculated by averaging a plurality of maximum count values corresponding to the number of pole pairs of the motor. By using the maximum count value, it is possible to suppress an error in the output value of the encoder. As a result, it is possible to prevent the robot equipped with the motor from vibrating or the like.
図8は、実施の形態の最大カウント値補正処理の他の例を示すフロー図である。図8は、図5のように最大カウント値の補正処理を行った後に電源を切り、再度電源を投入した時の最大カウント値補正処理を示している。通常、ロータ角度の絶対角はわからないので、電源を切ると補正最大カウント値は一旦リセットされる。図8に示す例では、前回保存した複数の最大カウント値のパターンを保存し、パターンマッチングを行うことで、最初から精度よく補正を行う。 FIG. 8 is a flow chart showing another example of the maximum count value correction process of the embodiment. FIG. 8 shows the maximum count value correction process when the power is turned off and then turned on again after the maximum count value correction process is performed as in FIG. Normally, the absolute angle of the rotor angle is unknown, so the maximum correction count value is reset once the power is turned off. In the example shown in FIG. 8, a plurality of patterns having a maximum count value saved last time are saved, and pattern matching is performed to perform correction with high accuracy from the beginning.
例えば、A相、B相パルス信号の予め設定される設定最大カウント値が1000パルスのエンコーダの場合において、5極対のモータで、前回の最大カウント値の保存値のパターンが201(1極目)−198(2極目)−202(3極目)−199(4極目)−200(5極目)であるものとする。 For example, in the case of an encoder in which the preset maximum count value of the A-phase and B-phase pulse signals is 1000 pulses, the pattern of the stored value of the previous maximum count value is 201 (first pole) in the motor of the 5-pole pair. -198 (2nd pole) -202 (3rd pole) -199 (4th pole) -200 (5th pole).
図8に示すように、まず、U相パルス信号が入力されると、最大カウント値が取得される(ステップS31)。そして、入力されたカウント値が前回保存値と近い極を、現在の極に決定する(ステップS32)。例えば、今回取得された最大カウント値が198とすると、前回の保存値を参照して、現在の極数を2極目と決定する。なお、前回の保存値に同じ値があり、今回取得された最大カウント値が当該値と等しい場合は、いずれか1つの極に仮決定することができる。 As shown in FIG. 8, first, when the U-phase pulse signal is input, the maximum count value is acquired (step S31). Then, the pole whose input count value is close to the previously saved value is determined as the current pole (step S32). For example, assuming that the maximum count value acquired this time is 198, the current number of poles is determined to be the second pole by referring to the previously saved value. If the previously saved value has the same value and the maximum count value acquired this time is equal to the value, it can be tentatively determined for any one pole.
そして、次のU相パルス信号が入力されたときに取得される最大カウント値が前回保存値に近い場合、前回保存値のパターンを用いて補正最大カウント値を算出する(ステップS33)。例えば、現在の極数が2極目と決定された場合に、次にU相パルス信号が入力されたときに取得される最大カウント値が、前回の保存値の3極目の値(202)と一致した場合、前回保存値のパターンの複数の最大カウント値を用いて、補正最大カウント値を求めることができる。 Then, when the maximum count value acquired when the next U-phase pulse signal is input is close to the previously stored value, the correction maximum count value is calculated using the pattern of the previously stored value (step S33). For example, when the current number of poles is determined to be the second pole, the maximum count value acquired the next time a U-phase pulse signal is input matches the value (202) of the third pole of the previous stored value. If so, the corrected maximum count value can be obtained by using a plurality of maximum count values of the previously saved value pattern.
なお、S33において、前回保存値のパターンと一致しなかった場合、さらに次のU相パルス信号が入力されたときに最大カウント値を取得して、前回保存値のパターンに近い値に決定することもできる。 If the pattern of the previously stored value does not match in S33, the maximum count value is acquired when the next U-phase pulse signal is input, and the value is determined to be close to the pattern of the previously stored value. You can also.
このように、次回の電源投入時に、不揮発性メモリ等に保存された、複数の最大カウント値のパターンを利用して補正最大カウント値を求め、ロータ角度の計算を行うことができる。これにより、時間をかけることなく、精度の良い補正を行うことが可能となる。 In this way, when the power is turned on next time, the corrected maximum count value can be obtained by using the patterns of the plurality of maximum count values stored in the non-volatile memory or the like, and the rotor angle can be calculated. As a result, it is possible to perform accurate correction without spending time.
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。実施の形態は、電気自動車やハイブリッド自動車における駆動用モータのロータ角度検出に用いることも可能である。 The present invention is not limited to the above embodiment, and can be appropriately modified without departing from the spirit. The embodiment can also be used for detecting the rotor angle of a drive motor in an electric vehicle or a hybrid vehicle.
10 エンコーダ
11 取得部
12 平滑化処理部
13 角度計算部
20 BLDCモータ
21 ロータ
22 ステータ
30 アンプ
10 Encoder 11 Acquisition unit 12 Smoothing processing unit 13 Angle calculation unit 20 BLDC motor 21 Rotor 22 Stator 30 Amplifier

Claims (1)

  1. モータに設けられたホールセンサからの出力パルス信号に基づいて前記モータが何極目であるかを判定し、判定された極数が前記モータの極対数に達するまでパルス信号のパルス数の最大カウント値を順次取得して、前記モータの極対数分の複数の最大カウント値を保持する取得部と、
    複数の前記最大カウント値を用いて平滑化処理を行う平滑化処理部と、
    平滑化された補正最大カウント値を用いて角度計算を行う角度計算部と、
    を備える、
    エンコーダ装置。
    The number of poles of the motor is determined based on the output pulse signal from the hall sensor provided in the motor, and the maximum count value of the number of pulses of the pulse signal until the determined number of poles reaches the number of pole pairs of the motor. Are sequentially acquired, and a plurality of maximum count values corresponding to the number of pole pairs of the motor are held, and an acquisition unit.
    A smoothing processing unit that performs smoothing processing using a plurality of the maximum count values,
    An angle calculation unit that calculates an angle using the smoothed maximum correction count value,
    To prepare
    Encoder device.
JP2019146250A 2019-08-08 2019-08-08 Encoder device Pending JP2021025960A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019146250A JP2021025960A (en) 2019-08-08 2019-08-08 Encoder device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019146250A JP2021025960A (en) 2019-08-08 2019-08-08 Encoder device

Publications (1)

Publication Number Publication Date
JP2021025960A true JP2021025960A (en) 2021-02-22

Family

ID=74663055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019146250A Pending JP2021025960A (en) 2019-08-08 2019-08-08 Encoder device

Country Status (1)

Country Link
JP (1) JP2021025960A (en)

Similar Documents

Publication Publication Date Title
US7049776B2 (en) Rotor-position sensor assembly and method for detecting a rotor position
US8471506B2 (en) Motor control apparatus
JP5494662B2 (en) Rotation angle detector
WO2012008107A1 (en) Phase-shift detection device, motor drive device, brushless motor, and phase-shift detection method
JP5172998B2 (en) Control device for detecting whether or not irreversible demagnetization of permanent magnet of permanent magnet synchronous motor has occurred
KR101813963B1 (en) Method for synchronization of mdps motor and motor position sensor and apparatus thererof
US6639371B2 (en) Method and system for controlling start of a permanent magnet machine
US6121744A (en) Control apparatus for position control motor
JP6344151B2 (en) POSITION ESTIMATION DEVICE, MOTOR DRIVE CONTROL DEVICE, POSITION ESTIMATION METHOD, AND PROGRAM
CN108141158A (en) For the linear hall effect sensor of leggy permanent magnet motor driven with PWM
KR100602006B1 (en) Motor controller
JP6780855B2 (en) Servo actuator
JP3315847B2 (en) Magnetic pole position detecting device and brushless DC motor driving device using the same
KR100355062B1 (en) Method and apparatus for maximizing the maximum speed of a brushless DC motor
KR20070073876A (en) Motor driving apparatus
JP5782769B2 (en) AC motor control method and control apparatus
JP2021025960A (en) Encoder device
JP2020190499A (en) Encoder device
JP6844617B2 (en) Motor modules, motor step motion control systems, and motor controls
GB2575035A (en) Position detector
JP2005137080A (en) Motor controller
JP2013090478A (en) Brushless dc motor rotor position detection method and apparatus
JP6340899B2 (en) Phase detection device, motor drive control device, and motor device
JP3288822B2 (en) Control method of brushless motor
JP6074652B2 (en) Motor control device