实验中需要一个 可以用arduino控制的12v的电压输出。
网上查了很多教程,终于拼凑出来一个可行的方案,在此记录一下。
成果:
12V USB 给 马达 和 arduino板子 同时供电
可用PWM调整输出电压 / 马达调速
L298N:
(淘宝图)
用12V供电给L298N供电的话,5V供电会变成一个5V 输出,可以用来给arduino供电。
接线:
L298N:
- 通道A使能 —— ~10 (调速用)
- IN1 —— 5
- IN2 —— 6
- GND —— 接地
- 12v 供电 —— 12v电源正极
- 5v 供电 —— arduino 的 5v‘
- 输出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 供电 + 调速