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.
Nachtrag: Die Platine wurde von einem Platinenhersteller angefertigt,
ist also kein Testaufbau auf Lochraster ;) SMD mag ich nicht auf
Lochraster bauen ^^
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
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.
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.
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
Ü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
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.
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)
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.
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
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.
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
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.
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.
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