Печать

Таймер с запоминанием выдержки

Опубликовано . Опубликовано в Устройства на PIC

Рейтинг:   / 6
ПлохоОтлично 

В этом микроконтроллерном таймере отсутствуют ненадежный оксидный конденсатор большой емкости и регулятор длительности выдержки. Тем не менее ее легко изменить. Достаточно один раз отмерить нужный промежуток времени "вручную" и при каждом следующем включении реле времени исправно отсчитает точно такой же. При необходимости выдержку легко изменить.

Схема реле приведена на рисунке. Его основной элемент — микроконтроллер PIC12F629.  Сигналом с выв. 6 микроконтроллер через усилитель на транзисторе VT1 управляет реле К1, которое в свою очередь включает и выключает исполнительное устройство, например, лампу фотоувеличителя. Диод VD1 защищает транзистор от выбросов напряжения самоиндукции на обмотке реле. Через интегральный стабилизатор DA1 на микроконтроллер поступает напряжение питания (5 В), о его наличии сигнализирует светодиод HL1.

Таймер с запоминанием выдержки - схема

Светодиод HL2 во время отсчета выдержки мигает с частотой 1 Гц. О ее окончании и срабатывании реле сигнализирует включение светодиода HL3. С этого же момента частота вспышек светодиода HL2 увеличивается до 3 Гц. Чтобы повторить выдержку, достаточно выключить и вновь включить питание.

Чтобы задать или изменить выдержку, достаточно подать на прибор питание при нажатой кнопке SB1 и отпустить ее спустя нужное время. Максимальная продолжительность выдержки практически неограничена. Запомнив выдержку в энергонезависимой памяти, микроконтроллер будет повторять ее при каждом включении с ненажатой кнопкой.

Чтобы улучшить температурную стабильность выдержки, можно подключить между выв. 2 и 3 микроконтроллера  кварцевый  резонатор  на 4 МГц и заменить предпоследнюю строку таблицы кодов программы на:

:02400E00C911D6

Если для загрузки кода в микроконтроллер применяется программа IC-prog, изменения в таблицу можно не вносить. Достаточно указать в окне "Oscillator" тип тактового генератора "XT". Это нужно сделать после загрузки кода в буфер программатора, но до фактического выполнения операции программирования.

Автор: Прадифенко А.

Файлы:
Дата 23.02.2010 Размер файла 3.05 KB Закачек 1843

Комментарии  

0 #1 Guest 17.06.2010 17:37
если кто собирал-подскаж ите-не работает-в чём трабла?заранее спасибо.
Сообщить модератору
+1 #2 boogyman 28.11.2010 21:02
Cхему собрал, все заработало с первого раза. Трудности могут быть только при программировани и. А так устройство может быть полезно при отсчете небольших промежутков времени.
Сообщить модератору
0 #3 derby 23.09.2012 13:48
Собрал, все работает, еще бы алгоритм пересчета времени в HEX значение, можно на программаторе сразу нужное значение вписывать, а то как-то минут 5 набирать удерживая кнопку не есть хорошо,а так все супер, автору респект, побольше таких поделок, особенно на этом МК.
Сообщить модератору
0 #4 Vell65 02.11.2012 03:12
Почему не работает на PIC12F675? Подскажите кто знает,ведь должен работать МК 675 структура та же и возможностей больше.
Сообщить модератору
0 #5 Vitaliy 02.11.2012 06:22
Отличие только в АЦП, который есть в PIC12F675, но перекомпиллиров ать программу обязательно
Сообщить модератору
+2 #6 mazafaka933 22.12.2012 14:04
всем привет!)а есть у кого этой схемы печатная плата???если есть скиньте пожалуйста,буду очень благодарен!(
Сообщить модератору
+1 #7 derby 02.01.2013 00:23
[CODE name="derby"]Со брал, все работает, еще бы алгоритм пересчета времени в HEX значение, можно на программаторе сразу нужное значение вписывать
---------------------------------------
алгоритм пересчета найден, теперь любое значение времени, калькулируем и вписываем в еепром, применимо к большим интервалам времени.
Сообщить модератору
0 #8 AntonChip 04.01.2013 23:35
Цитирую derby:
алгоритм пересчета найден, теперь любое значение времени, калькулируем и вписываем в еепром, применимо к большим интервалам времени.

А поподробнее можно...
Сообщить модератору
+1 #9 derby 12.01.2013 23:24
Всем привет. И так кому интересно как посчитать нужное значение времени. Сначала нужно перевести выбранный вами интервал в секунды т.е (1 год = 12614400 сек, или 1 месяц = 2592000 сек, или 24 часа = 86400 сек, и т.д) думаю с этим все справятся.
Далее если вы работали в калькуляторе windows в обычном виде, переключаем инженерный вид, в десятичной системе DEC вводим нужное количество секунд (посчитанных заранее на пример 1 минута = 60 сек) умножаем на 10 получаем число 600 теперь переводим это число в шестнадцатеричн ый вид HEX и получаем 258, это 02 58, теперь меняем байты местами 58 02 и вписываем в область EEPROM микроконтроллер а по адресам 00h 01h 02h 03h это первые четыре байта первой строки, вот несколько примеров
15 sek = 96 00 00 00
1 m = 58 02 00 00
2 m = B0 04 00 00
3 M = 08 07 00 00
9 M = 18 15 00 00
10M = 70 17 00 00
1 Ч = A0 8C 00 00
ну вот как то так.
Сообщить модератору
0 #10 Taras 12.07.2013 15:28
Подскажите пожайлуста каким компилятором Ви компилировали прошивку. Пробовал последнюю версию хайтеч и микро си, оба ругаются на некоторие команди в исходнике.
Сообщить модератору
0 #11 MAMOHT128 19.12.2014 00:50
PIC C Compiler (CCS PCWHD )
Сообщить модератору

Рекомендуем посмотреть