Могу ли я проверить, почему мой двигатель не работает?
В настоящее время я использую Arduino Uno, подключенную к L298N (зеленая плата), подключенную к двигателю постоянного тока с номинальным напряжением 12 В. Я предоставил выделенный источник питания 12 В для двигателя постоянного тока, а питание платы Arduino подается через USB, подключенный к моему компьютеру. Я подключил контакт 9 arduino uno к «ENA» на L298N, контакт 7 & 8 (UNO) на «INA» & «ИНБ» L298N. Подключил «-» полярность питания двигателя к GND L298N, а также подключил «GND» L298N к GND Arduino UNO. И последнее, но не менее важное: подключение «OUT B» к двигателю постоянного тока. Это изображение того, как выглядит L298N (зеленый) ?cur_warehouse=CN">https://sea.banggood.com/Green-Board-L298N-DC-Motor-Driver-Board-Stepper-Motor-p-974549.html?cur_warehouse=CN
Могу ли я проверить, почему мой двигатель не работает? Заранее спасибо.
char data = 0;
int enB = 9;
int InC = 8;
int InD = 7;
void setup()
{
Serial.begin(9600);
Serial.println("Motor test !");
pinMode(enB, OUTPUT);
pinMode(InC, OUTPUT);
pinMode(InD, OUTPUT);
}
void loop()
{Serial.println("Entered loop, should start moving now !");
digitalWrite(InC, HIGH);
digitalWrite(InD, LOW);
digitalWrite(enB, HIGH);
analogWrite(enB, 255);
}
@user10748500, 👍0
Обсуждение1 ответ
Ну, с вашей проводкой все в порядке, но я думаю,
'digitalWrite(enB, HIGH);
в коде loop() возникает ваша проблема. Вы не хотите использовать один и тот же контакт для цифровых и аналоговых функций.
Я подключил здесь Uno с вашей настройкой и L298N и добился того, чтобы двигатель работал нормально со следующим скетчем, который вообще не использует loop() — он делает все в setup().
char data = 0;
int enB = 9;
int InC = 8;
int InD = 7;
void setup()
{
Serial.begin(9600);
Serial.println("Motor test !");
pinMode(enB, OUTPUT);
pinMode(InC, OUTPUT);
pinMode(InD, OUTPUT);
Serial.println("motor should start moving now !");
digitalWrite(InC, HIGH);
digitalWrite(InD, LOW);
// цифровая запись (enB, HIGH);
for (size_t i = 0; i < 10; i++)
{
analogWrite(enB, 20*i);
Serial.print("motor speed = "); Serial.println(20 * i);
delay(2000);
}
Serial.println("quitting!");
while (true)
{
}
}
void loop()
{
//Serial.println("Начался цикл, теперь нужно начать движение!");
// цифровая запись (InC, HIGH);
// цифровая запись (InD, LOW);
// цифровая запись (enB, HIGH);
//аналоговая запись(enB, 255);
}
Если вам не удается заставить двигатель работать с помощью указанной выше программы, скорее всего, у вас возникла проблема с подключением, источником питания или компонентом, которую необходимо устранить.
Надеюсь, это поможет,
Фрэнк
Привет, Фрэнк, спасибо за вашу помощь, после использования кода, которым вы поделились, он все еще не работает. Я подозреваю, что этот зеленый L298N отличается от обычных «красных». На моей плате L298N горит только светодиод «5v», а не все «A», «B», «C», «D»., @user10748500
Обойти все и НЕМЕДЛЕННО подключить +12В к двигателю. Двигатель работает? У вас есть мультиметр? Если это так, вы можете отключить двигатель, чтобы убедиться, что у вас нет обрыва обмотки. Если двигатель работает при прямом подключении к 12 В, попробуйте использовать другой выходной контакт ШИМ вместо контакта 9. Попробуйте подключить двигатель к другому выходу L298N. Если у вас есть цифровой вольтметр, измерьте напряжение постоянного тока на выходе двигателя L298N; он должен считывать почти полное напряжение питания, когда программа работает. Если у вас нет DVM, вам следует подумать о его приобретении — это бесценный инструмент для устранения неполадок ;-), @user3765883
@user10748500 user10748500 вы можете добавить еще одну картинку (существующая ссылка не работает)? Я знаю только зеленую, а не красную..., @Sim Son
- L298N Dual Motor Controller Enable Pin имеет питание, но двигатели не работают
- L298N, HC-05 Простой автомобиль с дистанционным управлением через Bluetooth, не работающий в Arduino
- L298N издает звуковые сигналы и дает сбой при получении определенных значений AnalogWrite
- Как использовать отдельный источник питания для Arduino и двигателей
- Как узнать состояние двигателя постоянного тока включен он или выключен
- Драйвер L298n с Arduino с 2 моторами работает
- 4 батареи типа АА (6 В) питают мой Arduino
- Проблема начинающего с двигателем постоянного тока
код, который находится внутри блока loop(), нужно запустить только один раз... вы можете переместить его в блок setup(), @jsotola