基于某ATmega16单片机的直流电机控制Word格式文档下载.docx
- 文档编号:1316444
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:13
- 大小:870.10KB
基于某ATmega16单片机的直流电机控制Word格式文档下载.docx
《基于某ATmega16单片机的直流电机控制Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于某ATmega16单片机的直流电机控制Word格式文档下载.docx(13页珍藏版)》请在冰点文库上搜索。
关键字:
直流电机调速
BasedonATmega16singlechipmicrocomputercontrolofdcmotor
Abstract:
withtheprogressoferaandthedevelopmentofscienceandtechnology,motorspeedcontrolsysteminindustrialandagriculturalproduction,transportationanddailylifeisplayingamoreandmoreimportantrole,therefore,thestudyofmotorspeedregulationhasapositivemeaning.Foralongtime,thedcmotoriswidelyappliedtospeedregulationsystem,andhasbeenoccupydominantpositioninthefieldofspeedadjustment,mainlybecausethedcmotorspeedregulationnotonlyconvenient,andincertainconditions,themagneticfieldisproportionaltothespeedandthearmaturevoltage,torqueiseasytocontrol;
Hasagoodstartingperformanceatthesametime,canadjustthespeedisrelativelysmoothandeconomically.Sothedcmotorspeedcontrolcangetgooddynamiccharacteristic.Duetothedcmotorhasexcellentstartingandbrakingperformance,appropriateandsmoothspeedregulationinwidescope.Intherollingmill,minewinder,excavator,metalcuttingmachine,papermachine,iswidelyusedinhigh-levelelevator,etc.Acspeedregulatingsystemdevelopsveryfastinrecentyears,however,dccontrolsystemintheoryandintime,afterall,aremature,andfromthefeedbackclosed-loopcontrolpointofview,itisthebasisofcommunicationsystem,foralongtime,becauseoftheperformanceindexisbetterthanthatofacspeedregulationsystemofdcspeedregulatingsystem.Therefore,dcspeedregulationsystemhasbeeninthefieldofspeedcontrolsystem.
Keywords:
dcmotorspeedcontrol
一、引言………………………...…………………………………5
1.直流电机的研究意义
2.设计方案
二、L298N电机驱动芯片(模块)………………………………….6
三、ATmega16单片机的PWM功能…………………………….7
四、系统设计框架………………………………………………….7
五、系统电路设计………………………………………………….8
六、附录…………………………………………………………….9
1.C程序源代码
2.实物图
七.参考文献…………………………………………………….14
一、引言
电气传动是现在最主要的机电能量变化形式之一,在当今社会中广泛使用着各式各样的电气传动系统。
直流调速系统因其变流方式及控制方式简单,调速性能好,一直以来在电气传动系统中占据重要地位。
而随着微电子技术的发展,微机的功能不断提高以及电子电力、计算机控制技术的发展,电气传动领域出现了以微机为核心数字控制系统。
计算机控制技术可以使复杂的控制规律较方便的实现,以计算机为核心的数字控制系统以成为自控领域的主流,为直流电机的发展注入了新的活力,使电气传动的发展进入新的阶段。
长期以来,直流电机因其转速的调节比较灵活,方法简单,易于大围平滑调速,控制性能好等特点,一直在传动领域占据重要地位。
它广泛使用于数控机床、工业机器人等工业自动控制设备中。
随着现代工业的飞速发展,各行各业对于直流电机的需求俞益增大,并对其性能提出了更高的要求,因此研究并制造高性能、高可靠性的直流电机控制系统有着十分重要的现实意义。
2.设计方案
本文设计直流电机控制系统以ATmega16单片机为控制核心。
以ATmega16单片机产生PWM方波经L298模块后控制直流电机。
用按键控制其速度和转动方式,并且以槽型光电门实时监控其速度,并将速度和转动方式显示在LCD1602液晶显示器上。
二、L298N电机驱动芯片(模块)
L298N、L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。
4脚VS接电源电压,VS电压围VIH为+2.5~46V。
输出电流可达2.5A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动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模式可以得到频率较高、相位固定的PWM输出。
在快速PWM模式下,计数器只工作在单程正向计数方式,计数器的上限决定了PWM的频率,而比较匹配寄存器OCRn的值决定了占空比的大小,快速PWM频率的计算公式为:
PWM频率=系统时钟/(分频系数*256)
四、系统设计框架
五、系统电路设计
六、附录
1.C程序源代码
#include"
iom16v.h"
macros.h"
#defineRSPD0
#defineRWPD1
#defineENPD2
#defineF_CPU4000000UL
#defineuintunsignedint
#defineucharunsignedchar
unsignedcharconstzheng[]="
zhengzhuan\n"
;
unsignedcharconstfan[]="
fanzhuan\n"
unsignedcharconstting[]="
tingzhi\n"
unsignedinty;
unsignedintjishu,sudu,qianjin,houtui;
voiddelay_us(inta)
{
while(a--);
}
voiddelay_ms(intc)
for(c;
c>
0;
c--)
delay_us(1000);
voidlcd_write_cmd(charcmd)
PORTD&
=~BIT(EN);
=~BIT(RS);
PORTC=cmd;
PORTD|=BIT(EN);
delay_ms
(1);
voidlcd_write_data(chardata)
PORTD|=BIT(RS);
PORTC=data;
voidlcd_init()
DDRC=0XFF;
PORTC=0X00;
DDRD|=BIT(RS)|BIT(RW)|BIT(EN);
=~BIT(RW);
lcd_write_cmd(0X38);
lcd_write_cmd(0X01);
lcd_write_cmd(0X06);
lcd_write_cmd(0X0C);
lcd_write_cmd(0X80);
voidshow(uintsum)
inti,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);
voidT1_init()
TCCR1A=0X0000;
TCCR1B=0X03;
TCNT1=65536-F_CPU/64*0.5;
TIMSK|=BIT(TOIE1);
#pragmainterrupt_handlerT1_isr:
9
voidT1_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;
#pragmainterrupt_handlerT1BUHUO_OVF_isr:
6
voidT1BUHUO_OVF_isr()
jishu++;
voidT0_T2_PWM_init()
TCCR0=0X6A;
TCCR2=0X6A;
TIMSK|=BIT(TOIE2)|BIT(TOIE0);
#pragmainterrupt_handlerIr_T0:
10;
voidIr_T0()
OCR0=qianjin;
#pragmainterrupt_handlerIr_T2:
5;
voidIr_T2()
OCR2=houtui;
voidio_init()
DDRA=0XFF;
PORTA=0XFF;
DDRA=0X00;
DDRB=0Xff;
PORTB|=BIT(PB6)|BIT(PB7);
DDRD|=BIT(PD7);
}
voidmain()
intx,z,f,t;
T1_init();
lcd_init();
T0_T2_PWM_init();
io_init();
z=0;
f=0;
qianjin=0;
houtui=0;
lcd_write_cmd(0x80+0x40+3);
delay_ms
(1);
for(x=0;
ting[x]!
='
\n'
x++)
{
lcd_write_data(ting[x]);
}
lcd_write_cmd(0X80+6);
lcd_write_data(0x63);
lcd_write_data(0x6d);
lcd_write_data(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);
zheng[x]!
lcd_write_data(zheng[x]);
SEI();
z=1;
}
if((PINA==0Xfd)&
(z==0))
if(PINA==0XFd)
qianjin=0;
houtui=90;
fan[x]!
lcd_write_data(fan[x]);
f=1;
if(PINA==0Xfb)
if(PINA==0XFb)
z=0;
f=0;
if(PINA==0Xf7)
if(PINA==0Xf7)
if(z==1)
qianjin+=10;
if(qianjin>
250)
qianjin=250;
if(f==1)
houtui+=10;
if(houtui>
houtui=250;
while(PINA==0Xf7);
}
2.实物图
七.参考文献
①.ATmega16单片机数据手册
②.LCD1602数据手册
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ATmega16 单片机 直流电机 控制
![提示](https://static.bingdoc.com/images/bang_tan.gif)