首页 > 分享 > 智能小车的前进、后退、刹车、调速是怎么实现的?

智能小车的前进、后退、刹车、调速是怎么实现的?

贾跃亭的无人汽车太曲折了,我已经等不及,于是要自动动手做一个。

上一篇文章,看到了精致的电机模样,小伙伴们表示帅呆了!

现在来让我们看看它是如何连接到小车底板的?

这张图片是把小车翻过来拍的,这是底盘的反面,这篇文章刚开始的第一张图片,是底盘的正面。

底盘的正面与反面都有图片丝印,所以不要以丝印来判断小车的正面与反面哈。

在电机上,还用螺丝固定了一个红外光电测速传感器,仔细的小伙伴会发现,轮子里边那个白色的一条一条的东西,就是编码盘。

此传感器已经在技新网产品中心有售,大家可以去看看它的原理图等资料。

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 前进 后退 添加到工具
下一篇: 电动堆高车起升下降正常,无法前进