|
Зарядное устрйство на PIC12F675 |
|
|
|
Feb 12 2008, 18:53
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Собрал тут схему для автоматической зарядки аккумуляторов на PIC12F675 (схема и прошивка прилагается). При программировании IC-PROG выдается сообщение: "Не найдено значение установки Осциллятора. Вы настаиваете на использовании Установок из файла (3FFFh) ?" Т.к. я в этих вопросах плохо разбираьсь, хотелось бы узнать, что с этим делать (далее жать ДА или НЕТ - правильно как)?. Пробовал и так и этак - PIC не подает признаков жизни (питание присутствует естественно), а на GP4 и GP5 ничего :-(( Ранее собирал другое зарядное устройство (с другой прошивкой на PIC16C620) - все работает. Прошу совета, что я делаю не так!
Прикрепленные файлы
_____.rar ( 84.28 килобайт )
Кол-во скачиваний: 420
|
|
|
|
|
 |
Ответов
(1 - 9)
|
Feb 13 2008, 06:45
|

Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 20-06-07
Из: Россия, Тула.
Пользователь №: 28 569

|
В последней ячейке програмной памяти контроллера хранится калибровочный коэффициент для внутреннего генератора 4 МГц. У Вас видимо кристалл был стерт, а значение не сохранено. Ничего страшного нет в этом, просто 4МГц будут не точные. Фьюзы в файле вроде правильно выставлены, так что дело еще в чем-то. Верификация ПИКа проходит нормально ? А так, смотрите монтаж, на 1 ноге ПИКа должно бить +5В, на 8 - земля. Если все есть видимо проблема в самой прошивке, был-бы исходник, можно было глянуть. Можно конечно дизасемблировать, но это уж больно муторно, проще по новой написать. Я тоже когда-то хотел что-то подобное собрать, даже начал, но потом пришел к выводу, что проще просто купить, например это : http://www.robiton.ru/catalog/smartdis.phpЦена небольшая, 4 аккума (а не 3, не то не сё) заряжает отдельно каждый, умеет и разряжать, и самое главное - имеет режим быстрой зарядки по dV.
Сообщение отредактировал Andrey_B - Feb 13 2008, 06:49
--------------------
vodaspb.ru
|
|
|
|
|
Feb 16 2008, 12:36
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Цитата(Andrey_B @ Feb 13 2008, 09:45)  В последней ячейке програмной памяти контроллера хранится калибровочный коэффициент для внутреннего генератора 4 МГц. У Вас видимо кристалл был стерт, а значение не сохранено. Ничего страшного нет в этом, просто 4МГц будут не точные. Фьюзы в файле вроде правильно выставлены, так что дело еще в чем-то. Верификация ПИКа проходит нормально ? А так, смотрите монтаж, на 1 ноге ПИКа должно бить +5В, на 8 - земля. Если все есть видимо проблема в самой прошивке, был-бы исходник, можно было глянуть. Можно конечно дизасемблировать, но это уж больно муторно, проще по новой написать. Я тоже когда-то хотел что-то подобное собрать, даже начал, но потом пришел к выводу, что проще просто купить, например это : http://www.robiton.ru/catalog/smartdis.phpЦена небольшая, 4 аккума (а не 3, не то не сё) заряжает отдельно каждый, умеет и разряжать, и самое главное - имеет режим быстрой зарядки по dV. В монтаже ошибок нет (в этом соображаю), а вот с написанием программ - глухо. Похоже придется разобрать уже собранную конструкцию (P.S. Устройство собрал на 6 аккумуляторов)
|
|
|
|
|
Feb 17 2008, 05:27
|

Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266

|
Цитата(Archivarius @ Feb 16 2008, 15:36)  В монтаже ошибок нет (в этом соображаю), а вот с написанием программ - глухо. Похоже придется разобрать уже собранную конструкцию (P.S. Устройство собрал на 6 аккумуляторов) Ничего разбирать не надо. Попробуйте файлы, которые прилагаю. Когда IC-PROG спрашивает "Вы настаиваете на использовании Установок из файла (3480h) ?", жмите "да".
--------------------
УЭР
|
|
|
|
|
Feb 23 2008, 20:42
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Цитата(evc @ Feb 17 2008, 08:27)  Ничего разбирать не надо. Попробуйте файлы, которые прилагаю. Когда IC-PROG спрашивает "Вы настаиваете на использовании Установок из файла (3480h) ?", жмите "да". Некоторые сдвиги есть, т.е светодиод HL1 начал мигать (что говорит о работе PIC12F675). Но на этом все и заканчивается - далее устройство для зарядки аккумуляторов не работает. Спасибо за помощь.
|
|
|
|
|
Apr 8 2008, 18:32
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Цитата(evc @ Feb 17 2008, 08:27)  Ничего разбирать не надо. Попробуйте файлы, которые прилагаю. Когда IC-PROG спрашивает "Вы настаиваете на использовании Установок из файла (3480h) ?", жмите "да". Начал моделировать работу устройства в Proteus и вот что выяснил: 1. ошибка в схеме устройства (напряжение с XS1 надо подавать на 5-ю ногу PIC, с XS2 - на 6-ю, а XS3 - на 7-ю; т.к. я эксперементировал только на разъеме XS1-XP1 - отсюда и одна из проблем) 2. прилагаемая к схеме прошивка в Proteus не работает. Из двух Ваших прошивок работает только эта - ZU12F675_V2_2_fixed_freq.HEX 3. ZU12F675_V2_2_fixed_freq.HEX реально работает в схеме, но с одной оговоркой: если питание на устройство подавать с подключенным аккумулятором (пока экспериментирую только с одним), то все нормально (происходит тест аккумулятора и, далее, разряд или заряд). Если аккумулятор подключить после включения устройства - PIC работает (видно по миганию светодиода HL1), а далее тишина (режима зарядки/разрядки нет). Похоже, что в прошивке не предусмотрен (или не работает) опрос портов в процессе работы программы. Можно ли это исправить? Спасибо.
|
|
|
|
|
Apr 10 2008, 15:16
|

Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266

|
Цитата(Archivarius @ Apr 8 2008, 22:32)  Начал моделировать работу устройства в Proteus и вот что выяснил: 1. ошибка в схеме устройства (напряжение с XS1 надо подавать на 5-ю ногу PIC, с XS2 - на 6-ю, а XS3 - на 7-ю; т.к. я эксперементировал только на разъеме XS1-XP1 - отсюда и одна из проблем) По идее (цитата:"После подачи питающего напряжения МК DD1 последовательно проверяет наличие подключенных к ячейкам аккумуляторов. При отсуствии напряжения на гнезде XS1 MK DD1 "делает вывод", что аккумулятор не установлен и переходит к анализу состояния следующей ячейки.") это должно никакого влияния не оказывать, т.к. даже и если разменены места подключения разъемов, он все равно должен опрашивать их всех. Проверьте внимательнее подключение R4/R1, R6/R2 и R7/R3! Цитата(Archivarius @ Apr 8 2008, 22:32)  3. ZU12F675_V2_2_fixed_freq.HEX реально работает в схеме, но с одной оговоркой: если питание на устройство подавать с подключенным аккумулятором (пока экспериментирую только с одним), то все нормально (происходит тест аккумулятора и, далее, разряд или заряд). Если аккумулятор подключить после включения устройства - PIC работает (видно по миганию светодиода HL1), а далее тишина (режима зарядки/разрядки нет). Похоже, что в прошивке не предусмотрен (или не работает) опрос портов в процессе работы программы. Можно ли это исправить? Спасибо. Так и должна работать прошива по описанию. Это можно исправить, поставив на выводе GP3 (MCLR), кнопку с подтяжкой к земле. Нужно микроконтроллер фюзами настроить (поставить галочку напротив "MCLR"), что бы тот работал с внешним ресетом. Тогда каждый раз когда нажимаете на кнопку, контроллер будет опрашивать своих входов и если на них окажется напряжение, должен продолжить по алгоритму зарядки.
--------------------
УЭР
|
|
|
|
|
Apr 12 2008, 11:04
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
[quote name='evc' post='394967' date='Apr 10 2008, 19:16'] По идее (цитата:"После подачи питающего напряжения МК DD1 последовательно проверяет наличие подключенных к ячейкам аккумуляторов. При отсуствии напряжения на гнезде XS1 MK DD1 "делает вывод", что аккумулятор не установлен и переходит к анализу состояния следующей ячейки.") это должно никакого влияния не оказывать, т.к. даже и если разменены места подключения разъемов, он все равно должен опрашивать их всех. Проверьте внимательнее подключение R4/R1, R6/R2 и R7/R3!
[quote]Не согласен! Пример: подключаем аккумулятор на разъем XS1-XP1 (схему см. выше). PIC определяет состояние аккумулятора и дает сигнал на зарядку/разрядку, но на разъем XS3-XP3
Так и должна работать прошива по описанию. Это можно исправить, поставив на выводе GP3 (MCLR), кнопку с подтяжкой к земле. Нужно микроконтроллер фюзами настроить (поставить галочку напротив "MCLR"), что бы тот работал с внешним ресетом. Тогда каждый раз когда нажимаете на кнопку, контроллер будет опрашивать своих входов и если на них окажется напряжение, должен продолжить по алгоритму зарядки. [/quote] [quote] Проверим как-нибудь. И еще вопрос по этому поводу: нормально ли будет работать в случае перезапуска PIC микросхема DD2 (74HC164N)? На 9-й ноге висит конденсатор
|
|
|
|
|
Apr 12 2008, 14:57
|

Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266

|
Цитата(Archivarius @ Apr 8 2008, 22:32)  Из двух Ваших прошивок работает только эта... Сразу не заметил! Вы наверно считаете, что я их писал.  Наверно так бы было и проще и, по крайней мере, они нормально работали бы! В вашем первом посте вы рассказали, что IC-Prog выдает вам сообщение, что не может найти значение установки осцилятора. Т.к. это значение записывается фабрично в чипе (у вас оно наверно стерлось в процесе отладки програматора), в файле его стоимость обычно не записывается, эта ячейка остается по умолчанию 0x3FFF. Но "0x3FFF" (код инструкции addlw, а должна быть retlw - 0х34ХХ) неприемлемая стоимость для выполнение программой в том месте, и вот поэтому у вас не заработало. Я взял эти два файла, которые вы прикрепили, проверил есть ли у них обращение по адресу, в котором находится каллибровочная константа, и записал у них значения установки осцилятора. Только того. Поэтому я не могу знать, что там в ваших  прошивках творится, так как и мне не очень понятно как вы умудрились сделать: Цитата(Archivarius @ Feb 13 2008, 09:45)  Устройство собрал на 6 аккумуляторов. Я вам написал "по идее", но имел ввиду идея статьи из вашего поста, на цитату из которой я ссылался... В схеме действительно есть конденсатор на 9-ом выводе регистра (ресет) и это не очень хорошая идея, т.к. процессор (!внутренный генератор, зависимость от температуры, питающего напряжения, настроение электронов и т.д.!) можеть начать отправлять данные серийному регистру, до того как тот еще находиться в состояние ресета (конденсатор еще не зарядился). Может быть это и есть причина несовпадения разъемов. Можете уменшить стоимость конденсатора С1 до 0,01мкф. Я бы сделал это вообще по другому, не используя ресет входа регистра, но как уже сказал, не я писал эту программу. Все таки то решение, которое я вам предложил (с внешним ресетом), должно сработать, на всякий случай проверьте осциллографом входят ли на 8-ом выводе регистра, пачки из 8 импульсов положительной полярности. Если колличество импульсов отличается от 8, программу нужно написать заново.
--------------------
УЭР
|
|
|
|
|
Apr 17 2008, 18:01
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Цитата(evc @ Apr 12 2008, 18:57)  Сразу не заметил! Вы наверно считаете, что я их писал.  Наверно так бы было и проще и, по крайней мере, они нормально работали бы! Я и предполагал, что Вы исправили прошивку Цитата В вашем первом посте вы рассказали, что IC-Prog выдает вам сообщение, что не может найти значение установки осцилятора. Т.к. это значение записывается фабрично в чипе (у вас оно наверно стерлось в процесе отладки програматора), в файле его стоимость обычно не записывается, эта ячейка остается по умолчанию 0x3FFF. Но "0x3FFF" (код инструкции addlw, а должна быть retlw - 0х34ХХ) неприемлемая стоимость для выполнение программой в том месте, и вот поэтому у вас не заработало. Я взял эти два файла, которые вы прикрепили, проверил есть ли у них обращение по адресу, в котором находится каллибровочная константа, и записал у них значения установки осцилятора. Только того. Поэтому я не могу знать, что там в ваших  прошивках творится, так как и мне не очень понятно как вы умудрились сделать: Я могу запрограммировать PIC, собрать устройство, отладить его работу, на я не имею ни малейшего понятия о написании программ :-(( Цитата Я вам написал "по идее", но имел ввиду идея статьи из вашего поста, на цитату из которой я ссылался... В схеме действительно есть конденсатор на 9-ом выводе регистра (ресет) и это не очень хорошая идея, т.к. процессор (!внутренный генератор, зависимость от температуры, питающего напряжения, настроение электронов и т.д.!) можеть начать отправлять данные серийному регистру, до того как тот еще находиться в состояние ресета (конденсатор еще не зарядился). Может быть это и есть причина несовпадения разъемов. Можете уменшить стоимость конденсатора С1 до 0,01мкф. Я бы сделал это вообще по другому, не используя ресет входа регистра, но как уже сказал, не я писал эту программу. Все таки то решение, которое я вам предложил (с внешним ресетом), должно сработать, на всякий случай проверьте осциллографом входят ли на 8-ом выводе регистра, пачки из 8 импульсов положительной полярности. Если колличество импульсов отличается от 8, программу нужно написать заново.  Устройство уже собрано и работает (надо немного разобраться с делителями напряжения на входах PIC). Спасибо за помощь!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|