Hallo, kann ich eine UART-Schnittstelle über zwei Optokoppler realisieren? Ich möchte zwei Atmega2560 miteinander kommunizieren lassen und würde dies gerne über eine Entfernung von 2 cm tun. Ich habe mir überlegt, dafür Photodioden (link siehe unten) zu benutzen (weil schneller) und etwas wie Bündel-LEDs. (weiß jemand wo es so etwas gibt?) Nun ist mir klar, dass der Flaschenhals in der Übertragung der Lichtsensor ist, kann man UART eventuell mit geringerer Baud-rate betreiben? Später sollen beide Atmega Motoren steuern und Sensoren auslesen und sich beide Systeme ausgleichen, diese Kommunikationsschnittstelle ist jedoch Bedingung dafür, dass ich mich tiefer in Mikrocontroller einarbeite. (wie ihr merkt bin ich leider noch Anfänger). Bin dankbar für jede Anregung! Gruß, Sebastian Links: Photodiode in Transimpedanzverstärker -schaltung http://www.mikrocontroller.net/articles/Lichtsensor_/_Helligkeitssensor http://www.mikrocontroller.net/articles/Optokoppler
Hallo, wenn du dich nur in µC-Technik einarbeitest und elektrotechnisch schon ein wenig drauf hast, kannst du mit Standardkomponenten Baudraten vielleicht bis 100.000 baud erreichen. In dieser Gegend beginnt dann das große Tüfteln um unterschiedliche Parameter der Opamp-Schaltung (Fotodiode an TIA)... Wenn du dich aber wirklich auf dein Ziel konzentrieren möchtest, würde ich käufliche Optokoppler empfehlen. Wozu brauchst du eigentlich 2 cm Abstand? Weitere Anregung: Bis zu einigen kHz übertragen übliche IR-LEDs/IR-Sensoren (wie in der Infrarot-Fernbedienung) sehr zuverlässig, die Empfänger sind integriert und haben dann nur Versorgung und einen Datenausgang. UART-Datenrate stellst du in einem weiten Bereich selbst ein. Gruß David
IMHO ist das grundsätzlich machbar. Ist aber kein Anfängerprojekt. Anspruchsvoll kann es werden, wenn Fremdlicht oder Störungen im Spiel sind, die ausgefiltert werden müssen und modulierte Sender erfordert, oder wenn viele Daten in kurzer Zeit übertragen werden sollen (> ca. 1200 BAUD) oder wenn Duplexbetrieb (beide µC dürfen gleichzeitig senden) Bedingung ist, oder wenn Fehlerkorrektur bei Datenverlust oder Verschlüsselung gewollt werden.
Hallo David, danke fürs schnelle Antworten! Ich würde unglaublich gerne Optokoppler kaufen, aber gibt es die in optischer Ausführung? 100.000 baud sollten locker reichen. Später sollen mehrere Module in einer Art Matrix stehen und miteinander kommunizieren. Daher braucht jedes Modul an jeder Seite eine optische Schnittstelle (also 4 Stück). Gibt es so etwas vielleicht auch direkt zu kaufen? Wenn ja, wo? Ich finde leider nichts! Gruß, Sebastian
Sebastian H. schrieb: > Hallo David, > danke fürs schnelle Antworten! > Ich würde unglaublich gerne Optokoppler kaufen, aber gibt es die in > optischer Ausführung? Was ist für dich 'optische Ausführung'? Das ein Optokoppler was mit Optik zu tun hat, sagt ja schon der Name. Normalerweise benutzt man Optokoppler um eine galvanische Trennung herbeizuführen. Aber das scheint bei dir nicht der Fall zu sein. > Später sollen mehrere Module in > einer Art Matrix stehen und miteinander kommunizieren. > Daher braucht jedes Modul an jeder Seite eine optische > Schnittstelle (also 4 Stück). Das klingt für mich nach einem ganz anderen Problem: Wie schaffst du es, dass ein Empfangstransistor am Transistor vor ihm vorbei auf die LED blinzelt?
Hallo Stefan, also Fremdlicht oder Störungen könnte ich durch eine Art geteilten Verbindungsschlauch reduzieren, darüber mache ich mir eigentlich weniger Sorgen. Gibt es für Fehlerkorrektur keine fertigen Libraries? Die optische Schnittstelle ist zwar wünschenswert, aber meine Arbeit ist eigentlich viel eher das Ansprechen von Motoren und Sensoren. In Programmierung der Fehlerbereinigung kann ich mich nicht einarbeiten.... Gruß, Sebastian
Ja, der Optokoppler ist ja eigentlich ein geschlossenes Bauteil. Richtig, galvanische Trennung. Diese Funktionsweise will ich übernehmen und selber bauen um diesen Luftspalt zu überbrücken. Bzw. am Liebsten würde ich ein Bauteil kaufen und direkt den UART anschließen ;-)
Sebastian H. schrieb: > Ja, der Optokoppler ist ja eigentlich ein geschlossenes Bauteil. > Richtig, galvanische Trennung. Diese Funktionsweise will ich übernehmen > und selber bauen um diesen Luftspalt zu überbrücken. OK. Ich versuch mal das zu beschreiben, was ich glaube verstanden zu haben. Du willst einen Optokoppler bauen, bei dem Sender und Empfänger auf unterschiedlichen Platinen sitzen. D.h. du schiebst zb 4 Module aneinander
1 | |
2 | +--------+ +--------+ S ... Sender |
3 | | E S | | E S | E ... Empfänger |
4 | | | | | |
5 | |E S| <-> |E S| |
6 | |S E| <-> |S E| |
7 | | | | | |
8 | | S E | | S E | |
9 | +--------+ +--------+ |
10 | ^ ^ ^ ^ |
11 | | | | | |
12 | v v v v |
13 | +--------+ +--------+ |
14 | | E S | | E S | |
15 | | | | | |
16 | | S| <-> |E | |
17 | | E| <-> |S | |
18 | | | | | |
19 | | S E | | S E | |
20 | +--------+ +--------+ |
sodass jeder mit seinem Nachbarn kommunizieren kann. Platinen anders angeordnet ändert dann zb die Funktion oder die Aufgabenstellung. Wenn du die Platinen aneinanderschiebst, sollen keine Kabelverbdinungen hergestellt werden, sondern die Platinen sollen sich lediglich über die Lichtverbindung finden. (Wie gut das funktioniert ... kann ich mich noch gut erinnern als es vor Jahren Drucker gab, die per IRDA an Notebooks angeschlossen wurden. Im Freien war das Glücksspiel, wenn der Rechner dem Drucker eine Seite komplett überspielen konnte. Es endete damit, dass Rechner, Drucker und Bediener unter einem grossen Putzlappen (recyceltes Leintuch) den zufällig wer mit hatte, verschwanden)
JAAAAA, genau SO wollte ich das haben! Himmel, wie gut Du das ausgedrückt hast! (ich muss an mir arbeiten) Also wäre das denn möglich? Birgt das großes Problempotential? Das System wird ausschließlich indoor eingesetzt und ich kann den Lichteinfall durch eine schlauchartige Verbindung (von beiden Seiten kommend) reduzieren. Am Liebsten wäre mir aber weiterhin eine Kaufvariante welche ich nur noch verbinden muss...
Hallo, es gibt doch fertige IrDA Module wie z.B. den TFDU4300 Tranceiver, den kannst du direkt an den Uart am Controller hängen. Oder mach ich da jetzt nen Denkfehler? Gruß chris
Also die fertigen IR-Receiver-Bausteine für Fernbedienungsempfänger heißen TSOP1..., zB TSOP1738, TSOP1838... Die können laut Datenblatt allerdings max. 2400 baud. Wesentlich schneller wird man mit IrDA-Technik übertragen können, auf die Schnelle hab ich bei Google mit "IrDA receiver" zB die Design-Note DN152 von Linear Technology über den LT1328 gefunden. Auf jeden Fall wird man den eigenen Sender vom eigenen Empfänger (auf der gleichen Seite) gut abschirmen müssen. Nachtrag: Die Module von meinem Vorposter scheinen auch sehr interessant zu sein, beinhalten anscheinend auch gleich Sende- und Empfangsdioden. Gruß David
Hallo, man könnte auch eine gepulste Datenübertragung mit IR Machen. Als Sender eine Infrarot-LED, die mit der Anode an den Portpin kommt (Tx am µC) und über einen Transistor an der Kathode mit 36KHz gepulst wird. Als Empfänger eignet sich dann zum Beispiel der TSOP1736, der auf die 36KHz abgeglichen ist. Die Ganze Übertragung ist dann relativ unempfindlich gegenüber 50 oder 100Hz störungen aus künstlichen lichtquellen und gegen Streulicht. Frank
@ Chris: Hei vielen Dank, da scheinen wirklich Sender und Empfänger in einem Modul zu sein. Ich habe mal einen Blick ins Datenblatt geworfen, sieht vom Drüberfliegen so aus als ob es klappen könnte. Muss ich mir als Bettlektüre nochmal zur Gemüte führen... @ David: Deine Ideen vergesse ich nicht, vielen Dank. @ Frank: Die gepulste Übertragung hört sich schon recht schwer an, bzw. schwerer als das Fertigteil zu kaufen :-) Ich behalts im Hinterkopf falls ich Probleme mit dem Lichteinfall bekomme!
Hi Zum Problem selbst kann ich nichts beitragen, aber zur Anwendung. Es gibt von einer namhaften Firma einen Scanner für Personenschutz. Er wird über eine serielle Schnittstelle parametriert und wir wissen aus Erfahrung, das es besser gewesen wäre, eine Stecker einzubauen. Der ist zwar nicht so "komfortabel", aber funktioniert vermutlich mit wesentlich weniger Störanfälligkeit. Sehr oft wird bei der Programmierung die Übertragung unterbrochen, und das ist nicht nur das Problem eines einzelnen Scanners, sondern alle, die bei uns im Werk eingesetzt sind, haben ein solch unzverlässiges Verhalten bei der Parametrierung. Und nur um mal eine Hausnummer zu nennen, das Stück liegt bei ca. 3000.- € netto. Wenn es also nicht unbedingt erforderlich ist, eine solche Schnittstelle aufzubauen, würd ich es auch nicht tun. Gruß oldmax
Danke oldmax, ich werde mich heute darum kümmern, denn es würde auch ohne gehen. Fehlerhaftes Verhalten, nur auf Grund der Schnittstelle, kann ich mir absolut nicht leisten.... Gruß, Sebastian
@ Sebastian H. Wieso nimmst Du nicht einfach eine (- falls wirklich nötig - galvanisch getrennte) RS485-Verbindung? Das ist hinreichend erprobt und es gibt dafür sehr viele günstige Bauteile.
Beitrag #6035473 wurde von einem Moderator gelöscht.
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.