Ich suche eine Möglichkeit, bis zu 500 jeweils 4stellige 7-Segment-Anzeigen (LED) mittels eines einfachen Busses von einem PC aus anzusteuern. Ich stelle mir dazu eine kleine Schaltung bei jeder Anzeige vor, auf der ich z.B. per DIP-Schalter eine eindeutige Adresse vergebe. Auf einen (möglichst "schmalen", also aus wenigen Adern bestehenden, z.B. RS232) Bus wird dann zuerst die Adresse, dann die vierstellige Zahl angelegt und auf der korrekt adressierten Anzeige leuchtet dann eben diese Zahl auf. Die Anzeigenmodule sollten im Dasy-Chain Verfahren einfach alle "hintereinander" gehängt werden können. Gibt es sowas schon? Könnte das jemand hier im Forum entwickeln? Und wenn ja: was würde so eine Lösung etwa kosten? (kleine Prinzipskizze anbei)
von Philips gibt's dafür I2C Bus Bausteine. Irgendwas mit SAA glaubich. 2 davon sind bei Reichelt zu haben. Einer kann nur 1 Segment, der andere 2 und im Multiplexbetrieb 2*2. Da mußt Du aber noch etwas mehr an Ansteuerung dranhängen damit das so einfach vom PC geht. Und der I2C Bus kann auch nur eine bestimmte Anzahl Adressen. Also ich glaube, daß bei spätestens 255 Schluß ist.
Könnten dir so etwas entwickeln. Hatten mal so ein Projekt. SJ Josef
Hallo! I2C hat normalerweise 7 Bit Adressen - du kannst also 128 einzelne Bausteine ansteuern (ein paar weniger, weil einige Adressen für Sonderzwecke reserviert sind). Eine neue Spezifikation von I2C lässt inzwischen 10 bit Adressen zu - es wären also 1024 Slaves möglich. Nachteilhaft ist, dass erstens meiner Meinung nach nur eine begrenzte Anzahl an Slaves an den Bus gehängt werden darf, um ihn physikatisch nich zu überlasten - die Leitungen haben eine vorgeschriebene maximale Kapazität die sich mit jedem Slave und mit erhöter Leitungslänge vergrößert. Außerdem dürfen aus og. Gründen auch die Leitungen nicht zu lang werden. Es gibt weitere Methoden, das ganze aufzubauen. Bei RS 232 spielen Leitungslängen kein Problem - die Anzahl an Slaves ist auf 32 begrenzt. Um mehrere anzuschließen muss man einen Repeater o.ä. anschließen um die Anzahl zu erhöhen. Das zu entwickeln ist sicherlich nicht ganz billig. Schon alleine die Anzeigen und die Bausteine werden über 1k Euro kosten. Dann Platinen, Arbeitszeit, ... Viele Grüße Steffen
Tach, schau mal bei ELV ,die haben "Speedypick" oder so ähnlich. Ist eigentlich zum komissionieren von Waren.Da werden zig LED Anzeigen über RS485 angesteuert.
Also RS232 ist im Normalfall eine Punkt-zu-Punkt-Verbindung, da ist nichts mit mehreren Teilnehmern. Gemeint war sicherlich RS485, gleiche Logik (UART) aber andere Physik (Pegel). Damit lassen sich auch längere Kabelstrecken (je nach Geschwindigkeit) überwinden und ein Bussystem aufbauen. Je nach verwendeten Transceivern sollte mann dort aber auch einen oder mehrere Repeater vorsehen. Die Schaltung der Displays könnte recht Einfach mit einem kleinen uC und ev. Transistortreibern für die LED-Anzeige realisiert werden... Einer der erwähnte I2C-Baustein ist sicherlich der SAA1064. Nur kann man den selbst nur auf maximal 4 verschiedene Adressen einstellen, mehr als 4 Bausteine am selben I2C-Bus sind damit ersteinmal nicht möglich, auch wenn I2C mehr Adressen kann (beim I2C sind für verschieden "Bausteinklassen" Adressbereiche reserviert, von der eigentlichen Bausteinadresse lassen sich in der Regel nur die letzten 1-3Bits von Aussen einstellen). Ausserdem ist I2C nicht wirklich für Kabellängen geeignet. Die mögliche Alternative CAN ist sicherlich vom Aufwand nicht geeignet. Bei 500 Stück sollte man vielleicht auch über eine maschinelle Bestückung usw. nachdenken. Jörg
Wenn es nur in eine Richtung gehen soll, ist das auch mit RS232 kein Problem, an einen Sender können mehrere Empänger angeschlossen werden. Wieviele Empfänger ein Sender verkraftet, welche Leitungslänge bei welcher Baudrate - sicher interessante Fragen :-) RS485 wäre wahrscheinlich die bessere Variante.
a) Der Abstand der Anzeigen ist natürlich eine kritische Größe. Sollte man mit meist wenigen cm oder einigen Metern auskommen bietet sich eine 5V oder 3V RS232 oder per Umsetzer eben normgerecht +-12V an. Bei 5V/3V könnte man Stereo-Klinkenbuchsen verwenden und damit GND, Vcc und eben Signal übertragen. b) Am sinnvollsten erscheint mir eine Umsetzung per Controller wie ATiny2313 (+Keramik-Resonator) und eine Software zur gemultiplexten LED-Anzeige an. Jeder ATiny hätte eine eindeutige Adresse (EEROM) und würde nur Anweisungen für diese entgegen nehmen. Für andere wäre er ein Repeater zum nächsten Modul. c) Bei 9600 Baud und 4 Byte (2* Adresse, 2* Hexadezimal Daten) ergäben sich max. 250 neue Übertragungen oder alle 2s eine Aktualisierung der 500 Anzeigemodulen. d) Die Module lassen sich per 'Dasy-Chain', aber auch (wg. Ausfallsicherheit) teils sternförmig ansteuern, sobald mal 2 Eingänge an einen Ausgang gehängt werden. e) Kosten: - Controller ca. 1,50 - Resonator, Transistoren, Kondensatoren etc. ca. 2,50 - LED-Anzeige ca. 2.- - abschnittsweise Netzteile - Platine, Fertigung je nach Organisation In Summe dürften ca. 10-15 Euro je Modul entstehen. Da man die 500 Module ja auch kostenintensiv vorort einbauen muss, sicherlich noch im Rahmen. Noch mehr Details sinnvoll zu definieren, wenn die örtlichen und räumlichen Gegebenheiten definiert sind. Gruß
"Die Anzeigenmodule sollten im Dasy-Chain Verfahren einfach alle "hintereinander" gehängt werden können." Dann brauchst Du doch überhaupt keine DIP-Schalter. Jeder hört auf die Adresse 1 und alle anderen Daten schickt er mit der Adressen um 1 vermindert an den nächsten. D.h. Daten der Adresse 1 wertet er selber aus. Daten der Adresse 2 schickt er mit der Adresse 1 an den nächsten. Daten der Adresse 3 schickt er mit der Adresse 2 an den nächsten usw. Wenn man vom letzen Modul wieder an den PC geht, kann der auch feststellen, wieviel Module gerade angeschlossen sind. Jeder Modul hat 2 Sub-D9 Anschlüsse, die Rückleitung wird durchgeschleift und der letzte Modul bekommt einen Kurzschlußstecker. Peter
a) Habe es nicht direkt aufgeführt - aber die DIP-Schalter hatte ich eh schon gestrichen. b) Natürlich gehts auch mit automatischer Auswertung. Ist aber 'empfindlicher', wenn beim Einbau irgendwelche Module vertauscht werden oder bei Reparaturen. Vielleicht einfach auch nur einen solchen Modus für die Inbetriebnahme vorsehen. Kritisch eher die Rückschleife, denn man muss wahrscheinlich vom entferntesten Controller zurück und hätte bei mehreren Strängen dann mehrere Sender für eine V24 Eingang am PC. c) Sub-D9 ist im Prinzip ok, aber man benötigt eben zusätzlich die Pegelwandler oder eben +-12V als Spannungszufuhr. Auch etwas mehr Bauteileaufwand. Zudem könnte eine Auslegung auf 3,3V (per PC-Netzteil) den Energiebedarf am minimalsten halten (Vorwiderstände der LEDs). Auch lassen sich 4 LED-Anzeigen, ein ATiny2313 (SMD oder DIL) und 2 Buchsen auf einer Platine unter bringen, die gerade mal so groß ist wie ein handelsüblicher Einbaurahmen für LED-Anzeigen. Aber Pegelwandler dürften (Anzeigen verteilt in mehrere Gebäude) in kleinen Stückzahlen eh nötig sein. Könnte man aber gleichzeitig als Verteiler auslegen, als ein 3,3 bis 5V Eingang ergibt zwei normgerechte V24 Pegel (z.B. per MAX232).
Du kannst das auch mit Schieberegistern (74595) lösen. Ein Mikrocontroller, der die Daten vom PC empfängt und in die Schieberegister schiebt.
Sebastian: ''Du kannst das auch mit Schieberegistern (74595) lösen. Ein Mikrocontroller, der die Daten vom PC empfängt und in die Schieberegister schiebt.'' ------------ Also 4* HC595 kosten bei Reichelt 4* 0,33 = 1,32. Dazu noch eine größere Platine, zusätzliche Widerstände (24 Stück). Der ATtiny2313 kostet dort 2,00 Auch kann man über etwas Distanz nur noch mit begrenztem Schiebetakt arbeiten, während die digitalen V24 Signale bei Bedarf einfach auf Normpegel angehoben werden können und bei 9600 Baud leicht 10-50m packen könnten (vielleicht terminiert)
Wow, das hätte ich nicht gedacht, dass sich so viele so engagiert hier beteiligen. Daher schonmal ein dickes "DANKE" an alle für Eure Ideen und Anregungen. Hat mir sehr geholfen! Da ich dieses Projekt bei einem Kunden anbieten muss, suche ich Leute, die eine derartige Schaltung professionell entwickeln (Schaltpläne, Leiterplattenlayout, simple Software für Windows PC, evtl. Herstellung der Platinen). Mein Kunde hat selbst eine (Kleintransformatoren-) Fertigung in Tunesien und würde wahrscheinlich dort die Platinen bestücken lassen. Die Anforderung nochmal anders formuliert: auf einem PC liegt z.B. eine txt-Datei, in der je Zeile eine Adresse und ein Zahlenwert (max. 4stellig) abgelegt sind. Mittels der Adresse müssen sich bis zu 350 Anzeigen adressieren lassen. Ein kleines Softwareprogramm muss nun die Datei auslesen. Die Zahlenwerte sollten dann auf den zugehörigen Anzeigen aufleuchten. Per Knopfdruck an der Anzeige wird diese wieder gelöscht. Toll - aber nicht unbedingt notwendig - wäre, wenn erst wieder eine neue Datei (also neue Zahlenwerte für die Anzeigen) eingelesen werden könnte, wenn alle Anzeigen mittels des Knopfes gelöscht wurden. Wer sich also in der Lage sieht, eine solche Schaltung (und Progrämmchen) zu erstellen, der schickt mir bitte eine mail an k.kling@acom-ohg.de Danke nochmal, Kristof Kling
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.