|
还在用L9110/L298N吗?还在苦于蛋疼的驱动能力吗?还在担心7.4v电压不够劲爆吗?
现在拨打电话,不要998,也不要99.8,只要九块八,高压大电流电调带回家!
另外笔者纯属业余玩票,行文可能有疏漏与错误之处,还望各位看官多多海涵与斧正。
下面开始正文
PART1:小菊花妈妈课堂之电调原理与选材篇
想抄作业的可以直接跳到PART2
所谓有刷电调,本质上就是个全桥或者叫H桥,由四个开关管和中间的电机组成,形如H,由此得名,可以控制流过电机的电流方向,从而可以控制电机转动的方向。
借图一张 在正常工作时,打开对角线上的两个管子来控制电流方向,通过pwm来控制电流大小。
可以用于模型/风扇/电动工具等等等等、实乃居家旅行杀人放火必备之神器。
本教程教你从原理到实物做一个低价高性能实用的高压大电流电调。
0X00:买买买
免责声明:所有图片中商家与笔者皆无利益关系,买便宜的就完事了。1.为了产生mos控制信号我们需要一颗单片机。
主控选用stm32F030F4,F0内核,无晶振跑48m主频,外设丰富,抗干扰稳定,全面吊打辣鸡死太惨。
买两块钱以内包邮的就行了。有追求的可以买原装进口。
共计2元
2.有源开关mos管
耐压和额定电流两倍于输出就差不多了,本例选这个
参数在满足电压电流以外主要看导通内阻,在电调这种开关频率很低的玩意里面主要的损耗是通态损耗,开关损耗可以忽略。
这个管子10v驱动电压的时候内阻只有6.5毫欧,不算特别小,但是考虑到电压和价格就还不错,追求大电流的可以选择别的牛管或者多并联几个。
另外额定电流不能只看结温25度的时候,那是管子厂商在最理想条件下测定的,就像是物理大题里面的无摩擦小滑块。
比较有参考性的是结温100度的数据。
共计3元
3.为了伺候mos还需要驱动
因为MOS管G极需要高于S极的电压来驱动,因此上管需要高于输入电源的电压来打开,本着多一事不如少一事的原则,采用现在很成熟的半桥自举驱动芯片来控制摸死管。
其原理就通过电容来提供一个浮动的电压来驱动高侧mos,选型主要注意耐压和驱动能力和有没有内置死区。
这颗半桥驱动主要就是便宜和内置死区控制可以防止上下管直通,1/1.5a的驱动能力推单个管子也没问题。
另外自举电容也就是C2必须用陶瓷电容,千万不能用电解电容,手册上为什么用电解电容我是不知道。
自举电容用16v1uf的mlcc足以应对大部分情况。自举二极管需要肖特基或者快恢复,耐压高于输入电压,不讲究的可以用4148。
共计4.5元
4.其他杂七杂八的元件计3元,PCB嘉立创打样5块包邮5片,一片一块钱,真实贴钱赚销量真是大快所有人心的大好事。
一份元器件成本共计8.5元钱,一张长江三峡就能搞定还能找一根小布丁。
0x01:其他你需要知道的事
1.电机驱动方式与能量流动方向
对于有刷电机来说,可以分为同步续流和非同步续流。电机线圈具有一定的电感,在上管关断的时候电感电流不能瞬间降到零,非同步续流时电感电流会通过常通的下管与另外一边的下管的体二极管继续流动。在大电流的时候体二极管压降0.6v损耗是很可观的,如果在上管关断的时候开通下管,这个体二极管相当于被几个毫欧的电阻短路,极大地降低了损耗。因此同步续流可以在重载的时候明显提高效率减少发热。
但是同步续流也会带来一个问题。从正常的工作状态下来看,h桥和同步整流buck降压拓扑基本一个意思,而同步整流buck拓扑中能量是可以双向流动的,能量反向流动就是同步整流boost,在h桥电路中表现就是当占空比从大变小的时候电路将会从电机中抽取能量送到输入端迫使电机减速,也就是电动车常说的再生制动。对于输入端是电池这种能吸收能量的比较理想的电压源来说还好,对于开关电源这种只能往外送能量的非理想电压源来说就有问题了。当电机惯性比较大的时候,减少占空比减速会在电调输入端也就是开关电源输出上产生一个很高的电压,击穿电容和别的半导体元件。因此我的代码里在控制程序里加了一段,上电的时候adc采集输入电压做了一个滞回比较,当输入端电压过高的时候切换成非同步整流,在提高效率的同时保护电调和电源。对于输入的电池的时候反充电流基本被吸收,就会全程工作在同步续流下。
另外-MOS管H桥在驱动的时候有一个需要注意的问题:那就是自举电容充电时间。由原理图可知自举电容在半桥中点电压比电源电压低的时候才能充电,也就是在下管开通,中点接近0v的时候。要维持上管导通,自举电容必须充电,由此可知占空比是不可能达到百分百的,我的代码里保守起见设定了95%的最大占空比。
2.逻辑真值问题
看手册可以得知EG2131,在输入逻辑信号 HIN 和LIN 不同时为“0”和不同时为“1”情况下,驱动器控制输出 HO、LO 同时为“0”上、下功率管同时关断;当输入逻辑信号 HIN、LIN 同时为“0”时,驱动器控制输出 HO 为“0”上管关断,LO 为“1”下管导通;当输入逻辑信号 HIN、LIN 同时为“1”时,驱动器控制输出 HO 为“1”上管导通,LO 为“0”下管关断。
由此可以列出控制真值表:
根据这个表就可以编写函数输出信号给mos驱动了
0x02:电路图与PCB设计
电路图如图,漏了一个换向按键和指示led和母线电压分压器。
布线先考虑功率级,大电流走线适当开窗堆锡。
母线大滤波电容不能少,有钱人可以买点大容量MLCC放在母线上。
G级驱动线不能太细,去耦电容紧靠ic。
我的pcb设计如下,左边电源右边电机,其中单片机上面那四个孔是swd下载接口,定义为GND 3V3 DIO CLK
0x03:码代码程序其实很简单。首先是分配引脚功能和初始化
初始化这种糙活交给STM32CUBE干就好了
两个半桥各需要两个pwm信号控制方向,两个adc分别采集电位器和母线电压,一个引脚输入采集按键信息
配置好adc、dma、时钟之后就可以生成工程文件
主要定义四个函数控制输出状态
具体代码在此不做分析,就基础的定时器运用。
程序主要实现几个功能:电位器控制电机刹车滑行调速、上电之后电位器不归0不运行、刹车一段时间后才允许按键换向、自动的过压保护。
基本使用方法就是上电检查电位器位置,不归零就亮灯卡死,检测到归零之后闪三下灭灯进入正常工作状况。旋转电位器依次刹车、滑行、低至高调速。电位器回零刹车一段时间后按一下按键led闪两下切换电机旋转方向。检测到电源过压会自动切换到非同步续流并且亮led。
功能看起来很复杂实际上用起来还挺简单。
工程文件最后会附下载,需要一个支持swd的调试器。
0x04:实物图
理论上来说这个东西电压可以上24v,电流30a,但是我没条件测试。大功率运行可能需要加散热器
一张pcb
加一点细节就完成了
实测某边的带载50w的时候的pwm波形
希望能给有需要的人一点帮助
next
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|