Hallo, ich befinde mich gerade in den Vorüberlegungen zu einem neuen Projekt. Hierbei soll es zwei Anzeigen mit LED-Zahlen geben, welche eine zuvor eingestellten Zeit runterzählen (z.B. 120 sec auf null). Das ganz wird von einem Steuergeät aus gesteuert. Wobei dieses den Startbefehl und die maximale Zeit vorgibt. Jede Anzeige und das Steuergeät soll ein eigenen Mikrocontroller bekommen. Die Anzeigen und das Steuergerät befinden sich ca. 60m - 100m voneinander entfernt. Mein aktuelles Problem liegt darin, wie ich die Kommunikation zwischen den einzelnen Einheiten hinbekommen soll. Kann ich da die USART-Schnittselle verwenden? (ggf. mit Pegelwandler) Wie kann ich die beiden Anzeigen dazu bringen, dass diese geleichzeitig anfangen runterzuzählen? (maximale Differenz sollte unter 100 ms liegen) Gibt es eine drahtlose Möglichkeit? Jemand eine Idee?
@ Tobi (Gast) >das Steuergerät befinden sich ca. 60m - 100m voneinander entfernt. Nicht sooo weit. >Kann ich da die USART-Schnittselle verwenden? (ggf. mit Pegelwandler) Kann man. >Wie kann ich die beiden Anzeigen dazu bringen, dass diese geleichzeitig einfach gleichzeitig den befehl dazu senden. >anfangen runterzuzählen? (maximale Differenz sollte unter 100 ms liegen) Eine Ewigkeit für einen Mikrocontroller. >Gibt es eine drahtlose Möglichkeit? Sicher. Nimm eines der vielen Funkmodule ala Zigbee & Co. Die kann man als drahtlosen UART betreiben.
Tobi schrieb: > Wie kann ich die beiden Anzeigen dazu bringen, dass diese geleichzeitig > anfangen runterzuzählen? (maximale Differenz sollte unter 100 ms liegen) > Gibt es eine drahtlose Möglichkeit? Indem die Anzeigen ihrem Namen gerecht werden und genau (und ausschliesslich) das tun was ihr Name aussagt: anzeigen. runterzählen tut die Zentrale und die teilt den Anzeigen mit, was sie anzuzeigen haben. Es gibt nur einen Zeitzähler, daher kann auch nichts ausser Tritt geraten.
Karl Heinz schrieb: > Indem die Anzeigen ihrem Namen gerecht werden und genau (und > ausschliesslich) das tun was ihr Name aussagt: anzeigen. > runterzählen tut die Zentrale und die teilt den Anzeigen mit, was sie > anzuzeigen haben. Wie sollte ich dann die Anzeige genau gestallten? Habe ich da nur meine LED's drin und die bekommen parallel die Daten zum Anzeigen oder kann ich das auch serielle durch Bitschieben etc. lösen?
Kannst Du Dir z.B. bei DMX-512 abschauen. Da sind 100 Meter gar nichts und die Datenkabel liegen oft direkt neben Lastkabeln zu gedimmten Lampen mit etlichen 100kW Leistung. Wenn Du dann noch geschirmte Kabel und eine Fehlererkennung verwendest, sollte das sehr zuverlässig werden.
Tobi schrieb: > Karl Heinz schrieb: >> Indem die Anzeigen ihrem Namen gerecht werden und genau (und >> ausschliesslich) das tun was ihr Name aussagt: anzeigen. >> runterzählen tut die Zentrale und die teilt den Anzeigen mit, was sie >> anzuzeigen haben. > > Wie sollte ich dann die Anzeige genau gestallten? So wie du das jetzt auch vor hast. Da werkelt ein µC drinnen. Aber der macht von sich aus gar nichts mehr ausser ständig auf die Zentrale zu hören, ob und was er anzuzeigen hat. Und genau das macht er auch. > Habe ich da nur meine LED's drin und die bekommen parallel die Daten zum > Anzeigen oder kann ich das auch serielle durch Bitschieben etc. lösen? Wie hattest du es denn jetzt vor, das Innenleben zu gestalten? Gewöhn dich an den Gedanken, einem µC auch scheinbar einfache und triviale Aufgaben anzuvertrauen. Es ist einfach oftmals die simpelste Lösung.
:
Bearbeitet durch User
Tobi schrieb: > Wie sollte ich dann die Anzeige genau gestallten? > > Habe ich da nur meine LED's drin und die bekommen parallel die Daten zum > Anzeigen oder kann ich das auch serielle durch Bitschieben etc. lösen? Sende einfach den anzuzeigenden String "120" Die Anzeige muss den Rest machen: - eine 7-Segmentanzeige zeigt für eine "2" ein paar Segmente an - eine 5x8-Punktmatrix-Anzeige schaltet die betreffenen LEDs die eine "2" bilden ein Dann kannst Du auch später einen TFT-Monitor nachrüsten ...
Tobi schrieb: > Gibt es eine drahtlose Möglichkeit? Wenn ein Kabel verlegt werden kann, nimm ein Kabel; zwei Adern + Schirm reichen für eine Duplex-Übertragung aus.
Thomas Z. schrieb: > Sende einfach den anzuzeigenden String "120" > Die Anzeige muss den Rest machen: > - eine 7-Segmentanzeige zeigt für eine "2" ein paar Segmente an > - eine 5x8-Punktmatrix-Anzeige schaltet die betreffenen LEDs die eine > "2" bilden ein Hört sich ja relativ einfach an. Werde das soweit mal probieren. Gibt es einen Richtwert welche Baudrate ich verwenden sollte? Mein größten bedenken stecken aktuell im Siganlpegel. Reicht hier die TTL-Spannung vom Mikrocontroller aus oder brauche ich mehr?
>Mein größten bedenken stecken aktuell im >Siganlpegel. Reicht hier die
TTL-Spannung vom >Mikrocontroller aus oder brauche ich mehr?
Definitiv nicht bei 100m.
Du brauchst auf jeden Fall einen Treiber.
Ich würde einen RS485 mit Twisted Pair Leitung nehmen.
Übertragungsrate gerade so schnell das du die benötigten Daten darüber
übertragen bekommst.
Mehr ist nicht nötig und würde sich eher negativ auswirken.
Tobi schrieb: > Hört sich ja relativ einfach an. 'Einfach' ist immer relativ. Wenn du in der Lage bist, deine ursprüngliche Lösungsidee umzusetzen, dann müsstest du auch diese umsetzen können. Die 'Zutaten' sind genau die gleichen, nur sind die Aufgabenstellungen etwas anders verteilt, was das Komplettsystem softwaremässig sogar einfacher macht, als dein ursprünglicher Ansatz. > Gibt es einen Richtwert welche Baudrate ich verwenden sollte? Man kann das natürlich ausrechnen, weil man ja berechnen kann, wie lange 1 Zeichen af der UART bei einer bestimmten Baudrate braucht. Wenn dir gar nichts anderes einfällt, dann nimm einfach mal 9600 Baud. Das ist so ungefähr eine Standardbaudrate, bei der man als Mensch die Verzögerung vom Absenden eines Zeichens bis zum Empfang nicht mehr richtig wahrnimmt und mit der man schon recht weite Distanzen recht problemlos überbrücken kann. Deine 5 oder 6 Bytes flutschen da in 0 komma nix drüber. > Mein größten bedenken stecken aktuell im Siganlpegel. Reicht hier die > TTL-Spannung vom Mikrocontroller aus oder brauche ich mehr? Bei 100m würde ich auf jeden Fall mal MAX232 einsetzen, also eine Standard-RS232 probieren. Ordentliche Leitungen vorausgesetzt kommt man mit 9600 ca 150m weit. Grössere Baudraten können funktionieren, wenn alles passt. Ist aber kein Pferdefuss, denn die Baudrate kann man ja im Programm einstellen und dann ganz einfach mal Versuche machen. :-) Wenn du mit einer Standard-RS232 nicht weiter kommst, dann muss man auf differentielle Übertragung und Twisted Pair Kabel setzen. Aber bei 100m müsste es auch so gehen. Vor Jahren hab ich das mal auf ca. diese Distanz probiert und es hat keine Probleme gegeben.
:
Bearbeitet durch User
Tobi schrieb: > Hört sich ja relativ einfach an. Werde das soweit mal probieren. Das ist auch etwas zu einfach. Die Zeichenkette verschickt man besser mit Startzeichen, Längenangabe, Prüfsumme und Endzeichen, damit sie der Empfänger nur anzeigt, wenn die Daten plausibel sind. Beispiel: :l120pCR, wobei l=Anzahl Bytes, p=Prüfsumme und CR=Endzeichen sind. > Gibt es einen Richtwert welche Baudrate ich verwenden sollte? Bei 19200 Baud würde obige Nachricht in < 5 ms übertragen > Mein größten bedenken stecken aktuell im Siganlpegel. Reicht hier die > TTL-Spannung vom Mikrocontroller aus oder brauche ich mehr? Du brauchst auf jeden Fall einen TX-Treiber, mit einem Abschlußwiderstand auf der Empfängerseite. Eine TI-Applikation empfiehlt 130 Ohm und erreicht mit RS232-Bausteinen 300 m bei 19,2 kBd. Quelle: Selected Interface Circuits Data Book, 1982
Danke für die ausführlichen Informationen. Werde mir ein passendes Datenformat überlegen und dann einfach ausprobieren.
Tobi schrieb: > Danke für die ausführlichen Informationen. > > Werde mir ein passendes Datenformat überlegen und dann einfach > ausprobieren.
1 | S |
2 | 120 |
3 | 119 |
4 | 118 |
5 | 117 |
6 | 116 |
7 | ... |
8 | 003 |
9 | 002 |
10 | 001 |
11 | 000 |
12 | E |
nicht mehr Aufwand als notwendig. Der Satellit kann ja auch noch Plausibilitätscheck machen. Jede nächste Zahl muss um 1 kleiner sein als die vorhergehende. Mit den Ausnahmen natürlich, dass er nach einem Start erst mal eine grosse Zahl kriegt.
Hi Tobi, wie wäre es mit Funk? Pollin hat z.B. ne Menge Module an die man via SPI dran geht. Beitrag "RFM12 - Funkmodul" Arduino Libs lassen sich auch dazu finden. Ansonsten wie hier schon gesagt wurde: einer ist der Chef alle anderen zeigen nur an. Bestes, Bränko
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.