电动车跷跷板设计竞赛论文.docx
- 文档编号:7299050
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:14
- 大小:163.31KB
电动车跷跷板设计竞赛论文.docx
《电动车跷跷板设计竞赛论文.docx》由会员分享,可在线阅读,更多相关《电动车跷跷板设计竞赛论文.docx(14页珍藏版)》请在冰豆网上搜索。
电动车跷跷板设计竞赛论文
电动车跷跷板设计竞赛论文
摘要:
本系统采用自制的电动小车,以凌阳16位单片机(SPCE061A)作为小车的检测和控制核心,以两相混合式步进电机42BYG021驱动,通过数字式双轴倾角传感器(ZCT245AL-485)以15HZ的频率实时采集跷跷板的倾角信息,并采用模糊控制算法对步进电机的转速和转向进行调节,再辅助以螺旋桨的微调,以准确找到平衡点位置;系统采用单光束反射取样式光电传感器RPR220探测黑线以实现循迹前进;对步进电机的控制采用细分驱动技术,大大改善了步进电机的运行品质。
本系统可在较短时间内完成自动上板,通过跷跷板,寻找平衡点等任务,并对任务完成时间进行语音播报。
关键词:
细分驱动;倾角传感器;螺旋桨微调;电动小车;模糊控制
Abstract:
ThissystemadoptsdynamoelectricsmallcarmadebyourselvesandtakesSPCE061A16bitmicroprocessorasthecontrolanddetectingcenter.Thetwowheelsofthecararedrivenbystepmotorsseparately.TherotationspeedanddirectionofthemotorsarecontrolledbyMCUaccordingtothefeedbackinformationdetectedbyobliquitysensorandthetorqueisadjustedbyaairscrewsothatthesmallcarcanfindthebalancepointoftheseesawaccurately.Thissystemadoptssixinfraredsensorstodetectblacklinesonthegroundortheseesawanditcanfollowthelinesaccordingtothissignal.Weadoptsubdivisiontechnologytodrivethemotoranditimprovestheperformanceofthemotorsremarkably.Thissystemcancompleteallthetaskwithinashorttime
Keywords:
subdivisiondriver;obliquitysensor;airscrewadjusting;dynamoelectriccar;fuzzycontrol
1系统方案
1.1实现方法
图1系统模块框图
本系统采用自制电动小车,以单片机作为智能小车的检测和控制核心,通过两相混合式步进电机驱动,根据倾角传感器采集的数据,对步进电机的转速和转向进行PID反馈调节。
当小车的大概位置确定后,步进电机停止转动,启动直流电机,带动安装在直流电机上的螺旋桨,通过空气的反冲力微调力矩,以准确找到平衡点位置。
系统使用了红外对管,通过黑线的引导可实现小车自动上板并对小车在板上的运动进行准直。
在板的两端设置标志,当红外传感器检测到标志时通知MCU控制小车停下,执行下一步预设动作。
系统模块框图如图1所示
1.2方案论证与比较
1.2.1角度测量方案论证与选择
方案一:
使用铅垂线+光折断器。
使用3个光折断器来检测,假设车启动前铅垂线是在中间的光折断器上,如果不考虑铅垂线的单摆运动,我们可以认为中间的光折断器被折断时,车处于平衡位置。
但是由于使用的铅垂线会做单摆运动,我们可以认为当铅垂线两侧摆幅一致时达到平衡,通过测量单摆左右摆的时间来分析单摆中心的偏移角度。
方案二:
使用数字式双轴倾角传感器ZCT245AL-485。
内部集成了角度传感器,A/D转换器,可以输出数字量。
具有零点设定,响应频率调整,波特率可选等功能。
采用金属壳封装,抗震动性能好。
频率响应2-15HZ可调。
测量范围为正负45度,分辨率可达0.1度。
方案选择:
方案一算法复杂且精度较低,难以实现功能;方案二直接处理数字信号,系统稳定性好,易于实现,所以最终决定选用方案二。
1.2.2驱动模块方案论证与选择
方案一:
采用直流减速电机,直流减速电机具有良好调速性能。
另外直流电动机过载能力强,制动转矩较大。
可采用PWM调速。
但是直流电机的精确控制困难,开环控制误差很大,通常需要借助速度传感器组成闭环控制系统。
方案二:
采用步进电机。
步进电机在非超载的情况下,转速和停止的位置只取决于脉冲信号的频率和脉冲数。
步进电机只有周期性的误差而无积累误差,很适合速度,位置等参数的精确控制。
步进电机的缺点是转速不够平稳,运行会发生振荡.但理论和实践已经证明,细分驱动可减少振动,提高步进电机输出转矩,大大提高电机的稳定性和可靠性。
方案选择:
考虑到在本系统中需要对小车的位置和速度进行精确控制,并且需要小车快速启停,最终我们决定采用两相混合式步进电机42BYG021。
该步进电机的测试曲线如图2所示,本系统中,步进电机工作在低速状态,可以提供足够大的扭矩。
1.2.3行进路线准直方案论证与选择
方案一:
通过调整两个主控电机的转速一致使小车走直线。
由于步进电机存在失步的问题,所以难以做到两个电机的转速精确一致,并且小车的初始位置难以摆正,很容易出现小车跑偏的情况。
方案二:
在跷跷板上贴宽度为2cm的黑线,采用发射接收一体化的单光束反射取样式光电传感器RPR220作为敏感元件,利用红外线对不同颜色的反射系数不同而产生强弱电流信号,该方案受外界环境的影响比较小,抗干扰性比较强。
方案选择:
综上所述,为了使系统更稳定可靠,抗干扰能力更强,采用方案二。
1.3系统设计
1.3.1系统总体方案
经过上述的分析和论证,决定了系统各模块采用的最终方案如下:
(1)主控单元:
凌阳16位单片机SPCE061A;
(2)循迹模块:
发射接收一体化红外传感器RPR220;
(3)倾角检测模块:
数字式双轴倾角传感器(ZCT245AL-485)
(4)驱动模块:
两相混合式步进电机42BYG021+TA8435细分驱动芯片
(5)微调模块:
直流电机+L298驱动芯片+塑料螺旋桨
(6)语音播报模块:
单片机自带D/A+基于SPY0030的功率放大电路+扬声器
(7)计时模块:
DS1302
(8)时间显示模块:
CH451+LED数码管
1.3.2系统详细结构框图
系统详细结构框图如图2所示。
图
图2系统详细结构框图
2理论分析与计算
2.1控制方法
我们经过分析发现,传统的PID方法不适合该问题。
考虑到小车寻找平衡点过程的复杂性,难以建立起有效可解的物理描述方程,因而我们采用了模糊控制方法。
在模糊控制算法中,模糊控制器被设计为一个二维表格,即将角度传感采集到的角度e和对应与角度偏差的变化
反映到一个二维数组中,数组中的每一个元素表示在特定角度和角度增量下小车运动速度的输出。
其对应关系是通过理论计算与反复观察分析得出的。
为了取得更好的控制效果,我们又在车体上添加了螺旋桨,当采集到的角度小于一个阀值时,关断小车的运动,而采用螺旋桨转动产生的推力来调节跷跷板的平衡。
2.2理论计算
2.2.1小车运动模型
如图3所示,设小车的重力为
跷跷板和配重的等效重力为
,其中,
角为跷跷板与水平面的夹角。
则小车产生的力矩为:
(1)
等效重力产生的力矩为:
(2)
图3受力示意图
假设在
的距离,产生了
的角度变化量,则在这
的距离内,有
(3)
则系统产生的转动惯量为:
(4)
而对应的角加速度为:
(5)
将
(1),
(2),(3),(4),(5)方程联立,经观察可知,跷跷板的质量越大,小车的质量越小,产生的角加速度也就越小。
而角加速度越小,越有利于小车寻找平衡,因而在制作中应该适当增大跷跷板的质量,减小小车的质量。
2.2.2模糊控制方法推理
对应与小车在平衡点左侧的情况(此时角度传感器读取得为负值),记最近一次采集到的角度为
,次近采集的角度为
,两次的差量为
。
此时小车的运动方向为向右,定义一个步进角单位为1,以向右运动为正。
则当
时,当
,则小车在靠近平衡点,此时小车步进速度应该很小,取为+10;当
时,角度在减小,但是减小的过快,很可能会超过平衡点,故应该反向调节(这一点很巧妙,也很重要),取速度为-50;当
时,角度在缓慢减小,应适当增大速度,设为-80,此部分的表示如表格1所示。
以此类推,可以推算出模糊控制器的所有命令集合。
表1
+10
-50
-80
3电路与程序设计
3.1系统总体硬件连接图
见附录图4
3.2单元电路设计
3.2.1步进电机驱动电路设计
TA8435H是二相步进电机细分驱动专用芯片,电路连接图见附录图5该电路用一片TA8435H来驱动一个步进电机,输入信号有使能控制、正反转控制和时钟输入,通过光耦可将驱动器与输入级进行电隔离,以起到逻辑电平隔离和保护作用;该电路工作在1/8细分模式,可减小低速时的振动,R4和C1组成复位电路,四个快恢复二极管可用来泄放绕组电流。
3.2.2红外传感模块的设计
考虑到设计要求,本系统采用6对光电传感器,中间四对传感器用来校正小车的寻迹路线,保证小车运行的直线性。
两侧的传感器用来实现小车的转弯。
电路连接图见附录图6
3.2.3语音播放电路设计
由于SPCE061A精简开发板上已经集成语音录入和播放模块,而且集成开发环境下提供了语音函数库,使用起来方便易行,本系统直接采用该开发板的语音功能就可以了。
该模块电路图见附录图7
3.3软件设计
3.3.1软件组成
总的工程程序包括初始化程序、倾角查询程序、步进电机控制程序、循迹程序、直流电机控制程序、语音播报程序、数码管显示程序、时钟芯片读取程序等部分。
3.3.2软件流程
流程图见附录图8
3.3.3平衡点查找函数流程
流程图见附录图9
4系统测试与结果分析
4.1基础部分测试
4.1.1测试仪器与工具
自制跷跷板(长160cm,宽30cm,板身为白色,其上贴有黑线,宽2cm,板两端有十字形标志),秒表,游标卡尺
4.1.2测试方法
将小车放于跷跷板的一端,车身沿跷跷板长度方向,保证红外对管压在黑线上,打开开关,小车自动运行。
4.1.3数据记录
表2基础部分测试数据
A–C时间
(单位:
s)
C点找平衡时间(单位:
s)
C–B时间
(单位:
s)
B–A时间
(单位:
s)
|dA-dB|
(单位:
cm)
第一次测试
17
55
15
30
3.03
第二次测试
20
57
13
31
3.54
第三次测试
16
53
16
29
2.81
平均
18
55
15
30
3.13
4.1.4测试结果
在A–C,C–B,B–A段上,小车以较快速度前进,只有在C点附近放慢速度。
寻找平衡点用去了大量时间。
4.2发挥部分测试
4.2.1测试仪器与工具
自制跷跷板,秒表,从跷跷板延伸至地面的黑线,游标卡尺
4.2.2测试方法
将配重固定在可调整范围内任一指定位置,将电动车放置在地面距离跷跷板起始端A点300mm以外、90°扇形区域内某一指定位置(车头朝向跷跷板),拨动小车开关,小车自动运行。
4.2.3数据记录
表3发挥部分测试数据
第一次平衡
|dA-dB|(单位:
cm)
第二次平衡
|dA-dB|(单位:
cm)
完成时间
(单位:
s)
第一次测试
2.98
3.07
167
第二次测试
2.83
3.13
172
第三次测试
2.76
2.74
165
平均
2.86
2.98
168
4.2.4测试结果
小车自动上板和寻找平衡点难度较大,耗费时间较多,但在规定时间内完成了全套动作。
4.3结果分析与创新发挥
测试结果显示该系统成功地完成了题目要求,证明了依靠步进电机进行调速并辅之以螺旋桨二级微调的策略是可行的。
本设计创造性地使用了螺旋桨对系统转矩进行二级微调,大大缩短了寻找平衡点的时间。
本设计还加入了语音播报模块,用于进度提示。
5结束语
本设计制作完成了题目要求的基本部分和发挥部分,并在达到了设计要求的基础上进行了一定的创新发挥,整机调试比较成功。
6参考文献
[1]李晓白,秦红磊,朱俊杰,潘涌泽.凌阳16位单片机C语言开发.北京:
北京航空航天大学出版社,2006年
[2]彭军.传感器与检测技术.西安:
西安电子科技大学出版社,2003年
[3]赵广林.电路设计与制版.北京:
电子工业出版社,2005年
[4]漆安慎,杜婵英.力学.北京:
高等教育出版社,2005年
[5]刘海成,秦进平,韩喜春.MCU-DSP型单片机原理与应用.北京:
北京航空航天大学出版社,2006年
7附录
7.1附录一电路图及程序流程图
图4系统总体硬件连接图
图5步进电机细分驱动电路图
图6红外传感器电路
图7音频放大电路
图8总程序流程图
图9平衡点查找函数流程
7.2附录二主程序清单
#include"car_base.h"
#include"motor_speed_shift.h"
#include"obliquity.h"
#include"dis_time.h"
#include"voice_Driver.h"
#defineP_Watchdog_Clear(volatileunsignedint*)0x7012
#defineP_INT_Ctrl_New(volatileunsignedint*)0x702D//SameasP_INT_Mask
externunsignedintR_flag;
externunsignedintL_flag;
externunsignedintNow[7];
unsignedintwait_count;//实现计数5秒钟
unsignedintsum_timer;
voidwait_five();
/*
工程记录:
*/
/*
*/
voidmain()
{
Unsignedintstatus;
sum_timer=0;
status=check_state();//判断状态,基本还是发挥部分
if(status==1)
{
timer();//启动时钟
car_go_line(700,200);//
car_trace_start();
while(R_flag||L_flag)//在这里完成寻迹函数的应用,寻迹是在中断中调用的,其中每秒钟调用10次寻迹函数,是用IRQ4的2khz中断
{
*P_Watchdog_Clear=1;
}
sum_timer=get_now_time();
timer();
car_trace_stop();
car_base_balance();
wait_five();
sum_timer+=get_now_time();
//在这里关断保持平衡的中断
obliquity_stop();
car_trace_start();ppppppppppppppppppp
timer();
//等待5秒钟,如何完成
car_go_line(680,200);//这两个参数都学要调整
while(R_flag||L_flag)//在这里完成寻迹函数的应用,寻迹是在中断中调用的,其中每秒钟调用10次寻迹函数,是用IRQ4的2khz中断
{
*P_Watchdog_Clear=1;
}
car_trace_stop();pppppppppppppppppppppppppp
sum_timer+=get_now_time();
timer();
//等待5秒钟
wait_five();
//car_trace_start();ppppppppppppppppppppppppppppppp
car_go_line(-1380,200);//返回//这两个参数都学要调整
while(R_flag||L_flag)//在这里完成寻迹函数的应用,寻迹是在中断中调用的,其中每秒钟调用10次寻迹函数,是用IRQ4的2khz中断
{
*P_Watchdog_Clear=1;
}
car_trace_stop();
sum_timer+=get_now_time();
timer_stop();
show_sum_time(sum_timer);
play_sum_time(sum_timer);
else
{
car_go_line(700,200);//
car_trace_start();
while(R_flag||L_flag)//在这里完成寻迹函数的应用,寻迹是在中断中调用的,其中每秒//钟调用10次寻迹函数,是用IRQ4的2khz中断
{
*P_Watchdog_Clear=1;
}
car_balance();//寻找平衡
wait_five();//等待5秒
car_trace_start();
timer();
wait_five();
//等待5秒钟,如何完成
Car_balance();//再次查找平衡
Play_timer();//播放时间
}
}
temp&=0xfff7;
*P_INT_Ctrl_New=temp;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电动车 跷跷板 设计 竞赛 论文