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). Gibt es da welche mit mehr als 4 (Arduino Mega)? LG Cicada
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.
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
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.
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
Je nachdem reicht wohl schon der ESP8266 mit Software Serial, den sollte man nicht unterschätzen :).
TIs LM4F120H5QR bietet schon mal 8 davon und kommt in einem 64-Pin LQFP-Package. Nur fuer die Antuinofraktion nicht. SCHADE...
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.
Da haben sich die Atmels so viel Arbeit gemacht und Listen mit den Eigenschaften ihrer Prozessoren erstellt - und keiner liest sie;-) Atmega max 4 XMega max 8
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
Da solltest Du einen Bus nehmen (CAN, RS424 oä). Eine Serielle Schnittstelle ist für ein Netzwerk sonderlich schlecht geeignet.
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.
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?
Peter schrieb: > Da solltest Du einen Bus nehmen (CAN, RS424 oä). Da ist wohl eher RS422 gemeint... Oder aber RS485.
Hi
>PS ich habe relativ wenig Ahnung von solchen Sachen :(
Dann solltest du dich mit den simpelsten Grundlagen vertraut machen. Nur
vom Hörensagen kann man nicht programmieren.
MfG Spess
Wenn es unbedingt sein muss gibt es Ic für Spi/I2c to Usart mit FiFo. Max3107, 3109 und andere. Gruß Rene
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)
:
Bearbeitet durch User
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? ...
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
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.
Das ist dann wohl das sinnvollste dieser Tokenring. Wie sollte man das mit den Kennzeichnungenn machen das die Daten nicht immer im Kreis senden
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.
Wir wissen immer noch nicht von welchen Leitungslängen wir reden, oder?
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
Arduino F. schrieb: > Der Header umfasst: > Quellen ID > Ziel ID > laufende Nummer(MessageID) Es sollte auch noch Pakete mit Ziel ID == an Alle geben. Die werden verarbeitet UND weitergegeben - erst an der Quelle dann gelöscht
Eine Art Broadcast/GeneralCall? Wenns für die Anwendung Sinn macht, klar!
Hallo, habs grad mit 3 Arduino versucht, hat Funktioniert :-)) jetzt nur noch auf alle Arduino "portieren". LG Cicada
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.