Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Проблем с PIC16F877A
http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=18630
Страница 1 от 4

Автор:  cwetalin [ Пон Дек 12, 2022 8:23 pm ]
Заглавие:  Проблем с PIC16F877A

Здравейте, колеги.
Моля за помощ!
Имам безумен проблем, с който се боря вече две седмици.
Имам платка с 8 силомера на Analog Device AD7730, които мерят съответно 8 тензодатчика. Всичко се управлява от PIC16F877A. Платката е разработвана преди години, устройството е внедрено и мери успешно. За целта на друг ползвам втора такава платка, наситена със същите елементи. При програмиране на PIC-a с PICKIT3, контролера се програмира успешно. За проба чеквам отметката за захранване на PIC-a през програматора, при което устройството започва да мери и да предава данни. С една дума всичко работи. Откачам програматора, захранвам устройството с 5волта захранване на MeanWell, ново и платката изпраща малко данни, 50-ина байта и спира. Съответно Watchdog таймера превърта, следва Reset и отново се изпращат малко данни и пак спира. И така на пресекулки. Реших че захранването е бъгаво, пуснах захранване през DC/DC 12 на 5 волта - същата работа. Пуснах захранване от USB порта, на който е закачен програматора - същата работа. Пуснах захранване от POWER BANK - същата работа. Подавам захранването на пинове на рейка, на които е захранването от програматора. Мера захранването с осцилоскоп - стабилно е. Побърках се, не знам какво да правя! Ще съм благодарен на всякакви идеи, колкото и екзотични да са!
Поздрав, Цецо!

Автор:  ToHu [ Пон Дек 12, 2022 8:33 pm ]
Заглавие:  Re: Проблем с PIC16F877A

шаманство, някоя баба да му бая ....
сега сериозно, не че не разбрах но да е сигурно, закачаш на програматора, програмираш пускаш захранване и то предава данни и си ги предава както трябва неограничено време.
След това разскачаш от програматора, захранваш външно и започва да предава данни на пресекулки ?
Това за watchdoga предполагаш че това става или си сигурен, т.е. имаш някъде лог, или дебъг или нещо друго ?
Ако захраниш от прогаматора и то работи нормално, и след това му спреш захранването пак от програматора, и пак го пуснеш от програматора продължава ли да работи нормално ?
Ако не го пускаш от програматора, само го запишеш, и след това го пуснеш от външно захранване започва ли да предава нормално първия път или не ?
Всичко това звучи странно но има едно логично обяснение ако не си писал ти фърмуера, някой педал който го е писал ти е сложил куркапан за да може да го потърсиш и да вземе някой екстра лев .... познавам няколко такива индивида и всеки път като ги срещна ми се иска да им счупя по нещо.

Автор:  Н'бабане Гт'муан'га [ Пон Дек 12, 2022 10:59 pm ]
Заглавие:  Re: Проблем с PIC16F877A

Ако приемем че софтуера е стар и е работил вече години, и не е имало някакви промени в него, значи работата отива към желязото...

1. кондензаторът на Vdd
2. липсващ някой Vss на чипа
3. пулъп на ресета (може да виси)
4. проблем в осцилатора
5. студена спойка на някое от тия критични места
6. дефектен чип (виж му серията и ератата за тая серия)
7. божа работа, т.е. пробвай с друга чисто нова платка

Автор:  ToHu [ Пон Дек 12, 2022 11:09 pm ]
Заглавие:  Re: Проблем с PIC16F877A

Аз доколкото разбирам той е наситил сега втората платка, или аз нещо не съм разбрал ?

Автор:  cwetalin [ Пон Дек 12, 2022 11:53 pm ]
Заглавие:  Re: Проблем с PIC16F877A

ToHu написа:
шаманство, някоя баба да му бая ....
сега сериозно, не че не разбрах но да е сигурно, закачаш на програматора, програмираш пускаш захранване и то предава данни и си ги предава както трябва неограничено време.
След това разскачаш от програматора, захранваш външно и започва да предава данни на пресекулки ?
Това за watchdoga предполагаш че това става или си сигурен, т.е. имаш някъде лог, или дебъг или нещо друго ?
Ако захраниш от прогаматора и то работи нормално, и след това му спреш захранването пак от програматора, и пак го пуснеш от програматора продължава ли да работи нормално ?
Ако не го пускаш от програматора, само го запишеш, и след това го пуснеш от външно захранване започва ли да предава нормално първия път или не ?
Всичко това звучи странно но има едно логично обяснение ако не си писал ти фърмуера, някой педал който го е писал ти е сложил куркапан за да може да го потърсиш и да вземе някой екстра лев .... познавам няколко такива индивида и всеки път като ги срещна ми се иска да им счупя по нещо.


Закачам на програматора, няма значение дали програмирам или не, пускам захранване от там и всичко си върви както трябва. Предава данни 3 дни без да спре. Нещо повече, седи си захранено от програматора и работи. Подам външно захранване по описаните начини и се бъгва.
За Watchdog-a, променях му периода на 0.5, 1, 2 секунди /не помня точните стойности/ и респективно като се бъгне му трябва различно време да се ресетне. Просто гледам на терминала като спрат данните колко му трябва да тръгнат пак.
Аз съм писал фърмуера, той пък един фърмуер. Първо зарежда във всеки AD7730 еднакви настройки по регистрире, после почва в цикъл да чете данни от всеки и да ги праща по RS232. Комуникацията е разделена с оптрон от частта, която се връзва с PC по USB.

Автор:  cwetalin [ Вто Дек 13, 2022 12:00 am ]
Заглавие:  Re: Проблем с PIC16F877A

Н'бабане Гт'муан'га написа:
Ако приемем че софтуера е стар и е работил вече години, и не е имало някакви промени в него, значи работата отива към желязото...

1. кондензаторът на Vdd
2. липсващ някой Vss на чипа
3. пулъп на ресета (може да виси)
4. проблем в осцилатора
5. студена спойка на някое от тия критични места
6. дефектен чип (виж му серията и ератата за тая серия)
7. божа работа, т.е. пробвай с друга чисто нова платка


Сменях кондензатор, пробвах и с батерия, пробвах и от същото USB на което е програматора, но само захранването, не иска
Пулъп има, мерен, сменян 2 пъти резистора
Кварца какво да му е, и защо да работи при захранване от програматора, а после да не иска. Ще го сменя и него.
Припоявах няколко пъти цялата платка
PIC-a работи, на цокъл е го слагам на друго място, където му пиша само да предава по RS232 променлива, която после инкрементвам. И си чета на терминала 0, 1, 2, 3...255, 0, 1....
Не ми се захваща с друга платка, 7730 освен че са скъпи, ги и няма.

Автор:  cwetalin [ Вто Дек 13, 2022 12:03 am ]
Заглавие:  Re: Проблем с PIC16F877A

ToHu написа:
Аз доколкото разбирам той е наситил сега втората платка, или аз нещо не съм разбрал ?

И двете платки са мои. Просто бях поръчал две навремето и сега я използвам. Аз съм си я разработвал, аз съм насищал първата, аз съм ѝ писал firmware-a. Предишното устройство работи в завод, мръсотия, електрически смущения, какво ли не, и няма проблем. Това ще се ползва в лаборатория, а даже не иска и да тръгне ;)

Автор:  ToHu [ Вто Дек 13, 2022 12:18 am ]
Заглавие:  Re: Проблем с PIC16F877A

Ясно, борим проблем а не капан.
Значи основната разлика като си на програматор е ресет пина ти, но пък не мога да да направя връзката ресет пин - куче ...
Ако е закачен на програматора но захранваш от външно захранване пак така ли става ?

Автор:  cwetalin [ Вто Дек 13, 2022 12:28 am ]
Заглавие:  Re: Проблем с PIC16F877A

ToHu написа:
Ясно, борим проблем а не капан.
Значи основната разлика като си на програматор е ресет пина ти, но пък не мога да да направя връзката ресет пин - куче ...
Ако е закачен на програматора но захранваш от външно захранване пак така ли става ?

Да, закачен на програмаор, пуснато захранване - работи. Външно захранване ТЕС, настроен на 12 волта + DC/DC от 9-18 входно на 5 волта изходно. Модул на MeanWell, 15W, не платка от 1.50 лева. В момента който пусна външното захранване, без да пипам нищо друго и започват проблемите. Същото се случва и от повер банка, от захранване 5 V и от USB ако захранвам външно...
Вадя MCLR/Vpp кабелчето от куплунга на кабела на програматора, т.е. не го свързвам към платката. Пак си работи на захранване от програматор и не иска на каквото и да е друго захранване.
Толкова съм се филмирал, че сложих PULLUP-и на PB6 и PB7 на PIC-a. Не ползвам тези пинове в платката.

Автор:  ToHu [ Вто Дек 13, 2022 7:21 am ]
Заглавие:  Re: Проблем с PIC16F877A

Дай да видим схема на това нещо, най-вероятно нещо по захранването. Програматора захранва директно процесора а външното минава през стабилизатора ти.

Автор:  ig_ivanov [ Вто Дек 13, 2022 9:08 am ]
Заглавие:  Re: Проблем с PIC16F877A

Шестият пин (този за програмиращото напрежение) на програматора ползва ли се?
На PIC-а РВ3 ползва ли се, защото:

RB3 should not be allowed to float if LVP is enabled. An external pull-down device should be used to default the device to
normal operating mode. If RB3 floats high, the PIC16F87X device will enter Programming mode.

Автор:  cwetalin [ Вто Дек 13, 2022 12:06 pm ]
Заглавие:  Re: Проблем с PIC16F877A

Ето така захранвам. Вместо батерия слагам мрежов адаптер с изход 5 волта, dc/dc с изход 5 волта или директно включвам синия кабел в USB на компютъра. Работи стабилно само когато е с програматора.

Забранен е LVP. Пин B3 не се използва в платката

Прикачени файлове:
Коментар на файл: Така не работи
pic2.jpg
pic2.jpg [ 434.89 KiB | Прегледано 4538 пъти ]
Коментар на файл: Така работи
pic1.jpg
pic1.jpg [ 503.55 KiB | Прегледано 4538 пъти ]

Автор:  al_at [ Вто Дек 13, 2022 1:21 pm ]
Заглавие:  Re: Проблем с PIC16F877A

За проба - запояваш две жички на рейката за програматора и го захранваш само от там с адаптер или повер банка.
Ако работи - най-вероятно има прекъсната маса, която се затваря през някой от защитните диоди на някой от портовете на чипа.
П.С.
Платката изглежда все едно е правена през 80-те години на миналия век.

Автор:  cwetalin [ Вто Дек 13, 2022 1:25 pm ]
Заглавие:  Re: Проблем с PIC16F877A

al_at написа:
За проба - запояваш две жички на рейката за програматора и го захранваш само от там с адаптер или повер банка.
Ако работи - най-вероятно има прекъсната маса, която се затваря през някой от защитните диоди на някой от портовете на чипа.


Това правя. Срязал съм синия USB кабел, запоил съм му 2 пина на рейка и го включвам към кабела на програматора.

Автор:  cwetalin [ Вто Дек 13, 2022 1:33 pm ]
Заглавие:  Re: Проблем с PIC16F877A

Ето, от програматора вземам само Vdd и GND. И работи гадината както си му е реда. Вклювам друго захранване на двата пина на рейката и не иска. Преди това запоявах захранванията на платката и пак не иска.
Вярно ще му търся бачка вече...

Прикачени файлове:
20221213_122952.jpg
20221213_122952.jpg [ 1.67 MiB | Прегледано 4512 пъти ]

Страница 1 от 4 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/