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
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
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
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.
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
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
Sherlock 🕵🏽♂️ schrieb: > http://stefanfrings.de/mikrocontroller_buch/ der wievielte Account ist das eigentlich von dir Stefan?
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!!!
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
Alexander H. schrieb: > Hat hier evtl. jemand gute Codebeispiele für eine Uhr mit Attiny26? Beitrag "DCF77 Uhr in C mit ATtiny26"
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.
Alexander H. schrieb: > sechsstellige > 7-Segment LED Uhr bauen. Hierfür brauchst du weniger Pins: https://www.az-delivery.de/products/4-digit-display
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
Frank E. schrieb: > UND!!! - es braucht nur einen Pin am Mikrocontroller!!! und das hier... https://www.reichelt.de/7-segment-anzeige-11x9x9-7mm-ziffern-7-62mm-men-2274-1001-p135533.html?&trstct=pol_4&nbc=1
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.
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😀
Es gibt auch fertige Anzeigen mit MAX7219: https://www.az-delivery.de/en/products/azdelivery-max7219-led-modul-8-bit-7-segmentanzeige-led-display-fur-arduino-und-raspberry-pi
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.
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 :(
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.
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.
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
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
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.
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.
Ü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
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).
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.
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.
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.
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.
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).
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.
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.
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
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.
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.
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. ;)
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.
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.
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.
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.
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.
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).
... 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).
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
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?
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.
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.
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"
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
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.
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.
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
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
„ 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
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 :-(
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?
... 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!
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
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.
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?
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).
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
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!
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!
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)
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 !
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.
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 !
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
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!
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.
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)
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
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 !
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.
Ralph S. schrieb: > @Peter : war von dir nicht der Artikel war er, genau wie eine geniale DCF77 Routine en passant und Tastenentprellung bullet proof
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.
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.
Joachim B. schrieb: > stimmt so nicht, Alexander H. schrieb: > Hallo Leute, > > ich bin absoluter Anfänger in Sachen Mikrocontroller. Zur Erinnerung!
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
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.
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
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.
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.
Alexander H. schrieb: > relevant ISP Takt sollte bei fabrikneuen Chips unter 1MHz/4 eingestellt sein (siehe Datenblatt)
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).
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.
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
Ich staune da überhaupt nicht. Der TO will uns doch verarschen. So was baut kein Änfänger.
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
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.
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
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?)?
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.
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.
„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
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.
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
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?
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
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.
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
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.
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
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.
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
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 !
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?
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
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.
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.
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
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 ...
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.
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?
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.
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
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).
„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
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.
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?
Hab jetzt mal exemplarisch an DP (Kommasegment) und Gitter1 gemessen. Müsste es da nicht leuchten? Ich kapiers nicht.😏
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 ?
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 ;-)
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
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
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 !
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
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?
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
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
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.
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
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
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
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...
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.
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
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.
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
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
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)
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!
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).
warum machst du nicht mal einen KOMPLETTEN Schaltplan vom Istzustand? Außerdem: Foto?
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?
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
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.
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?
„ 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?
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.
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.