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

Много ама много странен проблем !!!
http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=8127
Страница 1 от 3

Автор:  zaprqn [ Чет Сеп 16, 2010 9:34 pm ]
Заглавие:  Много ама много странен проблем !!!

8O 8O 8O Цял ден днес ми замина и не знам какво е. Схемата е следната: PIC16f916 е свързан с ЕЕПРОМ, с MAX232 към компютър, с един 32768 кварц и със I2C сензор. Сензора е извън платката и е свързан с жички (около 3 см), всичко друго е на платката. Пика тръгва, пише и чете от еепрома, говори двупосочно с компютъра, брои секундите с прекъсване от кварца. Обаче с I2C сензора не иска да говори. Като започне комуникацията и пика зацикля. В кода има изчакване за потвърждение от отсрещната страна, което явно не се получава никога.

И тук идват странностите: ако както е зациклил го ударя с тъпото на отвертката се рестартира и започва да работи нормално. Веднъж тръгне ли си работи всичко докато не го рестартирам. Рестартирам ли го пак зацикля. Единствения начин да го накарам да тръгне е да го прасна с нещо и си работи уж надеждно, но искам да разбера защо така става.
Проверих опроводяването над 20 пъти с мултицета и е добре. Всяка спойка я минах с поялника поне по 3 пъти (и говоря не само за връзката със сензора ами всички крачета на ПИКА, всички на ЕЕПРОМА, кондензаторите и вс. друго което има по платката и си работи. Напрежение до сензора стига. Това същото работеше преди месец със същия код без грешка. Сега пак работи с този код, но само след удар с отвертка. Проверявах всяко краче на пика за късо със всичко по платката - няма.
И сега седя и се чудя: от кода да е - не е, преди работеше с него, и сега работи след удар. От сензора да е - не е. Като прасна пика по кратуната сензора не трепва с милиметър даже щото не е на тази платка.

За съжаление в момента нямам нито програматор нито дебъгер да видя какво става, но съм почти 100% сигурен къде спира кода. Някой има ли представа какво може да бъде?

Автор:  Dimitar [ Чет Сеп 16, 2010 9:47 pm ]
Заглавие: 

Като има такива грижи е добре да се пускат схемите и кода - ние не сме баба Ванга да гадаем дали има някакви грижи по свързването и/или в кода :D .

Автор:  zaprqn [ Чет Сеп 16, 2010 10:04 pm ]
Заглавие: 

Лошо. Според мен само някой като баба Ванга може да ми помогне. Кода го нямам на този компютър, но е пускан 1000 пъти и работи. И все още работи след удар с отверка =)

B0=SDA B1=SCK

Прикачени файлове:
shemata.JPG
shemata.JPG [ 67.9 KiB | Прегледано 2636 пъти ]

Автор:  bongo_x2 [ Чет Сеп 16, 2010 10:05 pm ]
Заглавие: 

Ако е от кода: дебъгва се с 10кг чук.
Кварца смени ли го 2-3 пъти? Ами пика?

Автор:  zaprqn [ Чет Сеп 16, 2010 10:09 pm ]
Заглавие: 

Пика си ползва вътрешния генератор. RTC кварца го сменях. В момента е без такъв кварц но и с него същото.

Автор:  Dimitar [ Чет Сеп 16, 2010 10:22 pm ]
Заглавие: 

Къде е вързан сензора, дето не работел?

ПП. Сега видях, че е на B0 и B1. Ти пробва ли и там да сложеш пул-ъп резистори или поне да разрешиш вътрешните на пика :) ?

Автор:  zaprqn [ Чет Сеп 16, 2010 10:24 pm ]
Заглавие: 

на B0 e data a на B1 clock

Автор:  bongo_x2 [ Чет Сеп 16, 2010 10:27 pm ]
Заглавие: 

Ся, аз не съм голям майстор по новата техника но от ремонти поназнайвам.
Ти на пик купен в България и на китайска обувка купена от циганин вяра имаш ли?

Обаче доколкото разбирам платката ти е експериментална, постарай се поне кондензаторите на захранването на пика да са поне 100 нФ и 10 мкФ и максимално близко до крачетата. И смени ресетващата верига.
На мен ми мирише на кофти фронтове или смущения, може и захранването да кляка. Иначе - нова платка.

Едит: аз схемата не я погледнах пък то много се изписало :oops:

Автор:  Dimitar [ Чет Сеп 16, 2010 10:29 pm ]
Заглавие: 

Бонго, стига си дрънкал глупости - пиковете в БГ са същите и като тези в твоя Занзибар и тези тук при мен. Баба Ванга казва, че "повредата" най-вероятно е в липсващите пул-ъп резистори на сензора. Софтуерно i2c не се прави без резисторите и затова след удар с отверка тръгва :) .

Автор:  bongo_x2 [ Чет Сеп 16, 2010 10:30 pm ]
Заглавие: 

Димитре, направих едит по-горе. Колкото за еднаквото качество - :butthead:

Автор:  Dimitar [ Чет Сеп 16, 2010 10:32 pm ]
Заглавие: 

bongo_x2 написа:
Колкото за еднаквото качество - :butthead:

Колко устройства с пикове си проектирал, та ги разбираш кой с какво качество е :? ?

Автор:  bongo_x2 [ Чет Сеп 16, 2010 10:40 pm ]
Заглавие: 

Димитре, отдавна се каня да пусна пик да мига светодиод и все още не ми е останало време. Обаче подготовката си я имам - що постове съм изчел...
Айде да не оспамваме темата!

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

Автор:  zaprqn [ Чет Сеп 16, 2010 10:41 pm ]
Заглавие: 

Както си и знаех цял ден ще го бъхтя и като питам за помощ сам ще видя проблема.
Първо проблема не е в пулъпите, щото ги има.
Второ установих че пипане на крачето на MCLR-a с метален предмет всъщност рестартира пика и всичко тръгва.
А и трето прочетох даташета на сензора и установих, че му трябват 10 милисекунди откакто му се подаде напрежение, докато се разсъни, а кода на пика праща инициализиращи команди още в началото на програмата. Най-вероятно извънземни НЕ съществуват, а просто сензора не си вижда инициализацията. След пипане на MCLR или шамар по ПИК-а само той се рестартира. Напрежението на сензора си стои. След рестарт на пика той пак праща инициализацията, след което всичко работи. Правдоподобно ми звучи, сега ще пробвам да ги паля едно по едно и да видя.

Автор:  bongo_x2 [ Чет Сеп 16, 2010 10:51 pm ]
Заглавие: 

Баба ми казваше, че на вълкът му е дебел врата защото сам си върши работата =D>
Въпреки всичко мен много би ме притеснил рестарта при механично въздействие или вкарана електростатика - калпава платка се оказа.

Автор:  ToHu [ Чет Сеп 16, 2010 10:53 pm ]
Заглавие: 

Ами аз ако не слагам външен чип, тоя ресет го забучват през не повече от 1-2 к към +, ползвай вътрешната ресет схема.

Това с разсънването на пика нещо не звучикато свят, какво начи да се разсъни, щом е стигнал до часта която инициализира, значи всичко му е наред, трябва да е достатъчно буден, от години не си играя с тях, ама нямам спомен I2C да е някакво по-капризно. А иначе за пълъпите, като казваш че ги има какво знчи, че полваш вътрешните, или си ги монтирал но не си ги рисувал.

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