Hallo,
ist die Anwendung von RS-485 sehr stromzerrend, habe vor, eine
Solaranlage mit 3 AVRs zu steuern, Werte auslesen, Schaltvorgaben zu
realisieren. Gibt es sonst eine einfache und günstige Alternative ein
Bus-System bis zu 300m aufzubauen ?
Hat jemand mal was in BASCOM geschrieben und gute Infoquellen zu RS-485
u. AVRs gefunden ?
Gruss
A. Arndt
Hallo,
vielen Dank für die "nützliche" Hilfe, ich habe mir schon einiges
durchgelesen und da heisst es, RS-485 ist kurzschlussgefährdet, es
fliessen Ströme über 60mA, es ist keine Umwandlung mit einer Spannung
(RS-232) sondern über Strom.
Deshalb diese Frage an "Spezies", die gerne weiterhelfen...
Gruss
A. Arndt
Hallo Sascha,
vielleicht bis Du ja ein Spezie, ich habe mir den Artikel (link1) zig
mal durch gelesen und auch viele Infos hier im Forum, da ist oft mal das
Risiko des Kurzschlusse behandelt worden.
Aber nochmal zum 1. Link, wie lege ich denn die Adressen fest, ich muss
ja den Slaves sagen, wer sie sind, wie lege ich die Betriebsart fest.
So ganz doof bin ich ja auch nicht, habe es trotzdem nicht verstanden.
PS, ich nutze den Chip von Texas I. Typ SN75176.
Gruss
A. Arndt
Stimmt schon, im Artikel wird nicht wirklich auf die Hardware
eingegangen, aber die Gefahr eines Kurzschlusses halte ich für sehr
gering, ist mir persönlich auch noch nicht passiert.
Das adressieren der Sklaven muss per Software erfolgen, das gezeigte
Frame ist ja sowieso nur ein Beispiel, die übertragung eines Bytes
überlassen die meisten sowieso dem Hardware-UART was die Sache
wesentlich erleichtert.
Im Prinzip muss die Software eines jeden Sklaven nur das 9. Bit des
Adressbytes erkennen und nachgucken ob er selbst damit gemeint ist (die
unteren 8 Bit), dann wird das Paket weiter in empfang genommen und kann
verarbeitet werden; andernfalls wird einfach auf durchzug geschaltet.
Oder meinst du mit Kurzschluss einfach die eine Kollision auf dem Bus,
dass mehrere Teilnehmer gleichzeitig auf ihn zugreifen? Nun ja, die
Gefahr ist schon wesentlich größer. Wenn es nicht auf schnelle Reaktion,
sondern nur auf das auslesen von Daten, setzen von Relais... geht, ist
es wohl am besten den Bus im Single-Master betrieb zu betreiben. Dort
darf dann nur der angesprochene Sklave antworten, Kollision
ausgeschlossen.
Nimm CAN, dann mußt Du Dich um fast nichts mehr kümmern.
Kollisionen, Störungen, etc. werden schon von den CAN-Chips weggebügelt
und müssen nicht mehr in Software implementiert werden. Die
Programmierung ist auch sehr einfach.
Ärger Dich also besser nicht mit RS485 rum.
Hallo,
habe mit CAN auch schon überlegt, da ist mir der Hardwareaufwand zu
gross, allein 2 ICs um auf den Bus zu kommen, wenn man den Mega8
unbedingt nutzen will.
@Sascha:
Ich denke, ich nutze nur Single Master, das reicht mir völlig aus, dann
kommt es wohl nicht zur Kurzschluss durch "Datenkollision".
Jetzt muss ich mal schauen, wie ich das Ganze mit FASTAVR hinkriege, das
mit dem 9. Bit usw. , aber vielen Dank für die Infos.
Gruss
A. Arndt
Also beim ATmega8 macht das 9. Datenbit gar kein Problem; wird nämlich
von der Hardware unterstützt.
Schau dir mal das Beispiel im Datenblatt auf Seite 138/141 an. Solange
du mit FASTAVR auch Zugriff auf alle Register hast sollte es möglich
sein.