[产品库]主题:振动电机 发布者:东源机械有限公司 郝德祥
08/09/2013
Visit:42 ,Today:1
振动电机脉宽调制的实现
直流振动电机是一个模拟器件,而单片机的输出是数字信号。要实现单片机对直流振动电机转速的控制,可以采用数/模转换电路进行D/A转换,也可以采用脉宽调制的方式实现。
以单片机为控制核心并负责脉宽调制任务,按键作为系统输入,改变单片机输出脉冲的宽度实现对直流振动电机速度的调节。脉宽调制的输出就是不同宽度的脉冲,也就是单片机改变输出的高低电平的时间。单片机的引脚负载能力极弱,需要功率驱动电路对单片机的输出信号进行放大后,再驱动直流振动电机。
需要注意的是要让振动电机取得不同转速的效果,必须提高调制频率,通常调制频率为1~200kHz,否则实际效果会是转动一短时间再停止一段时间。
采用脉宽调制的方式实现用按键控制直流振动电机的转速,振动电机从静止到全速运行分为多个档位。整个系统硬件电路由单片机至小系统、按键、直流振动电机及其驱动电路组成。
在本设计中选择AT89S52单片机芯片为系统控制芯片,系统晶振频率为12MHz。系统采用外部中断的方式检测按键,控制振动电机调速。在脉宽调制中,对高低电平保持时间进行定时的任务交给集成在单片机内部的定时器完成,因此不存在外围电路的连接。对于PWM输出只需要单片机的通用IO口实现,选择PWM的输出引脚为P2.0。震动电机
单片机输出控制信号不能直接驱动振动电机,需要外接如L298等H桥电路等驱动直流振动电机,也可以根据需要采用由功率MOS管构成的H桥电路,来驱动高电压、大电流的直流振动电机。
当单片机检测到按键按下时,进入外部中断0的服务程序,此时应控制换挡。程序中用变量time来表示档位,范围从0到10共分为11个档位,其中0代表振动电机停止运行,10代表振动电机全速运行,从1到9代表振动电机转速逐渐线性提高的各个档位。为了消除因按键抖动引起的错误操作,需要对按键进行消抖处理。
选用的脉宽调制方案是先确定PWM信号的频率为1kHz,即周期为1ms,相比振动电机对开关状态变化的响应时间足够短,所以能够近似等效于模拟信号从而控制转速。振动电机转速的档位是从0到10分为11挡,对应PWM信号的占空比从0到100%也分为11挡,因此一个周期就分为10个等份,每个等份的时间即单位间隔时间为100μs。
用定时器定时100μs,时间到就会进入定时中断服务程序,此时对定时中断次数计数,并根据变量time所指示的转速档位去判断脉冲的宽度是否已达到对应的占空比,输出对应的高低电平,从而实现脉宽调制。
http://www.zd373.com
东源机械有限公司
河南新乡市牧野工业区
0373-3383880
18637320868
xxzd373@163.com
www.zd373.com/
最后更新: 2013-08-09 10:02:49