PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verbindung von 2 Mega16



Dumme Nuss
13.03.2006, 13:49
Hallo,

bin in diesen Thema ziemlich neu, und möchte jetzt zwei Mega16 miteinander verbinden. Ich benötige es für meine Eisenbahn, da ich den Kabelsalat verkleinern möchte!
Ich möchte die Taster von meinen Stellpullt eigendlich nur 1:1 übertragen.
d.h. wenn ich taster 1 drücke soll an meinen Slave porta.0 high werden,
taster 2 porta.0 low
usw...

ich bitte um Hilfe!

mfg

Florian

Ringo
13.03.2006, 14:04
schau dir mal Multiplexer systeme an! Da kannste Parallele Daten in Serielle Umwandeln und mit dem DeMultiplexer wieder zurück! Ist vll einfachher wie 2 Megas zu verbinden..



Um wieviel Taster müssen es denn sein?

MfG
Ringo

Dumme Nuss
13.03.2006, 14:09
Ich habe insgesamt 60 taster für 30 Weichen bzw Signale (links/rechts, rot/grün)

Beim einschalten der Anlage sollten sich alle Weichen und Signale in eine vorgegebene stellung schalten.
z.B. Signale rot

Ringo
13.03.2006, 14:17
hmm

Ich würde einen Atmega nehmen und einen (oder mehrere) I2C Porterweiterungs ICs z.b den MAX7300.. Die Anfangsstellungen kannste einprogrammieren. Dann noch jeweils einen Taster.. der beim Drücken das Signal ändert (aus einer 1 eine 0 macht) dann haste "nur" noch 30 Taster..

I2C hab ich gelesen hat aber eine begrenzte Reichweite.. 1m?

Reicht das?

MfG
Ringo

Dumme Nuss
13.03.2006, 14:24
Die 60 Taster sind schon vorbereitet. Hätte mir gedacht 2 Master über TWI
zu je einem Slave. Hatte aber Probleme mit dem Programmieren.
Alles was ich im Internet gefunden habe hat nicht funktionier oder ich habs nicht richtig verstanden.

"I2C hab ich gelesen hat aber eine begrenzte Reichweite.. 1m? "
hab ich auch schon gehört!
Wollte es eigendlich über Seriell probieren.
Brauch aber zwischen 1,50 bis 2 meter .

molleonair
13.03.2006, 14:34
also du kannst die auch über 3 adern verbinden (GND,DAT,CLK)
da kannst du beliebige Ports für nehmen
und dann kannst du mit shiftin und shiftout daten versenden

ich habe gerade um ausgänge zu sparen mit shiftout und einem tll 74164 (seriell auf 8-OUT) zwei 7-segment anzeigen gesteuert .
Also 14 LEDS mit zwei adern ,das war voll einfach
diese dinger lassen sich beliebig oft hintereinander schalten und sind spottbillig
genauso lassen sich mit 74165 (8 Eingänge auf seriell) und shiftin beliebig viele taster einlesen
wenn du die beiden 74xxer nimmst brauchst du sogar nur einen AVR um alles zu steuern

Gruß Daniel

Dumme Nuss
13.03.2006, 15:08
Hab schon 4 Mega16 daheim und möchte nicht noch was bestellen.
Hätte nicht gedacht das die master-slaver kommunikation so ein problem ist.

Wüde mich freuen wenn jemand einen Quellcode für so eine kommunikation über die serielle schnittstelle posten könnte.
Evl. mit 2 oder 3 Schaltabläufen

Danke im Voraus

Floh

Vitis
14.03.2006, 08:19
Du kannst die TWI verwenden, die Reichweite hängt von der
Übertragungsgeschwindigkeit ab. Je kleiner die Übertragungsrate
je weiter kann der Bus gezogen werden.
Was die Störanfälligkeit in der Modellbahnanlage angeht kenn ich
mich nicht so aus, aber ich glaub da fliegen ziemlichdie Funken.
Ich würd mir mal die RS485 anschaun, da kannste dann zur Not auch
Verbindungen über 1 Kilometer mit herstellen und die sind recht
Störunanfällig.

Für die Beschaltung brauchste nur die UART Pins + 1 Pin für die
Datenrichtung

Dumme Nuss
14.03.2006, 09:09
Danke erst mal für die Tips
Das mit dem RS485 hört sich sehr gut an. Ich hab nur leider was die Programmierung von Master und Slave betrifft NULL Erfahrung. Kann zwar mit einem Mega16 ein bisl rumspielen aber ein 2-Draht Bus-Programm ist für mich neuland und ein Funktionierendes Beispiel wär echt hilfreich.

MFG

Floh

jojo3
14.03.2006, 10:04
Also ich hab meine Eisenbahnsteuerung mittels I2C gemacht.
Dabei hab ich mehrere kleine Module in Weichen- bzw. Signalnähe
plaziert und über ein Flachband-Kabel mit Bus und Spannung
versorgt. Das geht über mehrere Meter und macht bei mir absolut kein Problem. Mit einzelnen Steuereingängen arbeite ich allerdings nicht.
Ich steuere via RS232 mittels PC und zusätzlich über eine
IR-Universalfernbedienung (RC5). Als I2C-Slaves nehme ich jeweils PCF8574.