Arduino mit vielen Seriellen Pins

Gast #5003626
Lesenswert?

Was soll er denn sonst noch können? Und wie schnell solls denn sein 
(bps)?

Mir würde da als erstes ein Propeller von Parallax einfallen. Da der 
keine Hardware-Pins hat, sondern alles in Software macht, kann man alle 
Pins zu Seriellen Schnittstellen umfunktionieren. Macht also 14.

Die Programmierung ist auch recht simpel, wenn man nicht all zu 
verrückte Sachen damit machen möchte. Auf jeden Fall einfacher, als VHDL 
zu lernen und das alles mit einem FPGA zu machen.
Gast #5003633
Lesenswert?

Hallo, er soll Serielle Daten Lesen und auf die mit Seriellen Daten 
Antworten.
Die Rechenleistung ist also ziemlich gering. Außerdem soll er einen 
ESP8266 (Web Server) ansteuern und lesen.

LG
Cicada
Gast #5003649
Lesenswert?

Irgendwie ist das eine magere Ausbeute an neuen Informationen!

Nochmal:
Wieviele serielle Ports sollen es denn sein?
Wie schnell laufen die seriellen Schnittstellen?
Kann der uC an einer Seite lesen und wo anders die Daten wieder senden, 
oder muss da auch gepuffert werden?

Und auch nochmal:
14 Serielle Schnittstellen sind mit dem Propeller kein Problem (full 
duplex bei 115200 baud). Das können 4 Kerne erledigen und 4 Kerne 
bleiben zum Verteilen.

Wenn nicht zuviel Logik dahinter steckt, dann kann man das mit der 
Propeller-Eigenen Hochsprache machen. Aber um das bewerten zu können 
müsste man mehr von der Aufgabenstellung wissen.
Gast #5003659
Lesenswert?

Es sollen 10 Serielle Ports sein. wenn z.B. an RX 1 "Scharf" ankommt 
soll er dass erkennen und am TX 2 "ballaballa" senden. Außerdem soll auf 
dem Webserver eine GUI laufen an dem Daten gelesen werden sollen und 
Über Seriellen Ports verteilt werden.(Tendenziell wenig Rechenleistung).
Die Spannung der Seriellanschlüsse ist 5 Volt (Propeller 3,3V) 
"Umrechnung" möglich?

LG
Magnus
Gast #5003667
Lesenswert?

TIs LM4F120H5QR bietet schon mal 8 davon und kommt in
einem 64-Pin LQFP-Package.

Nur fuer die Antuinofraktion nicht.

SCHADE...
Persönliche Seite #5003677
Lesenswert?

Cicada3301 schrieb:
> Es sollen 10 Serielle Ports sein. wenn z.B. an RX 1 "Scharf" ankommt
> soll er dass erkennen und am TX 2 "ballaballa" senden.

Könnte es sein, daß das ein etwas ... ressourcenvergeudendes 
Hardwaredesign ist?

Warum können die an den seriellen Ports hängenden Geräte nicht an einem 
anständigen seriellen Bus hängen? Dann wird dafür nur eine einzige UART 
verballert.

Klar, dann ist ein Protokoll erforderlich (wie z.B. auf üblichen 
RS485-Bussen gebräuchlich), aber auch da muss kein Rad neu erfunden 
werden.

Wenn das Argument "Reaktionsgeschwindigkeit" lautet, dann kann man die 
Baudrate auch einfach erhöhen.

Welche Anforderungen in Sachen Reaktionsgeschwindigkeit hast Du denn 
tatsächlich, und was für Geräte sollen das sein, die an den Ports 
hängen?
Beitrag #5003681 wurde von einem Moderator gelöscht.
Beitrag #5003683 wurde von einem Moderator gelöscht.
Gast #5003688
Lesenswert?

Hallo,
es sollen mehrere Arduino's zur Hausautomatisierung zusammengeschlossen 
werden mit Webinterface. Reaktionszeit unter 5 Sekunden also nicht hoch.
PS ich habe relativ wenig Ahnung von solchen Sachen :(

C
LG
Cicada
Persönliche Seite #5003698
Lesenswert?

Cicada3301 schrieb:
> es sollen mehrere Arduino's zur Hausautomatisierung zusammengeschlossen
> werden mit Webinterface. Reaktionszeit unter 5 Sekunden also nicht hoch.

Dann genügt eine Schnittstelle und ein serieller Bus.

Beispiele findest Du unter dem Stichwort "Hausbus".

Ein weiterer Vorteil: Du musst nicht jedes einzelne Gerät direkt mit 
Deiner Zentrale verbinden, sondern es genügt eine Busleitung, die an 
jedem Gerät vorbeigeführt wird. Das ist deutlich weniger Aufriss als 
eine Sternverkabelung.
Gast #5003699
Lesenswert?

Cicada3301 schrieb:
> Die Spannung der Seriellanschlüsse ist 5 Volt (Propeller 3,3V)
> "Umrechnung" möglich?

Für die Eingänge reicht ein Vorwiderstand, für die Ausgänge kann man 
Levelshifter nehmen.
Den Propeller gibt es im 40 poligen DIP. Levelshifter von Adafruit gibts 
auf einer DIP breakout-Platine.

Aber ... wie weit sind denn die angeschlossenen Gegenstellen entfernt? 
Schon klar, dass es mit 5V eh nicht all zu weit weg sein kann?
Persönliche Seite #5003893
Lesenswert?

Cicada3301 schrieb:
> Hallo,ich suche ein Arduino (durch Arduino IDE programmierbaren), mit
> möglichst vielen Seriellen Anschlüssen (Software Seriell geht nicht, da
> ich alle Daten gleichzeitig empfangen muss).

Was heisst denn gleichzeitig? Verarbeiten kannst Du sie eh nur serielle 
und dann reduziert sich das auch einen Portmultiplexer mit Latches. Mit 
einem 8 bit breiten Port hast Du mit einem Schlag 8 Leitungen drin und 
kannst sie interpretieren. Ich habe das schon für 256 Bit IOs ausgebaut. 
(4 64 Bit Worte)
Gast #5004111
Lesenswert?

Cicada3301 schrieb:
> Hallo,
> es sollen mehrere Arduino's zur Hausautomatisierung zusammengeschlossen
> werden mit Webinterface. Reaktionszeit unter 5 Sekunden also nicht hoch.
> PS ich habe relativ wenig Ahnung von solchen Sachen :(
>
> C
> LG
> Cicada

Mehrere Arduinos macht ja fast nur Sinn, wenn die räumlich voneinander 
getrennt sind.
Wie soll denn die Verbindung genau aussehen?

Funk? Wenn ja, welcher Standard? BT? RF? ...
Kabel? Wenn ja, welche? EIB? LAN? ...
Gast #5004393
Lesenswert?

Hallo,

An spess53:
Programmieren kann ich nur ich kenn nicht alle Hardwareseitigen 
Möglichkeiten.(Habe schon das Fertige Skript für ein Gerät)
Deshalb frage Ich.


Es kamm ja die Idee, dass ich Arduino 1 mit Arduino 2, Arduino 2 mit 
Arduino 3,Arduino 4 mit Arduino 1 verbinde.
Da muss ich den Arduino sagen dass sie alles einfach weitersenden und 
auch mit lesen.
Müsste es dann nicht passieren das irgendwann immer noch alte befehle 
Rumhängen?
Sollte man dann einfach Label wer was Gesendet hat und wenn es bei ihm 
wieder ankommt das er das dann Löscht?
Oder wäre eventuell ein Netz wo Jeder Arduino mit Jedem Kommuniziert?

Es müssen Im "Test-Zimmer" 7 Servos,8 Buttons, 2 Potis, 4 DHT11 Und 
einer Arduino Alarmanlage (Das Könnte auch Seriell gehen, Sie sit schon 
Fertig und in Betrieb, nen Paar zeigen Code bekomme ich schon hin)

LG
Cicada
Gast #5004402
Lesenswert?

Cicada3301 schrieb:
> Es kamm ja die Idee, dass ich Arduino 1 mit Arduino 2, Arduino 2 mit
> Arduino 3,Arduino 4 mit Arduino 1 verbinde.
> Da muss ich den Arduino sagen dass sie alles einfach weitersenden und
> auch mit lesen.
> Müsste es dann nicht passieren das irgendwann immer noch alte befehle
> Rumhängen?
> Sollte man dann einfach Label wer was Gesendet hat und wenn es bei ihm
> wieder ankommt das er das dann Löscht?

Das kann man aufbauen.

Nennt sich dann Tokenring, oder Tokenpassing System.
Ist jetzt nicht das schnellste System, aber funktioniert!

Zumindest bemerkt man bei einem solchen System sofort, wenn irgendwo was 
klemmt.
Gast #5004500
Lesenswert?

Hast du doch selbst schon geschrieben ... Label ... heißt zwar bei Token 
Ring Token ... aber man kann auch ein Label Ring aufbauen ;o)

Ist nix weiter, als eine eindeutige Zahl an der der Sender sein eigenes 
Paket wieder erkennt. Also z.B. sowas wie Nummer der Arduinos + laufende 
Nummer.
Gast #5004505
Lesenswert?

Cicada3301 schrieb:
> Wie sollte man das
> mit den Kennzeichnungenn machen das die Daten nicht immer im Kreis
> senden


Im einfachsten Fall:

Jedes Datenpaket mit einem Header und einer Prüfsumme versehen.



Jeder Knoten bekommt eine ID


Der Header umfasst:
Quellen ID
Ziel ID
laufende Nummer(MessageID)
//einen Zähler für die Hopps/Weiterreichungen



Pakete mit falscher Prüfsumme (CRC) werden verworfen.
Pakete mit Ziel != eigener ID werden weitergeleitet
Pakete mit Quelle == eigener ID  werden verworfen
Pakete mit Ziel == eigener ID werden verarbeitet

// Pakete mit mehr als z.B. 30 Hopps werden verworfen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren