单片机调速系统毕业设计.docx
《单片机调速系统毕业设计.docx》由会员分享,可在线阅读,更多相关《单片机调速系统毕业设计.docx(42页珍藏版)》请在冰豆网上搜索。
单片机调速系统毕业设计
单片机控制PWM的直流电机调速系统的设计
1.引言
在电气传动领域中,随着各项技术水平的不断提高,使得传统工艺有了深层次的提高,对人类的生产与生活,产生了深刻且深远的影响,已经与我们息息相关。
由于直流电动机具有良好的起动、制动性能,适宜在大范围内平滑调速,因此在许多需要调速或快速正反向的电力拖动系统中得到了广泛的应用。
而且,从控制的角度来看,直流调速还是交流调速,都用到拖动系统的基础。
早期直流电动机的控制均以模拟电路为基础,由运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,触发精度易受电网电压波动的影响,触发脉冲不对称度较大,调节器中的运算放大器,因网压和温度变化引起的漂移会产生运算误差,模拟器件老化也会引起运算误差,甚至使已经整定好的系统性能变差,这些都阻碍了直流电动机控制技术的发展和应用范围的推广。
随着单片机技术的日新月异,使许多控制功能及算法可以采用软件技术来完成,不但为直流电动机的控制提供了更大的灵活性,而且使系统能达到了更高的性能,从而大大节约了人力资源,降低了系统成本,有效地提高了工作效率。
因为单片机具有小巧灵活、成本低、易于产品化、可靠性好、适应温度范围宽、易扩展、控制功能强等优点,用单片机取代模拟电路作为电动机的控制器,使电路更简单,模拟电路为了实现控制逻辑需要许多电子元件,使电路复杂,使用单片机微处理器后,绝大多数控制逻辑可通过软件实现可以实现较复杂的控制,单片机有更强的逻辑功能,运算速度和精度高、有大容量的存储单元,因此有能力实现复杂的控制灵活性和适应性强,单片机的控制方式是由软件完成的,如果需要修改控制规律,一般不必改变系统的硬件电路,只需修改程序即可,在系统调试和升级时,可以不断尝试选择最优参数,非常方便无零点漂移,控制精度高、数字控制不会出现模拟电路中经常遇到的零点漂移问题,无论被控量的大小,都可以保证足够的控制精度可提供人机界面,多机联网工作等优点。
所以在电气传动实时控制系统中受到重视和普遍应用。
利用单片机逻辑功能强和软件灵活的优点,不仅可使很多控制硬件软件化,便于参数的设定和调整,而且可以同时对系统工作中的各种信息数据进行诊断、检测和及时处理,加强了实时维护和提高了控制系统的可靠性。
它的发展趋势将是向大容量、高性能化、外围电路内装化等方面发展。
2.系统方案论证
2.1系统总方案论证与选择
方案一:
直接加直流电源来控制电机的转动速度;根据电动机在其额定电压时,电动机有一定的额定转速。
根据其输入电压的减小,其转动速度也相应的减小。
从而在传统的改变电动机的转速问题中,就是利用所给电动机的电压的不同,而达到人们所需要的大约速度。
方案二:
以单片机AT89C51为中心通过D/A转换器,将单片机数字量转换为模拟量,从而起到控制电动机的转速问题。
其中在单片机控制部分通过按键直接从程序中调出所需要速度的值,同时输到数码显示部分和D/A转换部分以实现电动机的调速。
图1电路组成框图
方案三:
采用AT89C51单片机进行控制。
本设计需要使用的软件资源比较简单,只需要完成编码器采样部分、键盘控制部分以及显示输出功能。
采用AT89C51进行控制比较简单、易控制、可靠性高、抗干扰能力强、精度高且体积大大减小。
输出速度的调节是通过键操作,显示速度。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器.具有4K字节可编程闪烁存储器,可擦除的的只读存储器(PEROM),ATMEL的AT89C51是一种高效微控制器.AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案.三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和电模式、片内振荡器和时钟电路:
电路框图如图2
图2电路组成框图
方案分析:
方案一只能以减小所给电压值而能使电动机的转速有相应的减小,此方案操作性差且不安全。
方案二不能及时的从电动机那里得到相应的转动速度,而是直接从程序哪儿调用相应的数值给数码显示。
所以,此处的电路在速度的显示上失去了其真实性。
方案三在可操作性与实时性方面都都结合了本专业特点,从控制理论与控制技术出发,充分发挥与应用本学科特点。
所以,设计采用方案三。
2.2设计模块方案比较与分析:
2.2.1电机调速控制模块:
方案一:
采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。
但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。
更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。
方案二:
采用继电器对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。
这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
方案三:
采用由达林顿管组成的H型PWM电路。
用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。
兼于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三。
2.2.2PWM调速工作方式:
方案一:
双极性工作制。
双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。
方案二:
单极性工作制。
单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。
由于单极性工作制中,应用相对简单易于实现与操作,所以我们采用了单极性工作制。
3硬件部分
3.1单片机的选型:
Wl>>n_$L AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
3.1.1主要特性:
+{a_},P_m Xp_7{s7hSP
· 8031CPU与MCS-51兼容{_)3-R_R ~f2b{uc_9H
·4K字节可编程FLASH存储器(寿命:
1000写/擦循环)?
d0x<(.^-
全静态工作:
0Hz-24KHzeF@-daI_x& e92zofQR
·三级程序存储器保密锁定h_f!
{__R _qbsnm__#N
·128*8位内部RAM_P_&]S__N
J_A
;,_^9W
·32条可编程I/O线
hZ!
K,U·两个16位定时器/计数器R's"gT_5;
_lAr_Y
T_·6个中断源_R|b%Lsa= Bh_#K_3B|O
·可编程串行通道>Y}^'`{qQ __a]7By$z
·低功耗的闲置和掉电模式%W$Wy~_9+ <_W[2_^Z
·片内振荡器和时钟电路mh\_
^`5~_
_a__\_Y|6 _q__V1_(3
·
图3单片机芯片
3.1.2.管脚说明:
_gqzC_L,Q unAd20(b*p
VCC:
供电电压。
-i.._
b_m_ [h^__xy0:
m
GND:
接地。
)U_GR`&QR %B}I";(w9
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
xqdee:
_RD n&4x>R3^|z
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
p?
}o{_0&_Z L_@#-_\V6.
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
&eF^qL]T:
2L_zI2_Dn
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
"hv9PGg6_
qh_*5s
_"
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
'_1-jf*_ C_eNWlM=W
口管脚备选功能v6_w8="T- 6.T/Kj$DWa
P3.0RXD(串行输入口)__]W8.]oLh "m_38*_sx
P3.1TXD(串行输出口)E'OBh0$!
_e -_?
MpHSho$
P3.2/INT0(外部中断0)#!
Id%=P2 _W_E]_+Vs
P3.3/INT1(外部中断1)_,9o[4%>I_ [_>tI"(3_9
P3.4T0(记时器0外部输入)s_o)MyCV_C )Z2p^Pm_x
P3.5T1(记时器1外部输入)z_N;u.8)h0 "@(_;g!
_)
P3.6/WR(外部数据存储器写选通)z_=IkMktD l?
_uo/_
P3.7/RD(外部数据存储器读选通)g_h~;6t*a (d_dtRfXUN
P3口同时为闪烁编程和编程校验接收一些控制信号。
_5V/_y__(4 ]/Uw]%_4s
I/O口的内部结构如图4:
|_2pRdn^ &**;r_V_N__G,,w_#-_
图4内部结构
I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而
是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心:
_\Hs6?
_00 ]h`w(__M_`
读引脚时也就是把端口作为外部输入线时首先要通过外部指令把端口锁存器置1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号