基于中颖SH79F081的电动自行车控制器设计摘要:方波驱动的无刷直流电机由于力矩大, 运行可靠, 在电动车控制器中广泛应用, 方波驱动最大的缺点在于换相时的电流突变引起的转矩脉动, 导致噪声较大, 但好的控制策略可以大大改善换相噪声. 电动车控制器设计的难点在于电流控制, 本文就电动车控制器设计的一些关键地方加以描述.关键词:电动车控制器直流无刷电机换相同步整流概述电动自行车上使用的电机普遍采用永磁直流电机. 所谓永磁电机, 是指电机线圈采用永磁体激磁, 不采用线圈激磁的方式. 这样就省去了激磁线圈工作时消耗的电能, 提高了电机机电转换效率, 这对使用车载有限能源的电动车来讲, 可以降低行驶电流, 延长续行里程.永磁直流电机按照电机的通电形式来分, 可分为有刷电机和无刷电机两大类, 有刷电机由于采用机械换相装置导致可靠性和寿命降低, 因此逐渐退出电动车市场.无刷电机又可分为有传感器和无传感器两类, 对于无位置传感器的无刷电机, 必须要先将车用脚蹬起来, 等电机具有一定的旋转速度以后, 控制器才能识别到无刷电机的相位, 然后控制器才能对电机供电. 由于无位置传感器无刷电机不能实现零速度启动, 所以现在生产的电动车上用得较少. 目前电动车行业内使用的无刷电机, 普遍采用有位置传感器无刷电机.有位置传感器永磁直流无刷电机按照内部传感器的安装位置不同, 又可分为60度电机和120度电机. 在120°的霍尔信号中, 不可能出现二进制000和111的编码,所以在一定程度上避免了因霍尔零件故障而导致的误操作. 因为霍尔组件是开漏输出, 高电平依靠电路上的上拉电阻提供, 一旦霍尔零件断电, 霍尔信号输出就是111. 一旦霍尔零件短路, 霍尔信号输出就是000, 而60°的霍尔信号在正常工作时这两种信号均会出现, 所以一定程度上影响了软件判断故障的准确率. 因此目前市面马达已经逐渐舍弃60°相位的霍尔排列.2. 永磁直流电机基本原理2.1. 主回路电路1.图中ABC 表示电机的3相绕组, 采用星形接法,V1~V6表示功率场效应管, 如果将V1~V6用如下的时序波形驱动, 则3相绕组会按照AB-AC-BC-BA-CA-CB 顺序通电(AB表示电流由A 相流向B 相, 产生一个旋转的磁场, 牵引外转子(永磁体旋转.导通顺序3. 电动车控制器功能要求功能性要求:1. 电子换相2. 无级调速3. 刹车断电4. 附加功能A. 限速B. 1+1助力C. EBS 柔性电磁刹车D. 定速巡航E. 其它功能(消除换相噪音, 倒车等安全性要求:1. 限流驱动2. 过流保护3. 堵转保护4. 电池欠压保护5. 降低温升6. 附加功能(防盗锁死, 温升限制等7. 附加故障检测功能从上面的要求来看, 功能性要求和安全性要求的前三项用专用控制芯片用加上适当的外围电路均不难解决, 代表芯片是摩托罗拉的MC33035, 早期的控制器方案均用该集成块解决. 但后来随着竞争加剧, 很多厂商都增加了不少附加功能, 一些附加功能用硬件来实现就比较困难, 所以使用单片机来做控制的控制器迅速取代了纯硬件的专用控制芯片.但是硬件控制和软件控制有很大的区别, 硬件控制的反应速度仅仅受限于逻辑门的开关速度, 而软件的运行则需要指令执行时间. 要使软件跟得上电机控制的需求, 就必须要求软件在最短的时间内能够正确处理换相, 电流限制等各种复杂动作, 这就涉及到一个对外部信号的采样频率, 采样时机, 信号的内部处理判断及处理结果的输出, 还有一些抗干扰措施等, 这些都是软件设计中需要仔细考虑的东西.在本方案中, 我们采用了一颗集成PWM 发生器的8位单片机SH79F081, 采用优化的单机器周期8051内核, 内置16k Flash存储器, 兼容传统8051所有硬件资源, 采用JTAG 仿真方式, 内置16.6MHz 振荡器, 同时扩展了如下功能:9 双DPTR 指针. 16位 x 8乘法器和16位/8除法器.9 3通道带死区控制PWM,6路输出, 输出极性可设, 提供周期溢出功能9 集成故障检测功能, 可瞬时关闭PWM 输出.9 提供硬件抗干扰措施.9 集成高速10bit ADC.9 提供Flash 自编程功能, 可以模拟用做EEROM, 方便存储参数.这颗IC 由于CPU 运行速度和AD 采样速度都很快,PWM 功能强大, 硬件抗干扰功能多, 非常适合作电动车控制器.4. 软件实现下面我们挑选对控制器性能和安全比较重要的功能来讨论编程中应该注意的问题.减小换相噪声上文已提过, 无刷直流电动机方波驱动最大的缺点是换相时电流不能持续, 导致有转矩脉动, 因此衡量控制器好坏很大程度上是取决于换相是否能做好.在电动车刚刚起步的时候我们会发现换相时电机会发出很大的突突声, 这是由于电机起步时电流比较大, 而电机是个感性负载, 换相后由于电机线圈电流不会一下增大到换相前的水平, 这样就造成换相前后电流反差非常大, 从而导致牵引力的急剧变化, 这种变化便会引起电机强烈振动, 这种振动噪声不能完全消除, 但可以采取一些措施减小噪声方法1:在换相后的一段时间使PWM 脉冲占空比达到100%来使电流增长快一点, 从4.1.而减轻振动噪声. 需要提醒的是在这个过程中我们需要随时监测电流变化, 电流一达到换相前的水平就可以恢复换相前的PWM 占空比.方法2:延迟关闭换相MOS 管, 方波驱动直流无刷电机是6步驱动, 定子励磁每隔60度电角度跳跃一次, 保证定子磁动势方向和转子磁动势方向夹角在60°到120°之间运行, 因为夹角在90°时转动力矩最大, 夹角为0°或180°时没有转矩, 现假设电机正转,AB 导通要切换到AC 导通, 此时AB 绕组通电产生的定子磁势和转子磁势夹角为60°, 如果正常切换到AC 导通, 则AC 绕组通电后, 定子磁势和转子磁势夹角变为120°, 由于切换到AC 通电后电流要从0开始爬升, 因此此时定子磁势幅值很小, 导致转矩降低, 但如果此时不关闭B, 同时将下桥C 打开, 则定子磁势和转子磁势的夹角变为90°, 而且由于AB 相电流基本没有变化, 而C 相电流还很小, 因此换相前后转矩变化很小, 但要注意, 等C 相电流爬升后要将B 相关闭, 否则3相导通的合成力矩比2相导通力矩大, 也会发生转矩波动.电子刹车:电子刹车其实是将电动机当做发电机机运行, 因此会产生电磁制动转矩, 检测到电子刹车信号后,cpu 将上三路PWM 关闭, 将下三路同时打开, 占空比设为某一固定值, 这样, 电机相当于工作在发电机状态, 给蓄电池充电, 充电电流和下三路占空比有关, 占空比越大, 则充电电流越大, 剎车制动能力越强, 由于目前电动车上装配的电子剎车都是开关信号, 使用者无法调整剎车力矩, 完全由控制器决定, 不过由电动机的特性, 即使占空比固定, 电子剎车时转速越高, 发电机感生电压越高, 回馈充电能力越强, 剎车力矩越大, 当然, 最好是装配线性剎车传感器, 使用者会更方便. 4.2.恒流驱动电流信号经康铜丝采样之后分两路, 一路送至放大器, 一路送至比较器. 放大器用来实时放大电流信号, 放大倍数大约6.5倍, 放大后的信号提供给单片机进行AD 采样转换, 转换所得数字用来控制电流不超过我们所允许的值. 另一路信号送至比较器, 当电流突然由于某种原因大大超过允许值, 比如一只MOSFET 击穿或误导通时, 比较器翻转送出低电平, 送给79F081的FLT 引脚, 无需单片机执行程序,IC 硬件会自动关闭PWM 输出, 从而保护MOSFET 避免更大伤害.电流采样时间点很重要. 因为使用PWM 脉冲驱动, 这种脉冲驱动导致的直接结果是放大后的电流信号与PWM 脉冲频率相同, 相位上滞后一定时间的脉动电流波形, 这种波形如果没有经过滤波处理, 将会类似于一个梯形, 如果我们要获得准确的电流AD 转换值, 最好的办法就是在梯形波的上边中间采样电流信号, 这样所获得的电流AD 值才能较为准确地反应电流的实际大小. 在SH79F081中AD 转换的采样由ADCON 中的GO/DONE启动, 完成一次ADC 转换分为采样和保持两段时间, 采样时间内, 外部仿真输入信号将ADC 内部采样电容充满, 保持时间内,IC 内部逐次比较得出A/D结果. 在应用中ADC 采样的时间一般为2μS,而转换时间为12μS.AD 采样启动与PWM 中断同步, 进入PWM 中断处理城市后, 先执行一些PWM 事件的处理, 然后开启AD 采样, 这样采样点刚好落在电流梯形波的上边, 即使由于PWM 占空比很小时, 开启时间小于一次ADC 转换时间也没有影响, 只要保证大于采样时间即2μS4.3.即可,转换时间内即使外部输入仿真量变化了也不会影响 ADC 转换结果. 这样采样出来的结果实际上是 PWM 有效期间(为高时的电流,电流控制实际是控制平均电流.(FLT 短路保护是控制瞬态电流.因此需要乘上 PWM 占空比得到平均电流,因为理论上,PWM 周期内无效(低电平期间主回路上是没有电流的. 根据电流采样的结果来实时调整 PWM 的占空比,实现电流闭环,理论上电流闭环的时间常数可以做到一个 PWM 周期时间(60us 左右. 同步整流电机是电感性负载,采用 PWM 开关驱动,在功率管关断期间由于电流不能突变,必须要有续流回路,功率 MOSFET 一般内置有续流二极管,但是续流二极管压降在 1V 左右,而电动车工作电流可能达到 20A,此时续流二极管消耗的功率会很大,很容易导致发热烧毁. 因此必须另外提供续流回路.4.4. 我们知道功率 MOSFET,源级和漏级是可以互换的,因此可以将互补的桥臂驱动开启建立续流回路,从而大大降低功耗.但需注意,上桥在关断后,下桥不能立即开启来实现续流,而是需要插入一个死区时间以避免上下桥臂直通造成电源短路.79F081 有 6 路 pwm 输出,内部集成上下桥死区控制,因此实现同步续流非常方便.5. 总结采用上述方案做成的电动车控制器,无需外加门电路,CPU 执行速度和 ADC 转换速度都足够满足电流闭环速度要求,PWM 六路输出直接控制 3 相全控桥的 6 个晶体管.集成死区控制功能,因此很适合用在电动自行车控制器上, 此方案实际测试效果不错,目前已经量产. 附:方案原理图+15V +5V J14 1 J16 1 MOS_POWER J17 1 DIG_POWER J18 1 GND ? ? ? ? ?+48V_A +48V MCU_POWER J13 1 MCU_POWER J12 1 MCU_POWER J11 1MCU_POWER +5V +5V +5V J8 1 GND J15 1 GND J10 1 GND J4 1 J7 1 BK_H BREAK_HIGH ? ? ? ? ? ? BK_L BREAK_LOW +5V J22 1 DRIVER_POWER HAND R66 4.7K J6 1 ALARM J9 1 CRUISE 47uF/63V J5 1 EN_ABS ABS_ENABLE J21 1 CON1 HC PWM[0..5] AH R20 2k2 Q2 R21 2K2 S5551 D2 Q7 +15V D12 +48V_A R1 510/3W C1 1000uF/63V C2 0.1uF U1 LM317 3 Vin ADJ 1 R3 5.1K +5V R58 R59 R60 R61 C29 C30 C31 472 472 472 HA HB HC R47 R48 R49 R65 R50 1K 1K 1K 1K FAULT_IN C5 +5V C10 0.1uF C6 C7 C14 47uF/25V 0.1uF 0.1uF 0.1uF 1K 1K 1K ALARM 3.3K 3.3K 3.3K C18 R37 R55 1.8k PGND +5V 330K R56 C4 0.1uF 10K R38 LM358 U3B 6 7 5 PGND I_SAMPLE R42 1.2K R46 1K 3 + 2 C34 101 U3A 1 LM358 4 FAULT_IN 8 TMS TDI TCK DIR 60/120 +5V EN_ABS R51 CRUISE_SEL R52TDO/INT43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 IO[0..6] 100K IO[0..6] U2 28 27 26 25 24 23 22 21 20 19 18 17 16 15 R53 C8 0.1uF R4 5.1K 1K R62 CL BH AL BL AH CH P2.2P2.1 IO[0..6] R54 1K LED +5V 102 10K R43 20K R45 1K +5V J1 1 3 5 7 9 JTAG 2 4 6 8 10 IO[0..6] Q15 +15V TCK TDI TMS TDO/INT43 IO[0..6] R16 510 R35 2k2 R30 2k2 Q5 Q18 C21 102 R41 CL S8550 0.01 PGND 75NF75 D10 R17 510 IO[0..6] 47uF/63V CH R32 2k2 Q6 R33 2K2 S5551 S8550 D6 1N4148 R11 51 R40 10k 2.2K R44 20KBK_L BK_H C32 0.01uF R63 C33 0.01uF 2.2K INPUT[0..8] INPUT[0..8] M5PWM[0..5] S8550 PWM[0..5] Q16 C25 2k2 Q17 R34 75NF75 C22 102 D5 1N4148 R10 51 HAND I_SAMPLE C9 0.1uF R57 330K R25 2k2 D9 S5551 FS1M +48V C28 104 PGND +48V_A BL R24 2k2 Q3 +15V +5V Vout 2 R2 470 C12 47uF/25V C3 0.1uFC13 47uF/25V +15V R5 51 3 U4 78L05 Vin GND 2 Vout 1 IO[0..6] 1N4001 +5VIO[0..6] J24 4 3 2 1 C15 100uF/25V TEST TEST? ? S1 3 2 1 R64 +5V 2K LED R272K2 BH D11 DIR_SEL DIR 47uF/63V R26 2k2 Q4 S5551 D4 Q11 +15V R14 510 R29 Q14 2k2 S8550 C19 102 S8550 75NF75 1N4148 R9 51 R39 10k +5V TDO/INT43 P2.2 P2.1 J23 PWM[0..5] 7 6 5 4 3 2 1 PWM_TEST S8550 Q12 R15 510 C24 2k2 Q13 R28 75NF75 C20 102 AH BH CH AL BL CL AL R18 2k2 Q1 +15V R12 PWM[0..5] 2k2S8550 510 R23 Q10 C16 102 S8550 75NF75 1N4148 R7 51 R36 10k CRUISE_SEL ALARM J19 1 CON1 J20 1 CON1 HB PWM[0..5] R13 510 C23 2k2 Q9 HA Q8 S8550 R22 75NF75 C17 102 D1 1N4148 +15V INPUT[0..8] INPUT[0..8] D7 FS1M +48V M1 R6 51 C26 104 PGND A_Phase1 1 YELLOW S8550 M2 PGND R19 2k2 S5551 D8FS1M +48V M3 D3 1N4148 R8 51 C27 104 PGND B_Phase1 1 GREEN S8550 M4 INT43/AN4/P1.2 P0.2/AN0 INT42/AN5/P1.3 P0.3/AN1 INT41/AN6/P1.4 P0.4/AN2 INT40/AN7/P 1.5 P0.5/AN3 T0/P1.6 P0.6/T1 RST/P1.7 P0.7/INT1/P WM21XTAL1/P3.3 P2.5/P WM1 XTAL0/P3.4 P2.6/INT45/P WM01 VDDP2.7/INT46/PWM11 VSS P2.4/P WM0 T2EX/P3.2 P2.3/P WM2 T2/INT0/P3.1P2.2/MOSI/RXD FLT/SS/P3.0 P2.1/MISO/TXD C P2.0/SCK/BZ PGND SH79F081SOP C_Phase1 1 BLUE S8550 M6 C11 R31 0.1uF 2k2 S5551。