动手学arduino(5)用mos管驱动马达

市场上的小风扇很受小朋友们喜欢,你是否也想做一款属于自己的迷你风扇?

你需要准备一片arduino,一个小电机,扇叶,支架等。

本文只介绍核心控制部分,外壳安装省略。

动手学arduino(5)用mos管驱动马达

Arduino开发板上的每一个引脚只能提供10~20mA的电流,仅能驱动一个LED灯。如果你要用它驱动一个直流电机,最后的结果也许是电机不转,或许把你的芯片烧坏,都是有可能的。为了驱动大功率负载,我们就必须借助一些其他的电子元器件,这就是在硬件领域最重要的开关管MOSFET晶体管,它有三个引脚,arduino的引脚连G极,drain接马达负极、Source接地,马达接VCC。我们给G极高电平,MOSFET就会导通,以此达到小电流控制大电流的目的。

动手学arduino(5)用mos管驱动马达

注意:arduino的GND要与外接电源的负极相连!

建议:G极与地之间接一个数百K的电阻。

在这里,MOS管就像一个开关,控制电机的功率。Arduino引脚2用于打开和关闭MOS管.

在实验中,可以用’NPN型BJT’代替NMOS管,但在改变管脚接线。

警告 – 不要直接从Arduino板引脚驱动电机。这可能会损坏电路板。

淘宝上有做好的mos模块,如下图:

动手学arduino(5)用mos管驱动马达
各个引脚
动手学arduino(5)用mos管驱动马达
左上角 V+ V- 是输出的正负。右上角 Vin 和 GND 是输入的电源的正负极。V+ 和Vin 是通的,右上角的GND和下面的GND是通的。下面一排分别是 SIG (控制信号),VCC (控制信号电源),GND(控制信号的地)。
为了验证MOS所以设计了一个实验,用Arduino的PWM输出来控制 SIG,然后达到控制灯泡亮度的目的。
 

改变电机的转速——PWM

PWM(脉冲宽度调制)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
 

简单说来,arduino各引脚通常只有0(0伏)和1(5伏)两个状态,要让引脚输出0.4(2伏),怎么办?pwm就有办到。
 

在arduino中,用pwm驱动LED的暗亮程度,电机的转速等。
 

在仿真电路中,在10脚接一个LED电路,并联一个电压表,给一段让10脚电压从0-5V来回变化(LED呼吸灯)效果的代码。

代码:

动手学arduino(5)用mos管驱动马达

仿真效果:

仿真截图一:

动手学arduino(5)用mos管驱动马达

仿真截图二:

动手学arduino(5)用mos管驱动马达

驱动电机:mos的G极接arduino的3脚。

arduino板上画有“~”的引脚表示可以输出pwm。Arduino UNO 控制器的数字引脚中,3,5,6,9,10,11六个可以输出PWM信号。

动手学arduino(5)用mos管驱动马达

代码:

动手学arduino(5)用mos管驱动马达

仿真视频:

注意观察马达上显示的转速(XXRPM)一直从小到大,再从大到小反复变化。