贾跃亭的无人汽车太曲折了,我已经等不及,于是要自动动手做一个。
上一篇文章,看到了精致的电机模样,小伙伴们表示帅呆了!
现在来让我们看看它是如何连接到小车底板的?
这张图片是把小车翻过来拍的,这是底盘的反面,这篇文章刚开始的第一张图片,是底盘的正面。
底盘的正面与反面都有图片丝印,所以不要以丝印来判断小车的正面与反面哈。
在电机上,还用螺丝固定了一个红外光电测速传感器,仔细的小伙伴会发现,轮子里边那个白色的一条一条的东西,就是编码盘。
此传感器已经在技新网产品中心有售,大家可以去看看它的原理图等资料。
1
有刷直流电机的
正转、反转、刹车
怎么转起来?
想要有刷直流电机转起来,很简单,只需要把电源的正负极接到电机的两个接线端子上就可以。
怎么反转?
想要反转也容易,只需要把电源的正负极反一下,再接到电机两个接线端子就可以。
怎么刹车?
并不是你想的断电。
断电只是释放,并不是刹车。
把电机的两个接线端子接同样的电平,比如都接GND,就是刹车。
用手拿个电池,控制电机正反转很容易。
但是要用单片机实现自动控制,就需要动一下脑筋了。
2
单片机控制电机
前进、后退、刹车
如果你是刚刚学会单片机,可能你会这样用单片机驱动电机转动:
理论上:PB0给一个高电平,电机就会转;PB0给个低电平,电机就会停。
实际上:这样是不行的。
单片机的这种驱动方式,属于“输出电流”,单片机引脚的输出电流能力,一般最大20mA,这个也要视单片机而定,不同型号的单片机,输出能力不一样。不过,也都差不多最大输出20mA左右。
就拿技小新选的这款电机来说,正常工作的时候,需要的工作电流是200mA左右,启动电流差不多是正常工作电流的两倍还多。
根据以上分析,单片机引脚是不能够直接驱动电机的。
所以,需要加驱动电路,可以由三极管或者MOS管来完成。
三极管和MOS管在这种驱动电路中,是当做开关用,所以我们要考虑它们允许通过的最大电流。
对于三极管,就是ICE,对于MOS管,就是IDS,一般叫做ID。这些参数都可以在元器件对应的datasheet里边找到。
三极管的ICE一般都在1A以下,当然,也有大于1A的。
MOS管的ID一般都在1A以上,通常情况下,都是几十A、上百A。
所以,我们在驱动电机的时候,一般选择MOS管。
加了MOS管的驱动电路如下所示:
实际使用中,还需要加二极管保护等辅助电路,这里为了方便描述,先不说这些。
这种电路,只能控制“转”或者“不转”,不能控制电机“反转”。
新的问题就产生了,如何控制电机反转呢?
最经典的电路就是MOS管搭的全桥电路:
这么庞大的一个电路,只驱动一个电机。
那小车上4个电机,岂不是要4倍的这个电路。
所以,技小新没有选择分立元件驱动电路,而是选择了集成电路解决方案。
RZ7899芯片,就是集成了一个全桥电路的芯片。
一个RZ7899就可以完成驱动一个电机的正转、反转和刹车,只有SOP8大小。
这个模块上放置了2个RZ7899,所以,4个电机只需要2个模块就可以了。
支持的电压范围是:3V-25V。
最大输出电流:3A
这些参数都表明RZ7899非常适合做智能小车电机的驱动。
3
单片机通过RZ7899
控制电机
正转、反转、刹车
先看RZ7899芯片的引脚功能。
芯片的VCC和GND是电源引脚,可以接受3V~25V的电压。
BI和FI引脚和单片机引脚连接,接收单片机的逻辑高低电平信号。
BO和FO引脚,是连接到电机端子的引脚,这几个引脚在工作的时候是要输出大电流的,最大支持3A输出。
BI和FI引脚的电平变化,有四种:高高、低低、高低、低高。
这四种变化,就可以使得BO和FO的电平发生高低变化,从而控制电机正转、反转、刹车和浮空。
他们之间的对应关系,可以看RZ7899芯片手册的真值表:
56脚FO为高、78脚BO为低,电流从FO经过电机流向BO;
56脚FO为低、78脚BO为高,电流从BO经过电机流向FO;
上边两种情况,就实现了电机的正反转,对与小车,就是前进和后退。
56脚FO和78脚BO都为低,这就是刹车。
56脚FO和78脚BO为释放状态,电机应该是自由转动状态,不要理解为刹车。
通过以上分析,你可以知道,单片机用2个引脚可以控制1个电机的正转、反转和刹车。
单片机使用8个引脚,就可以控制4个电机的正转、反转和刹车。
4
智能小车调速的实现
单片机通过RZ7899控制电机,像上边说的,直接给高低电平的情况,实际上是让车全速运行的状态。
要想控制速度,就需要用PWM调速。
方法是:电机两个接线端子中,低电平的那一端一直保持低电平,高电平的那一端,输出PWM波形。
小车前进的时候,电机的其中一个端子是低电平,另一个端子是PWM波形。
小车后退的时候,刚才产生PWM波形的端子上输出低电平,刚才低电平的端子上输出PWM。
所以,要控制电机的4个轮子,必须要用单片机的8个引脚,而且这8个引脚必须都具有输出PWM的能力。
STM32的一个定时器可以输出4路PWM,用两个定时器就可以实现控制小车的所有轮子了。
未完待续...
-----------------------
责任编辑:
相关知识
stm32智能小车前进,后退,左转,右转,停止
3、小车前进后退左右综合实验
树莓派小车之前进和后退(创乐博套件)
word怎么前进和后退文字word中前进后退快捷键
挂前进档车子后退是什么原因?
挂前进档车子后退是什么原因
前进、后退
大疆无人机是怎么控制前进后退
CSS 实现“前进/后退”按钮的功能
想做个4G网络小车,能远程控制前进后退,能看到图像,GPS位置和小车的姿态角,该从哪几个方面入手呢
网址: 智能小车的前进、后退、刹车、调速是怎么实现的? https://m.mcbbbk.com/newsview448175.html
上一篇: IDEA 前进 后退 添加到工具 |
下一篇: 电动堆高车起升下降正常,无法前进 |