H桥PWM直流电动机驱动器(原理图代码)

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H桥PWM直流电动机驱动器(原理图代码)相关的知识,希望对你有一定的参考价值。

H桥PWM直流电动机驱动器(原理图、代码)


使用四个IR3205功率MOSFET和两个IR2104 MOSFET驱动器的完整的H桥DC电动机驱动器。从理论上讲,上述MOSFET可以处理高达80A的电流,但是,实际上,如果使用大型散热片或风扇将MOSFET的温度保持在尽可能低的水平,我们可以期望获得高达40A的电流。

IR2104(S)是高压,高速功率MOSFET和igbt驱动器,具有相关的高端和低端参考输出通道。专有的HVIC和锁存免疫CMOS技术可实现坚固的单片结构。逻辑输入与低至3.3V逻辑的标准CMOS或LSTTL输出兼容。输出驱动器具有高脉冲电流缓冲级,旨在最小化驱动器交叉导通。浮动通道可用于驱动工作在10至600伏特高压侧的N通道功率MOSFET或IGBT。”

关于IR2104该芯片既兼容3.3V逻辑电平又兼容5V逻辑电平。下图显示了该芯片的基本接线图。显然,芯片和负载(电动机)的电源不必相同,但是,两个电源共用一个公共地。

Arduino UNO驱动代码

/*H桥PWM直流电动机驱动代码
 * JC_Button库下载地址:https://www.arduino.cc/reference/en/libraries/jc_button/
 */
#include <JC_Button.h>
int PWM_Value;
byte Enable_Pin = 13;
byte PWM1_Pin = 11;
byte PWM2_Pin = 10;
byte PWM_Pin = 11;
Button UP(9, 25, true, true);
Button Down(8, 25, true, true);
Button Left(7, 25, true, true);
Button Right(6, 25, true, true);
void setup() 
pinMode(Enable_Pin, OUTPUT);
pinMode(PWM1_Pin, OUTPUT);
pinMode(PWM2_Pin, OUTPUT);
UP.begin();
Down.begin();
Left.begin();
Right.begin();
digitalWrite(Enable_Pin, LOW);
PWM_Value = 0;
analogWrite(PWM1_Pin, PWM_Value);
analogWrite(PWM2_Pin, PWM_Value);

void loop()

digitalWrite(Enable_Pin, HIGH);
UP.read();
Down.read();
Left.read();
Right.read();
if (UP.wasReleased() && PWM_Value < 250)

PWM_Value +=5;

if (Down.wasReleased() && PWM_Value > 5)

PWM_Value -=5;

if (Left.wasReleased())

PWM_Pin = PWM1_Pin;
analogWrite(PWM2_Pin, 0);

if (Right.wasReleased())

PWM_Pin = PWM2_Pin;
analogWrite(PWM1_Pin, 0);

analogWrite(PWM_Pin, PWM_Value);

以上是关于H桥PWM直流电动机驱动器(原理图代码)的主要内容,如果未能解决你的问题,请参考以下文章

单片机pwm控制电机转速

第八章-:蜂鸣器驱动

H桥原理驱动及应用

Verilog直流电机的pwm控制设计

Proteus仿真三极管组成的H桥驱动直流电机+按键正反转控制

H桥电路问题请教