|
无刷直流电机(BLDC)速度和位置控制 实验装置
PS4操纵杆是同时操纵多个变量的好方法,适合于实验。 这里的Raspberry pi 不用于BLDC控制,而是作为操纵杆接口,因为它的开发环境更适合编程。 虽然RF节点板内置了USB,但USB软件集成和使用内存非常复杂,因此UART仍需要时间来实验。一个USB到UART的接口降低了难度。 RFPIO板 用于伺服电机控制,而不是BLDC,但它也可以是BLDC实验平台,因为它引出了PWM输出并具有无线连接。 无线电连接在这里用处不大,但它实际上可以有效隔离开PC和电机。不过这里没有优势,只是因为电源已经调节了电流。 安全注意事项: 使用普通电池是危险的,可能会导致试验台着火。需要使用保险丝、限流电源和可靠的控制器。 廉价的逻辑分析仪与Saleae Logic SW配合使用,这是一种非常好且经济实惠的分析组合。 L6234D使用了一个商用模块,但是这个模块没有提供太多功能选项,因为所有功能都连接在一起而且没有感应电阻。所以这只能在开路电压回路中进行控制。 演示视频 这个演示中有趣的部分不是bldc的转动 而是: 在不同的环境中整合如此多的小程序系统 通过直接操纵多个变量并在逻辑分析仪上看到脉冲,人们可以感觉到BLDC电机是如何工作的 开环控制下 BLDC =步进电机 可以只改变线圈中的电压,而不考虑转子的位置。 如果电压不足以应对扭矩,这肯定会丢步。就像BLDC中的每一步都很大,丢步会造成的问题,并且不会被忽视。 解决办法是增加电压,但是你浪费的能量不是扭矩而是流量,以保持电机的位置。 由于没有反电动势,当电机静止时,电流要高得多。 这里使用的BLDC电机以每秒几转的速度消耗大约50 mA,在7.2v的停止位置消耗高达180 mA。 控制参数 关于BLDC控制的每一个视频和图表都让我了解更多,尽管互联网上有大量的文档和教程,为什么不就此添加另一个简单的视图。
在进入下一个电角度位置之前,速度受到了延迟的作用,请注意,最大命令更新频率要小于pwm信号频率,否则它是无效的(两者的比例不同)。 电压增加了脉冲宽度。虽然这里只显示了一个pwm信号,但是这三个信号都成比例地增加和减少它们的宽度脉冲。 从软件的角度来看,这个位置更简单,因为你只需按手指在触摸板上的移动比例增加或减少电角度。 每个角度的正弦曲线被用来定义相应电桥的脉冲宽度。 软件
所有的bldc的关键都在这里。这个角度被认为是一个整数,为了使它更简单,我甚至没有用一个单位来表示度数,而是用一个256 / 360的单位来表示,这样它就适合放在一个256的列表,并可以查找来存储。 在M3以72MHz运行的情况下,浮点的计算花费了7.2 us,而此处的查找函数仅为1 us左右,因此对于50 us的pwm周期= 20 KHz (最大控制刷新率)来说,这仍然是合适的。 请注意,从死区切换时间的角度来看,L6234D可以达到150 KHz。 我正在使用mbed - os作为开发环境。
这种开箱即用的配置和初始化很好。它为你做了一切,从cmsis HAL api调用到计算哪些引脚应该分配给哪些替代功能。 它配置了pwm模式,所有的堆栈都分配了操作符,这将带来从微秒到毫秒的功能时间。 这就是为什么你会看到寄存器的直接使用,这大约是一条指令。 信号
我们可以在逻辑分析仪上看到中心对齐的pwm信号。 请注意,频率显示为10 KHz,而不是上面提到的20 KHz,这是正确的,因为将两个脉冲粘在一起会将减少一半。 结论 一旦你同时控制了速度和电压,当电机失速和失步时,你会有更好的感觉,你可以抓住它,施加更高的电压,看看它何时克服了施加的扭矩。 这不是科学,但这是一种让你轻松处理其余公式的经验。 接下来的步骤是查看扭矩控制回路,然后可能是反电动势监测,为BLDC设计一个特定的扩展板,并思考面向现场的控制视频。 但是可以肯定的是,对于我的倒立摆移动机器人计划来说,这种控制已经足够了。 |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版