《单片机原理与应用》课程设计报告
直流电机PWM波调速的设计与制作
要求:
一、功能要求
1、实现利用PWM波控制直流电机的转速;
2、用数码管显示PWM波的输出占空比;
3、用数码管显示直流电机的转速标志;
4、实现对直流电机的速度调制;
二、设计过程要求
1、查阅资料确定设计方案;
2、对设计方案进行仿真验证;
3、选择合适的元器件,搭建电路实验验证效果;
4、画出PCB图;
5、书写设计报告;
6、答辩。
三、设计报告要求
设计报告主要包括:题目、容和要求、总体方案和设计思路、仿真电路图、软件设计、仿真调试效果、实验测试效果图、PCB图、心得体会。
:谭德兵学号:1886100112
专业:电子科学与技术班级:10级01 班
成绩:评阅人:
科技学院理学院物电系
一、实验设计目的
1、掌握脉宽调制的方法;
2、用程序实现脉宽调制,并对直流电机进行调速控制;
3、学习用LM339部四个电压比较器产生锯齿波、直流电压、PWM脉宽;
4、掌握脉宽调制PWM控制模式;
5、掌握电子系统的一般设计方法;
6、培养综合应用所学知识来指导实践的能力;
7、掌握常用元器件的识别和测试,熟悉常用仪表,了解电路调试的基本方法进一步掌握制版、电路调试等技能。
二、实验设计设备
单片机开发板,单片机最小系统,驱动器,直流电机,连接导线等
三、实验设计原理
1)设计总体方案
总体设计模块
1、STC89C52
本设计运用单片机芯片STC89C52,通过控制单片机输出引脚P1.7输出的高低电平的延时时间长短来达到控制电机的目的,运用单片机定时器/计数器1对光电编码盘产生的冲进行计数,将所得到的数值送到P0口显示。
8051单片机引脚描述
·电源引脚Vcc和Vss : Vcc:电源端,接+5V,Vss:接地端。
·时钟电路引脚XTAL1和XTAL2:
·XTAL1:接外部晶振和微调电容的一端,在片它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。
·XTAL2:接外部晶振和微调电容的另一端,在片它是振荡器倒相放大器的输出,若使
用外部TTL时钟时,该引脚为外部时钟的输入端。
·地址锁存允许ALE:系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。
·外部程序存储器读选通信号PSEN:PSEN是外部程序存储器的读选通信号,低电平有效。·程序存储器地址允许输入端EA /VPP :当EA为高电平时,CPU执行片程序存储器指令,但当
·PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当EA为低电平时,CPU 只执行片外程序存储器指令。
·复位信号RST:该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成
复位操作。
·输入/输出端口引脚P0,P1,P2和P3:
~P0口(P0.0~P0.7):该端口为漏极开路的8位准双向口,它为外部低8位地址线和8位数据线复用端口,驱动能力为8个LSTTL负载。
~P1口(P1.0~P1.7):它是一个部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。
~P2口(P2.0~P2.7):它为一个部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,作为高8位地址线。
~P3口(P3.0~P3.7):为部带上拉电阻的8位准双向
~I/O口,P3口除了作为一般的I/O口使用之外,每个引脚都具有第二功能。
2、驱动电路
(1)、本实验用的是达林顿反相驱动器ULN2803;
ULN2803: 达林顿反相驱动器。(元件图)
ULN2803: 达林顿反相驱动器
八路NPN达林顿连接晶体管阵系列特别适用于低辑电平数字电路(诸如TTL, CMOS 或PMOS/NMOS)和较高的电流/电压要求之间的接口,广泛应用于计算机,工业用和消费类产品中的灯、继电器、打印锤或其它类似负载中。所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。ULN2803的设计与标准TTL系列兼容,而ULN2804最适于6至15伏高电平CMOS或PMOS。
主要特点:
达林顿管驱动器
包含8个NPN 达林顿管 高耐压,大电流 器件编号:ULN2803
封装类型:AP=DIP18,AFW=SOL18 无铅/RoHS 认证
输出击穿电压: 50(V) 输出电流: 500(mA) 输入电阻 :2.7k(Ω) 推荐输入电压:5(V) 温度围:-40℃~+85℃
包装规格:AFW:Tape&Reel|
不要超过每个驱动器的电流的限制[1]
3锁存器连接及数码管显示电路
(1)、74HC573锁存器
本实验利用此锁存器控制数码管的位选和段选; 74HC573: 八进制 3 态非反转透明锁存器
74HC573
74HC573引脚图
特性:高性能硅门 CMOS 器件
· SL74HC573 跟
LS/AL573 的管脚一样。器件的输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼
容。
OE  ̄ 1 20 VCC 1D — 2 19 —1Q 2D — 3 18 —2Q 3D —
4 17 —3Q 4D —
5 1
6 —4Q 5D — 6 15 —5Q 6D —
7 14 —6Q 7D —
8 13 —7Q 8D —
9 12 —8Q GND
10
11 LE
1脚三态允许控制端低电平有效
1D~8D 为数据输入端 1Q~8Q 为数据输出端 LE 为锁存控制端
·当锁存使能端LE为高时,这些器件的锁存对于数据是透明
的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
·×\u36755X出能直接接到CMOS,NMOS 和TTL 接口上
×\u25805X作电压围:2.0V~6.0V;;×\u20302X输入电流:1.0uA
×CMOS 器件的高噪声抵抗特性
(2)、数码管显示
本实验用的是7SEG-MPX6-CC型号数码管;
数码管的第一位显示的是电机转速标识,第二、三位显示的是PWM波的占空比;
4.按键电路
加速按键、减速按键分别接单片机的P3.6和P3.7口以达到控制电机转速的目的;
两按键接到单片机上都是低电平有效;
2)实验设计思路
(1)PWM波
PWM(Pulse Width Modulation)简称脉宽调制。即通过改变输出脉冲的占空比,实现对直流电机进行调速控制。
PWM 一种按规律改变的脉冲序列的脉冲宽度,调节输出量和波形的一种调制方式,常用的是矩形波PWM信号,在控制时需要调节PWM波的占空比。
占空比是指高电平(VH)持续时间在一个周期的百分比。控制电机转速时,占空比越大,速度越快,占空比达到100%,速度最快。
通过控制单片机上输出不同占空比的PWM波信号来控制直流电机的转速。
实验线路图:
3)实验元器件
AT89C52、74HC573锁存器、ULN2803达林顿反相驱动器、直流电机、电阻、电源(VCC)、数码管(7SEG-MPX6-CC)
四、实验设计程序
(一)、程序流程图
(二)、程序源代码(C语言)
#include
#define uchar unsigned char
sbit dula=P2^6; //数码管显示段选i/0口定义
sbit wela=P2^7; //数码管显示位选I/O口定义
sbit dianji=P1^7; //控制电机I/O口定义
sbit jia_key=P3^6; //加速键
sbit jian_key=P3^7; //减速键
uchar num=0,show_num=1,gao_num=1,di_num=3;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数码管显示数据表
void delay(uchar i) //延时程序
{
uchar j,k;
for(j=i;j>0;j--)
for(k=500;k>0;k--);
}
void display() //数码管显示函数
{
dula=0;
P0=table[show_num];
dula=1;
dula=0;
P0=0xfe;
wela=1;
wela=0;
delay(5);
P0=table[gao_num];
dula=1;
dula=0;
P0=0xfd;
wela=0;
wela=1;
delay(5);
P0=table[di_num];
dula=1;
dula=0;
P0=0xfb;
wela=0;
wela=1;
delay(5);
P0=table[0];
dula=1;
dula=0;
P0=0x3f;
wela=0;