Hallo Community, ich möchte mir gerne eine Binäruhr im Taschenformat bauen. Da die Uhr sehr klein werden soll, möchte ich gerne auf Tasten für die Zeiteinstellung verzichten. Meine erste Idee war, das ich einen DCF-Empfänger verwende, das würde ich auch noch relativ leicht hinbekommen. Jedoch das einzige Modul welches ich gefunden habe, gefällt mir auch nicht, da mir der Ferritkern zu groß ist. (https://www.conrad.at/de/dcf-empfaengerplatine-641138.html?sc.queryFromSuggest=true) Da die Uhr sowieso über Micro-USB geladen werden soll, ist meine Idee nun, das ich mir am Computer ein kleines C-Programm schreibe, welches kurz gestartet wird und die Uhrzeit über USB -> UART (FT232) in die Uhr geschrieben wird. Die programmierung des UARTs würde auch noch kein Problem für mich darstellen. Wo ich jedoch Probleme habe, ist die Windows-Seite. Ich habe schon kleinere Programme mit Visual Studio in C geschrieben, jedoch nie etwas in dieser Art. Meine Fragen dazu wären nun: - Gibt es eine Möglichkeit auf einen Ferritkern zu verzichten bzw. seine größe stark zu reduzieren? - Das Display besteht aus einer LED-Matrix, wo die Spalten für H, M und S gemultiplexed werden. Mir ist bekannt, das die DCF-Empfänger sehr empfindlich darauf sind, könnte das ein Problem darstellen? - Hat/Kennt jemanden einen Artikel der das schreiben über USB -> UART mit einem C-Programm erklärt? - Gibt es einen USB -> Serial Konverter der auch einen Laderegler beinhaltet, damit ich auch gleich einen Akku über USB laden kann? Danke und Mfg, Fabian alias Tropaion
:
Bearbeitet durch User
Fabian P. schrieb: > - Hat/Kennt jemanden einen Artikel der das schreiben über USB -> UART > mit einem C-Programm erklärt? Auf dem PC taucht ein einfacher virtueller Com-Port auf, wenn man beim µC einen USB-Seriell-Wandler einsetzt. Der USB-Teil wird vom Treiber erledigt.
Ja, davon habe ich schon gelesen. Aber in einem anderen Thread habe ich gelesen das es da auch zu Problemen kommen kann, wenn man z.B. das USB-Gerät immer an einen anderen Port hängt und diverse andere Dinge. Ich weis aber grundsätzlich nicht, wie ich auf ein USB-Gerät zugreife, selbst wenn der Treiber installiert ist. Ich habe noch nie mit USB-Geräte auf programmierebene gearbeitet, maximal Treiberebene.
Hallo, Du sollst ja auch nicht auf ein USB-Gerät zugreifen sondern auf eine simple COM-Schnittstelle. Baudrate setzen, Format setzen, öffnen und lesen oder schreiben. Per Terminalprogramm oder selbstgeschriebener Software. Habe ich vor Jahren mal in VB6 gemacht, sollte in C also auch kein Problem sein. Wie groß soll denn Deine "Taschenuhr" werden? Gruß aus Berlin Michael
Fabian P. schrieb: > Aber in einem anderen Thread habe ich gelesen das es da auch zu > Problemen kommen kann, wenn man z.B. das USB-Gerät immer an einen > anderen Port hängt Bei USB-Seriellwandlern mancher Hersteller ist das so, weil die keine "persönliche" ID haben. > ... und diverse andere Dinge. Und die wären?
Du kannst ja vorher alle verfügbaren COM Ports anzeigen lassen und nach der Auswahl dann due Zeit übertragen. Du nimmst einfach die SerialPort Klasse da ist alles drinnen was du dafür brauchst. Ich hab das mit ModBus und C# für ein paar Messgeräte gemacht. So ist es egal ob dem FTDI ein neuer Comport zugeordnet wird. Gruß JackFrost
Mit C# ist es wirklich sehr einfach. Google einfach mal nach der SerialPort-Klasse des Microsoft .Net-Frameworks. Da gibt es auch Millionen Tutorials zu. Mit purem C (Konsolenanwendung) habe ich es auch noch nicht gemacht. Aber wie gesagt, mit C# ist das kein Problem. Der FT232RL (ist der noch aktuell) macht alles für dich. Du bekommst von FTDI sogar so ein Konfig-Tool dazu, mit dem du einige Parameter deines USB-Devices einstellen kannst (Gerätename, Hersteller etc.), so dass du dein Gerät auch immer zuordnen kannst. Zu deinen anderen Fragen kann ich leider nicht viel beitragen, habe noch nie etwas mit DCF gemacht. Alle Lösungen, die ich kenne, sind auch sehr groß. Wobei es ja auch Funk-Armbanduhren gibt. Und die sind nichtmal teuer, d.h. es muss auch kleine Module/Lösungen geben. Abgesehen davon: wenn du dir Sorgen machst über die Störungen des Multiplexings beim Empfang des DCF: Ich denke deine Uhr wird eine gewisse Grundgenauigkeit besitzen, d.h. nur gelegentlich wird die Uhrzeit neu synchronisiert werden müssen, d.h. du könntest für die Zeit der Synchronisierung ja kurz das Display ausschalten, z.B. beim Akku-Laden. Ansonsten: Ich habe hier eine Schreibtisch-Uhr mit Realtime-Clock (und Goldcap als Puffer für Spannungsausfälle) und die geht im Jahr vielleicht +/- 1 Minute falsch... ich muss sie nur immer für Sommer/Winderzeit umstellen, weil ich damals zu faul war mir alle Termine für die Zeitumstellung da hineinzuprogrammieren, wäre aber möglich gewesen... Hier kannst du auch mal lesen: Beitrag "DCF77 Demodulator selbst bauen" Gruß, Alex
Alex B. schrieb: > Du bekommst von FTDI sogar so ein Konfig-Tool dazu Konnte man darüber nicht einstellen ob er jedes mal einen neuen COM erstellen soll? Ich meine mich schwarz an was zu erinnern... Ansonsten kannst du ihm einen Namen geben. Z.B "Watch". Auf PC Seite kannst du dann nach den angeschlossenen FTDIs suchen und den mit dem richtigen Namen rauspicken.
Tom E. schrieb: >> ... und diverse andere Dinge. > > Und die wären? Wenn ich mich richtig erinnere, gab es Probleme mit der Erkennung, wenn die COM-Nummierung über einen bestimmten Werte kam (100?). Alex B. schrieb: > Aber wie gesagt, mit C# ist das kein Problem. Mit C# habe ich noch nie gearbeitet, muss ich mal schauen. Hast du evtl. weiterführende Links? Alex B. schrieb: > Wobei es ja auch Funk-Armbanduhren gibt. Ja, das dachte ich mir auch, aber leider konnte ich nichts dazu finden. Michael U. schrieb: > Wie groß soll denn Deine "Taschenuhr" werden? So klein, wie es für mich machbar ist. Alle ICs in TQFP-Bauform, Widerstände und Kondensatoren in der 0805-Bauform und 3mm-LEDs. Gelötet wird mit einem Reflow-Ofen. Wie groß es genau wird, weis ich nach dem Layouten.
Fabian P. schrieb: > Mit C# habe ich noch nie gearbeitet, muss ich mal schauen. > Hast du evtl. weiterführende Links? Zuerst brauchst du sicherlich eine IDE: http://csharp-source.net/open-source/ides Mit SharpDevelop habe ich selbst schon gearbeitet. Aktuell arbeite ich in einem Projekt mit Mono. Da läuft dann ein Modbus-Server (was auch nicht viel anders ist als RS232) auf einem RaspberryPi, ich entwickle und teste aber auf einem Windows-PC. Bzw. wenn es nicht-kommerziell ist kannst du auch MS Visual Studio "Community Edition" verwenden: https://www.visualstudio.com/de-de/downloads/download-visual-studio-vs.aspx Und danach: einfach mal starten und ein Testprogramm machen. Sogar Microsoft hat dafür schöne Aufgaben: https://msdn.microsoft.com/de-de/library/dd492171.aspx Viele Grüße & viel Erfolg! Alex
Fabian P. schrieb: > So klein, wie es für mich machbar ist. Alle ICs in TQFP-Bauform, > Widerstände und Kondensatoren in der 0805-Bauform und 3mm-LEDs. Gelötet > wird mit einem Reflow-Ofen. Wie groß es genau wird, weis ich nach dem > Layouten. Meiner Meinung nach (bei manueller Bestückung): -ICs: kann man bis TSSOP machen (0,5 mm pitch ist eine Herausforderung, 0,65 mm ist problemlos machbar) -Widerstände/Kondensatoren: 0603 ist kein Problem -LED: du kannst auch über SMD-LEDs nachdenken. Da gibt es auch welche, die z.B. "nach unten" (d.h. durch ein Loch in der Platine) leuchten und welche, die zur Seite leuchten. Oder eben ein ganzes Dot-Matrix-Display
Fabian P. schrieb: > - Das Display besteht aus einer LED-Matrix, wo die Spalten für H, M und > S gemultiplexed werden. Mir ist bekannt, das die DCF-Empfänger sehr > empfindlich darauf sind, könnte das ein Problem darstellen? Das eher weniger, aber für Batteriebetrieb sind LEDs nicht wirklich geeignet, oder dein Akku wird grösser als der Rest der Uhr. Georg
> - Hat/Kennt jemanden einen Artikel der das schreiben über USB -> UART > mit einem C-Programm erklärt? Für den Anfang tut es auch ein Terminalprogramm (Hyperterm, Putty) in das du manuell die Uhrzeit eintippen kannst. Für dein eigenes Programm einfach mal nach <deine programmiersprache> COM Port googlen, z.B. für ältere C-Versionen ein Artikel von 1995 :-) https://msdn.microsoft.com/en-us/library/ff802693.aspx
Fabian P. schrieb: > Wenn ich mich richtig erinnere, gab es Probleme mit der Erkennung, wenn > die COM-Nummierung über einen bestimmten Werte kam (100?). Das wird wohl an deinem Betriebssystem liegen, genauso wie sich weigern wird, eine Datei anzulegen, die z.B. den Namen "com1" besitzt. Falls die vergebene Portnummer dir nicht in dem Kram paßt, wirst du einmal den Gerätemanager aufrufen und dem Port eine Nummer zuweisen müssen, die dir besser paßt. Millionen von Leuten benutzen USB-Seriell Adapter. Warum sollte es bei dir nicht funktionieren? Fang einfach an.
Tom E. schrieb: > Millionen von Leuten benutzen USB-Seriell Adapter. Warum sollte es bei > dir nicht funktionieren? Fang einfach an. Ja, werde ich. Ich informiere mich trotzdem immer gern vorher darüber. Andreas K. schrieb: > Für dein eigenes Programm einfach mal nach <deine programmiersprache> > COM Port googlen Vielen Danke, werde ich machen. Georg schrieb: > für Batteriebetrieb sind LEDs nicht wirklich > geeignet Was würdest du sonst nehmen? Es reicht wenn der Akku einen Tag hält. Was mich noch immer interessiert, ist ob es einen USB <-> Serial IC gibt der auch gleich einen Laderegler eingebaut hat. Der FT232 hat das ja nicht.
Fabian P. schrieb: > Was würdest du sonst nehmen? Es reicht wenn der Akku einen Tag hält. Na schön, wenn du damit zufrieden bist - ich erwarte eher, dass eine Uhr 1 Jahr läuft. Aber Apple-Fans akzeptieren ja auch Uhren, die man öfter laden muss als man die Uhrzeit abliest. Es gab ja mal kurze Zeit Armbanduhren mit roten LEDs. Die haben sich aber nicht bewährt und sind wieder verschwunden. Georg
Georg schrieb: > Es gab ja mal kurze Zeit Armbanduhren mit roten LEDs. Die haben sich > aber nicht bewährt und sind wieder verschwunden. Zum Beispiel vor ca. einem Jahr bei Woolworth oder so, für 5 Euro in vielen bunten Plastikfarben. Aber auch die haben nur auf Knopfdruck geleuchtet, soweit ich weiß, um auf eine halbwegs akzeptable Batterielebensdauer zu kommen.
Georg schrieb: > Na schön, wenn du damit zufrieden bist - ich erwarte eher, dass eine Uhr > 1 Jahr läuft. Natürlich würde ich es bevorzugen das sie länger hält... Georg schrieb: > Das eher weniger, aber für Batteriebetrieb sind LEDs nicht wirklich > geeignet Darum Frage ich nocheinmal: Was würdest du nehmen? Das wäre auch produktiver und hilfreicher für mich.
Fabian P. schrieb: > Darum Frage ich nocheinmal: Was würdest du nehmen? Das kommt ja letztlich auf dein gewünschtes design an. Viele tragbare Geräte verwenden dot Matrix LCD. Alternativ: e-paper...? Gruß, Alex
An einen Matrix-LCD habe ich natürlich auch schon gedacht, aber der Bildschirm besteht ja aus 3 Spalten, die erste Spalte für Stunde besteht aus 5 LEDs und die anderen zwei Spalten aus 6. Bis jetzt konnte ich keinen finden der so eine Matrix hat und ich glaub auch nicht das ich einen finden werde. http://kmkcl.de/binuhr.html
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.