Hallo, ich habe ein ziemliches Problem. Baue gerade an einer etwas Komplexeren LED-Beleuchtung bei der insgesamt 38 ATmega8 verwendet werden. Ich hatte mir Anfangs ein paar Testplatinen aufgebaut, und da es dabei keine Probleme gab habe ich dann das entgültige Layout als 60cm lange streifen fertigen lassen. Jetzt habe ich die ersten 10 Platinen bestückt und 5 defekte Mega8. :-( Den Schaltplan habe ich angehängt. Der UART geht dabei quasi als Ring immer von einem Board zum nächsten weiter, immer Ausgang auf Eingang. Ich kann mir nicht so recht erklären, was die Ursache für die Probleme sein könnte. Ich experimentiere halt noch etwas rum mit den Boards um die Software dafür fertig zu bekommen. Dabei kommt es dann immer mal wieder vor, das plötzlich bei einem Mega8 der TX oder RX Port kaput geht. Da mir Langsam die Reservecontroller ausgehen, muss ich mir irgendwas einfallen lassen. Jemand nen Vorschlag? viele Grüße Aike
Hi, ist schon etwas mutig von Dir, die Portpins direkt und ungeschützt nach aussen zu führen. Durch die parasitäre Induktivität der Leitungen können Spannungs-Spikes entstehen, welche wiederrum deinen Controller beschädigen können. Zudem koppelt eventuell noch das ein odere andere ein... Würde Dir empfehlen, einen Serien-Widerstand in die Leitungen einzubauen. Versuch's mal mit ca. 1k. Zudem könnten kleine, keramische Kapazitäten gegen Masse Spikes kurzschliessen (Bereich 47pF vielleicht). Und wenn du auf Nummer sicher gehen willst, könntest du noch Überspannungs-Schutzelemente einbauen, z.B. Suppressor-Dioden oder CeraDioden. Hoffe, Dir hiermit geholfen zu haben. Gruß ERICH
Du verbindest seriell auf TTL Level? Hast du schon schon mit Serienwiderständen in den RX/TX Leitungen versucht, den Strom in/aus den Ports zu begrenzen? Ich könnte mir vorstellen, das es besonders beim "Hochfahren" Zustände geben kann, bei dem die AVR-Ports gegeneinander kämpfen. Und einer bleibt dann auf der Strecke. Mit Adapterkabeln ist das ja schnell ausprobiert.
Hallo Erich, Hallo Steffan, erstmal Danke für die späte Unterstützung! Ich werde das jetzt erstmal mit dem 1k Serienwiderständen probieren, die habe ich hier und in der tat, mit nem Adapter kein Problem. Ich habe halt versucht so wenig Bauteile wie möglich auf den Boards zu verwenden, damit ich nicht so viel arbeit bei Bestücken habe. Bei meinen Prototypen gabs ja auch nie Probleme. Kann das sein, das die Mega8 im DIP Gehäuse da unempfindlicher sind? vielen Dank und viele Grüße Aike
Ist mir nichts bekannt. Kann ich mir eigentlich auch nicht vorstellen, es sei denn, Atmel hat Dies in verschiedenen Technologien in den unterschiedlichen Packages verbaut...? Viel Erfolg mit deiner Schaltung noch. ...Und ne angenehme Nachtruhe :-) ERICH
Verdammt, ich glaube langsam kapier ich was falsch läuft. Ich habe beim meine Prototypen eigentlich immer einmal eingeschaltet und dann höchstens mal neu Programmiert. Jetzt aktuell entwickel ich einen Bootloader dazu. Beim Testen unterbeche ich die Stromversorgung als reset. Und das dann recht oft. Das könnte erklären, warum ich diese Probleme vorher nicht hatte. Na mal sehen, dann sollte ja der Serienwiderstand helfen...
Mit Erichs Argumenten würden die Widerstände in dem Adapterkabel nicht optimal sitzen. Induktion kann auch erklären, wieso die kurzen Testplatinen liefen und die langen Produktionsplatinen sich was fangen und verrecken. Die Widerstände sollten dann in der Nähe des Ports sein. Vielleicht kannst du die Leiterbahnen in der Nähe der Ports auftrennen und mit SMD Widerständen brücken?
Hallo Auf jeden Fall mal nen 232 Pegelwandler drauf machen um von 5 auf 12V für die RS232 Schnittstelle zu kommen. Wenn's robuster sin soll, mach nen MOV oder ein TVS an die Eingänge der Datenleitungen, aber Achtung, MOV's haben teils ordentliche Kapazitäten. Ringing sollte keine Spannungen produzieren die problematisch sind, aber Du brauchst terminierungen und Transceiver, wenn's über einen Meter ist CAN oder sowas, Differntiell, EMV mäßig besser, .... . Nur passive Sterne und so was sind keine gute Idee, da muss man wissen was man macht. Beim 7805 sehe ich nur kleine Keramische Kondensatoren, das wird nix, da muss Kapazität drauf. um eine saubere Versorgung zu haben. Außerdem an jeden Versorgungspin noch mal keramische Kondensatoren wenn möglich. Und dann eine Verpolusngsschutz ud Überspannungs-Supressor-Diode. Seppel P.S. Dein Schaltlan wirkt etwas unaufgeräumt, mit so was macht man sehr schnell Fehler. Außerdem denk mal über einen CPLD zur Ansteuerung da, die sind dafü recht gut geeignet. Gibt gute Anleitungen für die 72xx Serie von Xilinx, alte CPLD Serie 5V Technik,... . aber für den Anfang ganz nett und haben auch viele Pin's, für die vielleicht sogar ausreichend.
Steckst du die Boards im laufende betrieb zusammen? Sollte nämlich bei Jp2/3 zuerst Vcc + TX bzw TX verbunden werden könnte dir das er AVR übel nehmen.... Warum ist AVCC und AGND nicht angeschlossen?
@Seppel: ich fürchte für die meissten deiner Tipps ist es wohl zu spät, die Boards sind schon produziert. Ich werde jetzt mal bei denen ich ich bisher bestückt habe einen 1k smd Widerstand dazwischen setzen und weiter testen. @Tim: Eigentlich sollten die nicht im laufenden Betrieb umgestöpselt werden, da fest eingebaut. Allerdings fürchte ich habe ich das im Moment schon gemacht, b.z.w. stöpsel ich immer einen Stecker drauf. Nicht auszuschließen, das es auch daran liegt. Sollte da nicht auch der Serienwiderstand helfen? Keine Ahnung, die AVCC und AGND habe ich wohl glatt übersehen. Nun denn, laut DB wird der Portc über AVCC versorgt, aber er funktionert ja trozdem. Muss ich mir da also wirklich gedanken drüber machen? viele Grüße Aike
1k ist nicht schlecht. Bei geringen Baudraten auch gerne 2K. > Sollte da nicht auch der > Serienwiderstand helfen? Ja, der soll den Strom durch die Schutzdioden am Port begrenzen, damit die nicht kaputt gehen und danach der Port durchbrennt. Zusätzlich solltest du das VCC und TX/RX Pin am Stecker so kürzen das erst GND, dann VCC und zuletzt TX/RX verbunden wird (Wenn mechanisch möglich). Wegen Avcc... Ich würde die anklemmen (zuzüglich der 100nF).
Tim wrote: > 1k ist nicht schlecht. > Bei geringen Baudraten auch gerne 2K. Die 1k habe ich jetzt bei ein paar Exemplaren eingebaut. Ach so, meinst du eigentlich jeweils in RX und TX jeweils 1k? Wären dann zusammen ja auch wieder 2k. Im korrekt gesteckten Zustand würde ein R z.B. in der Empfangsleitung ja reichen. Nur wenn man sich mal verstöpselt könnte der dann der TX Port ungeschützt sein. > Zusätzlich solltest du das VCC und TX/RX Pin am Stecker > so kürzen das erst GND, dann VCC und zuletzt TX/RX > verbunden wird (Wenn mechanisch möglich). Das ist leider kaum machbar, dann würden später die Jumper nicht mehr halten. Habe jetzt einen extra Schalter in das Kabel gebaut, ist nicht ganz so sicher, aber immerhin etwas. > Wegen Avcc... > Ich würde die anklemmen (zuzüglich der 100nF). Dann mach mich mich mal auf die Suche, wo ich noch ein Stück Lackdraht ziehen kann. viele Grüße Aike
Hab bei einigen Platinen mit I2C-Erweiterung eine Ferritperle und zusätzlich noch eine Z-Diode 5.6V nach Masse an jedem Portpin. Das bietet eigentlich schon einen guten Schutz.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.