自动循迹机器人附有程序.docx
- 文档编号:9848272
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:12
- 大小:188.38KB
自动循迹机器人附有程序.docx
《自动循迹机器人附有程序.docx》由会员分享,可在线阅读,更多相关《自动循迹机器人附有程序.docx(12页珍藏版)》请在冰豆网上搜索。
自动循迹机器人附有程序
全国大学生电子设计竞赛
自动循迹小车
摘要
摘要:
本设计主要包括信号检测模块、主控模块、电机驱动模块。
信号检测模块采用LCD1314电感数字转换器,通过IIC总线与从机通信从而实现循迹和检测硬币。
主控电路采用MC9S12SX128单片机为控制芯片。
电机驱动模块采用L298N专用电机驱动芯片。
信号检测模块将采集到的路况信号发送给MC9S12SX128单片机,经单片机处理过后对L298N发出指令进行相应的调整。
单片机通过输出PWM波和对LDC1314采集的信息进行处理,来控制小车的速度及转向并实现自动循迹的功能。
关键词:
智能小车,MC9S12SX128,L298NIIC总线ldc1314
目录
一、系统方案论证4
1.系统结构4
2.方案论证比较4
(1)微控制器模块4
(2)电机模块4
(3)电机驱动模块4
(4)显示模块5
(5)电源模块5
二、测控方法分析5
1.控制算法分析5
2.运动控制分析6
三、系统电路设计7
1.系统结构7
2.电路设计7
四、系统测试与分析8
1.测试方案8
2.测试条件与仪器8
3.测试结果8
(1)基本一测试8
(2)基本二测试8
(3)基本三测试8
五、测试分析与结论9
参考文献9
附录1:
部分源程序10
自动循迹小车(C题)
【本科组】
一、系统方案论证
1.系统结构
系统以MC9S12XS128单片机为主控器,以5110显示屏、L298N驱动模块、直流电机分别实现转速、时间、距离显示、驱动等功能。
使用C语言编写程序,通过速度编码器检测并读出车轮的转速,并通过触摸按键选择系统的转速模式,实现不同速度的调节。
2.方案论证比较
(1)微控制器模块
方案一:
MC9S12XS128单片机
飞思卡尔官方函数库应用简便,开发周期短,速度和功耗方面优势明显。
方案二:
51单片机
指令集简便,超低功耗,熟练使用开发周期长。
综合以上两种方案,选择方案一。
(2)电机模块
方案一:
采用纳英特直流电机。
纳英特直流电机摩擦力大,有利于小车的抓地性,转速大,扭矩大,速度控制准确,适应于长距离的比赛路程。
方案二:
直流齿轮电机(TT电机)。
转速快,转矩小,易于控制,电机使能端易于接线。
综合以上两种方案,选择方案一。
(3)电机驱动模块
方案一:
使用L298N电流电机驱动模块。
L298N电机驱动芯片工作电压高,输出瞬间峰值电流可达3A,持续工作电流2A,额定工作频率25W。
内含两个H桥的高电压电流全桥式驱动器可以很好的控制本系统中的直流伺服电机,采用标准逻辑电平信号控制,控制直流电机更加简单容易。
方案二:
采用TI公司DRV8313PWPR电机驱动芯片。
DRV8313PWPR芯片内部集成了细分、电流调节、CMOS功率放大等电路,配合简单的外围电路即可实现高性能、多细分、大电流的驱动电路。
综合以上两种方案,本设计采用方案二。
(4)显示模块
方案一:
采用数码管显示,数码管显示信息量小且不能显示汉字信息,占用较多的单片机IO口外围电路也比较复杂。
不能够形象直观的提示信息。
方案二:
使用TFT彩色液晶模块,亮度好,对比度高,层次感强,颜色鲜艳,性价比高。
可以实现人机交换,从而把反馈信息给单片机,但是程序控制不易实现。
方案三:
使用5110诺基亚显示屏,5110程序控制原理简单易懂,而且平时常用,故本设计采用方案三。
(5)电源模块
本系统功率较大,由12v30A开关电源提供动力,然而单片机和传感器的供电为5v和3.3v。
因此需要转压芯片把电压转到合适范围,系统才能正常运作。
我们采用L7805芯片稳压到5v,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。
稳压到3.3v我们采用AMS117芯片。
AMS1117片上微调把基准电压调整到1.5%的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力。
二、测控方法分析
1.控制算法分析
自动循迹小车是一个复杂的快速、非线性、多变量、自然不稳定的非最小相位系统。
本系统不易获得精确数学模型,具有滞后性,模糊算法使得系统抗干扰能力强,响应速度快,并对系统参数的变化有较强的鲁棒性。
由于LDC1314电感传感器是4通道传感器。
首先,把4个采集的电压模拟量转换成为适于程序运算的数字量,然后将这些量在控制程序上中加以运算,最后再将运算结果转换为精确量,以便对各执行器进行具体的操作控制。
根据实时采集电机的转速,计算出pwm信号,对输出不断的修正,使偏差越来越小,最终确定电机转动状态。
计算pwm信号时,需要根据AD转换器转换出对应电压的数字量从而对电机实行精准的控制。
给定值
输出
+
图1系统流程图
当对各项指标进行实现时,还要用到PID算法,PID控制器(比例-积分-微分控制器)是一个在工业控制应用中常见的反馈回路部件,由比例单元P、积分单元I和微分单元D组成。
PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。
其输入e(t)与输出u(t)的关系为
2.运动控制分析
采集偏差的实现:
给电机一个初速度,使直流电机来回校正,通过PID算法进行线性校正。
速度控制的实现:
由于转速大小可调,我们在触摸按键实现速度设置通过PID算法,实现不同的pwm输出,从而实现转速。
巡线的实现:
通过ldc1314电感传感器在检测路线时,检测到铁丝与检测不到铁丝时返回的电压值不同,取两者中间值,从而判断出是否偏离铁丝,从而进行有效的调整。
检测硬币的实现:
通过ldc1314电感传感器在检测路线时,检测到硬币与检测不到硬币时返回的电压值不同,判断出是否有硬币,若有硬币,则蜂鸣器置高电平,发出声音提示。
三、系统电路设计
1.系统结构
本系统以MC9S12XS128为控制器,通过LDC1314模块检测细铁丝和硬币,把检测的信息传输给单片机生成相应信号,控制小车的运行,以此完成小车的循迹、检测硬币功能。
另外,通过测速传感器检测摆杆的小车的速度并记录时间,在5110液晶时暗示其上进行实时的显示。
系统的总体框图如下。
2.电路设计
图3L298N驱动电路图
该电路单元含有锁存器单元,用于暂时锁存单片机发送过来的数据,含有电容模块,用于滤波。
内核有四个输入端IN1、IN2、IN3、IN4,四个输出端OUT、OUT2、OUT3、OUT4,电源,地,外加两路使能端EN1、EN2。
图4LDC1314电路图
该芯片含有四路共八个输入端IN0A、IN0B、IN1A、IN1B、IN2A、IN2B、IN3A、IN3B,一个数据输出端为单片机发送数据,外部时钟输入端,SDA、SCL时钟、数据发送端,一个数据输出。
四、系统测试与分析
1.测试方案
通过秒表和米尺对小车运行的时间和距离进行测量,判断是否达符合要求。
2.测试条件与仪器
测试条件:
与同伴检查多次,硬件电路与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊,小车尺寸未超过比赛规定。
测试仪器:
米尺、秒表、5110液晶显示器等。
3.测试结果
(1)基本一测试
圈数(圈)
时间(S)
越出次数
第一次
2
331
0
第二次
2
335
0
第三次
2
329
0
(2)基本二测试
圈数(圈)
运行距离(cm)
误差(cm)
运行时间(S)
第一次
2
1541
21
331
第二次
2
1510
10
328
第三次
2
1533
13
330
(3)基本三测试
圈数(圈)
硬币个数(个)
实际检测(个)
误差
2
8
8
0
2
8
7
1
2
8
7
1
2
8
8
0
五、测试分析与结论
测速传感器20个脉冲为一个周期,将小测轮子轮子的周长分成20份。
通过记录一个周期的时间和测量轮子的周长,利用v=s/t既可以测的小车的速度。
MC9S12XS128的16位定时器的时钟由2个可选的微时间基准提供,通过公式:
时间=(PITMTLD+1)*(PITLD+1)/f
便可以得到小车的运行时间。
通过程序的编写就可以将小车的运行时间、速度、距离等数据展示出来。
利用LDC1314模块可以实现小车的循迹以及对硬币的检测。
参考文献
1.宏晶科技,《STC89C51RC/RD+系列单片机器件手册》,2011年9月8号更新版本
2.求是科技,《单片机典型模块设计实例导航(第2版)》,人民邮电出版社,2008年7月出版
3.李全利,《单片机原理及应用技术》,高等教育出版社,2009年1月出版
4.丁明亮,《51单片机应用设计与仿真-基于keilC与Proteus》,北京航空航天大学出版社,2009年2月出版
5.张鑫,《单片机原理及应用(第2版)》,电子工业出版社,2010年出版
6.张毅刚,《单片机原理与应用设计》,电子工业出版社,2008年出版
7.何立民,《单片机应用系统设计系统配置与接口技术》,北京航空航天大学出版社,2001年出版
附录1:
部分源程序
voidpwm_init(void)
{
PWME=0x00;//禁止PWM输出
PWMCLK=0xff;//SA作为01,45通道时钟源SB作为23,67通道时钟源
PWMPOL=0xff;//周期脉冲开始时输出高电平
PWMCAE=0x00;//波形为左对齐
PWMCTL_CON01=1;//01级联
PWMCTL_CON23=1;//23级联
PWMCTL_CON45=1;//45级联
PWMCTL_CON67=1;//67级联
PWMPRCLK=0x43;//A为8分频B为16分频
PWMSCLA=3;
PWMSCLB=15;//SB的分频因子为15SB=B/(2*SCLB)=1000000
PWMPER01=102;//通道0110KHz
PWMPER45=100;//通道4510kHz
PWMDTY01=0;
PWMDTY23=0;//大舵机75190
PWMDTY45=0;
PWMDTY67=0;//小舵机78150
PWMCNT01=0;//计数器清零
PWMCNT23=0;
PWMCNT45=0;
PWMCNT67=0;
PWME=0xff;//启动PWM输出
}
voidmotor(intleft,intright)//电机控制
{
if(left>=0)//前进
{
PTS_PTS5=0;
PTS_PTS4=1;//DIR1
PWMDTY45=left;//PWM1
}
else//后退
{
PTS_PTS5=1;
PTS_PTS4=0;
PWMDTY45=-left;
}
if(right>=0)//前进
{
PTS_PTS7=0;
PTS_PTS6=1;
PWMDTY01=right;
}
else//后退
{
PTS_PTS7=1;
PTS_PTS6=0;
PWMDTY01=-right;
}
}
附录2:
控制电路
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动 机器人 附有 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)