|
|
|
|
P.S. Прошивка V 1.0 |
|
|
Andrew214: Да, явно проблемы импорта прошивки в программатор (Autoprog). Во вложении скриншот кода из его окна. Здесь проблем нет, код соответствует началу программы. Проверьте содержимое EEPROM памяти. |
|
|
Хм... Я вот смотрю исходник - 4(2)я и 5(3)я строки сверху: 00A 08B7 00D8 0B0E 2859 14C1 280B 1137 084D 008A 0036 0E83 00B5 0E35 0E09 0083 1203 13C5 А после импорта те хе строки: 80A 00B7 0BD8 280E 1459 28C1 110B 0837 008A 0E36 0083 0EB5 0E35 0009 1283 1303 Сравнение кода программы в зашитом PIC и в файле-исходнике после импорта в программатор дает 100% соответствие. P.S. после импорта могу сохранить в "родном" формате .bin и прикрепить для "разбора". |
|
|
Andrew214, не там ищите. Вот начало листинга после трансляции, второй столбик - коды, они совпадают с вашим снимком окна программатора. 0000 0000 00237 nop ;for MPLAB-ICD2 0001 2816 00238 goto init 00239 ;------------------ Interrupt ------------------ 0004 00240 org 0x004 00241 0004 00B5 00242 movwf W_TEMP ;save W 0005 0E03 00243 swapf STATUS,W ;swap STATUS, W 0006 0183 00244 clrf STATUS 0007 00B6 00245 movwf STATUS_TEMP ;save status 0008 080A 00246 movf PCLATH,W 0009 00B7 00247 movwf PCLATH_TEMP ;save PCLFTH 00248 Message[305]: Using default destination of 1 (file). 000A 0BD8 00249 decfsz TMR0_Count 000B 280E 00250 goto restore_context 000C 1459 00251 bsf Flags,0 ;Time Out! 000D 28C1 00252 goto stop_TMR1
|
|
|
GO, спасибо, бросил пустую затею Про EEPROM - не совсем понял, вот скриншот второго окошка. Чтение "слова конфигурации" из файла и из запрограммированного PIC дает один и тот же результат. Без него С&ESR не запускается вообще. |
|
|
Andrew214: Про EEPROM - не совсем понял Имеется в виду та память, которая используется в МК для хранения корректирующих и масштабирующих к-тов, см. в программе стр.181-201. Программатор возможно не программирует эту память, в чем хотелось бы убедиться. Самый простой способ проверки - это войти в режим корректировки констант (нажать кн.установки при включении прибора)- там по умолчанию должны быть 1.000
|
|
|
Я вот можно со своими проблемами встряну: И так вот что у меня получилось с сопротивлением: R, Показания АЦП в "прямом режиме" предел 1 Ом, предел 10 Ом, показания ндикатора 0,000 __ 31-35 ________ 0 0,108 __ 52-68 ________ 0 0,209 __ 72-78 ________ 0 0,313 __ 94-101 ________ 0,029-0,034 0,415 __ 114-120 ________ 0,057-0,067 0,687 __ 166-182 _ 18-20 _ 0,139-0,149 1,367 __ 264-301 _ 29-34 _ 0,293-0,324 Все коэффициенты = 1, последовательно с резисторами конденсатор 21,0 мкФ При сопротивлении 0 учитыватся только сам конденсатор. Шиза косит мои ряды, чего дальше не знаю. |
|
|
GO, огромное спасибо!!! Так оно и оказалось. После ковыряний с программатором выяснил, что "шьется" она в 3 этапа. Теперь все 3 коэффициента 1.000. При измерении конденсаторов большой емкости пока дает заниженную примерно в 100 раз емкость, при измерении малых - завышенную в 6 раз. Но это уже, я думаю, другая история. |
|
|
Вопрос с измерением емкости - зачем задержка 200 мксек после срабатывания "нижнего" компаратора в режиме разряда, напряжение на конденсаторе к моменту начала заряда не очень точно определено, может имеет смысл прогонять заряд от "нижнего" компаратора до "верхнего". Тогда будет более точно ? Второе - почему идет измерение емкости при разном ESR с разными режимами ? |
|
|
Задержка 200мкс добавлена для того, чтобы конденсатор гарантированно разрядился, если здесь вообще можно что-то гарантировать Потом включается зарядный ток, ждем срабатывания нижнего компаратора. В момент срабатывания запускается таймер 1, и ждем срабатывания верхнего компаратора, после чего таймер останавливаем и смотрим, чего он там насчитал. Не знаю, соответствует ли это прогонять заряд от "нижнего" компаратора до "верхнего", но в несколько упрощенном виде работает именно так. А второй способ измерения для ESR>1Ома отличается предварительным зарядом конденсатора на входе инстр.усилителя, чтобы компараторы сразу не сработали из-за "подскока" напряжения на тестируемом элементе при включении тока заряда.
|
|
|
|
|