Народ подскажите пожалуйста как яркость с помощью АЦП регулировать. А то что-то никак не соображу...
Вообще смотря какую яркость вы регулируете, если какой нибудь подсветки, это одно, если яркость светодиодного табло, это другое.Может имеется ввиду регулировка яркости какого нибудь другого источника света с помощью реостата? В общем случае работает связка ацп + шим. Неплохо было бы указать какой язык вы бы хотели использовать для программы.
Хочу в мониторе подсветку сделать из светодиодной ленты, и хочу чтоб яркость регулировалась стандартными кнопками, в схеме монитора яркость регулировалась от 0 до 3,3 вольта, так вот на вход ацп подать это напряжение и анализируя его изменять частоту ШИМ. вот подать напряжение у меня получается, проанализировать его тоже, а вот как изменять частоту ШИМ на основании полученных результатов напряжения, никак не получается. сделал так: i=(255*volt)/3300,но плавной регулировки не получается. работаю в codeVision.
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
чтобы ШИМ в Т13 работал нормально, значение должно быть в диапазоне 0-255, а по твоей формуле оно будет, если предположить что volt = 0...3.3, <1 проще сделать АЦП с опорным 3,3В, тогда значение из АЦП (ст.8 разрядов) можно просто переписывать а в регистр сравнения Т0
_________________ Чем дальше, тем больше становлюсь занудой...
чтобы ШИМ в Т13 работал нормально, значение должно быть в диапазоне 0-255, а по твоей формуле оно будет, если предположить что volt = 0...3.3, <1 проще сделать АЦП с опорным 3,3В, тогда значение из АЦП (ст.8 разрядов) можно просто переписывать а в регистр сравнения Т0
почему же <1? там же значение в милливольтах, там как раз получается в диапазоне 0-255. а про ваш способ можно поподробнее? я из даташита понял что там опорное только Vcc или 1,1 вольта.
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
если запитать тиньку от 3,3В и выбрать в качестве опорного Vcc, то как раз и получится то что надо. АЦП измеряет входное напряжение, только нужно выровнять результат влево ADMUX:ADLAR=1, при этом в ADCH будет от 0 до 255, то что нужно для Т0, ADCL просто игнорируешь, переписываешь значение из ADCH в OCR0A/B и получаешь на выходе ШИМ
зы: в ШИМе, обычно, меняют только скважность, т.е. Т0 считает до переполнения, а при совпадении с OCR0x, в соответствии с режимом, происходит изменение состояния выхода
_________________ Чем дальше, тем больше становлюсь занудой...
если запитать тиньку от 3,3В и выбрать в качестве опорного Vcc, то как раз и получится то что надо. АЦП измеряет входное напряжение, только нужно выровнять результат влево ADMUX:ADLAR=1, при этом в ADCH будет от 0 до 255, то что нужно для Т0, ADCL просто игнорируешь, переписываешь значение из ADCH в OCR0A/B и получаешь на выходе ШИМ
зы: в ШИМе, обычно, меняют только скважность, т.е. Т0 считает до переполнения, а при совпадении с OCR0x, в соответствии с режимом, происходит изменение состояния выхода
а с примерами кода можно? просто я в этом не очень силен и чтоб мне осмыслить все что вы написали куча времени понадобится
NISTATIN Настоятельно советую вам почитать Правила , там написано, что нельзя нажимать на цитирование, если отвечаете на предыдущее сообщение.Сложно читать форум, если все цитировать.
_________________ В поисках истины человек развивается.
;======================== ; обработка прерываний ;======================== ad_comp: push tmp in tmp,SREG push tmp in tmp,ADCL in tmp,ADCH out OCR0,tmp pop tmp out SREG,tmp pop tmp reti
только там под М16, у тиньки название регистров чуть другое
_________________ Чем дальше, тем больше становлюсь занудой...
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения