|
|
  |
Регулятор яркости лампы накаливания, mega8, cvavr |
|
|
|
Jul 22 2009, 15:29
|
Местный
  
Группа: Участник
Сообщений: 310
Регистрация: 11-07-09
Из: Екатеринбург
Пользователь №: 51 154

|
Цитата(rezident @ Jul 22 2009, 21:11)  Тип МК в заголовке указан - mega8, т.е. ATmega8. Прошу прощения - между глаз попало..
|
|
|
|
|
Jul 22 2009, 17:05
|
Местный
  
Группа: Участник
Сообщений: 310
Регистрация: 11-07-09
Из: Екатеринбург
Пользователь №: 51 154

|
Цитата(LexRoss @ Jul 22 2009, 22:26)  Придется разбираться с шим...  И еще, после этого хочу автоматизировать включение/выключение света, считая число вошедших/вышедших человек. Поставить на входе в комнату ик светодиод и 2 приемника. TSOP, наверно, будет излишне. Какие приемники попроще? Ну разбираться с ШИМ совсем не обязательно, просто с использованием ШИМ программа будет короче. Можно написать "программный" ШИМ, тоже будет работать. Так что Вам решать... Приемник "попроще" можно сделать на расыпухе - схем море, на любой вкус, однако для достижения конечного результата лучше взять готовую микросхему и не заморачиваться. Решение задачи счета вошедших/вышедших в настоящий момент обсуждается на Форуме в теме "ENCODER"(кажется так) - почитайте и поймете, что это по сущности то, что Вам нужно.
Сообщение отредактировал Vishv - Jul 22 2009, 17:17
|
|
|
|
|
Jul 23 2009, 15:18
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
Цитата(Vishv @ Jul 22 2009, 21:05)  Ну разбираться с ШИМ совсем не обязательно, просто с использованием ШИМ программа будет короче. Можно написать "программный" ШИМ, тоже будет работать. Так что Вам решать... Приемник "попроще" можно сделать на расыпухе - схем море, на любой вкус, однако для достижения конечного результата лучше взять готовую микросхему и не заморачиваться. Решение задачи счета вошедших/вышедших в настоящий момент обсуждается на Форуме в теме "ENCODER"(кажется так) - почитайте и поймете, что это по сущности то, что Вам нужно. 1. Tаймер 0 или 2 делаете частотой 100 гц *1024 (максимально близко к этому) - Учтите, что вы будете программировать не частоту, а длительность между тогглами - поэтому расчитывайте на 200*1024 (Тогда частота будет как раз 100*1024). 2. Таймер 1 прогрммируете на ШИМ от 0 до 3FF. Ставите момент установки внешнего пина, который управляет симистором где-нибудь 3F0. Тогда в итоге вы получите последовтельность импульсов длиной 3FF - 3F0 с частотой примерно 100 герц. Без синхронизации от компаратора лампочка будет достаточно плавно менять яркость. (Зависит от точности 100 герц). Это полезно. Далеко не все переходы через 0 вы сможете засечь (помехи и пр.). Так что диммер некоторое время продержится и без синхронизации. ---- Забыл. Выход таймера 0 или 2 подаете на счетный вход таймера 1. Проводочком. 3. В прерывании от компаратора перезагружаем значение TCNT1. В зависимости от фазы. Таким образом, весь код который работает будет в пункте 3. Т.е. ровно одна сишная строчка.
Сообщение отредактировал DpInRock - Jul 23 2009, 15:19
--------------------
On the road again (Canned Heat)
|
|
|
|
|
Jul 23 2009, 16:13
|

Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202

|
Цитата Выбрать период перезагрузки таймера чуть больше полупериода сетевой частоты (>10мс), а для синхронизации сбрасывать таймер в прерывании от компаратора. так и делал Цитата Выход таймера 0 или 2 подаете на счетный вход таймера 1. Проводочком. ноги жалко, еще много на них повесить хочу. Сейчас сделал так: в прерывании компаратора цикл, в котором включается таймер примерно на 10 микросекунд, цикл повторяется столько раз, сколько установлено кнопками - от 0 до 1000, т.е. задержка от 0 до 10 миллисекунд.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|