7 Segmente ansteuern

Hallo Neuuser,

Michael, kann ich ich die Ausgänge auf SCK, MOSI, MISO verschieben, weil ich eventuell die Ausgänge B1 und B2 für PWM benutzen will.
Weil ich noch ein LCD zu den 7 Segmente benutze, ist nicht viel Auswahl an Pins.
Die SW-UART kannst Du auf jeden Pin legen.

Wozu hast du den Tiny noch mit rein genommen ? vor kurzem habe ich in der Hartware Spalte dies soft von deiner Ansteuerung geholt, die war nur für ein Mega8.
Die Tinys - einer für jedes Fahrzeug - sparen die Pins am ATmega8. Der 8er muß später pro Fahrzeug 6-8Pins auswerten bzw. schalten. Wahrscheinlich geh ich gleich auf den 16er, der hat 32 Pins zur Verfügung. Die LCD-Ansteuerung lagere ich an einen Tiny24 aus. So habe ich noch Pins am ATmega für ein grafisches Display frei.
Das Ansprechen der Tinys über ein Steuerbyte (=Instruktionsbyte) funktioniert famos (siehe Thread "Dreh- Encoder"). Bislang arbeite ich noch mit den internen RC's bei 8MHz/ 19200 baud. Ohne Kalibrierung, "einfach nur machen". Später werde ich wohl 16MHz benötigen. Die ATtiny85 können sogar auf 20MHz beschleunigt werden und übernehmen dann die Auswertung der Rennzeiten. Doch vor weiterem Probieren muss ich erst mein Erweiterungsboard fertigstellen; mit einer kompletten 7-Segment-Reihe und LCD- Display um die tatsächlichen Verzögerungen zu ermitteln. Bislang also alles nur reiner Einzel- Test, bitte nicht vergessen.


Grüsse,

Michael
 
Hallo Neuuser,

das ist gut ,also brauche ich nur drei Pins, für die Ansteuerung.
Du könntest sogar die SW-UART mit nur einem Pin betreiben: In und OUT in einer Schleife. Dauert auch nicht länger als mit zwei Pins, da hast Du eben noch einen mehr frei.
Ich hab auch schon mal mit DDRx/PORTx getoggled. Geht alles, wenn die Pins knapp werden. Sind eben ein paar Zeilen mehr zu tippen.


Programmteile auslagern macht schon Sinn. Allgemein, nicht nur für meine Rennbahn- Steuerung. Ja, wen Du so willst, habe ich ein eigenes "1Wire" - System entwickelt. Schnell bei 19200 Baud(geht vielleicht noch schneller). Zum Test über INPUT (Terminal) eine Fliesskomma- Zahl eigegeben, in die vier Ziffern aufgelöst - in Nullzeit am 7er-Segment angezeigt.


Grüsse,

Michael
 
Hallo Michael,

Ja, wen Du so willst, habe ich ein eigenes "1Wire" - System entwickelt. Schnell bei 19200 Baud(geht vielleicht noch schneller). Zum Test über INPUT (Terminal) eine Fliesskomma- Zahl eigegeben, in die vier Ziffern aufgelöst - in Nullzeit am 7er-Segment angezeigt.

du erzählst mir Sachen :hmmmm: da muss ich erst mal reinfinden um das zu verstehen.:eek:
aber es dauert noch ein wenig mit der Löterei bei mir, habe keine Platine mehr zum Ätzen, nun muss ich erst mal eine bestellen.:mad:

Gruß Neuuser M.
 
Hallo Neuuser!

du erzählst mir Sachen :hmmmm: da muss ich erst mal reinfinden um das zu verstehen.:eek:
Pardon, manchmal geht's mit mir durch, wenn eine Idee super umgesetzt wurde; auch wenn ich schon mal auf BASCOM schimpfe.
Ich habe die Beiträge nicht mehr nachgelesen, so wußte ich nicht, wo Du stehst (hab ich grad mal schnell überflogen).
Macht aber gar nichts, keinen Stress. Ich selbst zähl mich auch noch zu den Anfängern. Ich helfe gern, soweit es mir möglich ist. Doch Vorsicht: Ich gehe da nicht immer "nach Norm" vor. Du solltest mal den ersten Layout- Entwurf für mein Erweiterungsboard sehen....:rolleyes:. Ich habe da einen Fehler gemacht. Ich wollte kleine Segmente haben, 10 x 13mm. Sind ja auch nett. Nur - die Pins der Segmente und der 74HC595 sind schön durcheinander angeordnet, dann 8 Widerstände pro Segment x 5: das werden wieder Mikro- Leiterbahnen: 0.38mm breit, 0.25mm Abstand...:cool:


Grüsse,

Michael
 
Hi Michael,

Du solltest mal den ersten Layout- Entwurf für mein Erweiterungsboard sehen....:rolleyes:. Ich habe da einen Fehler gemacht. Ich wollte kleine Segmente haben, 10 x 13mm. Sind ja auch nett. Nur - die Pins der Segmente und der 74HC595 sind schön durcheinander angeordnet, dann 8 Widerstände pro Segment x 5: das werden wieder Mikro- Leiterbahnen: 0.38mm breit, 0.25mm Abstand...:cool:
Warum machst Du dir mit dem Layout der Segmente zu den 74595 so einen Streß ? :D
Route es doch so, das es einfach ist. Den Rest kannst Du doch über deine Zeichentabelle
für die 7-Segmentanzeigen erledigen. Ob das Segment A jetzt in Bit 0 oder 5 ist, das ist
dem ATmega doch nachher vollkommen wurscht :D ;)

Gruß
Dino
 
Hi Dino,

bist ja früh dran.;)

Warum machst Du dir mit dem Layout der Segmente zu den 74595 so einen Streß ? :D
Stress - nein, Stress ist das nicht, das Tüfteln zum Layout macht ja Spass.:)
Route es doch so, das es einfach ist. Den Rest kannst Du doch über deine Zeichentabelle
für die 7-Segmentanzeigen erledigen. Ob das Segment A jetzt in Bit 0 oder 5 ist, das ist
dem ATmega doch nachher vollkommen wurscht :D ;)
Stimm schon, welches Led in welcher Reihenfolge angezeigt wird, ist im Prinzip egal. Aber nun habe ich so angefangen - nach Datenblätter - und führ es weiter so. Die Programmteile sind ja auch schon fast fertig.

Das Problem liegt nur darin, daß ich die Segmentanzeigen ohne Abstand zueinander angeordnet habe; sieht ja auch besser aus. Da ist halt wenig Platz für 8 Leiterbahnen zwischen den Pins. Doch das hab ich schon gezeichnet. Falls Du Dich erinnerst: ich hatte schon 7 MIL aufgebügelt...:D
Und dann habe ich mich ja für die Version ohne Transistor entschieden, also 8 Widerstände pro Segment. Hat den Vorteil, daß alle gleich hell leuchten. So brauch ich nur einen Pin vom Atmega8 zum ansteuernden Tiny85.

Mein Erweiterungsboard ist praktisch der Prototy für die späteren Segmentanzeigen im "Conti-Turm" der Rennbahn (incl. grafischem Display pro Fahrzeug). Sieht besser aus, wenn die Anzeigen klein sind und ohne Abstand angeordnet sind.


Grüsse,

Michael
 
Hi Michael,

du wolltest ja noch Spritverbrauch machen. Kannst Du ja nach Zeit und
gegebenem Gas (Fahrspannung , wie weit der Regler gedrückt wird) berechnen.
Und dann wenn nicht getankt wird geht dem Wagen der Sprit aus :D :D
(= Kein Saft mehr) :rolleyes:

Gruß
Dino
 
Hi Dino,

Und dann wenn nicht getankt wird geht dem Wagen der Sprit aus :D :D
(= Kein Saft mehr) :rolleyes:
Jo, das wird das i-Tüpfelchen. Hatten wir in Natura ja schon gehabt, kurz vor der Ziellinie.
Könnte man ja über einen geheimen Taster programmieren und so das Rennen gewinnen - oder den Enkel gewinnen lassen...;)
Eher die zweite Version.:)


Grüsse

Michael
 
Hallo ihr beide,
ich bin auch gerade bei in Eagle die Zeichnung für die 4 Segmente zu machen und habe auch gesehen das es ein richtiges durcheinander gibt mit den Strippen. Ich dachte auch das ich vielleicht zwei kleine Platinen mache die ich später übereinander stecke, ist nicht so kompliziert denk ich und es ist eine einfache Leitungsführung.
Noch mal eine frage zum 74HC595 der läst sich in Eagle nicht an VCC anschlißen
aber die Verbindung zu SCL ist kein Problem, sind die intern möglicherweise verbunden, so das er es nicht zeigt in Eagle ?

Gruß Neuuser M.

Noch mal eine Blöde frage, bei den UDN2981, der Pin9 Vs dort kommen doch die 12V+ mit dran, oder ?
 
Hm,
keiner eine antwort parat,:( ich dachte mir kann es jemand sagen was ich da verkehrt in eagle mache das ich die Anschlüsse nicht verbinden kann.:confused:

Gruß Neuuser M.
 
Hi Neuuser,

Noch mal eine Blöde frage, bei den UDN2981, der Pin9 Vs dort kommen doch die 12V+ mit dran, oder ?
ich hab mal die Innenschaltung aus dem Datenblatt rausgeholt ...
UDN2981_Innen.png
Wenn Du also Pin 9(Vs) wegläßt wird da wenig Saft zum Treiben da sein :D
Dann hat der Ausgangstransistor (ganz rechts) nämlich nichts was er
durchschalten kann. Der ULN2981 schaltet dir den Ausgang auf Plus.
Wenn er kein Plus hat, was soll er dann schalten ?

Gruß
Dino
 
Hallo Dino,
Der ULN2981 schaltet dir den Ausgang auf Plus.
ja das habe ich ja auch deiner Zeichnung schon entnommen, unter FAQ,da ist es auch klar und deutlich zu erkennen GND und CD+ für die 12V, ich verwende aber den UDN2981 GNG ist ja klar aber Vs ? auch 12V+:stupido3: .
hast du auch noch eine Antwort für den anschluss zum 74HC595 ?

Gruß Neuuser M.
 
Hallo,

Der ULN2981 schaltet dir den Ausgang auf Plus.

ich verwende aber den UDN2981 GNG ist ja klar aber Vs ? auch 12V+:stupido3: .
hups ... Schreibfehler meinerseits. Ich meine natürlich auch den UDN2981 :D

Das andere wäre ja der ULN2803 - und der schaltet nach GND

hast du auch noch eine Antwort für den anschluss zum 74HC595 ?
Ich hab mal ein wenig experimentiert ...

Das ist das verwendete Bauteil in der Bibliothek ...
74595_bib.png
Man kann beim Schaltbild die beiden Verbindungen zu Vcc und GND sehen.

Jetzt mein Schaltplan ...
74595_sch.png
Nix mehrr zu sehen von den IC-Anschlüssen zur Betriebsspannung. Ich hab
also einfach mal nen Kondensator mit den Symbolen für Vcc und GND
verbunden.

Und jetzt kommt das Board davon ...
74595_brd.png
Der Kondensator hängt automatisch an den richtigen Anschlüssen des ICs.
Also muß man sich im Schaltplan keine Gedanken über die Betriebsspannungs-
Anschlüsse machen. die werden automatisch mit den richtigen Potentialen
verbunden :D

Gruß
Dino
 
Hallo Dino,
ja ich kenne das ja mit den extra Anschlüsse die man nicht anschließen muss in .sch aber im .brd sind diese aber auch nicht verbunden gewesen.
Ich habe nochmals alle 74HC595 bauteile erneuert, dann waren sie schon mal miteinander im brd verbunden, aber nach dem automatischen strippenziehen wieder nicht, nun habe ich alle mit Hand gezogen da sind sie wenigstens nun drin und dran.
Also an Vs nun die 12+ ist das richtig nun :confused: weil er schaltet ja GND zu den Segmenten durch.

Gruß Neuuser M.
 
Hallo ,

Also an Vs nun die 12+ ist das richtig nun :confused: weil er schaltet ja GND zu den Segmenten durch.
:confused: :confused: Im Moment steh ich etwas im Wald ...

- ULN2803 => Schaltet nach GND durch Anhang anzeigen ULN2803_Darlington-Array.pdf

- UDN2981 => Schaltet nach +12V durch Anhang anzeigen UDN2981_ALG_Sourcedriver.pdf

Man sollte auf jeden Fall bei beiden auch beide Betriebsspannungsanschlüsse
(+12V und GND) anschließen.
Beide schalten bei +5V am Eingang den Ausgang zur entsprechenden
Spannung durch.

Gruß
Dino
 
Hallo,
Im Moment steh ich etwas im Wald ...
warum ?

oder bin ich nun in der denkrichtung verkehrt, die Segmente haben eine gemeinsame Kathode also gehen alle auf GND und Plus wird hin geschaltet, da brauche ich doch den UDN 2981 oder ? und bei denen wollte ich wissen ob Vs +12V ist ?
So langsam komme ich auch durscheinander.

Gruß Neuuser M.
 
Hallo Neuuser,

...das ich vielleicht zwei kleine Platinen mache die ich später übereinander stecke...
das kommt bei mir später auch zum Einsatz, die Segmentanzeigen aufstecken. Die 74HC595 nehmen doch recht viel Platz weg. Alles zusammengepackt - 5 x 7er-Segmente, 5 x 74HC595, 5 x 8 Widerstände, 1 x Tiny85 und 1 x Tiny24 - habe ich z.Zt. 118 x 83mm. Viel zu gross. Die Hälfte ca. muss (wird) gehen, vielleicht eine Kombination aus Print/SMD oder auch doppelseitigen Platinen. Das wär's doch - die Peripherie auf der Rückseite der 7-Segmentanzeigen.:cool:

Das war's auch schon wieder für heute. Gestern war ein echt angenehmer PC/µC- freier Tag und heute auch nur die halbe Stunde.
Morgen geht's wieder zur Arbeit, der Urlaub ist vorbei.:mad::):mad::)


Grüsse,

Michael
 
Hi Neuuser,

bei den vielen Beiträgen die ich schreibe brauch ich ab und zu mal nen kleines
Info-Update :D Da muß man schon aufpassen das man nix verwürfelt ;)

oder bin ich nun in der denkrichtung verkehrt, die Segmente haben eine gemeinsame Kathode also gehen alle auf GND und Plus wird hin geschaltet, da brauche ich doch den UDN 2981 oder ? und bei denen wollte ich wissen ob Vs +12V ist ?
So langsam komme ich auch durscheinander.
langsam sortiert sich wieder alles ...
Also die gemeinsamen Kathoden kommen fest auf GND da du ja ohne Multiplex
arbeiten willst. Die Segmente werden in die 74595 reingeschoben. Zum treiben
der Segmente hängen da dann UDN2981 dran, die +12V auf die Anoden der
Segmente schalten. Jetzt bin ich wohl wieder im Thema :rolleyes:

Beim UDN2981 ist +Vs die Spannung die du schalten willst. In deinem Fall also
+12V. Dann braucht er noch GND. Das war es auch. Das Ding ist eigentlich
kein richtiges Digital-IC sondern nur eine Zusammenfassung von 8 Transistor-
Treiberstufen. Mehr nicht. Also nix wildes.

Also mußt du natürlich +12V an Pin 9 anschließen, wenn du +12V schalten
willst. An Pin 10 muß dann noch GND dran.

Ich hoffe mal, wir habens jetzt ... :D

Ich glaub ich muß mal auf etwas weniger Hochzeiten tanzen .... :vollkommenauf:

Gruß
Dino
 
Hallo Dino,
so jetzt haben wir es, Vs 12+ alles OK, nun kann ich die Platine fertig stellen, mal sehen, heute oder morgen.
Kein wunder das du das überhaupt auf die reihe bekommst, auf so viel Treads wie du, hin und her springen und den noch versuchen zu verstehen was alle bis in die kleinste Kleinigkeit wollen und dann nichts zu übersehen, ich glaube da würden ich irgendwann das Forum nicht mehr finden können - wollen. :rolleyes:
Aber ist schon genial solche Leute wie dich, ohne eusch würden wir nichts lernen.:yes4:
Danke.

Gruß Neuuser M.
 

Ü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)