АВТОМАТИКА
&
и нужен, вряд ли придется часто пе-
решивать микроконтроллер. А чтобы
прошить один раз, можно подпаять
разъем на проводах. Я использовал
6-контактный разъем. Схема подклю-
чения разъема программирования
показана на рис. 7.
Нужно подчеркнуть, что во время
программирования резисторная
сборка RN1 не должна быть установ-
лена! Она очень низкоомная и будет
закорачивать между собой сигналы
программирования. Можно пореко-
мендовать на время прошивки и на-
чальных испытаний пульта вместо
сборки подпаять проводами один
резистор 33 Ома со светодиода на
вывод РВЗ или РВ4 микроконтролле-
ра, он не будет мешать программи-
рованию, а светодиод работать бу-
дет, хоть и на меньшем токе.
Для прошивки микроконтроллера
можно воспользоваться любым про-
грамматором, который поддерживает
ATtinyl 2, наприМвр, AVReAl. Я исполь-
зовал самодельный программатор,
сделанный на основе Atmei Application
Note 910, только с версией прошивки
3.1. Во время прошивки микроконт-
роллера может понадобится запи-
тать его не от батарейки, а от “чест-
ных” 5 В. Но зто зависит от програм-
матора. Первым делом устанавлива-
ем должным образом фуз-биты. В ка-
честве источника тактирования дол-
жен быть выбран внутренний RC-re-
нератор, задержку запуска микрокон-
троллера нужно установить 4,2 мс+6
циклов генератора. Встроенный мони-
тор питания (BOD) нужно отключить,
чтобы снизить потребление.
Значение частоты внутреннего
RC-генератора может иметь некото-
рое отклонение от номинального зна-
чения 1,2 МГц. Для компенсации это-
го отклонения служит калибровка
RC-генератора. Насколько важна
точность тактовой частоты в нашем
случае-трудно сказать. Неизвестны
Рис. 7. Подключение разъема
программирования
допуски на временные интервалы
ИК-посылки в декодере камеры.
Можно сказать лишь одно - калиб-
ровка генератора не помешает, хотя,
скорее всего, пульт будет нормально
работать и без калибровки.
При производстве микроконтрол-
лера его НС-генератор калибруется.
Хотя зто слишком громко сказано. На
самом деле АТйпу12 имеет НС-гене-
ратор версии 1.1, это не очень совер-
шенный генератор. Калибровочная
константа хоть и сохраняется при за-
водской калибровке в адресном про-
странстве сигнатуры, но она не заг-
ружается в регистр ОЭССА1_ автома-
тически при включении питания. Это
нужно делать программно. Действия
должны быть такими: считываем про-
грамматором значение калибровоч-
ного байта, вписываем его в исход-
ный текст программы, транслируем
программу, зашиваем ее в микрокон-
троллер. Само собой, программа
должна содержать команду загрузки
регистра ОвССАЬ калибровочным
значением. В нашем случае все это
имеется. Значение калибровочного
байта нужно расположить по метке
ОвсС\/ в памяти программ, откуда
зто значение программой будет счи-
тано и загружено в регистр ОЭССАЬ.
РС-генератор микроконтроллера
на заводе калибруется при напряже-
нии питания 5 В и температуре 25 гра-
дусов. Наш пульт питается напряже-
нием 3 В, при этом, если верить типо-
вым зависимостям, частота генерато-
ра будет меньше номинальной при-
мерно на 4%. Не знаю, нужно ли, но
эту погрешность можно устранить
путем изменения калибровочной кон-
станты. Сделать зто можно с помо-
щью тестовой программы ауМев!
(можно скачать с сайта журнала).
Эта
программа непрерывно генерирует
короткие импульсы на выходах управ-
ления светодиодом. Период повторе-
ния этих импульсов при тактовой ча-
стоте 1,2 МГц равен 1 мс. Вначале в
исходный текст тестовой программы
нужно вписать заводское значение
константы, оттранслировать програм-
му и зашить ее в микроконтроллер.
Затем нужно запитать микроконт-
роллер напряжением 3 В и измерить
осциллографом период следования
импульсов на выходе. Наверняка он
окажется больше 1 мс. Затем следу-
ет немного увеличить калибровочную
константу, вписать в исходный текст
ее новое значение, снова оттрансли-
ровать программу и зашить ее в мик-
роконтроллер. Повторять эти манипу-
ляции нужно до тех пор, пока период
на выходе не станет равным 1 мс. До-
биваться точности лучше 1% нет ни-
какого смысла, на работу зто никак
не повлияет, а у генератора имеется
температурный дрейф, который све-
дет все усилия на нет. Я подобрал кон-
станту со второго раза, изначально
она была 0x11, стала 0x21.
Когда калибровочная константа
пбдобрана, ее нужно вписать в исход-
ный текст “рабочей” программы, от-
транслировать ее и зашить в микро-
контроллер. Теперь можно проверить
функционирование пульта ДУ. Если
все работает, можно отпаять разъем
программирования, установить на
печатную плату резисторную сборку
RN1, отмыть плату от остатков флю-
са и собрать корпус.
Можно на всякий случай перед
этим измерить потребляемый ток. У
меня в ждущем режиме пульт потреб-
ляет примерно 0,1 мкА. Измеренный
импульсный ток светодиода состав-
ляет 80 мА. Во время посылки свето-
диод включен 2,5% времени (для
Nikon), поэтому средний потребляе-
мый ток при передаче посылки со-
ставляет 2 мА. Если посылка окон-
чилась, а кнопку продолжают удер-
живать, то потребление составляет
около 700 мкА. Это, конечно, не очень
хорошо. Можно было бы сразу после
передачи посылки “засыпать”, а по
отпусканию кнопки “пробуждаться”
(используя прерывание по измене-
нию состояния портов), отрабатывать
процедуру подавления дребезга и за-
сыпать снова. Но я не стал этого де-
лать, ведь у каждого устройства дол-
жна быть возможность дальнейшего
усовершенствования.
Файлы прошивки*, тестовую про-
грамму avrjest (файл
DUZK_soft.zip)
вы можете загрузить с сайта журнала.
(раздел “Программы”)
* В последнюю версию прошивки
добавлена поддержка камер
Pentax *ist D/Ds/Dl/Ds2.
Радиолюбитель - 0 4 /2 0 0 7 [J
25
предыдущая страница 25 Радиолюбитель 2007-04 читать онлайн следующая страница 27 Радиолюбитель 2007-04 читать онлайн Домой Выключить/включить текст