Hallo, ich habe folgendes Problem: Für ein komplexes Steuerungsprojekt möchte ich über den PC ca. 50 Schalter setzen und ca. 40 Schalter einlesen. Daher benötige ich eine Schaltung, die es mir erlaubt, 128 Schalter lesen und schreiben zu können. Zur Verfügung stehen je zwei parallele und zwei serielle Schnittstellen. An die Ausgänge werden Relais angeschlossen, an den Eingängen hängen einfache Schaltkontakte. Nun habe ich als Vorschlag die Lösung mit einem Matrix-Multiplexer bekommen. Wie müsste ich das schematisch realisieren? Hat jemand einen anderen Lösungsansatz oder bereits so etwas entwickelt? Ich bin für jede Hilfe dankbar.
Eine andere Möglichkeit wäre die Realisierung über I2C-Bus. Dazu könntest du den PCF8574A und PCF8574B nehmen. Jeder hat 3 Bits, um die eigene Adresse einzustellen: Das heisst bei Verwendung von A und B Typ kannst du 16 von diesen ICs an einem Bus betreiben. Macht 128 Ein- und Ausgänge. Am PC würde ich zur Anbindung an I2C die COM Schnittstelle benutzen (hat man in der Regel ja noch eine frei). Der Vorteil dieser Methode: Einfach zu realisieren. Der Nachteil: Diese Methode ist nicht gerade preiswert. Gruese, Alex
Hallo Alexander, ich hätte da 2 Lösungsmöglichkeiten (werden vielleicht dem Einen oder Anderen antiquiert vorkommen, aber: es funktioniert !): http://www.sphinxconnect.de/ bietet eine große Auswahl an Industriekarten an. U.a. 8255 Boards mit bis zu 192 Kanälen. Du brauchst zwar dann noch Relais-Treiber (ULN xxx), aber das sollte sich in Grenzen halten. 2001 hat ein solches Board mit 96 Kanälen ca. 70 EUR gekostet. Ich müßte mal schauen, ob ich da noch eins habe. Was ein Problem werden könnte: das sind ISA-Boards. Also nichts für supermoderne PCs. IIC-Bus. Ich habe mehrfach erfolgreich PCF8574 am LPT-Port betrieben. Mit dem entsprechenden Adapter kann man 4 seperate Busse an einem LPT betreiben. Jeder PCF8574 hat 8 I/Os. Relaistreiber sind aber wohl auch hier nötig. Das IC kann zwar 25mA, aber nur bis 5V. Bis dann, Michael
Hallo, danke für die schnellen Antworten. Die Alternative mit dem I²C System gefällt mir am besten. Sehe ich das folgendermassen richtig: ich hänge 8x PCF8574 an einen I²C-Bus und kann somit über Software-Adressierung die jeweils 8 Gates entweder lesen oder schalten? mit welchem baustein kann ich diese ausgänge denn so verstärken, daß ich ein 220V-Relais anhängen kann?
Hallo Alexander, es gibt viele Möglichkeiten: 1. fertige I/O Karte für PCI- oder ISA-Bus. Siehe z.B. "DECISION-COMPUTER": http://www.decision-computer.de/dio/dio8255-192.htm http://www.decision-computer.de/dio/dio8255pmv.htm 2. selbstgebaute ISA-Bus I/O Karte, z.B. mit: 8255 oder 74245, 74377 ... 3. Mikrocontroller Schaltung die per serieller/paralleler Schnittstelle mit dem PC kommuniziert ... ... Kommen für dich I/O Karten in Frage ? Soll es mit "jeder" parallelen Schnittstelle funktionieren, oder kommt auch ECP/EPP für dich in Frage ? Möchtest du alles selbstbauen ? Was darf das ganze Kosten ? Wie schnell muß das ganze sein ? Die I²C-Bus Lösung halte ich persönlich für sehr langsam und teuer.
Hallo Alexander Noch eine Adresse: www.woe.de.vu Dort gibt es Informationen zu einem I2C-Adapter für die serielle Schnittstelle (COM) Günter
Hallo zusammen. Zu deinen Fragen @ A. Deck: >ich hänge 8x PCF8574 an einen I²C-Bus und kann somit über >Software-Adressierung die jeweils 8 Gates entweder lesen oder >schalten? Antwort: Ja. Wie die Anschaltung des I2C-Bus an die Com-SS vorzunehmen ist steht bei google. Bedenke jetzt schonmal bei der Planung deines (Steuer-)Programmes, dass du direkt auf den Par-Port oder die Com-SS schreiben möchtest. Das lässt nicht jedes Betriebssystem von Haus aus zu. >mit welchem baustein kann ich diese ausgänge denn so verstärken, daß >ich ein 220V-Relais anhängen kann? Antwort: Ich schalte höhere Lasten immer so (aber noch nie Spannungen über 12V): An den entsprechenden Ausgangspin des ICs kommt ein BC547-Transistor. Mit diesem wird die Spule des Relais gesteuert. (Freilaufdiode nicht vergessen und Einbaurichtung beachten). Da du 'normale Verbraucher' schalten möchstest würde ich vor die Basis des BC547 einen geeigneten Optokoppler schalten. Sicherheit für Mensch und Maschine ;) Grüße, Alex
Hallo Dein Steuerungsprogramm läuft am PC? Für solche Zwecke würde ich ein eigenes µC Board bauen. Ausgänge und Eingänge über I2C, Schieberegister, Speicherausklammerung realisieren. Für I2C habe ich mir Module für 8xEIN 8XAUS (24V, Optokoppler und Relais) gebaut. Das ganze für Hutschienenmontage. Wenn das ganze industriemäßig sein sollte würde ich auf eine SPS setzen. (für einige EAs zahlt sich eine Eigenentwicklung für geringe Stückzahlen nicht aus) Die Steuerung sollte nur in diesem µC Board / SPS laufen und erhält vom PC nur Befehle. (eventuell ein Visusystem)
Hallo Meiserl, hast du ein Foto von deinen Ein/Ausgabe Modulen ? Ich bin nämlich auch "Hutschienenfan" (wegen Gebäudeinstallation). Bis dann, Michael
Im Moment nicht .. aber kann ich sicher Morgen nachholen.
Hallo, vielleicht erzähle ich Euch erstmal, worum es genau geht. Bei mir im Keller steht ein relativ seltener Flipper aus den 70er Jahren. Da die Steuerplatine nicht mehr funktionstüchtig ist, habe ich vor, die komplette Steuerung über einen PC zu emulieren. Es geht darum, ca. 50 Lampen und Spulen zu schalten und von etwa 40 einfachen Berührungskontakten die Stellung auszuwerten. Alles in allem also um die 100 Ein- und Ausgänge. Daher spielt die Geschwindigkeit überhaupt keine Rolle, jeder Bus ist immer noch schneller als eine Flipperkugel mit Lufwiderstand ;-) Die Schaltlogik werde ich dann per Hochsprache definieren. In den Flipper kommt ein kleiner Pentium, daher ist generell ISA nicht mehr drin. Zur Verfügung stehen also 2 serielle und ein bis zwei parallele Schnittstellen. Nun würde ich mir ein Interface bauen, auf dem 16x der PCF8574 sitzt. Jede der seriellen Schnittstellen steuert also 8 IC's - macht insgesamt 128x In/Out. Die Berührungskontakte kann ich ja sicherlich direkt mit den Eingängen verbinden, an die Ausgänge kommen - wie Alexander Niessen schreibt - Transistoren, Optokoppler und schließlich Relais. Falls jemand Verbesserungen zu dieser Idee hat, immer her damit!
Was spricht dagegen die Schaltung auf einem µC Board laufen zu lassen?
Weil ich mich mit µC bisher nicht beschäftigt habe. Gibt es den auch dafür ausführliche Informationen im Netz? Zu I²C ist ja jede Menge zu finden. Außerdem: Was spricht gegen I²C? Die paar Portbausteine kosten pro Stück 2,50, und viel mehr ist es ja nicht.
Gegen I²C spricht überhaupt nichts. Der Vorteil daran ist die einfache Erweiterbarkeit. Zwar gehts mit Schieberegistern billiger, aber da muß jedes Bit immer durch alle durchgeschoben werden. Ist geschmackssache, für welches Prinzip man sich entscheidet. Ein PC ist schon ein wenig mit Kanonen auf Spatzen geschossen. Ich habe mal in einen der moderneren Flipper reinschauen dürfen, dort werkelte ein 68000 er-System (allerdings "diskret" aufgebaut, so richtig mit RAM und ROM und irgendwelchen PIOs). Die einfachste Variante läßt sich über den Parallelport aufbauen (sogar im Standard-Modus). Schau mal hier: http://www.ft-fanpage.de/interface/interface.htm Wenn Du sowieso Relais für die Ausgänge benutzt, kannst Du Dir die Optokoppler allerdings ersparen. Bei den Kontakten wäre ich vorsichtig: Zu hochohmige Eingänge können den Spielbetrieb stören, denn die in den Flippern verwendenten Zugmagneten / Spulen ziehen recht viel Saft, da könnte es zu Übersprechen kommen. Ich würde die Eingänge mit ca. 20 - 100mA belasten, denn die alten Kontakte brauchen auch Strom, um sauber zu bleiben (der Lichtbogen hat einen gewissen Reinigungseffekt). Um sicherzugehen, daß der PC garantiert nichts abkriegt, würde ich die Eingänge noch zusätzlich galvanisch trennen (und die original Flipper-Kontakte auch mit den 12 oder 24 Volt laufen lassen). Gruß
Wenn das so ein seltener Flipper ist, würde ich die alte Steuerplatine lieber reparieren, um die Nostalgiewert zu erhalten. In ein Oldtimer baut man auch kein V6 TDi ein, wenn der Motor kaputt ist. Ich weiß nicht wie so eine Steuerplatine aussieht, aber die Technik aus den 70er Jahren kann nicht so kompliziert sein das man die nicht reparieren oder nachbauen könnte! mfg michi
Allerdings reizt mich nicht nur die Instandsetzung des Flippers, sondern als Informatiker die Möglichkeit, viele verschiedene Presets auf einem Flipper zu spielen bzw. die Logik komplett selber zu gestalten. Die Originalplatine kann ich auch für 200 kaufen, aber das ist nun mal nicht das selbe. Und natürlich wir es oft bei Bastlern der Fall ist, ist bei mir der Weg das Ziel. Wenn nachher das ganze läuft, werde ich es vielleicht nicht mal so oft nutzen...
Der I2C-Bus benötigt bestimmte minimale Timings, was auf einem PC ja nicht so einfach ist. Deshalb würde ich eher zu Schieberegistern raten, die kannst Du ohne jede Rücksicht so schnell wie möglich updaten und sind außerdem billiger. Z.B. 74HC595 (8 Ausgänge) und 74HC165 (8 Eingänge) Der Vorteil, alle Eingänge werden exakt zur gleichen Zeit abgefragt bzw. alle Ausgänge exakt gleichzeitig gesetzt (Mit dem Strobe bzw. Latch-Impuls). Ist zwischen PC und Platine eine etwas längere Leitung, sollten die Signale differenziell übertragen werden (SN75179 oder LTC490). Peter
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.