www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Netzwerk am PC


Autor: Luky S. (luky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich möchte mehrere (10-14) mit Sensoren ausgestattete AVR Megax8 an den
PC hängen.
Die einzelnen Geräte sollen mit 1 (Temperatursensoren) bis 25Hz
(Spannungsmessung) Daten liefern.
Sie sind höchstens 1m voneinander entfernt in einem Gerät eingebaut.
Momentan habe ich einen Mc der mittels RS232 mit dem PC kommuniziert.
Ich bin auf der Suche nach einer Möglichkeit, weitere Controller
Kabelsparend entweder an den hauptcontroller oder alle an einen Bus
anzuschließen.
Eine Art Bus mit dem RS232 aufzubauen wäre zwar einfach, aber ich weis
nicht, wie das dann mit der Kollisionserkennung funktionieren soll.
SPI braucht zu viele Leitungen und CAN mindestens einen externen
Baustein.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
4-Draht RS485-Bus verwenden. Den PC zyklisch die Controller abfragen
lassen. Dadurch keine Kollisionen. Zusätzlich einen RS485-RS232
Konverter für den PC (=> MAX485+MAX232).

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, der RS485 passt natürlich nur zu 2-Draht. Aber ist eh egal,
2-Draht bedeutet bloss etwas mehr Software-Kniffel bei der
Sende/Empfangs-Umschaltung.

Autor: MrNiceGuy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...oder einen CAN-Transceiver, z.B. MCP2551, direkt an RX/TX der
Controller hängen. PC-seitig dann MAX232 + MCP2551. Spart die
Sende-/Empfangsumschaltung.

Autor: Pete Nerlinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nimm lieber EINEN pc...

Autor: Uwe ... (uwegw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest du sie als daisy chain hintereinader hängen.

andere Idee: alle parallel an der TX-Leitung des Hauptcontrollers (oder
direkt am PC) mithöhren lassen, und wenn ein für den jeweiligen µC
festgelegter Code reinkommt, Daten senden, wobei die TX-Leitungen
sämtlicher µCs parallel auf den Master gelegt sind, und die gerade
nicht sendenden AVRs  ihren Pin hochohmig schalten. Also quasi wie
inner Schule: der Lehrer ruft den Schüler auf, von dem er was höhren
will, die anderen halten die Klappe. Senden an die AVRs kann genauso
laufen: erst Adresscode, und nur der angesprochene nimmmt die Daten an,
die anderen tun nix.

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie müsste man die AVRs physikalisch verschalten um einen RS232 Bus
aufzubauen?
Einfach alle RX und TX zusammenschließen?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie funktioniert eigendlich der Multi-processor Communication mode der
USART des AVR?
Im Datenblatt ist das Ganze kurz beschrieben, ich habe im Internet aber
nirgendwo ein Projekt, weches diesen Modus verwendet gefunden und erst
recht keine Schaltung dazu.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat mit einer Schaltung nichts zu tun. Dieser Modus sorgt nur dafür,
dass Controller die grad nicht adressiert sind, von USART-Interrupts
verschont bleiben.

Haken an diesem Modus: Kann der PC schlecht mitmachen, weil der keinen
9-Bit Modus kennt.

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
9 Bit kann man mit der Checksumme hinbiegen.
Habe ich schonmal gemacht und läuft auch.
Kan ich einfach alle RX der Controller zusammenhängen und alle TX auch?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss ich den Link nochmal posten???

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Billiglösung, für kurze Distanzen:"
"Alternative, aber immer noch kurze Distanzen:"
Ich suche schon was auch für mittlere Entfernungen.
Je einen Max232 o.ä. dazwischen z.B.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit den '07-ern dazwischen könnte 1m noch funktionieren, wenn es sich
nicht um eine störverseuchte Umgebung handelt. Und wenn's nicht allzu
eilig ist, also bei 38400 oder so. Ausprobieren. Ggf. CRC verwenden,
mindestens aber Parity.

Darüber und in unsauberem Umfeld sind CAN- oder RS485-Transceiver der
einfachste Weg.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.