Forum: Mikrocontroller und Digitale Elektronik AVR Seriell - mal etwas anderes


von T. (Gast)


Lesenswert?

Hallo Forum.

Ich habe (mal wieder) eine kleine Schaltung gebastelt. Diese enthält 
neben
einer mega32 MCU auch einen MAX3232, dieser wird von 4 Tantal-Elkos 
(wegen
Baugrösse) "unterstützt". Die Betriebsspannung ist 4V (per LM2576), weil
ein GSM-Modem mit dieser Spannung verbaut ist und ohne Pegelwandler 
betrieben
werden soll.

Die Schaltung ist fertig, die Firmware programmiert, ich habe also 
einmal
eine Software-UART für das GSM-Modem, eine Software-UART für "COM1" und 
die
USART vom mega32 für "COM2".

Mein Problem fing damit an, das die Firmware fertig war, aufgespielt, 
und
ich den ISP-Adapter (FTDI, mega8, STK500-kompatibel) abgezogen habe. 
Damit
hier die 5V vm USB nicht in die Schaltung einwirken, war der VCC-Pin 
nicht
durchkontaktiert.

Ich bemerkte: Huch, die Kommunikation auf den COM-Ausgängen ist nicht 
mehr
vorhanden. Weder die Einschaltmeldung auf dem einen Port noch die 
zyklische
Ausgabe auf dem anderen Port funktionierten noch. Die Kommunikation 
zwischen
MCU und GSM-Modem funktionierte allerdings, praktisch die gesamte 
Firmware
läuft ordnungsgemäss ab. Nur "sehe" ich nichts davon auf den seriellen 
Ports.

Stecke ich den ISP-Adapter wieder an, habe ich auf beiden seriellen 
Schnitt-
stellen wieder genau das, was ich haben will.

* OK, da holt sich der PC den Massebezug übers USB, weil die GND-Leitung
vom seriellen PC-Port unterbrochen ist? ..
- Leider nein - der Port funktioniert, mit demselben Kabel ein anderes
serielles Gerät angeschlossen (ein altes Analogmodem ^^) ergab kein 
Problem
mit dem PC-COM-Port oder dem Kabel bis auf die Arbeitsplatte.

* Die Tantals haben "nur" 16V - hab ich die unterdimensioniert?
- Andere Schaltungen, die mangels Platz auch mit 3216 Tantals versehen
wurden und mit 5V arbeiten, funktionieren, was sollte hier anders sein?

* Tantals falsch rum?
- Nein, habe ich natürlich nochmal dreimal gecheckt, sowohl im 
Schaltplan
als auch auf der Platine.

* MAX3232 tot?
- Wenn der ISP steckt, funktioniert der bei 115k2 und bei 9k6 wunderbar.

Ich habe testweise nur die GND-Leitung vom ISP-Adapter verbunden, um mal
MISO/MOSI/CLK/RESET auszuschliessen - ich muss diese GND-Leitung 
anschliessen. Wenn ich einen Laptop danebenstelle, muss auch hier so ein
Verhau gemacht werden. Logischerweise war nur geplant, das ein PC oder
Tablet-PC an eine der seriellen Schnittstellen kommt, nicht noch ne 
einzelne Litze.

Morgen kommt ein neuer MAX3232 an (habe ne handvoll 232, aber die sind
ja m.W. erst ab 5V funktional), vielleicht hat der vorhandene nen 
Teildefekt..

Der langen Rede kurzer Sinn: Ich habe schon mehr als eine Schaltung ent-
worfen und erfolgreich aufgebaut, auch mit MAX232 und MAX3232 .. dieses
Mal aber scheint irgendwas nicht zu passen, und ich komme einfach nicht
auf den Fehler.

Kann es sein, das die Tantals Schuld sind? (andere Schaltungen 
funktionieren schon Jahre, nur diesmal nicht)

Gibt es irgendein bekanntes Phänomen, das mir auch google nicht 
offenbarte,
was eine (echte) serielle Schnittstelle am PC und ein USB-AVRISP-Adapter
unvereinbar macht zur Entwicklungszeit?

Grüsse vom Schreibtisch,
T.

von T. (Gast)


Lesenswert?

Nachtrag: Die Platine wurde von einem Platinenhersteller angefertigt, 
ist also kein Testaufbau auf Lochraster ;) SMD mag ich nicht auf 
Lochraster bauen ^^

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Beim Max3232 gibt es ein paar Besonderheiten bei der Wahl der 
Kondensatoren. Das hängt von der Betriebsspannung ab. Bei größerer 
Spannung müssen größere Kondensatoren dran. Steht aber im Datenblatt.

Warum eigentlich Tantals? 100 n bekommt man doch als winzige 
Keramikkondensatoren? Damit hatte ich noch nie Probleme bei den Max3232.

Vielleicht ist es ein Masseproblem, so dass der Max3232 nur mit der 
Masse vom PC läuft, die über den ISP-Stecker kommt. Eventuell ein 
defektes Via?

Ich würde das einfach mal alles durchmessen, auch professionelle Karten 
können Fehler haben.

Grüße,

Peter

von T. (Gast)


Lesenswert?

Hallo..

Ich habe es gerade sogar noch einschränken können.

Nur die Richtung "meine Schaltung -> Terminal" funktioniert nicht.
Ich habe gerade ohne ISP-Adapter die Login-Prozedur "blind getippt",
dann den ISP-Stecker aufgesetzt und eine Taste gedrückt - es kam das
Menü, das nur nach dem erfolgreichen Einloggen erscheint.

Wenn 100n kein Problem sind, tausche ich die mal auf Verdacht, müsste
ja von den Pads her einigermassen passen g

Bei der Wahl der Kapazität hatte ich mich schon ans Datenblatt gehalten,
ich ging davon aus, das zwingend (wie im DB steht) gepolte C's nötig
wären, und da sind die nunmal die kleinste Bauform. In anderen 
Schaltungen
(bis auf eine) kam es nie so auf den Platz an, da sind normale Elkos 
drin,
nur hier brauchte ich jeden mm Platz ..

Defektes Via kann ich soweit ausschliessen, das der MAX3232 seine Masse
bekommt, zumindest per Widerstandsmessung gegen GND ist sowohl der MAX
als auch der PIN5 ok.

Mich verwundert derzeit stark, das nur der von der Schaltung ausgehende
Teil nicht funktioniert. Naja, werde mal heut mittag die C's tauschen
und beten ...

Gruss,
T.

von Peter (Gast)


Lesenswert?

mal mit dem scope nachgeguckt wie hoch die ausgangspegel sind ?

von T. (Gast)


Angehängte Dateien:

Lesenswert?

So...

Also, die Pegel.. alles bezogen auf den jeweiligen Pin5 / GND

Aus dem RS232-Kabel vom PC kommen
* Pin 2 0V
* Pin 3 -12V

Aus dem seriellen Port der Schaltung kommen
* Pin 2 -8V
* Pin 3 0V

Soweit richtig, wenn mich nicht alles täuscht.. doch dann geht's los.

Verbinde ich PC mit Schaltung, messe ich an den "gemeinsamen" Pins:
* Pin 2 8V
* Pin 3 -2.3V

Gebe ich nun Spannung auf die Schaltung, erhalte ich
* Pin 2 -5V
* Pin 3 -14V

Wenn ich über einen Adapter nur in Pin 5 und Pin 2 verbinde, erhalte
ich am Pin 2 -8V (wie auch im "Leerlauf", also Schaltung nur mit 
Spannung
versorgt)..

Im Anhang mal die eigentlich ziemlich simple Schaltung...

Ich finde den Fehler einfach nicht. Zwischendurch habe ich nun schon den
MAX3232 durch einen 232 getauscht und die Spannung erhöht, nur möchte 
ich
auf Dauer das GSM-Modem nicht an seiner oberen Spannungsgrenze 
betreiben,
daher der 3232 ..

Gruss,
T.

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Der Max3232 sollte auf der Versorgung einen 100n Blocker bekommen. Gibt 
es den, ich kann ihn im Plan nicht sehen - ich kann die ganze Versorgung 
davon nicht sehen (hidden Pins).

Ohne Vcc Blocker macht der Max Ärger, da fließt ziemlich viel Strom mit 
hoher Flankensteilheit durch die Ladungspumpe.

Grüße,

Peter

von T. (Gast)


Lesenswert?

IC3P und C16 (links neben der LED) ...

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Übersehen...
Ja, dann wirds nicht an der Schaltung liegen, genau so mach ich das auch 
immer. Bei langen Kabeln hab ich noch zusätzlich Suppressordioden direkt 
an der Buchse. Das würde das hier genannte Problem aber wohl kaum 
verändern.

Schlechte Kabel oder Stecker?
Eventuell ein falsches Kabel (Pin 5 nicht auf Pin 5)?
Eventuell potentialfreie serielle Schnittstelle und die Schaltung hat 
ohne Erde ein ESD-Problem (Erde gibts nur vom Programmierkabel)?

Mehr fällt mir auch nicht ein.

Vielleicht mal die Masse der Schaltung gegen echte Erde 
oszilloskopieren...

Grüße,

Peter

von T. (Gast)


Lesenswert?

Salut..
Ich tausche ja nur die Schaltungen, ein Pocsag-dekoder funktioniert, um 
nur ein Beispiel
zu nennen. Ich habe testweise einen weiteren Ftdi anstelle der echten 
seriellen amPC ge-
testet. Ohne Erfolg. Ein "e-test" ergab auch keine falschen 
verbindungen.

Mich verwundert, das ich das Signal vom PC zur Schaltung ohne isp 
duchgeht,
aber eigentlich genau diese Leitung das Problem ist. Lasse ich die weg, 
kriege
ich sogar schon die Einschaltmeldung...

Verdammt komisch...

Gruss, T.

von Flo (Gast)


Lesenswert?

Schau mal nach, ob deine Version des Max232 auch mit 4 Volt 
zurechtkommt, die TTL-Variante braucht nämlich mindestens 5 Volt.
Ansonsten könnt vlt die Polung des ELkos für die Tx-Ladungspumpe 
verkehrtrum sein? (würd die einseitige Verbindung erklären)

von Datasheet (Gast)


Lesenswert?

T. schrieb:
> * Tantals falsch rum?
> - Nein, habe ich natürlich nochmal dreimal gecheckt, sowohl im
> Schaltplan
> als auch auf der Platine.

Dir ist bewusst, dass bei den Tantals die Anode mit einem Strich 
markiert ist und nicht wie bei normalen Elkos die Kathose?

Ich frag nur, weil bei mir auch mal weißer Rauch aufgestiegen ist 
deswegen.

von Peter D. (peda)


Lesenswert?

T. schrieb:
> Verbinde ich PC mit Schaltung, messe ich an den "gemeinsamen" Pins:
> * Pin 2 8V
> * Pin 3 -2.3V
>
> Gebe ich nun Spannung auf die Schaltung, erhalte ich
> * Pin 2 -5V
> * Pin 3 -14V

Dann hast Du definitiv eine unterbrochene Masse.


Peter

von T. (Gast)


Lesenswert?

Salut..

Ja, das bei Tantals der Strich "+" ist, weiss ich ;)

Das es sich wohl um ein Masse-Problem handeln muss, weiss ich ja auch 
schon,
nur finde ich den Fehler einfach nicht - alles hat seine richtige Masse,
wenn ich an einem Punkt das Messgerät ansetze und alle in Frage 
kommenden
Punkte abteste, habe ich Durchgang.

Sowohl der MAX 232 als auch der 3232 produzieren den Fehler, der 
verwendete
MAX 232 funktioniert ab 4.5V, was auch gleichzeitig das Maximum für das
GSM-Modem ist (laut dessen Datenblatt). Die Ladungspumpen "im Leerlauf"
liefern ja auch +8V bzw. -8V - erst wenn der PC dranhängt, bricht alles
zusammen. (Egal, welcher PC, auch ein zweiter, 200 MHz uralt-Laptop, 
will
nicht so wie ich es mir denke..)

Naja, ich werde nun nochmal die Entlötstation einsetzen, sowohl die 
Tantals
als auch den MAX232 runternehmen, und mal nen externen MAX232 - der hier 
noch
auf Lochraster aus grauer Vorzeit rumliegt - mit ein paar Z-Dioden 
versehen
(jaja, ich weiss, Frevel ^^) und schauen, was bei rauskommt. Vielleicht 
hab
ich ja doch irgendwo beim Löten Mist gebaut und nen Via getötet oder nur
kontaktiert, wo kein Kontakt sein soll..

Das ganze ist zum ....verrücktwerden.... solange der ISP-Stecker steckt,
funktioniert die Schaltung wunderbar, sobald ein angeschlossener 
Funkmelde-
empfänger seine Meldung abgibt, wird die SMS versendet.. auf der anderen
Schnittstelle kann man das System konfigurieren und den Meldeempfänger
programmieren, ohne ihn vom Gerät trennen zu müssen. Aber ich will nicht
den ISP-Stecker dranlassen müssen, sondern das Teil soll irgendwo "in 
der
Ecke" funktionieren :-D

So long,
 T.

von Andreas F. (aferber)


Lesenswert?

Als schnellen Test könntest du auch mal versuchsweise die RS232-Masse 
mit der ISP-Masse brücken. Wenn es dann geht, hast du in der Tat 
irgendwo eine Unterbrechung in der Masse, die bei gleichzeitigem 
Anschluss von ISP und RS232 dann auf dem Umweg über den Rechner 
überbrückt wird.

Dass du im abgesteckten Zustand die korrekten Spannungen misst, muss 
übrigens nichts bedeuten, es könnte durch die Hintertür über 
irgendwelche Pulldown-Widerstände oder so noch eine Verbindung bestehen, 
so dass im unbelasteten Zustand alles normal aussieht, sobald aber 
Last da ist, hast du erheblichen Spannungsabfall am Widerstand, wodurch 
sich dann deine gemessenen Spannungen verschieben.

Andreas

Edit: zweiten Absatz eingefügt

von T. (Gast)


Lesenswert?

So, ich habs erstmal geschafft.. nicht das Problem zu lösen, sondern
die Platine zu vernichten.. das GSM-Modem wird nur noch warm, sendet
nicht, die Kommunikation geht gar nicht mehr, nur die Betriebsspannung 
ist
noch stabil am eingestellten Wert.

Ob ich das Problem also jemals lösen werde ? Da ich eh ne neue Platine
herstellen (lassen) muss, mache ich es nun mit 2 Spannungen und mit
Pegelanpassung auf der GSM-Schnittstelle, dann hab ich meine 5V für MCU
und MAX232, und gut ist.

Danke für die Hilfe, leider werden wir vmtl. nicht mehr erfahren, was
es wirklich war - ich schätze einfach mal, das man aus den paar Volt
einfach die Ladungspumpen überlastet und deshalb alles zusammenbricht.

Gruss,
T.

von T. (Gast)


Angehängte Dateien:

Lesenswert?

Das da habe ich eben aus dem PC geholt - also war fehlende Masse
auf jeden Fall AUCH ein Problem .. klar, das es dann nicht geht..

Leider habe ich keine Ahnung, ob das ein akutes oder altes Problem
war .. deutlich erkennbar sind zwei Brandstellen, die dritte ist
auf der Unterseite des Kabels.. die gesamte Isolierung ist aufgequollen
an der Einzelader, das Kupfer an mehreren Stellen unterbrochen..

Kleines Bild zum Sonntag quasi ..

Gruss,
T.

von oyla (Gast)


Lesenswert?

Ich möchte den Beitrag mal ebend noch herauskramen, vielleicht 
stellvertretend für 2-3 andere die das Problem auch haben ;)

In meinem Fall ein FT232RL kein MAX232, sofern das ISP Kabel steckt, 
sendet meine Schaltung (ein AVR) diverse Buchstaben. Sofern das Kabel 
gezogen ist, empfängt der mC nurnoch und führt die Befehle aus, sagt 
aber dem Terminal nichts mehr.

Hinweis:
es handelt sich um http://www.watterott.com/de/FTDI-Basic-Breakout-5V 
dieses Modul, Schaltung läuft über 5V (4,98V aber naja...), der GND und 
5V sind offen, der mC hat eine eigene Spannungsversorgung, sie sind auf 
keine Weise miteinander verbunden, außer über TxD und RxD.


Ich vermute, dass es der selbe Fehler ist, habe aber nicht ganz 
verstanden was im obrigen Fehlerhaft ist bzw. war...

Gruss oyla

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
Noch kein Account? Hier anmelden.