MOSFET диммер с ИК-управлением

Я пытаюсь подключить группу светодиодов с ШИМ к MOSFET. Код, похоже, работает для этого, но проблема в том, что ИК-приемник будет получать только сигнал о включении света, а затем встроенный светодиод ИК-приемника переходит в постоянное тусклое состояние (которое предположительно полностью выключено). Затем он отказывается принимать входные данные до тех пор, пока не будет выполнен сброс Arduino. Я купил еще один ИК-приемник и поместил его в ту же конфигурацию, и он работал точно так, как предполагалось. Я мог сделать светодиоды ярче, и я видел, как ШИМ растягивается на моем осциллографе с каждым щелчком моего пульта дистанционного управления. Проблема в том, что приемник быстро перестал работать, в этот момент я думаю, что проблема в моей схеме. Я прилагаю принципиальную схему в надежде, что кто-то может помочь.

Спасибо, Билла

#include <IRremote.h>

int led = 9;           
int led2 = 10;
int brightness = 0;    // насколько яркий светодиод
const int RECV_PIN = 7; //Контакт ИК-приемника
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
  // объявляем вывод 9 выходом:
  pinMode(led, OUTPUT);
  pinMode(led2, OUTPUT);
  Serial.begin(9600);
  irrecv.enableIRIn();

}

void loop() {

  analogWrite(led, brightness);
  analogWrite(led2, brightness);


  if(irrecv.decode(&results)) // это проверяет, был ли получен код
{
    if(results.value == 0xFF906F) //если нажатие кнопки равно шестнадцатеричному значению 0xC284
    {
        Serial.println("Triggered U");
        brightness = brightness + 5;
    }

    if(results.value == 0xFFE01F) //если нажатие кнопки равно шестнадцатеричному значению 0xC284
    {
        Serial.println("Triggered D");
        brightness = brightness + 5;
    }

    irrecv.resume(); //получаем следующее значение
}



  delay(100);
}

, 👍0

Обсуждение

Что такое приемник?, @Majenko

это конечно уродливая схема, @jsotola

какой номер мосфета? почему между ардуино и мосфетом нет резистора?, @ElectronSurf

Я не думаю, что резистор между Arduino и MOSFET действительно необходим, поскольку MOSFET обычно имеет очень маленькую емкость. Но токоограничивающий резистор для светодиодов не помешал бы., @chrisl

@jsotola Вот что вы получаете, используя Fritzing..., @Majenko

@chrisl Вероятно, это светодиодные ленты со встроенными резисторами (поскольку они питаются от 12 В). Также светодиоды перевернуты, но мы пропустим это ;), @Majenko

@newbie Резистор строго не нужен. Обычно я добавляю резистор 100 Ом только для ограничения пускового тока на затвор при переключении, но тогда я обычно использую более мощные микроконтроллеры с более низким номинальным током на каждом выводе, чем 8-битный AVR., @Majenko

Приемник представляет собой цифровой инфракрасный приемник MagicW 38 кГц. Номер детали MOSFET — P30NO6LE. Я также добавил код внизу. Извините за кривую схему. Если есть рекомендуемый формат для схем Stack Exchange, я был бы рад переделать его в более читаемом формате., @Billathekilla

@ZackGarris - рекомендуемый формат для рисования схем: https://electronics.stackexchange.com/questions/28251/rules-and-guidelines-for-drawing-good-schematics, @VE7JRO

Вопрос о резисторе затвора MOSFET: https://electronics.stackexchange.com/questions/68748/question-about-mosfet-gate-resistor, @VE7JRO

@ VE7JRO Итак, вы думаете, что это может быть вызвано звоном (паразитные колебания)?, @Billathekilla


1 ответ


Лучший ответ:

0

Первая ошибка, которую я вижу в скетче, находится прямо под этой строкой кода Serial.println("Triggered D");. Вы увеличиваете переменную brightness, хотя, вероятно, хотели уменьшить ее.

Вторая ошибка связана с вашим вызовом analogWrite(). Эта функция принимает целое число от 0 до 255. Вы не ограничиваете значение в этот диапазон и увидеть, что я имею в виду, добавив эту строку кода Serial.println(brightness); прямо над этой строкой irrecv.resume(); в вашем скетче. При изменении от 0 до -5 светодиод выключается до максимальной яркости. Вы этого хотите?

Ошибки с вашей схемой MOSFET относятся к категории General Electronics и должны быть заданы на сайте electronics.stackexchange.com. Как я упоминал в одном из своих комментариев к вашему вопросу, рекомендуется формат для рисования схем.

Другой мой комментарий касался этого вопроса и ответа на EE. Вы также не найдете единого мнения о том, как именно использовать MOSFET, но изображение в этом ответе может быть полезным для вас.

,

Спасибо за помощь. Я попробовал решение для звонков, но безуспешно. Я перенесу свой вопрос в General Electronics и посмотрим., @Billathekilla