资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
课程设计报告设计题目: 遥控小车 基于51单片机的步进电机调速系统学 院: 专 业: 班 级: 学 号: 姓 名: 电子邮件: 时 间: 成 绩: 指导教师: 华 南 农 业 大 学理 学 院 应 用 物 理 系课 程 设 计(报告)任 务 书学生姓名 指导教师 职称 学生学号 专业 电子信息科学与技术 题目 基于51单片机的步进电机调速系统(遥控小车)任务与要求1. 设计并制作电路,利用单片计控制步进电机运转。2. 通过键盘可以不间断地设定改变电机的转速、转向。3. 利用显示器实时显示转速等参数。4. 扩展功能:可设定转动步数。开始日期 2014 年3 月 完成日期 2014 年3 月 1 引言步进电机是一种将电脉冲转化为角位移的执行机构。目前,步进机已经广泛应用于领域,例如工业生产中的机械臂的控制,照明装置和监控摄像机转动等。步进机在装置转动、精确位移方面有很重大的作用。本系统是基于STC89C51 单片机的遥控小车。采用STC89C51单片机作为控制核心,通过ULN2003A驱动步进机(28BYJ-48)转动,由按键和显示屏1602组成人机交互模块,同时通过315M无线发射和接收模块向单片机输入控制信号,将整个系统固定于简易小车上,最终实现小车测试和远程遥控功能。基本达到预定的设计要求以及功能的扩展。2 系统的设计与理论分析2.1 系统总体设计2.2 理论分析本设计分为两种工作模式:测试模式、遥控模式。在电路板上有一个带锁的开关进行设置。测试模式工作时,通过控制小车上的按键进行加速、减速、反转、设置、步数增、步数减等按键,单片机扫描按键,通过软件控制液晶模块显示对应的转速、设置的速度和步数,同时控制步进机模块进行相应的转动。步进机的是由ULN2003A达林顿管驱动,由单片机控制输入脉冲的频率来控制步进机的转速,单片机是通过程序查表对4个I/O口输出脉冲,本次设计采用的是两相四线减速步进机,步进角为5.625,减速比为64:1,程序采用的是8拍查表,具有较好的扭矩。遥控模式工作时,遥控部分五个按键分别输入前、后、左、右、暂停,单片机扫描按键,通过无线发射模块发射串行编码,小车的无线接收模块接收对应的编码,送至单片机进行解码,从而控制液晶模块的显示和步进机模块的工作,进而完成功能。设定单通道无线收发模块通信协议为:下降沿: 1ms的高电平,随后500us的低电平。起始位: 4ms的高电平,随后4ms的低电平。数据1: 2ms的高电平,随后500us的低电平。数据0: 1ms的高电平,随后500us的低电平。结束位:4ms的低电平。发送指令程序为:下降沿,起始位,3个数据位,结束位发送编码为:右转:000前进:001后退:010左转:011接收程序通过触发外部中断1来接受信号,当P3.3口收到下降沿信号是即开始接收数据。3 硬件系统设计3.1 总体电路图3.2 单片机最小系统3.3 步进机模块本次设计采用的是两相四线减速步进电机,步进角为5.625,减速比为64:1 采用ULN2003达林顿管驱动。3.4 液晶显示模块液晶显示模块采用LCD1602显示屏。3.5 测试按键模块3.6 遥控器部分4 软件系统设计 4.1 主函数4.2 遥控模式程序4.3 测试模式程序4.4 键盘扫描程序5 系统运行情况分析打开小车开关后,按下“测试”按键,小车进入测试模式。连续按 “加速”按键时,小车轮子转速明显变快;连续按“减速”按键时,小车轮子转速逐渐变慢;按“反转”按键轮子转速反向。按“设置”按键会看到液晶显示屏关标闪烁,按“设置”键使光标移动,按“+”、“-”设置小车速度和步数,再一次按“设置”键,小车会依照这顶要求行驶。按“测试”按键使其弹起,测试小车进入遥控模式工作时,打开遥控器,分别按下“前”、“后”、“左”、“右”,小车会依照对应的方向行驶,按下“暂停”键时,小车停止。由此,改系统基本达到设计要求及拓展功能的要求。不过因为本设计采用的28BYJ-48步进机为减速步进机,转动的上限值比较下,导致小车的行驶效果较慢,这个问题可以通过课后改用其他型号计算机得以解决。6 总结与讨论经过四个星期的单片机课程设计,终于完成了基于51单片机的步进电机调速系统的设计,基本达到设计要求。同时自己在该系统上扩展无线收发模块,将该系统拓展为遥控小车。在本次设计的过程中,我们组成员进行了热烈讨论及反复的斟酌、修改。首先对需要用到的元器件的参数进行充分的了解,然后在计算机上用Proteus进行了与Keil软件的联动仿真。确认仿真正确看是硬件的焊接与调试。在实验过程中,我们也遇到了许多问题,如步进机转动不起来、液晶屏显示乱码等,但是经过不断的探索、思考、验证,我们最终克服了种种困难,解决了所遇到的问题,成功地完成了这个课程设计。在这个过程中,除了学习到关于本次设计的一些专业知识、电路焊接实践经验外,同时,大家的刻苦耐劳、团队合作的品质也得到了充分的锻炼。附1:实物图:图1 遥控小车图2 遥控器附2:参考文献1 李朝青. 单片机原理及接口技术M.第3版. 北京航空航天大学出版社, 2005.2 杨素行. 模拟电子技术基础简明教程M. 第三版. 高等教育出版社, 2006.附3:组内分工:A.庞明辕:电路焊接、单片机编程、电路调试、辅助完成设计报告。B.杜烁:电路焊接、单片机编程、辅助方案改进、辅助完成设计报告。C.汤安琪:电路焊接、数据采集、完成设计报告。附4:元器件清单表格元件数量STM89C51216022ULN2003A228BYJ-482315M无线收发模块2简易小车1其它(开关、电池)若干评语: 成绩: 附:程序代码:/*单片机课程设计C语言程序*题目:基于步进机的小车成员:汤安琪、庞明辕、杜烁。日期:2014-3-1*/#include #define uchar unsigned char#define uint unsigned intsbit a = P10; /反向sbit b = P11; /减速sbit c = P12; /加速sbit d = P13; /开关sbit f = P14; /设置sbit g = P15; /加sbit h = P16; /减sbit lcden = P37; /1602使能sbit lcdrs = P36; /1602写命令/数据选择端sbit trans = P33; /射频串行输入端bit n,p;uint step,time,flag,flag1,num,snum,setnum,stepnum,count,temp,sum,t,e,j,k,m;uchar v0,v1,v2,count1,num1,temp1;uchar code table1 = 0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99;/左uchar code table2 = 0x11,0x99,0x88,0xcc,0x44,0x66,0x22,0x33;/右uchar code table3 = 0x11,0x93,0x82,0xc6,0x44,0x6c,0x28,0x39;/后uchar code table4 = 0x11,0x39,0x28,0x6c,0x44,0xc6,0x82,0x93;/前uchar code table5 = SPEED: 000 r/h;uchar code table6 = SET:000 STEP:000;/*-延时程序 -*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=10;y0;y-);void delay1(uint z) /10usuchar a,b,x; for(x=0;x0;b-) for(a=2;a0;a-);/*-LCD1602写命令程序 -*/void write_com(uchar com)lcdrs = 0;P0 = com;delay(5);lcden = 1;delay(5);lcden = 0;/*-LCD1602写数据程序 -
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号