收藏 分销(赏)

15、基于单片机STC89C52的直流电机PWM调速控制系统.doc

上传人:精**** 文档编号:3081788 上传时间:2024-06-17 格式:DOC 页数:10 大小:176.50KB 下载积分:8 金币
下载 相关 举报
15、基于单片机STC89C52的直流电机PWM调速控制系统.doc_第1页
第1页 / 共10页
15、基于单片机STC89C52的直流电机PWM调速控制系统.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
第一章:前言 Pwm 电机调速原理 对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机 的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方 波脉冲的形式提供电能。不同占空比的方波信号能对电机起到调速作 用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突 变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变 在始能端 EN1 和 EN2 上输入方波的占空比就能改变加在电机两端 的电压大小,从而改变了转速。 此电路中用微处理机来实现脉宽调制,通常的方法有两种: (1)用软件方式来实现,即通过执行软件延时循环程序交替改变端 口某个二进制位输出逻辑状态来产生脉宽调制信号,设置不同的延时 时间得到不同的占空比。 (2)硬件实验自动产生 PWM 信号,不占用 CPU 处理的时间。 这就要用到 STC89C52 的在 PWM 模式下的计数器 1,具体内容可参考 相关书籍。 51 单片机 PWM 程序 产生两个 PWM,要求两个 PWM 波形占空都为 80/256,两个波形之间要 错开,不能同时为高电平!高电平之间相差 48/256, PWM 这个功能在 PIC 单片机上就有,但是如果你就要用 51 单片机的 话,也是可以的,但是比较的麻烦.可以用定时器 T0 来控制频率,定 时器 T1 来控制占空比:大致的的编程思路是这样的:T0 定时器中断 是让一个 I0 口输出高电平,在这个定时器 T0 的中断当中起动定时器 T1,而这个 T1 是让 IO 口输出低电平,这样改变定时器 T0 的初值就 可以改变频率,改变定时器 T1 的初值就可以改变占空比。 1.1 前言: 直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能 (直流发电机)的旋转电机。 近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优 良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击 负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统 各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调 速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过 PWM 方式控 制直流电机调速的方法就应运而生。 采取传统的调速系统主要有以下的缺陷:模拟电路容易随时间飘移,会产生 一些不必要的热损耗,以及对噪声敏感等。而用 PWM 技术后,避免上述的缺点, 实现了数字式控制模拟信号,可以大幅度减低成本和功耗。并且 PWM 调速系统开 关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好; 同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关 元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济 好等特点。 随着我国经济和文化事业的发展,在很多场合,都要求有直流电机 PWM 调速系统来进 行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、 自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、 飞机、坦克、火箭、雷达、战车等场合。 1.2 本设计任务: 任务: 单片机为控制核心的直流电机 PWM 调速控制系统 设计的主要内容以及技术参数: 功能主要包括: 1) 直流电机的正转; 2) 直流电机的反转; 3) 直流电机的加速; 4) 直流电机的减速; 5) 直流电机的转速在数码管上显示; 6) 直流电机的启动; 7) 直流电机的停止; 第二章:总体设计方案 总体设计方案的硬件部分详细框图如图一所示。 数码管显示 按键控制 单片机 PWM 电机驱动 键盘向单片机输入相应控制指令,由单片机通过 P1.0 与 P1.1 其中一口输出与转速相 应的 PWM 脉冲,另一口输出低电平,经过信号放大、光耦传递,驱动 H 型桥式电动机控制电 路,实现电动机转向与转速的控制。电动机的运转状态通过数码管显示出来。电动机所处速 度级以速度档级数显示。正转时最高位显示“三” ,其它三位为电机转速;反转时最高位 显示“F”,其它三位为电机转速。每次电动机启动后开始显示,停止时数码管显示出“0000”。 1、系统的硬件电路设计与分析 电动机 PWM 驱动模块的电路设计与实现具体电路见下图。本电路采用的是基于 PWM 原理的 H 型桥式驱动电路。 PWM 电路由复合体管组成 H 型桥式电路构成,四部分晶体管以对角组合 分为两组:根据两个输入端的高低电平决定晶体管的导通和截止。4 个二极 管在电路中起防止晶体管产生反向电压的保护作用,防止电动机两端的电流 和晶体管上的电流过大的保护作用。 在实验中的控制系统电压统一为 5v 电源,因此若复合管基极由控制系 统直接控制,则控制电压最高为 5V,再加上三极管本身压降,加到电动机两 端的电压就只有 4V 左右,严重减弱了电动机的驱动力。基于上述考虑,我 们运用了 TLP521-2 光耦集成块,将控制部分与电动机的驱动部分隔离开来。 输入端各通过一个三极管增大光耦的驱动电流;电动机驱动部分通过外接 12V 电源驱动。这样不仅增加了各系统模块之间的隔离度,也使驱动电流得 到了大大的增强。 在电动机驱动信号方面,我们采用了占空比可调的周期矩形信号控制。 脉冲频率对电动机转速有影响,脉冲频率高连续性好,但带带负载能力差脉 冲频率低则反之。经实验发现,当电动机转动平稳,但加负载后,速度下降 明显,低速时甚至会停转;脉冲频率在 10Hz 以下,电动机转动有明显跳动 现象。而具体采用的频率可根据个别电动机性能在此范围内调节。通过 P10 输入高电平信号,P11 输入低电平,电机正转;通过 P10 输入低电平信号, P11 输入高电平,电机反转;P10、P11 同时为高电平或低电平时,电机不转。 通过对信号占空比的调整来对电机转速进行调节。 2、系统的软件设计 本系统编程部分工作采用 KELI-C51 语言完成,采用模块化的设计方法, 与各子程序做为实现各部分功能和过程的入口,完成键盘输入、按键识别和 功能、PWM 脉宽控制和数码管显示等部分的设计。 单片机资源分配如下表: P0 显示模块接口 键盘中断 P1 键盘模块接口 P1.0/P1.1 PWM 电机驱动接口 系统时钟 ①PWM 脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程 序函数如下: /*****************延时函数*************************/ delays() { uchar i; for(i=5000;i>0;i--); } ②键盘中断处理子程序:采用中断方式,按下键,完成延时去抖动、键码识 别、按键功能执行。 要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松 开该按键时,每进行一次增加/减少一定的占空比。 ③显示子程序:利用数组方式定义显示缓存区,缓存区有 8 位,分别存放各 个数码管要显示的值。 ④定时中断处理程序:采用定时方式 1,因为单片机使用 12M 晶振,可产生 最高约为 65.5ms 的延时。对定时器置初值 B1E0H 可定时 20ms,即系统时钟精度 可达 0.02s。当 20ms 定时时间到,定时器溢出则响应该定时中断处理程序,完 成对定时器的再次赋值,并对全局变量 time 加 1,这样,通过变量 time 可计算 出系统的运行时间。 3、软件设计中的特点: 对于电机的启停,在 PWM 控制上使用渐变的脉宽调整,即开启后由停止匀加速到默认速 度,停止则由于当前速度逐渐降至零。这样有利于保护电机。键盘处理上采用中断方式,不 必使程序对键盘反复扫描,提高了程序的效率。 第三章:系统硬件电路设计 第四章:系统功能调试 3、输出波形如下: 4、加速分 5 档,波形依次如下: 5、减速分 5 档,波形如下: 第五章:程序 /************头文件*********/ #include<reg51.h> #include<absacc.h> #include <intrins.h> /************************** / /********自定义变量********/ #define uint unsigned int //自定义变量 #define uchar unsigned char char gw,sw,bw,qw; uchar j; //定时次数,每次 20ms uchar f=5; //计数的次数 sbit P10=P1^0; //PWM 输出波形 1 sbit P11=P1^1; //PWM 输出波形 2 sbit P12=P1^2; //正反转 sbit P13=P1^3; //加速 sbit P14=P1^4; //减速 sbit P15=P1^5; //停止 sbit P16=P1^6; //启动 uchar k; uchar t; //脉冲加减 /**************************/* /*********控制位定义********************/ uchar code smg[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x73,0x71};// 程 序存储区定义字型码表 char data led[4]={0x08,0x04,0x02,0x01}; //位码 uint x; //数码管显示的数值 display(); //数码管显示 delays(); //延时函数 key(); displays(); /*****************************************/ /***************主函数********************/ main (void) { TMOD=0x51; //T0 方式 1 定时计数 T1 方式 1 计数 TH0=0xb1; //装入初值 20MS TL0=0xe0; TH1=0x00; // 计数 567 TL1=0x00; TR0=1; //启动 t0 TR1=1; //启动 t1 gw=sw=bw=qw=0; //数码管初始化 P0=0xc0; P2=1; while(1) //无限循环 { display(); //数码管显示 key(); } } /*****************************************/ /***************数码管显示****************/ display() { uchar i; gw=x%10; //求速度个位值,送到个位显示缓冲区 sw=(x/10)%10; //求速度十位值,送到十位显示缓冲区 bw=(x/100)%10; //求速度百位值,送到百位显示缓冲区 qw=x/1000; //求速度千位值,送到千位显示缓冲区 for(i=0;i<4;) { P2=led[i]; if(i==0) //显示个位 { P0=smg[gw]; delays(); } else if(i==1) //显示十位 { P0=smg[sw]; delays(); } else if(i==2) //显示百位 { P0=smg[bw]; delays(); } else if(i==3) //显示千位 { if(k==0) //正转时显示"三" { P0=0x49; delays(); } else { i++; } } P0=0x71; //反转时显示"F" } } /*******************************************************/ /*****************延时函数*************************/ delays() { uchar i; for(i=5000;i>0;i--); } /************************************************/ /*********t0 定时*中断函数*************/ void t0() interrupt 1 using 2 { TH0=0xb1; //重装 t0 TL0=0xe0; f--; if(k==0) { if(f<t) P10=1; else P10=0; P11=0; } else { if(f<t) P11=1; else P11=0; P10=0; } if(f==0) { f=5; } j++; if(j==50) { j=0; x=TH1*256+TL1; //t1 方式 1 计数,读入计数值 TH1=0x00; TL1=0x00; x++; display(); } } /****************按键扫描**************/ key() { if(P12==0) //如果按下, { while(!P12) //去抖动 display(); k=~k; } if(P16==0) //启动 { while(P16==0); IE=0x8a; } if(P13==0) //加速 { while (P13==0); t++; } if(t>=5) t=5; if(P14==0) //减速 { while(P14==0); t--; } if(t<1) t=1; if(P15==0) //停止 { while(P15==0); EA=0; P10=0; P11=0; } } /******************************************************/
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服