H桥PWM直流电动机驱动器(原理图代码)
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H桥PWM直流电动机驱动器(原理图代码)相关的知识,希望对你有一定的参考价值。
H桥PWM直流电动机驱动器(原理图、代码)
- 本项目来源于:https://www.cirmall.com/bbs/thread-170432-1-1.html
- 实物图
- 原理图
使用四个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驱动代码
- 所需 JC_Button库:https://www.arduino.cc/reference/en/libraries/jc_button/
- 安装好库后,编译代码没有问题。
/*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直流电动机驱动器(原理图代码)的主要内容,如果未能解决你的问题,请参考以下文章