A1essandro

ШИМ и RGB-светодиод с общим анодом

7 сообщений в этой теме

A1essandro    1

Здравствуйте.

Делаю ночник с плавно меняющимися цветами, в корпусе недорогого светильника, который включается в полной темноте. Включение/отключение реализовал через фоторезистор и составной транзистор. Для МК atMega8 в DIP-корпусе места в корпусе уже впритык. Думал напрямую к пинам подключить RGB-светодиод, но, внезапно, обнаружил, что они у меня с общим анодом. На макетной плате собрал с 3-мя транзисторами, работает. Но можно ли обойтись без транзисторов? Это дополнительные 6 элементов... Сейчас задам, возможно, сумасшедший вопрос, но если подключить светодиод катодами к пинам, а анод на +5 вольт :) ? Будет ли это работать как обратный сигнал ШИМ (т.е. при скважности 10%, обратная величина - 90%)? Или это просто загубит МК?

Изменено пользователем A1essandro

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Yurkin2015    341

Будет работать, конечно, обратный ШИМ без проблем. Общий анод на +5В, а катоды через резисторы на выводы процессора. Резисторы нужны обязательно для ограничения тока.

  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    264

кроме того, при настройке аппаратного ШИМа можно выбрать прямой он будет или обратный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Впервые на русском языке! Работаем с микроконтроллерами STM32F7(на основе STM32F7 Online Training)

Цикл материалов на основе STM32F7 Online Training от компании STMicroelectronics. Описаны функциональные блоки и инструменты разработки для семейства микроконтроллеров STM32F7, охватывающие тематику системной периферии, памяти, безопасности, аналоговой периферии, цифровой периферии, таймеров, экосистемы.

Подробнее>>

A1essandro    1

При прямом ШИМ и обратном подключении (светодиод с общим плюсом), цвета светодиода не гаснут полностью, через транзисторы всё хорошо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    264

Используйте phase-correct PWM вместо fast PWM, либо гасите светодиод в крайнем положении вручную

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

WS2812B может будет получше?

Выводы у меги держат смело по 20мА круглосуточно.

Открытый коллектор и того более могет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
cucumber    0

привет народ, собрал готовую схему, тоже ночник)) на трех диодах на atmega8, хотел сделать всякие эффекты, да только диоды не гаснут полностью - тестером измеряю на выходе МК - когда диод как-бы не должен гореть - около 2.5В. Осциллографа нет к сожалению. Что не так может быть?

#define F_CPU 4000000UL //4MHz
#include <avr/io.h>
#include <util/delay.h>

volatile unsigned long int0_cnt = 0;

void pin_init(void) {
	DDRB |= (1<<1) | (1<<2) | (1<<3);
	PORTB &= ~((1<<1) | (1<<2) | (1<<3));
}

void timer1_init(void) {
	TCCR1A |= (1 << COM1A1) | (1 << COM1B1) | (1 << WGM11);
	TCCR1B |= (1 << WGM13) | (1 << WGM12) | (1 << CS10);
	TCNT1 = 0x00;
	ICR1 = 0xFF;
	OCR1A = 0x00;
	OCR1B = 0x00;
}

void timer2_init(void) {
	TCCR2 |= (1 << COM21) | (1 << WGM21) | (1 << WGM20) | (1 << CS20);
	TCNT2 = 0x00;
	OCR2 = 0x00;
}

int main(void) 
{
	pin_init();
	timer1_init();
	timer2_init();
	while(1) 
	{
		//if (int0_cnt ==0)     
		// {	
		 for (int i=0; i<256; i++)  /////// возрастание диода 1
		   {
			OCR1A = i;
			_delay_ms(10);
		   }
		 for (int i=256; i>0; i--)  /////// затухание диода 1
		 {
			 OCR1A = i;
			 _delay_ms(10);
		 }  
		 /////////
		 for (int i=0; i<256; i++)   /////// возрастание диода 2
		   {
			OCR1B = i;
			_delay_ms(10);
		   }
		  for (int i=256; i>0; i--)  /////// затухание диода 2
		  {
			  OCR1B = i;
			  _delay_ms(10);
		  }  
		 //////////
		 for (int i=0; i<256; i++)   /////// возрастание диода 3
		   {
			OCR2 = i;
			_delay_ms(10);
		   }
		  for (int i=256; i>0; i--)  /////// затухание диода 3
		  {
			  OCR2 = i;
			  _delay_ms(10);
		  }
    	//}
	}
	
}

 

схема ночника.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Fcbb
      Как к схеме подключить батарею для питания схемы и usb разъём для зарядки батареи , а так же была возможность связи с пк через usb. И пожалуйста нарисуйте это на схеме что бы было видно как все подключено Схема
    • Автор: Григорий101
      Здравствуйте  , я хотел прошить AVR программатором STK500 . Но оказалось , чтобы  Bascom IDE прошивать им , необходим STK500.exe . Пожалуйста посмотрите , не лежит ли он где-нибудь у вас . Заранее спасибо
    • Автор: mazzi
      Повторил схему опубликованную на сайте паяльник. http://forum.cxem.net/index.php?/blogs/entry/548-повторил-схему-клона-avr-jtag-ice/&do=getLastComment
      Схема заработала, но так и не смог её заставить работать из под CVAVR, заводится только из под Atmel Studio 4.
      Может быть кому ни будь удалось это сделать? Если да, то подскажите, как этого достичь?
       
    • Автор: LettonDarkCat
      Купил USBASP программатор с aliexpress. На нем стояла старая прошивка, т.к в khazama при прошивке выдавало ошибки но микроконтроллер прошивался и память считывалась (короче просто старая прошивка на нем). Потом решил перепрошить программатор через arduino. Прошивка успешно закачалась, но теперь программатор вообще отказывается работать. Кто сталкивался, помогите.
    • Гость Евгений
      Автор: Гость Евгений
      Доброго времени суток! Такая проблема:
      1) Имеется светодиодная полоска на алюминиевой основе 
      Маркировка на полоске Line470DL-2x10ALOSP-ED.01
      2) Блок питания ИПС50-350ТУ IP20 0120

      3) Диммер МАКЕЛ: 
      Диммер 600 W
      Цвет: Серебро
      Способ монтажа: Скрытый
      Потребляемая мощность: 60-600 W
      Номинальное напряжение: 250 V
      Степень защиты: IP20
      Страна: Турция
      Вообщем ситуация такая. необходимо регулировка света данных светодиодных полос. В электронике не силен и продавец магазина уверял меня что все будет работать, но после подключения совсем ничего не происходит. Диммер подключаю к клемам (-DIM +DIM) и тишина.
      На прямую подключаю светодиоды - работает, подключаю напрямую диммер к обычной лампе накаливания - работает, а вот диммер к блоку питания - нифига. хотелось бы узнать что не так. в принципе логика подсказывает что диммер работает от 220Вольт, а на выходе светодиодов уж явно не 220))) Знакомые ребята сказали что можно немного переделать данный диммер чтобы он работал с данными светодиодами через диммирование. Вообщем такая проблема. Если кто может помочь - Благодарен! Спасибо! Если появятся какие нибудь вопросы или уточнения то задавайте) Спасибо!!!
       
  • Сообщения

    • ...представляю, что у Вас дома творится, если этикетки с 1975 года храните ! Тохаристан. Тохары - древний индоевропейский народ. Только они жили в Китае, где уйгуры сейчас.
    • Что означает надпись на дисплее :SDA pullup is not installed
    • Для этого существуют понятия ТКС, температурный коэфицент, допустимое отклонение, техническое задание, и много других. Есть большой ряд линейных стабилизаторов которые вообще не греются, вопрос только в том какую мощность вы на нем высадите и какой у него ток покоя - Iq.   Греть.... греть можно до: температуры плавления припоя. выхода волшебного дыма на котором компонент работает. расчетной температуры. допустимой температуры. Что нужно вам?
    • Чё,в профиле не отображается?В связи с ситуацией...У нас тоже не принято "мальчиков"вызывать,тем не менее,в "обезьяннике "бывал за громкую музыку."доброжелателей"  хватало.А тут...
    • Ну выставь ты частоту среза не 80кГц, а 40кГц. Кто тебе мешает? Несущая станет много меньше. Всё достаточно просто: Если нагрузка 8Ом, то конденсатор ставь на 0.22мкФ для частоты среза 80кГц. Если нагрузка 8Ом, то конденсатор ставь на 0.47мкФ для частоты среза 40кГц. Если нагрузка 4Ом, то конденсатор ставь на 0.47мкФ для частоты среза 80кГц. Если нагрузка 4Ом, то конденсатор ставь на 1мкФ для частоты среза 40кГц. Если нагрузка 2Ом, то конденсатор ставь на 1мкФ для частоты среза 80кГц. Если нагрузка 2Ом, то конденсатор ставь на 2.2мкФ для частоты среза 40кГц. Однако, чем больше номинал конденсатора, тем больше реактивные токи в контуре. То-есть, чем больше амплитуда несущей частоты, тем легче фильтру. Если так мешает несущая частота (мало ли, вдруг дома перестаёт работать телевизор от длинного провода акустического), никто не мешает поставить дополнительный фильтр частот на выход. Это снизит амплитуду несущей частоты, хоть до 0.1В.  Ещё раз напишу, что амплитуда несущей частоты на выходе зависит от частоты среза фильтра! То-есть, для 16Ом и 100кГц фильтре, при 300кГц несущей, 5 вольт - норма!
    • Есть же куча нормальных УМ в АБ классе, зачем собирать этот шлак? Любят наши люди извращения, за уши не оттянешь.