黄工无刷电机学习
直播中

挽你何用

10年用户 981经验值
擅长:电源/新能源 MEMS/传感技术
私信 关注
[问答]

如何使用Arduino UNO去控制航模无刷电调?

如何去写Arduinode代码程序?
如何使用Arduino UNO去控制航模无刷电调?

回帖(1)

李高胜

2021-7-20 11:21:31
前言
如何使用的Arduino UNO调学习航模无刷电
1.设备实验概览
实验设备所有游戏:
3s锂电池包,配XT60母头(125元)
好盈天行者电调(40A),配XT60公头,3.5mm香蕉头母头(50元)
SUNNYSKY无刷玻璃电机,KV980,3.5mm香蕉头公头(78元)
Arduino UNO(128元)
接线方式如下:
注意事项:
安全起见,在调试的时候将电池和电机断开连接,确定连接和程序正确的时候再接通电源;电机在任何时候不要安装航模的牵桨!
电调和电机之间的三相线可以任意顺序链接
电调的根信号线颜色分别为:
- 红色(+),接Arduino +5V
- 黑色(-),接Arduino GND
白色(PWM控制信号),接Arduino的任意~3PWM各自1
2.好盈电调控制
好盈电调所所需要的控制信号通常是频率为5Hz的PWM信号,通过占空比(或者说高时间)来控制“油”的大小,1ms高门为最低的“电调”(0%),2ms 识别高油门则为最高可识别的“油门”(100%)。另外
,在第一次调整时需要对电调进行增长,具体情况如下: :
0}#mermaid-svg-wOXymwuJFNCs7DMe .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-wOXymwuJFNCs7DMe .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-wOXymwuJFNCs7DMe :#333}#mermaid-svg-wOXymwuJFNCs7DMe .marker.cross{stroke:#333}:root { --mermaid-font-family: “trebuchet ms”, verdana, arial;} #mermaid-svg-wOXymwuJFNCs7DMe { color: RGBA(0, 0, 0, 0.75); 字体:} 根{ --mermaid-font-family: “trebuchet ms”, verdana, arial;} #mermaid-svg-wOXymwuJFNCs7DMe { color: rgba(0, 0, 0, 0.75); 字体:} 根{ --mermaid-font-family: “trebuchet ms”, verdana, arial;} #mermaid-svg-wOXymwuJFNCs7DMe { color: rgba(0, 0, 0, 0.75); 字体:}
听到哔哔两声
听到哔一声
电调上电
油门100%等待2s
油门设置到0%等待1s
油门设置全行程提前完成
注意事项:
不是油门再生通常也能使用,但无法使用 1 毫秒到 2 毫秒的全部行程。
正常电调上电提示音是do re mi,哔哔哔~,100%油门的设置在哔~之前,否则电调会直接进入正常上电状态,而不会进入模式。
导出过程是基于上述流程的操作,即通过Arduino有线控制操作PWM信号程序来控制“油门”,因此插电调电源前一定要准备好Arduino,在插上电调电源的同时将“油门”设置为风景。
关于更多好盈电调的详细资料柯林斯查看好盈天行者说明书或者好盈电调说明书。
3. Arduino的UNO
鉴于上文总提到的好盈电调的控制信号为50赫兹的PWM信号,并且其恰巧和伺服舵机的控制信号是同样的标准,而Arduino突然出现成的伺服库可以很好的生成控制舵机的PWM。 ,最简单的办法就是利用伺服库来控制这个电调。 另外

我们还希望在电脑上通过串口来控制电机的“油门”,所以还需要启动串口服务,在循环中监听串口输入,换掉它的。转换成PWM信号发给电调
Arduino的代码如下:

可以用最低油门开度大概在1050年才能让电机转动,而且低速的启动并稳定,而且振动和噪音都比较明显,手动启动轴上能看到的电极感应的动态。
虽然好电调在随身系统里输入“黑匣子”,但不难时尚的控制方法是六步换向,而且通过非非接触方式,主要是导通方式系统套装以及它的控制决定的。通相的反向电动势来估计转子的位置进行换向控制。
总结
低成本电调控制无刷电机工实现起来十分简单,在一些无人机或是模型赛车中可以被应用。但如果对电机的控制创新要求,比如编辑的服务器系统中的位置控制或者是机器人上的力反馈控制,则需要更先进的控制系统来解决,还有其他一些开源的解决方案,比如小功率应用的简单焦点、大功率的odrive或者VESC。 之后我也都写了一些simple-foc和odrive写一些学习心得。
Arduino的中带“~”的GPIO为可配置PWM,例如Arduino UNO中的DIGITAL 35,6,9,11,11。︎
举报

更多回帖

发帖
×
20
完善资料,
赚取积分