可逆PWM调速驱动控制电路设计报告Word格式文档下载.docx
- 文档编号:13683177
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:13
- 大小:621.97KB
可逆PWM调速驱动控制电路设计报告Word格式文档下载.docx
《可逆PWM调速驱动控制电路设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《可逆PWM调速驱动控制电路设计报告Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
方案选择:
H桥电路选择:
采用集成的H桥式芯片,相比于元器件组装的H桥式电路,性能跟高,功耗更低,占用面积小,因此选用IC。
常用的直流电机只需要单H桥就能完成转向问题,L298N的驱动电流可以达到4A,工作电压可达36V,但芯片价格相对较贵,对于一般小电机而言有点大材小用了,用L9110H同样可以实现,而且工作电压为2.5V-12V,峰值电流高达1.5A,持续电流高达0.8A,足以驱动6V3W的直流电机,且芯片相对便宜,所以采用L9110H驱动电机。
PWM电路选择:
NE555能产生占空比可调的方波,实现简单,但方波频率一般不可调(可调需添加滑动变阻器,频率调节范围也小),分立元件也多,而采用STC12C5A60S2片上集成了PWM模块,可以实现频率可调,调频范围宽,占空比可调,分辨率高,为1/256,性能可靠,实现简单,所以采用STC12C5A60S2片上集成了PWM模块。
最终采用STC12C5A60S2片上集成了PWM模块+L9110H驱动模块的方案
4.单元电路设计说明
(1)、单片机最小系统
STC12C5A60S2有61KROM,不需要外接ROM(没有EA),单片机P0口不用接上拉电阻,与传统51单片机不同,STC12C5A60S2通过设置相应寄存器,可以使P0口有一定驱动能力。
STC12C5A60S2单片机最小系统
(2)、输入输出设备
输入输出设备
该设计有两种输入输出设备:
按键和LED,按键可采用一般的扫描方式,也可以用中断方式,为了快速相应用户指令,选择用中断方式。
然而外部中断只有两个,这里用定时器T0、T1扩展了两个下降沿外部中断,正好实现启停、正反、增速、减速的指令输入。
为了更人性化,有相应的Led做出指令提示(D1为电源指示灯,D2为启动指示灯,D3为正向运行指示灯,D4为反向运行指示灯,D5为加速指示灯,D6为减速指示灯)。
电源接通,D1亮。
当按启动按钮时,D2亮,D3亮,再按一次,D2灭,D3灭,只有电机处于启动状态时,正反、增速、减速的指令输入才有效,相应LED灯才会亮;
当处于启动状态,按正反转按钮,电机反转,D3灭,D4亮,再按一次D3亮,D4灭;
当按增速按钮时,D5闪烁一下,表示按钮指令有效,当达到最大占空比时,再按增速按钮,D5将不会闪烁,表示已达最大占空比;
同样的,减速功能类似增速功能。
(3)、H桥驱动
基于L9110H的H桥驱动电路
IA
IB
OA
OB
H
L
真值表
当IA为高电平,IB为低电平,电机正转;
当IA为低电平,IB为高电平,电机反转。
(4)、片上PWM
对于L298N有三个控制端,第三个就是使能端,只要PWM波形控制使能端,就可以控制转速,但L9110H只有两个控制端。
因此,将方向控制,同速度控制相结合,即两个控制端既控制方向,又控制转速。
实现方法:
在控制方向的基础上,将高电平输入端,改为PWM波形输入,就可以控制转速;
当换方向时,将控制信号交换,就可以了。
与L298N的控制方法不同的是:
L9110H需要两路PWM控制信号,编程相对复杂些,但控制信号线只要两个,占IO资源少。
5.完整电路原理
电路分为4部分:
电源、单片机最小系统、输入输出设备、H桥驱动模块,如下图所示。
为了检测电路的可行性,将现成的电路模块连在一起,搭建上面的电路,加载程序(程序流程图及程序如附录所示),实现了上述功能,证明了电路的可行性。
附录1.单片机程序流程图
NO
YES
INT0
中断
中断产生了吗?
INT1
T1
中断
T0
结束
正转
开启标志复位,相应参数复位,电机停转
两路PWM占空比切换(任意时刻有1路PWM占空比为0%)
判断方向
反转
PWM0
占空比
增大
PWM1
减小
增速
减速
NO
附录2.单片机程序流程图
#include"
STC12C5A.h"
//STC12C5A60S2头文件,STC官网有下载
intrins.h"
typedefunsignedcharBYTE;
typedefunsignedintWORD;
sbitrun_led=P0^0;
//运行状态指示灯
sbitdir_for_led=P0^1;
//正向运行指示灯
sbitdir_back_led=P0^2;
//反向运行指示灯
sbitadd_led=P0^3;
//加速指示
sbitsub_led=P0^4;
//减速调试
bitrun_flag=0;
//运行状态:
0:
停止1:
运行
bitdir_flag=0;
//方向标识:
正转1:
反转
voidDelay20ms()//@11.0592MHz精确延时20ms
{
unsignedchari,j,k;
_nop_();
i=1;
j=216;
k=35;
do
{
do
{
while(--k);
}while(--j);
}while(--i);
}
voidInit_PWM()//frq=11059200/12/256=3600hzP1.3:
PWM0P1.4:
CCON=0;
//初始化PCA控制器
CL=0;
//重置PCA时间
CH=0;
CMOD=0x02;
//PCA时钟频率Fosc/12
CCAP0H=CCAP0L=0xff;
//PWM0输出0%占空比电压
CCAPM0=0x42;
//PCA模块08位PWM工作方式
CCAP1H=CCAP1L=0xff;
//PWM1输出0%占空比电压
CCAPM1=0x42;
//PCA模块18位PWM工作方式
CR=1;
//PCA计时开始
voidInit_Inter()
IT0=1;
//INT0下降沿
EX0=1;
//INT0中断使能
IT1=1;
EX1=1;
voidInit_Timer()//定时器扩展为负跳变的外部中断
AUXR=0xC0;
//定时器timer0/timer11T模式
TMOD=0x66;
//定时器timer0/timer18位自动重装
TL0=TH0=0xff;
//扩展为外部中断的关键步骤
TL1=TH1=0xff;
TR0=1;
//timer0开始
TR1=1;
//timer1开始
ET0=1;
//T0中断使能
ET1=1;
//T1中断使能
voidmain()
Init_PWM();
//两路PWM初始化
Init_Inter();
//INT0/INT1初始化
Init_Timer();
//T0/T1初始化
EA=1;
//开全局中断使能
while
(1)
}
voidexint0()interrupt0//外部中断0电机启停
{
EA=0;
//关总中断
run_led=run_flag;
run_flag=~run_flag;
if(!
run_flag)
dir_flag=0;
//方向标志复位
dir_for_led=1;
//正向运行指示灯复位
dir_back_led=1;
//反向运行指示灯复位
//占空比复位0%
CCAP1H=CCAP1L=0xff;
else
dir_for_led=0;
//默认为正向启动
Delay20ms();
//消抖
//开总中断
voidt0int()interrupt1//T0中断电机方向转换
BYTEtemp1,temp2;
if(run_flag)
dir_flag=~dir_flag;
//方向选择
dir_for_led=~dir_for_led;
//指示灯指示
dir_back_led=~dir_back_led;
temp1=CCAP0H;
//方向转换
temp2=CCAP1H;
//重新设置两路PWM,启动
CR=0;
CCAP0H=CCAP0L=temp2;
CCAP1H=CCAP1L=temp1;
CCAPM1=0x42;
voidexint1()interrupt2//外部中断1
if(run_flag)//只能在运行状态下才能调速
dir_flag)//判定运行方向
if(0x00!
=CCAP0L)//增大占空比
{
add_led=0;
CCAP0L-=5;
CCAP0H=CCAP0L;
=CCAP1L)//增大占空比
CCA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可逆 PWM 调速 驱动 控制电路 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)