void setup() {
pinMode(3, OUTPUT);
}
uint32_t time;
int duty = 0;
bool direction = true;
void loop() {
if (millis() - time >= 20) {
time = millis();
if (direction) duty+=5;
else duty-=5;
if (duty >= 255 || duty <= 0) direction = !direction;
analogWrite(3, duty);
}
}
По коду просто - циклично подаю разный ШИМ сигнал на D3 пин.
В итоге светодиод на мосфете плавно загорается и тухнет, но на выводе к LED напряжения никакого нету
Были мысли что сам модуль поврежден или контакты плохо припаяны, но заменив analogWrite на digitalWrite все заработало, но естественно, без плавного перехода, а просто как включатель/выключатель.
Подскажите что может быть не так, пол дня убил на поиски информации в интернете, ничего толкового не нашел
Напряжение: 3,3 В, 5 В
Порт: цифровой уровень количества
Напряжение выходной нагрузки: от 0 до 24 В
Ток выходной нагрузки: <5A (при добавлении радиатора более 1 а)
напряжение подаю 12В, с ардуино сигнал должен идти 5 вольт на сигнальный пин модуля
Мне вот тоже подумалось, что в динамике ему просто не хватает напряжения, чтобы полноценно открываться.
Там IRF520 полевик, ±20V макс. напр. затвора по даташиту.
И по схеме … посмотрел разводку этого модуля, пин VCC, который между пинами SIG и GND, никуда не подключен, так что можно провод с него до Ардуино убрать безболезненно.
Попробуй транзисторный ключ с питанием от +12V в раскачку поставить.
нашел несколько проблем из-за которых не работало, почему стало работать до конца не понимаю, но:
если подвести из плюса 12В к VIN на ардуино, то достаточное количество напряжения начинает поступать на выход мосфет модуля
я использовал светодиод для отслеживания работает ли код или нет, и он был подключен к тому же пину, что и сигнальный пин мосфета, и похоже у светодиода большое сопротивление, потому что работал только он, как только я его убираю - мосфет начинает правильно работать и передавать полную нагрузку на подключенную к нему ленту
былы еще просто какие-то проблемы с контактами на макетной плате, не всегда соединялись пины.