ATmega32, zakłócenia z PWM wchodzące na INT2

Witam uprzejmie,

formatting link
Na wejście PB2 (INT2, wyzwalanie zboczem opadającym) wchodzi sygnał taki, jak na rysunku. Z kolei PB3 to wyjście PWM-a. Sporadycznie zdarza się tak, że gdy zbocze opadające impulsu PWM-a (a być może cały impuls -- nie wiem tego jeszcze) nałoży się na zbocze narastające sygnału wchodzącego na PB2 (zmiana z logicznego zera na jedynkę), to potrafi wyzwolić się program obsługi przerwania INT2. Mimo tego, że normalnie wyzwalany jest on tylko zboczem opadającym na PB2. Gdy wyłączę PWM w ogóle albo pozostaje on włączone, ale jego impulsy tak się ułożą, że omijają zbocze narastające sygnału podawanego na PB2, to wszystko działa poprawnie. No i prośba o jakieś porady, jak zdiagnozować, co poprawić. Dziękuję.

Robbo

Reply to
Robbo
Loading thread data ...

witam. Niestety nie pomoge, ale tylko potwierdze, ze mialem podobny przypadek w at90pwm3 dalem sobie spokój z szukaniem dokladnej przyczny i lekarstwa i ograniczylem sie do sprawdzania stanu pinu w procedurze obslugi int0. (wykrywanie czy jestesmy na wlasciwym zboczu) (bo u mnie bylo int0, i akurat piny wyjsciowe pwm umieszczone fizycznie daleko od pinu int0 i nie powiazałem tego z pwm'e akurat, szczerze mowiac pomyslalem sobie ze to jakis nieudokumentowany bug) pozdrawiam. m.

Użytkownik "Robbo" snipped-for-privacy@gmail.com napisał w wiadomości news:517ff397$0$1225$ snipped-for-privacy@news.neostrada.pl...

Reply to
michal

Wygiąłem nóżkę PB3 (od PWM-a) w ten sposób, że nie ma połączenia z płytką drukowaną. Problem nadal występuje.

Reply to
Robbo

W dniu 30-04-2013 19:58, Robbo pisze:

Może zwyczajnie nóżka INT2 łapie zakłócenia. Co tam jest podłączone? Jesteś w stanie na próbę zmniejszyć rezystancję wejściową tej końcówki? A może coś przez zasilanie idzie?

Reply to
szod

W dniu 30.04.2013 19:58, Robbo pisze:

I jeśli nadal na tej nóżce masz sygnał PWM to właśnie stworzyłeś piękną antenę, która teraz dopiero będzie siać po wszystkim. Podstawowa zasada w technice cyfrowej to NIE zostawiać żadnych wiszących w powietrzu wyprowadzeń, tym bardziej takich z sygnałami szybkozmiennymi. Może pochwal się nam schematem co tam jest do tego uC podłączane i w jaki sposób, będzie zdecydowanie łatwiej coś wymyślić.

Reply to
Jakub Rakus

W dniu 2013-04-30 18:38, Robbo pisze:

...

Poprawić prowadzenie masy i zasilania, poprawić rozmieszczenie kondensatorów blokujących zasilanie, dodać ferryt szeregowo z zasilaniem (z odpowiedniej strony oczywiście), zmniejszyć wartość pull-upa/pull-downa na wejściu i umieścić go tak blisko procesora, jak to możliwe, rozdzielić jak się da najbardziej ścieżki obu linii. Programowo - w procedurze obsługi przerwania sprawdzać, czy impuls wyzwalający trwa dostatecznie długo i ma właściwą polaryzację. W skrajnym wypadku można jeszcze dodać ferryt na wejściu, ale to już trzeba byłoby się dobrze nad tym zastanowić. Na początek spróbuj przemyśleć rozpływ prądów, co z tego może wynikać i jak zneutralizować skutki np długich doprowadzeń dodających indukcyjność w zasilaniu oraz robiących za antenę na wejściach i wyjściach. Bez obejrzenia schematu i płytki mniej więcej tyle można na ten temat powiedzieć. Dobrze byłoby zobaczyć w szczegółach jak wygląda zbocze i jak duże są przerzuty napięć.

Pozdrawiam

DD

Reply to
Dariusz Dorochowicz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.