Hallo Forum! Ich möchte mit möglichst wenig Aufwand und Materialeinsatz sehr viele kleine ATtiny seriell mit daten versorgen. Die einzelnen ATs sollen dabei nur daten empfangen und nicht senden. In den übertragenden Daten würde ich dann selektieren welcher teilnehmer sich angesprochen fühlen soll. Ich stelle mir einen Busstrang vor an dem alle Teilnehmer angeschlossen sind: PC RS232 TxD----------------------------------...------------------------------ | | | ... | | | | | | ... | | | | | | ... | | | | | | ... | | | RxD RxD RxD RxD RxD RxD Die gesamte Leitungslänge wird wahrscheinlich zwischen 30m und 50m betragen. Baudrate kann am unteren limit liegen da es hier nicht auf Geschwindigkeit ankommt. Was meint ihr? Ist das machbar? Danke KiliPet
Kannst ja in gewissen Abständen nen Bustreiber dazwischen hängen. Warum nicht?!
Zeichne mal den Gegenstrang auf, dann merkst Du schnell daß es so nicht geht. 80 mal TXD gegeneinander an einen RXD. Seriell ist eine PTP Verbindung und keinen Bus. Dafür gibts besseres das auch nicht schwieriger zu händeln ist. Google mal nach einfachen Bussystemen.
Wieso, wenn die nur Daten bekommen?! Und nichts zurückschicken.
Muss es unbedingt UART sein? Ansonsten schau Dir mal an, wie digitale Modellbahnsteuerungen arbeiten. ...
Google ist Dein Freund. Und die Doku deines yCs! Schau mal nach I2C oder TWI.
Hoppla, ich hatte es falsch verstanden. Dann One Wire. Wenns unbedingt RS232 sein muß, dann braucht er halt entsprechende Bustreiber. Ich würde mir aber den Rückweg offen halten zumal die Controller das heute schon beherrschen.
Bei I2C oder auch TWI genannt komm ich mit den Leitungslängen nicht hin soweit wie ich gelesen habe. Google und ich sind übrigens per Du...
Nun lass Dich mal nich verrückt machen. Du brauchst nur einen kräftigen Bustreiber am Anfang des Strangs und solltest keine zu hohe Baudrate verwenden. Am Ende terminierst Du den Strang nötigenfalls.
Mit dem Gedanke habe ich auch schon gespielt aber bei reichelt kostet ein entsprechender umsetzer mehr als der uC. Ich wollte ein modul so kostengünstig wie möglich bauen. Davon brauche ich immerhin ne ganze menge...
nimm rs485. ist ein einfaches bussystem, was mit ca. +-15 v pegeln arbeitet. dazu gibts viele günstige treiber ics. rückweg ist auch kein problem, darf halt nur ein kontroller senden. warum nicht ? muss es halt einen master geben der sagt wer senden darf. i2c oder spi kannst du auf diese entfernung vergessen
Bei nur einem Treiber am Anfang wäre das ein brauchbare lösung.
um einen treiber wirst du bei der leitungslänge nicht herumkommen. +-5 v funktioniert vl., ist aber ein "pfusch". mehr als 2,3 euro kostet so ein ic nicht
So sehe ich das auch. Wenn du Bauteile sparen willst dann nimmst du am Anfang einen kräftigen Triber (74AC125 o.ä.) und terminierst die Leitung. Wenn dus störsicherer haben willst nimmst du einen RS485 Bus. Ein MAX487 kann 250kBit Baud und bis 128 Transceiver im Bus haben. Dann hast du gleich eine störsichere differnetielle Übertragung und kannst trotzdem UART nutzen.
Ich würde nur einen einzigen Umsetzer von RS232 auf TTL auf npn-Open Collector nehmen und den Datenstrang mit 5..0V-Signalen füttern. Auf jeder Modulplatine braucht dann nur ein Pullup im Wert von 100kOhm und ein Schutzwiderstand zum RXD-Pin in Höhe von 2k2...4k7 geschaltet werden. Billiger geht´s nicht und Baudraten bis 19200 sollten kein Problem sein
das sicher auch gehn..die frage ist halt wie fehleranfällig das ganze sein darf und wie schlimm ein ausfall ist. ist es ein bastelprojekt oder geht es um was ? bei 5 v wirken sich halt einkopplungen schlimmer aus.
Das ist ein besonderes beleuchtungsprojekt. Wenn mal ein telegramm ausfällt ist das nicht tragisch. Ich werde wohl RS485 nehmen. Da hab ich bei Reichelt einen Transeiver von TI (SN75176) für 26ct gefunden. Taugt der was? Wenn ich dann einen RS485 Pegel habe könnte ich ja sogar sämtliche Teilnehmer in meinen bestehenden Profibus aufnehmen. Entsprechende portierungen für einen Profibus-Slave in C hab ich hier im Forum bereits gefunden. Wenn auch nicht für den ATtiny (wenn der überhaupt stark genug ist dafür).
SN75176 ist der Standard-Popel-Wald-und-Wiesen-RS485-Transceiver; für Deine Zwecke mehr als ausreichend. Zum Thema I2C und 50m: Wer gelegentlich in diversen Hausbusforen mitliest, ist sicherlich auch schon über die Mutigen gestolpert, welche irgendwelche I2C-Temperatursensoren angeblich problemlos mit Buslängen von 100m und mehr betreiben. Ich persönlich würde sowas ebenfalls nicht machen; schon gar nicht bei so einer essentiellen Anwendung wie einer Haus-Temperaturregelung. Aber es scheint tatsächlich wider Erwarten zu gehen. Wenn's billiger als RS485, unidirektional und möglichst störresistent sein soll: Was spricht gegen eine modulierte Stromquelle - sagen wir 0/10mA - und ~80 Stromsenken? MfG Patrick
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.