51单片机-PWM(脉冲宽度调制)
一、PWM(脉冲宽度调制)
- PWM,即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,可用于电机控速,舵机控制角度等等领域
- 周期为Ts, 频率f = 1/Ts,占空比 = Ton/Ts(高电平时间占1个周期的比例)
- PWM本质上就是在固定周期里面,对高电平的占比进行调节,从而得到不一样的模拟量

二、直流电机
2.1 电机介绍
- 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,电极反接时,电机反转
- 除直流电机外,常见的电机还有步进电机、舵机、无刷电机(转速快)等等
由于电机的功率比较大,直接接在单片机的IO口上会损坏电路,所以需要驱动电路来驱动电机
- 大功率器件直接驱动电路:电机只能正转(电机正负极反接时,可以实现反转)


- H桥驱动:可以实现电机的正转和反转

2.2 电机转速调节代码
我们通过定时器和中断来模拟周期和电机的占空比,通过独立按键来控制电机转速的四个挡位,占空比为1时,电机转速最快,占空比为75%、50%、25%时,电机转速逐渐减少
下面是main.c
#include <REGX52.H>
#include "Delayms.h"
#include "Key.h"
#include "Nixie.h"
#include "Timer0.h"
sbit Motor = P1^0;
unsigned char Counter,Compare; //计数器/比较器
unsigned char KeyNum,Speed;

最低0.47元/天 解锁文章
761

被折叠的 条评论
为什么被折叠?



