完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
简述
本文简述本人做过的一个简单的巡线车的过程以及出现的问题,以供新手参考。 材料 种类 · 巡线小车套件 · STM32F103C8T6最小系统板 · 电机驱动模块:L298N · 红外对管2 · 18650电池2、电池盒 · 直流降压模块 · 杜邦线 材料相关说明 · 小车套件:俩轮四个轮的都行,只需要买那种小车架子就行,带轮子带电机。 · F103系统板:实惠,性能足够了 · 直流降压模块:我用的12V降转5V、3.3V的,带开关 · L298N: (1,3,4结构左右对称,只标一半) 供电部分: 2处,有12V口,5V口,接地口,我用的是12V口(电压达不到12也没关系,我用的时候是8V左右供电),好像车子需要大供电的模块只有这一个,直接接到降压模块上就好 控制接口部分: 1处接电机正负极,4处接系统版IO口,每两个IO口控制一个轮子(电机)的方向,不用担心车轮转向统不统一的问题,之后把车子架空调一下就好。 IN1、2控制OUT1、2 (分割线,方便看)IN3、4控制OUT3、4 控制方式 有两种方法: 第一种:3处的交线帽不用拔,IN1234都设置成PWM输出,好处:节省IO口,坏处:多用定时器,控制速度上稍微麻烦点,一个轮子的速度需要修改两个pwm的占空比 第二种:把左右的ENA和ENB(即3处交线帽拔了),和IN口并排的那两个接口也接上IO口,3处设置pwm输出,4处只设置成IO口输出(我用的推挽下拉输出) 我用的第二种方法:3处(也就是ENA、ENB)pwm控制车轮速度,通过改变pwm占空比改变速度。4处(也就是IN)控制轮子方向 相关说明 · 降压模块最好带开关,或者整个小车硬件得有一个开关,不能按上电池直接就开始上电了。 · 系统板其实5V供电或3.3V供电都行,单片机一般最好别做为供电源,增大单片机功耗负载等容易烧坏单片机。 · 简单的做一下用杜邦线插就行,想稳定整洁一点可以自己用洞洞板焊一个分线板出来,注意焊锡那一面做好绝缘处理。 · 不能带电插拔单片机或者其他模块的杜邦线!!!热插拔容易电流回灌烧坏模块或单片机。 · 降压模块是12V降转,但是我用的7.6V左右的电压(两节18650),没遇见啥问题,降转模块阈值电压不清楚。功率本来就不大,L298N和降压模块不用担心散热问题。 其他问题没怎么遇到,自己注意。 小车硬件结构 (过丑不上图)我用的是两个轮子的,三层。前面探出来两个对称的红外对管。18650直接接到降压模块,由降压模块分别给L298N、单片机、红外对管供电。 其实只要保证两个红外对管在车前面探出来对地就行,其他好装。 代码思路 这里只讲我的逻辑 四个IO口分别控制两个轮子的方向,连在L298N。(用法在上面讲过了),另外用两个定时器pwm输出分别控制两个轮子的速度。 巡线逻辑: 红外对管贴着黑线,直接读IO口高低电平就能知道红外对管下面是黑是白。用差速拐弯(比原地打转法好),左边出线就加快左边转速(增大占空比),减小右边转速(减小占空比);右边出线就加快右边转速,减小左边转速。 切记速度不能太快,慢慢巡,两个红外对管实现的巡线只要速度一快,由于惯性和反应时间的影响整个车就跑飞了。 另外做了应急措施,两个红外对管都出线(车基本不在线上了)后,pwm占空比都给0,或者让轮子制动,让车停下来。 基本内容就这么多,巡线车作为电子入门还是比较容易基础的项目,可以来练练手。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:10 , Processed in 1.652352 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号