ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:122.80KB ,
资源ID:18848558      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18848558.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(15基于单片机STC89C52的直流电机PWM调速控制系统Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

15基于单片机STC89C52的直流电机PWM调速控制系统Word文档格式.docx

1、而用 PWM 技术后,避免上述的缺点, 实现了数字式控制模拟信号,可以大幅度减低成本和功耗。并且 PWM 调速系统开 关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好; 同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关 元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济 好等特点。随着我国经济和文化事业的发展,在很多场合,都要求有直流电机 PWM 调速系统来进 行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、 自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、 飞机、

2、坦克、火箭、雷达、战车等场合。1.2 本设计任务:任务: 单片机为控制核心的直流电机 PWM 调速控制系统 设计的主要内容以及技术参数:功能主要包括:1) 直流电机的正转;2) 直流电机的反转;3) 直流电机的加速;4) 直流电机的减速;5) 直流电机的转速在数码管上显示;6) 直流电机的启动;7) 直流电机的停止;第二章:总体设计方案总体设计方案的硬件部分详细框图如图一所示。键盘向单片机输入相应控制指令,由单片机通过 P1.0 与 P1.1 其中一口输出与转速相 应的 PWM 脉冲,另一口输出低电平,经过信号放大、光耦传递,驱动 H 型桥式电动机控制电 路,实现电动机转向与转速的控制。电动机

3、的运转状态通过数码管显示出来。电动机所处速 度级以速度档级数显示。正转时最高位显示“三” ,其它三位为电机转速;反转时最高位 显示“F”,其它三位为电机转速。每次电动机启动后开始显示,停止时数码管显示出“0000”。1、系统的硬件电路设计与分析电动机 PWM 驱动模块的电路设计与实现具体电路见下图。本电路采用的是基于 PWM 原理的 H 型桥式驱动电路。PWM 电路由复合体管组成 H 型桥式电路构成,四部分晶体管以对角组合 分为两组:根据两个输入端的高低电平决定晶体管的导通和截止。4 个二极 管在电路中起防止晶体管产生反向电压的保护作用,防止电动机两端的电流 和晶体管上的电流过大的保护作用。在

4、实验中的控制系统电压统一为 5v 电源,因此若复合管基极由控制系 统直接控制,则控制电压最高为 5V,再加上三极管本身压降,加到电动机两 端的电压就只有 4V 左右,严重减弱了电动机的驱动力。基于上述考虑,我 们运用了 TLP521-2 光耦集成块,将控制部分与电动机的驱动部分隔离开来。 输入端各通过一个三极管增大光耦的驱动电流;电动机驱动部分通过外接 12V 电源驱动。这样不仅增加了各系统模块之间的隔离度,也使驱动电流得 到了大大的增强。在电动机驱动信号方面,我们采用了占空比可调的周期矩形信号控制。 脉冲频率对电动机转速有影响,脉冲频率高连续性好,但带带负载能力差脉 冲频率低则反之。经实验发

5、现,当电动机转动平稳,但加负载后,速度下降明显,低速时甚至会停转;脉冲频率在 10Hz 以下,电动机转动有明显跳动 现象。而具体采用的频率可根据个别电动机性能在此范围内调节。通过 P10 输入高电平信号,P11 输入低电平,电机正转;通过 P10 输入低电平信号, P11 输入高电平,电机反转;P10、P11 同时为高电平或低电平时,电机不转。 通过对信号占空比的调整来对电机转速进行调节。2、系统的软件设计本系统编程部分工作采用 KELI-C51 语言完成,采用模块化的设计方法, 与各子程序做为实现各部分功能和过程的入口,完成键盘输入、按键识别和 功能、PWM 脉宽控制和数码管显示等部分的设计

6、。单片机资源分配如下表:P0显示模块接口键盘中断P1键盘模块接口P1.0/P1.1PWM 电机驱动接口系统时钟PWM 脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程 序函数如下:/*延时函数*/ delays()uchar i; for(i=5000;i0;i-);键盘中断处理子程序:采用中断方式,按下键,完成延时去抖动、键码识 别、按键功能执行。要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松 开该按键时,每进行一次增加/减少一定的占空比。显示子程序:利用数组方式定义显示缓存区,缓存区有 8 位,分别存放各 个数码管要显示的值。定时中断处理程序:采用定时方式

7、 1,因为单片机使用 12M 晶振,可产生 最高约为 65.5ms 的延时。对定时器置初值 B1E0H 可定时 20ms,即系统时钟精度 可达 0.02s。当 20ms 定时时间到,定时器溢出则响应该定时中断处理程序,完 成对定时器的再次赋值,并对全局变量 time 加 1,这样,通过变量 time 可计算 出系统的运行时间。3、软件设计中的特点:对于电机的启停,在 PWM 控制上使用渐变的脉宽调整,即开启后由停止匀加速到默认速 度,停止则由于当前速度逐渐降至零。这样有利于保护电机。键盘处理上采用中断方式,不 必使程序对键盘反复扫描,提高了程序的效率。第三章:系统硬件电路设计第四章:系统功能调

8、试3、输出波形如下:4、加速分 5 档,波形依次如下:5、减速分 5 档,波形如下:第五章:程序/*头文件*/#includeabsacc.h#include /* /*自定义变量*/#define uint unsigned int /自定义变量#define uchar unsigned char char gw,sw,bw,qw;uchar j; /定时次数,每次 20ms uchar f=5; /计数的次数sbit P10=P10; /PWM 输出波形 1 sbit P11=P11; /PWM 输出波形 2 sbit P12=P12; /正反转sbit P13=P13; /加速 sbi

9、t P14=P14; /减速 sbit P15=P15; /停止 sbit P16=P16; /启动 uchar k;uchar t; /脉冲加减/*/*/*控制位定义*/uchar codesmg12=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x73,0x71;/ 程 序存储区定义字型码表char data led4=0x08,0x04,0x02,0x01; /位码 uint x; /数码管显示的数值display(); /数码管显示 delays(); /延时函数 key();displays();/*/*主函数*/ main (

10、void)TMOD=0x51; /T0 方式 1 定时计数 T1 方式 1 计数 TH0=0xb1; /装入初值 20MSTL0=0xe0;TH1=0x00; / 计数 567 TL1=0x00;TR0=1; /启动 t0TR1=1; /启动 t1 gw=sw=bw=qw=0; /数码管初始化 P0=0xc0;P2=1;while(1) /无限循环 /数码管显示 key();/*数码管显示*/ display()gw=x%10; /求速度个位值,送到个位显示缓冲区 sw=(x/10)%10; /求速度十位值,送到十位显示缓冲区 bw=(x/100)%10; /求速度百位值,送到百位显示缓冲区

11、qw=x/1000; /求速度千位值,送到千位显示缓冲区 for(i=0;i4;)P2=ledi;if(i=0) /显示个位P0=smggw; delays();else if(i=1) /显示十位P0=smgsw;else if(i=2) /显示百位P0=smgbw;else if(i=3) /显示千位if(k=0) /正转时显示三P0=0x49;delays();elsei+;P0=0x71; /反转时显示F/*/*/*t0 定时*中断函数*/ void t0() interrupt 1 using 2TH0=0xb1; /重装 t0 TL0=0xe0;f-;if(k=0)if(f=5) t=5;if(P14=0) /减速while(P14=0); t-;if(t1) t=1;if(P15=0) /停止while(P15=0);EA=0;/*/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1