Новичок
Регистрация: 14.12.2009
Сообщений: 33
Репутация: 15
![]() |
А кто подскажет где здесь есть (какой пост) правильная схема подключения аккумулятора и нагрузки к нему для измерения емкости аккумулятора при разрядке? А то вроде все схемы разрисованы для зарядки аккумулятора.
|
||
Оценка
|
Знаток
Регистрация: 23.11.2016
Адрес: Украина
Сообщений: 96
Репутация: 77
![]() |
Схема подключения в режиме разряда представлена автором еще в первых постах, в оригинальном ее виде. Для верности, чтобы не возвращаться в прошлое, выкладываю оба вида подключения устройства.
В режиме разряда для точности измерения желательно питать устройство от независимого источника питания, особенно это важно если меряется емкость литиевого аккумулятора.
Последний раз редактировалось Иван_79; 18.02.2017 в 05:15.
|
||
Оценка
|
Новичок
Регистрация: 14.12.2009
Сообщений: 33
Репутация: 15
![]() |
Спасибо за схему подключения, я тоже практически так-же подключил. А по точности измерения с PIC16F684 есть проблема с точностью таймера. Он отстает на 10 секунд за минуту. Это может быть как-то связана именно с PIC16F684? У него вроде нет калибровочной константы, или я ошибаюсь. Я прочитал программатором WinPic800 несколько новых экземпляров - константы не обнаружил.
|
||
Оценка
|
Знаток
Регистрация: 23.11.2016
Адрес: Украина
Сообщений: 96
Репутация: 77
![]() |
Да, почитал даташит, реально у него нет калибровочной константы, она у него уже вшита и реализация подстройки осуществлена немного по другому. Можно поступить двумя способами:
закомментировать строки: CALL 0x3FF ; Считываем калибровочную константу (последняя ячейка памяти программ) MOVWF OSCCAL ; Загружаем константу в генератор OSCCAL. Это в случае если Вы имеете представление о компиляции программ для МК. Второй раскажу пожже, некогда. |
||
Оценка
|
Знаток
Регистрация: 23.11.2016
Адрес: Украина
Сообщений: 96
Репутация: 77
![]() |
Как и обещал, второй способ: необходимо вручную в программаторе изменить буфер ячейки памяти по адресу слова 0x3FF (байты 0x7FE и 0x7FF) на значение 0x3400 (вместо 0x3438 в моем варианте). Тогда при работе программы генератор будет настроен на работу от внутренней системной константы, без ее коррекции.
|
||
Оценка
|
Новичок
Регистрация: 14.12.2009
Сообщений: 33
Репутация: 15
![]() |
Иван_77. Спасибо за комментарии по PIC16F684. О программировании и соответственно о компиляции программ я некоторое представление имею. Есть не очень большой опыт по программировании PIC контроллеров, правда на Си. На ассемблере реально ничего писать даже не пытался, но какое-то представление имею. Поэтому, наверное, смог бы попытаться отредактировать программу и по первому способу, правда если бы понял в каком месте программы нужно было-бы вставить эти строки "CALL 0x3FF ; MOVWF OSCCAL". Но со вторым способом для меня все вроде-бы понятно, буду пробовать. Еще раз спасибо.
|
||
Оценка
|
Знаток
Регистрация: 23.11.2016
Адрес: Украина
Сообщений: 96
Репутация: 77
![]() |
Не вставлять, а откомментировать, т.е. исключить из компиляции, в начале файла есть такой участок программы (единственный с указанным текстом), просто поставьте перед ним ";" и откомпилировать программу.
|
||
Оценка
|
Новичок
Регистрация: 14.12.2009
Сообщений: 33
Репутация: 15
![]() |
в ассемблерной программе слова "OSCCAL" встречается только вот здесь
;*** 2. Настройка контроллера ***************** ;********************************************** init bsf STATUS,5 ; БАНК 1. ; movlw 0FF ; movwf OSCCAL ; максимальная частота movlw B'00100000' movwf ADCON1 ; Но указанное Вами слово "CALL 0x3FF" поиск в тексте не находит. А по второму способу я тоже как-то не понял: При считывании программатором файла "emk10A_3.HEX "- по адресу 0x03FF есть значение "0x3438", но не 0x3436". Его, что просто нужно заменить на значение "0x3400"? |
||
Оценка
|
Знаток
Регистрация: 23.11.2016
Адрес: Украина
Сообщений: 96
Репутация: 77
![]() |
У Вас ассемблерный текст одного из первых моих постов, возьмите например проект из поста 409.
На счет изменения, то да в данной прошивке моя константа была равна 0х3438, правильно, именно ее и необходимо изменить. |
||
Оценка
|
Знаток
Регистрация: 23.11.2016
Адрес: Украина
Сообщений: 96
Репутация: 77
![]() |
В моем оригинале проекта текст выглядит следующим образом:
;************************************************* ************************************************** **** ;*** 2. Настройка контроллера ***************** ;********************************************** init bsf STATUS,5 ; БАНК 1 CALL 0x3FF ; Считываем калибровочную константу (последняя ячейка памяти программ) ; BSF STATUS,5 ; Переходим в Bank 1 MOVWF OSCCAL ; Загружаем константу в генератор OSCCAL ; movlw 0FF ; movwf OSCCAL ; максимальная частота movlw B'00100000' movwf ADCON1 ; movlw B'00000000' ; movwf OPTION_REG ; |
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |