TWI586094B - Control apparatus and associated method applied to servo motor system - Google Patents
Control apparatus and associated method applied to servo motor system Download PDFInfo
- Publication number
- TWI586094B TWI586094B TW104128960A TW104128960A TWI586094B TW I586094 B TWI586094 B TW I586094B TW 104128960 A TW104128960 A TW 104128960A TW 104128960 A TW104128960 A TW 104128960A TW I586094 B TWI586094 B TW I586094B
- Authority
- TW
- Taiwan
- Prior art keywords
- segment
- speed value
- value
- pulse
- signal
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34429—Servo controller near main cpu but remote from servomotor, integrated in cnc
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/42—Servomotor, servo controller kind till VSS
- G05B2219/42237—Pwm pulse width modulation, pulse to position modulation ppm
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Electric Motors In General (AREA)
Description
本發明是有關於一種控制裝置與方法,且特別是有關於一種運用於伺服馬達系統(servo motor system)之控制裝置與相關方法。 This invention relates to a control apparatus and method, and more particularly to a control apparatus and associated method for use in a servo motor system.
眾所周知,由於伺服馬達能夠精準的控制其速度(velocity)與位置(position),因此現今的自動化工業以及精密加工領域中,伺服馬達是不可或缺的元件。舉例來說,在機械手臂或者機械工作平台領域中,利用多個伺服馬達的組合,更可以讓機械手臂或者機械工作平台進行多維度(dimension)的操作。 It is well known that servo motors are indispensable components in today's automation industry and precision machining because servo motors are able to precisely control their speed and position. For example, in the field of robotic arms or mechanical work platforms, the combination of multiple servo motors allows the robotic arm or mechanical work platform to perform multi-dimensional operation.
請參照第1圖,其所繪示為伺服馬達系統示意圖。伺服馬達系統115包括:驅動器(driver)120、伺服馬達130、光電編碼器(optical encoder)140。 Please refer to FIG. 1 , which is a schematic diagram of a servo motor system. The servo motor system 115 includes a driver 120, a servo motor 130, and an optical encoder 140.
控制裝置110係根據使用者的設定,輸出指令脈衝(command pulses)至伺服馬達系統115,用以進行伺服馬達130的速度與轉向控制。再者,伺服馬達系統115係為一閉迴路控制系統(close-loop control system)。其中,驅動器120根據指令脈衝與回授脈衝(feedback pulses)來產生驅動電流(driving current)至伺服馬達130以控制伺服馬達130的速度與轉向。 The control device 110 outputs command pulses to the servo motor system 115 for performing speed and steering control of the servo motor 130 according to the user's settings. Furthermore, the servo motor system 115 is a close-loop control system. The driver 120 generates a driving current to the servo motor 130 according to the command pulse and the feedback pulses to control the speed and steering of the servo motor 130.
再者,光電編碼器140係根據伺服馬達130的速度與轉向產生回授脈衝至驅動器120。當然,光電編碼器140僅是 一種回授元件,也可以由其他裝置所取代,例如解角器(resolver)。 Furthermore, the photoelectric encoder 140 generates a feedback pulse to the driver 120 based on the speed and steering of the servo motor 130. Of course, the photoelectric encoder 140 is only A feedback element can also be replaced by other means, such as a resolver.
基本上,將第1圖所示的伺服馬達系統115安裝於機械手臂或者機械工作平台後,使用者即可利用控制裝置110輸出指令脈衝至伺服馬達系統115,並使得機械手臂或者機械工作平台進行1個維度的操作。 Basically, after the servo motor system 115 shown in FIG. 1 is mounted on a robot arm or a mechanical working platform, the user can output a command pulse to the servo motor system 115 by using the control device 110, and the robot arm or the mechanical working platform can be performed. 1 dimension of operation.
當然,將三組相同於第1圖的伺服馬達系統安裝於機械手臂或者機械工作平台即可進行三個維度的運作。換言之,利用三個控制裝置分別輸出指令脈衝至對應的伺服馬達系統,即可使得機械手臂或者機械工作平台進行3個維度的操作。 Of course, three sets of servo motor systems identical to those of Figure 1 can be mounted on a robotic arm or mechanical work platform for three dimensions of operation. In other words, the three control devices respectively output the command pulse to the corresponding servo motor system, so that the robot arm or the mechanical working platform can perform three dimensions of operation.
因此,如何能夠即時的輸出指令脈衝,並且正確地控制伺服馬達的速度與位置即為本發明所欲達成的目的。 Therefore, how to immediately output the command pulse and correctly control the speed and position of the servo motor is the object of the present invention.
本發明係有關於一種控制裝置,產生一指令脈衝至一伺服馬達系統,該控制裝置包括:一區段參數儲存電路,儲存多個區段參數,且每一該區段參數包括:一目標速度數值、一增量與一預設脈衝數目,其中當該區段參數儲存電路輸出一第一區段參數之後,接收到一區段結束信號時,該區段參數儲存電路輸出一第二區段參數;一速度疊加電路,接收該第二區段參數中的該目標速度數值與該增量並產生一現在速度數值,其中該現在速度數值會由該第一區段參數中的該目標速度數值變化至該第二區段參數中的該目標速度數值;一速度轉換電路,接收該現在速度數值並據以產生一脈衝調變信號;以及一脈衝比較電路,將該脈衝調變信號轉換為該指令脈衝中的一第一信號,其中該脈衝比較電路接收該預設脈衝數目並計數該脈衝調變信號所產生的脈衝數目,當該脈衝調變信號產生的脈衝數目到達該預設脈衝數目時,產生該區段結束信號。 The invention relates to a control device for generating a command pulse to a servo motor system, the control device comprising: a segment parameter storage circuit for storing a plurality of segment parameters, and each of the segment parameters comprises: a target speed a value, an increment, and a predetermined number of pulses, wherein when the segment parameter storage circuit outputs a first segment parameter, when the segment end signal is received, the segment parameter storage circuit outputs a second segment a speed superposition circuit that receives the target speed value in the second segment parameter and the increment and generates a current speed value, wherein the current speed value is determined by the target speed value in the first segment parameter Changing to the target speed value in the second segment parameter; a speed conversion circuit receiving the current velocity value and generating a pulse modulation signal; and a pulse comparison circuit converting the pulse modulation signal into the a first signal in the command pulse, wherein the pulse comparison circuit receives the preset number of pulses and counts the number of pulses generated by the pulse modulated signal When the number of pulses of the pulse modulation signal generated pulses reaches the predetermined number, generating the segment end signal.
本發明係有關於一種控制方法,用於一控制裝置產生一指令脈衝至一伺服馬達系統,該控制方法包括:(a)根據一區 段結束信號,控制該伺服馬達系統結束一第一區段並開始一第二區段,其中於該第一區段時,根據一第一區段參數產生該指令脈衝,且於該第二區段時,根據一第二區段參數產生該指令脈衝;(b)接收該第二區段參數中的一目標速度數值、一增量與一預設脈衝數目;(c)設定一現在速度數值等於該第一區段參數中的該目標速度數值;(d)判斷一脈衝調變信號產生的脈衝數目是否到達該預設脈衝數目;其中於該脈衝調變信號產生的脈衝數目到達該預設脈衝數目時,結束該第二區段;(e)於該脈衝調變信號產生的脈衝數目尚未到達該預設脈衝數目時,判斷該現在速度數值是否到達該目標速度數值;其中,當該現在速度數值到達該目標速度數值時,回到該步驟(d);以及(f)當該現在速度數值尚未到達該目標速度數值時,更新該現在速度數值等於該現在速度數值加上一修正增量,並回到該步驟(d),其中該修正增量等於該增量乘上一權重;其中,該控制裝置根據該現在速度數值來產生該脈衝調變信號並決定該脈衝調變信號的頻率,且該脈衝調變信號為該指令脈衝中的一第一信號。 The invention relates to a control method for a control device to generate a command pulse to a servo motor system, the control method comprising: (a) according to a region a segment end signal, controlling the servo motor system to end a first segment and starting a second segment, wherein in the first segment, the command pulse is generated according to a first segment parameter, and in the second region In the segment, the command pulse is generated according to a second segment parameter; (b) receiving a target velocity value, an increment and a preset pulse number in the second segment parameter; (c) setting a current velocity value And determining the target speed value in the first segment parameter; (d) determining whether the number of pulses generated by the pulse modulation signal reaches the preset number of pulses; wherein the number of pulses generated by the pulse modulation signal reaches the preset When the number of pulses ends, the second segment ends; (e) determining whether the current velocity value reaches the target velocity value when the number of pulses generated by the pulse modulation signal has not reached the preset number of pulses; wherein, when the current value When the speed value reaches the target speed value, return to the step (d); and (f) when the current speed value has not reached the target speed value, update the current speed value equal to the current speed value plus Correcting the increment and returning to the step (d), wherein the correction increment is equal to the increment multiplied by a weight; wherein the control device generates the pulse modulation signal according to the current speed value and determines the pulse modulation The frequency of the signal, and the pulse modulation signal is a first signal in the command pulse.
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下: In order to better understand the above and other aspects of the present invention, the preferred embodiments are described below, and in conjunction with the drawings, the detailed description is as follows:
110‧‧‧控制裝置 110‧‧‧Control device
115‧‧‧伺服馬達系統 115‧‧‧Servo motor system
120‧‧‧驅動器 120‧‧‧ drive
130‧‧‧伺服馬達 130‧‧‧Servo motor
140‧‧‧光電編碼器 140‧‧‧Photoelectric encoder
300‧‧‧控制裝置 300‧‧‧Control device
310‧‧‧速度疊加電路 310‧‧‧Speed superposition circuit
312、612‧‧‧速度加法器 312, 612‧‧‧ speed adder
314、614‧‧‧速度限制器 314, 614‧‧ ‧ speed limiter
320‧‧‧速度轉換電路 320‧‧‧Speed conversion circuit
322‧‧‧PWM產生器 322‧‧‧PWM generator
330‧‧‧區段控制電路 330‧‧‧ Section Control Circuit
332‧‧‧脈衝比較電路 332‧‧‧Pulse comparison circuit
336、800‧‧‧區段參數儲存電路 336, 800‧‧‧ Section parameter storage circuit
360‧‧‧伺服馬達系統 360‧‧‧Servo motor system
371、377‧‧‧計數器 371, 377‧‧‧ counter
373‧‧‧除法器 373‧‧‧ divider
375、379‧‧‧比較器 375, 379‧‧‧ comparator
616‧‧‧運算濾波器 616‧‧‧Operation filter
618‧‧‧權重對照表 618‧‧‧ weight comparison table
第1圖所繪示為伺服馬達系統示意圖。 Figure 1 is a schematic diagram of a servo motor system.
第2A圖之脈衝格式係為單一脈衝方向(One Pulse Direction)指令脈衝。 The pulse format of Figure 2A is a One Pulse Direction command pulse.
第2B圖之脈衝格式係為A/B相位(A/B phase)指令脈衝。 The pulse format of Figure 2B is the A/B phase (A/B phase) command pulse.
第2C圖之脈衝格式係為順逆時鐘轉動(Clockwise Counterclockwise)指令脈衝。 The pulse format of Figure 2C is a Clockwise Counterclockwise command pulse.
第3圖所繪示為本發明運用於伺服馬達系統之控制裝置。 Figure 3 is a diagram showing the control device of the present invention applied to a servo motor system.
第4A圖所繪示為區段參數儲存電路示意圖。 FIG. 4A is a schematic diagram of a segment parameter storage circuit.
第4B圖所繪示為速度疊加電路示意圖。 FIG. 4B is a schematic diagram of a speed superposition circuit.
第4C圖所繪示為速度轉換電路示意圖。 Figure 4C is a schematic diagram of a speed conversion circuit.
第4D圖與第4E圖所繪示為脈衝調變信號PWM產生器的一實施例及其相關信號示意圖。 4D and 4E are diagrams showing an embodiment of a pulse modulation signal PWM generator and related signal diagrams.
第5A圖所繪示為本發明運用於伺服馬達系統之控制方法。 Figure 5A is a diagram showing the control method applied to the servo motor system of the present invention.
第5B圖所繪示為脈衝調變信號PWM頻率變化示意圖。 Figure 5B is a schematic diagram showing the PWM frequency variation of the pulse modulation signal.
第6圖所繪示為本發明另一速度疊加電路示意圖。 FIG. 6 is a schematic diagram of another speed superposition circuit of the present invention.
第7A圖所繪示為本發明運用於伺服馬達系統之另一控制方法。 FIG. 7A illustrates another control method applied to the servo motor system of the present invention.
第7B圖所繪示為脈衝調變信號PWM頻率變化示意圖。 Figure 7B is a schematic diagram showing the PWM frequency variation of the pulse modulation signal.
第8圖所繪示為另一區段參數儲存電路示意圖。 FIG. 8 is a schematic diagram of another segment parameter storage circuit.
基本上,控制裝置根據伺服馬達系統的格式,可產生多種脈衝格式的指令脈衝。其中,指令脈衝中包括a1信號與a2信號。詳細說明如下:第2A圖之脈衝格式係為單一脈衝方向(One Pulse Direction)指令脈衝示意圖。其中,a1信號的脈衝頻率(frequency)可進一步控制驅動器(driver)來改變驅動電流的頻率,而驅動電流的頻率即可用來控制伺服馬達的速度。舉例來說,當a1信號脈衝頻率越高(脈衝寬度越窄),伺服馬達230的速度會加快;反之,當a1信號脈衝頻率越低(脈衝寬度越寬),伺服馬達230的速度會減慢。再者,a2信號係用來指示轉動方向。因此,由a2信號可知,於時間點t1時,伺服馬達被控制往第一方向(例如順時鐘方向)轉動;而於時間點t2時,伺服馬達被控制往第二方向(例如逆時鐘方向)轉動。 Basically, the control device can generate command pulses of various pulse formats depending on the format of the servo motor system. The command pulse includes an a1 signal and an a2 signal. The details are as follows: The pulse format of Fig. 2A is a schematic diagram of a single pulse direction (One Pulse Direction) command pulse. Among them, the pulse frequency of the a1 signal can further control the driver to change the frequency of the driving current, and the frequency of the driving current can be used to control the speed of the servo motor. For example, when the a1 signal pulse frequency is higher (the narrower the pulse width), the speed of the servo motor 230 is increased; conversely, when the a1 signal pulse frequency is lower (the pulse width is wider), the servo motor 230 speed is slowed down. . Furthermore, the a2 signal is used to indicate the direction of rotation. Therefore, it can be seen from the a2 signal that the servo motor is controlled to rotate in the first direction (for example, clockwise direction) at the time point t1, and the servo motor is controlled to the second direction (for example, the counterclockwise direction) at the time point t2. Turn.
第2B圖之脈衝格式係為A/B相位(A/B phase)指令脈衝示意圖。其中,指令脈衝中包括a1信號與a2信號。當a1信號的脈衝相位超前a2信號的脈衝相位90度時,指令脈衝可控制 伺服馬達進行第一方向的轉動;反之,當a1信號的脈衝相位落後a2信號的脈衝相位90度時,代表指令脈衝可控制伺服馬達進行第二方向的轉動。因此,於時間點t1時,伺服馬達被控制往第一方向轉動;而於時間點t2時,伺服馬達被控制往第二方向轉動。同理,a1信號與a2信號的脈衝頻率可以控制伺服馬達的速度。 The pulse format of Figure 2B is a schematic diagram of the A/B phase (A/B phase) command pulse. The command pulse includes an a1 signal and an a2 signal. When the pulse phase of the a1 signal leads the pulse phase of the a2 signal by 90 degrees, the command pulse can be controlled. The servo motor performs the first direction of rotation; conversely, when the pulse phase of the a1 signal is 90 degrees behind the pulse phase of the a2 signal, the command pulse can control the servo motor to rotate in the second direction. Therefore, at time t1, the servo motor is controlled to rotate in the first direction; and at time t2, the servo motor is controlled to rotate in the second direction. Similarly, the pulse frequency of the a1 signal and the a2 signal can control the speed of the servo motor.
第2C圖之脈衝格式係為順逆時鐘轉動(Clockwise Counterclockwise)指令脈衝示意圖。其中,當a1信號動作時,伺服馬達往第一方向轉動;當a2信號動作時,伺服馬達往第二方向轉動。因此,於時間點t1時,伺服馬達被控制往第一方向轉動;而於時間點t2時,伺服馬達被控制往第二方向轉動。同理,a1信號與a2信號的脈衝頻率可以控制伺服馬達的速度。 The pulse format of Figure 2C is a schematic diagram of a Clockwise Counterclockwise command pulse. Wherein, when the a1 signal is actuated, the servo motor rotates in the first direction; when the a2 signal is actuated, the servo motor rotates in the second direction. Therefore, at time t1, the servo motor is controlled to rotate in the first direction; and at time t2, the servo motor is controlled to rotate in the second direction. Similarly, the pulse frequency of the a1 signal and the a2 signal can control the speed of the servo motor.
基本上,伺服馬達系統接收到一個脈衝(pulse)時,驅動器可控制伺服馬達轉動一個固定角度。舉例來說,假設單一脈衝方向指令脈衝中,一個脈衝可以控制伺服馬達轉動1度,因此3600個脈衝即可控制伺服馬達轉動3600度,亦即10圈。換言之,控制控制伺服馬達轉動的角度即可控制伺服馬達的位置。 Basically, when the servo motor system receives a pulse, the drive can control the servo motor to rotate a fixed angle. For example, suppose a single pulse direction command pulse can control the servo motor to rotate 1 degree, so 3600 pulses can control the servo motor to rotate 3600 degrees, that is, 10 turns. In other words, the position of the servo motor can be controlled by controlling the angle at which the servo motor is rotated.
再者,當脈衝的頻率越高,亦即脈衝寬度(pulse width)越窄時,可加快伺服馬達的速度;而當脈衝的頻率越低,亦即脈衝寬度越寬時,可降低伺服馬達的速度。換句話說,控制單一脈衝方向指令脈衝中的脈衝頻率即可控制伺服馬達的速度。當然,相同的原理也可以運用於A/B相位指令脈衝或者順逆時鐘轉動指令脈衝,此處不再贅述。 Furthermore, when the frequency of the pulse is higher, that is, the narrower the pulse width is, the speed of the servo motor can be increased; and when the frequency of the pulse is lower, that is, the wider the pulse width, the servo motor can be lowered. speed. In other words, controlling the pulse frequency in a single pulse direction command pulse controls the speed of the servo motor. Of course, the same principle can also be applied to the A/B phase command pulse or the forward clock rotation command pulse, which will not be described here.
請參照第3圖,其所繪示為本發明運用於伺服馬達系統之控制裝置。其中,控制裝置300連接至伺服馬達系統360,且控制裝置300包括:速度疊加電路(velocity superposing circuit)310、速度轉換電路(velocity transferring circuit)320、區段控制電路330。其中,區段控制電路330更包括:區段參數儲存電路(segment parameter storage circuit)336與脈衝比較電路(pulse comparison circuit)332。再者,伺服馬達系統360接收指令脈衝(a1 信號與a2信號)用以控制伺服馬達的運作。另外,第3圖中的伺服馬達系統360相同於第1圖中的伺服馬達系統115,此處不再贅述。 Please refer to FIG. 3, which illustrates the control device applied to the servo motor system of the present invention. The control device 300 is connected to the servo motor system 360, and the control device 300 includes a velocity superposing circuit 310, a velocity transferring circuit 320, and a segment control circuit 330. The segment control circuit 330 further includes a segment parameter storage circuit 336 and a pulse comparison circuit 332. Furthermore, the servo motor system 360 receives the command pulse (a1 The signal and the a2 signal) are used to control the operation of the servo motor. In addition, the servo motor system 360 in FIG. 3 is the same as the servo motor system 115 in FIG. 1 and will not be described herein.
基本上,使用者可將多組區段參數設定於區段參數儲存電路336中。而多組區段參數可以控制伺服馬達在不同區段中的速度與位置。再者,每一個區段參數中包括一目標速度數值(target velocity,Vt)、一增量(increment,△V)、一預設脈衝數目(predetermined pulse number,Nd)與一方向信號(direction signal,Dir)。其中,目標速度數值Vt可對應至一目標頻率(target frequency),增量△V對應至一頻率增量(frequency increment)。 Basically, the user can set multiple sets of segment parameters in the segment parameter storage circuit 336. The plurality of sets of segment parameters can control the speed and position of the servo motor in different sections. Furthermore, each segment parameter includes a target velocity value (Vt), an increment (ΔV), a predetermined pulse number (Nd), and a direction signal (direction signal). , Dir). The target speed value Vt may correspond to a target frequency, and the increment ΔV corresponds to a frequency increment.
速度疊加電路310接收目標速度數值Vt與增量△V並計算出現在速度數值(current velocity,Vc)至速度轉換電路320。而速度轉換電路320根據現在速度數值Vc產生脈衝調變信號PWM。 The speed superposition circuit 310 receives the target speed value Vt and the increment ΔV and calculates the current velocity (Vc) to the speed conversion circuit 320. The speed conversion circuit 320 generates a pulse modulation signal PWM based on the current speed value Vc.
脈衝比較電路332將脈衝調變信號PWM作為指令脈衝中的一個信號,例如指令脈衝中的a1信號。另外,脈衝比較電路332根據方向信號Dir來產生指令脈衝中的另一個信號,例如a2信號。而由a1信號與a2信號所組成的單一脈衝方向的指令脈衝即可傳遞至伺服馬達系統360。 The pulse comparison circuit 332 uses the pulse modulation signal PWM as one of the command pulses, such as the a1 signal in the command pulse. In addition, the pulse comparison circuit 332 generates another one of the command pulses, such as the a2 signal, based on the direction signal Dir. The command pulse of a single pulse direction composed of the a1 signal and the a2 signal can be transmitted to the servo motor system 360.
另外,脈衝比較電路332接收預設脈衝數目Nd,並且根據預設脈衝數目Nd來計數(count)指令脈衝(例如a1信號)的脈衝數目。當指令脈衝(例如a1信號)的脈衝數目到達預設脈衝數目Nd時,代表伺服馬達到達該區段所預設的位置。因此,脈衝比較電路332產生區段結束信號Nx至區段參數儲存電路356,而區段參數儲存電路356提供下一區段的區段參數至速度疊加電路310與脈衝比較電路332。 In addition, the pulse comparison circuit 332 receives the preset number of pulses Nd, and counts the number of pulses of the command pulse (for example, the a1 signal) according to the preset number of pulses Nd. When the number of pulses of the command pulse (for example, the a1 signal) reaches the preset number of pulses Nd, it represents that the servo motor reaches the preset position of the segment. Accordingly, the pulse comparison circuit 332 generates the segment end signal Nx to the segment parameter storage circuit 356, and the segment parameter storage circuit 356 provides the segment parameters of the next segment to the velocity superposition circuit 310 and the pulse comparison circuit 332.
由以上知說明可知,控制裝置300中的區段控制電路330可以控制伺服馬達360在特定區段中的速度與位置。而以下詳細介紹本發明控制裝置300中的細部電路區塊與運作方式。 As can be seen from the above description, the segment control circuit 330 in the control device 300 can control the speed and position of the servo motor 360 in a particular segment. The detailed circuit blocks and operation modes in the control device 300 of the present invention are described in detail below.
請參照第4A圖,其所繪示為區段參數儲存電路示意圖。區段參數儲存電路336中包括一記憶體用以儲存多組區段參數。如第4A圖所示,區段(i-1)的區段參數為:目標速度數值Vti-1、增量△Vi-1、預設脈衝數目Ndi-1、方向信號Diri-1;區段i的區段參數為:目標速度數值Vti、增量△Vi、預設脈衝數目Ndi、方向信號Diri;區段(i+1)的區段參數為:目標速度數值Vti+1、增量△Vi+1、預設脈衝數目Ndi+1、方向信號Diri+1。 Please refer to FIG. 4A, which is a schematic diagram of a segment parameter storage circuit. The segment parameter storage circuit 336 includes a memory for storing a plurality of sets of segment parameters. As shown in Fig. 4A, the segment parameters of the segment (i-1) are: target velocity value Vt i-1 , increment ΔV i-1 , preset pulse number Nd i-1 , direction signal Dir i- 1 ; the segment parameters of the segment i are: the target velocity value Vt i , the increment ΔV i , the preset pulse number Nd i , the direction signal Dir i ; the segment parameter of the segment (i+1) is: the target velocity The value Vt i+1 , the increment ΔV i+1 , the preset number of pulses Nd i+1 , and the direction signal Dir i+1 .
舉例來說,假設區段參數儲存電路336已經將區段(i-1)的區段參數(Vti-1、△Vi-1、Ndi-1、Diri-1)輸出。之後,接收到區段結束信號Nx時,區段參數儲存電路336即輸出區段i的區段參數(Vti、△Vi、Ndi、Diri),用以根據增量△Vi與目標速度Vti產生脈衝調變信號PWM以控制伺服馬達的速度,並且根據預設脈衝數目Ndi來計數脈衝調變信號PWM中的脈衝數目以控制伺服馬達的位置。同理,當段參數儲存電路336再次接收到區段結束信號Nx時,區段參數儲存電路336即再輸出區段(i+1)的區段參數(Vti+1、△VI+1、Ndi+1、Diri+1)。 For example, assume that the section parameter storage circuit 336 has output the section parameters (Vt i-1 , ΔV i-1 , Nd i-1 , Dir i-1 ) of the section ( i-1 ). Thereafter, when the segment end signal Nx is received, the segment parameter storage circuit 336 outputs the segment parameters (Vt i , ΔV i , Nd i , Dir i ) of the segment i for using the increment ΔV i and The target speed Vt i generates a pulse modulation signal PWM to control the speed of the servo motor, and counts the number of pulses in the pulse modulation signal PWM according to the preset number of pulses Nd i to control the position of the servo motor. Similarly, when the segment parameter storage circuit 336 receives the segment end signal Nx again, the segment parameter storage circuit 336 re-outputs the segment parameters of the segment (i+1) (Vt i+1 , ΔV I+1). , Nd i+1 , Dir i+1 ).
請參照第4B圖,其所繪示為速度疊加電路示意圖。速度疊加電路310包括:速度加法器312與速度限制器314。當速度加法器312接收到增量△V時,將現在速度數值Vc與△V疊加之後成為疊加速度數值Va並傳送至速度限制器314。基本上,當增量△V為正值時,疊加速度數值Va會遞增,用以加快伺服馬達的速度;反之,當增量△V為負值時,疊加速度數值Va會遞減,用以降低伺服馬達的速度。 Please refer to FIG. 4B, which is a schematic diagram of a speed superposition circuit. The speed superposition circuit 310 includes a speed adder 312 and a speed limiter 314. When the speed adder 312 receives the increment ΔV, the current speed value Vc is superimposed with ΔV to become the superimposed speed value Va and transmitted to the speed limiter 314. Basically, when the increment ΔV is a positive value, the superimposed speed value Va is incremented to speed up the servo motor; conversely, when the increment ΔV is a negative value, the superimposed speed value Va is decreased to reduce The speed of the servo motor.
再者,每經過一插補周期(interpolation period,τ)後,速度限制器314判斷目標速度數值Vt與疊加速度數值Va之間的關係。當疊加速度數值Va尚未到達目標速度數值Vt時,速度限制器314會將疊加速度數值Va作為現在速度數值Vc並輸出。當疊加速度數值Va到達目標速度數值Vt時,速度限制器314會將疊加速度數值Va作為現在速度數值Vc並且不再改變現在速 度數值Vc。 Furthermore, the speed limiter 314 determines the relationship between the target speed value Vt and the superimposition speed value Va after each interpolation period (τ). When the superimposed speed value Va has not reached the target speed value Vt, the speed limiter 314 will output the superimposed speed value Va as the current speed value Vc. When the superimposed speed value Va reaches the target speed value Vt, the speed limiter 314 will use the superimposed speed value Va as the current speed value Vc and no longer change the current speed. Degree value Vc.
再者,當速度加法器312再次接收到更新的增量△V與目標速度數值Vt用以啟動下一區段時,現在速度數值Vc即為前一區段的目標速度數值Vt,並且再次重複上述的流程。 Furthermore, when the speed adder 312 receives the updated increment ΔV and the target speed value Vt again to start the next segment, the current speed value Vc is the target speed value Vt of the previous segment, and is repeated again. The above process.
由以上之說明可知,當速度疊加電路310每次接收到增量△V與目標速度數值Vt時,速度疊加電路310會逐漸地改變現在速度數值Vc直到現在速度數值Vc等於目標速度數值Vt為止。再者,上述的插補週期並非為一個定值,使用者可以根據實際的情況適當地修改變插補週期的時間長短。 As apparent from the above description, each time the speed superimposing circuit 310 receives the increment ΔV and the target speed value Vt, the speed superimposing circuit 310 gradually changes the current speed value Vc until the current speed value Vc is equal to the target speed value Vt. Furthermore, the above interpolation period is not a fixed value, and the user can appropriately modify the length of the variable interpolation period according to the actual situation.
請參照第4C圖,其所繪示為速度轉換電路示意圖。速度轉換電路320中包括一脈衝調變信號PWM產生器322。基本上,PWM產生器322接收系統時脈CLKs、現在速度數值Vc與責任周期數值Duty。再者,速度轉換電路320會根據現在速度數值Vc來對系統時脈CLKs進行除頻動作,並根據責任周期數值Duty來產生脈衝調變信號PWM。 Please refer to FIG. 4C, which is a schematic diagram of a speed conversion circuit. A pulse modulation signal PWM generator 322 is included in the speed conversion circuit 320. Basically, the PWM generator 322 receives the system clock CLKs, the current speed value Vc, and the duty cycle value Duty. Furthermore, the speed conversion circuit 320 performs a frequency division operation on the system clock CLKs according to the current speed value Vc, and generates a pulse modulation signal PWM according to the duty cycle value Duty.
舉例來說,假設系統時脈CLKs為100MHz、現在速度數值Vc為100KHz、責任周期數值(duty cycle,Duty)為0.5,則脈衝調變信號PWM產生器322可產生責任周期為50%且100KHz的脈衝調變信號PWM。 For example, assuming that the system clock CLKs is 100 MHz, the current speed value Vc is 100 kHz, and the duty cycle (Duty) is 0.5, the pulse modulation signal PWM generator 322 can generate a duty cycle of 50% and 100 kHz. Pulse modulation signal PWM.
根據以上的說明,速度轉換電路320係將現在速度數值Vc所代表的頻率數值作為脈衝調變信號PWM的頻率。當然,本發明並不限定於此。在此領域的技術人員可以設計脈衝調變信號PWM的頻率與現在速度數值Vc之間具有一固定比例關係即可。舉例來說,現在速度數值Vc所代表的頻率數值五倍於脈衝調變信號PWM的頻率。 According to the above description, the speed conversion circuit 320 sets the frequency value represented by the current speed value Vc as the frequency of the pulse modulation signal PWM. Of course, the invention is not limited thereto. A person skilled in the art can design a fixed proportional relationship between the frequency of the pulse modulation signal PWM and the current speed value Vc. For example, the frequency value represented by the speed value Vc is now five times the frequency of the pulse modulation signal PWM.
請參照第4D圖與第4E圖,其所繪示為脈衝調變信號PWM產生器的一實施例及其相關信號示意圖。在此時施例中,係以系統時脈CLKs為100MHz(周期為10ns)、現在速度數值Vc為100KHz、周期數值為0.4(亦即,高準位與低準位之間的比 例為2:3)為例來進行說明。再者,第4D圖僅是實現PWM產生器322的一種實施例而已,並非用來限定本發明。 Please refer to FIG. 4D and FIG. 4E , which are diagrams showing an embodiment of a pulse modulation signal PWM generator and related signal diagrams. In this case, the system clock CLKs is 100 MHz (the period is 10 ns), the current speed value Vc is 100 kHz, and the period value is 0.4 (that is, the ratio between the high level and the low level). An example is 2:3) for illustration. Furthermore, the 4D diagram is merely an embodiment of implementing the PWM generator 322 and is not intended to limit the invention.
PWM產生器322包括第一計數器371、第二計數器377、第一比較器375、第二比較器379與除法器373。 The PWM generator 322 includes a first counter 371, a second counter 377, a first comparator 375, a second comparator 379, and a divider 373.
第一計數器371計數系統時脈CLKs的脈衝並輸出第一計數值Cnt1。而除法器373將除頻常數(frequency divided constant,Cf)除以現在速度數值Vc,並產生一參考數值Nref。假設,除頻常數Cf為108,則參考數值Nref即為(108/100K=103)。 The first counter 371 counts the pulse of the system clock CLKs and outputs a first count value Cnt1. The divider 373 divides the frequency divided constant (Cf) by the current speed value Vc and generates a reference value Nref. Assuming that the frequency division constant Cf is 10 8 , the reference value Nref is (10 8 /100K=10 3 ).
第一比較器375接收第一計數值Cnt1與參考數值Nref,並且於第一計數值Cnt1到達參考數值Nref時,改變參考時脈CLKref的準位。同時,第一比較器375重置(reset)第一計數器371,使得第一計數值Cnt1歸零,並且再次根據系統時脈CLKs來計數。因此,由第4E圖可知,第一比較器375產生的參考時脈CLKref的周期Tref即為10μs。 The first comparator 375 receives the first count value Cnt1 and the reference value Nref, and changes the level of the reference clock CLKref when the first count value Cnt1 reaches the reference value Nref. At the same time, the first comparator 375 resets the first counter 371 such that the first count value Cnt1 is reset to zero and is again counted according to the system clock CLKs. Therefore, as can be seen from FIG. 4E, the period Tref of the reference clock CLKref generated by the first comparator 375 is 10 μs.
再者,第二計數器377計數參考時脈CLKref的脈衝並輸出第二計數值Cnt2至第二比較器379。第二比較器379根據責任周期數值為0.4來比較第二計數值Cnt2,並產生脈衝調變信號PWM。 Furthermore, the second counter 377 counts the pulse of the reference clock CLKref and outputs the second count value Cnt2 to the second comparator 379. The second comparator 379 compares the second count value Cnt2 according to the duty cycle value of 0.4, and generates a pulse modulation signal PWM.
舉例來說,第二比較器379比較第二計數值Cnt2的變化次數。當第二計數值Cnt2變化2次後,第二比較器379將脈衝調變信號PWM改變為低準位;並且,當第二計數值Cnt2變化3次後,第二比較器將脈衝調變信號PWM改變為高準位。如此周而復始,即可產生第4E圖之脈衝調變信號PWM,且其周期Tpwm為50μs。 For example, the second comparator 379 compares the number of changes of the second count value Cnt2. After the second count value Cnt2 changes 2 times, the second comparator 379 changes the pulse modulation signal PWM to a low level; and, when the second count value Cnt2 changes 3 times, the second comparator modulates the pulse signal The PWM changes to a high level. By repeating this cycle, the pulse modulation signal PWM of FIG. 4E can be generated, and its period Tpwm is 50 μs.
請參照第5A圖,其所繪示為本發明運用於伺服馬達系統之控制方法。其中,此控制方法運用於第3圖所示之控制裝置300,且控制裝置300中會持續地根據現在速度數值Vc來產生脈衝調變信號PWM並決定脈衝調變信號PWM的頻率,而產生的脈衝調變信號PWM會傳遞至伺服馬達系統360。 Please refer to FIG. 5A, which illustrates the control method applied to the servo motor system of the present invention. Wherein, the control method is applied to the control device 300 shown in FIG. 3, and the control device 300 continuously generates the pulse modulation signal PWM according to the current speed value Vc and determines the frequency of the pulse modulation signal PWM. The pulse modulation signal PWM is passed to the servo motor system 360.
首先,當一個區段開始(步驟S501)時,接收目標速度數值Vt、增量△V、預設脈衝數目Nd(步驟S502)。接著,設定現在速度數值Vc等於前一區段的目標速度數值(步驟S503)。 First, when a sector starts (step S501), the target speed value Vt, the increment ΔV, and the preset number of pulses Nd are received (step S502). Next, the current speed value Vc is set equal to the target speed value of the previous zone (step S503).
接著,判斷脈衝調變信號PWM是否已經產生Nd個脈衝(步驟504)。當脈衝調變信號PWM已經產生Nd個脈衝時,產生區段結束信號Nx(步驟507);反之,當脈衝調變信號PWM尚未產生Nd個脈衝時,再繼續判斷現在速度數值Vc是否到達目標速度數值Vt(步驟505)。 Next, it is judged whether or not the pulse modulation signal PWM has generated Nd pulses (step 504). When the pulse modulation signal PWM has generated Nd pulses, a segment end signal Nx is generated (step 507); otherwise, when the pulse modulation signal PWM has not generated Nd pulses, it is determined whether the current velocity value Vc reaches the target speed. The value Vt (step 505).
當現在速度數值Vc已經到達目標速度數值Vt時,繼續執行步驟S504;反之,現在速度數值Vc尚未到達目標速度數值Vt時,於插補周期(τ)後,更新現在速度數值Vc為現在速度數值Vc加上增量△V(步驟S506)後,繼續執行步驟S504。 When the current speed value Vc has reached the target speed value Vt, step S504 is continued; otherwise, when the speed value Vc has not yet reached the target speed value Vt, after the interpolation period (τ), the current speed value Vc is updated to the current speed value. After Vc is incremented by ΔV (step S506), step S504 is continued.
再者,當區段參數儲存電路336接收到區段結束信號Nx後,代表該區段已經結束,並且可繼續開始下一區段,並且再次執行一次第5A圖所示的步驟。 Furthermore, when the segment parameter storage circuit 336 receives the segment end signal Nx, it indicates that the segment has ended, and can continue to start the next segment, and performs the step shown in FIG. 5A again.
請參照第5B圖,其所繪示為脈衝調變信號PWM頻率變化示意圖。假設前一區段的目標速度數值為10KHz,則設定現在速度數值Vc為10KHz。再者,由於增量△V為10KHz,所以每經過一次插捕周期τ(100μs)後,現在速度數值Vc會增加10KHz。並且,於1ms時,現在速度數值Vc會到達目標速度數值Vt,亦即100KHz。 Please refer to FIG. 5B, which is a schematic diagram of PWM frequency variation of a pulse modulation signal. Assuming that the target speed value of the previous section is 10 kHz, the current speed value Vc is set to 10 kHz. Furthermore, since the increment ΔV is 10 kHz, the speed value Vc is now increased by 10 kHz after each insertion period τ (100 μs). And, at 1 ms, the current speed value Vc will reach the target speed value Vt, that is, 100 kHz.
再者,由於第5B圖中,所有方形的面積加總即為脈衝調變信號PWM的脈衝數。因此,於10.5ms附近時,脈衝調變信號PWM產生Nd個(1000個)脈衝,代表伺服馬達已經到達該區段所設定的位置,所以可以產生區段結束信號Nx至區段參數儲存電路336用以啟動下一區段。 Furthermore, since the area of all the squares in Fig. 5B is the sum of the pulses of the pulse modulation signal PWM. Therefore, when around 10.5 ms, the pulse modulation signal PWM generates Nd (1000) pulses, indicating that the servo motor has reached the position set by the segment, so the segment end signal Nx can be generated to the segment parameter storage circuit 336. Used to start the next section.
由於第5B圖中的現在速度數值Vc每次皆以固定值的增量△V變化,因此伺服馬達在運作的過程會受到慣性的影響而呈現較不穩定的狀態。本發明可以修正速度疊加電路310而改 善此缺陷。 Since the current speed value Vc in Fig. 5B is changed by a fixed value increment ΔV each time, the servo motor is subjected to a relatively unstable state due to the inertia during the operation. The invention can modify the speed superposition circuit 310 and change Be good at this defect.
請參照第6圖,其所繪示為本發明另一速度疊加電路示意圖。速度疊加電路310包括:權重對照表(weighting look-up table)618、運算濾波器(operation filter)616、速度加法器612與速度限制器614。其中,權重對照表618中記錄多個權重(weighting,W1~Wi)。而每經過一插捕周期(τ)後,運算濾波器616會依序的將增量△V乘以對應的權重成為修正增量(modified increment,△V’)。 Please refer to FIG. 6 , which is a schematic diagram of another speed superposition circuit of the present invention. The speed superposition circuit 310 includes a weighting look-up table 618, an operation filter 616, a speed adder 612, and a speed limiter 614. Among them, the weight comparison table 618 records a plurality of weights (weighting, W1 ~ Wi). After each interpolation cycle (τ), the arithmetic filter 616 sequentially multiplies the increment ΔV by the corresponding weight to become a modified increment (ΔV').
之後,當速度加法器612接收到修正增量△V’時,將現在速度數值Vc與修正增量△V’疊加之後成為疊加速度數值Va並傳送至速度限制器614。 Thereafter, when the speed adder 612 receives the correction increment ΔV', it superimposes the current speed value Vc and the correction increment ΔV' to become the superimposition speed value Va and transmits it to the speed limiter 614.
再者,每經過一插捕周期(τ)後,速度限制器614判斷目標速度數值Vt與疊加速度數值Va之間的關係。當疊加速度數值Va尚未到達目標速度數值Vt時,速度限制器614會將疊加速度數值Va作為現在速度數值Vc並輸出。當疊加速度數值Va到達目標速度數值Vt時,速度限制器614會將疊加速度數值Va作為現在速度數值Vc並且不再改變現在速度數值Vc。 Furthermore, the speed limiter 614 determines the relationship between the target speed value Vt and the superimposition speed value Va after each insertion period (τ). When the superimposition speed value Va has not reached the target speed value Vt, the speed limiter 614 will output the superimposition speed value Va as the current speed value Vc. When the superimposed speed value Va reaches the target speed value Vt, the speed limiter 614 takes the superimposed speed value Va as the current speed value Vc and no longer changes the current speed value Vc.
再者,當速度加法器612再次接收到更新的增量△V與目標速度數值Vt用以啟動下一區段時,現在速度數值Vc即為前一區段的目標速度數值Vt,並且再次重複上述的流程。 Furthermore, when the speed adder 612 receives the updated increment ΔV and the target speed value Vt again to start the next segment, the current speed value Vc is the target speed value Vt of the previous segment, and is repeated again. The above process.
由以上之說明可知,當速度疊加電路310每次接收到修正增量△V’與目標速度數值Vt時,速度疊加電路310會逐漸地改變現在速度數值Vc直到現在速度數值Vc等於目標速度數值Vt為止。換言之,由於權重對照表提供的權重為一個時變(time variant)的數值,所以使得現在速度數值Vc並以非以固定的增量在改變。 As can be seen from the above description, when the speed superimposing circuit 310 receives the correction increment ΔV' and the target speed value Vt each time, the speed superimposing circuit 310 gradually changes the current speed value Vc until the current speed value Vc is equal to the target speed value Vt. until. In other words, since the weight provided by the weight comparison table is a time variant value, the current speed value Vc is now changed in a non-fixed increment.
當然,如果將權重對照表618中的多個權重設定為完全相同的一個定值(例如W1~Wi皆設定為1),則第6圖的速度疊加電路310與第4B圖的速度疊加電路310會產生完全相同的 結果。 Of course, if the weights in the weight comparison table 618 are set to exactly one fixed value (for example, both W1 and Wi are set to 1), the speed superposition circuit 310 of FIG. 6 and the speed superposition circuit 310 of FIG. 4B are used. Will produce exactly the same result.
請參照第7A圖,其所繪示為本發明運用於伺服馬達系統之另一控制方法。其中,此控制方法運用於第3圖所示之控制裝置300,且控制裝置300中會持續地根據現在速度數值Vc來產生脈衝調變信號PWM並決定脈衝調變信號PWM的頻率,而產生的脈衝調變信號PWM會傳遞至伺服馬達系統360。 Please refer to FIG. 7A, which illustrates another control method applied to the servo motor system of the present invention. Wherein, the control method is applied to the control device 300 shown in FIG. 3, and the control device 300 continuously generates the pulse modulation signal PWM according to the current speed value Vc and determines the frequency of the pulse modulation signal PWM. The pulse modulation signal PWM is passed to the servo motor system 360.
首先,當一個區段開始(步驟S701)時,接收目標速度數值Vt、增量△V、預設脈衝數目Nd(步驟S702)。接著,設定現在速度數值Vc等於前一區段的目標速度數值(步驟S703)。 First, when a sector starts (step S701), the target speed value Vt, the increment ΔV, and the preset number of pulses Nd are received (step S702). Next, the current speed value Vc is set equal to the target speed value of the previous zone (step S703).
接著,判斷脈衝調變信號PWM是否已經產生Nd個脈衝(步驟704)。當脈衝調變信號PWM已經產生Nd個脈衝時,產生區段結束信號Nx(步驟707);反之,當脈衝調變信號PWM尚未產生Nd個脈衝時,再繼續判斷現在速度數值Vc是否到達目標速度數值Vt(步驟705)。 Next, it is judged whether or not the pulse modulation signal PWM has generated Nd pulses (step 704). When the pulse modulation signal PWM has generated Nd pulses, a segment end signal Nx is generated (step 707); conversely, when the pulse modulation signal PWM has not generated Nd pulses, it is determined whether the current velocity value Vc reaches the target speed. The value Vt (step 705).
當現在速度數值Vc已經到達目標速度數值Vt時,繼續執行步驟S704;反之,現在速度數值Vc尚未到達目標速度數值Vt時,於插補周期(τ)後,更新現在速度數值Vc為現在速度數值Vc加上增量△V乘以對應權重(步驟S704)後,繼續執行步驟S704。 When the current speed value Vc has reached the target speed value Vt, the process proceeds to step S704; otherwise, when the speed value Vc has not yet reached the target speed value Vt, after the interpolation period (τ), the current speed value Vc is updated to the current speed value. After Vc plus the increment ΔV multiplied by the corresponding weight (step S704), step S704 is continued.
當區段參數儲存電路336接收到區段結束信號Nx後,即可繼續開始下一區段,並且再次執行一次第7A圖所示的步驟。 After the segment parameter storage circuit 336 receives the segment end signal Nx, the next segment can be continued, and the step shown in FIG. 7A is performed again.
請參照第7B圖,其所繪示為脈衝調變信號PWM頻率變化示意圖。假設前一區段的目標速度數值為1KHz,則設定現在速度數值Vc為1KHz,並且現在速度數值Vc會變化至目標速度數值Vt(30KHz)。再者,權重對照表618中的多個權重會依序由小變大並由大變小。換言之,修正增量△V’也會由小變大並由大變小。 Please refer to FIG. 7B, which is a schematic diagram of the PWM frequency change of the pulse modulation signal. Assuming that the target speed value of the previous section is 1 kHz, the current speed value Vc is set to 1 kHz, and the current speed value Vc is changed to the target speed value Vt (30 kHz). Furthermore, the weights in the weight comparison table 618 will gradually increase from small to large and from large to small. In other words, the correction increment ΔV' will also become smaller from small to large and smaller.
明顯地,由第7B圖可知,由於現在速度數值Vc每 次的變化並非為一個固定值的增量△V,將使得伺服馬達在運作的過程中更穩定。 Obviously, as can be seen from Figure 7B, since the current speed value Vc per The second change is not a fixed value increment ΔV, which will make the servo motor more stable during operation.
同理,由於第7B圖中,所有方形的面積加總即為脈衝調變信號PWM的脈衝數。因此,於10.5ms附近時,脈衝調變信號PWM產生Nd個(1000個)脈衝,代表伺服馬達已經到達該區段所設定的位置,所以可以產生區段結束信號Nx至區段參數儲存電路336用以啟動下一區段。 Similarly, since the area of all the squares in Fig. 7B is the pulse number of the pulse modulation signal PWM. Therefore, when around 10.5 ms, the pulse modulation signal PWM generates Nd (1000) pulses, indicating that the servo motor has reached the position set by the segment, so the segment end signal Nx can be generated to the segment parameter storage circuit 336. Used to start the next section.
由以上的說明可知,本發明提出一種運用於伺服馬達系統之控制裝置與相關方法。其利用多個區段參數來產生脈衝調變信號PWM作為a1信號,而根據區段參數中的方向信號Dir即可產生正反轉的a2信號,並成為單一脈衝方向指令脈衝,用以控制伺服馬達系統的運作。當然,利用第3圖之概念,也可以製造出一對脈衝調變信號PWM,作為A/B相位指令脈衝或者順逆時鐘轉動指令脈衝來控制伺服馬達系統的運作。 As apparent from the above description, the present invention proposes a control device and related method applied to a servo motor system. It uses a plurality of segment parameters to generate a pulse modulation signal PWM as the a1 signal, and generates a positive and negative a2 signal according to the direction signal Dir in the segment parameter, and becomes a single pulse direction command pulse for controlling the servo. The operation of the motor system. Of course, using the concept of FIG. 3, it is also possible to manufacture a pair of pulse modulation signals PWM to control the operation of the servo motor system as an A/B phase command pulse or a forward clock rotation command pulse.
再者,根據第4A圖之說明,區段參數儲存電路336係由低區段往高區段來逐次輸出區段參數。然而,本發明並不限定於此,在此領域的技術人員也可以提供更多欄位用以編程(program)區段參數儲存電路輸出區段參數的次序。以下以一個實際的範例來詳細說明之:請參照第8圖,其所繪示為另一區段參數儲存電路示意圖。區段參數儲存電路800中包括一記憶體用以儲存多組區段參數。每個區段的欄位包括:區段索引欄位(index)、區段切換管理欄位(SSM)、區段跳越指示欄位(Jump ptr)、目標速度數值欄位(Vt)、增量欄位(△V)、預設脈衝數目欄位(Nd)、方向信號欄位(Dir)。區段切換管理欄位(SSM)係用來控制區段指標(segment point、seg_ptr)的動作。其中,“0”代表區段數目加1(increase)、“1”代表區段數目減1(decrease)、“2”代表區段跳越(jump)、“3”代表區段結束(stop)。 Furthermore, according to the description of FIG. 4A, the segment parameter storage circuit 336 sequentially outputs the segment parameters from the low segment to the high segment. However, the present invention is not limited thereto, and those skilled in the art may also provide more fields for programming the order in which the section parameter storage circuit outputs section parameters. The following is a detailed example of a practical example: Please refer to FIG. 8 , which is a schematic diagram of another segment parameter storage circuit. The segment parameter storage circuit 800 includes a memory for storing a plurality of sets of segment parameters. The fields of each section include: section index field (index), section switching management field (SSM), section skip indicator field (Jump ptr), target speed value field (Vt), increase Quantity field (△V), preset pulse number field (Nd), direction signal field (Dir). The section switch management field (SSM) is used to control the action of the segment point (seg_ptr). Where "0" represents the number of segments plus 1 (increase), "1" represents the number of segments minus 1 (decrease), "2" represents segment skip (jump), and "3" represents segment end (stop) .
如第8圖所示,於初始狀態(initial state)時,初始速 度為零,並且區段指標seg_ptr指向(point to)區段0。此時,區段參數儲存電路800輸出區段0的目標速度Vt(100Hz)、增量△V(+10Hz)、預設脈衝數目Nd(100)、與方向信號Dir(0)。亦即,脈衝調變信號PWM由0Hz開始,每經過一個插補週期τ後,頻率會增加一個增量(△V=+10Hz)直到到達目標速度(Vt=100Hz)為止。並且,方向信號為0,代表控制伺服馬達往第一方向旋轉。當脈衝調變信號PWM產生100個脈衝數目時,區段參數儲存電路800會接收到區段結束信號Nx。 As shown in Figure 8, in the initial state, the initial velocity The degree is zero and the segment indicator seg_ptr points to segment 0. At this time, the segment parameter storage circuit 800 outputs the target velocity Vt (100 Hz) of the segment 0, the increment ΔV (+10 Hz), the preset pulse number Nd (100), and the direction signal Dir (0). That is, the pulse modulation signal PWM starts from 0 Hz, and after each interpolation period τ, the frequency is increased by one increment (ΔV=+10 Hz) until the target speed (Vt=100 Hz) is reached. Moreover, the direction signal is 0, which means that the servo motor is controlled to rotate in the first direction. When the pulse modulation signal PWM generates 100 pulses, the segment parameter storage circuit 800 receives the segment end signal Nx.
再者,由於區段0中,區段切換管理欄位(SSM)的設定為“0”代表區段數目加1。因此,如S1所示,當區段參數儲存電路800接收到區段結束信號Nx時,區段指標seg_ptr會指向區段1。此時,區段參數儲存電路800輸出區段1的目標速度Vt(120Hz)、增量△V(+5Hz)、預設脈衝數目Nd(300)、與方向信號Dir(0)。亦即,脈衝調變信號PWM由100Hz開始,每經過一個插補週期τ後,頻率會增加一個增量(△V=+5Hz)直到到達目標速度(Vt=120Hz)為止。並且,方向信號為0,代表控制伺服馬達往第一方向旋轉。當脈衝調變信號PWM產生300個脈衝數目時,區段參數儲存電路800會接收到區段結束信號Nx。 Furthermore, since the section switching management field (SSM) is set to "0" in the sector 0, the number of sections is incremented by one. Therefore, as indicated by S1, when the segment parameter storage circuit 800 receives the segment end signal Nx, the segment index seg_ptr points to the segment 1. At this time, the segment parameter storage circuit 800 outputs the target velocity Vt (120 Hz), the increment ΔV (+5 Hz), the preset pulse number Nd (300), and the direction signal Dir (0) of the segment 1. That is, the pulse modulation signal PWM starts from 100 Hz, and after each interpolation period τ, the frequency is increased by one increment (ΔV=+5 Hz) until the target speed (Vt=120 Hz) is reached. Moreover, the direction signal is 0, which means that the servo motor is controlled to rotate in the first direction. When the pulse modulation signal PWM generates 300 pulses, the segment parameter storage circuit 800 receives the segment end signal Nx.
再者,由於區段1中,區段切換管理欄位(SSM)的設定為“2”代表區段數跳越,且區段跳越指示欄位(Jump ptr)指示區段5。因此,如S2所示,當區段參數儲存電路800接收到區段結束信號Nx時,區段指標seg_ptr會指向區段5。此時,區段參數儲存電路800輸出區段5的目標速度Vt(10Hz)、增量△V(-5Hz)、預設脈衝數目Nd(300)、與方向信號Dir(1)。亦即,脈衝調變信號PWM由120Hz開始,每經過一個插補週期τ後,頻率會減少一個增量(△V=-5Hz)直到到達目標速度(Vt=10Hz)為止。並且,方向信號為1,代表控制伺服馬達往第二方向旋轉。當脈衝調變信號PWM產生300個脈衝數目時,區段參數儲存電路800會接收到區段結束信號Nx。 Furthermore, since the segment switching management field (SSM) is set to "2" in the segment 1, the segment number skips, and the segment skip indicator field (Jump ptr) indicates the segment 5. Therefore, as indicated by S2, when the segment parameter storage circuit 800 receives the segment end signal Nx, the segment index seg_ptr points to the segment 5. At this time, the section parameter storage circuit 800 outputs the target speed Vt (10 Hz) of the section 5, the increment ΔV (-5 Hz), the preset number of pulses Nd (300), and the direction signal Dir (1). That is, the pulse modulation signal PWM starts from 120 Hz, and after each interpolation period τ, the frequency is reduced by one increment (ΔV=-5 Hz) until the target speed (Vt=10 Hz) is reached. Moreover, the direction signal is 1, which means that the servo motor is controlled to rotate in the second direction. When the pulse modulation signal PWM generates 300 pulses, the segment parameter storage circuit 800 receives the segment end signal Nx.
再者,由於區段5中,區段切換管理欄位(SSM)的設定為“1”代表區段數目減1。因此,如S3所示,當區段參數儲存電路800接收到區段結束信號Nx時,區段指標seg_ptr會指向區段4。此時,區段參數儲存電路800輸出區段4的目標速度Vt(0Hz)、增量△V(-2Hz)、預設脈衝數目Nd(100)、與方向信號Dir(1)。亦即,脈衝調變信號PWM由10Hz開始,每經過一個插補週期τ後,頻率會減少一個增量(△V=-2Hz)直到到達目標速度(Vt=0Hz)為止。並且,方向信號為1,代表控制伺服馬達往第二方向旋轉。當脈衝調變信號PWM產生100個脈衝數目時,區段參數儲存電路800會接收到區段結束信號Nx。 Furthermore, since the section switching management field (SSM) is set to "1" in the section 5, the number of sections is decremented by one. Therefore, as indicated by S3, when the segment parameter storage circuit 800 receives the segment end signal Nx, the segment index seg_ptr points to the segment 4. At this time, the segment parameter storage circuit 800 outputs the target velocity Vt (0 Hz) of the segment 4, the increment ΔV (-2 Hz), the preset pulse number Nd (100), and the direction signal Dir (1). That is, the pulse modulation signal PWM starts from 10 Hz, and after each interpolation period τ, the frequency is reduced by one increment (ΔV = -2 Hz) until the target speed (Vt = 0 Hz) is reached. Moreover, the direction signal is 1, which means that the servo motor is controlled to rotate in the second direction. When the pulse modulation signal PWM generates 100 pulses, the segment parameter storage circuit 800 receives the segment end signal Nx.
再者,由於區段4中,區段切換管理欄位(SSM)的設定為“3”代表區段結束。因此,當區段參數儲存電路800接收到區段結束信號Nx時,即結束整個控制流程。 Furthermore, since the section switching management field (SSM) is set to "3" in the section 4, the section ends. Therefore, when the segment parameter storage circuit 800 receives the segment end signal Nx, the entire control flow is ended.
由第8圖的的說明可知,區段參數儲存電路800可以由使用者來設定,並根據任意的區段輸出次序來輸出區段參數。 As can be seen from the description of FIG. 8, the segment parameter storage circuit 800 can be set by the user and output the segment parameters according to an arbitrary segment output order.
綜上所述,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。 In conclusion, the present invention has been disclosed in the above preferred embodiments, and is not intended to limit the present invention. A person skilled in the art can make various changes and modifications without departing from the spirit and scope of the invention. Therefore, the scope of the invention is defined by the scope of the appended claims.
300‧‧‧控制裝置 300‧‧‧Control device
310‧‧‧速度疊加電路 310‧‧‧Speed superposition circuit
320‧‧‧速度轉換電路 320‧‧‧Speed conversion circuit
330‧‧‧區段控制電路 330‧‧‧ Section Control Circuit
332‧‧‧脈衝比較電路 332‧‧‧Pulse comparison circuit
336‧‧‧區段參數儲存電路 336‧‧‧section parameter storage circuit
360‧‧‧伺服馬達系統 360‧‧‧Servo motor system
Claims (19)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104128960A TWI586094B (en) | 2015-09-02 | 2015-09-02 | Control apparatus and associated method applied to servo motor system |
US14/973,013 US10379526B2 (en) | 2015-09-02 | 2015-12-17 | Control device and control method for servo motor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104128960A TWI586094B (en) | 2015-09-02 | 2015-09-02 | Control apparatus and associated method applied to servo motor system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201711368A TW201711368A (en) | 2017-03-16 |
TWI586094B true TWI586094B (en) | 2017-06-01 |
Family
ID=58103938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104128960A TWI586094B (en) | 2015-09-02 | 2015-09-02 | Control apparatus and associated method applied to servo motor system |
Country Status (2)
Country | Link |
---|---|
US (1) | US10379526B2 (en) |
TW (1) | TWI586094B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI673950B (en) * | 2018-10-16 | 2019-10-01 | 普誠科技股份有限公司 | Motor cotrol device and motor cotrol method |
CN109831185A (en) * | 2018-12-25 | 2019-05-31 | 无锡信捷电气股份有限公司 | Modulate the method and device of multistage PLC pulse |
CN110825033B (en) * | 2019-11-15 | 2021-06-15 | 中国科学院长春光学精密机械与物理研究所 | Servo control system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW518585B (en) * | 2000-08-26 | 2003-01-21 | Samsung Electronics Co Ltd | Apparatus and method of compensating for disturbance using learning control in optical recording/reproducing apparatus and optical recording medium drive servo system using the apparatus and method |
US20080111514A1 (en) * | 2004-01-28 | 2008-05-15 | Kabushiki Kaisha Yaskawa Denki | Servo Control Apparatus |
TWI308819B (en) * | 2006-06-09 | 2009-04-11 | Delta Electronics Inc | Three-in-one ac servo drive |
TW200938974A (en) * | 2008-03-10 | 2009-09-16 | Yu-Chung Yang | Servo control apparatus and method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW486855B (en) | 2000-10-05 | 2002-05-11 | Ind Tech Res Inst | Method and device for controlling the acceleration and deceleration of pulse command |
TW591878B (en) | 2003-02-27 | 2004-06-11 | Univ Nat Taiwan Science Tech | Method and apparatus of motor pulse command control |
JP2007207374A (en) * | 2006-02-03 | 2007-08-16 | Fujitsu Ltd | Storage device, spindle motor control method, and program |
JP4379443B2 (en) * | 2006-07-25 | 2009-12-09 | セイコーエプソン株式会社 | Printer and printer control method |
US7979158B2 (en) | 2007-07-31 | 2011-07-12 | Rockwell Automation Technologies, Inc. | Blending algorithm for trajectory planning |
TWI337563B (en) | 2008-07-04 | 2011-02-21 | Foxnum Technology Co Ltd | Acceleration/deceleration control apparatus and method thereof |
JP6429453B2 (en) * | 2013-11-26 | 2018-11-28 | キヤノン株式会社 | Motor control apparatus and image forming apparatus |
-
2015
- 2015-09-02 TW TW104128960A patent/TWI586094B/en active
- 2015-12-17 US US14/973,013 patent/US10379526B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW518585B (en) * | 2000-08-26 | 2003-01-21 | Samsung Electronics Co Ltd | Apparatus and method of compensating for disturbance using learning control in optical recording/reproducing apparatus and optical recording medium drive servo system using the apparatus and method |
US20080111514A1 (en) * | 2004-01-28 | 2008-05-15 | Kabushiki Kaisha Yaskawa Denki | Servo Control Apparatus |
TWI308819B (en) * | 2006-06-09 | 2009-04-11 | Delta Electronics Inc | Three-in-one ac servo drive |
TW200938974A (en) * | 2008-03-10 | 2009-09-16 | Yu-Chung Yang | Servo control apparatus and method |
Also Published As
Publication number | Publication date |
---|---|
US10379526B2 (en) | 2019-08-13 |
TW201711368A (en) | 2017-03-16 |
US20170060119A1 (en) | 2017-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI586094B (en) | Control apparatus and associated method applied to servo motor system | |
JP5269158B2 (en) | Control method and control apparatus | |
EP1586158A2 (en) | Electric motor controller | |
JP6921616B2 (en) | Controls, optics, control methods, and programs | |
JP2010079845A (en) | Numerical control device | |
JP2009037617A (en) | Position measuring device and method for transmitting movement information | |
KR102005297B1 (en) | Method of controlling encoder principle axis speed synchronization | |
US6949905B2 (en) | Servo control system and method of setting | |
US20180262153A1 (en) | Motor control system | |
JP2010187506A (en) | Control device for rotary electric machine | |
JP5025395B2 (en) | Method for adjusting initial position of position detector and motor drive device using this method | |
KR101725770B1 (en) | Brushless dc motor controlling apparatus and controlling method | |
CN106547291B (en) | Apply to the control device and control method of servomotor control system | |
JPH027276B2 (en) | ||
KR900000495B1 (en) | Servo system | |
JP2018011434A (en) | Motor control circuit and motor control method | |
JP5946359B2 (en) | Motor control device and motor control method | |
JP2005098735A (en) | Position-detecting means and position control means using the same | |
KR20190114688A (en) | Motor driving apparatus and method | |
JP7209173B2 (en) | motor controller | |
JP2021022963A (en) | Control device | |
JP7036127B2 (en) | Command generator and command generation method | |
JP2018040757A (en) | Motor speed detection method and motor speed control method | |
JP2016187299A (en) | Motor control device and motor control method | |
KR100300131B1 (en) | velocity control system and velocity command generating method for motor |