Заказать прошивку

 





 

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 :


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



Источник
 
Дата: 9-04-2010, 22:45, Просмотров: 53231, Автор: Nikolai4
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти под своим именем.

   
LDZ-UI # 1
26 апреля 2010 18:01  
 
Колеги конибуть пытался востановить осцилятор по этой методике , как зашить PIC если он не шъётся бес осцилятора. Завтра попробую поэксперементировать так .javascript://
  •    •     


   
Nikolai4 # 2
26 апреля 2010 18:16  
 
ты будешь первым!
pic зашиваешь без оконстанты прошивкой из статьи
пробуй.
  •    •     


   
qaw # 3
28 апреля 2010 18:02  
 
А восстановить константу не пробовали прогой icprog106B,
тупо нажимаешь кнопку стереть , потом прочитать, и в последней ячейки ваша КОНСТАНТА 34хх
  •    •     


   
Nikolai4 # 4
28 апреля 2010 18:09  
 
такой большой а в сказки веришь, скажи спасибо программе ic-prog smile
ic-prog - не восстанавливает константу, она ее просто не стирает...!
  •    •     


   
qaw # 5
28 апреля 2010 18:37  
 
а что посмотреть и вбить при прошивке уже никак??? angry
А как ты ее потеряешь?, можешь только при прошивке поставить другую.
Сотри и прочитай IC Prog !!!
Другие проги не видят константу , а IC Prog видит!!!
Я в этом убедился САМ.
  •    •     


   
Nikolai4 # 6
28 апреля 2010 21:48  
 
в том то все и дело, что те кто не знает про константу и прошивает пик 675/629 то когда идет прошивка выскакивает табличка внести значение с файла прошивки "0000" либо использовать "3435" - типа того, все кто нажал использовать "0000" затирается константа!
Да если б не было б такой проблемы то и не было б этой статьи!
  •    •     


   
Nikolai4 # 7
28 апреля 2010 21:50  
 
не всегда icprog сохраняет константу, скорее всего это в новой версии, т.к. раньше в старых версиях такой функции я не замечал
  •    •     


   
zaa-1978 # 8
28 апреля 2010 22:06  
 
какраз та што у нас есть та спрашивает!!!!
  •    •     


   
qaw # 9
28 апреля 2010 22:39  
 
Проще скачать новую версию проги, чем городить такой огород с этой схемой.
Я пользуюсь icprog106B.
Раз по 10 стирал а после этого считывать, константа восстанавливалась всегда!!! (только надо обязательно стирать, а не смотреть в прошитой )
  •    •     


   
qaw # 10
28 апреля 2010 22:42  
 
А раз icprog спрашивает про константу то он ее видит, а значит можно и им же восстановить.
  •    •     


   
zaa-1978 # 11
28 апреля 2010 22:48  
 
да если при установк новой микрухи ты сначала считаеш её то прога предложит сохранить в буфер константу и её использовать!!!! вот и вся ирархия!!! такшто он её впрынципе невостанавливает а берёт из буфера где сохраняет!!! ну может не в буфер ну типа того!!!
просто толькошто игрался на16ф676!!!
  •    •     


   
Nikolai4 # 12
28 апреля 2010 23:06  
 
У нас на сайте как минимум 10 пользователей обращались ко мне с проблемой утери константы, да и статья переведена с англ. языка, значит и у них не без косяков!
А если она утеряна то, что ты будешь делать или хочешь сказать, что невозможно ее стереть?

qaw прекращай эту ненужную дискуссию

или хочешь сделаем так, я устрою соц опрос на сайте "нужна ли нам эта статья?" если в соц опросе лидировать будут ответы "конечно нужна!" то бан тебе до конца года!!!
если ответы "ненужна" то повысим тебе репутацию и переведем в группу "проверенные"

  •    •     


   
LDZ-UI # 13
29 апреля 2010 18:38  
 
Незнаю нужно создать новую тему или нет но раз здесь опсуждаем поиск утереной константы здесь всё и раскажу.
Месяца четыре назад я попробовал прошить PIC16F628 на градусник ,минимум деталей вобщем паять пол часа . Перед этим спаял програматор EXTRA-PIC скачал IG-prog версии 1.0.5 без особого интузиазма т.к. мне казалось ,что это чтото заоблочное нужно иметь мощьную подготовку хорошее оборудование особено програматор какойто супер навороченый судя по предложениям в инете да и просто не верилось что можно спаять такие довольно приличные устройства с таким количеством деталей и такими характеристиками ,принялся за работу спаял немного поманипулировав с подтягивающим резистором и о чудо девайс заработал без проблем я поменял индикатор был с общим анодом поставил с катодом перепрошил вставил в панельку -работает также всё чётко я ликовал какбы я ни мучил контролер всё работало , так было когда я первый раз попробовал спаять на микросхемах это после траньзюков , тогда я задумал спаять чтонибуть ещё !!!
Выбрал конструкцию дистанционого управления освещением на ик на PIC12F629 выписал три штуки 629 с платана когда пришли я решил их помучить на компе, не помню все три или нет я мучил помню прошивка ложилась какаято нет после проверки , я тогда понятия не имел об осциляторе и о всех проблемах связаных с этим.Вобщем спаяв девайс прошить микруху соответствено я не смог ну и конечно у меня ничего не заработало .И вот начались мои поиски ,которые меня кстати и привели на этот сайт это один из плюсов потери константы. Без лести скажу это то что я искал и огромное спасибо Nikolai4 за труды.
Ну теперь по теме. Поиски способов востановления константы нужно искать и выкладывать , ведь не я один судя по тем ссылкам которые выдал поисковик ,усыпили микрухи .
Я собрал два програматора , EXTRA-PIC с дополнениями , из этого сайта простой програматор (кстати печатка маленько не соответствует схеме, помимо дискусии по кондецатору С2) но ни стем ни с другим прошить PICи мне не удалось соответствено востановить при помощи этой статьи константу,нет возможности описать сколько было перелопачено сайтов и советов опробовано но из трёх одну я всётаки убил, при чтении оба програматора показывают все 0000 на остальных 3FFF при попытке зашить пишет не найдено значение осцилятора. На момент написания пришло сообщение из интернет магазина pricel выслали посылку с микрухами 629,теперь я их встречу с дополнительным багажом и точто я задумал всётаки сделаю .
фото примочек попробую выложить в фото альбом,всётаки востановить я попробую на другой микрухе предварительно записав код а потом стереть .
  •    •     


   
qaw # 14
29 апреля 2010 20:36  
 
Nikolai4
Давай соц опрос , я не против(и условия не пугают).

LDZ-UI
Я тоже не мог прочесть константу писало 3FFF,оказалось что программатор просто ловил помехи с компа. Укоротил шнур с LPT, и поставил провода с экраном, и о чудо все встало на свои места . После этого ни одного косяка. Вот так.
Если все 0000 , или 3FFF,прога не видит программатор.

  •    •     


   
Nikolai4 # 15
29 апреля 2010 21:44  
 
Опрос пошел, до 100чел в какую либо сторону
  •    •     


   
LDZ-UI # 16
30 апреля 2010 03:34  
 
1 Тема нужна .
Стереть их можно , что и подтверждает статья ,полность за тему.
Кабель на програматоре с метрового укоротился до 25 см беда таже не хочет ложить прошивку , поэтому решил собрать USB програматор надеюсь что-то сдвинется , жду деталюшки .
  •    •     


   
qaw # 17
30 апреля 2010 16:47  
 
LDZ-UI
посмотри на это , шьет без проблем
http://pic16f84.narod.ru/progr.htm
  •    •     


   
LDZ-UI # 18
1 мая 2010 03:23  
 
qaw спасибо , попробую его скидать.
  •    •     


   
rastamanoff # 19
5 мая 2010 22:26  
 
Cобрал даную схему.Все работает.Был ПиК без константы,поэтому заинтересовала схема.Собирал на печатке,кому нужен рисунок-пишите.Константа получилась 344С.Судя по всему сначала подают питание на плату потом ставят ПиК в панельку,востановление происходит за 2-3 секунды.Проверял частотометром при 5В где-то 5,02 КГц,при 3.4В-4.9КГц happy
  •    •     


   
LDZ-UI # 20
22 мая 2010 17:52  
 
Подтверждаю слова rastamanoff схема работает , по наводке qaw собрал програматор LPT порта , программа F PIC без проблем ложил читал , после примочкой даже заметить толком не успел светодиоды перемегнулись загорелся зелёный и всё , установил прочитал двумя разными программами результат один 3457. javascript://
  •    •     


   
LDZ-UI # 21
22 мая 2010 17:59  
 
cool cool cool
  •    •     


   
qaw # 22
29 мая 2010 23:10  
 
LDZ-UI
Я не понял , программатором на LPT смог восстановить константу?
  •    •     


   
LDZ-UI # 23
30 мая 2010 17:20  
 
Скорей всего нет , видимо у меня на компе каки ето проблемы с СОМ портом а может проблемы в совместимости с программатором хотя PIC16F628 прошивает без проблем а вот с PIC12F629 что-то не понятно прочитывает все как 3FFF константы не видит вынимаеш из колодки все 0 ,зато после прошивки LPT программатором программой F-PIC ,COM программатором прошивку видит . У меня было три 629 я не зная про константу мучил их первым програмтором на COM 9 , стирал пытался прошивать но всё без толку , а когда прочитал програматором по твоей наводке все константы он увидел , скорей я просто их не стёр . Зато LPT затёр копитально и при помощи этой примочки востановил .
biggrin javascript://
  •    •     


   
wowan # 24
29 сентября 2010 21:16  
 
КОНЕЧНО НУЖНА ДАЖЕ ОЧЕНЬ
  •    •     


   
Smerch-GT # 25
4 октября 2010 15:07  
 
Помогите! не могу понять насчет 5 вольт.(AC или DC)
и куда подсоединить если там сразу на массу нарисовано? sad
P.S выложите оборотную сторону платы
  •    •     


   
LDZ-UI # 26
4 октября 2010 15:53  
 
Восьмой вывод контролера и диоды плюс пять вольт остальное общий .
p.s. работает сто процентово востановил на четырёх контролерах , причом печатку состряпал как мне удобно . Удачи. dry
  •    •     


   
LDZ-UI # 27
4 октября 2010 16:14  
 
Smerch-GT СКОРЕЙ !!! Я ПРОГНАЛ ! ВОСЬМОЙ ВЫВОД ОБЩИЙ , ПИТАНИЕ ТОЛЬКО ДИОД И КНОПКА . Достал платку посмотрел и понял что прогнал . smile извини успел поправится ?
  •    •     


   
zaa-1978 # 28
4 октября 2010 17:43  
 
на первую ногу плюс 5 вольт а восьмая минус! wink
  •    •     


   
al19 # 29
19 декабря 2010 07:05  
 
По поводу OSCCAL, его значение записано в последней ячейке памяти программ. Как правило там записано 34ХХ, где 34- команда возврата (retlw), ХХ- значение константы. Сделать так, что-бы МК заработал не сложно. Нужно открыть с помощью программы в которой Вы программируете НЕХ файл и в ручную записать в последнюю ячейку 3480 (80- это среднее значение диапазона подстройки внутреннего генератора), а затем записать программу в МК.
По программатору, я пользуюсь ExtraPic-ом, классической схеме присущ один недостаток, напряжение питания МК подаётся сразу при включении программатора и за тем напряжение программирования (12,5-13,2 В). Для успешного программирования МК в программе которых включен внутренний генератор нужно напряжение питания подать после напряжения программирования. Более детально об этом можно почитать на этой страничке http://www.pirpk.narod.ru/ddssite/dshexp1w.htm
  •    •     


   
al19 # 30
19 декабря 2010 08:41  
 
было два пика 676, один константа 3434, у другого константа стерта. Програмировал с извесной константой, запросил установки осцилятора с ячейки с к.3434, нажал да. Прог выдал ошибку, поднял напряжение програмирования с 12.8 до 13.2, после програмирования устройство заработало.
При програмировании с со стертой константой, после загрузки hex в програматор, изменил в последней ячейке с 3FFF на 3480, устройство после програмирования работает
  •    •     

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
 

Обновления

Конкурсные работы:

Сообщения Форума Ответов
Сенсорный выключатель 378
Рецензия на фильм Макс Стил 0
Спидометр - одометр + квазиана ... 4
бaкoмeтр 1829
Бакометр 2 211
Авторская программа LEX6630SOF ... 36
Сколько мужчина может потратит ... 4
Настенные часы - термометр 258
PICKIT2 и AVR 5
RGB подсветка приборной панели 4