智能小车的直流电机控制参考模板_第1页
智能小车的直流电机控制参考模板_第2页
智能小车的直流电机控制参考模板_第3页
智能小车的直流电机控制参考模板_第4页
智能小车的直流电机控制参考模板_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能小车的直流电机控制【实验目的】了解以单片机为核心的直流电机控制系统掌握此系统中直流电机驱动与调速原理熟悉ICCAVR 软件编译环境,会编写控制程序【实验器材】智能小车一部,下载线一根【实验原理】直流电机驱动控制系统示意图:在本实验中所分析的是以单片机ATMEGA8515L 为核心的直流电机控制系统。ATMEGA8515L 芯片的引脚图如下:功放驱动电路采用基于双极性H-桥型脉宽调整方式PWM 的集成电路L293D。L293D是单块集成电路,高电压,高电流,四通道驱动,设计用来接受DTL 或者TTL 逻辑电平,驱动感性负载(比如 继电器,直流和步近马达),和开关电源晶体管。其引脚图如下:1

2、/ 8ATMEGA8515L 利用I/O 口(PD5,PE2,PD4,PD6)向驱动电路输出控制电平,这些I/O口作为单片机控制指令的输出,连接到驱动电路中L293D 的相应管脚上。其真值表如下:对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变在始能端PE2 和PD5 上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。此实验中用

3、微处理机来实现脉宽调制,通常的方法有两种:(1)用软件方式来实现,即通过执行软件延时循环程序交替改变端口某个二进制位输出逻辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。(2)硬件电路自动产生PWM 信号,不占用CPU 处理的时间。这就要用到ATMEGA8515L 的在PWM 模式下的计数器1,具体内容可参考相关书籍。【实验步骤】(1) 连接好电路,把数据线,下载线连接好,打开电源(2) 进入ICCAVR 编译环境,调试程序直至没有错误,编译环境简介请参见附录一(3) 下载,烧录进单片机,观察实验结果(4) 反复修改调试程序,逐渐增强其功能(5) 写好实验报告,实验心得体会【程序

4、示例】1、小车前进一段>左转一圈>右转一圈>前进一段>后退一段>停下/ICC-AVR application builder : 2005-5-19 19:12:13/ Target : M8515/ Crystal: 4.0000Mhz#include <iom8515v.h>#include <macros.h>unsigned int time;unsigned int yan;void port_init(void)PORTA = 0x00;DDRA = 0xFF;PORTB = 0x00;DDRB = 0x00;PORTC = 0

5、x00;DDRC = 0x00;PORTD = 0x00;DDRD = 0xFF;PORTE = 0x00;DDRE = 0xFF;/call this routine to initialize all peripheralsvoid init_devices(void)/stop errant interrupts until set upCLI(); /disable all interruptsport_init();MCUCR = 0x00;EMCUCR =0x00;GICR = 0x00;TIMSK = 0x00;SEI(); /re-enable interrupts/all p

6、eripherals are now initializedvoid delay(unsigned int yan)while(yan>0)yan-;void runforth(void)while(time<1000)PORTE=0x04;PORTD=0x70;delay(2000);time+;time=0;void zuozhuanwan(void)while(time<1000)PORTE=0x00;PORTD=0X70;delay(2000);time+;time=0;void youzhuanwan(void)while(time<1000)PORTE=0x

7、04;PORTD=0x50;delay(2000);time+;time=0;void houtui(void)while(time<1000)PORTE=0x04;PORTD=0x20;delay(2000);time+;time=0;void stop(void)PORTE=0x00;PORTD=0x00;void main(void) init_devices();time=0;runforth();zuozhuanwan();youzhuanwan();runforth();houtui();stop();2、调速程序以下是用两定时器来控制加在两方向控制口的方波占空比,以此来对电

8、机进行调速,而同学们可以利用对两始能端高低电平进行不同延时来实现调速功能。/ICC-AVR application builder : 2005-5-18 16:45:27/ Target : M8515/ Crystal: 4.0000Mhz#include <iom8515v.h>#include <macros.h>unsigned char a;unsigned char p;unsigned char m;unsigned char n;void port_init(void)PORTA = 0x00;DDRA = 0x00;PORTB = 0x00;DDRB

9、 = 0x00;PORTC = 0x00;DDRC = 0x00;PORTD = 0x00;DDRD = 0x70;PORTE = 0x00;DDRE = 0x04;/TIMER0 initialize - prescale:64/ WGM: Normal/ desired value: 40Hz/ actual value: Out of rangevoid timer0_init(void)TCCR0 = 0x00; /stop timerTCNT0 = 0xfa /*INVALID SETTING*/; /set count valueTCCR0 = 0x03; /start timer

10、#pragma interrupt_handler timer0_ovf_isr:8void timer0_ovf_isr(void)TCNT0 = 0xfa /*INVALID SETTING*/; /reload counter valueif(m=a)PORTD=0x70;TCCR1B=0x03;TCCR0=0x00;n=1;elsem+;/TIMER1 initialize - prescale:64/ WGM: 0) Normal, TOP=0xFFFF/ desired value: 40Hz/ actual value: 40.013Hz (0.0%)void timer1_in

11、it(void)TCCR1B = 0x00; /stopTCNT1H = 0xff; /setupTCNT1L = 0xfa;OCR1AH = 0x06;OCR1AL = 0x1A;OCR1BH = 0x06;OCR1BL = 0x1A;TCCR1A = 0x00;TCCR1B = 0x00;#pragma interrupt_handler timer1_ovf_isr:7void timer1_ovf_isr(void)TCNT1H = 0xff; /reload counter high valueTCNT1L = 0xfa; /reload counter low valueif(n=250-a)PORTD=0x20;TCCR0=0x03;TCCR1B=0x00;m=1;if(p=0)if(a=125)p=1;elsea+;elseif(a=1)p=0;elsea-;elsen+;/call this routine to initialize all peripheralsvoid init_devices(void)/stop errant interrupts until set upCLI(); /disable all interruptsport_init();timer0_init();timer1_i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论