查看: 25287
回复: 36
来,一起做个智能小车【内附高颜值谍照】

主题

回复
发表于2017-12-05 22:33:39 | 显示全部楼层
1# 电梯直达

先来搞清楚2个问题:

问题1:四驱车与前驱(后驱)车的区别

四驱车,是四个轮子都驱动,就是每个轮子一个电机,需要四个电机。

前驱或者后驱车,就是前面两个轮子带电机或者后面两个轮子带电机。

我们电子工程师DIY的话,四轮驱动要比两轮驱动更容易做。

因为,我们只要设计好了一个轮子带电机和小车底板的连接,其它几个轮子照样做就可以。如果是两轮驱动的话,还需要设计另外两个轮子与底板的连接,可能会涉及到机械结构的问题,开模、定做什么的,会比较麻烦。

问题2:轮子带电机是否可以空转滑动

如果轮子带了电机,是不能够空转或者滑动的,必须要给电机供电才能转起来。

 

搞清楚了上述2个问题,我们就可以开始做了。

这次,我们先做一个四轮驱动的智能小车,下一次,我们再做一个两轮驱动带机械转向的智能小车。


主题

回复
发表于2017-12-05 22:34:11   |  显示全部楼层
2#

电机选型:

接下来,我们需要选择一个合适的电机。

有两种电机比较适合做智能小车:有刷直流电机、无刷直流电机

有刷直流电机,只带两个引脚,一个引脚给电源正极,一个引脚给电源负极,就可以让电机转起来。

无刷直流电机,分为“带霍尔传感器”“不带霍尔传感器”之分。

不带霍尔传感器的,一般用于无人机,只能运行在高速转动的情况下。慢速转动的话,不容易检测正确的换相点,所以不适合做小车。

带霍尔传感器的,除了ABC相的3条引线之外,还有霍尔传感器的5条引脚。

(这5条引脚分别是:霍尔V+,霍尔GND,霍尔A,霍尔B,霍尔C)

这种电机的驱动电路比较复杂,而且价格非常贵,一个有刷电机可能几块钱到几十块钱不等,一个无刷电机就需要几百元。

 

这一次,我们做有刷直流电机的,下一次,我们再做无刷直流电机的高端小车。


主题

回复
发表于2017-12-06 15:07:03   |  显示全部楼层
5#
发表于2017-12-06 09:26:45  3# 唉,我知道你名气大,有号召力。可是现在好像大家都不喜欢上论坛灌水了。小车我前面做了,作为开源项目,自己3d打印的机械结构...
现在的人的确不喜欢在论坛灌水了,不过,还是需要照顾好依然喜欢在论坛灌水的人

主题

回复
发表于2017-12-06 15:09:16   |  显示全部楼层
6#

齿轮减速箱

 

上图,就是技小新千辛万苦找了N个厂家以后定下来的带齿轮减速箱的微型小电机。

市场上通用的那个几毛钱的电机,体积太大,一点也不精致。

看看下图的对比:

 

拆开它的外壳看齿轮:

 

经过实测,那种塑料的齿轮,很容易打滑,不耐用。所以技小新选择了金属齿轮。

技小新选择的这款小电机,额定电压5V下,转速25000转每分钟,齿轮减速箱的减速比为50:1,在额定电压5V下,经过减速箱以后的转速就是500转每分钟,这个速度非常适合智能小车。

电机小,大家还会关心扭矩的问题。

经过实测,电机带上轮子后,直接给电机5V电压,体验手拿轮子感觉,想要握紧轮子,还是需要一定的力气的。四个轮子装到小车底板,直接供5V,在不太平的地面上,可以很顺畅的前行,一些不太高的障碍物,也可顺利通过。


主题

回复
发表于2017-12-07 08:50:26   |  显示全部楼层
8#
发表于2017-12-06 16:51:09  7# 黄色电机塑料齿轮一个2块金属电机金属齿轮一个12块我肯定用黄色的
看来...想要从屌丝身上赚钱真不容易,还是需要打有钱人的主意,所以我选择了金属齿轮。

主题

回复
发表于2017-12-07 08:55:18   |  显示全部楼层
9#

电机与轮子的连接

 

上图,仔细看轮子的中间,一边是半圆,一边是平的。

 

上图,仔细看电机轴,正好与轮子是匹配的,这样就可以插进去,保证轮子不打滑了。

 

上图是安装好电机和轮子的效果。

 

上图,是技小新电机轮子与市场上常用的小车电机轮子的对比,是不是很精致呀!


主题

回复
发表于2017-12-07 09:52:25   |  显示全部楼层
11#

电机转接板:

  

小伙伴们,你们有没有注意到,电机的这两个接线端子。

直接拧线影响美观且不稳定,直接焊线的话,拆装很麻烦。

所以…

技小新设计了一个电机转接板,如下图所示:

 

这样,很巧妙的把电机的原生接线端子变成了可拔插的2.54mm排针。

拆装、调试、维修都变得很方便了。

如果你觉得用彩排线连接不可靠的话,还可以换成XH接线端子。

 

小设计、大用途。


主题

回复
发表于2017-12-07 10:18:14   |  显示全部楼层
12#

电机接线端子两端为什么要接104电容?

 

这个104电容的作用是:

  1. 防止火花;
  2. 滤除噪声;



主题

回复
发表于2017-12-07 15:35:12   |  显示全部楼层
13#

有刷直流电机正转、反转、刹车的实现

怎么转起来?

想要有刷直流电机转起来,很简单,只需要把电源的正负极接到电机的两端就可以。

怎么反转?

想要反转也容易,只需要把电源的正负极反一下,再接到电机两端就可以。

怎么刹车?

并不是你想的断电。断电只是释放,并不是刹车。

把电机的两个接线端子接同样的电压,比如都接GND,或者都接VCC,就是刹车。

想的容易,做起来难!

用手拿个电池,控制电机正反转很容易。

但是要用单片机实现自动控制,就需要动一下脑筋了。


主题

回复
发表于2017-12-07 17:04:12   |  显示全部楼层
14#

单片机控制电机前进、后退和刹车

如果你是刚刚学会单片机,可能你会这样用单片机驱动电机转动:

 

理论上,PB0给一个高电平,电机就会转,PB0给个低电平,电机就会停。

实际上,这样是不行的。

单片机的这种驱动方式,属于“输出电流”,单片机引脚的输出电流能力,一般最大20mA,这个也要视单片机而定,不同型号的单片机,输出能力不一样。不过,也都差不多最大输出20mA左右。

就拿技小新选的这款电机而言,正常工作的时候,需要的工作电流是200mA左右,启动电流差不多是正常工作电流的两倍还多。

根据以上分析,单片机引脚是不能够直接驱动电机的

所以,需要加驱动电路,可以由三极管或者MOS管来完成。

三极管和MOS管在这种驱动电路中,是当做开关用,所以我们要考虑它们允许通过的最大电流。

对于三极管,就是ICE,对于MOS管,就是IDS,一般叫做ID。这些参数都可以在元器件对应的datasheet里边找到。

三极管的ICE一般都在1A以下,当然,也有大于1A的。

MOS管的ID一般都在1A以上,通常情况下,都是几十A、上百A。

所以,我们在驱动电机的时候,一般选择MOS管。

驱动电机的电路就可以这样画:

 

实际使用中,还需要加二极管保护等辅助电路,这里为了方便描述,先不说这些。

这种电路,只能控制“转”或者“不转”,不能控制电机“反转”。

新的问题就产生了,如何控制电机反转呢?

最经典的电路就是MOS管搭的全桥电路:


 

这么庞大的一个电路,只驱动一个电机。那小车上4个电机,岂不是要4倍的这个电路。

所以,技小新没有选择分立元件驱动电路,而是选择了集成电路解决方案。

RZ7899芯片,就是集成了一个全桥电路的芯片,一个RZ7899就可以完成驱动一个电机的正转、反转和刹车,只有SOP8大小。

 

这个模块上放置了2个RZ7899,所以,4个电机只需要2个模块就可以了。

支持的电压范围是:3V-25V。

最大输出电流:3A

这些参数都表明RZ7899非常适合做智能小车电机的驱动。

这个模块在立创商城的链接是:

http://www.szlcsc.com/so/product/details_150018.html


主题

回复
发表于2017-12-08 10:56:29   |  显示全部楼层
15#

单片机如何通过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个电机的正转、反转和刹车。


主题

回复
发表于2017-12-08 17:57:03   |  显示全部楼层
16#

智能小车调速的实现

单片机通过RZ7899控制电机,像上边说的,直接给高低电平的情况,实际上是让车全速运行的状态。

要想控制速度,就需要用PWM调速。

原理是:电机两个接线端子中,低电平的那一端一直保持低电平,高电平的那一端,输出PWM波形。

小车前进的时候,电机的其中一个端子是低电平,另一个端子是PWM波形。

小车后退的时候,刚才产生PWM波形的端子上输出低电平,刚才低电平的端子上输出PWM。

所以,要控制电机的4个轮子,必须要用单片机的8个引脚都具有输出PWM的能力。

STM32的一个定时器可以输出4路PWM,用两个定时器就可以实现控制小车的所有轮子了。


主题

回复
发表于2017-12-09 10:11:08   |  显示全部楼层
17#
 点击查看大图

主题

回复
发表于2017-12-09 10:23:01   |  显示全部楼层
18#
 点击查看大图

主题

回复
发表于2017-12-09 22:27:30   |  显示全部楼层
19#

小车跑起来

轮子和底盘已经安装好,现在只需要给每个电机的两个接线端子与电池正负极相连,小车就可以跑起来了。

如果你想这么做的话,连接电池的时候,注意轮子转动的方向要一致。

不过,“永动车”并不是我们想要的结果,我们想要的是自动控制小车的前进、后退、刹车以及转弯、避障、循迹、跟随等。


主题

回复
发表于2017-12-15 08:51:19   |  显示全部楼层
22#
发表于2017-12-14 17:53:52  21# 能不能加上远程APP控制和远程摄像头
可以加上

主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部