INT 21h

Домашняя страница самого страшного прерывания

Управление светодиодной лентой с помощью ШИМ (PWM) и полевого транзистора (MOSFET)

№ 3658 В разделах: Программирование Электроника от August 30th, 2011,

Человек это существо ленивое и всячески упрощающее себе жизнь. Вот и я захотел управлять освещением не отрывая попы от стула с помощью инфракрасного пульта дистанционного управления. Как же заставить 5-вольтовый микроконтроллер управлять 12-вольтовой лентой? Да еще и с током почти в 2А :) Как подсказали умные люди, лучше всего использовать полевой транзистор (он же в Буржуйландиях называемый MOSFET) и ШИМ (Широтно-Импульсная Модуляция, англ. Pulse-width modulation или PWM). Полевик я отодрал от материнской платы ASUS (к сожалению, ASUS уже не торт) с маркировкой P0903BDG. Ахтунг! Отпаять такой можно только с помощью фена! Вы можете легко найти аналог в каталоге фирмы Компэл.


Рассказывать теорию я не буду и мне это лень. В интернетах и без меня понаписали и понарисовали много всего про ШИМ. А вот исходный код я вам покажу :)

#include <avr/io.h>
#include <avr/delay.h>

void PWM_Init() //устанавливаем PWM
{
    TCCR0 = (1 << WGM01) | (1 << WGM00) | (1 << CS00); //prescaler 0
    OCR0 = 0x00;
    DDRB |= (1 << DDB3);
}

int main( void )
{
	uint8_t pwm=0; //дополнительная переменная. хотя можно и без нее :)
	PWM_Init();
	TCCR0 ^=(1<<COM01); //включаем ШИМ
	while (1) {
		OCR0=pwm;
		pwm++;
		if (pwm>=255) pwm=0; //сброс
		_delay_ms(10); //задержка чтобы изменения были заметны глазу
    }
    return 0;
}

Схема подключения транзистора к микроконтроллеру. На рисунке Atmel Mega8 с подключением к OC2. Я использую Mega8535 и OC0.

На видео выглядит не очень хорошо, т.к. фотоаппарат пытается подстроиться под яркость света и не так хорошо заметно, как яркость повышается с минимальной до максимальной.

А вот тут я уже подключил схему к реальной нагрузке. Микросхему запитал через LM7805 от того же 12 вольтового источника питания. Ток, проходящий через транзистор почти 2 ампера.

4 комментариев »

4 комментариев »

Comment by Руслан | March 26, 2012 @ 23:09:20

Очень интересный сайт! Спасибо большое! Узнал много интересного!

Comment by 21h | March 27, 2012 @ 03:13:39

еще бы! спамботам всегда было интересно!

Comment by Руслан | March 28, 2012 @ 18:18:57

В смысле? Наркоман штоле?:D

Comment by 21h | March 28, 2012 @ 21:10:55

ого, ты не бот O_O такие фразы только хабраюзеры оставляют и спам боты :)

Форма отправки комментария

*

Разрешенные HTML-теги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

RSS RSS Feed только для этого поста |


Комментарии
  • 21h: нене ) без меня )
  • Серегй: Не совсем грабить)) если грабить можно и без рации, есть более благие цели, вы просто ответьте на мой вопрос,...
  • 21h: магазин грабить собрались? ) не, тут я не помощник ;)
  • Серегй: А что бы мне поймать чужую волну, что мне для этого нужно сделать? Допустим я купил данную рацию себе, мне...
  • 21h: слушать никто не запрещает. нет закона, который запрещает слушать. те, кто говорит иначе нагло врут. а если...
  • Серегй: Я хотел узнать могу ли я просто прийти с данной рацией baofeng uv-5r, допустим на объект, ну или вообще...
  • 21h: У меня есть только эти 2. По другим ничего не знаю. В интернете можно скачать инструкцию к вашей модели рации,...
  • Серегй: Добрый день! Хотелось бы задать пару вопросов по поводу раций, у Вас есть куда можно обратиться ТАТ.
  • 21h: потому, что нейросетью проще. яркость светофора меняется в зависимости от времени суток от маленькой красной...
  • Михаил: А зачем нейросеть? Почему цвет светофора определить без нейросетей?