基于单片机的直流电机控制器设计 适合江南大学.doc
上传人:sy****28 上传时间:2024-09-10 格式:DOC 页数:12 大小:156KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于单片机的直流电机控制器设计 适合江南大学.doc

基于单片机的直流电机控制器设计适合江南大学.doc

预览

免费试读已结束,剩余 2 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

江南大学物联网工程学院课程设计报告课程名称:单片机原理及应用设计题目:基于单片机的直流电机控制器设计班级:姓名:学号:指导教师:评分:年月日设计目的通过具体小型测试系统设计,实践单片机系统设计及调试全过程,以加深对单片机内部结构、功能和指令系统的理解,并进一步学习单片机开发系统的应用及一些外围芯片的接口和编程方法,初步掌握单片机系统的软、硬件设计技术及调试技巧设计要求1)电机转速可以平稳控制2)通过键盘和显示器可以设置电机的转速3)显示电机的速度趋势仪器设备PC机(1台)DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台(1台)硬件线路图及主要芯片说明1)PWM功率驱动电路硬件线路图:由原理图我们可以看出:只要ZDJ_A的电压比ZDJ_B的电压高,则电机正转;如果ZDJ_B的电压比ZDJ_A的电压高,电机反转。注:设计实验时,考虑到如果用软件实现电动机的反转时相对较麻烦,于是采用硬件来实现其反转,即只需将仿真仪器上直流电机的B端子接到D1区J53的非KEY1、KEY2端子上,对其进行置1即可实现。2)主要芯片说明8051单片机内部结构:含运算器、控制器、片内存储器、4个I/O接口、串行接口、定时器/计时器、中断系统、振荡器等功能部件。8051部分引脚说明:a、主电源引脚Vcc:接+5V电源正端Vss:接+5V电源地端b、外接晶体引脚XTAL1:片内反相放大器输入端。XTAL2:片内反相放大器输出端。c、输入/输出引脚P0.0~P0.7:P0口的8个引脚。在不接片外存储器与不扩展I/O接口时,可作为双向输入/输出接口。P1.0~P1.7:P1口的8个引脚。可作为准双向I/O接口使用。P2.0~P2.7:P2口的8个引脚。一般可作为准双向I/O接口。P3.0~P3.7:P3口的8个引脚。除作为准双向I/O接口使用外,还具有第二功能。d、控制线ALE/PROG:地址锁存有效信号输出端。PSEN:片外程序存储器读选通信号输入端。RST/VPD:复位端。EA/VDD:片外程序存储器选用端。系统工作原理芯片与驱动电路的连接线路图图中的J78即为直流电机的接线端子,用导线将J78的ZDJ_A端子与8051的P1.0接口相连,其ZDJ_B端子接地(可接到C1区的GND);8051的P1.1、P1.2分别接到D1区J53接口的SW1和SW2上(注:为了便于实验时的操作方便,可不选用点动仿真的J53接口,而采用上图所示的D1区调节按钮)。采样原理基于PWM控制直流电机的调速原理:PWM调速是通过改变输出脉冲的占空比,从而改变电机转速的一种调速方法。PWM调速分为单极性和双极性两种。在单极性方式下,电机的转动方向不变,改变的只是转速;而在双极性方式下,电机的转动方向和转速都是可变的。以下以单极性为例说明PWM调速的基本原理:假设一个脉冲周期内,高电平电压为Us,持续时间为t1;低电平为0V,持续时间为t2。则脉冲周期T=t1+t2,该周期内平均电压U0=t1*Us/T。令α=t1/T,则U0=α*Us,α表示占空比。就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。在双极性方式下,如果U0为负,意味着电机将反转,转速由U0的绝对值控制。严格地讲,平均速度U0与占空比α并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。关于占空比:占空比(DutyCycle)在电信领域中有如下含义:在一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲总周期的比值。占空比的计算:设一个脉冲周期为T,t1为高电平持续时间,则占空比α=t1/T。数据存放单元安排P1.0用于控制PWM的输出,而P1.1和P1.2在我的设计思路里,是通过外部硬件使他们分别为高电平、低电平,以改变占空比,从而实现调速,具体说来就是使P1.2、P1.1分别为:00(空速状态),01(低速),10(高速),11(全速)。按键通过对D1区J53的SW2、SW1按键进行置1或置0改变P1.2、P1.1的输出,即改变占空比,实现调速。当按键没有被按下时,P1口高四位和P0口读数都为高电平。当有按键按下时,则该键位变为低电平。中断处理程序中由“SETBTF1(0)实现软件中断”,TL1(0)作8位加法计数器使用,TH1(0)作为初值寄存器使用,TH1、TL1的初值都在程序中预置,当TL1计数溢出时,置位TF1并在中断允许的条件下向CPU发出中断请求信号,同时使三态门打开,将TH1中的初值自动送入TL1,使其从初值开始重新计数。程序框图是否T0是否溢出选择定时器工作方式2程序初始化