Когда я использую AnalogueWrite, напряжение не меняется должным образом.
У меня есть проект, в котором я хочу управлять насосом, я использую Arduino, подключенную к драйверу L298N, и подключаю контакты 5, 6, 7 Arduino к контактам IN2, IN1, ENA драйвера. соответственно и двигатель будет подключен к выходу
Моя техника:
- Ардуино Уно R3
- Мультиметр
- Arduino IDE 2.1.1
Проблема: Когда я использую функцию AnalogWrite, напряжение варьируется только между двумя значениями (0 В или 5,5 В). В качестве контакта использовался цифровой контакт №7, отмеченный кодом 7.
Код:
#define PUMP_DIR_1 5
#define PUMP_DIR_2 6
#define PUMP_PWM 7
#define INVERTED 0
void setup() {
Serial.begin(9600);
pinMode(PUMP_PWM, OUTPUT);
}
void set_pump_speed(int speed){
Serial.print("Set speed ");
Serial.print(speed);
Serial.print("\r\n");
analogWrite(PUMP_PWM, speed);
}
void loop() {
set_pump_speed(255);
delay(3000);
set_pump_speed(0);
delay(3000);
set_pump_speed(125);
delay(3000);
}
В качестве вывода я получил:
00:32:17.184 -> Установить скорость 0
00:32:20.175 -> Установите скорость 125
00:32:23.178 -> Установите скорость 255
00:32:26.182 -> Установить скорость 0
00:32:29.197 -> Установите скорость 125
00:32:32.201 -> Установить скорость 255
Из мутлиметра я получил:
0 В, когда скорость = 0
0 В при скорости = 125
5,5 В при скорости = 255
Ардуино ни к чему не подключен
@Nept0, 👍1
1 ответ
Лучший ответ:
Пин 7 не является контактом ШИМ. Используйте, скажем, контакт 6, и вы получите правильные результаты. Выводы ШИМ отмечены знаком «~». на плате.
- NodeMCU - Vin контакт как выход 5V?
- Есть ли способ воспроизводить звуки с Arduino без использования звукового экрана?
- В чем разница между analogWrite и digitalWrite?
- Какова частота PWM-выхода на Arduino
- Как вывести истинное аналоговое напряжение на выходной контакт
- Отправка значения с одного Arduino на другой
- Проблема с выходным контактом ШИМ (PWM)
- Пассивный зуммер работает с AnalogWrite(), но не с DigitalWrite(). Он также имеет постоянный статический шум.
Спасибо за ваш ответ, я чувствую себя глупо, потому что я не первый раз использую ШИМ на Arduino и никогда не принимал это во внимание., @Nept0
@Nept0 Не волнуйся! Должно быть, в прошлый раз это сработало случайно, теперь вы знаете, почему. :), @Nick Gammon