1、2007 年 F 题 电动车跷跷板设计系统以凌阳 16 位单片机 SPCE061A 作为电动车的控制核心,选用了上海直川科技有限公司生产的 ZCT245AL-TTL 型倾角传感器测量跷跷板水平方向倾角电动车跷跷板设计报告山东交通学院 禹海岱 刘晓君 董立国摘要: 为了满足电动车跷跷板的设计要求,进行了各单元电路方案的比较论证及确定,系统以凌阳 16 位单片机 SPCE061A 作为电动车的控制核心,选用了上海直川科技有限公司生产的 ZCT245AL-TTL 型倾角传感器测量跷跷板水平方向倾角,该传感器灵敏度高、重复性好且输出 485 信号便于与单片机接口;对于关键的小车动力部分,经过充分比较、
2、论证,最终选用了控制精确的步近电机,其最小步进角 0.9 度,易于平衡点的寻找;通过红外对管 TCRT5000 寻迹,实现了小车走直线等功能;系统显示部分选用图形点阵式液晶显示器 OCJM4*8C,串行接口,编程容易,美观大方。采用单片机内部时钟实现精确计时。最后的实验表明,系统完全达到了设计要求,不但完成了所有基本和发挥部分的要求,并增加了路程显示、全程时间显示和语音播报三个创新功能。关键词:倾角传感器,红外对管,步进电机,SPCE061A1.系统方案1.1 实现方法本题要求设计并制作一辆电动小车,能实现在跷跷板上运动且在不同配重的情况下保持平衡等功能。我们想利用电机控制小车运行,角度传感器
3、测量跷跷板水平方向倾角来确定小车何时达到平衡,利用寻迹模块实现小车沿直线行走以及在 A 点外某处能自动驶上跷跷板,还有显示模块以及语音模块等做为人机界面,实现显示及语音提示等功能。上述各模块的方案论证如下。1.2 方案论证1.2.1 控制器模块方案一:采用 ATMEL 公司的 AT89C51。51 单片机价格便宜,应用广泛,但是功能单一,如果系统需要增加语音播报功能,还需外接语音芯片,实现较为复杂;另外 51 单片机需要仿真器来实现软硬件调试,较为烦琐。方案二:采用凌阳公司的 SPCE061A 单片机作为控制器的方案。该单片机I/O 资源丰富,并集成了语音功能。芯片内置 JTAG 电路,可在线
4、仿真调试,大大简化了系统开发调试的复杂度。根据本题的要求,我们选择第二种方案。1.2.2 电机模块电机模块选择是整个方案设计的关键,按照设计要求,小车需在 C 点和有配重的情况下分别达到平衡状态,这需要对小车的精确控制,而且小车制动性能要好。因此普通直流电机不能满足要求。方案一:采用直流减速电机控制小车的运动,直流减速电机力矩大,转动速度快,但其制动能力差,无法达到小车及时停车的要求。方案二:采用型号 4B2YG 的步进电机控制小车的运动,最小步进角为 0.9度,因此能实现小车的精确控制,而且当不给步进电机发送脉冲的时候,能实现自锁,从而能较好的实现小车及时停车的目的。经过反复的比较、论证,我
5、们最终选用了方案二。该型号步进电机加驱动器后与单片机接口简单,控制方便。1.2.3 角度检测模块角度检测模块也是系统的重要组成部分,我们需要利用角度传感器来测量跷跷板水平方向倾角,当倾角在某个范围之内的时候即可认为跷跷板达到平衡状态。由于跷跷板最大倾角为 5 度左右,角度变化范围较小,因此要求角度传感器精度高,频率快。目前市场上适合的传感器主要有以下两种。方案一:采用深圳市华夏磁电子技术开发有限公司的 AME-B001 角度传感器,0360 度测量范围,但是安装非常不方便,而且电压输出信号,采集不便。方案二:采用上海直川科技有限公司生产的 ZCT245AL-TTL 倾角传感器,测量范围4545
6、 度,精度 0.1 度,输出频率 10 次/s,485 信号输出。在满足设计要求的前提下,考虑到接口、安装方便等因素,我们选择了方案二。1.2.4 寻迹模块通过寻迹模块小车可实现沿预设轨迹行走,并可在距离跷跷板起始端 A 点 300mm 以外、90扇形区域内某一指定位置(车头朝向跷跷板)自动驶上跷跷板。方案一:通过光电开关来实现,它测量距离较远。但是其体积大、成本高、安装起来比较麻烦。方案二:通过红外对管来实现,它测量距离近,但反应灵敏、准确。相比光电传感器而言,其体积较小,价格低,安装较容易.考虑到性价比和简单易行的策略,我们选择方案二.1.2.5 显示模块方案一:用 LED 显示,优点亮度
7、高、成本低。但不能显示汉字,显示内容较少。方案二:采用金鹏电子的图形点阵式液晶 OCJM4*8C。串行接口,显示简单。考虑到本题的要求,只需要一片 LCD 就可以实现,故我们选择方案二。 1.2.6 语音播报模块方案一:通过单片机来控制语音芯片来实现提示信息的播报。但是由于语音芯片成本比较高,而且扩展起来比较复杂,增加焊接难度和设计成本。方案二:采用 SPCE061A 自带的语言模块,简单方便,成本低。经比较,我们选择方案二。1.2.7 电源模块方案一:铅酸电池供电,优点电流大,缺点重量太沉。方案二:电池组供电,可提供 800mAh 电流,重量很轻。经比较,我们选择方案二,用两组 9V 电池组
8、串联给步进电机供电,其中一组经 LM7805 转换后给控制器、传感器等模块使用。1.3 系统设计根据上述方案论证,我们最终确定了以凌阳单片机 SPCE061A 为控制核心,采用型号为 4B2YG 的步进电机控制小车运动,用上海直川科技有限公司生产的ZCT245AL-TTL 倾角传感器来测量跷跷板的水平倾角,利用红外对管寻迹实现走直线等功能,还选用了金鹏电子的图形点阵式液晶 OCJM4*8C 来实时显示倾角、小车运行时间、路程等,最终还利用凌阳单片机 SPCE061A 自带语音功能实现小车平衡时语音播报。1.4 结构框图根据上面的分析论证,我们设计的系统的总体结构框图如图 1 所示。 2.理论分
9、析与计算根据题目说明,只要跷跷板两端与地面的距离差小于 40mm 即可认为平衡,本设计通过倾角传感器检测跷跷板水平倾角,所以只要水平倾角保持在 0 度附近的某个角度范围之内,即可认为跷跷板达到平衡状态。其闭环结构框图如图2 所示。 该系统的工作原理是:小车驶上跷跷板后,通过倾角传感器不断的测量跷跷板的倾角(即实际倾角),该实际倾角与给定倾角作比较,形成倾角偏差,通过步进电机控制小车前后微移,不断修正该倾角偏差,最终使倾角保持在给定范围之内。此时跷跷板便达到平衡状态。设计中小车车轮的周长为 240mm,电机最小步进角为 0.9 度,因此电机每步进一步小车移动距离 x 为:x=240*0.9/36
10、0=0.6mm可见,小车位移量是很小的。因此我们能实现小车前后微位移的控制,从而使跷跷板较易达到平衡状态。小车所走各段所需脉冲数的计算(以 AC 段为例):(1)起点 A 至中点 C 的距离 AC=800mm;(2)测量小车车长 L=270mm,小车重心约在车身靠后约 4/5 处;(3)上面计算电机每步进一步小车移动距离为 x=0.6mm;因此 AC 段所需脉冲 n=(AC-L*1/5)/0.6=1243.3;从而可计算出 AB 段所需脉冲数 m=2n=2*1243.3=2486.7;3.电路与程序设计3.1 检测与驱动电路设计倾角传感器 ZCT245AL-TTL 与控制器接口电路如图 3 所
11、示,驱动电路如图 4所示:图 3 倾角传感器接口电路图 图 4 步进电机与驱动器接口电路图3.2 总体电路图见附录3.3 软件设计与工作流程图3.3.1 软件设计软件实现的功能如下:读倾角传感器角度;给步进电机步进脉冲;寻迹 语音播报;倾角、时间、路程显示; 汇总 3.3.2 工作流程图系统的主程序流程图如图 5、图 6 所示:4.结果分析4.1 创新发挥1)通过计算步进电机发送脉冲个数确定小车运行路程,并实时显示。2)利用语音播报功能很好的实现了小车平衡时的播报工作。3)通过单片机内部定时器精确定时,实现总运行时间实时显示。4.2 结果分析4.2.1 测试仪表4 位半数字万用表(MASTEC
12、H MY-65),双踪示波器(YB4325),游标卡尺,秒表,电子称,计算器,直尺。4.2.2 跷跷板平衡状态倾角范围的确定在闭环控制系统中,如果给定角度恒定为 0 度,由于外界干扰,实际控制系统中很难实现,因此,在系统设计中,给定角度设为某一角度范围,当实际角度在该范围之内,即可认为跷跷板平衡。我们通过实验观察跷跷板的平衡状态,来减小或扩大角度范围,得数据如表 1 所示。根据表 1 实验数据,我们最终确定给定角度范围为-2.2 度到+2.2 度。表 1 倾角范围的确定角度设定范围 平衡效果-3.5 度到+3.5 度 差-2.7 度到+2.7 度 良-2.2 度到+2.2 度 优-1.8 度到
13、+1.8 度 良-1.0 度到+1.0 度 差4.2.3 小车运行固定距离需给脉冲数目的确定(以 AC 段为例)当小车需运行固定距离,我们通过公式计算了步进电机应走的步数,但实际采用时结果并不令人满意,主要是因为车轮与跷跷板之间可能会出现打滑现象,导致当步进电机发一个脉冲,小车前进并不一定达到 0.6mm。因此我们通过多次实验测试,在理论值左右寻找最优值,最终确定脉冲数目。以 AC 段为例,AC 段距离 800mm,经理论计算需发脉冲 1243 步,经多次实验测试得下表数据:表 2 AC 段需脉冲数目的确定脉冲数目 与 C 附近平衡点相差距离1243 +12.2mm1260 +5.4mm126
14、9 -3.0mm1264 +1.4mm根据上述实验数据,我们最终确定 AC 段实际发送脉冲数目为 1264 个。4.2.4 小车运行过程各种状态所需时间测试表 3 基本功能所用时间表状态时间(S)AC 寻平衡时间 保持平衡 5秒CB 停止 5秒BA控制器显示15.2 33.8 5.0 14.8 5.0 31.1秒表实测 15.5 34.6 5.1 14.9 5.1 31.9表 4 扩展功能所用时间表状态时间(S)上坡时间寻平衡 1时间保持平衡5 秒寻平衡2 时间保持平衡5 秒总计控制器显示 21.0 45.2 5.0 52.1 5.0 128.3秒表实测 21.4 46.3 5.1 52.0
15、5.1 129.9由于步进电机能精确控制小车前后微移,因此寻找平衡所用时间较短;通过程序对电机运行速度适当设置,使各状态所用时间完全能满足系统要求;因为控制器显示的时间是通过内部定时器定时实现的,所以精度高,显示时间准,其与秒表实测值之间的微小误差是由测量误差所引起的。5.结语通过测试,系统完全达到了设计要求,不但完成了基本要求,发挥部分的要求,并增加了路程显示、全程时间显示和语音播报三个创新功能。同时我们自己也得到了很好的锻炼。参考文献1罗亚非. 凌阳 16 位单片机应用基础. 北京:北京航空航天大学出版社,2003.12 2童诗白. 模拟电子技术基础 第三版. 北京:高等教育出版社,2001.13孙肖子. 实用电子电路手册(模拟分册).北京:高等教育出版社,19924谭浩强. C 语言程序设计(第二版). 北京:清华大学出版社,2000 5黄智伟. 全国大学生电子设计竞赛训练教程. 北京:电子工业出版社,2005附录附图 1 凌阳主板附图 2 电源模块附图 3 液晶接口电路图附图 4 红外对管传感器处理电路图