Ich bin bei jeder sich bietenden Gelegenheit ein Fan von seriel steuerbaren LEDs, wie z.B. WS2812B. Im Rahmen eines Modellbau-Projektes (Gleis-Sensoren auf Reed-Basis) stellt sich mir nun die Frage: Gibt es eigentlich auch seriell anreihbare Taster/Sensoren nach dem gleichen Prinzip? Ich stelle mir vor, die bräuchten dann 4 Leitungen: Vcc, GND, Takt und Data. Durch einen Takt-Aussetzer geht das System auf Reset, mit dem ersten Takt erscheint der Zustand des ersten Sensors/Tasters an Data ... Gibts doch bestimmt schon fertig, oder? Hab nur nichts dergleichen gefunden. Danke für Tips. Ansonsten müsste man das mit ATTiny oder diesen neuen 10ct-Prozessoren nachbauen. Ist allemal besser als hunderte sternförmig zu einem Interface verlegte Kabelpaare.
Frank E. schrieb: > Ich stelle mir vor, die bräuchten dann 4 Leitungen: Vcc, GND, Takt und > Data. Durch einen Takt-Aussetzer geht das System auf Reset, mit dem > ersten Takt erscheint der Zustand des ersten Sensors/Tasters an Data ... 74HC595 oder ein anderes beliebiges Schieberegister? Oder ein I2C Portexpander?
Bei meinem alten HiFi Receiver habe ich diese Schaltung entdeckt:
1 | ____ ____ ____ ____ ____ |
2 | ---+--o o--+--o o--+--o o--+--o o--+--o o--+--- |
3 | | | | | | | |
4 | +--[==]--+--[==]--+--[==]--+--[==]--+--[==]--+ |
Also viele Taster in Reihe, und jeder hat einen anderen Widerstand parallel. Abgefragt wurde das dann offenbar mit einem analogen µC Eingang. Das geht natürlich nur mit begrenzter Anzahl von Tastern.
Steve van de Grens schrieb: > Bei meinem alten HiFi Receiver habe ich diese Schaltung entdeckt: >
1 | > ____ ____ ____ ____ ____ |
2 | > ---+--o o--+--o o--+--o o--+--o o--+--o o--+--- |
3 | > | | | | | | |
4 | > +--[==]--+--[==]--+--[==]--+--[==]--+--[==]--+ |
5 | > |
> > Also viele Taster in Reihe, und jeder hat einen anderen Widerstand > parallel. Abgefragt wurde das dann offenbar mit einem analogen µC > Eingang. > > Das geht natürlich nur mit begrenzter Anzahl von Tastern. Hab ich schon öfter gesehen - geschickt binärcodiert kann man damit sogar beliebeig viele gleichzeitig gedrückte Taster herausfinden. Das funktioniert aber aus messtechnischen Gründen nur stabil bei <=8 Tastern...
Frank E. schrieb: > Gibt es eigentlich auch seriell anreihbare Taster/Sensoren nach dem > gleichen Prinzip? Z.B. der DS2413 kann 2 IO-Pins steuern bzw. auslesen. Sie werden parallel an den Bus gelegt und jeder hat seine einmalige Adresse.
Wolfgang R. schrieb: > Das funktioniert aber aus messtechnischen Gründen nur stabil > bei <=8 Tastern... Oder man muss sehr, sehr präzise Widerstände verwenden. Schon bei 8 Tastern braucht man bessere Toleranzen als 0.5%
Frank E. schrieb: > Gibts doch bestimmt schon fertig, oder? Hab nur nichts dergleichen > gefunden. Danke für Tips. Schieberegister (wurde ja schon genannt) ist der Vater von all dem. Als JTAG/Boundary Scan gibt es das sogar für Tausende und abertausende Pins und Speicherstellen. Schieberegister sind prinzipiell auch beliebig anreihbar. Und wenn der letzte seinen Ausgang auf den Master zurückschickt, kann gleich festgestellt werden, ob alle Daten korrekt übertragen wurden.
Harald K. schrieb: > Schon bei 8 Tastern braucht man bessere Toleranzen als 0.5% Du musst nicht ständig Dein begrenztes Wissen zur Schau stellen. Die angehängte Schaltung ist mit 1%-MELF aufgebaut und täte es auch klaglos bei größeren Toleranzen. Die klemmt an einem Arduino mit AT328, man muß halt bei der Programmierung der Abfrage das Hirn einschalten.
Es Fehlen halt Infos, welche Leitungslänge und wie viele Sensoren es denn sein müssen. Generell finde ich 1-Wire da auch ganz gut. Da gibt ID-Chips als SOT23. Sowas nutzen manche Smarthomer bspw. in Verbindung mit Reedkontakten zur Fensterüberwachung.
Moin, wenn du Signale über zwei Adern über eine weite Strecke übertragen möchtest, könntest du das mit Tönen machen. Das DTMF nutzt dieses Verfahren. Der Vorteil ist die Unempfindlichkeit gegenüber Störsignalen. Sender sind z.B. in AVR314 beschrieben oder als Hardware in alten Telefonen vorhanden. Empfänger findet man auch. Gruß Carsten
Peter D. schrieb: > Frank E. schrieb: >> Gibt es eigentlich auch seriell anreihbare Taster/Sensoren nach dem >> gleichen Prinzip? > > Z.B. der DS2413 kann 2 IO-Pins steuern bzw. auslesen. Sie werden > parallel an den Bus gelegt und jeder hat seine einmalige Adresse. Das kommt meinen Ideen am nächsten, insbesondere, dass man eine quasi beliebige Menge davon zusammenschalten kann. Zusammen mit einem winzigen Reed-Kontakt passen die auch perfekt unter bzw. zwischen die Gleise einer Modellbahn. Danke für den Tip. Danke auch an die anderen Tipgeber, aber deren Vorschläge haben alle nicht die Flexibilität, wie ich sie - in Analogie zu den WS2812-LEDs - im Startpost beschrieben habe.
Sven L. schrieb: > Es Fehlen halt Infos, welche Leitungslänge und wie viele Sensoren > es > denn sein müssen. Generell finde ich 1-Wire da auch ganz gut. Da gibt > ID-Chips als SOT23. Sowas nutzen manche Smarthomer bspw. in Verbindung > mit Reedkontakten zur Fensterüberwachung. Die Anzahl sollte halt flexibel sein ... und möglichst wenig Kabelei. Halt ein serieller Bus, deshalb hab ich ja im Startpost auch die WS2812-LEDs zum Vergleich angesprochen ...
Frank E. schrieb: > aber deren Vorschläge haben alle nicht die Flexibilität, wie ich sie - > in Analogie zu den WS2812-LEDs - im Startpost beschrieben habe. Was fehlt denn bei den aSchieberegistern? Der Vorteil ist die implizite Adressierung. Prinzipiell geht auch ein uart pro Knoten, dann reicht 1 Signalleitung. Und je Knoten beliebig viele Arten von ein/Ausgängen. Fertig gibt's solche Chips als TWI (Two Wurre Interface) mitallen möglichen Features.
Bruno V. schrieb: > Fertig gibt's solche Chips als TWI (Two Wurre Interface) mitallen > möglichen Features. TWI ist aber nicht simples Schieberegister sondern Atmels Bezeichnung für I2C. Aber ja, auch I2C könnte gehen, auch wenn es nicht für längere Strecken und getörte Umgebungen gedacht ist.
Manfred P. schrieb: > Harald K. schrieb: >> Schon bei 8 Tastern braucht man bessere Toleranzen als 0.5% > > Du musst nicht ständig Dein begrenztes Wissen zur Schau stellen. > > Die angehängte Schaltung ist mit 1%-MELF aufgebaut und täte es auch > klaglos bei größeren Toleranzen. Die klemmt an einem Arduino mit AT328, > man muß halt bei der Programmierung der Abfrage das Hirn einschalten. Hui hui. Die Aussage halte ich für nicht haltbar. Das Zitat kommt von weiter oben und bezieht sich auf: Wolfgang R. schrieb: > geschickt binärcodiert kann man damit > sogar beliebeig viele gleichzeitig gedrückte Taster herausfinden. Das > funktioniert aber aus messtechnischen Gründen nur stabil bei <=8 > Tastern... Ich kann mir nicht vorstellen wie du mit 1% Widerständen das sicher und zuverlässig an einem 10Bit ADC mit Rauschen machen willst. Es kann gut sein, das das an einem Gerät mit viel Filterung un Mittelwertbildung geht. Aber vermutlich nicht mit der gleichen SW an einem zweiten. Zum TO: ich würde auch sagen Schieberegister oder I2C Portexpander. - Portexpander sind zumeist bidirektional, jeder Knoten könnte also Eingang oder Steuerasugang sein. - I2C ist durch die Adressierung begrenzt auf typisch 8 oder auch bis zu 15 Teilnehmer (oder so in etwa was ich mich gerade noch erinnern kann) - Leitungslänge ist bei beidem kritisch, aber durch sehr langsames Takten bestimmt ausreichend. - Schieberegister sind beliebig viele möglich - ist beides billig und bewährt p.s.: Ich verstehe immer nicht wieso man hier erstmal alle andern halbwegs beleidigen muss, nur um dann darauf hingewiesen zu werden das mal eventuell falsch selbst lag.
Bruno V. schrieb: > Schieberegister sind prinzipiell auch beliebig anreihbar. Allerdings benötigt man recht viele Leitungen (parallel Load, Clock, Din, Dout). Auch sind die sehr störempfindlich. Ein 74LV165 mit typisch bis 165MHz wird Dir haufenweise Störungen einfangen. Ein langsamer HEF4021 geht deutlich besser.
Wie groß ist deine Anlage als das du damit nennenswerte Einsparungen (zeitlich und finanziell) erzielst? Und wozu alles zur "Zentrale" leiten? Bei klassischer Modellbahn-Blocksteuerung geht die entsprechende Ader direkt zum nächsten Signal und stellt es um, fertig. VG
Peter D. schrieb: > Allerdings benötigt man recht viele Leitungen (parallel Load, Clock, > Din, Dout). > Auch sind die sehr störempfindlich. Ein 74LV165 mit typisch bis 165MHz > wird Dir haufenweise Störungen einfangen. Du hast Recht. Ein Schieberegister erfordert sowohl Glue-Logik um mit 2 Leitungen zu arbeiten als auch Erfahrung um entweder sehr schnell oder zuverlässig für kleinere Geschwindigkeiten ausgelegt zu werden. Da sind von vornherein langsamere Systeme einfacher in Betrieb zu nehmen.
Peter D. schrieb: > Allerdings benötigt man recht viele Leitungen (parallel Load, Clock, > Din, Dout). Naja, parallel Load und Din können permanent auf einen definierten Zustand (mittels Pullup bzw. Pulldown) gelegt werden. Bleiben nur noch Clock und Dout. Und genau das will der TO.
Frank E. schrieb: > Das kommt meinen Ideen am nächsten, insbesondere, dass man eine quasi > beliebige Menge davon zusammenschalten kann. Zusammen mit einem winzigen > Reed-Kontakt passen die auch perfekt unter bzw. zwischen die Gleise > einer Modellbahn. Achso, um Modellbahn geht es. Eigentlich ist hier der bewährte (und uralte) S88-Bus schon ganz praktisch. Man verwendet ziemlich einfach gestrickte 16-fach-Moduleinheiten, welche höchst einfach seriell mit LAN-Kabeln in Reihe zusammengesteckt werden können. Diese Variante nennt sich S88-N. An jedem der Module können dann 16 Kontakte parallel angeschlossen werden. Hier wird also Seriell- und Parallel-Verkabelung miteinander kombiniert. Man wird halt nicht gezwungen, das Kabel akribisch von einem Kontakt zum nächsten zu führen, denn das ist auch nicht immer das Gelbe vom Ei. Da könnten schon einige hundert bis tausend Meter zusammenkommen. Besser (und kürzer!) ist oft eine Sternverkabelung zu den Kontakten in der Nähe und Seriell-Verkabelung der Module untereinander, um den Kabelbaum nicht ausarten zu lassen. Okay, LAN-Kabel sind nicht die dünnsten Kabel (obwohl: die gibt es auch!), die man sich hier vorstellen kann. Aber die werden ja auch nicht von Kontakt zu Kontakt geführt, sondern nur von Modul zu Modul. Übrigens: S88 ist eigentlich nichts anderes als ein Schieberegister-Bus, siehe auch https://de.wikipedia.org/wiki/S88-R%C3%BCckmeldebussystem und http://www.s88-n.eu/ Insgesamt lassen sich an einem S88-Bus insgesamt 31 16-fach-Module anschließen. Damit werden dann an einem S88-Bus bis zu 496 Kontakte überwacht. Reicht das nicht aus, skaliert man halt die Anzahl der Busse. Der µC bestimmt den Takt, es sollte daher kein Problem sein, hier mehrere S88-Busse gleichzeitig zu betreiben.
:
Bearbeitet durch Moderator
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.