-
        

+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: 60 - IO's 74HC595

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.11.2009
    Beiträge
    10

    60 - IO's 74HC595

    Anzeige

    Hallo Zusammen

    Ich bin schon seit langem auf der Suche nach einer einfachen und guten Lösung um viele Pins per USB zu steuern.

    Konkret:
    Ich möchte per USB 30 Taster abfragen und 30 Leds einschalten können. Jetzt hat mir ein Kollege das Bauteil 74HC595 von Philips (http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf) empfohlen.

    Nun meine Frage:
    Wie schliesse ich dieses Ding an meinem PC an. Geht das mit RS232? (und dann mit einem RS232 to USB converter...)
    So weit ich das verstanden habe, kann ich mit diesem Bauteil nur 8 Pins setzen, kann aber mehrere hintereinander schalten und somit auch mehr als 8 Pins setzen, ist das richtig? Geht das mit den Eingangs-Signalen gleich?

    Vielen Dank für eure Hilfe

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Das mit dem Kaskadieren stimmt; da kannst du so viele hintereinanderhängen, wie du willst (theoretisch). Wo in der Praxis die Grenze ist, weiss ich garnicht. Aber die dürfte hoch sein.
    Ich vermut mal, dass man auf ne Europlatine garnicht so viele draufkriegt.

    Mit RS232 ansteuern geht "indirekt". Also du kannst die Clock/Data-Signale zwar schon mit den RS232-Steuerleitungen erzeugen. Aber macht wohl keiner. Bei einem USB/RS232-Konverter sind u.U. (je nach Preisklasse) die Steuerleitungen aber sowieso nicht verschaltet => geht eh nicht.

    Eher einen kleinen Controller (AVR, etc.) dazwischenhängen, der direkt ein Byte der Schnittstelle rausschiebt; ist komfortabler.

    Zum Einlesen von Tastern wurde mir der 74HC166 bzw. 74HC597 empfohlen (http://www.roboternetz.de/phpBB2/viewtopic.php?t=56029), habs aber noch nicht testen können.
    #ifndef MfG
    #define MfG

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    24.11.2009
    Beiträge
    10
    Danke für deine Antwort.
    Ist das nicht ein Overkill? Ich möchte eigentlich direkt vom PC aus meine Pins steuern (brauche keine logik dazwischen). Und wenn ich das richtig gesehen habe, wird dieser Controller per Parallelport programmiert, welchen ich auch nicht habe... (und wenn ich dann einen hätte, könnte ich den 74HC595 nicht direkt am Parallelport anschliessen?)

    Kann ich dann den 74HC595 und den 74HC597 hintereinander hängen? Oder muss ich diese trennen? Noch kurz zum Verständnis: Verstehe ich das richtig, dass ich 3 Leitungen benötige um n bits zu setzen?
    Eine um ein Bit zu setzen und mit der anderen Leitung kann ich sagen, dass er quasi diese gesetze Bit nach hinten schieben soll, bis ich alle aufgefüllt habe und mit der dritten kann ich sagen, dass ich fertig bin?

    Freue mich auf eure Antworten - Danke

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Zum Controller Programmieren gibts mittlerweile verschieden Möglichkeiten. Parallel/LPT war die erste; gibts auch per RS232/USB. Wenn du nen Parallelport hast: 74HC595 hin und fertig. Dafür ist der eigentlich gut geeignet. Ich würd sowas für mich einfach schon aus Gewohnheit mit nem AVR machen.

    Die 595 und 597 müssten "nebeneinander" arbeiten; also hintereinander hängen geht nicht, da die Datenrichtung bei beiden ja unterschiedlich ist.
    Du kannst aber beide mit dem gleichen Takt versorgen, dann geht Schreiben und Lesen gleichzeitig.

    Das mit den 3 Leitungen stimmt so.
    1x Takt, d.h. jedes Mal werden die Bits 1 weitergeschoben.
    1x Daten, d.h. ob ne 0 oder 1 reingeschoben wird.
    1x "Update", d.h. erst jetzt werden die Daten auf die Ausgänge gelegt (man kann das auch dauerhaft einschalten, dann sieht man halt die Bits durchrauschen; für ein Lauflicht mitunter auch sinnvoll)
    #ifndef MfG
    #define MfG

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Es gibt noch eine Möglichkeit. ein USB zu I²C Adapter und zum Taster lesen oder LED's u.s.w. schalten I²C Bus Expander einsetzen. Wenn man Taster und LED's über eine Matrix anschließt können bis zu 16 pro IC bearbeitet werden.

    Gruß Richard

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    24.11.2009
    Beiträge
    10
    Hallo zusammen

    @Jaecko
    Der Parallelport hätte ja genügend Pins um
    ein 595 und ein 597 anzuschliessen und somit könnte ich fast
    unendlich viele in und outputs haben, sehe ich das richtig?
    Kann ich die Beiden einfach an ein Kabel löten et voilà?
    Wenn ja, könnte ich dann einen USB zu LPT Adapter verwenden (ist halt leider schon wieder etwas teurer..)?
    Oder gibt es eine gute Alternative wie ich sowas am PC anschliessen kann.
    Ich dachte immer so ein Problem müsste doch schon x mal gelöst worden sein und irgendjemand müsste doch schon einmal ein Tutorial oder ähnliches veröffentlicht haben...


    @Richard
    Meinst du so etwas http://www.mikrocontroller.net/artic...pander_PCF8574 ?
    Aber da habe ich doch auch das Problem wie ich das Ding am PC anschliesse oder?


    Danke vielmals für eure HILFE!

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Du kannst da beide am LPT gleichzeitig verwenden. Wenn ich mich richtig erinner, gibts beim normalen SSP-Modus ja 8 Ausgänge und 5 Eingänge (schon länger her). Reicht also für noch mehr. Beim Löten/Basteln nur etwas aufpassen: Die Ausgänge vom LPT sind nicht sonderlich belastbar bzw. kurzschlussfest.
    Die 595/597 müssten also per Vcc extra versorgt werden.

    USB-LPT-Adapter funktionieren hier nicht. Zumindest nicht die "normalen", die man bei Ebay/Mediamarkt o.ä. nachgeworfen kriegt. Für den ein oder anderen Drucker taugen die zwar was, aber zu mehr auch nicht. Bei sowas brauchts die teueren; und die sind dann wirklich "teuer"; zwar schon bezahlbar, aber im Vergleich zum "Wozu brauch ichs eigentlich?" zu viel.

    Solche Probleme gibts immer wieder; nur sind eben die Anforderungen jedes Mal total anders, so dass es eben jedes Mal andere Lösungen gibt.
    Einmal sinds nur LEDs, ein anderer braucht gleich ne Schaltleistung für 230V/16A. Einmal solls ne Ansteuerung über Schieberegister sein, ein anderer bevorzugt Matrix/Multiplex-Schaltung.
    "Die" perfekte Lösung gibts eigentlich kaum.
    #ifndef MfG
    #define MfG

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von "nob"

    @Richard
    Meinst du so etwas [url
    http://www.mikrocontroller.net/articles/Port-Expander_PCF8574[/url] ?
    Danke vielmals für eure HILFE!
    Ja, genau das meinte ich.

    >Aber da habe ich doch auch das Problem wie ich das Ding am >PC anschliesse oder?

    Es gibt USB > I²C Adapter.
    Gruß Richard

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    12.12.2004
    Ort
    Trier
    Beiträge
    38
    Hi,

    den Vorschlag von Richard, einen USB-I2C-Adapter zu verwenden gefällt mir auch am besten. Alternativ könntest du dich noch hier umsehen:

    http://www.recursion.jp/avrcdc/

    Da gibt es einen USB-SPI-Adapter. Damit könntest du dann wieder deine Schieberegister verwenden. Oder du nimmst direkt den CDC-IO. Ist alles zum Selberbauen. Die Programmierung der AVR sollte mit einem günstigen Evaluationsboard von Pollin keine größeren Probleme bereiten.

    screwdriver
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit. - Sergej P. Koroljow

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Bei allen Arten sollte erwähnt bleiben, die Reichweite ist stark eingeschränkt. Wenn Taster/Sensoren oder Aktoren über weite Strecken arbeiten sollen, muss man z.b. auf CAN oder RS485 zugreifen. Das geht aber nur mittels µC und passende Treiber Bausteine wie z.B. sn74167 (RS485)..

    Gruß Richard

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •