Hallo liebe Forengemeinde, ich bin mit meinem Latein am Ende aber vielleicht kann mir der eine oder andere von euch weiterhelfen. Zum Thema: ich bastele eine digitale Anzeige für ein RS232 gebundenes Messmittel (genauer einen Sylvac-kompatiblen Messschieber). Das ganze benötige ich drei mal, für einen x,y,z -Tisch. Zum Aufbau: verwendet wird ein ATMega 16A auf 16MHz in Verbindung mit einem MAX3222. Beides stur nach Datenblatt beschalten (siehe Anhang). Pin PD2 am ATMega wird verwendet um die DTR Leitung zu setzen. Enable und Shutdown werden ebenfalls über den µC gesteuert. Die Versorgungsspannung beträgt rund 5,2V. Zum Problem: eine der vier Platinen funktioniert wie gewünscht. Der Messwert wird auf das Display übertragen. Dafür wird vom µC ein "?\r" an das Messmittel gesendet. Alle anderen Platinen funktionieren nur teilweise. Neuere Messmittel mit einer Spule als Signalgenerator funktionieren einwandfrei. Das Opto-Signal des Messschiebers hingegen macht auf der fallenden Flanke des Rücksignals (RX) Probleme. Nach einem High-Pegel-fällt das Signal laut Oszi nicht steil ab sondern läuft auf einer Kurve aus. Das führt natürlich zu einer Fehlinterpretation des Messergebnisses. Bei einer der vier Platine funktioniert das jedoch zuverlässig mit jedem Messmittel. Nun habe ich natürlich bereits fast alles durchgemessen (mit Oszi und Multimeter). Die Platinen weisen keine signifikanten Unterschiede auf, sowohl Widerstandswerte und Kondensatorwerte sind identisch. Ich habe auch schon einige Anpassungen auf der Platine vorgenommen (Beipässe, Widerstandsanpassungen etc.) aber es hilft alles nichts. Eigentlich sollte das ja auch kein Hexenwerk sein aber ich finde den Fehler einfach nicht. Kennt jemand von euch das Problem oder hat eine Idee wie ich dem ganzen begegen kann? Das einzige was ich denke ausschließen zu können ist der Quelltext im µC. Der macht keine Probleme (mit Nullmodem-Kabel getestet). Vielen Dank für eure Hilfe
Fred schrieb: > Das Opto-Signal des Messschiebers hingegen > macht auf der fallenden Flanke des Rücksignals (RX) Probleme. Nach einem > High-Pegel-fällt das Signal laut Oszi nicht steil ab sondern läuft auf > einer Kurve aus. Klingt nach fehlendem pull-down Widerstand: wenn der Opto-Ausgang einen PNP-Transistor hat, mit open collector, zieht er bei H den Ausgang niederohmig auf das hohe Potential. Bei L wird er nur hochohmig und die Spannung geht nur langsam nach unten, wenn kein pull-down Widerstand vorhanden ist. btw: Wo genau ist das Signal des Sensors in dieser Schaltung angeschlossen bzw. an welchem Punkt der Schaltung ist das beschriebene Signal gemessen worden?
Hallo, wahnsinn schnelle Antwort, danke. Das wichtigste zuerst: gemessen wurde auf der Leitung zwischen R1in des Max bzw.Pin 2 des RS232 Steckers und GND. Also auf der Rück-Leitung. Ich muss zugeben ich dachte/ denke, dass R15 der Pull-Down für diese Leitung ist. Wobei der 5k natürlich normalerweise (jedenfalls bei Maxim) innerhalb des Max verbaut ist. Dieser Stammt von TI.
Was erwartest Du ? Du hast Probleme mit einer optischen Übertragung, zeigst uns aber den betreffenden Schaltungsteil nicht. Du erkennst das eine flach auslaufende abfallende 'Flanke' an Rin ein Problem ist, äußerst Dich aber nicht dazu ob der Lösungsvorschlag funktioniert hat.
Fred schrieb: > Zum Problem: eine der vier Platinen funktioniert wie gewünscht. ... > Alle anderen Platinen funktionieren nur teilweise. Also gut, deutet auf einen Designfehler hin... > Neuere Messmittel mit einer Spule als Signalgenerator funktionieren Mit allen 4 Leiterplatten? Wie sehen die Signale aus? Welche Signalpegel hast du? > Bei einer der vier Platine funktioniert das jedoch zuverlässig mit jedem > Messmittel. Solltest du hier "zuverlässig" nicht eher durch "zum Glück" oder "gerade noch so" ersetzen? BTW: im Schaltplan ist viel zu viel Müll drin. Der ist so kaum lesbar. BTW2: R14 und R15 sind unnötig. Die sind nämlich schon im MAX eingebaut...
:
Bearbeitet durch Moderator
Ich verstehs immer noch nicht. Was ist jetzt mit wem wie verschaltet? An 1 Mega16 hängen 3 Messmittel? Oder wie? Du kannst nicht einfach 3 RS232 Leitungen zusammenschalten!
Fred schrieb: > Schema.png Und was sollen die ganzen grünen Kringel im Schaltplanfetzen. Die verwirren doch nur - hoffentlich nicht auch die Elektronen ;-)
Okay danke für die vielen Antworten. Dann versuche ich jetzt mal auf alle einzugehen: Michael K. schrieb: > Was erwartest Du ? > Du hast Probleme mit einer optischen Übertragung, zeigst uns aber den > betreffenden Schaltungsteil nicht. Ich glaube hier haben wir ein Verständigungsproblem: Ich habe alles gezeigt was ich habe, ein ATMega (Schema.png links) sendet über uart ein "?\r" .. dieses wird über den Max3222 (von TI, Schema.png mitte) gewandelt und seriell über ein RS232 Kabel (fertig vom Hersteller mitgeliefert) an den Messschieber übertragen. Was für ein Schaltungsteil fehlt dir jetzt? Den optischen Teil habe ich natürlich nicht! Sollte ich etwas falsch verstanden haben, wäre ich natürlich für eine Korrektur dankbar. Michael K. schrieb: > Du erkennst das eine flach auslaufende abfallende 'Flanke' an Rin ein > Problem ist, äußerst Dich aber nicht dazu ob der Lösungsvorschlag > funktioniert hat. Ich schrieb in meinem Beitrag kurz danach meine Meinung: "Ich muss zugeben ich dachte/ denke, dass R15 der Pull-Down für diese Leitung ist.". Außerdem habe ich in meinem Ursprungsthread darauf hingewiesen, dass ich bereits einiges an Widerstandsänderungen probiert habe (darunter auch größere Pull Downs). Das habe ich leider versäumt direkt so hinzuschreiben. Lothar M. schrieb: > Mit allen 4 Leiterplatten? > Wie sehen die Signale aus? > Welche Signalpegel hast du? Ja, mit allen vier Leiterplatten. Die Signale sind absolut sauber. Sehr gute Rechtecke mit einem Pegel von max 6V. Und ja, dass mit dem Designfehler befürchte ich auch. Ich kann ihn leider nicht finden. Lothar M. schrieb: > Solltest du hier "zuverlässig" nicht eher durch "zum Glück" oder "gerade > noch so" ersetzen? Auslegungssache ;) Da sie alle absolut unempfindlich gegen Störungen sind habe ich "zuverlässig" genutzt. Auch das Oszi scheint mich zu bestätigen. Wobei natürlich gerade so nicht auszuschliessen ist. Lothar M. schrieb: > BTW: im Schaltplan ist viel zu viel Müll drin. Der ist so kaum lesbar. > BTW2: R14 und R15 sind unnötig. Die sind nämlich schon im MAX > eingebaut... Ja ich bin kein ausgebildeter Elektroniker oder Layouter. Ist mir auch schon aufgefallen, dass das viele besser können. Ich arbeite an Besserung. R14 und R15 sind laut dem Datenblatt von RS (hier habe ich die Dinger gekauft) nötig (wie geschrieben handelt es sich bei dem Max um ein Exemplar von TI und nicht von Maxim). Wobei auch ein Weglassen keinen Unterschied bringt. http://docs-europe.electrocomponents.com/webdocs/0c8b/0900766b80c8bb38.pdf Karl H. schrieb: > Ich verstehs immer noch nicht. > > Was ist jetzt mit wem wie verschaltet? > > An 1 Mega16 hängen 3 Messmittel? > Oder wie? > > Du kannst nicht einfach 3 RS232 Leitungen zusammenschalten! Das verschalten ist hoffentlich durch die obere Antwort klarer geworden. Am RX und TX des ATMega hängt der Max (wie DTR verschalten ist steht oben). An dem wiederum hängt ein Messmittel. Trotzdem vielen Dank für die Antworten. Sollte ich was falsch verstanden haben, gebt bitte Bescheid. Gerade zu dem Thema mit den Pull Downs ;) Es könnte natürlich sein das ich hier einem Fehler aufgesessen bin.
Hallo Fred, Fred schrieb: > Nach einem High-Pegel-fällt das Signal laut Oszi nicht > steil ab sondern läuft auf einer Kurve aus. Wenn der Pull Down falsch dimensioniert sein würde, dann müsste er niederohmiger gemacht werden, statt hochohmiger, damit die Flanke schneller nach GND abfällt. R14 und R15 sind zwar lt. Datenblatt nicht nötig (wie schon angemerkt), aber parallel zu den internen 5k ist das schon mal niederohmiger. Lt. ti-Datenblatt (über Deinen Link) hat auch dieser die internen 5k an den Eingängen. Ist also offensichtlich kompatibel zum MAX. Wenn ich das richtig verstanden habe, dann hast Du vier gleiche Platinen und bei einer kappt es. Du bist also in der glückligen Lage und hast die ideale Voraussetzung, um den Fehler zu finden: Neben einer oder mehrer fehlerhaften Platine ist eine baugleiche funktionierende Platine vorhanden! Das erlaubt Dir wunderbare Vergleichsmessungen und -tests. Überlege, was Du dahingehend alles testen, messen und vergleichen könntest (außer den RS232 Signalen). Bitte lade mal ein Bild vom Oszi vom RX Signal hoch mit der Datenübertragung. Zeitbasis so einstellen, dass etwa 2 Bytes erfasst werden und Anfang und das Ende dargestellt werden. Und zwar: a) von der funktionierenden Platine b) von den nicht funktionierenden Platinen (wenn die unterschiedlich Aussehen, dann vielleicht einfach von allen vier Platinen. Um so mehr Du dem Forum mitteilst, desto besser werden die Antworten für Dich sein.). Zur Not abfotografieren. Welche Datenrate fährst Du? Weitere Test Vorschläge: Leg mal RX über einen Widerstand nach 5V und kontroliere die Gleichspannung, ob sie dem Spannungsteiler entspricht (R15 || interne 5k). Verbinde TX und RX (Pin 3 und Pin 2) an der D9-Buchse und messe am Mikrokontroller an TXD und RXD, ob alles was aus TXD rauskommt auch auf RXD wieder reinkommt. Am besten ein Bildchen mit 1-2 Byte Übertragungszeit hochladen. Auch hier dann den RX immer mit testen, ob da die Flanke auch schlapper ist, als bei der "guten" Platine. Vielleicht braucht der unbekannte Gegenüber ("Optosensor") Hardware-Handshake Signale auf bestimmten Pegel. Irgendwas muss Du doch von dem großen Unbekannten haben: Datenblatt oder so, mit den Specs zur Schnittstelle etc. Lad das mal bitte mal hoch. Und nun ran an die Arbeit.
:
Bearbeitet durch User
Fred schrieb: > Die > Versorgungsspannung beträgt rund 5,2V. Datenblatt MAX3222 "Required Minimum Capacitor Values" (4.5-5.5V): C1: 47nF C2, C3, C4: 330nF Nimm einfach 1uF für jeden.
:
Bearbeitet durch User
Joe F. schrieb: > C1: 47nF > C2, C3, C4: 330nF > Nimm einfach 1uF für jeden. Ja, sollte man mal testen. Aber ich gehe davon aus, dass das Problem nicht lösen wird. Die Kondensatoren werden für die Charge Pump gebraucht, um die TX Ausgangsspannung zu erzeugen. Für den Eingang wird diese m.E. nicht benötigt. Ferner ist ja noch suspekt, dass es mit einer der vier baugleichen (so nehme ich an) Platinen funktionert. Vielleicht ist auch der Transceiver (MAX) auf den nicht funktionierenden Platinen defekt. Aber TO Fread muss erstmal noch ein paar Tests und Messungen (s.o.) machen und uns weitere Infos einstellen, damit es nicht bei Spekulationen bleibt.
Hi, danke für die Hinweise. Ja du hast Recht das Datenblatt hätte ich wohl auch gleich zur Verfügung stellen können. Manchmal ist man einfach betriebsblind ;) Hier ein Link zur original Sylvac Schnittstelle. file:///C:/Users/Fred/Downloads/manuel_Opto_neutre_10_2010.pdf Für alle die solche Links nicht mögen kurz zusammengefasst: Positive Speisung : DTR Pin 4 Negative Speisung : RTS Pin 7 Daten Gerät->Peripherie : RXD Pin 2 Datenabfrage TXD Pin 3 Verbindung: RS232 kompatibel, Dsub 9p weiblich oder frei Speisung: von dem Peripheriegerät geliefert, über die Zeilen DTR und GND Übertragungsparameter: 4800 Bds, 7 Data-Bits, gerade Parität, 2 Stop-Bits Maximale Kabellänge: 15 m nach Norm IEC Anzahl der Übertragungen pro Sekunde: 4-8/s. (hängt vom angeschlossenen Gerät ab) Übertragungsformat: [ Zeichen ¦ E1-En ¦ «.» ¦ F1-Fn ¦ Matz K. schrieb: > Wenn der Pull Down falsch dimensioniert sein würde, dann müsste er > niederohmiger gemacht werden, statt hochohmiger, damit die Flanke > schneller nach GND abfällt. > > R14 und R15 sind zwar lt. Datenblatt nicht nötig (wie schon angemerkt), > aber parallel zu den internen 5k ist das schon mal niederohmiger. Da ich ja eher eine schnell abfallende Flanke brauche sollte das ja gut sein. Wie gesagt auch ein weglassen oder erhöhen hat keine Unterschiede gemacht. Das mit R14 und R15 will mir immer noch nicht in den Kopf. Du hast erst mal soweit Recht das im Max ein 5k vorhanden ist. Der lässt sich nachmessen. Warum fordert das Datenblatt den 5k außen nochmal? Alle baugleichen Max benötigen den nicht! Die Platinen sind vom Layout absolut identisch. Matz K. schrieb: > Leg mal RX über einen Widerstand nach 5V und kontroliere die > Gleichspannung, ob sie dem Spannungsteiler entspricht (R15 || interne > 5k). Gute Idee. Leider kommt bei allen Platinen das selbe raus. -.- Leider steht mir bis Anfang nächster Woche kein Oszi zur Verfügung aber ich versuche mal alle Bilder nächste Woche hochzuladen. Ein paar Sachen habe ich allerdings so oder so ähnlich schon getestet. Die Datenrate beträgt 4800Baud. Also sehr langsam ;) Matz K. schrieb: > Verbinde TX und RX (Pin 3 und Pin 2) an der D9-Buchse und messe am > Mikrokontroller an TXD und RXD, ob alles was aus TXD rauskommt auch auf > RXD wieder reinkommt. Am besten ein Bildchen mit 1-2 Byte > Übertragungszeit hochladen. > Auch hier dann den RX immer mit testen, ob da die Flanke auch schlapper > ist, als bei der "guten" Platine. Das habe ich bisher nur mit einem Nullmodem-Kabel zum PC und einem Oszi ausprobiert. Der PC hat zumindest kein Problem mit den Daten, alles kommt so an wie es gesendet wurde. Die Flanken sind sauber. Sobald ich das Oszi habe werde ich aber ein paar Bilder hochladen und den Test exakt so durchführen. Matz K. schrieb: > Vielleicht braucht der unbekannte Gegenüber ("Optosensor") > Hardware-Handshake Signale auf bestimmten Pegel. Davon ist mir jedenfalls nichts bekannt. Laut Datenblatt konnte ich auch nichts diesbezüglich finden. Joe F. schrieb: > Datenblatt MAX3222 "Required Minimum Capacitor Values" (4.5-5.5V): > > C1: 47nF > C2, C3, C4: 330nF > > Nimm einfach 1uF für jeden. Ja da das Opto-Kabel keine eigene Spannungsversorgung hat und über DTR versorgt wird, wäre das möglich. Ich habe es schon mit 100n Beipässen und alle auf 330nF + 100nF probiert aber auf 1µF bin ich noch nicht gegangen. Das werde ich noch nachholen und das Ergebnis posten. Einen defekten Max schließe ich aktuell eigentlich aus, da ich schon mehrere versucht habe. Leider kann ich euch noch nicht mehr liefern. Ich werde das aber unverzüglich nächste Woche nachholen.
Fred schrieb: > file:///C:/Users/Fred/Downloads/manuel_Opto_neutre_10_2010.pdf Hallo Fred, der Link ist nett gemeint. Schau Dir mal die Pfadangabe an. ;-)
Hallo Fred, Fred schrieb: > Das mit R14 und R15 will mir immer noch nicht in den Kopf. Du hast erst > mal soweit Recht das im Max ein 5k vorhanden ist. Der lässt sich > nachmessen. Warum fordert das Datenblatt den 5k außen nochmal? Hast Recht, jetzt hab ichs auch gesehen: in der ti App information sind tatsächlich nochmal 5k zusaätzlich eingemalt. Kapier ich auch nicht. Sind auch nur Menschen, ist bestimmt nen Fehler und soll die internen Widerstände darstellen. Lassen wir das mal so stehen. Ist für das Problem offensichtlich nicht relevant. Fred schrieb: > Positive Speisung : DTR Pin 4 Moment mal: Der Transceiver macht doch auf TOUT +5V (wenn DIN = Low) oder -5V (wenn DIN = High)! Das kommt mir sehr suspekt vor als Versorgungsspannung für den Sensor! Speise mal den Sensor direkt mit 5V an DTR. Wenn Du den später mal Abschalten möchtest, dann wird sich dafür eine andere Lösung finden. Fred schrieb: > Negative Speisung : RTS Pin 7 Und an Pin 7 hast Du gar nichts angeschlossen. Und wenn der Sensor diese Spannung braucht, um den "tiefen" RS232 Pegel zu erzeugen, dann könnte das eine Erklärung sein, dass dieses Signal schwimmt, wenn dieser Pegel ausgegeben werden soll. Naja, alles Vermutungen. Jetzt brauchen wir aber dringend das Manual. Fred schrieb: > Matz K. schrieb: >> Leg mal RX über einen Widerstand nach 5V und kontroliere die >> Gleichspannung, ob sie dem Spannungsteiler entspricht (R15 || interne >> 5k). > > Gute Idee. Leider kommt bei allen Platinen das selbe raus. -.- Was denn? Ist der Wert plausibel bzgl. der Widerstandswerte? Fred schrieb: > Matz K. schrieb: >> Vielleicht braucht der unbekannte Gegenüber ("Optosensor") >> Hardware-Handshake Signale auf bestimmten Pegel. > > Davon ist mir jedenfalls nichts bekannt. Laut Datenblatt konnte ich auch > nichts diesbezüglich finden. OK, Du hast ja die Pinbelegung gepostet. Danach scheint der Sensor da nix zu brauchen. Fred schrieb: > Leider kann ich euch noch nicht mehr liefern. Ich werde das aber > unverzüglich nächste Woche nachholen. Vielleicht vorher noch das Manual mal hochladen oder einen Link ins Web (statt auf Deine Platte) ;-) Dann Viel Erfolg.
:
Bearbeitet durch User
Hallo Fred, habe das Manual im Web gefunden. Ließ sich aber nicht verlinken. Blödes Manual. Keine Elektrischen Specs (Spannung/Stromverbrauch etc). ABER: da wird Pin 5 (GND) nirgens gebraucht. UND: In der Englischen Anleitung heißt es: Pin 7 (RTS) = GND und in der deutschen und französichen Anleitung heißt es: Pin 7 (RTS) = LOW/OFF Ein LOW auf der RS232 Seite heißt aber: irgendwas zwischen 0V und -12V. Dein MAX liefert z.B. -5V. Leg mal GND statt an Pin 5 an Pin 7. Vielleicht wars das schon. Matz
:
Bearbeitet durch User
Hallo Matz, du bist ein Gott!!! ;) Manchmal ist man ja so blind. Ich hatte auf einer Platine SPI mit nach außen gelegt und auf PIN 7 die Masse gelegt (purer Zufall -.-). Deswegen ging die eine Platine wohl. Ich kann es zwar gerade nicht testen aber ich würde wetten, dass es dann geht. Ja das mit dem Manual ist blöd gelaufen. Man kann es scheinbar nicht im Browser laden. Es wird immer auf die Platte geladen. Danke Danke Danke Ich werde die Bestätigung nächste Woche posten.
Fred schrieb: > du bist ein Gott!!! ;) Allmacht haben sich schon so einige Menschen angemaßt. Ist noch nicht so lange her. Ist gnadenlos in die Hose gegangen. Nee-nee, da gehen wir nicht dran. Wir kochen also mal fein ein kleines Süppchen: => Wenn Deine Kiste läuft, wärs klasse. Und gut ist. :-) Schönes heißes Wochenende. Matz.
:
Bearbeitet durch User
Matz K. schrieb: > Fred schrieb: >> du bist ein Gott!!! ;) > > Allmacht haben sich schon so einige Menschen angemaßt. Lieber Gott, :-) du hast Dir ja nichts angemasst, sondern andere haben Dich dazu erklärt. Es ist allerdings, soweit das Deine Bedenken sind, durchaus fraglich, ob dass immer so toll ist, zum Gott erklärt zu werden. :-)
Bestätigung! Der Fehler war das Pin 7 des RS232 nicht auf GND hing. Da ist irgendwo mal ein Zahlendreher passiert. Vielen Dank an alle die geholfen haben. :-)
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.