Hallo, ich habe einen IR Sensor der bekommt 5V zum Arbeiten, sendet dann über sein TX Pin 3.3V . Ich habe einen Pegelwandler gekauft , um das Signal für den Arduino Nano hochzuziehen auf 5V , ich betreibe den Sensor indem ich vor der Arduino Nano Schutzdiode die echten 5V vom USB Hub abgreife, die System Spannung nach der Diode (Pin Header +5V liefert nur 4.7V) Was zu wenig ist. Schließe ich den Arduino wie im Bild an, sinkt die Systemspannung wieder auf 4.8V aber nur wenn ich den Pin 10 am TXD Ausgang anschließe, scheinbar ist die Last zu hoch ? Ich empfange bei 9600 Baud nur daten-müll, aber nur wenn ich pin 11 auch anschließe. Es funktioniert einfach nicht, ich würde mich freuen wenn mich da jemand technisch belehren könnte, welche Fehler ich hier gerade mache. Vielen Dank für Hinwiese Karsten aus Berlin Der primitive Sketch soll nur übertragen, funktioniert, auch der Sensor funktioniert, sendet über sein USB Serial Extrakabel alles was man sehen wollte. #include <SoftwareSerial.h> #define RX_PIN 10 // RX-Pin von SoftwareSerial #define TX_PIN 11 // TX-Pin von SoftwareSerial SoftwareSerial Serial1(RX_PIN, TX_PIN); //pinMode(RX_PIN, FALLING);//INPUT_PULLUP); void setup() { Serial.begin(9600); Serial1.begin(9600); delay(100); } void loop() { if (Serial1.available()) { uint8_t syncByte = Serial1.read(); Serial.write(syncByte); } }
Ein MAX3232 ist kein 3,3V <-> 5V Pegelwandler. Das ist ein TTL (3,3V bis 5V) zu RS232 Wandler. Der liefert laut Datenblatt ein Signal von +/- 13V mit bis zu 60mA auf der RS232 TX Seite (High 13V, Low -13V). Er erwartet auf der RS232 RX Seite auch ein Signal von mindestens +/- 5V (High +5V, Low -5V). Auf dem Bild sieht es so aus, als ob die RS232 Seite am Arduino auf die TTL Ein-/Ausgänge gelegt wurden. Damit ergibt sich quasi ein Kurzschluss über die internen Schutzdioden des Arduino mit bis zu 60mA. Mit etwas Pech ist die Belastung zu und die jeweiligen Eingänge sind jetzt defekt.
> liefert laut Datenblatt ein Signal von +/- 13V
ich lese da "typ. +/- 5,4V" für 3,3V Versorgung, da geht nix kaputt.
Hallo Michael H, Ok Danke, da fehlt mir scheinbar die technische Grundlage, das heißt er Pegel't nur von 5V auf 3V also umgekehrt als gedacht, ist der nicht bidirektional ? Danke Dir !
:
Bearbeitet durch User
Karsten schrieb: > ich würde mich freuen wenn mich da jemand technisch belehren könnte, > welche Fehler ich hier gerade mache. Denselben Fehler, den Du immer machst: Rumwursteln, ohne Dich mit den Grundlagen zu befassen. Wie schon im anderen Thread verlinkt, als Du noch Kahnsoft-Karsten warst: https://de.wikipedia.org/wiki/RS-232 Karsten schrieb: > das heißt er Pegel't nur von 5V auf 3V also umgekehrt als gedacht, ist > der nicht bidirektional ? Du hast doch schon vor 8 1/2 Jahren selbst eine Grafik mit den RS232-Pegeln verlinkt: Beitrag "Re: Ein Draht TX DebugTransmitter" Das hat wenig mit den Pegeln zu tun, die Dein Arduino sehen möchte. Und selbst wenn er das überlebt, wäre es immer noch invertiert.
Karsten schrieb: > ich habe einen IR Sensor Das ist schön. Ich finde nur Analogausgang https://optris.com/products/category/infrared-thermometers-pyrometers/cs-series/ Ein Datenblatt zu verlinken war dir zu viel Mühe, schon der Typenname hat dich ja überfordert. Oder glaubst du, die Info ist scheissegal weil in deinem Leben eh alles egal ist ? Vermutlich kann der T Ausgang direkt an den RX vom uC, und der TX vom uC über 1k Serienwiderstand an den RX vom Sensor. Dein MAX3323 invertiert das Signal und liefert viel zu hohe Spannungen. Den kannst du ersatzlos entfernen.
Der MAX3232 enthält einen Spannungswandler mit umgeschalteten Kondensatoren, die machen aus der einfachen Versorgungsspannung (ungeregelt) die doppelte und doppelte negative Spannung, also theoretisch aus 3,3V +/-6,6V und aus 5V +/-10V. Tatsächlich sind die kleiner und brechen bei Belastung noch zusammen. Gibt es von dem Sensorhersteller kein anständiges Datenblatt? https://optris.com/wp-content/uploads/2024/10/Product-BR-EN2024-10_A_web.pdf#page=4 ungeschickt, dass die Tabelle auf zwei Seiten verteilt ist auf dem Foto sieht man "OPTRISCSLT155F" Dem Datenblatt nach gibt es optional einen USB-Ausgang, aber sonst nur eine Analogspannung, die noch von der Betriebsspannung abhängt (5-30V) ?
:
Bearbeitet durch User
Der Sensor wird über sein Programmierkabel so eingestellt das er keine Spannung sondern ein 3.3V Out Pegel liefert UART Konform. Den Pegelwandler habe ich rausgeworfen, ich werde morgen versuchen mit einem Mosfet Verstärker Transistor das TXD Signal hochziehen, 2N3904 Das Signal ist sehr leistungsschwach, und wird unter Last sofort runtergezogen, der Arduino hat ja schaltbare Pull Down Wiederstände an den Eingängen, kann sein das die Pins am Header relativ viel Strom ziehen ? Eigentlich sollten die internen Widerstände der Pins off sein bei Default ? Danke für die Hinweise, Es ist gesichert das der Sensor CS- mit 5V arbeitet und am TXD 3.3 V abgibt. Gruß Karsten
> UART Konform soll das auch bedeuten dass die Polarität einem UART entspricht? > wäre es immer noch invertiert der MAX3232 invertiert die Pegel, low wird zu high und umgekehrt. Ich denke, die 3,3V aus dem Sensor sind auch für 5V-Eingänge noch gut genug, da muss kein Pegelwandler dazwischen.
Karsten schrieb: > Es funktioniert einfach nicht, ich würde mich freuen wenn mich da jemand > technisch belehren könnte, welche Fehler ich hier gerade mache. Du erwartest, dass nach dem Einstecken alles funktioniert. Versuche es einmal mit systematischer Fehlersuche und setzt geeignete Messtechnik ein. Nimm ein Oszi, fast egal wie primitiv. Damit prüfst du die Signale, bevor du alles verbindest und dann geht es weiter. Dazu musst du dir vorher überlegen, was du erwartest und kannst das dann mit deinen Messungen vergleichen.
Karsten schrieb: > hochziehen Das nennt sich heute "hochskillen". Karsten schrieb: > Mosfet Verstärker Transistor ... 2N3904 Schau noch mal ins Datenblatt. Karsten schrieb: > Eingängen, kann sein das die Pins am Header relativ viel Strom > ziehen Schau ins Datenblatt. Karsten schrieb: > Eigentlich sollten die internen Widerstände der Pins off sein bei > Default ? Schau ins Datenblatt Don't feed the Troll!
Christoph db1uq K. schrieb: > ich lese da "typ. +/- 5,4V" für 3,3V Versorgung, da geht nix kaputt. Dass die negative Spannung weit unter den Absolute Maximum Ratings (ATmega328P: -0.5V) liegt, findest Du unproblematisch?
Obelix X. schrieb: > Karsten schrieb: >> hochziehen > > Das nennt sich heute "hochskillen". > > Karsten schrieb: >> Mosfet Verstärker Transistor ... 2N3904 > > Schau noch mal ins Datenblatt. > > Karsten schrieb: >> Eingängen, kann sein das die Pins am Header relativ viel Strom >> ziehen > > Schau ins Datenblatt. > > Karsten schrieb: >> Eigentlich sollten die internen Widerstände der Pins off sein bei >> Default ? > > Schau ins Datenblatt > > Don't feed the Troll! Der Troll bist Du, hast keinen Punkt technischer Aspekte liefe4rn können defarmieren ist dein sinnlose Hobby, Es funktioniert jetzt , ich musste Pin2 Statt Pin 10 nehmen warum auch immer, alles läuft ohne Pegelwandler ! Der Nanao sieht das Signal am Stift 2 Via Softwareserial, danke allen für die Aufwendige Hilfe, warum der Stift nun eine rolle spiele bleibt unklar, Stift 10 funktioniert unter TTL Bedingungen, scheinbar nicht unter Softwareserial bei low input. Grüße aus Berlin Karsten
Und was sagen die vier Byte aus DB AA AA 04 (gelegentlich auch DA oder DC)? Sind das die erwarteten Daten? Und gibt es zu dem Sensor auch ein ordentliches Datenblatt, in dem auch die Programmiermöglichkeiten beschreiben sind? Das PDF vom Hersteller hat irgendein Werbegrafiker gebastelt, der keine Ahnung hat, was die Kunden brauchen. Oder sind die Angaben streng geheim und nur gegen Unterzeichnung eines "Non-disclosure agreement" zu bekommen?
Den Sensor gibt es auch von Mikro Epsilon. Dann mit mehr Informationen. https://www.micro-epsilon.de/fileadmin/download/manuals/man--thermoMETER-CS--de.pdf
Christoph db1uq K. schrieb: > Und was sagen die vier Byte aus DB AA AA 04 (gelegentlich auch DA oder > DC)? > Sind das die erwarteten Daten? > > Und gibt es zu dem Sensor auch ein ordentliches Datenblatt, in dem auch > die Programmiermöglichkeiten beschreiben sind? > Das PDF vom Hersteller hat irgendein Werbegrafiker gebastelt, der keine > Ahnung hat, was die Kunden brauchen. > Oder sind die Angaben streng geheim und nur gegen Unterzeichnung eines > "Non-disclosure agreement" zu bekommen? AA AA sind die beiden Synchronisation Bytes , danach folgen zwei Daten Bytes. Nicht ganz easy auszuwerten, denn das Softwareserial gibt auch Fehler Daten so alle 2 Minuten die man abfangen muss. Ist ein 1€ China Klon Nano, hoffe der neue vom Hersteller (19€) läuft besser da höhere Bootloader und höhere Lib Versionen möglich sind bin da bei 1.8.6
Karsten schrieb: > läuft > besser da höhere Bootloader und höhere Lib Versionen möglich sind bin da > bei 1.8.6 Danke. Jetzt muss unsere Raumpflegerin meine Tastatur und meinen Bildschirm entkaffeen.
Karsten schrieb: > AA AA sind die beiden Synchronisation Bytes , danach folgen zwei Daten > Bytes. Nicht ganz easy auszuwerten, denn das Softwareserial gibt auch > Fehler Daten so alle 2 Minuten die man abfangen muss. Der externe Oszillator wird genutzt? Karsten schrieb: > Ist ein 1€ China Klon Nano, hoffe der neue vom Hersteller (19€) läuft > besser da höhere Bootloader und höhere Lib Versionen möglich sind bin da > bei 1.8.6 Wow. Nein.
> Den Sensor gibt es auch von Mikro Epsilon. so sieht ein etwas vernünftigeres Datenblatt aus. Aber die verschiedenen Schnittstellenprogrammierungen sind nicht sehr deutlich. Es gibt also neben dem analogen Ausgang entweder einen USB-Anschluss (bidirektional oder unidirektional, letzteres ist für USB unüblich). Das steht auf Seite 20. Und dann den seriellen Anschluss. Auf Seite 24 steht, wie man die Programmiersoftware CompactConnect in Betrieb nimmt, um das einzuschalten. Auf S.25-26 folgt endlich die Beschreibung der digitalen Schnittstelle. 9.5 Kommunikationseinstellungen und 10. Digitaler Befehlssatz da gibt es auch einen bidirektionalen oder unidirektionalen Modus Auf Seite 10 steht die wichtigste Information in der Fußnote 3: "Invertiertes RS232-Signal, TTL, 9,6 kBaud" (laut S.25 umstellbar auf 115,2 kBaud) also genau das was z.B. ein Arduino als "serielles TTL-Signal" erwartet. Der invertierende Pegelwandler wird nur für einen PC mit RS232-Anschluss benötigt. Oder man für ein RS232/USB-Wandlerkabel am PC, dann ist der Pegelwandler auch nötig, eher wegen der Invertierung, die Logikpegel sind meistens flexibel. Der ist auf Seite 40 beschrieben, vorgeschlagen der MAX3381E, dem MAX3232 sehr ähnlich.
Hallo, das Projekt ist nun fertig, es gab einige hürden, aber am Ende läuft alles wie erwartet, das ganze habe ich für Reproduktionszwecke als Video hochgeladen, wo alle Schwerpunkte erklärt sind. https://youtu.be/PgdjamPd37E Danke für viele sinnvolle Hinweise. :-) (Pegelwandler war nicht nötig, bei spannungsabgriff, vor der Arduino Schutzdiode, sonnst hat man durch deren Spannungsabfall 0.4V zu wenig Spannung für den Sensor, und pin 10 geht nicht für SoftwareSerial Interface da an diesem Pin der interne Timer mit einwirkt, daher PIN 2 , nun reicht das 3.3V Signal um den Arduino Pin2 durchzusteuern).
:
Bearbeitet durch User
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.