pic12F629 и pic12F675, для работы этих микроконтроллеров от внутреннего генератора завод изготовитель задает внутреннюю калибровочную константу (OSSCAL) это необходимо для большей точности внутреннего генератора. Если ее удалить то микроконтроллер либо не будет работать либо будет но некорректно. Можно использовать pic с упятеренными константами в схемах где используется внешний кварц или другой генератор. Но теперь можно и восстановить эту константу!

 

Многие часы поддерживают точное время благодаря частоте сети 50 или 60Гц. Для восстановления pic мы будем использовать этот простой генератор частоты - сеть, что упрощает конструкцию и не требует создания отдельного генератора.

Схема:

Очень важно не выпрямлять напряжение после трансформатора! Напряжение вторичное 6-12В. Плата должна быть собрана в точности как на схеме.

Конденсатор 100n должен быть размещен как можно ближе к микроконтроллеру!

S1 разомкнут - калибровка происходит на 3,4 вольта 
S1 замкнут - калибровка происходит на 5 Вольт

Частота внутреннего генератора в ПИК зависит от изменения температуры и напряжения питания. Когда переключатель S1 разомкнут 5 вольт питания подается на ПИК, напряжение падает через два диода примерно 3,4 Вольта получается. S1 замкнут - ПИК работает на 5 вольт.

Перед началом работы необходимо зашить в 12F629 или 12F675 (будет работать и стем и тем).

Эта прошивка  требуется только для вычисления нового значения калибровки.

Скачать прошивку

Скачать печатку в LEY от shpuntic

 

Выполнение калибровки:

 

1) Замкнуть J1, если частота вашей сети 60 Гц и оставьте ее разомкнутой, если она 50Hz.  
 
2) Опорный сигнал переменного тока должен присутствовать перед включением pic при калибровке для обеспечения стабильного сигнала и работы. 

3) Вставьте
pic в панельку (предварительно он должен быть зашит прошивкой см.выше), разомкнуть ключ S1 . 


4) Когда
pic начинает работать светодиоды будут мигать одновременно. 


5) Если ни один опорный сигнал (50 или 60Гц) не обнаружен на ноге GP2 (пин 5), светодиод будет мигать . (Если это произойдет, выключите питание
pic и перепроверьте правильность монтажа и т.д.) 


6) В процессе калибровки светодиоды не горят. Калибровки происходит менее чем за 5 секунд.

 
7) Если калибровка не удалось, красный светодиод загорится. 


8) Если калибровка успешна зеленый загорится, и 5 кГц тестового сигнала будут созданы на GPIO1. Если у вас есть частотомер вы можете использовать это для проверки калибровки. 


9) После калибровки, вы можете размыкать и замыкать переключатель S1 в ходе мониторинга сигнала 5 кГц тест, чтобы увидеть изменения частоты против напряжения питания. 


10) Выключите, удалить ПИК из панельки, и считать с него данные с помощью вашего программатора. 


11) Когда вы считаете EEPROM оно будет содержать один из трех пар значений адреса 0x00 и 0x01 следующим образом:


EEPROM адреса 0x00 и 0x01 содержать 0xFF 
код не смог нормально работать. 

EEPROM адреса 0x00 и 0x01 0x00 содержат 
код не был запущен, не удалось установить калибровку . Убедитесь, что J1 установлена правильно и повторите попытку. 

Адрес 0x00 0x34 EEPROM содержит 0x01 и адрес, где содержатся 0xNN НН "новое значение калибровки.
код с успехом завершен и калибровка OSCCAL прошла правильно. Используйте 0xNN значение в адрес 0x01 для калибровки памяти.



1 - оба светодиода будут мигать, питание есть

2 - зеленый мигает, красный горит, не найдено опорное напряжение (50-60Гц)

3 - светодиоды не горят, идет процесс калибровки, менее 5 сек

4- калибровка прошла правильно

5 - калибровка не прошла



В случае возникновения следующей проблемы необходимо пользоваться модифицированной прошивкой: при прохождении успешной калибровки, загорается зеленый светодиод но при считывании информации с микроконтроллера, с адреса 0x00 и 0x01 содержать 0xFF.

Модифицированный вариант прошивки, скачать


Если калибровка выполнена успешно, вытянуть из панельки pic и поместить его обратно в программатор. Считываются данные из EEPROM памяти (а не программной памяти), где только что вычисленное значение было сохранено. (См. пример ниже)


Прошиваем pic со значение константы, записываем ее как положено в последнюю ячейку:


Фото от пользователя rastamanoff :


Обсуждения на форуме



Источник

   
Ingvar # 61
 
 
У меня самодельный extrapic, шил ICProg-ом.Все зашилось без проблем. Я сам новичек в этом деле, но успел убедиться, что если матчасть в порядке, то как правило все получается.


   
Alexander59 # 62
 
 
На PIC16F676 прошивку можете сделать? Есть несколько затертых МК. Плиз!!!


   
Ingvar # 63
 
 
Я с 676-м еще ни разу не работал. Там тоже есть константа? Извините дилетанта…


   
Nikolai4 # 64
 
 
Цитата: Ingvar
Я с 676-м еще ни разу не работал. Там тоже есть константа? Извините дилетанта…

есть константа


   
alvazentawra # 65
 
 
Привет!При утере константы можно записать 3480.Я пытал 629.Тоже попался на нем.А что за схема восстановления .Скинь пожалуйста на мыло kwazimoda3@rambler.ru.
Спасибо


   
kopheb # 66
 
 
Цитата: Виталий
У нас на сайте как минимум 10 пользователей обращались ко мне с проблемой утери константы, да и статья переведена с англ. языка, значит и у них не без косяков!
А если она утеряна то, что ты будешь делать или хочешь сказать, что невозможно ее стереть? <p> qaw прекращай эту ненужную дискуссию <p> или хочешь сделаем так, я устрою соц опрос на сайте "нужна ли нам эта статья?" если в соц опросе лидировать будут ответы "конечно нужна!" то бан тебе до конца года!!!
если ответы "ненужна" то повысим тебе репутацию и переведем в группу "проверенные"


А пик кит2 сам находит константу ,уменя такое было с 629.Суважением Kopheb.


   
Виктор Каминский # 67
 
 
Уважаемые,почитал немного форум,решил написать- PIC не любят программисты и я тоже-купил как то 629 ,константы там не было,так и не прошился ,я пользуюсь Wizard Prog 87 (универсальный )Атмега которая показывает ID не правильный-стирается и по новой прописывается,реанимируется,если не залочена на совсем,а Пик-никогда. Не пойму,что нашли хорошего в PIC ? Atmel есть Atmel !



Обновления

Сообщения ФорумаОтветов
3D Модели для Авто0
Бакометр 2335
Touch Start-Stop Engine.587
Кодграберр17
Исправляем AVR фьюзы при помощ …109
Бакометр - измеритель остатка…4
IR конструктор на PIC12F62977
Универсальное зарядное устройство103
бaкoмeтр1974
Двунаправленный автомобильный…2
Программатор GENIUS G8401
Светодиодный тахометр34
Индикаторы ГРИ ИН1 - ИН141
Multiprog1
Управляющая программа LED CUB959
Универсальное зарядное устройство9
Изготовлю печатные платы29
Простой автоматический выключа…25