PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einstieg in die µC-Technik mit Bus-Projekt



maker7
25.04.2008, 01:19
Hallo Community,

habe hier bei euch im Forum jetzt schon viel gelesen. Echt sehr Interessant.

Nun möchte ich endlich richtig in die Materie einsteigen. Realisieren möchte ich eine simple Steuerung welche mit irgendeinen Bussystem arbeitet.

Als Vorgabe habe ich eine Hauptstation (Master) und 2 Unterstationen (Slaves). Übertragen werden sollen nur einfache I/O-Zustände von den Master zu den Slaves und andersrum.
Die einzelnen Stationen liegen je 30m auseinander, also 60m vom Master bis zur zweiten Unterstation.

Hardwaremäßig wollte ich für die Hauptstation das RN-Control 1.4 mega32 verwenden. Die Slaves sollten auch auf den mega32 basieren, welche auf eigenen Bords mit minimaler Bestückung arbeiten.

Meine erste Frage wäre nun, ob das alles überhaupt so geht, wie ich mir das denke. (Habe ja auch keine Ahnung, noch nicht)
Zweite Frage wäre, was für ein Bus sollte ich wählen? I2C, RS485 oder was ganz anderes?

Ich hoffe, das ich mich verständlich Ausgedrück habe und einige Antworten von euch bekomme.


ciao
maker7

Felix G
25.04.2008, 11:41
Also 60m ist für I2C ein bischen viel, das ist eigentlich eher für die Kommunikation von ICs gedacht welche auf der gleichen Platine sitzen (oder zumindest nicht allzu weit voneinander entfernt sind).

Bei derartigen Entfernungen kannst du RS485 oder CAN verwenden. Der wesentliche Unterschied (aus Sicht des Programmierers) ist, daß du dir bei RS485 selbst ein Protokoll ausdenken musst, wohingegen das bei CAN bereits alles genau spezifiziert ist (und es gibt ICs, sog. CAN-Controller, die sich darum kümmern).


An Hardware reicht bei RS485 ein Pegelwandler, bei CAN brauchst du zusätzlich eben noch diesen CAN-Controller (es sei denn du verwendest einen Mikrocontroller der schon von sich aus CAN beherrscht).

python_rocks
25.04.2008, 11:56
eine Hauptstation (Master) und 2 Unterstationen (Slaves).
[...]
Die einzelnen Stationen liegen je 30m auseinander, also 60m vom Master bis zur zweiten Unterstation.
Hallo maker7!

"RS-485", da es mit Bascom und den ATmega32 so schön einfach verwendet werden kann. CAN wäre mir viel zu aufwändig und teuer für so eine einfache Sache. CAN wird interessant, wenn sich die Slaves auch untereinander unterhalten müssen und Nachrichten mit unterschiedlichen Prioritäten ausgetauscht werden müssen.

- https://www.roboternetz.de/phpBB2/viewtopic.php?p=346783
- https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=364517#364517

mfg
Gerold
:-)

maker7
25.04.2008, 13:41
Hallo Felix,

ersteinmal vielen Dank für deine Antwort. Hab auch schon was vom CAN-Bus hier gelesen. Bin aber eher davon abgeneigt, weil es wohl doch um einiges komplizierter sein soll als andere Systeme.
Das wäre dann wohl eher mal was für Später, sprich für umfangreichere Projekte.

Hallo Gerold,
die Antwort klingt überzeugend:

"RS-485", da es mit Bascom und den ATmega32 so schön einfach verwendet werden kann.
Genau das brauche ich. Und Bascom wollte ich sowieso als Software nutzen. Empfiehlt es sich hier, gleich die Vollversion zu kaufen?

Slaves sollen sich in meinen Fall nicht direkt untereinander unterhalten können, wenn dann immer über den Master, was ja möglich sein sollte.

Was für einen Treiber benötige ich den genau beim RS485, den MAX487?


ciao
Elias

python_rocks
25.04.2008, 16:15
Hallo Elias!

Und Bascom wollte ich sowieso als Software nutzen. Empfiehlt es sich hier, gleich die Vollversion zu kaufen?
Dafür brauchst du die Vollversion noch nicht. Aber schaden kann es nicht.


Was für einen Treiber benötige ich den genau beim RS485, den MAX487?
Ich denke mal, dass du mit dem MAX485 (halbduplex) klar kommen solltest, da der Master die Kommunikation regelt.

Hier sind Links, die du nachverfolgen solltest. Wichtig ist, dass du dir auch die Links ansiehst, die ich dort in den Beiträgen aufzeige. Und oft sind auch die Beiträge weiter unten noch interessant.

- https://www.roboternetz.de/phpBB2/viewtopic.php?p=346783
- https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=364517#364517
- http://www.alldatasheet.com/view.jsp?Searchword=MAX485
- http://halvar.at/elektronik/rs485/
- http://www.elektronik-projekt.de/thread.php?threadid=5002&threadview=0&hilight=&hilightuser=0&page=3
- http://avrhelp.mcselec.com/configprint.htm

Und nicht vergessen, die Links weiter zu verfolgen.

mfg
Gerold
:-)

Vitis
26.04.2008, 08:24
ich verwend den LTC485 geht auch
und am Bus die Terminierung nicht vergessen ;)

maker7
26.04.2008, 11:56
Hallo Vitis,

was meinst du mit Terminierung?

Ansonsten bin ich gerade mit den massigen Texten von Gerold beschäftigt, da gibts ja jede Menge zu lesen O:)



ciao
Elias

python_rocks
26.04.2008, 12:45
Terminierung
Hallo Elias!

Den Anfang und das Ende des RS-485-Kabels terminiert man mit einem Widerstand. In einem der beiden Datenblätter des MAX485 sieht man das recht gut.

mfg
Gerold
:-)

EDIT: RS-232 gegen RS-485 getauscht. Danke Vitis. O:)

Vitis
27.04.2008, 04:14
wohl eher am RS485-Kabel, oder? :)