单片机调速系统毕业设计Word格式文档下载.docx
《单片机调速系统毕业设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机调速系统毕业设计Word格式文档下载.docx(42页珍藏版)》请在冰豆网上搜索。
以单片机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<
y
<
bp8x_kfT#
两个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/_<
u
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该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号