7-Segment Werkstattuhr

Die Stromversorgung wird dann wohl ein Netzteil von einem alten Laptop werden. Das sollte das beste sein um die ganze Geschichte kühl zu halten.
Den Trafo nehme ich dann halt als Testnetzteil her. Da kann man ja nen grossen Kühlkörper draufsetzen.

Ärgerniss des Tages: Die 74HC595 SMD sind nicht beschriftet. Soll heissen: Man weiss ned wo Pin 1 oder sonst was ist. Super jetzt habe ich glatt 5 Stück gebraten bis ich draufgekommen bin. Gut dass man die Teile mit Heissluft gut rausbekommt. Reichelt lässt noch nichts von sich hören. Hätte gehofft, dass es am Freitag weggeschickt wird, aber bis jetzt ist nichts passiert. Naja, dann warte ich halt bis nächstes Wochenende mit dem Zusammenbau. Ein paar Sachen konnte ich heute schon zum Laufen bringen (was ich halt daheim hatte) : Schieberegister gehen, IRLZ34N schalten durch ohne warm zu werden, RTC geht, Temperaturmessung geht auch. Jetzt heisst es warten.

Das UTD 2042 C Scope sieht ganz nett aus. Kommt gleich mal auf meine Haben Will Liste :D . Ich schwenke grade auch noch zwischen Digital und Röhren-Skope. Das digitale braucht halt entscheident weniger Platz, welcher bei meinem Tisch ohnehin knapp ist :p . So ein Mini Scope hatte ich auch mal, das hat aber bei nem Kurzschluss das Zeitige gesegnet.

Ich glaube von meiner Uhr wird es noch 5 weitere Versionen geben, da mir immer wieder nützliche Dinge einfallen. Mal sehn, erstmal muss die hier fertig werden :D


Mfg,
Flo
 
Hi,

Ärgerniss des Tages: Die 74HC595 SMD sind nicht beschriftet. Soll heissen: Man weiss ned wo Pin 1 oder sonst was ist. Super jetzt habe ich glatt 5 Stück gebraten bis ich draufgekommen bin.
Normalerweise sind die irgendwie markiert. Entweder es ist in der Nähe von
Pin1 ne kleine Vertiefung oder die Seite mit Pin1 ist abgeschrägt oder sowas
in der Art. Es ist aber eigentlich bei jedem IC irgendwas am Gehäuse zu
sehen. Auch ohne Beschriftung.

Das UTD 2042 C Scope sieht ganz nett aus. Kommt gleich mal auf meine Haben Will Liste :D . Ich schwenke grade auch noch zwischen Digital und Röhren-Skope. Das digitale braucht halt entscheident weniger Platz, welcher bei meinem Tisch ohnehin knapp ist :p . So ein Mini Scope hatte ich auch mal, das hat aber bei nem Kurzschluss das Zeitige gesegnet.
Ich würde dir nen Speicherscope empfehlen weil man dabei Datenströme
wie zB auf nem I2C- oder 1Wire-Bus in Ruhe ansehen kann. So etwas geht
mit einem analogen leider nicht. Dafür haben analoge Scopes wieder andere
Vorteile (zB hohe Bandbreite bei kleinem Preis) Aber so 20MHz sollte man
sich bei digitalem Gebastel mit Mikrocontrollern mindestens gönnen.

Gruß
Dino
 
Hallo Cassio,

An deiner Stelle kann ich dir nur zu einem Schaltregler (LM2574N5) raten!
Selbst bei einer Eingangsspannung von 17V und mehr würde dieser nicht einmal warm werden, wenn du auf der 5V Seite volle 400mA entnehmen würdest.
hast Du dafür auch eine funktionierende Außenbeschaltung mit Bauelementen, die es auch z.B.: bei reichelt gibt?

Ich stehe vor dem gleichen Problem, muss aus 24V 5V erzeugen.

Michael
 
Hallo Michael!

Trotz der frühen Stunde habe ich eben mal schnell einen Plan gezeichnet. ;)
Allerdings verwende ich auch nur die Anschaltung laut Datenblatt.......

LM2574Nx.gif


Tja und die Bauteile gibt es auch alle bei Reichelt:

LM 2574N5 (500mA)

Spule 330µH (500mA)

BAT85 Shottky Diode

Das sollte es gewesen sein. ;)

Grüße,
Cassio
 
Hallo Casio,

danke für die Antwort. Sieht ja unkompliziert aus. Ich kann mich nur noch an Experiemente mit einem step-up erinnern, da waren die Zutaten sehr eng gefaßt.

Was ist mit Kondensatoren an In und Out?

Michael
 
Was ist mit Kondensatoren an In und Out?


Hallo Michael!

Natürlich gehört auch noch ein Elko an den Ausgang hinter der Spule.....
Dieser ist aber wie immer "Lastabhängig" und darum von mir auch nicht eingezeichnet.
Im Datenblatt steht etwas von 220µF... würde ich dann also als Minimalwert nehmen.

Ob du eingangsseitig auch einen Elko verwenden musst, hängt von deiner Eingangsspannung ab. ;)

Das war es dann auch schon.
Der Schaltungsaufwand ist daher wirklich gering!

"Problematischer" wird es da eher bei den größeren Varianten (LM 2575) wegen dem Ausgangsstrom und der Spule, weil diese ja ebenfalls vom Laststrom durchflossen wird.


Von den LM257x gibt es übrigens auch Adj.-Versionen.
Damit kannst du dir jede Ausgangsspannung selber einstellen und benötigst dafür zusätzlich nur einen Spannungsteiler.


Grüße,
Cassio
 
Hallo,

endlich ist es soweit: Die 7 Segmentanzeigen sind da. Die Grösse ist in Ordnung, aber es geht immer mehr:D . Als Grössenvergleich: 5mmLed und Feuerzeug

Zu den 74HC595 ohne Kerbe oder sonst was: Hab mal ein Bild gemacht und alles mit einer Lupe abgesucht. Keine Markierung.....nirgens. Danke ST:mad:

Mfg,
Flo
 

Anhänge

  • 7 Segment.jpg
    7 Segment.jpg
    180,4 KB · Aufrufe: 57
  • Wo ist die Kerbe.jpg
    Wo ist die Kerbe.jpg
    135,9 KB · Aufrufe: 56
Hallo Flo,

Zu den 74HC595 ohne Kerbe oder sonst was: Hab mal ein Bild gemacht und alles mit einer Lupe abgesucht. Keine Markierung.....nirgens. Danke ST:mad:
so wie es auf dem Bild zu erkennen ist müßte die untere Seite des Gehäuses
eine andere (stärkere) Schräge bei den Beinen haben als die obere. Das ist
dann die Gehäuseseite an der links der Pin 1 ist.
Da ist die Kerbe.jpg

Gruß
Dino
 
Hallo Flo !

Zu den 7-Seg. Anzeigen:
Wow! :rolleyes:
Sind die dick man.....! ;)

Dagegen sehen meine 57mm Anzeigen ja wie Zwerge aus. ;)
Sind das jetzt die 100mm Anzeigen von Reichelt?


Zum IC:
Bei den 74HC595 hätte ich auf den Bezeichnungsaufdruck getippt.....
Wenn du den Chip vor dir hast und die Bezeichnung im Querformat lesen kannst, dann ist Pin 1 unten links.
Eine Garantie würde ich darauf aber auch nicht geben.... :rolleyes:

Ich würde also lieber den Hinweis von Dino befolgen und die IC`s mal mit Lupe und Geodreieck absuchen. :p

Grüße,
Cassio
 
Zum IC:
Bei den 74HC595 hätte ich auf den Bezeichnungsaufdruck getippt.....
Wenn du den Chip vor dir hast und die Bezeichnung im Querformat lesen kannst, dann ist Pin 1 unten links.
Eine Garantie würde ich darauf aber auch nicht geben.... :rolleyes:

hallo jungs :)
schönes projekt.

dino hat da schon recht. das ic ist auf der einen langen seite angefast.
wenn diese lange kante vor dir liegt ist links unten die "1".
so wie auf dinos bild.
 
Hallo,

Zum IC:
Bei den 74HC595 hätte ich auf den Bezeichnungsaufdruck getippt.....
Wenn du den Chip vor dir hast und die Bezeichnung im Querformat lesen kannst, dann ist Pin 1 unten links.
Eine Garantie würde ich darauf aber auch nicht geben.... :rolleyes:
das würde ich auch nicht :D

Ich würde also lieber den Hinweis von Dino befolgen und die IC`s mal mit Lupe und Geodreieck absuchen. :p
genau ...
SOIC-Pin1.png
und hier das Datenblatt dazu aus dem das Bild ist ...
Anhang anzeigen 74_HCT_595_8Bit-SerInParOut-Latch.pdf
Das Datenblatt ist von Philips. Der Pin1 wird also nicht nur von SGS Thompson
versteckt. Auch bei Philips braucht man gute Augen oder ne Lupe :p

Gruß
Dino
 
Hallo,

jetzt bin ich eine Erfahrung reicher: Datenblatt immer ganz durchlesen :D . Danke euch. Warum musste das bloss ganz unten stehen :p

Die Uhr ist fertig zusammengefriemelt und zickt gleich mal derbe. Wie kann ich das Ansteuern der 7 Segmentanzeigen in Bsscom regeln? Momentan schauts so aus und legt meine ganze Unterroutine lahm:

Code:
Unterroutine:

If Z = 4 Then                                               'Zurücksetzen
Z = 0
End If

Incr Z

For R = 1 To 18                                             'Löschen der Anzeige
Si = 0
Takt = 1
Takt = 0

Next R


Select Case Z                                               'Auswahl Ziffer 1-4
   Case 1:
         Ausgabe = L_minuten
   Case 2:
         Ausgabe = H_minuten
   Case 3:
         Ausgabe = L_stunden
   Case 4:
         Ausgabe = H_stunden
End Select


Select Case Ausgabe                                         'Ziffern anzeigen
    Case 1 :
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
    Case 2 :
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
    Case 3 :
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
    Case 4 :
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
    Case 5 :
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
    Case 6 :
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
    Case 7 :
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
    Case 8 :
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
    Case 9 :
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
    Case 0:
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0

End Select



Select Case Z                                               'Gemeinsame Anode Schalten
   Case 1:
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
   Case 2:
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0

   Case 3:
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0

   Case 4:
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
End Select

Rck = 1                                                     'Anzeigen lassen
Rck = 0


Return

Das kann man halt nicht zum Multiplexen verwenden da es vieeeeeeel zu langsam ist. Ausserdem erzeugt es dadurch Geisterziffern und komische Nullen. Hättet ihr da nen Tipp ?


Achja, Bildr gibts natürlich auch noch. Das Löten des FT232Rl geht mit der Zeit immer besser. Lang lebe die Heissluft :D

Mfg,
Flo
 

Anhänge

  • 100mm Uhr.jpg
    100mm Uhr.jpg
    111,4 KB · Aufrufe: 44
  • Platine hinten.jpg
    Platine hinten.jpg
    180,5 KB · Aufrufe: 47
  • Platine vorne.jpg
    Platine vorne.jpg
    76,6 KB · Aufrufe: 40
Wenn ich das richtig sehe kannst du die ganze "Select Case Ausgabe" Orgie durch einen einzigen Befehl ersetzen:
Shiftout Si, Takt, Ausgabe
Musst du nur noch schauen, welche Option du bei deinem Setup nehmen musst.

HBA
 
Hi,

jetzt bin ich eine Erfahrung reicher: Datenblatt immer ganz durchlesen :D . Danke euch. Warum musste das bloss ganz unten stehen :p
Datenblätter sind eigentlich in der Reihenfolge der Infos immer
gleich aufgebaut ...

- kurze Info um was für ein Ding es geht
- Anschlüsse (Pins) und Bezeichnungen
- Beschreibung der einzelnen Pins und Funktionen
- elektrische Maximalwerte
- normale elektrische Werte
- Beispielschaltungen
- mechanische Werte (Gehäuseformen, Maße, Gewichte, ...)
- Lieferungsformen (Gurte, Blister, ...)

grob sollte das ungefähr die Reihenfolge innerhalb eines Datenblattes sein.
Wenn du also was mechanisches suchst mußt du nur ans Ende des
Datenblattes gehen. Die Maximalwerte sind immer vor den Werten für
Normalbetrieb.

Gruß
Dino
 
Hallo Flo!

Dem Hinweis von HBA ist nichts mehr hinzu zu fügen ! :cool:

Einzig vielleicht noch, dass du dir HIER mal ein Beispiel zum 74HC595 ansehen kannst. ;)

In dem Beispielcode habe ich auch "Shiftout" verwendet.


Grüße,
Cassio
 
Hallo,

danke mit dem Tipp mit dem Shiftout. Das findet man ja nie wenn man nicht einen Teil des Befehls kennt :D . So zum Bascom Programmm: Die Ausgabe der Daten für die Segmentwahl will nicht mit Shiftout funktionieren. Ich weiss echt nicht warum....ich hab alles nur mögliche getestet. Ich habs jetzt im Code mal "manuell" gelassen. Ansonsten läuft das ganze erstaunlich stabil. 1 Tage Dauertest ohne ein Problem. Gerade mal 120mA Stromverbrauch, was mich aber stutzig macht. Da muss ich wohl mit nem schnelleren Messgerät messen;) . Das jetzige wird die Multiplexstromspitzen nicht erkennen.

Es gibt eigentlich gerade nur ein Massives Problem: Die 1er werden heller als alle anderen Ziffern angezeigt. Ausserdem haben die Anzeigen beim Multiplexen nur die halbe Leuchtkraft im Gegensatz zum "Dauer-An" . So stark habe ich das noch nie beobachtet. Ist da eventuell der Multiplex Takt zu schnell?:confused:



Code:
'              / Segmentuhr mit 100mm Anzeigen\
'                 Datum: 10.Februar 2011
'                 Entwickler: Eberl Florian
'                 Copyright: Eberl Florian
'           Änderungen: Shiftout, LED Punkte auf PB0
'          Probleme: 1er heller als alle anderen Zahlen
'          Anmerkungen: Danke an das AVR-Praxis Forum ;)




$regfile = "m168def.dat"
$crystal = 12000000
$baud = 38500


'I/Os
Si Alias Portc.3
Config Si = Output

Takt Alias Portc.2
Config Takt = Output

Rck Alias Portc.1
Config Rck = Output

Punkte Alias Portb.0
Config Portb.0 = Output


' Variablen
Dim R As Byte
Dim Z As Byte
Dim Ausgabe As Byte
Dim I As Byte
Dim S As Byte
Const Load_timer1 = 43286


'Zeitdaten für Register
Dim L_minuten As Byte
Dim L_sekunden As Byte
Dim L_stunden As Byte

Dim H_minuten As Byte
Dim H_sekunden As Byte
Dim H_stunden As Byte



'Zeitdaten für DS1307
Dim Sekunde As Byte
Dim Minute As Byte
Dim Stunde As Byte
Dim Tag As Byte
Dim Wochentag As Byte
Dim Monat As Byte
Dim Jahr As Byte


' Einstellen der I2C Schnittstelle
Config Sda = Portc.4
Config Scl = Portc.5

' Addresse des DS1307
Const Ds1307w = &HD0
Const Ds1307r = &HD1


'Timer
On Timer0 7segment                                          'Interrupt-Routine für Timer0-Overflow
Config Timer0 = Timer , Prescale = 64                       'Takt: Quarz/Prescale  (möglich: 1, 8, 64, 256, 1024)
Enable Timer0
Start Timer0                                                'Timer0-Overflow-Interrupt einschalten

On Timer1 Blinken                                           'Interrupt-Routine für Timer1-Overflow
Config Timer1 = Timer , Prescale = 256                      'Takt: Quarz/Prescale  (möglich: 1, 8, 64, 256, 1024)
Enable Timer1                                               'Timer0-Overflow-Interrupt einschalten
Enable Interrupts                                           'Interrupts global zulassen
Load Timer1 , Load_timer1                                   'Lädt den Timer auf einen wert vor
Start Timer1






'###################################################################################################################
Do

I2cstart                                                    ' Start
I2cwbyte Ds1307w                                            ' DS1307 schreiben
I2cwbyte 0                                                  ' DS1307 Adresszeiger auf 0 stellen

I2cstart
I2cwbyte Ds1307r                                            ' DS1307 lesen (ab vorher eingestellter Adresse 0)
I2crbyte Sekunde , Ack                                      ' Sekunden
I2crbyte Minute , Ack                                       ' Minuten
I2crbyte Stunde , Ack                                       ' Stunden
I2crbyte Wochentag , Ack                                    ' Wochentag (in Dummy gelesen da von date$/time$ nicht genutzt)
I2crbyte Tag , Ack                                          ' Tag
I2crbyte Monat , Ack                                        ' Monat
I2crbyte Jahr , Nack                                        ' Jahr
I2cstop

'Sekunde = Makedec(sekunde)
Tag = Makedec(tag) : Monat = Makedec(monat) : Jahr = Makedec(jahr)


L_minuten = Minute And &B0000_1111
H_minuten = Minute And &B1111_0000
Shift H_minuten , Right , 4

L_stunden = Stunde And &B0000_1111
H_stunden = Stunde And &B1111_0000
Shift H_stunden , Right , 4

Waitms 20


Loop


'################################################################################################################



7segment:                                                   'Multiplexing Teil

If Z = 4 Then
Z = 0
End If

Incr Z


Select Case Z
   Case 1:
         Ausgabe = L_minuten
   Case 2:
         Ausgabe = H_minuten
   Case 3:
         Ausgabe = L_stunden
   Case 4:
         Ausgabe = H_stunden
End Select


Select Case Ausgabe
    Case 1 :
         I = &B00001100
    Case 2 :
         I = &B10110110
    Case 3 :
         I = &B10011110
    Case 4 :
         I = &B11001100
    Case 5 :
         I = &B11011010
    Case 6 :
         I = &B11111010
    Case 7 :
         I = &B00001110
    Case 8 :
         I = &B11111110
    Case 9 :
         I = &B11011110
    Case 0:
         I = &B01111110
End Select


Shiftout Si , Takt , I , 0


Select Case Z
   Case 1:
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
   Case 2:
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0

   Case 3:
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0

   Case 4:
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 0
         Takt = 1
         Takt = 0
         Si = 1
         Takt = 1
         Takt = 0

End Select

Print Ausgabe

Rck = 1
Rck = 0

Return



Blinken:                                                    'Doppelpunkt blinken lassen

Toggle Punkte

Return

Bin Ich froh dass sich die Uhr nicht gleich nach dem Anschalten in Rauch aufgelöst hat:p

Mfg,
FLo
 
Hallo Flo,
ich habe mir deine Ausgabe und den zugehörigen Schaltplan jetzt nicht so genau angesehen.
Ich denke aber, dass die unterschiedliche Helligkeit daher kommt, dass bei der 1 die wenigsten Segmente an sind. Dies könnte dadurch kommen, dass du die Widerstände in die falschen Leitungen gesetzt hast.
Du hast ja einmal Leitungen, die ein ganzes 7-Segment einschalten und dann die Leitungen, die an das a-Segment, das b-Segment usw. gehen. Du hast die Widerstände wahrscheinlich in der Leitung, die eine ganze Stelle schalten. Dann müssen die Ströme aller Segmente durch den Widerstand.

HBA
 
Hallo Flo!

Puh.... also ganz ehrlich.... dein Programm ist ziemlich gewöhnungsbedürftig. ;)
Da brauche ich etwas mehr konzentrierte Zeit, um mich da reinzudenken.

Du solltest aber mal über eine grundsätzliche Änderung deines Programmes nachdenken, was die Ansteuerung der 7-Segmente betrifft.
Wir können das hier auch gern "gemeinsam" machen.

Wie also schon geschrieben..... ich habe dein Programm noch nicht durchgesehen und verinnerlicht, aber mir kommt dein Timer-0 ziemlich kurz vor.
Ein Prescale von 64 bei 12MHz sind nur ca. 1,35 Millisekunden für jeden Überlauf.
Ist das in der Version nicht ein wenig zu kurz? :hmmmm:


Das die Anzeigen dunkler sind als bei Dauerstrom, liegt natürlich auf der Hand.
Schließlich ist die Einschaltzeit (Leucht- bzw. Anzeigedauer) jeder Einheit nur ein Bruchteil der Gesamtsumme an Anzeigen......
Also bei vier 7-Segmentanzeigen eben nur ein Viertel. ;)



Ich werde mal schauen, dass ich ggf. morgen mehr Zeit für dein Programm finde.

Grüße,
Cassio
 
Hallo,

Ich denke aber, dass die unterschiedliche Helligkeit daher kommt, dass bei der 1 die wenigsten Segmente an sind. Dies könnte dadurch kommen, dass du die Widerstände in die falschen Leitungen gesetzt hast.
Du hast ja einmal Leitungen, die ein ganzes 7-Segment einschalten und dann die Leitungen, die an das a-Segment, das b-Segment usw. gehen. Du hast die Widerstände wahrscheinlich in der Leitung, die eine ganze Stelle schalten. Dann müssen die Ströme aller Segmente durch den Widerstand.
guter Einwand ...
Die Anzeigen haben gemeinsame Anode. In deinem Schaltplan sind aber die
Widerstände auch in den Leitungen zu den Anoden. Das paßt leider nicht.
Du hast dann (wie selber erkannt) eine ungleichmäßige Stromverteilung.
Vor allem weil die Dezimalpunkte ganz andere Spannungen haben als die
Segmente kann das eigentlich nicht gut gehen.

Wie im Beitrag #14 von mir berechnet ...
Wolln mal sehen ... ich setz mal 30mA an ...
8x30mA = 240mA pro Display ... gemeinsame Anode (also UDN mit 240mA)

+V -- UDN2981 -- Segment -- ULN2803 -- GND
??? ----- 1,3V ----- 7,4V ----- 0,9V ---- GND
... => also 9,6V für ein Segment über alle LEDs und Treiber. Das wird also
ohne Probleme nochmit 12V Betriebsspannung passen.
12V - 9,6V = 2,4V Rest für den Vorwiderstand
2,4V / 30mA => 80 Ohm ... => ich würde da 82 Ohm für die Segmente nehmen.

Den Vorwiderstand für den Dezimalpunkt mußt du aber selber ausrechnen
Hier nochmal für den Dezimalpunkt ...
+V -- UDN2981 -- DezPunkt -- ULN2803 -- GND
??? ----- 1,3V ----- 3,7V ----- 0,9V ---- GND
... => also 5,9V für den Dezimalpunkt über alle LEDs und Treiber.
Bei 12V Betriebsspannung ...
12V - 5,9V = 6,1V Rest für den Vorwiderstand
6,1V / 30mA => 203 Ohm ... => nächster Wert ist 220 Ohm für den
Dezimalpunkt.

Also 82 Ohm für die Segmente und 220 Ohm für den Dezimalpunkt.
Du kannst den Widerstand also nur in die Segmentleitungen legen damit
Dezimalpunkt und Segmente gleich hell sind.

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)