-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: 100 AVRs miteinander verbinden

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    06.02.2007
    Beiträge
    25

    100 AVRs miteinander verbinden

    Anzeige

    Hey Leute!
    Ich muss eine Lösung für folgendes Problem finden.

    Etwa 100 Geräte
    Die in Schränken über eine Werkshalle verteilt sind, sollen überwacht werden und die Informationen in ein Büro an einem einzelnen PC ausgegeben werden.

    Die Daten bestehen aus Temperatur, Spannungsmessung, Spannungssteuerung und andere PIO Signale.

    Mein Gedanke:

    Die Steuerung am PC erfolgt über eine VB6 Anwendung.

    Ich dachte jedes Gerät bekommt einen AVR. Damit sind die Mess, Regel und Steueraufgaben schon einmal abgehackt.

    Die schließe ich über ein Bus System an den PC an.
    Master/Slave Prinzip.
    Die 100 Geräte als Slave und der PC bekommt ein Steuergerät (Master) das über USB mit der Windows-Anwendung verbunden ist.

    Das Hauptproblem ist das Richtige Bussystem für so viele Slaves zufinden, das auch noch eine gewisse Leiterlänge zuläst.

    Hat irgend jemand eine Idee was ich für einen Bus nehmen könnte?

    Vielleicht I2C zusammen mit einem Extender,
    dann soll I2C auch für größer Entfernungen gehen.


    Sollte jemand Ideen, Anregungen, Fragen oder Besserungsvorschläge haben. Bitt,e bin für alles offen.

    MfG
    TK

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.01.2006
    Ort
    Hattingen
    Alter
    52
    Beiträge
    984
    Hi, schau dir mal den CAN-Bus an.
    Es gibt auch einen AVR mit CAN-Interface.
    Der CAN-Bus bietet dir sehr komfortable und vor allem sichere Kommunikation relativ leicht an. 100 Slaves sind kein Problem.
    I²C über diese Entfernungen geht nicht.
    Die Alternative wäre ein selbstgestricktes Protokoll auf RS-485-Basis. Das dürfte aber mehr Arbeit machen.

    Sigo



    Sigo

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2005
    Ort
    Wallis
    Beiträge
    137
    Hi

    Von der Menge her könnte man I2C nehmen, aber die Länge würde da wahrscheinlich ein Problem machen. Ich glaube dort kann darf man die Leitungen nicht länger als 9m ziehen (mit Extender 50m)

    Für grosse Distanzen eignet sich RS485. Dort macht die Teilnehmerzahl Probleme (max 32)

    Wäre es möglich über Netzwerkkabel zu kommunizieren (Ethernet?)

    edit:
    Bei Ethernet: Jeder Teilnehmer hat seine IP und per Ping kann die Kommunikation getestet werden...

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    34
    Beiträge
    979
    ich würde jedem gerät einen rs485 treiber spendieren und den bus auf rs485 basis aufbauen laut norm geht da bis 500m... es gibt verschiedene treiber die je nachdem mehr oder weniger geräte am bus zulassen...
    musst du dir halt einfach ein protokoll überlegen damit du die geräte nacheinander abfragen kannst...

    gruss bluesmash

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Hi!
    Du kannst auch irgendein Protokoll in Verbindung mit LichtwellenleiterInterfaces benutzen. Dann ist die Länge nur durch das LWLSystem begrenzt. Dazu benötigst Du natürlich zusätzliche Hardware. Dafür ist es aber auch unempfindlich gegenüber elektromagnetischen Störungen.
    Grguß

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    34
    Beiträge
    979
    sind lichtleiter bei einem solchen system nicht ein wenig übertrieben
    rs485 wird in der industrie seit jahren erfolgreich eingesetzt, und mit einem gut abgeschirmen kabel ist man auch relativ unempfindlich gegen störeinflüsse....

    gruss bluesmash

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    06.02.2007
    Beiträge
    25
    Ich habe irgend wo einen text überflogen in dem stand das der RS487 bis zu 128 teilnehmer zulässt. Wo der hacken ist weiss ich noch nicht.

    Ist eh egal ich fürchte ein eigenes Übertragungsprotokoll liegt über meinem Wissen. Denn ich habe keine Ahnung wie so etwas aussehen muss.

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Ich würde wie sigo zu CAN raten. Große Leitungslängen sind kein Problem und die Anzahl der Knoten ist auch nicht begrenzt, wenn ich mich nicht irre. Störsicher ist CAN durch zwei differentielle Leitungen auch.
    Zudem ist CAN ein Multi-Master System, Du könntest also auch noch irgendwo problemlos einen zweiten Auswerte-Rechner dranhängen, wenn das mal gewünscht sein sollte.

    askazo

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Bluesmash schrieb:
    sind lichtleiter bei einem solchen system nicht ein wenig übertrieben
    Wer genau hinliest wird feststellen, dass Ideen und Anregungen gefragt sind. Dies ist eine. RS485 hingegen ist keine, weil sie nur 32 Teilnehmer unterstützt. Außerdem ist es nicht unbedingt ein Leichtes, RS485 auf nem Mega zu implementieren.
    CAN in einem Atmel gibt es schon. CAN ist empfehlenswert.
    Von RS487 würde ich die Finger lassen. Das ist sehr speziell weshalb es keine Erfahrungen gibt (vor alem mit der Hardware)
    Gruß

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.11.2006
    Beiträge
    463
    Hallo,

    als erstes würde ich die folgenden beiden Fragen klären:
    1. Welche Übertragungsrate wird benötigt?
    2. Was ist die beste Topologie? Möglich wäre sowohl eine Sternförmige Verkabelung (Von jedem Teilnehmer geht ein Kabel zu einem zentralen Steuergerät) oder ein einziger grosser Bus, an dem alle Teilnehmer parallel angeschlossen sind (wie z.B. I2C). Beide Ansätze haben natürlich ihre Vorteile und Nachteile (Fehleranfälligkeit, Übertragungsrate, Verkabelungsaufwand etc.)

    Eventuell wäre es sinnvoll, das ganze mit einem normalen Ethernet zu machen. Das hat den Vorteil, dass man für den Master lediglich einen normalen, netzwerkfähigen Computer benötigt. Für die Verteilung kann man relativ billig fertige Switches kaufen. Man muss also ausser den Platinen mit den Controllern keine eigene Hardware entwickeln. Ausserdem sind viele Werkzeuge zur Diagnose bei Problemen frei verfügbar (z.B. ping, Sniffer). Das Protokoll könnte man relativ einfach über UDP machen. Der Master schickt dann in regelmässigen Abständen eine Anfrage an alle Slaves und diese antworten darauf mit aktuellen Sensorwerten. Zum Anschluss des µC an das Netzwerk könnte man z.B. einen ENC28J60 verwenden. Eventuell könnte man den Verkabelungsaufwand weiter reduzieren, indem man die Sensoren einfach an ein vorhandenes Netzwerk anschliesst.

    Gruss
    Jakob

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •