1249.单片机实现智能小车的方案报告.doc

上传人:仙人指路1688 文档编号:2390196 上传时间:2023-02-17 格式:DOC 页数:14 大小:161.50KB
返回 下载 相关 举报
1249.单片机实现智能小车的方案报告.doc_第1页
第1页 / 共14页
1249.单片机实现智能小车的方案报告.doc_第2页
第2页 / 共14页
1249.单片机实现智能小车的方案报告.doc_第3页
第3页 / 共14页
1249.单片机实现智能小车的方案报告.doc_第4页
第4页 / 共14页
1249.单片机实现智能小车的方案报告.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《1249.单片机实现智能小车的方案报告.doc》由会员分享,可在线阅读,更多相关《1249.单片机实现智能小车的方案报告.doc(14页珍藏版)》请在三一办公上搜索。

1、简易智能小车的设计报告小车智能控制系统任务书1、任务设计小车智能控制系统,设计实现小车的智能控制:前进、后退、左转、右转等基本运动,以及以上运动的组合。2、要求2.1、基本要求:(1)小车直线前进5m、直线后退5m、起点、终点误差不大于10cm;(2)小车左转、右转运动;(3)小车前进、后退、左转、右转等基本运动的组合;2.2、发挥部分(1)实现小车做半径为1米的圆周运动;(2)300秒内完成(1),误差不大于10秒。摘要本设计采用89c51单片机对步进电机进行控制,采用PWM脉宽调制方式实现对直流电机转速的控制,采用H型驱动电路控制电机转向。并能以LED方式显示路程和时间。通过IO口输出的具

2、有时序的方波作为步进电机的控制信号,信号经过芯片L298N驱动步进电机实现智能小车的方向控制。关键词: 步进电机 直流电机 单片机 数码管 AbstractIn this design ,The controller kernel of this electronical dolly is based on MCU 89c51.PWM circuit is used to control the rotational speed of electronic engine ;class H motor drive circuit is used to control the rotational

3、 direction of electronic engine.3 系统设计总统框图传感器检测单片机转向驱动行使驱动LED显示后轮直流电机前轮步进电机4 模块方案比较与设计4.1 步进电机驱动电路选择与设计方案1:使用多个功率放大器件驱动电机 通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。但是由于使用的是三相的步进电机,就需要对三路信号分别进行放大,由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。 方案2:使用L298N芯片驱动步进电机 L298N芯片可以驱动两个二相电机(如图11),也可以驱动一个三相电

4、机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。 图(1)通过比较,使用L298N芯片充分发挥了它的功能,能稳定地驱动步进电机,且价格不高,故选用L298N驱动电机。而使用L298N时,可以用L297来提供时序信号,可以节省单片机IO口的使用;也可以直接用单片机模拟出时序信号,由于控制并不复杂,故选用后者。通过L298N构成步进电机的驱动电路,电路图如图32所示4.2 直流电机驱动电路的选择与设计 方案1.采用电阻网络分压法或数字电位器调整电动机的分压,从而达到调速的目的,但电阻网络只能实现有级调速,而数字电阻的元件价格

5、高,且可能存在干扰,更主要的问题是一般电动机的电阻比较小,但电流很大,分压不仅降低效率,而且实现困难。 方案2 采用PWM驱动电路直流电动机的驱动电路主要用来控制直流电动机的转动方向和转动速度。改变直流电动机两端的电压可以控制电动机的转动方向。在此可以采用由小功率三级管8050和8550组成的H型PWM电路。在此我们采用方案2. 直流电动机PWM驱动电路如图所示,电路采用功率三级管8050和8550,以满足电动机启动瞬间的大电流要求。 当A输入为低电平,B输入为高电平时,晶体管放大器VT3,VT2导通,VT1,VT4截止。VT3,VT2与电动机一起形成一个回路,驱动电动机正转。当A输入为高电平

6、,B输入为低电平时,晶体管VT3,VT2截止,VT1,VT4与直流电机形成回路,驱动电动机反转。4个二级管起到保护晶体管的作用。功率晶体管采用TP521光耦器驱动,将控制部分与电动机驱动部分隔离。光耦器的电源为+5V,H型驱动电路中晶体管功率放大器VT3,VT1的发射极所加的电源为12V。4.3路程计算模块的选择与设计方案1:采用霍尔集成片。该器件内部有三片霍尔金属板组成,利用霍尔效应而产生电压,因此可以在车轮上安装磁片,而将霍尔元件固定在车架上,通过对脉冲的计数实现路程的测量。方案2:采用光电传感器受鼠标工作原理的启发,采用断续式光电开关,由于开关是沟槽结构,可将其置于固定轴上,在车轮上安装

7、多个遮光条,让其恰好通过沟槽,产生一个脉冲,对脉冲计数。 以上两种方案都是较可行的,但在本题中车轮较小,方案1安装困难,容易产生干扰,相反,方案2的精度高,故我们采用方案2。当光敏二级管接收到光时,VT1和VT2导通, VT3不能导通,A点为高电平,此时MCU口收到的电平为高电平;当光敏二级管未接收到光源时,则VT1和VT2不导通,VT3导通,A点输出低电平。,MCU口接收到方波计数。4.4 电机稳速的设计高性能可变速度稳定器电路如图2所示。它可用作宽范围速度可变的场合。 图中电机的电源是经过317K三端稳压器集成电路输出。电机的电流经R5和RV2取样,把部份电压送到IC2和Q1组成的同相直流

8、放大器。Q1发射极电压正比于电机负载电流。 三端稳压器的输出电压等于本身的输出电压再加上Q1发射极上的电压。因此,当电机负载增加时,电路输出电压将自动上升,增加电机的驱动能力,保持电机速度不变。为了保持有负载与无负载时,电机的速度相同。首先调节RVl使电机的转速为最大转速的三分之一。然后调节RV2到额定转速。5.系统的软件设计智能小车的控制器采用ATMEL公司的AT89C51,因为在程序中不需要涉及精确的实时操作,所以使用C语言进行编写,这样可以大大提高效率。5.1程序设计流程图参考文献: 1谢自美电子线路设计、实验、测试M武汉:华中理工大学出版社,2000. 附:系统原程序/定义头文件#in

9、clude#include#define uchar unsigned char#define uint unsigned int/*#define dl 50uchar idata plus7=0x01,0x03,0x02,0x06,0x04,0x05,0x00;uchar idata minu7=0x01,0x05,0x04,0x06,0x02,0x03,0x00;Ucharcode tabe=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar k=0;uchar idata *x;uint dr;sbit motor1=P12;

10、sbit motor2=P13;sbit p1_7=P17;/延时子程序void delays(void) int j,k; for(k=0;k1000;k+) for(j=0;j1000;j+); /步进电机控制void stp(cf,n) bit cf;uint n;uint i;if (cf=0) x=&plus0;else x=&minu0; TMOD=0x01; TH0=(65536-dl*500)/256; TL0=(65536-dl*500)%256; TR0=1; ET0=1; EA=1; for(i=0;in;i+) while(k=0); k=0; void delay(v

11、oid) interrupt 1 using 1 P1=*x+; if(*x=0) x=x-6; TH0=(65536-dl*500)/256; TL0=(65536-dl*500)%256; k=1;/直流电机控制void dc(void) uint z; if(z=0) motor1=1; motor2=0; else motor1=0; motor2=1; /计数子程序 void count(void) uchar k=0; IE0=1; IT0=1; EA=1; EX0=1; while(!k); k=0; return; timer0() interrupt 0 using 0 co

12、unt+; /显示子程序 void delay(m); void display(unchar *p) uchar i; float n; uchar data BUFFER4=0,0,0,0; unit j,k=0;n=(1.9625)*(*p); j=n; BUFFER0=(j/1000); BUFFER1=(j%1000)/100); BUFFER2=(j%100)/10); BUFFER3=(j%10); SCON=0; while(1) for(i=0;i0;i-) TMOD=0x01; TH0=0xd8; TL0=0xf0; TR0=1; while(!TF0); TF0=0; /

13、停车子程序 void stop(void) asm MOV 23H,#00H CPL P3.6 CPL P3.7 LCALL DS50MS LCALL DS50MS SETB P1.0 /7ms延时DS50MS: LCALL DISP LCALL DISP LCALL DISP/1ms延时DL1MS: MOV R6,#14H DL1: MOV R7,#19HDL2: DJNZ R7,DL2 DJNZ R6,DL1 RET /系统主函数 main() if(count=0) dc(0); else if(count=5) dc(1); else if(count=10) dc(0); if(dr=0) stp(0,10); else stp(1,10); display()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号