Страница 1 из 1

Драйверы светодиодов MBI6651

СообщениеДобавлено: 13 фев 2011, 17:47
izvrat
Народ помогите с управлением DIM входом драйвера светодиодов MBI6651 .
Если есть кто сможет помочь с написанием прошивки под микроконтролер буду очень благодарен.

Re: Драйверы светодиодов MBI6651

СообщениеДобавлено: 13 фев 2011, 23:19
aleks76
По даташиту посмотрел, на DIM вход нужно подавать сигнал частотой до 1КГц со скважностью 1-100%.
Собственно, под такую тему необязательно и микроконтроллер иметь, достаточно простой логики

Re: Драйверы светодиодов MBI6651

СообщениеДобавлено: 13 фев 2011, 23:45
izvrat
Проще но не надёжней и громоздко.

Re: Драйверы светодиодов MBI6651

СообщениеДобавлено: 21 фев 2011, 23:30
VokaS
А что, таймер 555 не рулит :?:
Вот схема шим на 555 с минимальной обвязкой Изображение
По виду, тот же МК будет ::D
Не знаю как у этой схемки, но говорят, до Мегагерца частоту можно делать. Данную схемку выложил товарищ Poraboloid :)
Ссылка на сообщение: http://ledway.ru/topic253-15.html#p10995

Re: Драйверы светодиодов MBI6651

СообщениеДобавлено: 20 сен 2011, 23:18
anatoliyrnd
Люди Вы читаете внимательно пост, в картинке указанны разные яркости для разных ситуаций, кто реализует это на 555 с минимальным обвесом?
Правильно пора переходить на микроконтроллеры.
Воспользуйся программой CodeVisionAVR, там есть помощник по конфигурации AVR. Attiny13a самый маленький микроконтроллер, с двумя ШИМ, (5 портами + 1 если рессет отключить)
Вот примерная инициализация портов


#include <tiny13a.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port B initialization
// Func5=In Func4=In Func3=In Func2=In Func1=Out Func0=Out
// State5=T State4=P State3=P State2=P State1=0 State0=0
PORTB=0x1C;
DDRB=0x03;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 575,000 kHz
// Mode: Phase correct PWM top=0xFF
// OC0A output: Non-Inverted PWM
// OC0B output: Non-Inverted PWM
TCCR0A=0xA1;
TCCR0B=0x02;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=0x00;
MCUCR=0x00;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;
DIDR0=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;

while (1)
{
// Place your code here здесь в бесконечном цикле проверяешь разные условия и заносишь в регистр OCR0A ( первый шим) или OCR0B необходимые значения - 0xFF - 100% скважность (если не включить инверсию)

}
}
Есть хорошая книга по этой программе на русском языке (к сожалению не помню точного названия) но в нете легко найти, по ней можешь написать сам прошивку.