Отговори на тема  [ 46 мнения ]  Отиди на страница 1, 2, 3, 4  Следваща
Проблем с PIC16F877A 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

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


Пон Дек 12, 2022 8:23 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Проблем с PIC16F877A
шаманство, някоя баба да му бая ....
сега сериозно, не че не разбрах но да е сигурно, закачаш на програматора, програмираш пускаш захранване и то предава данни и си ги предава както трябва неограничено време.
След това разскачаш от програматора, захранваш външно и започва да предава данни на пресекулки ?
Това за watchdoga предполагаш че това става или си сигурен, т.е. имаш някъде лог, или дебъг или нещо друго ?
Ако захраниш от прогаматора и то работи нормално, и след това му спреш захранването пак от програматора, и пак го пуснеш от програматора продължава ли да работи нормално ?
Ако не го пускаш от програматора, само го запишеш, и след това го пуснеш от външно захранване започва ли да предава нормално първия път или не ?
Всичко това звучи странно но има едно логично обяснение ако не си писал ти фърмуера, някой педал който го е писал ти е сложил куркапан за да може да го потърсиш и да вземе някой екстра лев .... познавам няколко такива индивида и всеки път като ги срещна ми се иска да им счупя по нещо.


Пон Дек 12, 2022 8:33 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 9:14 am
Мнения: 5298
Мнение Re: Проблем с PIC16F877A
Ако приемем че софтуера е стар и е работил вече години, и не е имало някакви промени в него, значи работата отива към желязото...

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

_________________
'просто' е технически синоним на 'красиво'


Пон Дек 12, 2022 10:59 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Проблем с PIC16F877A
Аз доколкото разбирам той е наситил сега втората платка, или аз нещо не съм разбрал ?


Пон Дек 12, 2022 11:09 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Ное 08, 2005 4:26 pm
Мнения: 17
Мнение Re: Проблем с PIC16F877A
ToHu написа:
шаманство, някоя баба да му бая ....
сега сериозно, не че не разбрах но да е сигурно, закачаш на програматора, програмираш пускаш захранване и то предава данни и си ги предава както трябва неограничено време.
След това разскачаш от програматора, захранваш външно и започва да предава данни на пресекулки ?
Това за watchdoga предполагаш че това става или си сигурен, т.е. имаш някъде лог, или дебъг или нещо друго ?
Ако захраниш от прогаматора и то работи нормално, и след това му спреш захранването пак от програматора, и пак го пуснеш от програматора продължава ли да работи нормално ?
Ако не го пускаш от програматора, само го запишеш, и след това го пуснеш от външно захранване започва ли да предава нормално първия път или не ?
Всичко това звучи странно но има едно логично обяснение ако не си писал ти фърмуера, някой педал който го е писал ти е сложил куркапан за да може да го потърсиш и да вземе някой екстра лев .... познавам няколко такива индивида и всеки път като ги срещна ми се иска да им счупя по нещо.


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


Пон Дек 12, 2022 11:53 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Ное 08, 2005 4:26 pm
Мнения: 17
Мнение Re: Проблем с PIC16F877A
Н'бабане Гт'муан'га написа:
Ако приемем че софтуера е стар и е работил вече години, и не е имало някакви промени в него, значи работата отива към желязото...

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


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


Вто Дек 13, 2022 12:00 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Ное 08, 2005 4:26 pm
Мнения: 17
Мнение Re: Проблем с PIC16F877A
ToHu написа:
Аз доколкото разбирам той е наситил сега втората платка, или аз нещо не съм разбрал ?

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


Вто Дек 13, 2022 12:03 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Проблем с PIC16F877A
Ясно, борим проблем а не капан.
Значи основната разлика като си на програматор е ресет пина ти, но пък не мога да да направя връзката ресет пин - куче ...
Ако е закачен на програматора но захранваш от външно захранване пак така ли става ?


Вто Дек 13, 2022 12:18 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Ное 08, 2005 4:26 pm
Мнения: 17
Мнение Re: Проблем с PIC16F877A
ToHu написа:
Ясно, борим проблем а не капан.
Значи основната разлика като си на програматор е ресет пина ти, но пък не мога да да направя връзката ресет пин - куче ...
Ако е закачен на програматора но захранваш от външно захранване пак така ли става ?

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


Вто Дек 13, 2022 12:28 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Проблем с PIC16F877A
Дай да видим схема на това нещо, най-вероятно нещо по захранването. Програматора захранва директно процесора а външното минава през стабилизатора ти.


Вто Дек 13, 2022 7:21 am
Профил
Ранг: Професионалист
Ранг: Професионалист
Аватар

Регистриран на: Съб Май 21, 2016 9:47 pm
Мнения: 577
Местоположение: Бургас
Мнение 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.


Вто Дек 13, 2022 9:08 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Ное 08, 2005 4:26 pm
Мнения: 17
Мнение Re: Проблем с PIC16F877A
Ето така захранвам. Вместо батерия слагам мрежов адаптер с изход 5 волта, dc/dc с изход 5 волта или директно включвам синия кабел в USB на компютъра. Работи стабилно само когато е с програматора.

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


Прикачени файлове:
Коментар на файл: Така не работи
pic2.jpg
pic2.jpg [ 434.89 KiB | Прегледано 4501 пъти ]
Коментар на файл: Така работи
pic1.jpg
pic1.jpg [ 503.55 KiB | Прегледано 4501 пъти ]
Вто Дек 13, 2022 12:06 pm
Профил
Online
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Апр 13, 2018 4:00 pm
Мнения: 1622
Местоположение: София
Мнение Re: Проблем с PIC16F877A
За проба - запояваш две жички на рейката за програматора и го захранваш само от там с адаптер или повер банка.
Ако работи - най-вероятно има прекъсната маса, която се затваря през някой от защитните диоди на някой от портовете на чипа.
П.С.
Платката изглежда все едно е правена през 80-те години на миналия век.


Вто Дек 13, 2022 1:21 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Ное 08, 2005 4:26 pm
Мнения: 17
Мнение Re: Проблем с PIC16F877A
al_at написа:
За проба - запояваш две жички на рейката за програматора и го захранваш само от там с адаптер или повер банка.
Ако работи - най-вероятно има прекъсната маса, която се затваря през някой от защитните диоди на някой от портовете на чипа.


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


Вто Дек 13, 2022 1:25 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Ное 08, 2005 4:26 pm
Мнения: 17
Мнение Re: Проблем с PIC16F877A
Ето, от програматора вземам само Vdd и GND. И работи гадината както си му е реда. Вклювам друго захранване на двата пина на рейката и не иска. Преди това запоявах захранванията на платката и пак не иска.
Вярно ще му търся бачка вече...


Прикачени файлове:
20221213_122952.jpg
20221213_122952.jpg [ 1.67 MiB | Прегледано 4475 пъти ]
Вто Дек 13, 2022 1:33 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 46 мнения ]  Отиди на страница 1, 2, 3, 4  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни