Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Brushless DC Motor Control with Drives & Control June 2003 A. Jansen 1 C868 and CAPCOM6 Agenda Basics of a BLDC Motor Topology BLDC Motor with Hall Sensors BLDC Motor with Hardware BEMF-Detection BLDC Motor Sensor less Control Switching Pattern for Driving a BLDC How to use the CAPCOM6E for a BLDC Introduction CAPCOM6E for BLDC purpose CAPCOM6E & ADC Drives & Control June 2003 A. Jansen 2 Electrical Motor Types Electric Motor types AC Asynchronous DC Synchronous Induction PMSM Drives & Control June 2003 A. Jansen 3 Synchronous Switched Rel. Stepper BLDC Basics Drives & Control June 2003 A. Jansen 4 Basics of a BLDC Motor + U V DC Motor with 3 Brushes W 3-Phase Brush-less DC Motor According to the theory of DC machine, the motor rotational speed can be written as follows: N = ( Ud - I R ) / (Ke ) While, Drives & Control June 2003 A. Jansen 5 “N” stands for the motor rotational speed “Ud” stands for the DC voltage applied to the motor windings “R” is the pure resistance of the winding while “I” stands for the winding current “Ke” is the magnet coefficient while “” stands for the motor magnetic flux From the above formula, there are two methods to change the speed of DC motor: One is to change the DC voltage of the motor windings (Ud), the other one is to change the magnetic flux of the motor (). As the BLDC motor has permanent magnet rotor, only the first method can be used in practical application. The principal of generating variable DC voltage is to use PWM for chopping: change the duty cycle of the PWM voltage, proportionally change the DC voltage. How an Inverter Turns a BLDC (1) 1 1 A C+ C’ B’ N 0 S B- C B A’ Drives & Control June 2003 A. Jansen 6 How an Inverter Turns a BLDC (2) 1 1 A C+ C’ B’ N 0 S B- C B A’ Drives & Control June 2003 A. Jansen 7 How an Inverter Turns a BLDC (3) 1>>0 1 A C+ C’ B’ N S 0 B- C B A’ Drives & Control June 2003 A. Jansen 8 How an Inverter Turns a BLDC (4) 0 1 A C+ C’ S N 0 B’ AC B A’ Drives & Control June 2003 A. Jansen 9 How an Inverter Turns a BLDC (5) 1>>0 0 A B+ B’ S C’ N 0 A- C B A’ Drives & Control June 2003 A. Jansen 10 How an Inverter Turns a BLDC (6) 1>>0 0 A B+ B’ C’ S 0 N A- C B A’ Drives & Control June 2003 A. Jansen 11 BLDC with Hall Sensors – Switching Pattern Typical Switching Pattern for a BLDC Hall Sequence depends on motor construction Output pattern levels depends on inverter topology Drives & Control June 2003 A. Jansen 12 BLDC with Hall Sensors Drives & Control June 2003 A. Jansen 13 BLDC with Hall Sensors -- Topology Typical Circuit Block Diagram Hall Sensors detect the position Over current protection and control via ADC V+ C868 HV Driver + - Drives & Control June 2003 A. Jansen 14 Motor Hall Sensor CTRAP CCPOS2 CCPOS1 CCPOS0 CC60 COUT60 CC61 COUT61 CC62 COUT62 Block Diagram CAPCOM6E for BLDC Usage capture channel 0 T12 T13 trap control compare channel 1 channel 2 compare channel 3 compare multi-channel control noise filter 2 2 2 3 1 port control Drives & Control June 2003 A. Jansen 15 CTRAP CCPOS2 CCPOS1 CCPOS0 CC62 COUT62 CC61 COUT61 CC60 COUT60 capture/compare input / output control Usage of CAPCOM6E to Control a BLDC (1) BEMF-Detection/Hall Signals HW-noise filter on CCPOSx inputs (BEMF-signals) CC60 act. speed CC61 phase delay CC62 A. Jansen 16 ch2 compare for timeout Capture Event Resets T12 CCPOS0 1 1 1 0 0 CCPOS1 0 0 1 1 1 CCPOS2 1 0 0 0 1 CC6x June 2003 ch1 compare for phase delay timeout Hardware Noise Suppression Drives & Control ch0 gets captured value for act. speed COUT6y 0 1 1 Usage of CAPCOM6E to Control a BLDC (2) BEMF-Detection/Hall Signals HW-noise filter on CCPOSx inputs (BEMF-signals) automatic reset of T12 with interrupt actual speed by capture ch0 CC60 act. speed CC61 phase delay CC62 June 2003 A. Jansen 17 ch1 compare for phase delay timeout Hardware Noise Suppression ch2 compare for timeout Capture Event Resets T12 CCPOS0 1 1 1 0 0 CCPOS1 0 0 1 1 1 CCPOS2 1 0 0 0 1 CC6x Drives & Control ch0 gets captured value for act. speed COUT6y 0 1 1 Usage of CAPCOM6E to Control a BLDC (3) BEMF-Detection/Hall Signals HW-noise filter on CCPOSx inputs (BEMF-signals) automatic reset of T12 with interrupt actual speed by capture ch0 phase delay function on ch1 CC60 act. speed CC61 phase delay CC62 June 2003 A. Jansen 18 ch1 compare for phase delay timeout Hardware Noise Suppression ch2 compare for timeout Capture Event Resets T12 CCPOS0 1 1 1 0 0 CCPOS1 0 0 1 1 1 CCPOS2 1 0 0 0 1 CC6x Drives & Control ch0 gets captured value for act. speed COUT6y 0 1 1 Usage of CAPCOM6E to Control a BLDC (4) BEMF-Detection/Hall Signals HW-noise filter on CCPOSx inputs (BEMF-signals) automatic reset of T12 with interrupt actual speed by capture ch0 phase delay function on ch1 time out function on ch2 CC60 act. speed CC61 phase delay CC62 June 2003 A. Jansen 19 ch1 compare for phase delay timeout Hardware Noise Suppression ch2 compare for timeout Capture Event Resets T12 CCPOS0 1 1 1 0 0 CCPOS1 0 0 1 1 1 CCPOS2 1 0 0 0 1 CC6x Drives & Control ch0 gets captured value for act. speed COUT6y 0 1 1 Usage of CAPCOM6E – Hall Sensor Mode (1) CCPOSx Inputs for Hallsensor Interface H2 1 1 0 H1 1 0 0 H0 0 0 0 start Dead Time Counter after edge detection Drives & Control June 2003 A. Jansen 20 MCMOUTSH / MCMOUTSL SW programmable state machine Hall n+1 n+2 Hall n n+1 ? ? Usage of CAPCOM6E – Hall Sensor Mode (2) CCPOSx Inputs edge detection triggers Dead Time Counter H2 1 1 0 H1 1 0 0 H0 0 0 0 MCMOUTSH / MCMOUTSL compare valid level after DTC count down Drives & Control June 2003 A. Jansen 21 compare CCPOSx level with programmed value Hall n+1 n+2 Hall n n+1 ? ? noise Correct expected Hall Event Usage of CAPCOM6E – Hall Sensor Mode (2) CCPOSx Inputs Drives & Control June 2003 A. Jansen 22 MCMOUTSH / MCMOUTSL switch to next state on valid edge by hardware H2 1 1 0 H1 1 0 0 H0 0 0 0 Hall n+1 n+2 Hall n+1 n+2 ? ! noise Correct expected Hall Event set CHE-flag Usage of CAPCOM6E – Hall Sensor Mode (3) CCPOSx Inputs MCMOUTSH / MCMOUTSL wait on edge prepare next state by software prepare next state H2 1 1 0 H1 1 0 0 H0 0 0 0 Hall n+2 n+3 Hall n+1 n+2 ? ? wait on edge Drives & Control June 2003 A. Jansen 23 Usage of CAPCOM6E – Modulation Control (some Choices) 1 T12.COUT0 1 MODT13out 1 1 T12.COUT0 1 MODT13out MCMOUTH.1 1 MCMOUTH.1 1 CTRAP# 0 CTRAP# 1 T12.COUT0 1 T12.COUT0 MODT13out A- A- 1 MCMOUTH.1 0 MCMOUTH.1 1 CTRAP# 1 CTRAP# T12.COUT0 MODT13out Drives & Control June 2003 A. Jansen 24 MODT13out 1 MCMOUTH.1 1 CTRAP# A- A- A- Usage of CAPCOM6E – Generate the PWM Pattern for BLDC H2 H1 1 0>0>0>1>1>0>0 T12.COUT2 H0 MODT13out C- MCMOUTH.5 1 CTRAP# 1 T12.CC2 1 1>1>0>0>0>0>1 1 1 MODT13out CTRAP# T12.COUT1 MODT13out 1>0>0>0>0>1>1 CTRAP# 1 T12.CC1 1 MODT13out 1 1 CTRAP# T12.COUT0 CTRAP# June 2003 1 T12.CC0 A. Jansen 1 MODT13out 25 0>0>0>0>1>1>0 1 A- MCMOUTH.1 1 Drives & Control B+ MCMOUTH.2 MODT13out 0>1>1>0>0>0>0 B- MCMOUTH.3 1 0>0>1>1>0>0>0 C+ MCMOUTH.4 MCMOUTH.0 CTRAP# A+ Usage of CAPCOM6E – Generate the PWM Pattern for BLDC H2 H1 1 0>0>0>1>1>0>0 1 T12.COUT2 H0 MODT13out C- MCMOUTH.5 CTRAP# 1 T12.CC2 1 MODT13out 1>1>0>0>0>0>1 1 CTRAP# 1 T12.COUT1 MODT13out 1>0>0>0>0>1>1 1 CTRAP# T12.CC1 1 MODT13out CTRAP# 1 T12.COUT0 MODT13out Drives & Control June 2003 A. Jansen 26 1 CTRAP# T12.CC0 1 MODT13out 1 A- MCMOUTH.1 1 0>0>0>0>1>1>0 B+ MCMOUTH.2 1 0>1>1>0>0>0>0 B- MCMOUTH.3 1 0>0>1>1>0>0>0 C+ MCMOUTH.4 MCMOUTH.0 CTRAP# A+ Usage of CAPCOM6E – Generate the PWM Pattern for BLDC H2 H1 1 0>0>0>1>1>0>0 1 T12.COUT2 H0 MODT13out C- MCMOUTH.5 CTRAP# 1 T12.CC2 1 MODT13out 1>1>0>0>0>0>1 MCMOUTH.4 1 CTRAP# 1 T12.COUT1 MODT13out 1>0>0>0>0>1>1 CTRAP# 1 T12.CC1 1 MODT13out CTRAP# 1 T12.COUT0 MODT13out Drives & Control June 2003 A. Jansen 27 CTRAP# 1 T12.CC0 1 MODT13out 1 A- MCMOUTH.1 1 0>0>0>0>1>1>0 B+ MCMOUTH.2 1 0>1>1>0>0>0>0 B- MCMOUTH.3 1 0>0>1>1>0>0>0 C+ MCMOUTH.0 CTRAP# A+ Usage of CAPCOM6E – Generate the PWM Pattern for BLDC H2 H1 1 0>0>0>1>1>0>0 T12.COUT2 H0 MODT13out C- MCMOUTH.5 1 CTRAP# 1 T12.CC2 1 1>1>0>0>0>0>1 1 1 MODT13out CTRAP# T12.COUT1 MODT13out 1>0>0>0>0>1>1 CTRAP# 1 T12.CC1 1 MODT13out 1 1 CTRAP# T12.COUT0 CTRAP# June 2003 1 T12.CC0 A. Jansen 1 MODT13out 28 0>0>0>0>1>1>0 1 A- MCMOUTH.1 1 Drives & Control B+ MCMOUTH.2 MODT13out 0>1>1>0>0>0>0 B- MCMOUTH.3 1 0>0>1>1>0>0>0 C+ MCMOUTH.4 MCMOUTH.0 CTRAP# A+ Usage of CAPCOM6E – Generate the PWM Pattern for BLDC H2 H1 1 0>0>0>1>1>0>0 1 T12.COUT2 H0 MODT13out C- MCMOUTH.5 CTRAP# 1 T12.CC2 1 MODT13out 1>1>0>0>0>0>1 MCMOUTH.4 1 CTRAP# 1 T12.COUT1 MODT13out 1>0>0>0>0>1>1 CTRAP# 1 T12.CC1 1 MODT13out CTRAP# 1 T12.COUT0 MODT13out Drives & Control June 2003 A. Jansen 29 CTRAP# 1 T12.CC0 1 MODT13out 1 A- MCMOUTH.1 1 0>0>0>0>1>1>0 B+ MCMOUTH.2 1 0>1>1>0>0>0>0 B- MCMOUTH.3 1 0>0>1>1>0>0>0 C+ MCMOUTH.0 CTRAP# A+ Usage of CAPCOM6E – Generate the PWM Pattern for BLDC H2 H1 1 0>0>0>1>1>0>0 1 1 1>1>0>0>0>0>1 1 T12.COUT2 H0 MODT13out C- MCMOUTH.5 CTRAP# T12.CC2 MODT13out C+ MCMOUTH.4 1 CTRAP# 1 T12.COUT1 MODT13out 1>0>0>0>0>1>1 1 MCMOUTH.3 CTRAP# 1 T12.CC1 1 MODT13out 0>0>1>1>0>0>0 CTRAP# 1 T12.COUT0 MODT13out Drives & Control June 2003 A. Jansen 30 CTRAP# 1 T12.CC0 1 MODT13out 1 A- MCMOUTH.1 1 0>0>0>0>1>1>0 B+ MCMOUTH.2 1 0>1>1>0>0>0>0 B- MCMOUTH.0 CTRAP# A+ Usage of CAPCOM6E – Modulation and Synchronization Correct Hall Event T13pm write by software 6 T12pm Reset T12om MCMPS MCMOUTSL Flag T12c1cm SW-Trigger no action T12zm T13zm MCMP direct 6 Drives & Control June 2003 A. Jansen 31 to modulation selection MCMOUTL Usage of CAPCOM6E – Modulation and Synchronization Correct Hall Event T13pm write by software 6 T12pm Reset T12om MCMPS MCMOUTSL Flag T12c1cm SW-Trigger no action T12zm T13zm MCMP direct 6 Drives & Control June 2003 A. Jansen 32 to modulation selection MCMOUTL Usage of CAPCOM6E – Modulation and Synchronization Correct Hall Event T13pm write by software 6 T12pm Reset T12om MCMPS MCMOUTSL Flag T12c1cm SW-Trigger no action T12zm T13zm MCMP direct 6 Drives & Control June 2003 A. Jansen 33 to modulation selection MCMOUTL Usage of CAPCOM6E – Modulation and Synchronization Correct Hall Event T13pm write by software 6 T12pm Reset T12om MCMPS MCMOUTSL Flag T12c1cm SW-Trigger no action T12zm T13zm MCMP direct 6 Drives & Control June 2003 A. Jansen 34 to modulation selection MCMOUTL Usage of CAPCOM6E to Control a BLDC (5) 1 MCMOUTSL A MCMOUTSH C+ 0 1 0 0 1 1 0 1 0 0 0 0 C’ 0 B’ N 0 1 1 0 MCMOUTL 0 0 1 1 0 1 0 MCMOUTH 0 S 0 B- C B A’ Drives & Control June 2003 A. Jansen 35 Usage of CAPCOM6E to Control a BLDC (6) 1>>0 MCMOUTSL A MCMOUTSH C+ 0 1 0 0 1 0 1 0 0 0 0 C’ 0 1 1 0 MCMOUTL 0 0 1 0 0 0 0 MCMOUTH 0 B’ N S 0 0 1 BC B A’ Drives & Control June 2003 A. Jansen 36 Usage of CAPCOM6E to Control a BLDC (7) 0 MCMOUTSL A MCMOUTSH C+ 0 1 0 0 1 0 0 0 0 0 0 C’ 1 1 0 0 MCMOUTL 1 0 1 0 0 0 0 MCMOUTH 0 B’ S N 0 0 1 AC B A’ Drives & Control June 2003 A. Jansen 37 Usage of CAPCOM6E to Control a BLDC (8) 0 MCMOUTSL A MCMOUTSH B+ 1 1 0 0 0 0 0 0 0 0 C’ 1 B’ S 0 1>>0 0 1 0 0 MCMOUTL 1 0 0 0 0 0 0 MCMOUTH 1 N 0 A- C B A’ Drives & Control June 2003 A. Jansen 38 BLDC Sensor less Drives & Control June 2003 A. Jansen 39 BLDC in Theory – Back Electro Magnetic Force Theory UP = (R x i) + (L x di/dt) + eP where "UP" "R" "i" "L" "di/dt" "eP" stands for phase voltage stands for winding resistance stands for actual phase current stands for phase inductance stands for changment of phase current over time stands for electromagnetic voltage caused by magnet while i = 0 and di/dt = 0: UP = eP by measuring UP a position detection is possible Drives & Control June 2003 A. Jansen 40 via 30° ia 120° vib ib BLDC in Reality (1) – BEMF vs. Current Real BEMF Voltage and Current: shape depends on magnets, motor speed, voltage ia via Drives & Control June 2003 A. Jansen 41 BLDC in Reality (2a) – BEMF vs. Current Zoom In: BEMF is only visible at active switching Phase Current BEMF Voltage Drives & Control June 2003 A. Jansen 42 BLDC in Reality (2b) – BEMF vs. Current V+ Current Commutation in a Coil Freewheeling diode conducts Motor Current Flow Phase Current GND V+ BEMF Voltage Motor Current Flow Freewheeling Diode Drives & Control June 2003 A. Jansen 43 GND BLDC in Reality (3) – All Important Signals BEMF Voltage Drives & Control June 2003 A. Jansen 44 Phase Current BLDC Sensor less with Hardware BEMF-Detection Typical Circuit Block Diagram Comparators and RC-Filter detect the BEMF zero crossing for position detection V+ C868 HV Driver + - Drives & Control June 2003 A. Jansen 45 Motor RC Filter CTRAP CCPOS2 CCPOS1 CCPOS0 CC60 COUT60 CC61 COUT61 CC62 COUT62 + + + virtual Star BLDC Sensor less Using ADC Typical Circuit Block Diagram Use simple resistor divider and ADC for position detection V+ C868 HV Driver CC60 COUT60 CC61 COUT61 CC62 COUT62 CTRAP AN2 AN1 AN0 + - Drives & Control June 2003 A. Jansen 46 Motor BEMF Detection CAPCOM6E & ADC Synchronize ADC on T13 T13 period match can trigger the ADC equidistant sampling of analog signals exact timing guaranteed by hardware no timing jitter due to software delays f(n+2) f(n-1) f(n) analog signal f(n+1) T13 start sampling by hardware Drives & Control June 2003 A. Jansen 47 ADC conversion channel 0 CAPCOM6E & ADC Synchronize T13 on T12 T13 performs delay for stable measurement T13 period match triggers ADC Useful for Current Measurement E.g. induction machine Compare value T12 synchronize T13 on T12cm T13 CC6x Phase Current x Drives & Control June 2003 A. Jansen 48 Start ADC when signal is stable after a programmable delay CAPCOM6E & ADC T13PM triggers ADC Delay between T13PM and high voltage switching event due to driving circuit Useful for Voltage or Current Measurement E.g. BEMF detection Sample shortly before power device is switched off (BEMF is noise free) T13 Modulation for Block-Commutation CC6x IGBT’s gate signal IGBT drain volt. Delay due to IGBT driving circuit BEMF signal Voltage signal at currentless phase for position detection Drives & Control June 2003 A. Jansen 49 Start ADC sampling CAPCOM6E & ADC T13PM triggers ADC Delay between T13PM and high voltage switching event due to driving circuit Useful for Voltage or Current Measurement E.g. Current in DC link path Sample shortly before power device is switched off (current is noise free) Drives & Control T13 Modulation for Block-Commutation CC6x IGBT’s gate signal IGBT drain volt. Delay due to IGBT driving circuit DC Link Current June 2003 A. Jansen 50 Start ADC sampling BLDC Sensor less Using ADC T13 used for Modulation ADC trigger CompareValue T12_ch1 T12 T12 used for Phase delay Software (for 60° sector) Drives & Control June 2003 A. Jansen 51 With every T13PM the BEMF voltage is sampled and compared to a BEMFwave table When crossing a limit the software generates a CHEevent (1) Speed reference is captured and phase delay for T12ch1 is calculated At T12ch1 the pattern for the next sector is switched (2) 1 2 T13 BEMF Voltage Phase C Analog CompareValue Current Phase C Current Phase A Measure BEMF-Voltage (Phase C) Measure DC-Link Current (Phase A) Measure Voltage (Phase B) BLDC Sensor less with Current Control T13 used for Modulation ADC trigger CompareValue T12_ch1 T12 T12 used for Phase delay Software (for 60° sector) With every T13PM the ADC alternatively samples BEMF voltage Phase current The current set value can be controlled by adjusting the PWM duty cycle Drives & Control June 2003 A. Jansen 52 2 1 T13 BEMF Voltage Phase C Analog CompareValue Current Phase C Control Current Value Current Phase A Measure DC-Link Current (Phase C) Measure DC-Link Current (Phase A) Measure BEMF Voltage (Phase C) Measure DC-Link Current (Phase A) Measure BEMF Voltage (Phase B) BLDC Sensor less Scope Shots Port pin toggles when BEMF is below limit Phase Current Drives & Control June 2003 A. Jansen 53 BEMF Voltage High Voltage 3-Phase Brushless DC / Induction Motor Reference Design and Development Kit Application: Line powered Industrial Drives Power: 750 W Current: max. 5 A AC Input Voltage: 110 to 264 VAC Features: Drives & Control June 2003 A. Jansen 54 8-bit MCU: C868 with on-chip 8 kB SRAM, with 8bit ADC and powerful PWM module CoolSet: TDA61831G instead of a transformer for 12V supply 6 rugged IGBT DuoPacks EEPROM: 8 kB to store program + stand alone boot option Optically Isolated Serial Interface to PC for SW development + boot from PC option Protection: shut down protection for over current and over temperature Extension for alternative MCU like XC164 or TC1775 SW environment: Keil Compiler + Debugger or Mini Debugger (free software) Board can be used for current/torque or speed control Supports Hall-Effect sensors or sensor-less control Low Voltage 3-Phase Brushless DC / Induction Motor Reference Design and Development Kit Application: Industrial & Automotive Drives Power: 1.2 kW Current: max. 50 A Voltage: 12 - 24 V DC Features: 8-bit MCU: C868 with on-chip 8 kB SRAM, with 8bit ADC and powerful PWM module 3-Phase Bridge Driver: TLE6280G 6 OptiMOS MOSFETs EEPROM: 8 kB to store program + stand alone boot option RS232: Interface to PC for SW development + boot from PC option Protection: shut down protection for over current and over temperature Extension for alternative MCU like XC164 SW environment: Keil Compiler + Debugger or Mini Debugger (free software) Board can be used for current/torque or speed control Supports Hall-Effect sensors or sensor-less control Drives & Control June 2003 A. Jansen 55