roboforum.ru

Технический форум по робототехнике.

Контроль яркости свечения светодиода

Контроль яркости свечения светодиода

space » 02 окт 2009, 12:21

Сделать смог такое, но только с шимом. Интересуют др. варианты реализации, если таковые имеются.
Код с шимом:
Код: Выделить всёРазвернуть
$regfile = "m16def.dat"
$crystal = 16000000

Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare B Pwm = Clear Down

Config Pind.4 = Output

Dim S As Byte

Do

  For S = 1 To 220 Step 10
  Pwm1b = S
  Incr S
  Waitms 30
  Next

  For S = 220 To 1 Step -10
  Pwm1b = S
  Decr S
  Waitms 30
  Next

Loop
Последний раз редактировалось space 02 окт 2009, 12:27, всего редактировалось 1 раз.

Re: Контроль яркости свечения

EdGull » 02 окт 2009, 12:22

а что нужно-то чтобы было?

Re: Контроль яркости свечения светодиода

space » 02 окт 2009, 12:29

Вот что у меня получилось с шимом:

Нужно тоже самое только сделать это надо не используя шим, а то жалко на такое дело тратить шим.

Re: Контроль яркости свечения светодиода

avr123.nm.ru » 02 окт 2009, 12:30

space писал(а):Сделать смог такое, но только с шимом. Интересуют др. варианты реализации, если таковые имеются.
C ШИМ ИМХО удобней. Можно сделать ЦАП на нескольких ногах подключенных через резисторы к светодиоду.

Re: Контроль яркости свечения светодиода

EdGull » 02 окт 2009, 12:31

а что не жалко, уарт например не жалко?

Re: Контроль яркости свечения светодиода

galex1981 » 02 окт 2009, 12:33

А ШИМ можно сделать программно, тогда не будешь "тратить ШИМ" на такое дело...

Re: Контроль яркости свечения светодиода

space » 02 окт 2009, 12:42

Мне вообще, если можно, то покажите какими способами ещё можно. А так юарт пока не жалко. Интересуют все варианты для общего развития.
Пробовал ещё с ацп, но там надо подстроечный резистор ещё подключать или датчик звуковой или световой. Уже с этими вещами поэксперементировал всё работает. :D
Читал, что можно шимов наделать программно сколько угодно, но как не знаю. Но хотел бы узнать :roll:

Re: Контроль яркости свечения светодиода

avr123.nm.ru » 02 окт 2009, 14:20

space писал(а): шимов наделать программно сколько угодно, но как не знаю. Но хотел бы узнать :roll:

Это можно узнать в здача-упражнение 13 в курсе по AVR - http://avr123.nm.ru/z13.htm - програмный ШИМ на 8 каналов для управления 8 servo в примере, но можно сделать аналогично и больше PWM каналов.
Последний раз редактировалось avr123.nm.ru 02 окт 2009, 14:23, всего редактировалось 2 раз(а).

Re: Контроль яркости свечения светодиода

galex1981 » 02 окт 2009, 14:22

В основном цикле или по таймеру

Добавлено спустя 1 минуту 38 секунд:
1. На ногу подается 1
2. Задержка по длительности 1
3. На ногу подается 0
4. Задержка по длительности 0

Re: Контроль яркости свечения светодиода

boez » 02 окт 2009, 18:35

avr123.nm.ru писал(а):Это можно узнать в здача-упражнение 13 в курсе по AVR - http://avr123.nm.ru/z13.htm - програмный ШИМ на 8 каналов для управления 8 servo в примере, но можно сделать аналогично и больше PWM каналов.


Но есть один нюанс :) Такие шимы для светодиодов годятся плохо. Например как зажечь все светодиоды на 90%?

Re: Контроль яркости свечения светодиода

avr123.nm.ru » 02 окт 2009, 18:39

Я думаю для програмного ШИМ это не проблема. Ведь не обязательно последовательно их включать. Можно сгруппировать по времени выключеня в массив и включать все вместе а выключать "пачками".

Re: Контроль яркости свечения светодиода

contr » 02 окт 2009, 19:43

imho
включаем все сразу,
16 задержек - 16 уровней яркости
между этими задержками и вставляем гашение отдельных leds
повтор цикла

Вся беда что программные решения отъедают много ресурсов. Если в приведенном выше алгоритме еще что-нибудь делать, то задержки должны быть не просто delay(xxx), а эквивалентные по времени исполнения фрагменты кода основной программы.

Re: Контроль яркости свечения светодиода

avr123.nm.ru » 02 окт 2009, 20:19

Усложнение возникает при одинаковых или близких величинах ШИМ - тогда вычисления усложняются.

Re: Контроль яркости свечения светодиода

contr » 03 окт 2009, 11:30

не, в предложенном алгоритме гашение всех "лишних" leds одной командой, синхронное регулирование трудности не представляет.
Дополнительное удобство - линейное регулирование яркости в диапазоне свечения, а не просто изменение свечения.


Rambler\'s Top100 Mail.ru counter