用 L298N 给马达进行 12V 供电 + 调速

实验中需要一个 可以用arduino控制的12v的电压输出。

网上查了很多教程,终于拼凑出来一个可行的方案,在此记录一下。

成果:

12V USB 给 马达 和 arduino板子 同时供电

可用PWM调整输出电压 / 马达调速

L298N:

(淘宝图)

用12V供电给L298N供电的话,5V供电会变成一个5V 输出,可以用来给arduino供电。

接线:

L298N:

  1. 通道A使能 —— ~10  (调速用)
  2. IN1 —— 5
  3. IN2 —— 6
  4. GND —— 接地
  5. 12v 供电 —— 12v电源正极
  6. 5v 供电 —— arduino 的 5v‘
  7. 输出A接到直流电机上

Arduion:

GND —— 和L298N 共地

(其他的都连到L298N上了)

电路图:

注意: 

arduino 和 L298N 共地

通道A使能上的跳线帽要拔掉,才能进行PWM调速。(如果不拔掉的话速度保持恒定)

实物图:

此处是接了一个电磁铁而不是马达

右下角是电脑 USB 12v 供电

淘宝上买的 USB 转12v的线,把接头砍掉,把导线直接接到面包板上供电。

程序:

int input1 = 5; // 定义uno的pin 5 向 input1 输出 
int input2 = 6; // 定义uno的pin 6 向 input2 输出
int enA = 10; // 定义uno的pin 10 向 输出A使能端输出
 
void setup() {
pinMode(input1,OUTPUT);
pinMode(input2,OUTPUT);
pinMode(enA,OUTPUT);
}
 
void loop() {
  digitalWrite(input1,HIGH); //给高电平
  digitalWrite(input2,LOW);  //给低电平
  
  analogWrite(enA,0);
  delay(3000);
  
  analogWrite(enA,100); //模拟输出 范围 0~255
  delay(3000);
  
  analogWrite(enA,255); 
  delay(3000);
}

改编自大佬的代码:arduino利用三种方法产生pwm波使用l298n驱动12v小车电机(附电路连接图和pwm详解)_国庆的博客-CSDN博客_arduino控制12v电机

效果:

电压:0v -> 5.3v -> 12v

每三秒变一次

用 L298N 给马达进行 12V 供电 + 调速

### 回答1: ArduinoL298N可以用来实现PID调速控制。PID控制是一种反馈控制方法,可以根据传感器反馈的实际速度值来调整电机的转速,使其逐渐逼近设定值,从而实现稳定的调速效果。L298N是一种可编程马达驱动芯片,可以控制直流电机或步进电机,通过ArduinoL298N结合使用,可以实时监测电机转速,根据需要进行PID计算和调整,从而实现高精度的调速控制。 ### 回答2: Arduino是一种基于开源硬件和软件的微控制器板,具有广泛的用途,可以用于控制各种设备和系统。PID(比例-积分-微分)控制器是一种自适应控制系统,可以根据控制对象的状态变化进行相应的调整来实现最佳控制效果。 L298N是一种双全桥直流电机驱动模块,可以用于控制直流电机。它可以通过PWM调整电机的速度并实现反向转动。 ArduinoL298N配合使用可以实现PID调速,具体方法如下: 1.连接ArduinoL298N模块。将Arduino的数字引脚连接到L298N的控制引脚,将模块的输出引脚连接到电机。 2.编写Arduino代码。使用Arduino的库函数控制PWM输出控制L298N模块的运行,并使用PID库函数实现自适应调节。 3.初始化PID参数。根据控制对象的实际情况,设置PID的Kp、Ki、Kd值。Kp是比例增益,Ki是积分增益,Kd是微分增益,这些值可以通过试验确定。 4.设置参考值。设置要控制的速度值作为参考值,可以通过Arduino的输入设备(如旋钮)或外部传感器获取反馈信号。 5.运行控制系统。将参考值和反馈值输入PID控制器,根据控制对象的实际输出情况,自适应调整PWM输出信号,控制电机的速度。 需要注意的是,ArduinoL298N的配置和代码编写需要具备一定的电子和编程基础知识。此外,在运行PID控制系统时,需要实时监测控制对象的状态变化,及时进行调整,以实现最优的调节效果。 ### 回答3: ArduinoL298N是两个常用的电子组件,其中Arduino是一种小型单板计算机,可以通过编程实现各种功能;而L298N是一种直流电机驱动芯片,可以控制电机的方向和速度。在进行调速控制时,可以借助PID算法实现更为精准的控制。 PID算法是一种反馈控制算法,通过不断地根据误差调整输出,从而达到控制的目的。其中,P代表比例系数,可以通过调整比例系数来控制输出的大小;I代表积分系数,可以用来消除系统中的静差;D代表微分系数,可以用来消除输出的震荡。 在使用ArduinoL298N进行PID调速时,首先需要通过编程实现PID算法,并将算法与L298N的控制部分相连接。具体步骤如下: 1. 定义需要控制的电机、PID算法的参数。 2. 在循环中读取电机的实际速度和目标速度。 3. 计算误差,并根据比例系数调整输出。 4. 累积误差,并根据积分系数消除静差。 5. 根据微分系数消除输出的震荡。 6. 将PID算法的输出作为L298N控制部分的输入,控制电机的速度。 需要注意的是,PID算法需要适当的参数调整,以达到最佳的调速效果。如果比例系数过大,可能会导致系统的震荡;如果积分系数过大,可能会导致系统的过度调节;如果微分系数过大,则可能会导致系统的超调。 总之,使用ArduinoL298N进行PID调速需要具备一定的电子基础知识和编程经验,需要编写出有效的算法,并进行合理的参数调整,才能实现准确的电机调速
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值