我们先从一个常识现象入手:对于一般的单片机,假如是avr单片机,它的io口有输出5v的能力,当我们5v输出的时候,电机是转的最快的,但我们供电设备由于一定时间的使用,电量不足的时候,你会发现电机的速度会越来越慢的。
从这个例子我们能得到一个简单的结论:电机的转速和供电的电压有很大关系。
我们可以来搭建这样一个电路:
扭动滑动变阻器,我们就可以控制电机的转速了。
但是这种控制是不理想的,我们需要使用微控制器来直接控制电机的转速,那么我们需要怎么做呢?
首先我们先介绍有个控制方法------pwm控制即脉冲宽度调制,它是一种提供电压的方式,只是它不是一个平坦的值,它是有很多高低电平的跃变。
几个基本概念:
高电平和低电平持续的时间为一个周期,周期的倒数为频率
高电平与一个脉冲周期的比值为占空比,脉冲的高度为振幅。
那么pwm信号可以怎么产生呢?我记得在将STM32系列教程的时候,使用定时器是可以很快速的产生pwm信号的。
那么pwm是怎么样在电机上工作的呢?先分析一个这样的电路:
这是一个NPN三极管,当基极和发射极有小电流通过的时候,集电极和发射极才会有电压流过。
当pwm为低电平时,Q1处于截止状态,所以电机此时也是不动的,
当pwm为高电平时,Q1处于导通状态,所以电机此时也是转动的,
R2很明显是一个限流电阻,但低电平时,电动机犹豫惯性,还将持续的转动,此时它就变成了有个发电机,会有电流产生,此时D1就起作用了,这个发电机产生的电流就会从D1这条分支上流过,不会损坏电机,D1称为续流二极管。
所以说,其实对电机的控制是断断续续的,只有高脉冲的时候电机才会转动,但是由于惯性,在低电平的时候,也会转动,要是频率高的话,我们人眼就分辨不出来了。
好了,那到底电机的速度怎么来控制呢?电机的速度是由pwm信号的占空比决定的,
占空比的值越大,速度就越快。
在给定电压下,占空比和速度基本成线性关系。
好了我们总结一下: