Modellautosteuernung

Skyfoxx

Neues Mitglied
05. Dez. 2011
3
0
0
31
Sprachen
Hallo Zusammen,
hab da mal eine frage
ich muss 3 7-segmente über einen pic (16f887) ansteuern.
da ich jedoch versuchen möchte so wenig ports wie möglich dafür zu benutzen dachte ich an treiberbausteine.
habe mir auch mal den MAX7219 angeguckt. versteh aber nicht genau wie ich den mit dem pic steuern kann.
könnt ihr mir einen treiber oder ander lösungsvorschläge vorschlagen ?
die 7-segmente sollen zahlen von 0-230 anzeigen.
MFG Skyfoxx ;)
 
Hallo,

ich muss 3 7-segmente über einen pic (16f887) ansteuern.
waaaahh ! Feind hört mit :cool: nee ... wolln mal sehen ... ;)

da ich jedoch versuchen möchte so wenig ports wie möglich dafür zu benutzen dachte ich an treiberbausteine. habe mir auch mal den MAX7219 angeguckt. versteh aber nicht genau wie ich den mit dem pic steuern kann. könnt ihr mir einen treiber oder ander lösungsvorschläge vorschlagen ? die 7-segmente sollen zahlen von 0-230 anzeigen.
Also nun kommt es drauf an ob du wirklich viele Ports sparen willst oder ob die Schaltung auch nicht zu stark anwachsen darf.

- 1. Vorschlag ...
du nimmst 2Stk 74595 (Seriell-In Parallel-Out) Schieberegister die du zu einem 16Bit Schieberegister hintereinanderschaltest. An das eine packst du für die gemeinsamen Anoden (oder Kathoden) der 3 Anzeigen entsprechende Treibertransistoren dran (zB BC547 oder BC557 ... je nachdem). Das verbraucht 3 Pins (Datensignal, Datentakt und Übernahmetakt ins Ausgangslatch). Das kann man entweder hardwareunterstützt über den SPI-Bus laufen lassen (wenn der PIC sowas hat) oder per Software und Bitgezappel machen.

- 2. Vorschlag ...
du nimmst 2Stk I2C 8Bit-IO-Portexpander (zB PCF8574) auf 2 verschiedenen I2C Adressen und steuerst damit mit entsprechenden TreiberICs für die Segmente und gemeinsamen Anoden/Kathoden die Anzeigen auf vergleichbare Art an. Das kann man statt dessen auch mit einem I2C 16Bit-Portexpander machen. Man braucht da wegen der etwas schwächlichen Ausgangstreiber aber immer für beides (Segmente und CA/CC) entsprechende Treiber. Das wird also größer benötigt aber nur 2 Pins. Entweder hardwareunterstützt mit dem I2C-Bus oder ner Software-I2C-Bibliothek.

Soweit erstmal 2 Denkanstöße/Beispiele.

Gruß
Dino
 
hey danke für deine Antwort

ich hab mich jetzt dazu entschlossen die segmente zu multiplexen
Tut_7_Seg_03.gif

nach diesem Prinzip
jedoch bei uns nur mit 3 segmenten. und ein davorgeschalteten treiberbaustein. wir dachten an den 74ls247. Somit brauchen wir zur ansteuerung nur 4 Ports und 3 um die einzelnen segmente anzusteuern.
wir haben nur das problem, dass die Spannung an den LEDs auf 1/3 sinkt. und diese sehrt schwach leuchten.
gibts dafür eine einfache lösung?
MFG Skyfoxx
 
Hallo,

die Spannung an den LEDs bleibt ja konstant. Durch das multiplexen verringert sich die Einschaltzeit bei dir auf 1/3, so dass die LEDs nicht mehr so hell erscheinen. Am einfachsten ist es, wenn du den LED-Strom erhöhst (falls möglich), das erreichst du, indem du die Widerstände nach dem BCD-nach-Siebensegment-Dekoder verringerst.

Du musst hier volgendes berücksichtigen:
  • Den maximalen LED Vorwärtsstrom nicht überschreiten
  • Den maximalen Ausgangsstrom (sink current) des Dekoders nicht überschreiten (die PNP-Transistoren dürften bezüglich des Stroms kein Problem sein)
  • Die tatsächliche Spannung an einem R-LED Zweig ist nicht VCC sondern VCC verringert um den Spannungsabfall am Transisitor und um V_output_min des Dekoders. Diese Spannung benötgst du um den LED-Strom zu ermitteln, ich schätzt mal so um die 4,2V (5,0-0,8, hier musst du mal in die Datenblätter schauen).
Eine weitere Möglichkeit, die Helligkeit zu erhöhen: LED-Anzeigen verwenden, die schon bei kleineren Strömen heller leuchten ... Oder auf Multiplexen verzichten und die LEDs statisch betreiben. Dino hat hier ja schon das Schieberegister und den Port-Expander erwähnt.

Gruß,
Dirk
 
[*]Den maximalen Ausgangsstrom (sink current) des Dekoders nicht überschreiten (die PNP-Transistoren dürften bezüglich des Stroms kein Problem sein)
rechne mal mit 10mA. Maximal 20mA was so ein TTL-IC nach GND schalten kann.

74LS247 (der 54LS247 hat nur 12mA!!!)
Anhang anzeigen 74_LS_247_BCD-to-7Segm-DecDriver_OnSemicond..pdf
nach dem Datenblatt maximal 24mA
Dann rechne mal die 5V (Vcc) minus Durchlaßspannung der LEDs minus UceSat des pnp-Transistors und das ganze durch die maximalen 24mA. Was da rauskommt sollte der absolut minimale Widerstand sein. Eher etwas mehr. Geh also hoch auf den nächst größeren Widerstandswert der E12-Reihe.

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)