Технический форум по робототехнике.
DiverRS » 24 май 2010, 23:14
Добрый день! Есть схема с исходником под PIC12C671. Компилирую в MPLAB, прошиваю в icprog, сравниваю с буфером - ошибка, записывает периодически повторяющийся код до полного заполнения памяти. Устройство не работает, 2 проца испорчены. Решил ту-же прогу зашить в PIC12F629, вроде такой-же, только с флеш памятью. Устройство по прежнему не работает.
В Proteus та-же картина. При замене в исходнике строки list P=12C671 #include "P12C671.inc" на list P=12F629 #include "P12F629.inc" не компилируется, выдаёт ошибку:
Building ROV_TX_2.ASM...
Command line: "E:\PROGRAMS\MPLAB\MPASMWIN.EXE /e+ /l+ /x- /w0 /c+ /m+ /rhex /p12F629 /q ROV_TX_2.ASM"
Warning[224] E:\CODES\ROV_TX_2.ASM 116 : Use of this instruction is not recommended.
Warning[224] E:\CODES\ROV_TX_2.ASM 118 : Use of this instruction is not recommended.
Error[113] E:\CODES\ROV_TX_2.ASM 184 : Symbol not previously defined (ADCON)
Error[113] E:\CODES\ROV_TX_2.ASM 187 : Symbol not previously defined (ADCON1)
Error[113] E:\CODES\ROV_TX_2.ASM 197 : Symbol not previously defined (ADCON0)
Error[113] E:\CODES\ROV_TX_2.ASM 197 : Symbol not previously defined (GO)
Error[113] E:\CODES\ROV_TX_2.ASM 200 : Symbol not previously defined (ADRES)
MPLAB is unable to find output file "ROV_TX_2.hex". This may be due to a compile, assemble, or link process failure.
Build failed.
Что делать, тока ногами не бейте !
p.s. Исходник прилагаю.
- Вложения
-
rov_tx.zip
- Исходник
- (3.12 КиБ) Скачиваний: 0
Anubis » 24 май 2010, 23:57
По старинке с наскока не получится... Даташит смотрел на оба этих пика? Если нет то гляди -
"PIC12C671 - 8-Pin, 8-Bit CMOS Microcontroller with A/D Converter and EEPROM Data Memory" тобишь у него сколько-то битный АЦП на борту. В программе как раз идет обращение к регистрам отвечающим за этот модуль (ADCON, ADCON1, ADCON0, ADRES и тд и тп...). А у второго PIC12F629 в даташите написано - "ANALOG-TO-DIGITAL CONVERTER (A/D) MODULE (PIC12F675 ONLY)" тобишь нету его там

Вот MPLAB и ругается на него. С кодом не стал разбираться, я с асемблером плохо и не на ночь глядя. Утром гляну. А PIC12C прошивать непонятно чем не самая хорошая идея, он шьется только один раз. Схема то есть чтобы проверить работу в протеусе?
DiverRS то что у них у обоих 8 ног еще ничего не значит.

DiverRS » 25 май 2010, 02:08
Спасибо за быстрый ответ, видимо не дочитал даташит. Надо учить матчасть. Буду искать коректную замену. Решил сваять подводного робота с управлением по кабелю, видимо прийдется привлекать шарящего электронщика. Вообще с электроникой проблемы, ну там повторить готовую схему, развести в Eagle, спаять прошить могу, но если бока какие, то начинаются танцы с бубном.
- Вложения
-
Схема, исходники.zip
- (147.66 КиБ) Скачиваний: 0
Anubis » 25 май 2010, 02:56
Надо с простого начинать, а не повторять сразу то что нашел. Раз 20 находил в журналах радио такую ахинею что диву давался как ее туда пропустили.
Корректной заменой может быть и PIC12F675 он как раз с АЦП. Но мне кажется надо как следует посидеть с программой чтобы понять как она работает. А когда поймешь, не парится с этим 8-ми ногим камнем, а брать нормальный, ног эдак 28-40 (PIC16F, PIC18F). С ними и работать интереснее в разы и встроеных модулей больше. Если паять собирать можешь, значит и с остальным разберешься, было бы желание. Если что поможем. Схему утром гляну

Сейчас спать, спать, спать....

Anubis » 25 май 2010, 09:47
А зачем ты в протезе сразу весь аппарат собрал? Сложнее же разобраться что работает, а что нет. По поводу пульта как я и говорил если сильно хочется бери PIC12F675. Я бы взял PIC16F873 (28-pin), был бы задел на расширение, больше кнопок можно было бы поставить, больше функций реализовать. А вот на самого робота я бы поставил PIC18F4520, он пошустрее и не сильно дороже. Кстати с распиновкой совпадает с PIC16F877.
По поводу АЦП чтобы более менее понять как это работает почитай вот здесь -
http://www.pcports.ru/articles/pic7.php
DiverRS » 25 май 2010, 14:26
Заменить на более продвинутые процы хорошо, но платы уже спаяны, и такие красивые лежат. В Proteus собран только один канал, пульт с 12С671 работает, а вот приёмник на PIC16F84 что-то пока нет. Буду по кусочкам собирать.
Anubis » 25 май 2010, 14:56
Что конкретно в приёмнике на PIC16F84 не работает?
DiverRS » 26 май 2010, 02:07
А ничего не работает, должен хотя бы диодиком мигнуть при запуске программы. А при ворочании переменного резюка на передатчике, ШИМ сигнал выдавать на драйвер мотора. Вообще в Proteus 7.4 могут глючить некоторые микрухи.
Anubis » 26 май 2010, 09:08
Ну так глубоко я еще не копал, чтобы у меня протез глючил. Если в течение дня будет время гляну поподробнее что там с ним не так.