Background
近日做项目,买来无刷电机及电调捣鼓。未曾想,需要控制无刷电机正反转;然而买的电调(单向)只能控制电机往一固定方向转。 舍不得重新购买双向无刷电调(贵!!),于是乎捣鼓了一下其他的法子。
Resolve
利用大电流(30A)继电器完成两根无刷电机电源线的互换,从而实现无刷的正反转控制。
Detailed List :
arduino、无刷电机、好盈40A电调、Uln2003、2路30A继电器(5v)、若干连接线
arduino的输出高电平为 5v,可不用Uln2003,直接驱动继电器;stm32输出高电平 3.3v,可利用Uln2003间接驱动继电器。 本文内容加入Uln2003的介绍,便于 arduino到stm32的移植。
Details
已知
无刷电机接无刷电调有三根线: A-a ,B-b ,C-c ;
【任意调换两根,电机转动方向翻转 】。
如: A-b,B-a,C-c。
为此,利用继电器的常开、常闭触点,如下图可实现无刷电机正反转的控制。
使用两路继电器控制一个无刷电机的正反转。
实物接线如下图:
电机线AB 接两路继电器的 COM端;
无刷电调线 ab 接两路继电器的 常闭端;
第一个继电器的常开端与第二个的常闭端短接,第二个的常闭端与第一个的常开端短接。
继电器选择【低电平触发】,此时无论 arduino、STM32 都可实现对继电器的控制。
(为保证两个继电器的同步变化,需将 IN1与IN2连接。)
继电器选择【高电平触发】时,arduino可直接驱动而 stm32不可,
此时就可借助 uln2003。
需知:
单片机与继电器、Uln2003共地(GND)后,单片机对模块的控制信号才有效。
(不可遗漏)
ULN2003
此处直接介绍
如何使用 ULN2003 这个模块。
更多内容参见 :ULN2003 达林顿管介绍
实物就这样~
INPUT的 1-7 与 OUTPUT的 A-G 一一对应。
白色端子处可直接接 步进电机
。
接线相关:
给模块
供电后 (VCC- 5V ,GND -GND ),输出
A - G 端口皆默认为高电平
IN1-IN7 任意端口为
输入高电平时,对应
输出端口 A-G 变为低电平。
即: 单片机输出高电平信号时,对应的uln2003输出端口变为 低电平。
以上。
为西门子的决赛祈福~~ 拿个二等奖就阔以啦~~
—— 2020/8/27
|