基于ATmega16单片机的直流电机控制毕业论文.doc

上传人:小小飞 文档编号:3919952 上传时间:2019-10-10 格式:DOC 页数:15 大小:2.02MB
返回 下载 相关 举报
基于ATmega16单片机的直流电机控制毕业论文.doc_第1页
第1页 / 共15页
基于ATmega16单片机的直流电机控制毕业论文.doc_第2页
第2页 / 共15页
基于ATmega16单片机的直流电机控制毕业论文.doc_第3页
第3页 / 共15页
基于ATmega16单片机的直流电机控制毕业论文.doc_第4页
第4页 / 共15页
基于ATmega16单片机的直流电机控制毕业论文.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《基于ATmega16单片机的直流电机控制毕业论文.doc》由会员分享,可在线阅读,更多相关《基于ATmega16单片机的直流电机控制毕业论文.doc(15页珍藏版)》请在三一文库上搜索。

1、青岛科技大学开放实验报告院校:专业:电气工程及其自动化年级:13级1班实验名称:基于Atmega16.单片机直流电机控制实验姓名:学号:同组者姓名:同组者学号: 指导教师:基于ATmega16单片机的直流电机控制摘要:随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用,因此,对电机调速的研究有着积极的意义.长期以来,直流电机被广泛应用于调速系统中,而且一直在调速领域占居主导地位,这主要是因为直流电机不仅调速方便,而且在磁场一定的条件下,转速和电枢电压成正比,转矩容易被控制;同时具有良好的起动性能,能较平滑和经济地调节速度。因此采用直流电机调速可以得

2、到良好的动态特性。由于直流电动机具有优良的起、制动性能,宜与在广泛范围内平滑调速。在轧钢机、矿井卷机、挖掘机、金属切削机床、造纸机、高层电梯等领域中得到广泛应用。近年来交流调速系统发展很快,然而直流控制系统毕竟在理论上和在时间上都比较成熟,而且从反馈闭环控制的角度来看,它又是交流系统的基础,长期以来,由于直流调速系统的性能指标优于交流调速系统。因此,直流调速系统一直在调速系统领域内占重要位置。 关键字:直流电机 调速Based on ATmega16 single chip microcomputer control of dc motorAbstract: with the progress

3、 of era and the development of science and technology, motor speed control system in industrial and agricultural production, transportation and daily life is playing a more and more important role, therefore, the study of motor speed regulation has a positive meaning. For a long time, the dc motor i

4、s widely applied to speed regulation system, and has been occupy dominant position in the field of speed adjustment, mainly because the dc motor speed regulation not only convenient, and in certain conditions, the magnetic field is proportional to the speed and the armature voltage, torque is easy t

5、o control;Has a good starting performance at the same time, can adjust the speed is relatively smooth and economically.So the dc motor speed control can get good dynamic characteristic.Due to the dc motor has excellent starting and braking performance, appropriate and smooth speed regulation in wide

6、 scope.In the rolling mill, mine winder, excavator, metal cutting machine, paper machine, is widely used in high-level elevator, etc.Ac speed regulating system develops very fast in recent years, however, dc control system in theory and in time, after all, are mature, and from the feedback closed-lo

7、op control point of view, it is the basis of communication system, for a long time, because of the performance index is better than that of ac speed regulation system of dc speed regulating system.Therefore, dc speed regulation system has been in the field of speed control system.Key words: dc motor

8、 speed control目录一、 引言.51.直流电机的研究意义 2.设计方案二、L298N电机驱动芯片(模块).6三、ATmega16单片机的PWM功能.7四、系统设计框架.7五、系统电路设计.8六、附录.9 1.C程序源代码 2.实物图七参考文献.14一、引言1.直流电机的研究意义电气传动是现在最主要的机电能量变化形式之一,在当今社会中广泛使用着各式各样的电气传动系统。直流调速系统因其变流方式及控制方式简单,调速性能好,一直以来在电气传动系统中占据重要地位。 而随着微电子技术的发展,微机的功能不断提高以及电子电力、计算机控制技术的发展,电气传动领域出现了以微机为核心数字控制系统。计算机

9、控制技术可以使复杂的控制规律较方便的实现,以计算机为核心的数字控制系统以成为自控领域的主流,为直流电机的发展注入了新的活力,使电气传动的发展进入新的阶段。长期以来,直流电机因其转速的调节比较灵活,方法简单,易于大范围平滑调速,控制性能好等特点,一直在传动领域占据重要地位。它广泛使用于数控机床、工业机器人等工业自动控制设备中。随着现代工业的飞速发展,各行各业对于直流电机的需求俞益增大,并对其性能提出了更高的要求,因此研究并制造高性能、高可靠性的直流电机控制系统有着十分重要的现实意义。2.设计方案 本文设计直流电机控制系统以ATmega16单片机为控制核心。以ATmega16单片机产生PWM方波经

10、L298模块后控制直流电机。用按键控制其速度和转动方式,并且以槽型光电门实时监控其速度,并将速度和转动方式显示在LCD1602液晶显示器上。二、L298N电机驱动芯片(模块)L298N、L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直 流电机,或一个两相步进电机。 L298N可接受标准TTL逻辑电平信号VSS,VSS可接457 V电压。4脚VS接电源电压,VS电压范围VIH为2546 V。输出电流可达25 A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L29

11、8可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。EnA,EnB接控制使能端,控制电 机的停转其外围电路设计如下:三、ATmega16单片机的PWM功能ATmega16的T/C0和T/C2都具有产生PWM波的功能,由于它们的计数器是8位,所以是固定8位精度的PWM波发生器。即PWM波的调节精度为8位,PWM波的周期只取决于系统时钟和分频系数。T/C0和T/C2的工作模式有快速PWM模式和相位可调PWM模式,本实验使用的为快速PWM模式。快速PWM模式可以得到频率较高、相位固定的P

12、WM输出。在快速PWM模式下,计数器只工作在单程正向计数方式,计数器的上限决定了PWM的频率,而比较匹配寄存器OCRn的值决定了占空比的大小,快速PWM频率的计算公式为:PWM频率=系统时钟/(分频系数*256)四、系统设计框架 1602液晶显示器ATmega16单片机按键L298模块直流电机光电门五、系统电路设计六、附录1.C程序源代码#includeiom16v.h#includemacros.h#define RS PD0#define RW PD1#define EN PD2#define F_CPU 4000000UL#define uint unsigned int#define

13、uchar unsigned charunsigned char const zheng=zheng zhuann;unsigned char const fan=fan zhuan n;unsigned char const ting=ting zhi n;unsigned int y;unsigned int jishu,sudu,qianjin,houtui;void delay_us(int a) while(a-);void delay_ms(int c) for(c;c0;c-)delay_us(1000);void lcd_write_cmd(char cmd) PORTD&=B

14、IT(EN);PORTD&=BIT(RS);PORTC=cmd;PORTD|=BIT(EN);delay_ms(1);PORTD&=BIT(EN);void lcd_write_data(char data) PORTD&=BIT(EN);PORTD|=BIT(RS);PORTC=data;PORTD|=BIT(EN);delay_ms(1);PORTD&=BIT(EN);void lcd_init() DDRC=0XFF; PORTC=0X00; DDRD|=BIT(RS)|BIT(RW)|BIT(EN); PORTD&=BIT(RW);lcd_write_cmd(0X38);lcd_wri

15、te_cmd(0X01);lcd_write_cmd(0X06);lcd_write_cmd(0X0C);lcd_write_cmd(0X80);void show(uint sum) int i,j,k,l,m; i=sum/100+0x30; j=sum%100/10+0x30; k=sum%100%10+0x30; lcd_write_cmd(0X80+3); lcd_write_data(i); lcd_write_data(j); lcd_write_data(k); void T1_init() TCCR1A=0X0000;TCCR1B=0X03;TCNT1=65536-F_CPU

16、/64*0.5;TIMSK|=BIT(TOIE1);#pragma interrupt_handler T1_isr:9void T1_isr()TCNT1=65536-F_CPU/64*0.5; if(y=0) TCCR1B|=BIT(ICES1)|BIT(ICNC1); TIMSK|=BIT(TICIE1); y=1; else TIMSK&=BIT(TICIE1); sudu=jishu*2; show(sudu); jishu=0; y=0; #pragma interrupt_handler T1BUHUO_OVF_isr:6void T1BUHUO_OVF_isr() jishu+

17、;void T0_T2_PWM_init() TCCR0=0X6A;TCCR2=0X6A;TIMSK|=BIT(TOIE2)|BIT(TOIE0);#pragma interrupt_handler Ir_T0:10;void Ir_T0() OCR0=qianjin;#pragma interrupt_handler Ir_T2:5;void Ir_T2() OCR2=houtui;void io_init() DDRA=0XFF; PORTA=0XFF; DDRA=0X00; DDRB=0Xff; PORTB|=BIT(PB6)|BIT(PB7); DDRD|=BIT(PD7); void

18、 main() int x,z,f,t; DDRA=0XFF; T1_init(); lcd_init(); T0_T2_PWM_init(); io_init(); y=0; z=0; f=0; jishu=0; qianjin=0; houtui=0; lcd_write_cmd(0x80+0x40+3);delay_ms(1);for(x=0;tingx!=n;x+)lcd_write_data(tingx);delay_ms(1);lcd_write_cmd(0X80+6);lcd_write_data(0x63); lcd_write_data(0x6d);lcd_write_dat

19、a(0x2f);lcd_write_data(0x73); SEI(); while(1) if(PINA=0XFE) delay_ms(10); if(PINA=0XFE)&(f=0) qianjin=90;houtui=0;CLI();lcd_write_cmd(0x80+0x40+3);delay_ms(1);for(x=0;zhengx!=n;x+)lcd_write_data(zhengx);delay_ms(1);SEI(); z=1; if(PINA=0Xfd)&(z=0) delay_ms(10); if(PINA=0XFd) qianjin=0;houtui=90;CLI()

20、;lcd_write_cmd(0x80+0x40+3);delay_ms(1);for(x=0;fanx!=n;x+)lcd_write_data(fanx);delay_ms(1);SEI();f=1; if(PINA=0Xfb) delay_ms(10); if(PINA=0XFb) qianjin=0;houtui=0;CLI();lcd_write_cmd(0x80+0x40+3);delay_ms(1);for(x=0;tingx!=n;x+)lcd_write_data(tingx);delay_ms(1);SEI();z=0;f=0; if(PINA=0Xf7) delay_ms(10); if(PINA=0Xf7) if(z=1) qianjin+=10; if(qianjin250) qianjin=250;if(f=1) houtui+=10; if(houtui250) houtui=250;while(PINA=0Xf7); 2.实物图七参考文献ATmega16单片机数据手册LCD1602数据手册15

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1