Zakłócenia z Atmela

hm a sproboj sobie zdefiniowac na poczatku programu wszystkie piny na wszystkich portach jako wyjścia o poziomie LOW. i zastanow sie czy być moze sygnał doprowadzany do INT0 nie robi jakiegos zwarcia z zasilaniem lub masa po drodze powinno pomoc

Pozdrawiam Krzysiek

Reply to
invalid unparseable
Loading thread data ...

Jeśli o ATMELE chodzi, zwłaszcza AVR'y, bo niewiem jak to sie ma do serii '51 89xxx, to faktycznie jest tak że są podatne na zakłócenia. Musiałem kiedys zrobic sterownik na atmega32, wszystko pięknie chodziło do póki do sterownika nie podpięte było nic, wystarczyły dwa silniki DC na 12V, które pracują pod dość dużym obciążeniem i procesor zaczoł cuda wyprawiac a juz dokładając tam moduł GSM kompletnie nic nie działało. Pierwsza myśl że to wina złego filtrowania zasilania, jednak nic nie pomagało.

Proponuje się przyglądnąć rodzinie MSP430 z TI, obecnie kończę prototyp powyższego sterownika opartego właśnie na dwóch procesorach MSP430, reszta układu jest identyczna lub bardzo podobna do starego, możliwa liczba źródeł zakłóceń wzrosła kilka razy (dodatkowo 4 silniki + 2 elektromagnesy, GSM osadzony) a procesory pracują stabilnie bez żadnych wybryków. Polecam!

Pozdrawiam Krzysztof

Reply to
invalid unparseable

Cześć! Mam taki problem - do małego Atmela mam do portu wejściowego INT0 przypięte wyjście ze scalonego odbiornika podczerwieni.Wszystko pracuje niby fajnie,program odczytuje kody z pilota i próbuje sterować silnikiem. I tu jest problem - w momencie jak przychodzi sygnał z pilota na niektórych portach Atmela powstaje "kaszka", zakłócenia o pełnej amplitudzie 5V które namierzyłem osccyloskopem (są cały czas jak znienia się stan na INT0).Ponieważ z jednego z takich wyjść steruję mostkiem wlączającym silnik,silnik tylko cicho brzęczał ale ruszyć nie dawał rady. Na szybkiego poradziłem sobie tak,że wyjście z Atmela - czyli wejście do sterowania silnikiem - spiąłem kondensatorem 100n do masy, co wytłumiło zakłócenia na tyle skutecznie,że teraz silnik startuje i stopuje jak trzeba. Ale pozostaje pytanie - co zrobiłem źle,że sieje mi takimi szpilami? W opisach róźnych urządzeń sterowanych Atmelkiem nie znalazłem bodaj cienia ostrzeżenia (nie czuję gdy rymuję:)) na temat takowych zakłóceń.Czy ktoś ma jakiś pogląd na ten temat?

Paweł Piotrowski

Reply to
invalid unparseable

Cholera wie :-) Na serio: Takie szpile, jak sa na wiekszosci/wszystki portach _wyjsciowych_ to sa albo z programu (reset?) albo ze zwierania zasilania. Zwieranie zasilania _moze_ byc przez jakis zly pozioim sygnalu na ktoryms wejsciu (w okolicach 1/2 Vcc). pisze _moze_, bo nie wiem jak w Atmelach sa wejscia zrobione. Co prawda Atmeli nie uzywalem, ale nigdy nie mialem podobnego zjawiska przy procesorze.

Moze po prostu bardzo zly projekt zasilan/mas na plytce? Zapodaj gdzies PDF z plytka, to sie popatrzy (a najlepiej .PCB)

Reply to
jerry1111

nie masz przypadkiem tych wyjść zadeklarowanych jako wejść? miałem podobny problem, gdy zapomniałem wpisać do DDR jedynek. wejścia fruwały sobie radośnie i wszystko wariowało.

w.

Reply to
Wojtek Kaniewski

Użytkownik "Paweł Piotrowski" snipped-for-privacy@op.pl napisał w wiadomości news:bs71gr$o08$ snipped-for-privacy@news.onet.pl...

Niedawno dostalem do oprogramowania i uruchomienia radiomodem, w ktorym glownym procesorem byl wlasnie Atmel... Schudlem pare kilo (zdziwilem sie, ze jeszcze moge ;-) ), wlosy mi sie przerzedzily, mam worki pod oczami i kilku obrazonych badz urazonych kolegow po fachu. Wina byla po czesci po stronie projektanta PCB i ludzie od toru radiowego tez troche nie tak zrobili, ale glownym problemem bylo uodparnianie Atmela na wszystko i przeprojektowanie prawie wszystkiego tak, zeby w zadnym razie mu nie szkodzilo. Niestety nie mialem na tyle duzo do powiedzenia zeby wsadzic tam cos innego (np. PICa). Nie polecam od tej pory Atmeli nikomu, kto chce robic bardziej profesjonalne urzadzenie niz gwiazda na choinke... Po prostu szajs. Taki moj podlad na ten temat. pzdr, marcin

Reply to
marcinuh

Użytkownik "Paweł Piotrowski" snipped-for-privacy@op.pl napisał w wiadomości news:bs71gr$o08$ snipped-for-privacy@news.onet.pl...

Tego typu problemy mialem kiedys poprzez niesynchroniczne modyfikowanie wyjsc z 2 procesow ( petla programu i przerwanie zegarowe ) Sprawdz twoj program czy takie zjawisko nie wystepuje. Od tego czasu przyjolem zalozenie ze kazdemu wyjsciu przypozadkowany jest jeden bit w ram - a proces glowny ( nie przerwanie zegarowe !!! ) po wykonaniu kazdej swojej petli wywolywal procedure przepisania tego bitu do wyjscia fizycznego . Troche to malo efektywne ale w przypadku tworzenia zadan wspolbieznych ( szczegolnie jak wykonywane sa w przerwaniach ) zabezpiecza przed pulsowaniem wyjsc

wogole uwazalbym na odwolywanie sie do podsystemow we/wy z poziomu przerwan - kiedys pislaem duzo na Z80 i byly z tym wieczne problemy

pzdr wojtek

formatting link

Reply to
neuron

A jak inaczej niz w przerwaniach robic przerozne transmisje/sterowania? IMHO inaczej sie nie da. Moze przyjac inne zalozenia co do pisania programu? Tez pisalem kiedys duuuzo na Z80 i nie bylo problemu z dostepem do IO z przerwan. Co najmniej dziwne...

Reply to
jerry1111

On Mon, 22 Dec 2003 18:09:28 +0100, "neuron" snipped-for-privacy@zzzzipnet.com.pl> wrote: [.....]

Trzeba było zaimplementować sobie semafor, muteksa itp. i pewnie nie byłoby problemu.

[.....]

Odwołanie bez zapewnienia jakiegoś mechanizmu synchronizacji do jakiejkolwiek zmiennej przez N wątków z których co najmniej jeden modyfikuje tą zmienną może dać dziwne efekty. I oczywiście da - w najmniej oczekiwanym momencie.

Regards, /J.D.

Reply to
Jan Dubiec

Np. poprzez pooling. :-) Ale przerwania są IMO znacznie lepsze. Aczkolwiek trudniejsze do oprogramowania, tzn. trzeba pamiętać o pewnych subtelnościach. :-)

Regards, /J.D.

Reply to
Jan Dubiec

popieram w 100% , sam mialem niezle jazdy z tymi prockami , tez robilem specjalne jakies wybujane PCB bo sie wszystko kaszanilo a, wez tym steruj jakies styczniki lub silniki pradu stalego , masakra. teraz w produkowanych urzadzeniach caly czas mamy pic'e i pracuja w holernych zakluceniach np. przetwornice i co ciekawe specjalnie ich odklucac nie trzeba. Nie wspomne juz o motywach ktore mial muj koles ze sterownikami rolet na atmelach . Ja osobiscie unikam prockow atmela jak ognia.

Pozdrawiam serdecznie i zycze wesolych swiat

Mariusz K.

Reply to
Mariusz K.

Użytkownik "Krzysztof Gawryś" snipped-for-privacy@o2.pl napisał w wiadomości news:bs7773$kut$ snipped-for-privacy@atlantis.news.tpi.pl...

Z zasilaniem ani masą raczej nie zwieram,bio tym samy oscyloskopem którym namiezryłem szpile na wyjsciach,nie napierzam ich na zasilaniu procka,. Zadam bardzo głupie pytanie (ale naprawdę nie wiem) - jak się definiuje port Atmelka jako wejsciowy lub wyjściowy? Paweł Piotrowski

Reply to
invalid unparseable

Taaa... i miec wolne _godziny_ w procku :-)

Reply to
jerry1111

Uzytkownik "jerry1111" <stop_this_spam_jerry1111 snipped-for-privacy@remove.wp.pl>

napisal w wiadomosci news: snipped-for-privacy@4ax.com...

Poniewaz robilem kiedys duzo sterowan do maszyn - uparlem sie na nanapisanie jezyka (z makrodefinicji) i systemu wielozadaniowego . Pierwotnie wymyslilem sobie ze we/wy reprezentowane beda w tablicy ( jeden system - rozne sterowniki) - na ktorej beda mieszaly zadania a w przerwaniach bedzie to przepisywane do IO niestety - wyjscia potrafily pulsowac. dopiero procedura odczytu do tablicy przed uruchomieniem nowego zadania i zapisu z tablicy po zakonczeniu zadania ( zadania byly napisane w konwencji przyjetej w sterownikach plc - tylko zadanie glowne mialo prawoo sie zapetlac o ile zadbalo o realizacje zadan podrzednych) rozwiazaly mi problem stabilnosci ukladu we/wy. Dzis pisze raczej dla PCtow i PLC - ale problem wspoluzywalnosci peryferiow pozostal - choc w wiekszosci zalatwia mi to winda :)

Tablicowanie we/wy ma jeszcze jedna zalete - to samo oprogramowanie - przy zmianie konwencji zapisu i ok 30% kodu przenioslem ze sterownikow na Z80 na sterowniki oparte na 8051 a jak zrobilem nowe na atmelu to w zasadzie musialem napisac na nowo tylko dwa zestawy procedur- choc sprzetowo ruznily sie baaaardzo. A co do czasu - nie obslugiwalem analogow - mialem go od cholery i ciut ciut nawet na 2MHz :)

pzdr wojtek

formatting link

Reply to
neuron

trudno mi sie wypowiadac na temat nowych prockow -od 5 lat robie na procesorach sporadycznie ale w latach

97 - 99 wyprodukowalem, oprogramowalem i poslalem w swiat okolo 300 sterownikow sterujących maszynami pakujacymi i rozdmuchiwarkami butelek ( plus kilkanascie dziiiwnych wynalazkow) . Sterownikow opartych na 89C51 . - wszystkie na jednostronnych PCB bez zadnych udziwnien. Owszem na etapie projektowania sterownikow - jeszcze na Z80 to mialem problemy jak j. cholera ale odpowiedni filtr zasilania ( zasilania a nie dodatniej linii zasilania) , odpowiednio dobrany uklad resetu i w miare mozliwosci niezawaielkie czestotliwosci taktowania (6MHz) praktyznie rozwiazaly wszelakie problemy. Owszem - milaem kilka maszyn gdzie bez ukladow gaszacych na stycznikach i zaworach dzialy sie jaja - ale i na sterowaniu opartym o simatica raz polozylem sie na zakluceniach. - nie ma regol .

Podsumowując - nie twierdze ze almele sa naj... ale wyzywanie ich od szajsu jest moim zdaniem ciutenke przesadzone. pozdrawiam wojtek

formatting link
PS. Co do jednej zeczy sie zgodze -maja h..owo rozwiazany uklad wyjsc - po wlaczeniu zasilania do czasu startu cpu na wyjsciach moga dziac sie cuda .

Reply to
neuron

Zebys sie nie zdziwil. Kiedys widzialem problem: 16 rs pracujacych z zawrotna 9600, podlaczone do 8080. W szczycie na obsluzenie przerwania masz ~62us, czyli ze 40 rozkazow. Jak dodac ze musialy wisiec 4 porty na przerwaniu to w zasadzie nie ma szans.

A w polingu co 500 us niezle sobie radzil ..

J.

Reply to
J.F.

Wiesz... majac procka na zegar 100MHz, to troche szkoda zasilac go z generatora 6MHz :-) Po prostu niektore procesory sa takie, a niektore inne :-) Jako ze jest duuuzy wybor prockow, to po cholere brac te z problemami, jak mozna wziac te _bez_ problemow? Np: Mam teraz plytke, gdzie procesor chodzi na 80MHz, siedzi bezposrednio na plytce mocy (duzej mocy), zasila sie zaledwie z 1.5V i nie mam zadnych problemow ze zwisami/zakloceniami etc...

Reply to
jerry1111

To robisz proste (czasowo) rzeczy. Ja teraz pilnuje prockiem (oraz FPGA) "zywotnosci" tranzystorow na plytce mocy. Da sie zrobic... tylko trza _dokladnie_ wiedziec jak program _chce_ dzialac :-)

Reply to
jerry1111

9600x16=153600. Tyle, ze trza uzyc FIFO, bo 16 przerwan moze przyjsc w _tej_samej_ chwili. Ot i cala filozofia :-)

Wlasnie po to ludzie sobie FIFO wymyslili...

Reply to
jerry1111

Nie boisz sie ze procek sie zawiesi, albo wystartuje z opoznieniem ? :-)

J.

Reply to
J.F.

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.