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);
}

在这里插入图片描述


  一些事情,当我们年轻的时候,无法懂得。当我们懂得的时候,已不再年轻。世上有些东西可以弥补,有些东西无法弥补。我们总要错过许多才知道,人生原来是这样的不同。
  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值