1、1.1 整体分析与设计.41.2 控制芯片的比较和选择 .41.3 遥控控制的方案比较和选择.41.4. 总体设计框图.4第二部分 设计与论证.52.1 硬件设计.52.1.1 51最小系统.52.1.2 LM2940稳压电源模块.52.1.3 L298电机驱动模块.52.1.4 按键系统.62.1.5 测速模块.62.2 算法分析与软件设计 . .72.3.1 算法设计框图与思想.72.3.2 具体算法实现.7第三部分 理论分析与计算.123.1.1 电机参数.123.1.2 直角拐角计算.123.1.3 测速模块的计算.12第四部分 调试结果. . .13第五部分 设计总结 .144.1
2、调速结果.144.2 参赛感悟.14附录一 参考文献.14附录二 系统源代码.14基于51单片机的画画小车的设计【摘要】 智能小车是大学阶段一个重要的学习、制作内容。本系统是基于51单片机的画画小车。该小车通过L298模块驱动轮子转动,利用测速模块精确的绘制图案。即是小车通过2个码盘和2个红外对管利用读回的脉冲数与定时器配实现小车行走距离的测量。本迷宫小车实用性强,安全可靠性高,价格低廉,简单易用,有较好的性能。【关键词】 智能小车 画画小车 红外控制 码盘测速 一、 方案比较和选择1.1 整体分析与设计整个系统是基于51单片机的画画小车。该小车通过L298模块驱动轮子转动,利用测速模块精确地
3、绘制图案。1.2 控制芯片的比较和选择方案一:采用MC9S12DG128单片机,该单片机以运算速度很快的CPU12内核为核心的单片机,经过锁相环后,时钟频率可达到40MHz,内部Flash高至128KB,拥有2组各8路10位A/D、16路I/O口,有功能强大的8位PWM输出共8路,以及8路16位增强型定时器(ECT),相比STC89C52单片机它编程更加简单,反应速度快;但是成本较高且短时间内不易掌握。方案二:采用STC89C52单片机,该单片机是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使
4、得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口 。其完全可以满足本设计对小车功能的要求,并且价格便宜;所以本设计最终选用STC89C52单片机作为其控制芯片1.3 遥控控制的方案比较和选择由发射和接收两大部分组成红外遥控系统,应用编/解码专用集成电路芯片来进行控制操作,传感器采用HX1838,灵敏度高,在市场上非常普及,价格便宜,且红外遥控模块相对结构比较简单。
5、缺点是控制范围小。无线电遥控也由发射和接收两大部分组成,传输距离远、抗干扰能力强、无方向性等优点,对于小车的控制是一个不错的选择,但是但是无线电遥控相对于方案一的的红外遥控价格要贵上好几倍,所以今天的画画小车画画范围较小,综合考虑之下,我们选择了方案一1.4. 总体设计框图二、 设计与论证2.1 硬件设计2.1.1 51最小系统本模块采用51系列单片机作为核心处理器。单片机控制系统基本由最小系统和外围信号I/O口组成,其中最小系统包括电源(地),CPU时序电路(一般使用11.0592M或者12M和30P电容组成),复位电路。2.1.2 电源模块 5V稳压电源模块不只为51单片机供电,而且还要为
6、传感器和红外模块等供电考虑两次到小车可能做频繁的加速,减速动作使得电池两端电压会有较大的波动,因此为了确保系统能正常工作避免单片机意外的重启,在电源输入端加上旁路电容。如图4.1所示,为了消除来自电源的干扰,在输入端分别接入了电容值比较大的的电解电容和瓷片电容2.1.3 L298N电机驱动模块该模块采用了L298N双H桥直流电机驱动芯片,驱动电机部分VIN采用+9V直流电源供电,同时模块上安装了L78M05稳压器对vin的输入进行稳压,逻辑部分VCC采用+5V供电,小车运行时通过单片机向该模块1、2、3、4脚输入控制信息来控制小车电机的转速2.1.4 按键系统 为了实现最后的现场按图画画功能,
7、我们设计了按键模块,当按下1键时,端口4就会接上低电平,之后输入到单片机的IO口,触发直走功能,每按一下代表走了10cm。2键是右拐,3键是左拐,4键是确认键。2.1.5 测速模块槽型内没有障碍物时,将模块接上电源后,用万用表测OUT0输出端电压。此时的电压应接近电源电压,D1指示灯不亮;当用大于2MM的透明物体通过槽型光电,OUT输出端电压为0.3V 左右,D1指示灯亮(表示已检测到物体)。2.2 算法分析与软件设计采用PWM控制输出占空比,从而达到控制电机转速的的目的。PWM的定时器计数频率为1KHZ。由于左右电机机械特性不同,通过输出不同占空比而使两个电机转速一致。主要程序:void k
8、ey_scan() /走直线 if(key1=0) delay(10); /去抖动 if(key1=0) while(!key1); /等待按键释放 delay(500); TMOD=0X01; TH0= 0XF8; /1ms定时 TL0= 0X30; TR0= 1; ET0= 1; EX0=1; /开启外部中断0 IT0=1; /下降沿有效 EX1=1; /开启外部中断1 IT1=1; IE0=0; /清中断标志位 IE1=0; EA = 1; qianjin(60); if(key2=0) /画矩形 if(key2=0) key2); qianjin(40); turn_right90()
9、; if(key3=0) /凹字 if(key3=0)key3); IT0=1; qianjin(90); turn_right90(); qianjin(60); qianjin(30); turn_left90(); if(key4=0)key4); /防止按键时阻止小车前进 while(1) /kou zi qianjin(15); if(key5=0) if(key5=0)key5); buzounum=1; num+;if(key6=0) if(key6=0)key6); buzounum=2;if(key7=0) if(key7=0)key7); buzounum=3;if(key
10、8=0) if(key8=0)key8); num=0; while(buzounum!=0) switch(buzounum) case 1:qianjin(10);break; case 2:turn_right90(); case 3:turn_left90(); buzounum=0; num+; num=0; EA=0;第三部分 理论分析与计算3.1 电机参数3.2 直角拐弯的计算小车轮子周长约21CM,测速码盘共有20个间隔。转过直角的路程约10CM,需要触发10个脉冲。经调试,定为8个脉冲。3.3 测速模块的计算20个脉冲对应于21CM,已此为基础计算各种线段。误差部分使用延时进行修正。第四部分 调试结果在外部干扰较小的情况下,可以走出较理想的40CM、80CM、100CM的线段和40*60的矩形。“凹”字和“田”字,累积误差较大。第五部分 设计总结过一个月的努力,小组成员分工合作,分别从硬件、驱动、算法三方面入手,对小车进行合理的设计,最终完成作品。一个个夜晚我们守在电脑前,修改着电路,程序,攻克一个又一个的难题。最终,完成项目。通过本次比赛,我们不仅学习了书本上学习不到的知识,同时,掌握了自主探索,自主学习的方法与技巧,为我们以后研究学习奠定了基础。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1