Forum: Mikrocontroller und Digitale Elektronik LED-Uhr mit Attiny26


von Alexander H. (alexander_h732)


Lesenswert?

Hallo Leute,

ich bin absoluter Anfänger in Sachen Mikrocontroller. Die unzählige 
Vorteile liegen aber auf der Hand, denn man kann auf umständliche 
Schaltungen und fertig ICs verzichten, noch dazu ist ein uC 
platzsparend.

Als erstes Bastelprojekt wollte ich eine klassische, sechsstellige 
7-Segment LED Uhr bauen.
Evtl. noch mit Zusatzfunktionen wie zB. Alarm, oder Stoppuhr und 
Countdowntimer.
In der Bastelkiste liegen mehrere Attiny26 und pinmässig (und 
grundsätzlich) dürfte sich der ATTiny auch für eine Uhr eignen, oder?
Ich bin mir noch unsicher, was Genauigkeit angeht(externer/interner 
Quarz?).
Wie groß wären die Abweichungen zB. auf ein Jahr bezogen?

Hat hier evtl. jemand gute Codebeispiele für eine Uhr mit Attiny26?
Das Ganze von Grund auf selbst zu schreiben traue ich mir definitiv 
nicht zu, daher bräuchte ich etwas Orientierung, wie man sowas 
angeht(gerne auch Lektüretipps und Beispielprojekte, die in die Richtung 
gehen).


Viele Grüße
Alexander

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Mache es dir nicht unnötig schwer, und nimm dafür einen Atmega328. Da 
musst du nicht um jeden freien Pin und um jedes Byte Speicher feilschen.

Es gibt keinen internen Quarz, das ist ein R/C Oszillator, der für eine 
Uhr völlig ungeeignet ist.

> Das Ganze von Grund auf selbst zu
> schreiben traue ich mir definitiv nicht zu

Dann lass es bleiben. Durch copy-paste Programmierung lernt man nichts. 
Sparen kannst du auch nichts, verglichen mit solchen Bausätzen:
https://de.aliexpress.com/item/1005003480148637.html
https://de.aliexpress.com/item/1005005199299726.html

Mein AVR Buch könnte dir gefallen. Da wird zwar keine 7-Segment Uhr 
erklärt, aber die Programmierung von 7-Segment Anzeigen und eine Uhr mit 
analoger Anzeige. Kombinieren kannst du das dort gelernte selber, wenn 
du magst.
http://stefanfrings.de/mikrocontroller_buch/

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Die Programmierung einer Uhr besteht aus drei groben Programmteilen. Zum 
einen eine sinnvolle Ausgabe aufs Display und zum zweiten ein 
Uhrengetriebe, was m.E. am besten im Timerinterrupt angetrieben wird. 
Der dritte Teil betrifft das Stellen.
Das Getriebe kann man z.B. aus if-thens aufbauen, um Sekunden, Minuten 
und Stunden runterzuteilen.
Mit AVR GCC kann sowas so aussehen:
1
// a simple clock gearbox
2
volatile uint8_t fifties = 0;
3
volatile uint8_t seconds = 0;
4
volatile uint8_t minutes = 0;
5
volatile uint8_t hours = 0;
6
volatile uint16_t days = 0;
7
// clock gearbox is called every 1/50 of a second
8
// Note that it is really the CTC interrupt but the 8515 uses the COMP vector
9
// 6 byte clock : fifties:seconds:minutes:hours:dayshi,dayslo
10
// this clock will wrap around after 65535 days ~= 179 years 
11
12
ISR(TIMER0_COMP_vect) {
13
     fifties++;
14
     if (fifties > 49) {
15
  fifties = 0;
16
  seconds++;
17
  if (seconds > 59) {
18
    seconds = 0; 
19
    minutes++;
20
    if (minutes > 59) {
21
      minutes = 0;
22
      hours++;
23
      if (hours > 23) {
24
        hours = 0; 
25
        days++;
26
        }
27
      }
28
    }
29
  }
30
}

: Bearbeitet durch User
von Roland H. (rhaas80)


Lesenswert?

Evtl. mit Projekt fuer einen der Bausaetze anfangen:

https://github.com/ruthsarian/at89c2051_clock

Ist zwar noch fuer at89c2051 aber in C, sollte also uebertragbar sein.

von Harald A. (embedded)


Lesenswert?

Traue dich doch einfach, die folgenden Sätze bei ChatGPT oder CoPilot 
reinzuhauen und frage darüber hinaus alles nach, was Du nicht verstehst.

„Erstelle bitte ein Projekt in C für eine einfache Uhr mit einem Attiny 
26, 6 Stück 7-Segment, 6 Stück 74HC595 und einem 32kHz-Quarz.“

„Erkläre mir genau, was ich wo anschließen muss und wie ich die 
Schieberegister verdrahten muss“

„Erkläre mir, wie ich die Optionsbits für den Attiny setzen muss“

Wird hier in diesem Forum zerpflückt werden, egal, mache es trotzdem 
mal.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Alexander H. schrieb:

> Als erstes Bastelprojekt wollte ich eine klassische, sechsstellige
> 7-Segment LED Uhr bauen.
> In der Bastelkiste liegen mehrere Attiny26 und pinmässig (und
> grundsätzlich) dürfte sich der ATTiny auch für eine Uhr eignen, oder?

Na, mal sehen. Der ATTiny26 hat 16 prinzipiell nutzbare Pins. Allerdings 
wird man Reset mal Reset sein lassen wollen. Und MISO, MOSI und SCK 
(vulgo: ISP) wird man beim Erstkontakt mit dem µC auch eher frei lassen 
wollen. Wenn man eine Quarzuhr im Wortsinn bauen will, braucht man auch 
die XTAL-Anschlüsse. Es bleiben also 10 Pins übrig.

Eine 6-stellige 7-Segment Anzeige hat 7×6 = 42 Segmente. Und zwei 
Doppelpunkte will man wohl auch noch. Auch wenn man die Anzeige im 
Multiplex ansteuert, braucht man noch 7+6 = 13 Pins. Und da sind die 
Doppelpunkte noch gar nicht berücksichtigt. Und Tasten zum Stellen oder 
Alarm ein- und ausschalten ebenfalls nicht.

Das wird also ausgesprochen knapp (LOL) mit den Pins. Zumindest wenn man 
auf "umständliche Schaltungen und fertig ICs verzichten" will.

Tu dir selber einen Gefallen und nutze zum Basteln und Ausprobieren 
einen "großen" µC. Etwa einen ATMega1284. Da hast du dann Pins satt. 
Wobei es für das parallele Ansteuern einer 6-stelligen Anzeige auch dann 
nicht reicht.

> Ich bin mir noch unsicher, was Genauigkeit angeht(externer/interner
> Quarz?).

Der interne Oszillator ist ein RC-Oszillator und als Taktgeber für eine 
Uhr denkbar ungeeignet.

> Wie groß wären die Abweichungen zB. auf ein Jahr bezogen?

So groß bzw. klein wie du willst. Du kannst mit einem gut abgeglichenen 
Quarz wenige Sekunden im Jahr erreichen. Oder du bringst den Fehler auf 
0 indem du eine Funkuhr oder GPS-Uhr baust.

> Hat hier evtl. jemand gute Codebeispiele für eine Uhr mit Attiny26?
> Das Ganze von Grund auf selbst zu schreiben traue ich mir definitiv
> nicht zu

Die Uhr selber ist trivial. Das sind nur 3 Zähler, die bis 59, 59 und 23 
gehen. Das sollte jeder hinbekommen, der ernsthaft mit µC basteln will. 
Der aufwendigere Teil ist die Ansteuerung der LED und das macht 
eigentlich jeder anders. Auch beim Stellen der Uhr (falls überhaupt, 
eine Funkuhr braucht das nicht) gibt es viele Wege nach Rom. Beim Alarm 
scheiden sich dann endgültig die Geister. Wieviel Alarme? Mit 
Berücksichtigung des Wochentags? Vielleicht ein Lied spielen statt 
einfach nur piepen? Vielleicht noch Weihnachten und diverse Geburtstage 
kennen?

Anregungen bietet das Internet zuhauf. Wenn ich bei Google nach "DIY Uhr 
AVR" suche, werde ich mit Ergebnissen totgeworfen. Aber gut, wenigstens 
ein Beispeit. Scott-Falk Hühns Uhren haben manchen inspiriert: 
https://s-huehn.de/elektronik/multiuhr/multiuhr.htm

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:
> http://stefanfrings.de/mikrocontroller_buch/

der wievielte Account ist das eigentlich von dir Stefan?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Falls es ein wenig innovativ sein sollte:

Nimm statt der klassischen 7-Segment-LED-Anzeigen einfach Schnipsel von 
adressierbaren LED-Strips (WS2812B o.ä.) zu je 3 ... 5 oder mehr LEDs. 
Die Stipse sind mit der Schere beliebig ablängbar.

Damit kann einerseits die Anzeige deutlich größer und damit 
einruckvoller sein und du hast freie Wahl bezüglich der Farbe. Aufgrund 
des eingebauten PWM gibts das Dimmen gratis dazu.

UND!!! - es braucht nur einen Pin am Mikrocontroller!!!

von Harald A. (embedded)


Lesenswert?

Frank E. schrieb:
> Falls es ein wenig innovativ sein sollte:
>
> Nimm statt der klassischen 7-Segment-LED-Anzeigen einfach Schnipsel von
> adressierbaren LED-Strips (WS2812B o.ä.) zu je 3 ... 5 oder mehr LEDs.
> Die Stipse sind mit der Schere beliebig ablängbar.
>
Guter Vorschlag, aber dann doch bitte mit der APA102. Ein Pin mehr aber 
soooo viel entspannter zu programmieren ohne dieses besch… Timing, wo 
einem der Interrupt in die Quere kommen KANN.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Alexander H. schrieb:
> Hat hier evtl. jemand gute Codebeispiele für eine Uhr mit Attiny26?

Beitrag "DCF77 Uhr in C mit ATtiny26"

von Gregor J. (Firma: Jasinski) (gregor_jasinski)


Lesenswert?

Alexander H. schrieb:
> ich bin absoluter Anfänger in Sachen Mikrocontroller (...)
> Als erstes Bastelprojekt wollte ich eine klassische, sechsstellige
> 7-Segment LED Uhr bauen.

Keine gute Kombination für den Startschuss.

von Frank G. (frank_g53)


Lesenswert?

Alexander H. schrieb:
> sechsstellige
> 7-Segment LED Uhr bauen.

Hierfür brauchst du weniger Pins:
https://www.az-delivery.de/products/4-digit-display

von Christian S. (roehrenvorheizer)


Lesenswert?

Alexander H. schrieb:
> Als erstes Bastelprojekt wollte ich eine klassische, sechsstellige
> 7-Segment LED Uhr bauen.

Nunja, das geht auch mit Schieberegistern und Transistoren, die die LEDs 
antreiben oder besser noch mit 7-Segment-Treibern, von denen es etliche 
zur Auswahl gibt. Der µC steuert dann nur noch die seriell ausgegebenen 
Bits für die Anzeige, läuft mit seinem Quarztakt und stellt das 
"Uhrengetriebe" dar.

mfg

von Martin B. (Firma: BINE Automatentechnik ◔) (pac-man)


Lesenswert?


von Mi N. (msx)


Lesenswert?

Frank E. schrieb:
> Falls es ein wenig innovativ sein sollte:

'Innovativ' und für einen Anfänger? Da wäre doch TFT das Einfachste :-(

Man kann LED/LCD bequem mit wenigen Pins ansteuern: 
http://mino-elektronik.de/7-Segment-Variationen/LCD.htm
Bei LCD gibt es schon passende Anzeigen mit Doppelpunkten.

Ein Anfänger sollte sich zunächst einmal all das zulegen, was man zum 
Programmieren eines AVRs braucht: passende IDE und Programmieradapter.
Das sind die notwendigen Voraussetzungen. Lerne zunächst, damit 
umzugehen.

von Alexander H. (alexander_h732)


Lesenswert?

Ok, eure Tipps haben schon mal weitergeholfen. Vielen Dank!

Ich werde definitiv einen Atmega328 nehmen, da der über genug Pins 
verfügt.
Konkret schwebt mir eine Uhr mit Alarmfunktion und 6 Stellen vor.
Oft wird eine RTC als Zetbasis verwendet. Mir würde auch ein Quarz 
ausreichen.

Die meisten gut dokumentierten Projekte verzichten auf die 
Sekundenanzeige. Kann man das einfach ergänzen (sofern der Code lesbar 
vorliegt) oder würde das Programmiererfahrung voraussetzen?

Falls jemand eine Uhr mit Atmega328 kennt, die zuverlässig läuft, wäre 
ich interessiert. Beim Nachbau lernt man durchaus auch was😀

von Peter D. (peda)


Lesenswert?


von Frank O. (frank_o)


Lesenswert?

Peter D. schrieb:
> Es gibt auch fertige Anzeigen mit MAX7219:

Und dafür gibt es bei Arduino schon Bibliotheken.
Ich verstehe auch nicht, wieso das ein Attiny26 sein muss, wenn man noch 
nichts gemacht hat.
Üblicherweise fängt man mit "Hello World" (also eine blinkende Led) an.

Aber wenn schon, dann würde ich die fertig nehmen Mit dem Uno R4 hat der 
TO dann auch schon gleich eine Echtzeituhr dabei.

Aber jeder quält sich halt wie er will.

von Bauform B. (bauformb)


Angehängte Dateien:

Lesenswert?

Harald A. schrieb:
> Traue dich doch einfach, die folgenden Sätze bei ChatGPT oder CoPilot
> reinzuhauen und frage darüber hinaus alles nach, was Du nicht verstehst.

Kann man solche Tipps bitte unterlassen? Es ist sowieso schon schlimm 
genug, selbst DuckDuckGo bringt schon alles durcheinander. Normalerweise 
kennzeichnen die Werbung ziemlich auffällig :(

von Axel S. (a-za-z0-9)


Lesenswert?

Frank O. schrieb:
> Peter D. schrieb:
>> Es gibt auch fertige Anzeigen mit MAX7219:
>
> Und dafür gibt es bei Arduino schon Bibliotheken.

Oh nein, bloß nicht. Der ursprüngliche Zweck von Arduino war ja, Dinge 
schnell von fachfremden Leuten zusammenstöpseln zu lassen (Künstler 
etc). Und diese Zielstellung schimmert überall durch.

Der TE will aber gerade lernen mit µC umzugehen. Und da ist Arduino 
eher hinderlich als förderlich. Gegen eine achtstellige Anzeige mit 
MAX7219 spricht dabei natürlich nichts, da kann man die Zeit dann als 
HH-MM-SS darstellen. Die Anbindung per SPI erlaubt dann sogar die 
Verwendung des Tiny26, weil man nur noch 3 Pins für das Display braucht. 
Wenn das läuft, würde ich aber trotzdem den Aufbau eines eigenen 
Displays vorschlagen. Dann geht auch HH:MM:SS. Oder man kann die 
Sekunden kleiner machen.

Auch gegen die Verwendung eines z.B. Arduino nano (Klones) mit Mega328 
spricht nichts. Da bekommt man immerhin die Debugausgabe per USB-UART 
und das einfache Flashen über den Arduino Bootloader frei Haus.

Gegen ein full size Arduino Board spricht aber schon der Formfaktor 
und die nicht im 100mil Raster liegende zweite Pinreihe.


Alexander H. schrieb:
> Falls jemand eine Uhr mit Atmega328 kennt, die zuverlässig läuft, wäre
> ich interessiert. Beim Nachbau lernt man durchaus auch was

Schau bei Scott-Falk Hühn vorbei. Auf der Webseite sind massig Uhren und 
Wecker. Das Zeug ist auch anständig dokumentiert. Und einmal (bei der 
Wohnraumuhr2 IIRC) zeigt er auch, wie man extra Anzeigen (für die 
Sekunden!) per Schieberegister ansteuert wenn die Pins am µC knapp sind.

Ansonsten bin ich aber kein großer Fan von Nachbauten. Man soll sich 
ruhig selber Gedanken machen und Dinge auch mal anders lösen.

von Mi N. (msx)


Lesenswert?

Axel S. schrieb:
> Der TE will aber gerade lernen mit µC umzugehen. Und da ist Arduino
> eher hinderlich als förderlich. Gegen eine achtstellige Anzeige mit
> MAX7219 spricht dabei natürlich nichts, da kann man die Zeit dann als
> HH-MM-SS darstellen. Die Anbindung per SPI erlaubt dann sogar die
> Verwendung des Tiny26, weil man nur noch 3 Pins für das Display braucht.
> Wenn das läuft, würde ich aber trotzdem den Aufbau eines eigenen
> Displays vorschlagen. Dann geht auch HH:MM:SS. Oder man kann die
> Sekunden kleiner machen.

Da muß ich Dir voll zustimmen!
Sonst kommt hier noch ein Vorschlag, eine fertige Uhr zu kaufen und zu 
sehen, was dort verbaut ist :-(

Frank O. schrieb:
> Aber jeder quält sich halt wie er will.

Das ist so, wenn man etwas lernt. Irgendwann läßt der Schmerz auch 
wieder nach.

von Frank O. (frank_o)


Lesenswert?

Axel S. schrieb:
> Und diese Zielstellung schimmert überall durch.

Kann er in C programmieren. Ich meinte auch grundsätzlich die Hardware 
von Arduino.
So findet er wenigstens gut rein.
Und ob C, Assembler oder Arduino,  Bibliotheken wird man doch nach 
Möglichkeit fertige benutzen, wenn es die gibt.
Ich habe nach dem Einstieg Attiny10 genommen und in C programmiert. Aber 
halt erst, nachdem ich etwas sicher war.
Wozu gibt's sonst die Development-Kits?
Wenn man Arduino als solches betrachtet, dann hat man vielleicht nicht 
mehr solche Probleme damit.
Warum hat Arduino so viel Erfolg und warum gibt es Cube, weil der Mensch 
den einfachen Weg bevorzugt.

: Bearbeitet durch User
von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Alexander H. schrieb:
> Die meisten gut dokumentierten Projekte verzichten auf die
> Sekundenanzeige.

Weil man Sekunden in der Praxis nur bei einer Stoppuhr braucht. Du baust 
aber einen Wecker.

> Kann man das einfach ergänzen (sofern der Code lesbar
> vorliegt) oder würde das Programmiererfahrung voraussetzen?

In der Regel ist das Ändern der Quelltexte von anderen Autoren 
schwieriger, als etwas eigenes zu programmieren.

: Bearbeitet durch User
von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Im Anhang mein "Uhrwerk" realisiert über einen Zeitstempel, allerdings 
zu Demozwecken ohne Anzeige mit Ausgabe auf UART für einen ATmegaxx8.

Sherlock 🕵🏽‍♂️ schrieb:
> In der Regel ist das Ändern der Quelltexte von anderen Autoren
> schwieriger, als etwas eigenes zu programmieren.

:-) könnte hier etwas umfangreicher sein das zu analysieren. Aaaaber 
wenn er das geschafft hat, schafft er alles andere auch.

Vielleicht hilfts.

von Frank O. (frank_o)


Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:
> In der Regel ist das Ändern der Quelltexte von anderen Autoren
> schwieriger, als etwas eigenes zu programmieren.

Wenn man fremde Bibliotheken benutzt, dann muss man schon die Beispiele 
her nehmen. Allein wegen der keywords.
Aber du hast vom Grundsatz recht.
Im eigenen Programm findet man sich besser zurecht.

von Frank E. (Firma: Q3) (qualidat)


Angehängte Dateien:

Lesenswert?

Übrigens: GPS-Chips/Breakouts gibts deutlich unter 10,-

Es gibt wohl kaum eine einfachere und billigere Methode, um an eine hoch 
genaue Zeit und Datum zu kommen, auch wenn man garnicht wissen will, wo 
man sich befindet.

Man muss nur den NMEA-Textstream parsen ...

Beispiel: 
https://www.amazon.de/APKLVSR-GPS6MV2-Antennen-Flugsteuerung-Positionsmodul-Arduino/dp/B0D3DJ58R8

Ich weiss, es gibt auch billige DCF-Module. Nach meiner Erfahrung 
empfangen die aber deutlich schlechter bzw. unsicherer und nur in großen 
Zeitabständen. Aus einem GPS-Empfänger sprudeln die Daten quasi ohne 
Unterlass, sobald er (nach längerem hartem Ausschalten) den "Almanach" 
geladen hat und auch nur ein einziger Sat empfangen wird. Das sollte 
auch in Innenräumen gelingen, sofern die Uhr nicht im Keller steht.

Da reicht am anzeigenden MC tatsächlich der RC-Oszi vollkommen aus.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Frank E. schrieb:
> Man muss nur den NMEA-Textstream parsen ...

Woher kommt bloß immer der Zwang, PNGs nur als Briefmarke zu posten.
Selbst mit Lupe ist nur schwer was zu erkennen.
Wenns am Datenvolumen hapert, man darf Text sogar als Text posten (C&P).

von Mi N. (msx)


Lesenswert?

Frank E. schrieb:
> Es gibt wohl kaum eine einfachere und billigere Methode, um an eine hoch
> genaue Zeit und Datum zu kommen, auch wenn man garnicht wissen will, wo
> man sich befindet.

Weißt Du denn, wo Du Dich befindest?
Für den Anfang reicht dem TO für den Funktionstest schon ein 
RC-Oszillator, bevor er dann die Schaltung mit einem Quarz hinreichend 
stabil bekommen kann.

von Peter D. (peda)


Lesenswert?

Frank E. schrieb:
> Beispiel:
> 
https://www.amazon.de/APKLVSR-GPS6MV2-Antennen-Flugsteuerung-Positionsmodul-Arduino/dp/B0D3DJ58R8

Brauchen die immer eine Stützbatterie oder kann man die auch ablöten. 
Ich mag keine Batterien auf der Platine wegen Auslaufen.

von Alexander H. (alexander_h732)


Lesenswert?

Wahnsinn, wie man eine Uhr alternativ auch noch bewerkstelligen kann.
Mir würde aber ein genauer (Uhren-)Quarz zur Takterzeugung oder ein RTC 
(teilweise störanfällig?) ausreichen.
Die Ausgabe soll in HH-MM-SS erfolgen (ein 8 digit display).
Die Anzeige von Datum, evtl. Countdown und Stoppuhr wären natürlich auch 
klasse. Leider sind die im Netz präsentierten Uhren öfters 
fehlerbehaftet, laufen zu schnell/zu langsam (wie man manchmal auf Blogs 
lesen kann).

Ob Attiny26 oder Atmega328 ist eigentlich egal. Wenn möglich wollte ich 
den Atmega328 nehmen, da dann externe Ansteurungs ICs entfallen.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Peter D. schrieb:
> Frank E. schrieb:
>> Beispiel:
>>
> 
https://www.amazon.de/APKLVSR-GPS6MV2-Antennen-Flugsteuerung-Positionsmodul-Arduino/dp/B0D3DJ58R8
>
> Brauchen die immer eine Stützbatterie oder kann man die auch ablöten.
> Ich mag keine Batterien auf der Platine wegen Auslaufen.

Diese Batterie stützt einen RAM, in dem der sog. "Almanach" gespeichert 
ist. Das ist so eine Art Basis-Info, die es dem GPS-Empfänger 
erleichtert bzw. zeitlich verkürzt, sich quasi im Raum zwischen den Sats 
zurecht zu finden. Ohne dauert es nach einem Aus/Anschalten wesentlich 
länger, bevor Daten kommen.

Details hier: https://de.wikipedia.org/wiki/Almanach_(GNSS)

Ich meine, diese Zellen sind extrem long-live und werden sicher nicht 
auslaufen bzw. erst in Jahrzehnten.

von Peter D. (peda)


Lesenswert?

Alexander H. schrieb:
> Wenn möglich wollte ich
> den Atmega328 nehmen, da dann externe Ansteurungs ICs entfallen.

Der hat aber nicht die nötigen 64 Ausgänge für 8 Digits.
Du brauchst also doch Schieberegister oder Multiplexer mit 
Konstantstromausgängen.

Multiplexen ginge auch diskret (16 Transistoren + Hühnerfutter) und 
Software (Timerinterrupt).

von Mi N. (msx)


Lesenswert?

Alexander H. schrieb:
> Wahnsinn, wie man eine Uhr alternativ auch noch bewerkstelligen kann.

Und um diesen Wahnsinn zu beenden, solltest Du Dich endlich für einen 
µC, für die endgültig gewünschten Funktionen und auf eine konkrete 
Anzeige festlegen. Solange Du Dir nicht selber im Klaren über diese 
Punkte bist, wird das hier alles endlose 'Schwätzerei'.

Alexander H. schrieb:
> Leider sind die im Netz präsentierten Uhren öfters
> fehlerbehaftet, laufen zu schnell/zu langsam (wie man manchmal auf Blogs
> lesen kann).

Schrottikowsky muß man ja nicht nachbauen.
Eine Ganggenauigkeit < 1 ppm ist recht einfach eine von < 1 ppb etwas 
aufwendiger zu erreichen.

von Jens M. (schuchkleisser)


Lesenswert?

Frank E. schrieb:
> Ich meine, diese Zellen sind extrem long-live und werden sicher nicht
> auslaufen bzw. erst in Jahrzehnten.

Das sind in der Regel Akkus, und bei einem 10€-Modul ist das sicherlich 
der billigste den man kaufen kann.
Die laufen aber in der Regel nicht aus sondern tun es einfach nicht 
mehr, aber das Modul kommt in der Regel auch gut ohne klar, dauert der 
Kaltstart halt ewig. Die Stützzeit liegt eh in der Regel nur in der 
Größe von Tagen, d.h. das Modul muss beim Erststart sowieso erstmal 
alles neu laden.
Ob das spezifische Modul es allerdings hinbekommt die Daten auch aus nur 
einem Sat zu laden und dann Zeit auszugeben muss man vmtl. testen.

von Alexander H. (alexander_h732)


Lesenswert?

Peter D. schrieb:
> Alexander H. schrieb:
>> Wenn möglich wollte ich
>> den Atmega328 nehmen, da dann externe Ansteurungs ICs entfallen.
>
> Der hat aber nicht die nötigen 64 Ausgänge für 8 Digits.
> Du brauchst also doch Schieberegister oder Multiplexer mit
> Konstantstromausgängen.
> Multiplexen ginge auch diskret (16 Transistoren + Hühnerfutter) und
> Software (Timerinterrupt).

Ich dachte man macht das Multiplexing normalerweise per Software (bei 
common anode/cathode LED). Dann benötigt man nur 7+ 8 Ausgänge. Der 
Atmega hat 23, also bleiben noch genug für Quarz usw.:
https://embedded-lab.com/blog/lab-11-multiplexing-seven-segment-led-displays/

: Bearbeitet durch User
von 900ss (900ss)


Lesenswert?

Mi N. schrieb:
> Eine Ganggenauigkeit < 1 ppm ist recht einfach

hust ;)
Na ja, wenn man zu besonderen Uhren-ICs greift oder in der Software die 
Gangungenauigkeiten ausgleicht. Fällt aber kaum noch unter einfach 
(finde ich). Und 0815-Quartze haben deutlich mehr Abweichung.

von Christian (dragony)


Lesenswert?

Mi N. schrieb:
> Eine Ganggenauigkeit < 1 ppm ist recht einfach blablabla

Wie kommst du auf so einen Blödsinn? Hast du überhaupt jemals von 
Temperaturstabilität und Alterung gehört? Oder gehts dir nur um die 
Messung, die du direkt nach dem Kauf mit einem Exemplar in deinem 20-25° 
Zimmerchen anstellst?

Wobei ich bezweifle, dass du ein Zeitnormal besitzt, um überhaupt solch 
eine Messung durchführen zu können.

Schmeiss hier nicht mit Worten um dich, von denen du nichts verstehst.

Auf die 1ppb gehe ich der Höflichkeit halber einfach mal nicht ein.

von Christian (dragony)


Lesenswert?

Mein lokales Zeitnormal ist übrigens eine SA.35m Atomuhr.

von Christian (dragony)


Lesenswert?

Der TO wird sich mit der Frage "wie genau darfs denn sein?" noch länger 
auseinander setzen, denke ich.

MEMS, Quarz, TCXO, OCXO oder Atomuhr? Die Dinger haben ungefähr alle 
gleich viele Pins. ;)

von Axel S. (a-za-z0-9)


Lesenswert?

Alexander H. schrieb:
> Mir würde aber ein genauer (Uhren-)Quarz zur Takterzeugung oder ein RTC
> (teilweise störanfällig?) ausreichen.

Eine RTC ist nicht störanfällig. Wo hast du den Blödsinn her? Der 
Vorteil einer RTC ist, daß sie aus einer kleinen Batterie/Akku/Goldcap 
auch noch tage/wochen/monatelang weiterläuft wenn das Gerät 
ausgeschaltet ist. Brauchst du erstmal nicht.

> Die Ausgabe soll in HH-MM-SS erfolgen (ein 8 digit display).

Für die Uhrzeit ist die Trennung mit Doppelpunkten der Normalfall. Ich 
hatte das nur vorgeschlagen, weil die achtstelligen Displays die man 
billig kaufen kann, keinen Doppelpunkt zwischen den Ziffern haben. Aber 
es wäre natürlich ein Anfang. Und das kannst du gleich verinnerlichen: 
die meisten µC Projekte fangen klein an.

> Die Anzeige von Datum, evtl. Countdown und Stoppuhr wären natürlich auch
> klasse.

Ja, dann mach doch! Was hindert dich?

> Leider sind die im Netz präsentierten Uhren öfters
> fehlerbehaftet, laufen zu schnell/zu langsam (wie man manchmal auf Blogs
> lesen kann).

Na klar. Alle machen mal Programmierfehler. Wird dir auch passieren.

von Peter D. (peda)


Lesenswert?

Ein RTC mit internem Quarz ist auch eine Idee. Damit ist man unabhängig 
von der äußeren Beschaltung.
Z.B. der RX8010SJ ist recht günstig und mit 5ppm schon recht genau.
Er braucht nur 160nA, mit einem 1F Goldcap läuft er Monate.
Mit 1,27mm Pitch ist er noch gut zu löten.

von Ralph S. (jjflash)


Lesenswert?

Vor längerer Zeit einmal hatte ich mir die Genauigkeit von (billigen) 
Quarzen aus China ausgemessen gehabt und war (negativ) erstaunt (wenn 
man dem Hameg HM8021-3, alt aber gar nicht schlecht) glauben darf:

Durchweg in der Charge (ich glaube es waren 20 Stck.) war der gröbste 
Ausreiser (den weiß ich noch) 16001.300 MHz (entspricht 81 ppm). Selbst 
mit unterschiedlichen Lastkapazitäten (für den Ausdruck Ziehkondensator 
wurde mir hier der Hintern versohlt) würde man den schwerlich auf genau 
16 MHz ziehen können.

50 ppm entsprechen einer Gangungenauigkeit von 4,32 Sekunden am Tag 
(ergo ca. 2 Minuten im Monat), was den gängigen (miesen) Uhren so 
entspricht.

Entweder arbeitet man hier mit einer hochgenauen Zeitbasis oder fügt in 
der Software einen Fehlerausgleich für die Gangungenauigkeit des Quarzes 
ein.

von 900ss (900ss)


Lesenswert?

Peter D. schrieb:
> RX8010SJ

Interessant, danke :)

von Mi N. (msx)


Lesenswert?

Christian schrieb:
> Mi N. schrieb:
>> Eine Ganggenauigkeit < 1 ppm ist recht einfach blablabla
>
> Wie kommst du auf so einen Blödsinn? Hast du überhaupt jemals von
> Temperaturstabilität und Alterung gehört? Oder gehts dir nur um die
> Messung, die du direkt nach dem Kauf mit einem Exemplar in deinem 20-25°
> Zimmerchen anstellst?

Ein einfacher TCXO liefert das. Na gut, 2 - 3 Euro muß man schon 
investieren.

> Schmeiss hier nicht mit Worten um dich, von denen du nichts verstehst.
>
> Auf die 1ppb gehe ich der Höflichkeit halber einfach mal nicht ein.

Bleib mal ganz ruhig, Alter. Die Probleme, die Du mit dieser Stabilität 
vielleicht hast, haben andere längst gelöst.
Bauanleitungen für passende Frequenzzähler findest Du übrigens bei mir.

von Ralph S. (jjflash)


Lesenswert?

Peter D. schrieb:
> Z.B. der RX8010SJ ist recht günstig und mit 5ppm schon recht genau.

... kannte ich noch nicht und habe ich mir jetzt einmal bestellt.

Danke für den Hinweis !

Beitrag #7782059 wurde vom Autor gelöscht.
von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

So, auch wenn das wohl etwas "spät" im Thread jetzt ist, hat es mich 
doch "gepfupfert" gehabt, eine LED-Uhr aufzubauen (und witzigerweise 
habe ich festgestellt, dass ich eine 7-Segmentanzeigen-Uhr niemals 
"fertig" gemacht hatte, immer nur "BCD-Uhren").

Also: 7-Segment-Uhr mit ATmega328p die Hundertausendste!

Auch wenn das in der Rubrik "Projecte & Code" wohl besser passen würde, 
poste ich das hier zum Thema, weil ich denke, dass es 7-Segmentuhren 
wohl irgendwo zu Hauf geben wird und "meine" Uhr ist dann wohl die 
10.001 ... oder auch 100.001 (wie auch immer).

Ich habe jetzt mal im Schnelldurchgang versucht, die Uhr (und die 
Funktion) zu beschreiben, damit der TO hier evtl. doch etwas damit 
anfangen kann, auch wenn "meine" Uhr wohl nicht der klassischen ersten 
Uhr entspricht, die man so programmiert.

Diese Uhr hier hat eine Kalibrierfunktion, um die Ungenauigkeit des 
Uhrenquarzes (ich verwende einen 32.768 kHz Quarz und leite den 
Uhrentakt NICHT vom Takt des Systems ab) auszugleichen.

Die Uhr hier kann:

- auch Datum anzeigen
- Helligkeit der Anzeige variieren
- den Anzeigemodus wechseln (Uhrzeit permanent, Uhrzeit / Datum im 
Wechsel)

Alexander H. schrieb:
> Wahnsinn, wie man eine Uhr alternativ auch noch bewerkstelligen kann.
> Mir würde aber ein genauer (Uhren-)Quarz zur Takterzeugung oder ein RTC
> (teilweise störanfällig?) ausreichen.
> Die Ausgabe soll in HH-MM-SS erfolgen (ein 8 digit display).
> Die Anzeige von Datum, evtl. Countdown und Stoppuhr wären natürlich auch
> klasse. Leider sind die im Netz präsentierten Uhren öfters
> fehlerbehaftet, laufen zu schnell/zu langsam (wie man manchmal auf Blogs
> lesen kann).
>
> Ob Attiny26 oder Atmega328 ist eigentlich egal. Wenn möglich wollte ich
> den Atmega328 nehmen, da dann externe Ansteurungs ICs entfallen.

Mit "Ansteuerung-IC" wie bspw. TM1637 wäre es weniger Aufwand als so. 
:-) um es gaaaaaanz richtig zu machen (hier wird es nicht so wirklich 
gerne gesehen, wenn treibende Multiplex-Pins direkt an einen Controller 
OHNE Transistoren gehängt wird, habe ich das jetzt mal wirklich 
hochklassisch mit Transistoren für Digits und Segmente gemacht).

Wenn du hier noch mitliest: Schau es dir an (und den Code auch).

von Ralph S. (jjflash)


Lesenswert?

... und wieder einmal... hat sich ein Fehler eingeschlichen (sehe ich 
gerade)!

Der Kommentar zu

ISR (TIMER1_COMPA_vect)

mpx_6digit.c

ist falsch. Dieser stammt noch aus einem Frequenzzählerprojekt. Die 
Funktion des Interruptvektors hingegen ist jedoch korrekt. Er macht 
nichts anderes, als den Framebuffer der Anzeige anzuzeigen (was auch 
sonst).

von Alexander H. (alexander_h732)


Lesenswert?

Hallo Ralph, das ist ja der Wahnsinn.
Super Projekt! Ich bin seit vorgestern dabei, alles durchzulesen und 
versuche, nach und nach zu verstehen.
Die Erläuterungen/Dokumentation die du  gemacht hast ist genial. Genau 
das fehlt eigentlich immer(wahrscheinlich weil die Ersteller oft keine 
Anfänger mehr sind.)

Ich hab mittlerweile auch ein Nachbauprojekt für die Weihnachtszeit 
gefunden, das scheinbar relativ gelingsicher dokumentiert ist.

Beitrag "Schaltplan für IW-18 Uhr mit zwei UDN2981"

https://www.makerconnect.de/index.php?threads/iw-18-mit-zwei-udn2981.1835/

Seit Jahren liegt bei mir eine IV-18 VFD Röhre rum und hier hat jemand 
mit Atmega16 und zwei UDN2981 (oder TD62783AP) eine schöne Uhr gebaut 
(inkl. Datum, Jahr, Wochentag).
Auf Youtube sieht man eine alte und neue Version (Atmega8).

http://www.youtube.com/watch?v=5QCuKnXRlOg

https://m.youtube.com/watch?v=9xnal4g3nq4

Das hexfile ist wohl für die ältere Version mit Mega16.
Ich frag mich, ob es (ohne großen Aufwand) möglich wäre, die firmware 
der Uhr auf Atmega8 umzuschreiben, denn der Ersteller hat im Thread auch 
den Bascom Code eingestellt.
Müssten die Inputs/Outputs nicht in diesem Bascom file definiert sein, 
d.h. man könnte sie für Atmega8 passend ändern und dann neu als .hex 
kompilieren?
Oder ist das viel schwieriger als ich denke?🤔

Beim Atmega16 wären immerhin 11 I/Os unbeschaltet, beim Atmega8 nur 
drei, wenn ich das richtig sehe.

: Bearbeitet durch User
von Alexander H. (alexander_h732)


Lesenswert?

Was braucht man denn alles, um aus dem Bascomcode eine .hex-Datei zu 
kompilieren?
Ganz am Anfang sehe ich
$regfile = "m16def.dat"
Dort müssten doch die I/Os festgelegt sein, oder? Ist das eine weitere 
Datei, die benötigt wird?

von Mi N. (msx)


Lesenswert?

Alexander H. schrieb:
> Ich hab mittlerweile auch ein Nachbauprojekt für die Weihnachtszeit
> gefunden, das scheinbar relativ gelingsicher dokumentiert ist.

Bitte mache es nicht! Die Beiträge sind von 2011 mit exotischen 
Gurkenteilen. Du hast hier einige Empfehlungen bekommen, die allesamt 
besser umzusetzen sind.

von Ralph S. (jjflash)


Lesenswert?

Hm, irgendwie beschleicht mich das Gefühl (eigentlich schon etwas mit 
dem Eröffnungsthread), dass der TO - sagen wir es nett - etwas 
Schabernack mit uns treibt:

Hier will er eine Uhr mit ATtiny26 aufbauen, weil er viele ATtiny26 hat, 
Zitat:

Alexander H. schrieb:
> In der Bastelkiste liegen mehrere Attiny26 und pinmässig (und
> grundsätzlich) dürfte sich der ATTiny auch für eine Uhr eignen, oder?

In einem Nachbarthread möchte er welche kaufen:

Beitrag "Suche Attiny26L-8SU (NOS)"

Wie dem auch sei.

Alexander H. schrieb:
> Die Erläuterungen/Dokumentation die du  gemacht hast ist genial. Genau
> das fehlt eigentlich immer(wahrscheinlich weil die Ersteller oft keine
> Anfänger mehr sind.)

:-) danke für die Blumen, aber "genial" ist anderst. Die Erläuterungen 
sind aus einzelnen Projekten zusammengeschrieben und leider finde ich 
die Original Officedateien nicht mehr, aus denen ich PDF erstellt hatte. 
Andererseits mag ich (aus welchen Gründen auch immer) reine Textdateien 
lieber, weil ich die dann auch als Kommentar in die Quelltexte einfügen 
kann. Normalerweise schreibe ich zu den einzelnen Funktionen in meinen 
Quelltexten auch gleich die Funktion als "Dokumentation" mit rein, von 
daher ist es sicher keine schlechte Idee, die Quelltexte anzusehen.

Alexander H. schrieb:
> Ich hab mittlerweile auch ein Nachbauprojekt für die Weihnachtszeit
> gefunden, das scheinbar relativ gelingsicher dokumentiert ist.
>
> Beitrag "Schaltplan für IW-18 Uhr mit zwei UDN2981"
>
> https://www.makerconnect.de/index.php?threads/iw-18-mit-zwei-udn2981.1835/
>
> Seit Jahren liegt bei mir eine IV-18 VFD Röhre

Du hast wirklich eine solche Röhre rumliegen? Ich habe auch noch eine 
(mehrere hatte ich vor Jahren schon entsorgt, genauso wie ein paar VFD 
Displays ... und ärgere mich heute über das Entsorgen).

Mit einer reinen Röhre (ohne die Controller und ohne die hohe 
Spannungserzeugung von ca.30V) ist so ein Nachbau sicherlich nicht 
gelingsicher nachbaubar. Alleine aus 5V mittels eines MC34063 etwa 25V 
zu produzieren ist nicht so ganz so lustig (an die "Nörgler": ich weiß 
dass das funktioniert).

Alexander H. schrieb:
> d.h. man könnte sie für Atmega8 passend ändern und dann neu als .hex
> kompilieren?
> Oder ist das viel schwieriger als ich denke?

Erst wolltest du das mit einem ATtiny26 machen, dann hattest du dich auf 
einen ATmega328 festgelegt und jetzt möchtest du das mit dem wirklich 
sehr alten ATmega8 machen (der, wenn man den kaufen muß, deutlich teurer 
als ein 328er ist).

Zudem: wolltest du nicht das "Uhrwerk" im Controller bewerkstelligen. 
Das von dir verlinkte Projekt verwendet einen DS1307 als RTC 
Uhrenbaustein, für den gelinde gesagt einiges gemacht werden muß 
(Hardware- und Softwareseitig) bis das Teil genau geht. Ein DS3231 
funktioniert hier deutlich einfacher und läuft genauer, bei gleichen 
Steuerbefehlen.

Wenn es zudem keine Single-Chiplösung mit nur dem Controller als 
einzigem IC sein muß, kannst du dir aus dem Projekt Anleihen nehmen, um 
diskrete Transistoren durch Transistorarray zu ersetzen. Hier der 
UDN2981 als High-Side-Schalter für die Digits und einen ULN2804 als 
Low-Side-Schalter für die Segmente.

Alexander H. schrieb:
> Was braucht man denn alles, um aus dem Bascomcode eine .hex-Datei zu
> kompilieren?

Vor allen Dingen benötigt es den Bascom-Compiler (der -ich habe gerade 
nachgesehen- sein letztes Update in 2016 hatte), der nicht kostenfrei 
ist und es nur eine kostenfrei Demo-Version mit einer 
Codegrößenbeschränkung von 4kByte gibt. Der Full-Version Compiler kostet 
über 100€ !!! (im "Arduino-Zeitalter" wundert es mich, dass so etwas zu 
so einem Preis noch verkauft werden kann).

Alexander H. schrieb:
> $regfile = "m16def.dat"
> Dort müssten doch die I/Os festgelegt sein, oder? Ist das eine weitere
> Datei, die benötigt wird?

Natürlich ist das eine weitere Datei, die benötigt wird und die von 
Bascom zur Verfügung gestellt wird.

Alexander H. schrieb:
> Müssten die Inputs/Outputs nicht in diesem Bascom file definiert sein,
> d.h. man könnte sie für Atmega8 passend ändern und dann neu als .hex
> kompilieren?
> Oder ist das viel schwieriger als ich denke?

Für einen "Nicht-Anfänger" dürfte das nicht viel schwieriger sein, für 
Dich glaube ich jedoch schon.

Versuche das ganze doch in C (oder auch mit C++ und mit Arduino) zu 
machen, da gibt es - wenn es dir ernst ist - aus dem Netz deutlich mehr 
Unterstützung als mit Basic.

Wenn dir die Anzahl der Transistoren und Widerstände in meiner 
"Uhrenschaltung" zu viel sind (mir sind es zu viele), dann denke doch 
noch einmal über Anzeigentreiber nach (deines Projektes wegen sortiere 
ich gerade meine Sourcen zu diversen Treibern und versuche die in eine 
einzige .h / .c Kombination zu bringen).

Beitrag "TM1637, 4-stellige LED 7-Segmentanzeige mit AVR-GCC"

Den Code aus obigem Link habe ich mittlerweile erweitert (eben auf 
6-stellige Anzeige und das Lesen von gemultiplexten Tasten).

Für dich zum Testen, Spielen und Ausprobieren wäre das hier nützlich 
(wohl aber nicht vor Weihnachten bei dir):

https://www.ebay.de/itm/404308959588?_skw=tm1638&itmmeta=01JEAV5Z5A5XEGM5CAMMNDP6RP&hash=item5e22b12164:g:IKkAAOSwhBJkcv1W&itmprp=enc%3AAQAJAAAAwHoV3kP08IDx%2BKZ9MfhVJKnC91Ncub%2F5fubR4yGX2AxUe8nLbCHNlY67JMfY7L%2Bt44o7j9wELllPR9CLClWT%2FqCUqv1andzkqvgsVq%2BU8H0p%2B%2Fhsm6e8r2WHaTyXk5Ybgm9kamkF8pBCuzHJ08pkzQnN5PIBRxtCafUKY2gO33JpRZ0EYvW7o490JunragY%2FQcA%2F1yEvl8SiHq%2FNYzl4Sr9NOwzeI6SkJOF46QBKiJPhLySwfV2StFmcKkkgXbT6cQ%3D%3D%7Ctkp%3ABk9SR97yl9vyZA

Wenn es Dir ernst ist mit Deinem Uhrenprojekt: Gutes gelingen.

von Ralph S. (jjflash)


Lesenswert?

Wußte ich es doch, dass ich das hier einmal eingestellt hatte:

Code für TM1637 6-stellig mit Tasteneinlesen, wenn auch für ATtiny44:

Beitrag "Siebensegment und Tasten ansteuern mit TM1651 \ TM1637"

von Alexander H. (alexander_h732)


Lesenswert?

Bevor ich mir überhaupt Teile für den Nachbau zulege, muss ich  mir 
sicher sein, dass es funktioniert.
Daher fand ich die IV-18 Uhr mit Mega16 und dem Transistorarray 
(TD62783AP als Treiber-IC) ziemlich gut. Exotisch (und ungünstig) aus 
heutiger Sicht ist wohl der Bascomcode.

Ein weiteres, schön umgesetztes Projekt ist das hier:
http://robocua.blogspot.com/2017/11/blog-post.html?m=1

Da hätte ich einen Atmega8(alle I/Os belegt) mit RTC (DS1307) und 
Thermometer (DS18B20), Alarm und Helligkeitsregelung. Dazu sind die 
Menüs noch richtig gut gemacht mit Scrollingeffekt. Man könnte aber ein 
Transistorray statt Einzeltransistoren verwenden.

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Alexander H. schrieb:
> Exotisch (und ungünstig) aus
> heutiger Sicht ist wohl der Bascomcode.

Die Demo kommt mit "compiles up to 4kB binary code"...
Vielleicht reicht's.

von Joachim B. (jar)


Lesenswert?

Ralph S. schrieb:
> Alleine aus 5V mittels eines MC34063 etwa 25V
> zu produzieren ist nicht so ganz so lustig (an die "Nörgler": ich weiß
> dass das funktioniert).

ist simpel und leicht möglich, mit in Reihe geschalteten SIM1 05/24 4-5 
Stück für 96V-120V. Für so Kleinigkeiten macht man doch keine 
Experimente.

von Ralph S. (jjflash)


Lesenswert?

Alexander H. schrieb:
> Da hätte ich einen Atmega8(alle I/Os belegt) mit RTC (DS1307) und
> Thermometer (DS18B20)

Wenn Du eine genaue Uhr haben möchtest, vergiß den RTC DS1307... ehrlich 
... und verwende DS3231.

Thermometer DS18B20 kann meine Uhr jetzt auch.

Hm, ich glaube ich melde mich hier einmal ab, denn du machst immer 
wieder neue Baustellen auf!

Lerne einfach, wie Mikrocontroller funktionieren, anstelle einfach stur 
etwas (auch die Hardware) nachbauen zu wollen, die Software einzusetzen 
(die du nicht verstehst).

Grundsätzlich hätte ich dir angeboten gehabt (jetzt allerdings nicht 
mehr), dir eine Platine eines älteren Projektes von mir zu verwenden 
(das war mein Kosmos CP1 Clone hier), der einen 7-Segmentanzeigentreiber 
auf der Platine hat, eine USB2UART Bridge, mit der du dann das Teil 
sogar mit Arduino hättest programmieren können und insgesamt 11 Tasten 
und darauf habe ich jetzt auch eine Uhr am laufen.

Bau Du deine Sachen und verwende Bascom (wenn du Glück hast, passt dein 
Code in die 4 kByte Speicher die der Demo-Compiler kann).

Gruß,
JJ

von Joachim B. (jar)


Lesenswert?

Ralph S. schrieb:
> Wenn Du eine genaue Uhr haben möchtest, vergiß den RTC DS1307... ehrlich
> ... und verwende DS3231.
>
> Thermometer DS18B20 kann meine Uhr jetzt auch

+1

von Alexander H. (alexander_h732)


Lesenswert?

„ Wenn Du eine genaue Uhr haben möchtest, vergiß den RTC DS1307... 
ehrlich ... und verwende DS3231.“

Ja, ich bin mittlerweile auch darauf gekommen, dass der DS3231 am besten 
funktioniert. Die ursprüngliche Version der verlinkten Uhr läuft auch 
mit DS3231 statt DS1307.😀👍

Bin gerade dabei, ein eigenes Layout zu erstellen und mir fiel auf, dass 
man bei VFDs immer wieder über unterschiedliche Treiber ICs diskutiert.

Es gibt ja sink/source (highside/lowside) zB. TD62083AFN oder TD62783AP 
(Darlington-/Transistorarrays) mit und ohne Diode an den Ausgängen.
Dann gibts spezielle VFD Treiber wie den UDN6118 mit pull-down 
Widerständen an den Ausgängen.
Aber zu funktionieren scheint fast alles.
Was benötige ich in meinem Fall:
http://robocua.blogspot.com/2017/11/blog-post.html?m=1

Einen sink- oder einen source Treiber?
Wäre der UDN6118 ein guter Kandidat?

Kann jemand aufklären, was technisch besser geeignet ist, bzw. welche 
Effekte auftreten könnten (ghosting von nicht angeschalteten Ziffern 
evtl.?)?

: Bearbeitet durch User
von Mi N. (msx)


Lesenswert?

Alexander H. schrieb:
> Was benötige ich in meinem Fall:
> ...
> Einen sink- oder einen source Treiber?

Du bist ein sehr spezieller Fall, darum ist es egal :-(

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Um meine Frage zu konkretisieren:
Ich habe 2xUDN6118 da, die ich gerne statt den 17× BC857 nehmen würde.
Geht das einfach so?

Die 2x UDN6118 reichen nicht aus.
Daher muss ich für das neunte Gitter einen (Einzel-)Transistor nehmen.
Die Variante mit BC857 ist schön kompakt, vorallem im Gegensatz zum 
Aufwand, einen Kanal des UDN6118 diskret aufzubauen.
Es gibt aber tausend Varianten, wenn man danach googelt.
Wie würdet ihr das machen?

Kann mir einer erklären, was die Z-
Diode (5,1V) zwischen der Mittelanzapfung der Heizspannung und der 
Gitter-/Anodenspannung bewirkt?

von Ralph S. (jjflash)


Lesenswert?

... und woher weißt du, welchen Übertrager Trafo du dafür brauchst... 
und wieso der Schwingungssignale erzeugt? Ah, okay, bau halt einfach 
irgendwelche Trafos ein, wird schon funktionieren!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Alexander H. schrieb:
> Diode (5,1V) zwischen der Mittelanzapfung der Heizspannung und der
> Gitter-/Anodenspannung bewirkt?

Das VFD ist eine Röhre, bei der der Heizfaden gleichzeitig die Funktion 
der Kathode übernimmt. Wie immer bei einer Röhre muss die Kathode 
negativ vorgespannt werden, damit die emittierten Elektronen dann vom 
positiven Grid und Segment angezogen werden und das Segment leuchten 
lassen. Im Vergleich mit der Röhre ist also das Grid das Steuergitter 
und das Segment die Anode.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Alexander H. schrieb:
> Kann mir einer erklären, was die Z-
> Diode (5,1V) zwischen der Mittelanzapfung der Heizspannung und der
> Gitter-/Anodenspannung bewirkt?

Die soll dafür sorgen, daß die Elektroden ausgeschaltet leicht negativ 
sind, d.h. sicher sperren. Ansonsten könnte Ghosting auftreten.

von Andrea B. (stromteam)


Lesenswert?

Ralph S. schrieb:
> Bau Du deine Sachen und verwende Bascom (wenn du Glück hast, passt dein
> Code in die 4 kByte Speicher die der Demo-Compiler kann).

Bascom hat für eine Uhr incl. DCF77 alles dabei und kann schnelle 
Erfolge liefern, die Uhr sollte in der Demo Version laufen.

Benutze ein Breadboard und fang klein an:
- Hello world
- Hello World mit Taster Abfrage
- 7-Segmant Anzeige zählen lassen
- ...
- Uhr mit vier Stellen
- ...

Je höher der Anspruch beim Enstieg desto größer kann der Frust sein und 
für ein Ende der Aktivitäten bezüglich µC sorgen.

Was nützt es dem TO wenn es nicht funktioniert und er nicht feststellen 
kann ob er ein Hardware oder Software Problem hat?

von Ralph S. (jjflash)


Lesenswert?

Andrea B. schrieb:
> Bascom hat für eine Uhr incl. DCF77 alles dabei und kann schnelle
> Erfolge liefern, die Uhr sollte in der Demo Version laufen.

Was nutzt es einem Anfänger, einfach einen Code einzubinden und laufen 
zu lassen ohne diesen zu verstehen? Wenn auch DCF77 nicht so ganz so 
schwierig ist, (je nach Einstiegshöhe) ist es eben für einen Anfänger 
eben doch "undurchsichtig".

Ursprünglich ging es hier einmal um eine Uhr mit ATtiny und 7-Segment 
LED Anzeigen.

Der Controller wurde gewechselt, die Anzeige wurde gewechselt.

Andrea B. schrieb:
> Je höher der Anspruch beim Enstieg desto größer kann der Frust sein und
> für ein Ende der Aktivitäten bezüglich µC sorgen.

Deswegen steigt man ja auch gleich mit DCF77 ein !!!

Andrea B. schrieb:
> Was nützt es dem TO wenn es nicht funktioniert und er nicht feststellen
> kann ob er ein Hardware oder Software Problem hat?

Deswegen verwendet man DCF77 !!!

Andrea B. schrieb:
> Benutze ein Breadboard und fang klein an:
> - Hello world
> - Hello World mit Taster Abfrage
> - 7-Segmant Anzeige zählen lassen
> - ...
> - Uhr mit vier Stellen
> - ...

Das stimmt komplett und es ist vollkommen Wurst, mit welcher Sprache man 
das macht. Aber der TO will das eben nicht. Momentan ist er in seine 
VFD-Röhre verliebt !

Wie war das noch einmal mit dem Fehler in Hardware oder Software ???

----------------------------------------------------------------------

Ich finde diesen Thread hier zum Mitlesen dennoch spannend, weil es hoch 
interessant ist, was denn alles zum Thema "gemeint" wird, wohin alles 
abschweift ... und ob der TO sich noch einmal meldet ! (am spannensden).

von Alexander H. (alexander_h732)


Lesenswert?

Bin grad am Locherasteraufbau.
Eine Frage zum Thema Multiplexing mit PNP/NPN hab ich noch.
Die IV-18 Schaltung schaltet die -21V für Gitter/Segmente mit BC557 
(PNP).
Wenn ich NPN Transistorrays (wie UDN6118) nehmen will, müsste ich dann 
zwingend die Signale in Software invertieren, oder geht das auch anders 
(Anoden/ Gitter umpolen?) bzw. gibts für den Fall irgendeinen Trick?
Oder würde das Ganze einfach so laufen, ohne Änderung?
Die Invertierung mittels Einzeltransistoren scheidet natürlich aus.

Die Spannungserzeugung (AC Heizung und 20V DC) hab ich übrigens mit 
LM9022 (LM4871) gemacht, so wie im Datenblatt. Läuft gut.👍🙂

: Bearbeitet durch User
von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Herjeh, ich werde mir selbst untreu und schreibe hier jetzt doch noch 
einmal etwas zum Thema (Erklärung): Das nennt man bei mir wohl 
"Ausbilderkrankheit".

Zu allererst einmal so die Frage (vorrausgesetzt Du hälst uns hier alle 
nicht zum Narren):

Hast du diese Teile so einfach rumliegen? Ich weiß nicht, wann ich das 
letzte mal einen UDN6118 in freier Wildbahn gesehen hatte und wann ich 
einen solchigen benötigt habe. Wenn ich das richtig erinnere, dann hatte 
ich den nur für Reparaturzwecke in der Hand. Wie dem auch sei: Du 
solltest Dir vielleicht einmal grundlegende Dinge zur Elektronik 
aneignen, denn Transistoren und Transistorarrays (und wie sie 
funktionieren) gehört hier zum Handwerkszeug (Bipolare und Unipolare).

Alexander H. schrieb:
> Wenn ich NPN Transistorrays (wie UDN6118) nehmen will, müsste ich dann
> zwingend die Signale in Software invertieren, oder geht das auch anders
> (Anoden/ Gitter umpolen?) bzw. gibts für den Fall irgendeinen Trick?
> Oder würde das Ganze einfach so laufen, ohne Änderung?

Ich beziehe mich im Folgenden auf den Schaltplan der Röhre aus Deinem 
Posting:

Beitrag "Re: LED-Uhr mit Attiny26"

Um meine Erklärungen vorwegzunehmen: Ich glaube nicht (d.h. ich weiß es 
nicht), dass du die PNP Transistoren durch einen UDN6118 an dieser 
Stelle ersetzen kannst, wenn ja, muß der Pegel in Software geändert 
werden.

Vorneweg:

- alle einzelnen Segmente der Röhre liegen auf ca. -20V
- mit den einzelnen PNP-Transistoren können +5V auf jedes einzelne 
Segment gegeben werden.

Wann wird nun ein PNP-Transistor leitend? Dann, wenn ein Strom aus der 
Basis herausfließen kann (oder auch technisch ausgedrückt ein negativer 
Strom in die Basis fließt). Typischerweise wird ein solcher Strom gegen 
Ground (oder auch gegen eine negative Spannung) fließen. D.h. dass ein 
steuernder Controller einen 0-Pegel hat, der Basisstrom des PNP in den 
Controllereingang fließt, Controller schaltet somit Lo-Side.

Ergo: es wird eine 0 benötigt um deinen PNP zu schalten, damit der +5V 
an ein einzelnes Segment anlegen kann.

Was macht nun der UDN6118?

Wieder vorneweg: er benötigt einen High-Pegel um eine Spannung an seinen 
Ausgang zu legen (könnte man nun einfach so stehen lassen und das hätte 
man aus dem Datenblatt so auch herauslesen können). Ein einziger Blick 
auf die Innenbeschaltung (nennt sich im Datenblatt "PARTIAL SCHEMATIC - 
ONE DRIVER" ) hätte das auch gezeigt.

Ich habe Dir das mal herauskopiert und die Innenbeschaltung bearbeitet 
(siehe Anhang).

Grundsätzlich: Die minimale Betriebsspannung des UDN6118 beträgt 5V !!! 
Du bewegst dich hier also an der untersten Grenze dessen was Du machen 
möchtest.

Zur Funktionsweise:

T4 und T5 bilden eine Darlingtonschaltung in Kollektorschaltung. Hier 
gilt, dass eine U_ce von 2 * U_be nicht unterschritten werden kann. D.h. 
dass du hier mindestens einen Spannungsabfall von 1V, eher 1,3V bis 1,4V 
hast. Um diese Spannung wird die Ausgangsspannung geringer als die 
Betriebsspannung sein.

Sieh dir das bild an und du wirst sehen: Bei einem Eingangspegel von 0V 
sind alle Transistoren gesperrt und der Ausgangspegel ist 0V. Das ist 
dann hier auch die Crux bei der ich mir nicht sicher bin ob ein UDN6118 
in der von dir gezeigten Schaltung als Ersatz für die PNP-Transistoren 
funktioniert. Begründung: Schaust du dir das Innenschaltbild an, so 
liegt der Ausgang nun über einen 125k Widerstand gegen Masse. Das dürfte 
reichen um das einzelne Segement anzusteuern, welches über einen 300k 
ansonsten auf -20V liegt. Du möchtest hier allerdings entweder +5V oder 
-21V haben !!!!

Legst du an den Eingang des UDN6118 einen High-Pegel (lt. Datenblatt ist 
die "Input ON Voltage" von 2,4V .. 15V gegeben) so wird T2 leitend. T1 
begrenzt die Basisspannung von T2. Dadurch dass nun T2 leitend ist, kann 
der Basisstrom von T3 über einen Widerstand, C-E Strecke T2 und R_e 
abfließend und ist somit leitend und versorgt die Darlingtonkombination 
von T4 / T5 mit einem Basisstrom, womit dieser auch leitend wird.

Schau dir das Bild hier im Anhang an und probiere eine einfache 
Simulation im Falstad-Online Simulator:

https://www.falstad.com/circuit/circuitjs.html?ctz=CQAgjCAMB0l3BWcMBMcUHYMGZIA4UA2ATmIxAUgoqoQFMBaMMAKABcQ9jCQUEfiKPL35RwIBjATZpGPFwAsWBMTDyo0BVoWFsKHbkJwMC5FQAmdAGYBDAK4AbNu057eCqnkKn9VKhElYBCUcHC8EDDBcYmEYBTxIIwQwfmY8OTkkMDgQS1tHZwB3Tm8RHnkqPh5IFmKvH30QQWEURpri5t5Gzt8oWqahLtNOsCM+jhweVtM5BtMqJgk4hWx5bIxiJQVpVVNAhRjCYLw1KNGMSAhsi2t7J37Z909Rp77ix7RhR9G-FgAnTgvXonHi4ea8C5wfog154Ny9GoAiogMGcBIowixcCUKF1F6o5Go9poqgE9FVN4DFoYFBUjGxaHk0RcKaiYnfMYjMbEwmYunYPmI-l8zpaLFgPjwfqdAXCa7CWV9AGTIYgFU-MS4KXvAXgMYc37K3XTNW6vR+EAeKETSCmbC6lX26riBjYaAyYgIOHYZhyIRKbAaA7YGICwg07ZgGK2sy5W4Ff6m0F4Ga6sWanHstPxNUpy05mo2u158O01bggJxYghuGEUuR6PzaD8LiCNLcSMpWN5O5FNUx8tJlF5rPJ1OghC04ml+kgGdOynzh0D3XTmmWnIz9Nr2nplXb-pLniERoLoUnu26i-5rFa3FzxrprcFxPBS-H0+rsxQgAec7hlpqP2EAKCgIHgKYAAqrB-iYoIhmqpTYKBloQSAkEoCwsHcF0zwNIGphgFB2BYSUgZgYGay8C8hFQQopHVuQfDCJ6SBEOBRHoQgDy6hqb56r8ABKFBaAJFASmJFoeNQFpSCwwn8QuyRll+VDSUgsnNiwADmQ57mmpS-DqY65sW8wPHm6aii+AAOpnDjMlk5oG-jfvAxLWXKcDCAednyrO-npi54jXO5NSwTkKxfEBWgcaYgl0Ien48PwpIjiwdmpQ5FBjEFYhXGF95ZU+j4vn+hAvMwxBNJO4CtKhjQAKoACIAHIVWoAA6ADOACSAB2-V0P1ABGdDdQAxgAFjYTh2P12ksKs+YgAAYhAFpoBIECNT1A02XYzjLSsa0bdQW2LAAQnQbB-AAlnQI3dd1Nk2IN82LUAA

Dort kannst du auf der rechten Seite die Eingangsspannung und die Input 
Voltage mit den Schiebereglern variieren und sehen was passiert!

von Axel S. (a-za-z0-9)


Lesenswert?

Alexander H. schrieb:
> Eine Frage zum Thema Multiplexing mit PNP/NPN hab ich noch.
> Die IV-18 Schaltung schaltet die -21V für Gitter/Segmente mit BC557
> (PNP).

Nicht minus 21V. Plus 21V. Den Anhang im komischen Maker-Forum kann 
ich nicht sehen. Aber wenn überhaupt, dann liegt die Glühkathode auf 
-21V und die Gitter/Anoden werden von den Transistoren auf GND bzw. wohl 
eher +5V geschaltet und von Pulldown-Widerständen auf -21V gezogen.

> Wenn ich NPN Transistorrays (wie UDN6118) nehmen will, müsste ich dann
> zwingend die Signale in Software invertieren, oder geht das auch anders

Das geht gar nicht. Damit die Anoden leuchten, muß Strom in sie hinein 
fließen und in die Gitter auch. Das Netz sagt für die IW-18 ca. 11mA pro 
Gitter und 8mA für alle 7 Segmente. Wenn die Anoden aus sind fließt 
hingegen praktisch kein Strom (auch nicht in das Gitter). Deswegen ist 
nur PNP + Pulldown praktisch verwendbar. Im Prinzip ginge auch NPN + 
Pullup, aber dann müßte man die Widerstände viel niederohmiger machen 
und würde mit einer Heizung enden.

Warum versuchst du auf Teufel komm raus eine Uhr mit esoterischen 
Bauelementen wie einem VFD zu bauen? Wenn du das willst, dann geh auch 
den ganzen Weg und nimm die richtigen Treiber dafür!

von Ralph S. (jjflash)


Lesenswert?

Nachtrag:

Als Ersatz für die "unteren" PNP in deiner Schaltung VT13 bis VT20, die 
die Digits von GR1 bis GR9 ansteuern, wird der UDN6118 wohl 
funktionieren (allerdings auch hier mit einer softwareseitigen 
Invertierung des Steuersignals)

von Ralph S. (jjflash)


Lesenswert?

Axel S. schrieb:
> Warum versuchst du auf Teufel komm raus eine Uhr mit esoterischen
> Bauelementen wie einem VFD zu bauen?

Weil er scheinbar diese Röhre liebt !

von Ralph S. (jjflash)


Lesenswert?

Axel S. schrieb:
> Nicht minus 21V. Plus 21V. Den Anhang im komischen Maker-Forum kann
> ich nicht sehen. Aber wenn überhaupt, dann liegt die Glühkathode auf
> -21V und die Gitter/Anoden werden von den Transistoren auf GND bzw. wohl
> eher +5V geschaltet und von Pulldown-Widerständen auf -21V gezogen.

ganz genau das. Bei Verwendung mit UDN6118 wird das jedoch verhindert 
und mit 125k Widerständen nur auf 0V gezogen.

von Ralph S. (jjflash)


Lesenswert?

Axel S. schrieb:
> Wenn du das willst, dann geh auch
> den ganzen Weg und nimm die richtigen Treiber dafür!

Vor allen Dingen: Wenn man davon ausgeht, dass die Schaltung so wie er 
sie angegeben hat auch funktioniert (mit diskreten Transistoren), warum 
müssen die - um es mit Deinen Worten zu sagen - "auf Teufel komm raus" 
nun durch einen - ungeeigneten - Treiber ersetzt werden. Bei dem 
ursprünglichen Vorhaben wollte er für eine LED-Anzeige partout keine 
Treiberbausteine verwenden.

Jetzt müssen es partout welche sein !

von Alexander H. (alexander_h732)


Lesenswert?

Die UDN6118 stammen von Ebay und waren ursprünglich auch mal für die 
IV-18 gedacht. Verbaut waren sie wohl früher oft in Displays von 
Pinball/Flipperautomaten.
Richtige Treiber ICs mit serieller Schnittstelle (die meinte ich) sind 
das ja auch nicht, wie einige Maxim ICs.

Also muss ich per Software invertieren, sonst bekäme ich quasi ein 
umgekehrtes Bild.
Die original Uhr ist hier zu sehen:
https://radiokot.ru/circuit/digital/home/215/
Ganz unten sind auch Software (hex und Quellcode (codevisionAVR 
compiler) angefügt.
Eigentlich dürfte die Invertierung nicht viel Aufwand sein (wenn man 
weiß, wo man ansetzen muss🙂), oder?
Vielleicht benutzt hier jemand cvavr und könnte mal in den Quellcode 
schauen.
Den Quellcode kann man wohl auch nur mit dem jeweiligen Compiler 
öffen/editieren nehme ich an?

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

Du kannst nicht lesen, und (schriftliches) hören auch nicht !!!!

Und dann läßt du eine Salamitaktik heraus, bei der du nach und nach 
deine Quelle angibst (und hier dazu auch noch russisch).

Also:

Du hast schon wieder einmal den Controller gewechselt, jetzt soll es der 
alte ATmega8 sein (zumindest ist das der in der Originalschaltung). Hier 
ist anzumerken: Auch wenn der Mega328 fast alles mitmacht, was der M8 
macht, so unterscheiden sie sich eben doch (und sei es nur in den 
Timerbezeichnungen).

Der ATmega8 hat andere Fuse-Einstellungen als der Mega328 (wäre 
allerdings auch kein wirkliches Problem), der ATmega8 läuft in der 
Schaltung mit 8MHz internem Takt.

Nächstes: Der verwendete Compiler ist ein C-Compiler, aber es ist nicht 
der AVR-GCC mit dem in aller Regel zumindest hier gearbeitet wird. Auch 
der Code nach AVR-GCC zu portieren ist noch machbar (allerdings glaube 
ich nicht von dir).

Die Originalschaltung verwendet (wie von mir oben bereits empfohlen) 
einen DS3231 RTC-Chip.

Für diesen hat der gute Russe jedoch weder den Quellcode für den Chip 
selbst mit in sein Archiv gepackt #include <ds1307.h> (der "schlechtere" 
DS1307 ist softwarekompatibel mit dem DS3231) noch für den I2C-Bus, der 
den DS3231 ansteuert : #include <i2c.h>

Diese müßtest du dann selbst schreiben, oder dir irgendwoher 
zusammenkopieren und anpassen.

Dasselbe gilt für seinen Temperatursensor DS18B20. Hier hat der Autor 
offenbar selbst einen Quellcode verwendet, der nicht von ihm ist, 
erkennbar am Schreibstil der Quelle und vor allem an der Dateiendung der 
Quelle *.hci.

Die Quelle selbst für den Temperatursensor, die den Sensoransteuert - 
ein sogenannter One-Wire-Bus - hat er in seinem Archiv ebenfalls nicht 
mit eingepackt #include <1wire.h>.

Der Quellcode selbst ist reiner ASCII-Text und kann mit jeder beliebigen 
IDE oder jedem beliebigen Texteditor bearbeitet werden. Sein Projekt 
selbst ist scheinbar ein Atmel Studio 11 Projekt, das er mit Microsofts 
Visual Studio erstellt hat.

Nächstes: Der Autor verwendet einen 32-pol. ATmega8 im Gehäuse TQFP. Das 
ist SMD und den kannst du schwerlich auf einer Lochrasterplatine 
verlöten. Du kannst diesen auch nicht durch einen 28 pol. Chip ersetzen, 
weil bis auf einen einzigen Anschluß (ADC7) auch alle Pins des ATmega 
benötigt werden. Willst du also einen TQFP-Chip auf eine Adapterplatine 
löten und diesen dann auf eine Lochrasterplatine setzen?

Zur Hardware: Ich war mir nicht sicher, ob ein UDN6118 die PNP 
Transistoren ersetzen kann (ich glaubte eher nicht) und wie

Axel S. (a-za-z0-9)

(besser als ich) anmerkte, wird das zumindest für die oberen PNP 
NICHT... in einzelnen Buchstagen : N --- I --- C --- H ---T 
funktionieren !!!

Glaubst du wirklich, dass du diese Widrigkeiten alle aus dem Weg räumen 
kannst, wenn du nicht einmal weißt, wie Portpins softwaremäßig zu 
invertieren sind und von Elektronik du bestenfalls rudimentär etwas 
weißt ?

Das gezeigte Projekt mit der Röhre kann in deinem Fall also nur als 
Anregung dienen, das ganze selbst zu machen (was glaube ich weniger 
Aufwand ist, als das bestehende Projekt an eigene Gegebenheiten 
anzupassen).

Wenn du also unbedingt diese Röhrenuhr willst, dann setze dich mit der 
modifizierten Drosselspule die der Autor verwendet auseinander um die 
Spannungen die die Uhr benötigt zu erzeugen. Nehme das Sprint-Layout 6.0 
und erzeuge daraus die nötigen Gerberfiles und schicke die zu JLCPCB, 
die werden dir für 5€ oder so die Platine fertigen und bestücke die 
Platine (so du SMD löten kannst).

-------------------------------------------------------------------

Mann, Mann, Mann

-------------------------------------------------------------------

Ich ärgere mich (über mich selbst), dass ich wieder geantwortet habe. 
lernresistenten Menschen sollte man nicht versuchen, etwas beizubringen!

von Peter D. (peda)


Lesenswert?

Wenn man von nichts ne Ahnung hat, sollte man nicht auch noch 
komplizierte Hardware verwenden. Man weiß dann nicht, liegt der Fehler 
in der HW oder SW, also wie anfangen mit dem Debugging.

LED-Anzeigen machen dagegen die Hardware schön unkompliziert. MAX7219 
nehmen und fertig.
Es geht auch gut der MM5450 für je 4 Digits. Er wird als einfaches 
Schieberegister angesprochen.

von Ralph S. (jjflash)


Lesenswert?

Peter D. schrieb:
> LED-Anzeigen machen dagegen die Hardware schön unkompliziert. MAX7219
> nehmen und fertig.

MAX7219 kann 8x8 LEDs.
Für geforderte 6x8 LEDs geht auch ein TM1637. Den habe ich jetzt durch 
den Thread hier für ein Uhrenlötprojekt für Auszubildende verwendet. 
Allerdings (um das billig zu halten) mit einem STM8S003.

TM1637 hat auch 2 Keyscan-Leitungen, mittels denen es dann möglich ist 
bis zu 16 Tasten abzufragen, sodass für die eigentliche Uhr und die 
Tasten zur Ansteuerung nur 2 Leitungen notwendig sind. Auf einer 
weiteren kann dann ein One-Wire-Bus für einen DS18B20 realisiert werden, 
und - wenn man das möchte - 2 weitere für ein I2C um einen DS3231 
anzusprechen.

Für all das zusammen, egal für welche MCU man das macht, ist die 
Einstiegshöhe dann schon etwas gestiegen.

By the way:

@Peter : war von dir nicht der Artikel

https://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC

sehr lesenswert und ich bin am überlegen, wie ich auf einer 
7-Segmentanzeige (ich habe so etwas wie ein Menu realisiert) einen 
Kalibrierwert für den Reloadwert eines Timers eingeben kann. Bisher habe 
ich - der Einfachheit halber - einfach einen Kalibrierwert pro Sekunde 
am Tag eingebbar gemacht. Wenn es gerade einen doofen Quarz hat, der x.5 
Sekunden am Tag falsch geht bedarf es einer weiteren Kalibrierung. Werde 
ich sehen wie ich das lösen kann ( :-) damit ich auch einmal ein 
Uhrenprojekt zu Ende gebracht habe)

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Dass das Original einen DS3231
verwendet hatte ich weiter oben schon mal geantwortet.
Der 32 Pin Atmega sitzt bereits auf Lochraster (Pins mit Lackdraht 
herausgeführt). Das war nervig aber machbar.🙂
Wenn die UDN6118 definitiv nicht gehen, werd ich auf PNP umbauen.

Bei meiner VFD Versorgung mit
LM9022 (eigentlich ein „brigded mono power amplifier“, baugleich mit 
LM4871) stellt sich nur die Frage, wo ich dort meine Mittelanzapfung (im 
Bereich der Ladungspumpe?) habe, bzw. da ich wohl keine habe, müsste ich 
evtl. mittels Widerständen eine „künstliche Mittelanzapfung“ einfügen.
Hat einer eine Idee zur Dimensionierung der Widerstände?
Die Mittelanzapfung müsste ich bei der PNP Version beachten.


Ich hab die VFD Versorgung genau nach Datenblatt aufgebaut (Application 
Fig. 1 + 2. kombiniert).

So ganz verstanden hab ich die Ansteuerung mit PNP und nur 5V noch 
nicht.
Ich dachte, dass ein VFD leuchtet, wenn zB. 5V AC Heizspannung und +20V 
am Gitter und Segment gleichzeitig anliegen (klappt im Testaufbau auch).
(Die 20V hätte ich an Vbb der beiden UDN6118 geklemmt und dann mittels 
uC angesteuert (invertiert)).

Warum genau würde der direkte
Austausch von PNP durch UDN6118 bei den unteren (GR1-9, die für die 
Gitter) evtl. klappen und bei den oberen (Segmente) nicht?

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

Alexander H. schrieb:
> Warum genau würde der direkte
> Austausch von PNP durch UDN6118 bei den unteren (GR1-9, die für die
> Gitter) evtl. klappen und bei den oberen (Segmente) nicht?

Weil !

von Axel S. (a-za-z0-9)


Lesenswert?

Alexander H. schrieb:

> Bei meiner VFD Versorgung mit LM9022 ...

Ach guck, eine weitere Scheibe Salami.

> LM4871) stellt sich nur die Frage, wo ich dort meine Mittelanzapfung (im
> Bereich der Ladungspumpe?) habe, bzw. da ich wohl keine habe, müsste ich
> evtl. mittels Widerständen eine „künstliche Mittelanzapfung“ einfügen.

Die Mittenanzapfung brauchst du nicht. Der LM9022 legt die Enden des 
Filaments wechselweise auf GND/+5V (eigentlich eher 0.15V und 4.85V). 
Die Mitte liegt also immer bei 2.5V. Das mußt du bei der Dimensionierung 
der Versorgungsspannung für das VFD berücksichtigen. Es sind dann 
effektiv 2.5V weniger.

ABER mit der Heizung (aka Filament aka Glühkathode) bezogen auf GND 
brauchen die Gitter/Anoden dann +20V (also effektiv +17.5V über der 
Entladungsstrecke). Und dann paßt auch der UDN6118 wieder. Nur die 
Steuersignale müssen dann im Vergleich zu PNP-Transistoren natürlich 
invertiert werden.

UND die IW-18 braucht nur ca. 3V Heizspannung. Der LM9022 liefert aber 
ca. 4.7V. Kann schon zu viel sein.

> So ganz verstanden hab ich die Ansteuerung mit PNP und nur 5V noch
> nicht.
> Ich dachte, dass ein VFD leuchtet, wenn zB. 5V AC Heizspannung und +20V
> am Gitter und Segment gleichzeitig anliegen

Es müssen ca. 3V (DC oder Effektivwert AC) an den Enden des Filaments 
anliegen, so daß selbiges ganz schwach dunkelrot glüht (sieht man nur im 
Dunklen, wenn man es im Hellen sieht ist es zuviel Heizstrom).

Und dann müssen ca. 20V zwischen Anode/Gitter (Pluspol der 20V) und dem 
Filament (Minuspol der 20V) liegen. Dann leuchtet die Anode.

Dem VFD ist dabei egal, ob es sich um +20V und GND handelt. Oder um +5V 
und -15V. Es "sieht" ja nur die Differenz. Klassisch nimmt man PNPs und 
einen 5V µC. Dann schalten die VFD-Anoden/Gitter zwischen +5V und -20V 
hin und her. Die Heizung legt man über die Z-Diode 4.7V auf ca. -15V.

Alternativ kann man die Ansteuerung auch mit +20V und dem UDN6118 machen 
und die Heizung mit dem LM9022. Diese IC gab es aber zur Zeit der VFD 
noch gar nicht. Das sind schließlich Röhren und uralte Technik.

von Ralph S. (jjflash)


Lesenswert?

Ich glaube nicht, dass er das verstanden hat...

von Joachim B. (jar)


Lesenswert?

Ralph S. schrieb:
> @Peter : war von dir nicht der Artikel

war er, genau wie eine geniale DCF77 Routine en passant und 
Tastenentprellung bullet proof

von Frank O. (frank_o)


Lesenswert?

Ralph S. schrieb:
> Du hast schon wieder einmal den Controller gewechselt, jetzt soll es der
> alte ATmega8 sein (zumindest ist das der in der Originalschaltung). Hier
> ist anzumerken: Auch wenn der Mega328 fast alles mitmacht, was der M8
> macht, so unterscheiden sie sich eben doch (und sei es nur in den
> Timerbezeichnungen).

Wo wir dann wieder beim Arduino (als Hardware) wären.
... und am Ende beschäftigt er sich dann doch lieber damit, seine 
Klospülung instand zu setzen. Damit er die ganze Scheiße dann auch im 
Klo abspülen kann.

von Joachim B. (jar)


Lesenswert?

Frank O. schrieb:
> Wo wir dann wieder beim Arduino (als Hardware) wären.

stimmt so nicht, die Timer Entprellroutine habe ich auch schon auf einem 
ESP32 eingesetzt, man muß es nur erst mal verstehen dann kann man es 
locker portieren.

von Frank O. (frank_o)


Lesenswert?

Joachim B. schrieb:
> stimmt so nicht,

Alexander H. schrieb:
> Hallo Leute,
>
> ich bin absoluter Anfänger in Sachen Mikrocontroller.

Zur Erinnerung!

von Joachim B. (jar)


Lesenswert?

Frank O. schrieb:
> Zur Erinnerung!

zitieren mußt du lernen, programmieren der TO.

Frank O. schrieb:
> Zur Erinnerung!

Alexander H. schrieb:
> Hat hier evtl. jemand gute Codebeispiele für eine Uhr mit Attiny26?

lernen alles in kleine Schritte zu zerlegen:

LED an/aus
Printausgaben zum debuggen
uvam

hier gibt es jede Menge Codebeispiele und wie schon genannt Artikelseite

von Frank O. (frank_o)


Lesenswert?

Joachim, das haben wir ihm doch schon ganz zu Anfang geraten.

von Joachim B. (jar)


Lesenswert?

Frank O. schrieb:
> Joachim, das haben wir ihm doch schon ganz zu Anfang geraten.

deswegen ist meine Aussage nicht falsch!
Mit dem ESP geht es ähnlich zum AVR, jedenfalls nicht soweit es nur dem 
AVR zuzuschreiben.

von Frank O. (frank_o)


Lesenswert?

Natürlich ist deine Aussage nicht falsch. Habe ich auch nicht behauptet.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Axel S. schrieb:
> Dem VFD ist dabei egal, ob es sich um +20V und GND handelt.

Oder +9V für die russischen ICs.

ciao
gustav

von Joachim B. (jar)


Lesenswert?

Frank O. schrieb:
> Natürlich ist deine Aussage nicht falsch. Habe ich auch nicht behauptet.

ach?

Joachim B. schrieb:
> Frank O. schrieb:
>> Wo wir dann wieder beim Arduino (als Hardware) wären.

die war nun mal falsch, denn du beziehst dich auf AVR und meine Aussage.
Es gibt zwar Arduino auch für AVR, aber die Beispiele von PeDa bezogen 
sich viel auf AVR und erst später auf C welches auch auf dem ESP 
kompiliert werden kann.

von Alexander H. (alexander_h732)


Lesenswert?

Ich bekomme leider keine Verbindung zum Atmega8.
Kennt jemand hier die Standardeinstellungen für den Atmega8 und Atmel 
AVRISP MKII + AVRDude(baud rate, bit clock und alles, was sonst noch 
relevant ist)? Nutze die AVRDude GUI (avrdudess).
Vielleicht liegt es an einem Pullup von RST auf +5V.
Notfalls teste ich einen Atmega8 ohne Beschaltung, falls es mit 
Schaltung nicht läuft.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Alexander H. schrieb:
> relevant

ISP Takt sollte bei fabrikneuen Chips unter 1MHz/4 eingestellt sein 
(siehe Datenblatt)

von Ralph S. (jjflash)


Lesenswert?

Kommandozeile:

avrdude -c avrispmkII -p m8 -P usb -vv -B 20

Dann solltest du eine Verbindung sehen. Parameter -B 20 schränkt den 
Takt des ISP sehr ein, so dass ein eventueller Flashvorgang langsam ist. 
Grund: Fabrikneuer Chip läuft mit 1 MHz internem Takt.

Als erstes sollten also die Fuses für einen angeschlossenen Quarz 
eingestellt werden.

Vorsicht: werden die Fuses geändert und man hat keinen Quarz oder 
externen Taktgeber angeschlossen, ist ein Zugriff auf den Chip mittels 
ISP nicht mehr möglich (dann MUSS ein Quarz angeschlossen werden).

von Frank O. (frank_o)


Lesenswert?

Joachim B. schrieb:
> denn du beziehst dich auf AVR und meine Aussage.

Joachim, wenn du immer noch ein Problem damit hast, dann lies bitte, was 
ich eingangs geschrieben hatte.
Sinngemäß: Statt einen Tiny, dann doch ein Arduino Uno oder Nano, damit 
der Anfang auch sicher klappt.
Ich hatte ESP nicht genannt und auch nichts dagegen oder dafür.

Auf diesen Beitrag bezog ich micht, als ich schrieb: "Womit wir wieder 
beim Arduino sind!"

Frank O. schrieb:
> von
>
>         Frank O.
>         (frank_o)
>
>       25.11.2024 09:18

Wenn du jetzt weiter Haare spalten willst, wo schon lang nichts mehr 
wächst, kannst du das machen, aber ich mache da halt nicht mit.

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

So, hab's endlich geschafft den Atmega8 zu flashen (nachdem ich einen 
gegrillt hab, keine Ahnung wie).
Vorsichtshalber außerhalb der Schaltung per TL866 Programmer.
Nachdem alle fuses wie angeben richtig gesetzt waren, nach längerem 
Check (es waren immer noch ein, zwei Verbindungen nicht gesetzt, scheint 
es wirklich zu laufen.
Ich hab es noch nicht geschafft, das Display anzuschließen, aber es 
sieht so aus, als ob die Uhr läuft.
Stromverbrauch 0,085A (mal auch nur
0,04A und wechselnd, wenn Tasten gedrückt). Das find ich ein bisschen 
hoch, oder?

An den Ausgängen zu Segmenten und Gittern kommen pulsierende
Rechtecksignale im unteren KHz Bereich raus, je nach dem was ich drücke, 
verändern sich die Rechtecke auch, oder sie blinken im 1Hz Rhythmus auf 
(je nach Menüpunkt).
Noch sitzen die UDN6118 noch mit auf der Schaltung, das macht natürlich 
keinen Sinn und wird dann ersetzt, oder sollte ich das noch testen?

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

Bauklötze staune ob des Fotos !

von Frank O. (frank_o)


Lesenswert?

Ich staune da überhaupt nicht.
Der TO will uns doch verarschen. So was baut kein Änfänger.

von Alexander H. (alexander_h732)


Lesenswert?

Warum denn immer diese Unterstellungen? Werd ich wohl nicht mehr 
kapieren…
Löte schon seit Ewigkeiten Bausätze und und auch recht kleine Sachen, 
und trotzdem bin ich ahnungslos was Programmieren angeht🙂
Und „schön“ gelötet ist es im Detail nicht(ist ja nur der Testaufbau).

Nach abklemmen der UDN6118 zieht das Ganze nun nur noch 8mA. Passt, 
oder?
Ich hab noch herausgefunden, dass AREF einfach so auf Vcc gelegt ist. 
Man sollte doch eher mit 100nF auf GND legen, oder?

Und eine Frage hab ich noch, da ich grad auf PNP umbaue. Der Ersteller 
schreibt(übersetzt per Google):

„ Die Stromversorgung erfordert 3 Spannungen: +5 V zur Stromversorgung 
des logischen Teils der Uhr, -22 V für die Kathode IV-21 und ~2,4 V zur 
Stromversorgung der Lampe (Heizung). Mit der ersten und dritten Spannung 
ist alles klar. Ich werde erklären, warum Sie eine negative Spannung für 
die Kathode benötigen. Es gibt zwei Varianten der VLI-Steuerung, bei 
denen die Spannung an den Anodensegmenten und Gittern relativ zur 
Kathode die Versorgungsspannung des logischen Teils überschreitet - die 
sogenannten Schaltkreise mit "unterer" und "oberer" Stromversorgung des 
logischen Teils.

Unten ist ein bisschen Theorie, wo ohne sie!

Die "niedrigere" Potenz impliziert, dass der gemeinsame Draht des 
logischen Teils das gleiche Potential hat wie die Kathode des 
Indikators. Gleichzeitig sollte eine hohe (in Bezug auf die logische 
Versorgungsspannung) Spannung in der Ordnung von +(20-30)V auf die 
Anoden angewendet werden. Dies erfordert Füllstandswandler für jede 
Anode und jedes Anzeigeraster, die +5V von der Ausgabe des logischen 
Teils in +(20-30)B auf Anoden und Gittern umwandeln. Es gibt drei 
Varianten des Schemas solcher Konverter. Der erste ist am einfachsten zu 
verwenden, ein spezieller Chip zur Steuerung des VLI. Solche Chips sind 
jedoch in der Regel teuer und schwer zu erreichen. Die zweite besteht 
darin, alle Anoden und Gitter mit +(20-30)V durch Widerstände mit einem 
Nennwert von 10-30kOhm zu verbinden und Transistorschlüssel an einem 
NPN-Transistor zu verwenden, um diese Anoden und Gitter jeweils an einen 
gemeinsamen Draht zu schließen. Diese Option ist schlecht, da die 
gesamte Anodenspannung auf den Widerstand einer inaktiven Anode oder 
eines Gitters fällt, wodurch sich (der Widerstand) erwärmt und die 
Anodenspannungsquelle übermäßig belastet wird. Schließlich besteht die 
dritte Option darin, zwei Transistorschlüssel auf einem Paar von 
NPN+PNP-Transistoren zu verwenden. An dieser Option ist nichts 
auszusetzen, außer dass jeder Schlüssel 2 Transistoren und mindestens 3 
Widerstände benötigt. Sie benötigen 17 solcher Schlüssel für IV-21, 8 
für Segmente und 9 für Gitter. Es wird viel Platz auf der Leiterplatte 
einnehmen, was nicht gut ist, wenn Sie die Uhr so klein wie möglich 
machen müssen (die Anzeige ist klein!).

"Top" ist die Leistungsoption, wenn die +5-V-Stromversorgung des 
logischen Teils eine Anodenspannung ist, d.h. es gibt eine Spannung von 
+5V (relativ zum gemeinsamen Draht des logischen Teils) an der aktiven 
Anode (Gitter). Um die Anzeige zu zünden, ist eine Spannung von etwa 
20-30 V an den Anoden relativ zur Kathode erforderlich, und zu diesem 
Zweck muss ein negatives Potential an der Kathode angelegt werden. Jetzt 
reicht nur eine Kaskade mit OE auf einem PNP-Transistor aus, um Anoden 
und Mes zu steuern.

Schema der Option mit "Top"-Netzteil (auch vereinfacht)“… usw.



Also benötige ich definitiv eine negative Spannung. Wie kann ich die mit 
dem LM9022 erzeugen?
Kann das jemand nochmal besser verständlich erklären(evtl. wurde es 
bereits erklärt, aber weiter oben wurde gesagt, ich benötige keine 
negative Spannung).

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Alexander H. schrieb:
> Ich hab noch herausgefunden, dass AREF einfach so auf Vcc gelegt ist.

das muß aber jemand gemacht haben, normalerweise nutzt man interne 
Verbindungen im AVR, lese doch im Datenblatt:

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/structure/adcvref/
VREF can be selected as either AVCC, internal 1.1 V reference, or 
external AREF pin.

    AVCC is the voltage connected to the AVCC pin which is internally 
connected to the ADC through a passive switch.

    The internal 1.1 V reference is generated from the internal bandgap 
reference (VBG) through an internal amplifier.

    The external AREF pin is directly connected to the ADC, and the 
reference voltage can be made more immune to noise by connecting a 
capacitor between the AREF pin and ground.

If a fixed voltage source is connected to the external AREF pin, the 
application may not use the other reference voltage options in the 
application, as they will be shorted to the external voltage.



If no external voltage is applied to the AREF pin, you may switch 
between AVCC and 1.1 V as the reference selection. The first ADC 
conversion result after switching the reference voltage source may be 
inaccurate, and you are advised to discard this result.

Alexander H. schrieb:
> Man sollte doch eher mit 100nF auf GND legen, oder?

ja wäre dann normal.

Ohne Versorgung von AVCC gehen aber die A-Port Funktionen nicht.

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Ok, sorry!
Es wurde bereits hinreichend erklärt. (mich hat nur ein Einwurf 
irritiert).
Kann ich die 20V aus der LM9022+Ladungspumpe irgendwie umpolen?
Falls ein Umpolen möglich ist, muss das direkt am Ausgang des LM9022 
erfolgen?
Oder muss die Ladungspumpe quasi umgedreht aufgebaut werden? Die 
Ladungspumpe hängt ja gleichzeitig noch mit am filament supply.

Wikipedia hat noch ein Beispiel zur Spannungsinvertierung mittels 
Ladungspumpe.
Wäre das anwendbar?

: Bearbeitet durch User
von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Hab eine Seite gefunden, wo erklärt wird, wie man mit einer Ladungspumpe 
negative Spannungen erzeugen kann.
https://www.sprut.de/electronic/switch/minus.html

Kann man das so auf die LM9022 Schaltung übertragen(falls ja, wo wäre 
denn bei mir Uin?)?

von Axel S. (a-za-z0-9)


Lesenswert?

Alexander H. schrieb:

> Kann ich die 20V aus der LM9022+Ladungspumpe irgendwie umpolen?

Wozu das denn? Wenn du das Filament des VFD mit dem LM9022 bestromst, 
dann brauchst du eine positive Spannung für die Anoden und Gitter.

von Frank O. (frank_o)


Lesenswert?

Alexander H. schrieb:
> Löte schon seit Ewigkeiten Bausätze und und auch recht kleine Sachen,
> und trotzdem bin ich ahnungslos was Programmieren angeht🙂

Das hört sich dann schon anders an.
Für mich hörte sich das so an, als würdest du quasi bei Null anfangen.

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

„Wozu das denn? Wenn du das Filament des VFD mit dem LM9022 bestromst, 
dann brauchst du eine positive Spannung für die Anoden und Gitter.“

Alles klar. Ich will also die vollen 20V durchschalten und nicht wie im 
Original nur 5V, kann man das so sagen(oder so ähnlich😏)?

Der Testaufbau mit VFD ist eigentlich fertig. Wahrscheinlich sehe ich 
den Wald vor lauter Bäumen nicht mehr, aber es leuchten momentan alle 
Segmente. Wenn ich die Uhr anschalte ändert sich nichts.
Wahrscheinlich muss ich noch ne Kleinigkeit ändern, wenn ich positive 
Anodenspannung nutzen will.
Immerhin, es ist nichts abgeraucht und Stromaufnahme 10mA maximal.

Wo genau muss ich die 20V Anoden-/Gitterspannung anklemmen, an der 
ursprünglichen 5V- Leitung oder an der ursprünglichen -21V-Leitung?

Momentan hab ich es so aufgebaut wie im Original, statt 300k musste ich 
100k Ohm (erklärt vielleicht schon den Effekt?) nehmen und statt BC857 
war nur BC556 da. Die 20V sind an den 300k bzw. 100k angeschlossen und 
die Diode auf die Mittelanzapfung der Heizung ist (mangels Trafo) nicht 
verbaut.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Alexander H. schrieb:
>
>> „Wozu das denn? Wenn du das Filament des VFD mit dem LM9022 bestromst,
>> dann brauchst du eine positive Spannung für die Anoden und Gitter.“
>
> Alles klar. Ich will also die vollen 20V durchschalten und nicht wie im
> Original nur 5V, kann man das so sagen(oder so ähnlich😏)?

Wenn du willst, daß dein VFD leuchtet, dann mußt du ein Gitter auf 20V 
legen und alle Segmente, die leuchten sollen.

> Der Testaufbau mit VFD ist eigentlich fertig. Wahrscheinlich sehe ich
> den Wald vor lauter Bäumen nicht mehr, aber es leuchten momentan alle
> Segmente. Wenn ich die Uhr anschalte ändert sich nichts.

Klingt falsch. Aber wir wissen nicht, was du aufgebaut hast. Wo ist der 
Schaltplan? Wo das Programm? Und meinst du den Drahtigel, den du gezeigt 
hast, eigentlich ernst? Ich würde da sehr ungern was drin messen wollen. 
Aber messen mußt du. Und am besten mit einem Oszilloskop oder einen 
mehrkanaligen Logic-Analyzer.

> Wahrscheinlich muss ich noch ne Kleinigkeit ändern, wenn ich positive
> Anodenspannung nutzen will.

Sicher. Vor allem mußt du deinen Schaltplan zeigen. Nicht den von 
jemand anderem.

> Wo genau muss ich die 20V Anoden-/Gitterspannung anklemmen, an der
> ursprünglichen 5V- Leitung oder an der ursprünglichen -21V-Leitung?

Weder noch. An Vbb der beiden ULN6118.

von Alexander H. (alexander_h732)


Lesenswert?

Hmm.. ich kann doch keine UDN6118 verbauen, da die Ausgangssignale für 
das Multiplexing negativ sind, daher im Original die PNP-Variante.
Die Firmware kann ich selbst nicht ändern. Das wäre wahrscheinlich der 
einfachste Weg gewesen.

Hier steht, dass das Ganze nur mit einem Transistor wohl garnicht 
möglich ist.
https://www.eevblog.com/forum/projects/vfd-tube-driving-with-transistors/

Man müsste zuerst die Basis des PNPs mittels NPN schalten 
(Emitterfolger).

Deswegen hab ich weiter oben gefragt, ob ich die Ladungspumpe umpolen 
kann (geht wahrscheinlich). Mit negativer Spannung müsste das dem 
Original entsprechen, oder?
Ich zeichne morgen mal die invertierende Ladungspumpe auf. Eigentlich 
müssten da doch nur Dioden und Elkos umgepolt werden. Statt 5V an der 
ersten Diode müsste GND dran. Der Ausgangselko müsste auch umgepolt 
werden.

Der Schaltplan ist 1:1 meine Schaltung und der „Drahtigel“ funktioniert 
(bis aufs Display😀) und man kann da auch was nachmessen.🙂

Ich hab bereits alle möglichen Muliplexing Signale mit dem Oszi messen 
können, daran liegt es nicht, die Uhr läuft an sich.

: Bearbeitet durch User
von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Die negative Spannungserzeugung mit LM9022 funktioniert nicht wirklich.
Wahrscheinlich ist mein Aufbau zu schlecht oder einfach falsch.
Bei 10 Elkos und 11 Dioden liefert die Ladungspumpe zwar -20V (ohne 
Last) aber der LM9022 zerstört sich nach 20 Sekunden. Die Stromaufnahme 
beginnt dann unkontrolliert zu schwanken(20-100mA). Plötzlich steigt sie 
auf 1A.
Da scheint was zu schwingen, oder?

Ist die invertierte Ladungspumpe prinzipiell richtig aufgebaut?

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Alexander H. schrieb:
> Man müsste zuerst die Basis des PNPs mittels NPN schalten
> (Emitterfolger).

Korrekt

> Deswegen hab ich weiter oben gefragt, ob ich die Ladungspumpe umpolen kann ...

Du kannst das Display nicht einfach falsch gepolt betreiben. Und die 
Transistorschaltung wird dadurch auch nicht einfacher. Wenn du mal 
Schaltpläne zeichnen würdest, dann würdest du es wahrscheinlich selbst 
bemerken.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Alexander H. schrieb:
> Die negative Spannungserzeugung mit LM9022 funktioniert nicht wirklich.
> Wahrscheinlich ist mein Aufbau zu schlecht oder einfach falsch.

Ich tippe auf letzteres. Ist aber sowieso egal, weil das nicht 
funktionieren wird. Das Filament ist die Kathode deiner Röhre. Und wenn 
du es mit dem LM9022 beheizt, dann brauchst du zwingend eine 
Spannung von +20V. Die Schaltung mit den PNPs funktioniert dann nicht. 
Das haben wir dir jetzt schon mehrfach gesagt. Aber du willst es 
anscheinend nicht kapieren.

Ich werde jetzt nichts mehr in diesem Thread schreiben. Es ist ja alles 
gesagt worden. Mehrfach.

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Es ging doch darum, die Uhr zum Laufen zu bekommen. Da im Original ein 
Trafo zum Einsatz kommt und das Ganze ganz anders funktioniert, als wenn 
ich positive Spannungen schalten könnte, muss ich entweder genau diesen 
Trafo aufbauen, oder ihn so ersetzen, dass es funktioniert.

Das Problem(und die Funktionsweise zu durchschauen) haben schon Leute 
vor mir gehabt.

Kann es sein, dass diese Schaltung (LM9022 für AC Heizung und MC34063 
als invertierender Anodenspannungstreiber) hier genau das macht, was ich 
brauche?
Sogar eine virtuelle Mittelanzapfung wurde realisiert:
http://magictale.com/wp-content/uploads/2015/06/VFD_PSU_EXP01_CircuitDiagram_Rev.1.0.pdf

Die letzte Option (vielleicht am besten) wäre es, den originalen Trafo 
nachzubauen.
Kann mir einer sagen, was das für ein Trafoprinzip ist? Ich sehe da 
insgesamt acht Spulen und vier Mittelanzapfungen (zwei auf der 
Sekundärseite).

Passt da der Ersatz mit der Schaltung im Link?

: Bearbeitet durch User
von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Alexander H. schrieb:
> Kann mir einer sagen, was das für ein Trafoprinzip ist?

https://de.wikipedia.org/wiki/Transformator

(Keine Ahnung, was für Antwort du erwartest hast). Im Schaltplan stehen 
selten alle Information zur Re-Produktion der einzelnen Bauteile.

von Joachim B. (jar)


Lesenswert?

Alexander H. schrieb:
> muss ich entweder genau diesen
> Trafo aufbauen, oder ihn so ersetzen, dass es funktioniert.

keine ahnung wieviel Leistung du brauchst, aber du kannst mit sekundär 
Reihenschaltung von SIM1 oder SIM3 DC/DC Trennwandler alle Spannungen 
bis 100V locker erzeugen, primär wären alle DC Wandler parallel.

Messe es doch mal aus mit einem Labornetzteil, Spannung Strom

von Alexander H. (alexander_h732)


Lesenswert?

Der LM9022 liefert jetzt -20V (und 4V AC) zumindest unbelastet und zieht 
dabei nur 17mA. Es lag bestimmt am Aufbau und das ganze Konstrukt neigt 
wahrscheinlich zum Schwingen auf Lochraster.
Die Heizung bräuchte dann noch Vorwiderstände (ca. 2x 40 Ohm).

Für den Test müsste ich nur noch diese Mittelanzapfung „simulieren“.
Geht das so wie im Link oben?
Dort wird mit 1k (an -24V und 10k an GND) wohl eine virtuelle Masse 
gebildet. Wie genau ich die auslegen muss, weiß ich aber nicht.

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Bisher hab ich noch kein Lebebszeichen vom VFD, aber es fehlt ja wohl 
noch was.
Ich hab mal versucht, meine Schaltung aufzuzeichnen.
Weil ich mir unsicher war, hab ich die Uhr und die LM9022 Schaltung 
getrennt versorgt.
Die invertierte Ladungspumpe läuft nur, wenn man die Ausgangsmasse nicht 
mit der Eingangsmasse verbindet(und sie liefert nur noch -10V, wenn sie 
mit dem VFD/Uhr verbunden ist, naja immerhin🙂).
Die Heizung läuft stabil.

Ich hab also momentan drei Massen, was sicher nicht richtig ist. Und es 
fehlt die Mittelanzapfung.
An den Segmenten gemessen, sehe ich folgendes Signal(-4,6V?) an der 
Heizung -2,83V AC.
Eigentlich klar, dass nun auch die Heizung negativ ist.😕

Kann man das noch auf dem Weg noch irgendwie lösen?

Falls nicht, kennt jemand alternativ halbwegs effiziente ICs, die 
negative Spannungen (-20 bis -25V ca. 5mA) erzeugen können?
MC34063 wäre vielleicht geeignet und evtl. könnte ich das Konzept von 
weiter oben übernehmen und den LM9022 nur für die Heizung nutzen.

Beim Originaltrafo könnte es sich schaltungstechnisch vielleicht um 
einen Flybackconverter handeln(da sechs Wicklungen und mit Trafos 
angesteuert)?

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

Unglaublich...

Eine "brauchbare" Vorgehensweise wäre:

- Labornetzteil auf -20V einstellen
- Heizspannung mit einem anderen Netzteil einstellen und NICHT mit Masse 
verbinden
- zweites Labornetzteil auf 5V einstellen
- Heizspannung an Röhre anlegen
- -20V an Kollektorwiderstände der PNP-Transistoren anlegen
- +5V an Emitter PNP-Transistoren anlegen

einzelne Verbindungen an den Basen der Transistoren nach Masse und nach 
+5V legen um einzelne Segmente und Digits zu testen (alles noch ohne 
Controller).

Wenn das geht, kannst du Dich um das generieren der -20V über eine 
andere Schaltung als mit dem Trafo (dessen Werte Du nicht kennst) 
kümmern... und erst DANN !

von Alexander H. (alexander_h732)


Lesenswert?

Hab ich exakt so getestet, bisher leuchtet nichts.

Die Masse der -20V muss ja irgendwo verbunden werden, sonst fehlt der 
Bezug (mit der Masse der Heizung?), oder?
Welche Massen im Allgemeinen müssen/dürfen denn verbunden sein?

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Keiner ne Idee?
Insgesamt gibts drei Massen:
(Masse 1=Uhr mit Atmega8, Masse 2= Heizspannung LM9022, Masse 3= 
Anodenspannung)
Mein Display leuchtet ab 12V, daher hab ich -15V als Anodenspannung an 
die 300K angeschlossen.(per Trafo+7815/7915 generiert).
Welche GNDs müssen verbunden werden?

Ich könnte auch einen virtuellen GND mittels Widerständen zwischen den 
Polen der Heizspannung basteln und von dort mit einer 5,1V Zener auf die 
Anodenspannung gehen, das würde der Originalschaltung entsprechen.

Die Heizdrähte kann man ganz minimal glimmen sehen (bei völliger 
Dunkelheit), das passt also.
Die PNPs sind auch einwandfrei aufgebaut und mehrfach gecheckt.
Nutze einen BC556B, der von den Daten dem BC857(war original vorgesehen) 
sehr ähnelt.

Anbei nochmal Bilder vom Aufbau und ein Oszibild von der Basis des PNP 
und vom Kollektor(Segmentausgang). Die Signale sind zu GND der Uhr 
gemessen.

Vielleicht lässt sich daraus was schließen.

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

Alexander H. schrieb:
> Keiner ne Idee?
> Insgesamt gibts drei Massen:

falsch es gibt nur eine Masse. Es gibt vielleicht unterschiedliche 
positive und negative Spannungen. Der Trafo ist Primär seitig ein ganz 
normaler Kippschwinger  so ca 2 *100..150 Wdg mit Abgriff nach der 
halben Windungszahl.
Sekundär vermutlich 1 mal 150 ..200 Wdg + 1 mal 15..20 Wdg für die 
Heizung.
Drahtstärke halt so dass es auf den Wickelkörper passt. Der Trafo (ein 
Übertrager) macht halt das was Trafos so machen, er erzeugt gal. 
getrennte Spannungen die dann passend zusammengeschaltet werden.
Mit deiner Ladungspumpe geht das ganz sicher nicht.

Beitrag #7794453 wurde vom Autor gelöscht.
von Axel S. (a-za-z0-9)


Lesenswert?

Thomas Z. schrieb:

> Der Trafo ist Primär seitig ein ganz normaler Kippschwinger

Das Topologie nennt sich Gegentakt-Flußwandler und ist hier in der 
einfachsten Ausführung als parallel gespeister, ungeregelter Wandler mit 
Bipartransistoren als Schalter realisiert.

https://www.joretronik.de/Web_NT_Buch/Kap8_2/Kapitel8_2.html#8.3

> so ca 2 *100..150 Wdg mit Abgriff nach der halben Windungszahl.

Jein. Vermutlich viel weniger Windungen (kommt aber auf den Kern und die 
gewünschte Frequenz an). Und die geteilten Wicklungen wickelt man eher 
bifilar und verschaltet die beiden Teilwicklungen dann richtig.

> Sekundär vermutlich 1 mal 150 ..200 Wdg + 1 mal 15..20 Wdg für die
> Heizung.

Das schöne am Flußwandler ist die starre Kopplung zwischen Spannungen 
und Windungszahlen. Wenn man mit 5V versorgt und mit Uce_sat=0.5V 
rechnet, hat man 4.5V primär. Die Heizung braucht 3V (2x1.5), die 
Sekundärspannung ca. 2x21V (Gleichrichtung in Mittelpunktschaltung!). 
Die Steuerwicklung muß für Bipolartransistoren ca. 2x2V liefern.

Die Windungsverhältnisse sind also: 2x9 : 2x4 : 2x3 : 2x42 (Primär- : 
Steuer- : Heizungs- : Sekundärwicklung).

Die zu übertragende Leistung [1] ist klein, es reicht also ein kleiner 
Kern und dünner Draht. Sagen wir ein 12.5mm Ringkern und 0.2mm Draht, 
für Primär- und Heizwicklung 0.5mm. Oder ein anderer Kern, wo der 
Wickelraum ausreicht. Ferrit ist zu bevorzugen, weil der Schaltwandler 
selbstschwingend ist, also einen schnellen Wechsel in die magnetische 
Sättigung braucht.

Der Wickelsinn zwischen Primär- und Steuerwicklung ist zu beachten. Wenn 
das Ding nicht schwingt, probehalber eine der beiden Wicklungen umpolen. 
Wenn ich das bauen würde, dann würde ich sekundär mit einer Graetzbrücke 
gleichrichten (z.B. 4x 1N4148) und eine Wicklung einsparen.


[1] die Heizung braucht ca. 3V×60mA=180mW. Die Sekundärspannung ca. 
21V×20mA=420mW. Zusammen also 600mW.

von Alexander H. (alexander_h732)


Lesenswert?

Die Windungszahlen, Kern, Permeabilität sind komplett angegeben. Ich 
werde das mal so nachbauen und schauen, ob es dann nach Schaltplan 
läuft.

Übrigens hab ich die Stelle in der firmware, die alle Segmentoutputs als 
LOW definiert, scheinbar gefunden.
Es fragt sich nur, ob ich später die HEX dann irgendwie neu kompilieren 
könnte, sprich ob die Quelldateien komplett sind.
https://radiokot.ru/circuit/digital/home/215/02.rar
Wenn man die C-Source Datei aus dem Link mit den Quelldateien per Editor 
öffnet, und nach LOW sucht, findet man:
„//All segment and grid outputs are active LOW (0)“

Kann ich diese c-source Datei mit dem passenden Compiler(Code wizard Act 
3.12) öffnen und dann (wenns 4kb der Freeversion nicht überschreitet) 
dieses LOW zu high ändern?

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

Axel S. schrieb:
> 4.5V primär

Du hast die Zener Diode am 7805 übersehen.

von Axel S. (a-za-z0-9)


Lesenswert?

Thomas Z. schrieb:
> Axel S. schrieb:
>> 4.5V primär
>
> Du hast die Zener Diode am 7805 übersehen.

Hab ich nicht. Ich hab sie ignoriert. Und deswegen geschrieben

Axel S. schrieb:
> Wenn man mit 5V versorgt ...

Weil ich davon ausgegangen bin, daß der TE nur mit 5V auskommen will. 
Aber es kann ja jeder der will, für eine andere Primärspannung 
umdimensionieren. Ist ja keine Raketenwissenschaft ...

von Ralph S. (jjflash)


Lesenswert?

Axel S. schrieb:
> Das Topologie nennt sich Gegentakt-Flußwandler und ist hier in der

Jetzt habe ich was gelernt (keine Ironie): Ich weiß jetzt wie das 
korrekt heißt. Vor gefühlten 1000 Jahren (okay, es waren "nur" 45 Jahre) 
wurde das "Zerhacker" genannt, wobei ich mir nicht ganz sicher bin, ob 
das der richtige Ausdruck war/ist. Ich weiß nur, dass das sogar noch mit 
Relais funktioniert hat (sehr laut) und dann durch Transistoren ersetzt 
wurde.

Alexander H. schrieb:
> Die Windungszahlen, Kern, Permeabilität sind komplett angegeben. Ich
> werde das mal so nachbauen und schauen, ob es dann nach Schaltplan
> läuft.

Wieder die Salami-Taktik, weil:

Ralph S. schrieb:
> Wenn das geht, kannst du Dich um das generieren der -20V über eine
> andere Schaltung als mit dem Trafo (dessen Werte Du nicht kennst)
> kümmern... und erst DANN !

Hier hast du dich nicht ausgelassen darüber, dass du die Windungszahlen 
und den Kern scheinbar kennst (und nennst sie hier aber jetzt auch noch 
nicht). Auf der russischen Seite steht nur (automatischer Übersetzer, 
leider ist mein russisch irgendwie eingerostet -ich erinnere mich nicht 
daran, dass ich das jemals gekonnt hatte-), übersetztes Zitat:
1
Der T1-Transformator wird auf einem isolierten ferritischen Ring R20x10x5 mit einem Permement von 2100 hergestellt, die Daten für seine Wicklung werden auf dem Diagramm angegeben (z. B. der Datensatz "w1 - 2x7t d'0.5mm" wie folgt lesen: Die Wicklungsnummer 1 ("w1") besteht aus zwei Semiwavers ("2x") mit einem Durchmesser von 7 x 7 StückDie Hälfte der Wicklungen kann getrennt und doppelt gekühlt werden (vorzugsweise). Es sollte auf das Design der Wicklungen geachtet werden, sowie darauf, dass, um den Ort an der PP zu retten, einige Schlussfolgerungen des Transformators in den Löchern im „Loch vom Bagel“ gelötet werden. Der Transformator sollte so gedrückt werden, dass die Schlüsse der Wicklungen bei der Installation des Transformators auf dem PP keine unnötigen Wendungen erzeugen.

Eine angegebene Tabelle habe ich keine gefunden und ich habe immer 
irgendwie "Kopfschmerzen", wenn ich eine russische Seite öffne.

Alexander H. schrieb:
> Kann ich diese c-source Datei mit dem passenden Compiler(Code wizard Act
> 3.12) öffnen und dann (wenns 4kb der Freeversion nicht überschreitet)
> dieses LOW zu high ändern?

Grundsätzlich sollte das gehen, aber wer lesen kann ist klar im Vorteil:

Ralph S. schrieb:
> Die Originalschaltung verwendet (wie von mir oben bereits empfohlen)
> einen DS3231 RTC-Chip.
>
> Für diesen hat der gute Russe jedoch weder den Quellcode für den Chip
> selbst mit in sein Archiv gepackt #include <ds1307.h> (der "schlechtere"
> DS1307 ist softwarekompatibel mit dem DS3231) noch für den I2C-Bus, der
> den DS3231 ansteuert : #include <i2c.h>

Wenn man sich jetzt etwas über den verwendeten Compiler CodeVisionAVR 
schlau macht (was du anscheinend getan hast, sonst wüßtest du nicht, 
dass es hierfür auch eine begrenzte 4KB Evaluationsversion gibt), dann 
wirst du feststellen, dass die benötigten Headerfiles Bestandteil der 
Toolchain CodeVisionAVR ist. Die benötigten Definitionen zu den 
Headerfiles sind jedoch nur in bereits compilierten *.lib Dateien 
verfügbar (also nicht im Quellcode und von daher nur mühsam auf einen 
anderen Compiler portierbar => die entsprechenden Funktionen müssen 
eigenhändig nachprogrammiert werden).

Wenn also dein Programm nicht in die 4 KByte reinpasst (und es passt 
nicht in 4kByte rein), hast du schlicht verloren.

Das Originalprogramm, und das hättest du beim Upload sehen können (weil 
du ja den ATmega8 schon geflasht hast wie du sagst) hat genau eine Größe 
von 8144 Bytes. Der Autor hat in den ATMega8 so ziemlich alles 
reingequetscht, was nur ging (und somit reichen dir die vom Compiler 
limitierten 4KB nicht => verloren).

Weil ich denke, dass du mir nicht glaubst: Seh dir das Hexfile an und 
wenn du dieses durchscrollst siehst du, dass der Compiler -wie es sich 
gehört- den Speicher durchgehend belegt hat und die letzte Zeile mit 
Code lautet:

:101FC0001A930A9308953B812A8119810881089503

Hier ist "1FC0" die Adresse, ab der im Speicher Code abgelegt wird, 
Adresse ist also 0x1fc0. Ab dieser Adresse folgen weitere 16 Codebytes, 
womit die höchste belegte Adresse 0x1fcf = 8143dez ist. Im ATmega8 haben 
genau 8192 Bytes Platz!

Wolltest du so etwas vielleicht nicht doch selbst programmieren? Vorlage 
für eine Uhr hast du ja eigentlich genug. Bspw. müßte mein hier 
gezeigtes Programm, welches ebenfalls multiplext, die Röhrenschaltung - 
so sie denn funktioniert - ansteuern können, allerdings dann noch ohne 
DS18B20. Aber auch hier müßtest du dann die Digittreiber invertieren.

Vorteil hiervon wäre: Dieses Programm wäre schlicht mit einem komplett 
verfügbaren AVR-GCC (natürlich ohne Codegrößenbegrenzung) zu übersetzen.

--------------------------------------------

Grundsätzlich ist es fast schon wieder bemerkenswert, mit welcher 
Verbissenheit du um "dein Projekt" (ist es mittlerweile nicht nur noch 
ein Nachbau?) kämpfst und es an's Laufen bekommen möchtest.

von Alexander H. (alexander_h732)


Lesenswert?

Naja, so langsam wird’s zäh, muss ich zugeben.🙂 Die Angaben zu den 
Windungszahlen sind auf dem Schaltplan(der Gelbe) links. Hab ich selbst 
erst heute entdeckt.

Hab nen Testtrafo mit den Windungszahlen aus dem Schalplan und dem was 
da war gewickelt (T38, RM4, 0,3/0,2er Draht und 2x 2N3904).
Läuft noch nicht (Stromaufnahme war 170mA). Das mit dem 
Umpolen(Primärwicklung?) teste ich morgen.

Und Danke Axel für die Windungszahlen.

Falls der Trafo aber doch nicht läuft, kann hier jemand nochmal 
erläutern, was da an meinem Testaufbau schiefgegangen sein könnte?
Ich hatte eigentlich alles, was ich für den Betrieb benötige 
angeschlossen.
Heizspannung, negative Anodenspannung, korrekt verdrahtete PNPs - und es 
leuchtete nichts.
Ich dachte, mir fehlt garantiert ein GND, denn ich hatte keinen meiner 
GNDs (LM9022/ -20V / Atmega-Uhr) miteinander verbunden.

Die PNPs sollen ja zwischen -20 und +5 Volt hin- und herschalten. Wo 
genau, also zwischen welchen Punkten muss ich dieses Signal mit dem Oszi 
messen?

von Axel S. (a-za-z0-9)


Lesenswert?

Alexander H. schrieb:
> Falls der Trafo aber doch nicht läuft, kann hier jemand nochmal
> erläutern, was da an meinem Testaufbau schiefgegangen sein könnte?

Naja, alles.

> (Stromaufnahme war 170mA)

Das klingt widerum ok. 5V×170mA=850mW paßt gut zu der überschlagsmäßig 
berechneten Leistung.

Du brauchst außer dem Trafo noch C12, C14, R31, R32, C15, VT10 und VT13. 
Über C15 sollte eine Spannung von ca. 1.5V liegen (Basisvorspannung). 
Die Teilwicklungen müssen richtig herum in Reihe geschaltet sein. Das 
kann man nachprüfen, indem man eine Wechselspannung z.B. sekundär 
einspeist und mit dem Oszi die Spannungen über den halben und ganzen 
Wicklungen vergleicht.

Wenn das alles paßt baut man VT10 und VT13 ein. An die Heizwicklung 
kommt ein 3V÷60mA=50Ω Widerstand (47Ω geht auch), die Sekundärwicklung 
läßt man erstmal frei. Dann schaltet man ein und prüft die Spannung am 
Testwiderstand (besser mit dem Oszi, sollte ca. 3V Rechteckspannung 
sein). Wenn es nicht schwingt, kann man probehalber die beiden äußeren 
Anschlüsse der Steuerwicklung (oder der Primärwicklung, aber nicht 
beide) vertauschen. Die Stromaufnahme zu messen, kann auch nicht 
schaden. Wenn es immer noch nicht geht, kann man auch R32 durch ein 
Trimmpoti 1KΩ ersetzen und daran drehen.

Wenn alles gut war, baut man den Gleichrichter an die Sekundärwicklung 
(VD2, C16, C17) und mißt noch die Spannung da. Wenn das auch paßt, macht 
man den Testwiderstand von der Heizungswicklung ab. Fügt VD3 hinzu und 
schließt das Filament an.

> Die PNPs sollen ja zwischen -20 und +5 Volt hin- und herschalten. Wo
> genau, also zwischen welchen Punkten muss ich dieses Signal mit dem Oszi
> messen?

An den Anoden/Gittern des VFD nach GND. Ohne Angabe daß man eine 
Spannung zwischen zwei Punkten messen soll gehört ein Pol des 
Voltmeters immer an GND.

von Alexander H. (alexander_h732)


Lesenswert?

Den Rest rund um den Trafo hatte ich natürlich auch mit aufgebaut.

„ An den Anoden/Gittern des VFD nach GND“

Ok, also an welchem der drei GNDs?
Am Ausgang?/Heizspannung bzw. am GND der Versorgung vom LM9022, an den 
GND der -20V Anodenspannung oder am Atmega GND?
(Und welche der drei GNDs müssen untereinander verbunden werden?)

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Alexander H. schrieb:
> Ok, also an welchem der drei GNDs?

Es gibt nur ein GND. Wenn du mehr als eins hast, dann ist klar warum 
es nicht funktioniert. Allen Punkte an denen GND steht (oder das GND 
Symbol) sind miteinander zu verbinden.

Die Verwendung des GND Symbols ist nur Bequemlichkeit. In alten 
Schaltplänen findet man noch eine durchgehende Verbindung für GND (genau 
wie für die Betriebsspannung).

von Alexander H. (alexander_h732)


Lesenswert?

„Die Originalschaltung verwendet (wie von mir oben bereits empfohlen) 
einen DS3231 RTC-Chip.

Für diesen hat der gute Russe jedoch weder den Quellcode für den Chip 
selbst mit in sein Archiv gepackt #include <ds1307.h> (der "schlechtere" 
DS1307 ist softwarekompatibel mit dem DS3231) noch für den I2C-Bus, der 
den DS3231 ansteuert : #include <i2c.h“

Nach weiterer Suche im zugehörigen Thread hab ich sogar den DS3231 
Quellcode noch gefunden (firmware v1.02)
Im Ordner „Exe“ sind zumindest eine „ds1307.al“ und „ds1307.al“ Datei 
vorhanden. Die Dateien sind, so wie ich gerade sehe, auch in der ersten 
Firmwareversion mit dabei. Von daher war doch eigentlich alles vorhanden 
fürs Kompilieren?

Ah… die Firmware auf dem Hauptlink war bereits auf v1.02 upgedated 
worden.




https://www.radiokot.ru/forum/viewtopic.php?f=25&t=129703&start=80

Jetzt würde ich nur noch den Compiler in der Vollversion benötigen, 
richtig?

Benutzt hier zufällig jemand den Code Vision compiler?

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Ralph S. schrieb:
> Axel S. schrieb:
>> Das Topologie nennt sich Gegentakt-Flußwandler und ist hier in der
>
> Jetzt habe ich was gelernt (keine Ironie): Ich weiß jetzt wie das
> korrekt heißt. Vor gefühlten 1000 Jahren (okay, es waren "nur" 45 Jahre)
> wurde das "Zerhacker" genannt, wobei ich mir nicht ganz sicher bin, ob
> das der richtige Ausdruck war/ist. Ich weiß nur, dass das sogar noch mit
> Relais funktioniert hat (sehr laut) und dann durch Transistoren ersetzt
> wurde.

Zerhacker ist der Oberbegriff für DC-AC Wandler. Und der Ursprung des 
Namens kommt AFAIK von dem Geräusch, das die ersten Zerhacker - damals 
noch mit Relais - machten. Seitdem hat sich viel getan. Nicht nur wurden 
die Relais durch Transistoren (und die widerum durch MOSFET) ersetzt. 
Man unterscheidet auch zwischen Sperrwandlern und Flußwandlern [1].

Die einfachste Schaltung und in etwa die Entsprechung der ersten 
Zerhacker ist der 1-Transistor Sperrwandler. Hab ich vor vielen Jahren 
(45 kommt hin) auch aufgebaut. Aus einem Germaniumtransistor und einen 
winzigen Trafo aus der Endstufe eines frühen Transistorradios. Mit dem 
Sperrwandler kann auf einfache Weise eine hohe Spannung erzeugt werden, 
weil die Transformation über das Windungverhältnis und die 
Spannungsüberhöhung durch Eigeninduktion kombiniert werden. Das war 
genau das, wofür man Zerhacker damals brauchte: um Röhrenschaltungen mit 
Batterien betreiben zu können.

So viel zur Historie.


[1] die Unterscheidung ist der Zeitpunkt des Stromflusses auf Primär- 
und Sekundärseite. Bei Sperrwandlern ist das abwechselnd, bei 
Flußwandlern gleichzeitig. Folgerichtig müssen Sperrwandler die zu 
übertragende Energie im Magnetfeld speichern. Bei Flußwandlern ist das 
unerwünscht.

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Also es ist fast wie verflucht.
Hab nochmal eine negative Versorgung mit MC34063 (-23V bei 5V/90mA) 
aufgebaut. Läuft gut, stabile -23V.

Ich habe alle Vccs und GNDs miteinander verbunden, trotzdem leuchtet 
kein einziges Segment. Kein Witz.🙂

Bei „getrennter Versorgung“ von LM9022/Atmega(je ein eigenes Netzteil) 
hat es beim Abstecken der Spannung kurz grün aufgeblitzt.
Ich vermute, es hat irgendwas mit fehlender „Mittelanzapfung“ bzw. 
Zenerdiode zu tun.


Die Signale(wieder der Vergleich Ausgang Atmega/Basis der PNPs zu 
Collector/Segmente) sehen auf jeden Fall besser aus. Vielleicht ist es 
eine Art Dimensionierungsproblem der Rs rund um die PNPs? Kann man da 
den „richtigen“ Schaltvorgang schon sehen, oder passt es noch nicht?

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Hab jetzt mal exemplarisch an DP (Kommasegment) und Gitter1 gemessen.
Müsste es da nicht leuchten?
Ich kapiers nicht.😏

von Ralph S. (jjflash)


Lesenswert?

Axel S. schrieb:
> das die ersten Zerhacker - damals
> noch mit Relais - machten.

daran erinnere ich mich noch gut! Und nach einem Jahr oder so, waren die 
Relais zu tauschen, weil die Kontakte verschlissen waren.

Axel S. schrieb:
> der ersten
> Zerhacker ist der 1-Transistor Sperrwandler.

:-) auch das wußte ich noch, aber den Begriff (der Sinn macht) von 
Gegentakt-Flußwandler kannte ich nicht. Allerdings, - wie gesagt - macht 
dieser Name Sinn, da die Primärspule mittels zweier Transistoren im 
Gegentakt betrieben werden.

Dennoch supi vielen Dank für die Aufklärung der Begrifflichkeit, wie 
bereits gesagt: ich habe wieder etwas gelernt... oder wieder etwas in 
Erinnerung bekommen, was ich bereits vergessen hatte.

Alexander H. schrieb:
> Ich habe alle Vccs und GNDs miteinander verbunden, trotzdem leuchtet
> kein einziges Segment. Kein Witz.🙂

Doch, das ist ein "Witz", dass du nach mehrmaliger Aufforderung hier 
doch
tatsächlich die Anschlüsse, die mit Massezeichen gekennzeichnet sind 
auch wirklich miteinander verbunden hast !!!!

Masse wird auch gerne als "common" bezeichnet, kommt aus dem Englischen 
und bedeutet übersetzt: "gemeinsam"... Masse ist der Anschluß, an dem 
alle Ströme zusammen- und abfließen und alle Massesymbole sind 
galvanisch mit 0-Ohm (Null-Ohm), also einem Stück Draht oder Leitung auf 
einer Platine verbunden.

Oszilloskopbilder auf denen du einfach ein Rechtecksignal zeigst (ein 
einzelnes) ohne jeglichen zeitlichen Zusammenhang zu anderen Signalen 
sind absolut ohne Aussagekraft. Einzig siehst du hier einen Pegel, mehr 
nicht.

Und wenn ich das richtig verstehe, hast du nun wieder den Controller 
angeschlossen. Warum in aller 3-Teufels Namen steuerst du Digit und 
Segmente nicht endlich von Hand an, sei es ein Stück Draht, das du an 
den Vorwiderständen der Basen anbringst und diesen dann gegen +5V und 
Masse schalten kannst.

Hier genügt schlicht ein einzelner Draht an einem Segment, welches ist 
egal, und einer an einem Digit. Dann kannst du die Kombination sehen, 
unter welcher der du ein einzelnes Segment eines einzelnen Digits zum 
Leuchten bringst.

Herjeh, ich war schon drauf und dran, mir eine solche Röhre für 12€ aus 
Ebay zu besorgen um die einen Aufbau zu zeigen, der funktioniert. 
Allerdings habe ich dann nicht eingesehen, viel Geld auszugeben für 
etwas, das ich nicht brauche, "nur" um jemandem zu helfen, der irgendwie 
schlecht hören und lesen kann (wenn ich daran denke wie oft hier gesagt 
wurde, dass die Massesymbole zu verbinden sind... und von dir ewig oft 
die Aussage kam: "Mit welcher der 3 Massen muß ich das verbinden"... ist 
das unglaublich).

Alexander H. schrieb:
> m Ordner „Exe“ sind zumindest eine „ds1307.al“ und „ds1307.al“ Datei
> vorhanden. Die Dateien sind, so wie ich gerade sehe, auch in der ersten
> Firmwareversion mit dabei. Von daher war doch eigentlich alles vorhanden
> fürs Kompilieren?

Aha! Und hast du in diese Dateien auch einmal hineingeschaut, da steht 
nichts anderes drin als:
1
.CSEG
2
;PCODE: $00000000 VOL: 0
3
;PCODE: $00000001 VOL: 0
4
;PCODE: $00000002 VOL: 0
5
;PCODE: $00000003 VOL: 0
6
;PCODE: $00000004 VOL: 0
7
;PCODE: $00000005 VOL: 0
8
;PCODE: $00000006 VOL: 0
9
10
usw.

Das ist schwerlich ein Programmcode, sondern eine Ausgabe des Compilers.
Die *.ol Datei ist wohl (da lege ich mich nicht ganz fest) eine vom 
Compiler erstellte Objektdatei, die beim Compilergang hinzugelinkt 
worden ist.

Die Objektdatei selbst ist sicherlich aus einer Bibliothek ihrerseits 
entstanden, die zur Standardausstattung des CVAVR-Compiliers gehört und 
ihrerseits bereits übersetzt ist und auch im Quellcode nicht verfügbar 
(zumindest sieht das so nach einer Probeinstallation der freien 
Evaluationsversion so aus).

D.h. solltest du den (unlimitierten) Compiler haben, sollte sich das 
wirklich übersetzen lassen, portierbar bspw. zum AVR-GCC ist das so ohne 
weiteres nicht, hier brauchst du neue Funktionen, die du anpassen mußt 
(hatte ich das schon einmal geschrieben? Ich hatte das schon einmal 
geschrieben!)

Alexander H. schrieb:
> Vielleicht ist es
> eine Art Dimensionierungsproblem der Rs rund um die PNPs?

Nein, ist es nicht!

Noch einmal:

- nehme die Röhre
- schließe Heizspannung an
- realisiere die PNP-Schaltung für ein (in Worten EIN) Segment und 
schließe es an ein Segment an (von mir aus DP, Segment a..g geht auch)
- realisiere die PNP-Schaltung für ein (in Worten EIN) Digit und 
schließe von mir aus GR1 daran an
- an den Vorwiderständen der PNP-Transistoren stellst du eine 
umschaltbare Verbindung (Wechselschalter) oder auch Umstecken des Drahts 
zwischen +5V und Masse her

Bei einer bestimmten Kombination (es gibt ja nur 4 Möglichkeiten) sollte 
dieses eine Segment leuchten (ich weiß auch schon welche Kombination 
dafür notwendig ist).

Solange... dieses NICHT funktioniert brauchst du mit dem Controller oder 
sonstigem nicht zu kommen, denn dann funktioniert die Grundschaltung für 
die Röhre nicht.

Hatte ich so etwas ähnliches schon geschrieben? Hatte ich!

Was hast du darauf geantwortet?

Alexander H. schrieb:
> Hab ich exakt so getestet, bisher leuchtet nichts.

Nein, hast du scheinbar nicht gemacht! Dafür anscheinend permanent 
deinen Controller wieder angeschlossen, obwohl du weißt dass die 
Röhrenschaltung nicht funktioniert.

--------------------------------------------

Ich war lange Jahre auch im Prüfungsausschuß für Gesellen und Techniker 
und vor einigen Jahren gab es auch noch die Prüfungsleistung 
"Fehlersuche".

Ich habe nie verstanden, warum manche Prüflinge immer und immer wieder 
an einer Stelle den Fehler suchten an der er nicht ist, von dem sie 
festgestellt hatten dass er dort nicht ist, aber dennoch immer wieder an 
derselben Stelle gemessen haben.

Laß die Ozsilloskopbilder, laß den Controller, bringe die Röhre händisch 
ans Laufen, dass du mit Drahtverbindungen reproduzierbar einzelne 
Segmente ansteuern kannst und erst dann, ERST DANN, kümmere dich um den 
Controller!

---------------------------------------------

Alexander H. schrieb:
> Jetzt würde ich nur noch den Compiler in der Vollversion benötigen,
> richtig?

Richtig!

Alexander H. schrieb:
> Benutzt hier zufällig jemand den Code Vision compiler?

Möchtest du hier jemanden dazu animieren, dir eine Raubkopie zukommen zu 
lassen ?

von Mi N. (msx)


Lesenswert?

Ralph S. schrieb:
> Möchtest du hier jemanden dazu animieren, dir eine Raubkopie zukommen zu
> lassen ?

Wenn ich mich richtig erinnere, wollte der TO eine LED-Uhr mit ATtiny26 
bauen. Dann sollte er doch damit einmal anfangen ;-)

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

So, es leuchtet endlich und die Uhr läuft.

Hab Koppelelkos und einen Spannungsteiler zu GND wie im Anhang zu sehen 
eingebaut.
Leider steigt der Stromverbrauch dadurch von 100 auf 200mA.
Inwieweit kann man das optimieren?

Kann hier einer die Zusammenhänge, bzw. warum diese Maßnahme nötig war 
erklären?
Wahrscheinlich geht durch die Kombination von LM9022 und externen -20V 
vom MC34063 der „Bezug“ verloren (oder so ähnlich).

„an einer Stelle den Fehler suchten an der er nicht ist“
Aha😀 Übrigens hab ich diesen Zusammenhang mehrfach hier gepostet, und 
dazu den Schaltplan.
Ich hab ja vermutet, dass der Schaltungstrick einfach nötig ist, aber 
hier ist keiner drauf eingegangen.

Eine technische Erläuterungen des Tricks wäre top, falls das einer kann.

Wie bitte, Raubkopie?

: Bearbeitet durch User
von Dennis S. (supernova)


Lesenswert?

Ralph S. schrieb:
> Laß

Leute, seit 1996!!! veraltet, fast seit dreißig Jahren! Lass es sein.

Ralph S. schrieb:
> Ich war lange Jahre auch im Prüfungsausschuß für Gesellen und Techniker
> und vor einigen Jahren gab es auch noch die Prüfungsleistung
> "Fehlersuche".
> Ich habe nie verstanden, warum manche Prüflinge immer und immer wieder
> an einer Stelle den Fehler suchten an der er nicht ist

Dann warst du nicht der richtige für den Prüfungsausschuss - auch mit 
ohne Eszett, auch seit 1996.

Versuch doch mal etwas Neues anstatt dich so gegen Änderungen zu wehren.

Alexander H. schrieb:
> Eine technische Erläuterungen des Tricks wäre top, falls das einer kann.

Geh doch mal etwas mehr auf die Rückmeldungen hier ein.

VG

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

Dennis S. schrieb:
> Ralph S. schrieb:
>> Laß
>
> Leute, seit 1996!!! veraltet, fast seit dreißig Jahren! Lass es sein.

Da sind sie wieder... die Rechtschreibfanatiker! Ich bin halt schon 
etwas älter als 1996 und ich laß (mit scharfem S) es eben nicht sein.

Es gibt einige Wörter bei denen ich bis heute schlucken muß. Noch etwas 
früher als 1996 hatte man sich lustig darüber gemacht wie jemand 
geschrieben hatte:

"Geh bitte zum Frisör"

Damit tu ich mich schwer, weil das heute als korrekte Rechtschreibung 
gilt.

Abgesehen davon ist das hier ein Technikforum und keine Sammelstelle für 
verkappte Deutschlehrer.

By the way: seit 2009 angemeldet und überragende 81 Beiträge. Hier zählt 
dann wohl Qualität vor Quantität (irgendwann wird Qualität dann wohl als 
Kwaliteht geschrieben?)

Dennis S. schrieb:
> Dann warst du nicht der richtige für den Prüfungsausschuss - auch mit
> ohne Eszett, auch seit 1996.
>
> Versuch doch mal etwas Neues anstatt dich so gegen Änderungen zu wehren.

Ich glaube ich war da mal sehr gut aufgehoben. Wenn du dich mit dem 
Prüfungswesen der IHK heute auskennst, dann stellst du fest, dass nicht 
alles was neu ist, wirklich besser ist.

Hier ist schlichtweg neu, dass die Anforderungen eine Prüfung zu 
bestehen erheblich gesunken ist. Die Abschlußprüfung ist auf 2 Teile 
gestreckt (die nicht so wirklich Sinn macht, in AP1 wird eine Schaltung 
aufgebaut, die nach 1,5 Jahren noch nicht verstanden werden kann, aber 
der Prüfling hat stupide gelernt etwas nach Plan umzusetzen, ohne zu 
verstehen was er da tut). Manche Dinge werden dort schon behandelt, 
obwohl das entsprechende Lernfeld noch gar nicht zeitlich im Rahmenplan 
erreicht ist.

AP2 ist dann noch etwas besser, der Prüfling muß einen betrieblichen 
Auftrag bearbeiten (kein Projekt wohlbemerkt) und diesen vor dem 
Prüfungsausschuß "verteidigen" im sogenannten Facharbeitergespräch. Der 
Prüfungsausschuß darf keine fachlichen Fragen stellen (Fachlichkeit 
obliegt der Berufsschule) sondern nur zur Arbeitsweise und die 
Gliederung in: Informationsphase, Planungsphase, Durchführungsphase und 
Kontrolle. Diesen betrieblichen Auftrag hat der Ausschuß nie gesehen. 
Die Dokumentation zu diesem Auftrag darf auch nicht bewertet werden. 
Wenn nun der Ausschuß die Vorgänge in einem Betrieb nicht kennt, muß er 
vieles so hinnehmen wie der Prüfling das erzählt. Kann einer also gut 
labern ist aber fachlich nicht wirklich der Hit, ist er ein guter 
Facharbeiter.

Toll... schön neu alles... und natürlich viel besser... vielen Dank

Dennis S. schrieb:
> Versuch doch mal etwas Neues anstatt dich so gegen Änderungen zu wehren.

Nö, ich will in Rente

Alexander H. schrieb:
> So, es leuchtet endlich und die Uhr läuft.

... dann mach mal Fotos und ein Video von der funktionierenden Uhr !

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich hab noch ein Problem festgestellt und komme einfach nicht dahinter.
Wenn der Alarm per Buzzer ertönen soll, höre ich leider nur ein Klicken.
Als Buzzer nutze ich einen KXG-1606 magnetic buzzer.
https://docs.rs-online.com/0b67/0900766b810eaa50.pdf

Am Ausgang des Atmegas ist an PIN 27 (BZR) ein 2,5KHz Rechteck zu sehen, 
das passt also.
Sobald der Alarm ertönt bricht der Alarm nach zwei mal Klicken wieder 
ab(so als ob zu viel Strom fließt). Verbinde ich den Buzzer aber über 
100 Ohm an Vcc (5V) läuft er klickend weiter.
Er sollte aber mit 2,5KHz piepsen.🙂

Der „recommend driving circuit“ unterscheidet sich von der 
Schaltungsvariante der Uhr.
Kann jemand erklären, was da passiert?

Der Buzzer beinhaltet keine Tonerzeugung und muss per Rechteck/Sinus 
angesteuert werden. Somit müsste der Typ schon mal stimmen, oder?

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Polung beachtet?
Sicher, das der Transistor wirklich aus und einschaltet und nicht durch 
falsche Portkonfig nur aus und fast aus?
Gesehen das die Mühle bitte mit +-2,048kHz angesteuert werden will?

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Alexander H. schrieb:
> Sobald der Alarm ertönt bricht der Alarm nach zwei mal Klicken wieder
> ab(so als ob zu viel Strom fließt).

Wie hört sich denn zu viel Strom an?

> Der „recommend driving circuit“ unterscheidet sich von der
> Schaltungsvariante der Uhr.
> Kann jemand erklären, was da passiert?

Da wird einfach der andere Pol geschaltet. Beide Schaltungen 
funktionieren gleich gut.

Alexander H. schrieb:
> Somit müsste der Typ schon mal stimmen, oder?

Unter der Bezeichnung TR-1205Y finde ich nur Schneeketten für Autos.

: Bearbeitet durch User
von Karl B. (gustav)


Lesenswert?

Alexander H. schrieb:
> Der Buzzer beinhaltet keine Tonerzeugung und muss per Rechteck/Sinus
> angesteuert werden. Somit müsste der Typ schon mal stimmen, oder?

Hatte mal ein ähnliches Problem, bis ich merkte, dass die Schallöffnung 
noch mit einem Klebestreifen zugeklebt war. Vielleicht ist etwas in die 
Innereien des Alarmgebers gekommen, was verhindert, dass sich die 
Membran voll bewegen kann.
Bei meiner VFD-Uhr habe ich schließlich einen NF-Übertrager (für die 
uralten Transistorradio-Endstufen) dazwischengeschaltet, und einen 
niederohmigen Mini-Lautsprecher als Alarmgeber genommen.
https://www.pollin.de/p/kleinlautsprecher-dh-90x-640005

Die andere Uhr läuft mit Piezo-Scheibe. Hier kommt es aber auch auf die 
Montage an, um die richtige Lautstärke hinzubekommen.
Suchbegriff: Piezo-Scheiben-Akustischer-Tonabnehmer-Piezo
Zufällig: BIlinli 10 stücke 35mm Piezo Pickup Piezo Verstärker Scheiben 
Piezo Elemente Summer Sounder Sensor Trigger Drum Disc + draht Kupfer 
Piezo Scheiben

ciao
gustav

: Bearbeitet durch User
von Alexander H. (alexander_h732)


Lesenswert?

Hab das Ganze nochmal mit einem anderen Buzzer kleinerem Durchmessers 
getestet, gleiches Verhalten. Der Buzzer bekommt 5V/500mA, daher würde 
ich zu wenig Strom ausschließen.

Kann ich eventuell mit dem Transistor und der Dimensionierung der 
Widerstände noch was erreichen?
Sollte ich nicht zumindest an einem kleinen Kopfhörerlautsprecher den 
2500Hz Ton hören können?
Vielleicht benötigen meine Buzzer ja auch mehr als 5V, obwohl das nicht 
aus dem Datenblatt hervorgeht.

Ich hab noch von herausgesprungenen Schwingspulen gelesen, die durch 
Umpolen wieder einrasten.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Alexander H. schrieb:
> Sollte ich nicht zumindest an einem kleinen Kopfhörerlautsprecher den
> 2500Hz Ton hören können?

Ja, auf jeden Fall.
Nur eben DC abkoppeln mit Kondensator. Das Knacken deutet darauf hin, 
dass Schwingspule ausgelenkt wird durch die Gleichspannungsüberlagerung.

Habe bei mir den LT.700 Übertrager dazwischengeschaltet.
Die 1,2 Kiloohm Eingangswiderstand überlasten mir den Ausgang des µP 
nicht.

BTW: Das Uhren IC bei "meiner" Schaltung braucht Pullup-Widerstand am 
Alarmgeber-Ausgang. Da jetzt statt des Alarmgebers zusätzlich noch die 
Primärwicklung des Mini-Übertragers hinein. Das RC-Glied war dann für 
den Fall so dimensioniert, dass Ton möglichst laut ist. Kann aber auch 
entfallen. War nur so eine Idee.


ciao
gustav

: Bearbeitet durch User
von Teo D. (teoderix)


Lesenswert?

Karl B. schrieb:
> Hatte mal ein ähnliches Problem, bis ich merkte, dass die Schallöffnung
> noch mit einem Klebestreifen zugeklebt war.

Was mal 0,0 Einfluss hat!³ :DDD

Das ist zu 99% falsch aufgebaut oder es liegt an der SW.
Zu 1% knattert dir der EMP der Spule nen Reset rein. Pass aber nich so 
ganz zur Fehlerbeschreibung... äää, is doch nur Prosa. ;)


PS: Der Basiswiederstand ist aber nicht zufällig, ein Kondensator im 
Widerstand-Kostüm?!

: Bearbeitet durch User
von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hier die Töne aktuell aufgenommen.
die ersten von der VFD-Uhr mit dem K176IE18, Minitrafo, RC-Glied und 
Minilaustsprecher.
Die zweiten von der Netzuhr mit dem Attiny 4313 direkt mit 
Piezoschwinger.
an Port 6 über 0,47 µF in Reihe. Doch recht leise.

Teo D. schrieb:
> Zu 1% knattert dir der EMP der Spule nen Reset rein

Das kann sein, aber wenn da Widerstände in Reihe vorgeschaltet sind, 
dämpfen die, so dass damit nicht die Restetauslöseschwelle am IC 
erreicht wird.
Tatsächlich hört man den Überschwinger-Knackser während der ersten 
Aufnahme. Und im Oszillogramm auch sichtbar.
Deswegen hatte ich auch noch experimentiert mit dem C1/R1 RC-Glied.
BTW: Ist übrigens nicht 5 sondern 9 Volt an Versorgungsspannung.

ciao
gustav

von Teo D. (teoderix)


Lesenswert?

Karl B. schrieb:
> Hier die Töne aktuell aufgenommen.

Kann mich nicht erinnern, das ich an DEINEM Problem laboriere!?-O


PS: Probier's doch einfach mal mit ner Freilaufdiode...

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Ok, ich glaube, die Uhr gibt einfach nur ein 2,5Hz Signal aus.🙂
Oder?
Auf dem China Oszi hab ich das als 2500Hz gelesen.😂
Um den Lautsprecher zum Piepen zu bringen, bräuchte ich wohl eine kleine 
Oszillatorschaltung.

Kennt jemand gute Beispiele? Gerne auch schräge/spacige Töne.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Alexander H. schrieb:
> Kennt jemand gute Beispiele? Gerne auch schräge/spacige Töne.

Bin gerade dabei, das Phänomen mit der zugeklebten Öffnung zu 
verifizieren.
Die Kamera streikt. Das Mikro nimmt den hohen Ton nicht auf.
Aber es stimmt. Sobald die Öffnung zu ist, höre ich keinen Ton mehr.
Anbei noch die Schaltung, die mit in SMD aufgebaut wurde.
BTW: Vielleicht wichtig: Es ist ein Piezoschwinger, keiner mit 
Magnetspule oder etwas Lautsprecherähnliches wie oben.

ciao
gustav

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Alexander H. schrieb:
> Ok, ich glaube, die Uhr gibt einfach nur ein 2,5Hz Signal aus.🙂
> Oder? Auf dem China Oszi hab ich das als 2500Hz gelesen.😂

Wenn du dein Oszi nicht ablesen kannst, erklärt das natürlich eine 
Menge.

> Um den Lautsprecher zum Piepen zu bringen, bräuchte ich wohl eine kleine
> Oszillatorschaltung.

Nun, im Original war wohl ein Buzzer mit eingebauter Elektronik verbaut. 
Die sind besonders als Piezos weit verbreitet. Es hilft halt, auch den 
Text zu einem Schaltplan zu lesen. Ersatzweise die Stückliste. Wobei ich 
das verwendete Symbol für den Buzzer mit dem "G" im Kasten auch als 
Hinweis auf einen im Buzzer eingebauten "G"enerator lesen würde.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Sowas?
https://www.reichelt.de/de/de/shop/produkt/entwicklerboards_-_aktives_piezo-buzzer_modul-239111?

Ja, den Aufkleber auch abpiddeln vorher, ggg!

ciao
gustav

P.S: Mal ein anderes Extra Micro. Vielleicht ging es damit besser.
Und zum Anschauen des Videos wie gehabt "Ziel Speichern unter" und von 
lokal abspielen.

: Bearbeitet durch User
von Alexander H. (alexander_h732)


Lesenswert?

Hallo Leute,


kann jemand hier ungefähr abschätzen, wo die minimale Betriebsspannung 
der Uhr in etwa liegt?
https://radiokot.ru/circuit/digital/home/215/05.gif

Mir ist aufgefallen, dass mein Atmega8 (Atmega8A U-TH /Reichelt) erst 
bei knapp 4V läuft, vorher ist er tot.
Ich dachte, ich hätte einen -AU gekauft.
Im Netz findet man dazu einige seltsame Beiträge, aber eigentlich soll 
der „A U-TH“ dem „AU“ entsprechen.
Beitrag "ATMEGA128A-AU vs 128A U-TH und 3V vs 5V ISP Programmierspannung"

Der -AU würde bereits ab 2,7V laufen. Würde der Rest der Schaltung 
(DS3231 2,3-5,5V, DS18B20 3,0-5,5V) mit ca. 3,0V bereits funktionieren?
Bei zB. 3,5V an den Versorgungspins des Atmega tut sich definitiv nichts 
an den Ausgängen, das sollte beim AU so nicht sein, oder?

Ich experimentiere mit einer Miniversion der Uhr, die auch für 
Akkubetrieb (Steampunk-Armbanduhr zB.) an nur einer 1,2V Zelle ein paar 
Stunden laufen soll, und müsste den Stromverbrauch noch ein bisschen 
senken.

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

Alexander H. schrieb:
> Ich experimentiere mit einer Miniversion der Uhr, die auch für
> Akkubetrieb (Steampunk-Armbanduhr zB.) an nur einer 1,2V Zelle ein paar
> Stunden laufen soll, daher ich will den Stromverbrauch noch ein bisschen
> senken.

Eine Miniversion mit Anzeigeröhre als Armbanduhr??? Das ist dann eher 
eine Unterarmuhr!

Der Controller läuft auch noch mit 3,3V aaaaaaber: Die 
Versorgungsspannung wird über Festspannungsregler 7805 generiert (was in 
sich schon etwas arg ist bei 12V DC am Eingang der Regler, Stichwort 
Verlustleistung).

Tatsache ist, dass bei einem Anlegen der Spannung an die Regler direkt, 
die Regler selbst auch noch einmal Spannung "fressen", von daher ist die 
Frage: Sind deine 4V vor oder hinter dem Regler (und wenn die 
Einspeisung davor ist, wieviel kommt dahinter noch raus ?)

Deine Spannungsgenerierung für die Röhre ist auf 5V ausgelegt, welche 
Spannung kommt am Übertrager auf der Sekundärseite heraus (und reicht 
die dann noch für die Röhre)?

Es gibt so etwas wie Datenblätter, darin steht:

- Spannungsversorgung für DS18B20 3,0V .. 5,5V
- Spannungsversorgung für DS3231 2,3V .. 5,5V

das sollte also reichen.

Also, wo genau hast du die 4V ?

Alexander H. schrieb:
> Hallo Leute,

könntest du eine solche ultralaxe Ansprache vermeiden. Irgendwie bekommt 
man da Plack auf die Zähne (egal wie gut man sich diese geputzt hat)

von Ralph S. (jjflash)


Lesenswert?

by the way: du schuldest uns noch ein Foto deiner aufgebauten Uhr !

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Mist, noch etwas vergessen habe:

Dein Übertrager für die Röhre wird mit ca. 8,6V primärseitig versorgt, 
der Z-Diode VD1 sei dank.

Wie du das ganze auf 1,2V zum Laufen bringen möchtest ist mir 
schleierhaft, ein Step-Up-Wandler von 1,2V auf 8,6V ist dann wirklich 
nicht mehr sooooo ganz so einfach!

von Alexander H. (alexander_h732)


Lesenswert?

Ich teste gerade verschiedene Aufwärtswandler. Am besten hat der BL8530 
funktioniert (hatte mal in einem Thread nach Erfahrungen gefragt). Der 
generiert aus 1,2V die 4,5V.
Dann nutze ich anstelle des Trafos einen LM9022 (invertierende 
Ladungspumpe).
Das Ganze zieht bei voller Helligkeit an 4,5V ca. 65mA. An 1,2V knapp 
300mA, im Dunkeln ca. 250mA.

Beim boost converter kann man sicher noch ein paar mA rausholen 
(hauptsächlich mit der richtigen Spule).
Interessant war, dass auch die Auslegung der Kondensatoren der 
Ladungspumpe (Kaskade) Einfluss auf den Stromverbrauch haben.
Genauso auch die „Koppelelkos“ (Heizung).
Ich konnte in der Kaskade bis 200nF runtergehen, bei den Koppelelkos bis 
1uF.

An 4,5V benötige ich 2x 50 Ohm Vorwiderstände für die Heizung, daher 
dachte ich das 3-3,5V besser wären.
Allerdings würde die Ladungspumpe dann noch mehr Stufen benötigen.
Bringt es an sich Vorteile mit der Spannung runterzugehen?

Hmm.. Mein Atmega ist dann wohl kein richtiger AU, denn sonst müsste der 
ja an 3,5V locker laufen (wenn der Rest der Schaltung an sich damit 
klarkommt).

von Ralph S. (jjflash)


Lesenswert?

warum machst du nicht mal einen KOMPLETTEN Schaltplan vom Istzustand? 
Außerdem: Foto?

von Alexander H. (alexander_h732)


Angehängte Dateien:

Lesenswert?

Bin immernoch am Optimieren des Stromverbrauchs und der Aufbau ist 
immernoch ein Drahtverhau.
Ich konnte mit der Versorgungsspannung bis 2,7V (8Mhz) runtergehen.

Jetzt überlege ich, als weitere Maßnahme die 17x BC857 PNPs (für 
Segmente/Gitter) durch P-CH mosfets (zB. BSS84PW) oder durch ein 
passendes P-CH array zu ersetzen.
Würde sich damit der Stromverbrauch noch senken lassen?
Falls das ginge, müsste ich dann noch schaltungstechnisch etwas ändern?

von Jens M. (schuchkleisser)


Lesenswert?

Alexander H. schrieb:
> Würde sich damit der Stromverbrauch noch senken lassen?

Minimal, der Basisstrom fehlt halt, sind aber auch nur ein paar hundert 
µA.

Alexander H. schrieb:
> Falls das ginge, müsste ich dann noch schaltungstechnisch etwas ändern?

Müssen nicht, können ja: FETs brauchen mangels Basis keinen 
Basiswiderstand.
Allerdings evtl. Pullups, damit die Gates definierte Pegel haben, aber 
das hängt von der Ansteuerung ab.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Alexander H. schrieb:
> Bin immernoch am Optimieren des Stromverbrauchs

Wozu, VFDs sind nichts für Batteriebetrieb. Ich kann mich noch gut an 
meinen ersten Taschenrechner mit VFD erinnern: einschalten, rechnen, 
ausschalten.

Alexander H. schrieb:
> Würde sich damit der Stromverbrauch noch senken lassen?

Nach Schaltbild spart das etwa 0,5mA je Transistor (5V/10k). Wobei die 
Digittreiber eh nur 1/9 der Zeit an sind, d.h. die sparen max 55µA ein.

von Jens M. (schuchkleisser)


Lesenswert?

Peter D. schrieb:
> Wobei die
> Digittreiber eh nur 1/9 der Zeit an sind, d.h. die sparen max 55µA ein.

Pro Stück.
Aber es ist ja normal "immer" einer an. Oder?

von Alexander H. (alexander_h732)


Lesenswert?

„ VFDs sind nichts für Batteriebetrieb.“

Ja, das stimmt natürlich. Aber ich versuche gerade herauszufinden, wie 
weit man den Stromverbrauch noch runterbekommen kann.
Übrigens nutze ich genau so ein winziges Taschenrechner-VFD.
Ziel war ca. 12 Stunden Betriebsdauer an einer Eneloop AA/2000mAh (per 
TPS61010 auf 2,7V gewandelt).

Bei 0,5mA wären das 8,5mA, knapp 15% meines Stromverbrauchs, also schon 
nicht wenig.
55uA wäre fast nichts.😂 Spart man nun Strom ein, oder ist der Effekt 
durch die kurze Einschaltdauer vernachlässigbar (da Multiplexing)?

Wie groß wäre die Einsparung pro Mosfet bei 2,7V?

von Jens M. (schuchkleisser)


Lesenswert?

Es spart 0,5mA pro Transistor, etwa.
Da jeder nur einen Teil der Zeit an ist ist es pro Transistor effektiv 
weniger, aber da ja immer "einer" an ist in Summe das gleiche wie einer 
der dauernd an wäre, aber ohne Multiplexing.
d.h. 9x 0,5mA mit 1:9er Multiplexing sind in Summe 0,5mA.
Jaja, Totzeiten und Toleranzen und so, dann sind's vielleicht ein paar 
µA mehr oder weniger.
Die Bauteilersparnis ist da wesentlich auffälliger.

Alexander H. schrieb:
> Wie groß wäre die Einsparung pro Mosfet bei 2,7V?

Weniger, da ja weniger Basisstrom flösse der eingespart werden würde.

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Wozu, VFDs sind nichts für Batteriebetrieb. Ich kann mich noch gut an
> meinen ersten Taschenrechner mit VFD erinnern: einschalten, rechnen,
> ausschalten.

:-) daran kann ich mich gut erinnern, mein erster Taschenrechner hieß 
"Omron 8PM" und muß noch irgendwo im Keller rumliegen.

Bei dem Teil waren permanent die Batterien leer!

von Michael W. (miks)


Angehängte Dateien:

Lesenswert?

Den im Bild habe ich noch hier.

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
Noch kein Account? Hier anmelden.