... der wohl einmillionsteundeine Rechteckgenerator oder noch nie war blinken so schön wie heute! ############### Spaß beiseite, da ich am Aufarbeiten von mehreren kleinen und einem großem Projekt bin stelle ich hier das einfachste vor, einen Taktgeber, den ich für ein anderes Projekt benötigt habe (und doch tatsächlich keinen Timer 555 hier habe). Auch wenn der Aufbau jetzt mit einem 16-Pin Chip realisiert wurde, ist er für einen CH32V003-J4M6 gedacht, den ich hier schlicht aus der Tatsache heraus verwendet habe, weil ich mir meinen letzten 8-Pin Chip zerstört habe. Die Firmware verwendet ausschließlich die Pins, die auch auf einem J4M6 vorhanden sind. Die Software produziert eine Frequenz von 0,5Hz .. 20 kHz in 4 Frequenzbereichen. Welcher Frequenzbereich aktiv ist, wird über 4 Leuchtdioden angezeigt. Die Frequenz selbst wird über einen Trimmer/Potentiometer eingestellt. Der Trimmer fungiert als Spannungsteiler und diese Spannung wird analog vom VH32V003 eingelesen und dementsprechend wird eine Frequenz erzeugt. In Ermangelung genügender GPIO's des 8-Pin Chips wurde die LED Anzeige über eine Wired Logik (siehe Schaltplan) realisiert. Grundsätzlich könnte sich der Rechteckgenerator für Einsteiger eignen, weil in der Firmware nachgesehen werden kann, wie man - wenn auch nur mittels Polling - eine analoge Spannung einliest und wie man Timer 2 und von einen von diesem ausgelösten Interrupt verwenden kann. Da ich momentan in einer Art "Rausch" bin, kleinere Schaltungen auf ein PCB zu setzen um sie auf einem Steckbrett nutzen zu können (siehe Foto: sehr kleiner Programmer minichlink kompatibel und Picomon3) wird auch dieser Rechteckgenerator auf meiner nächsten PCB Platz finden. Für denjenigen der sich aus Schaltung oder Firmware etwas entnehmen kann: Viel Spaß damit. Ein Video vom Rechteckgenerator gibt es auch: https://www.youtube.com/watch?v=6X88YehenaM
Ralph S. schrieb: > Grundsätzlich könnte sich der Rechteckgenerator für Einsteiger eignen, Dann aber bitte nicht mit einem exotischen µC, sondern mit Arduino auf ATmega328 (o.ä) oder RP2040 Basis. Gerade bei Letzterem ist die Hardware fix und fertig und für wenige Euro zu beschaffen. Einfach USB anschließen und loslegen. Im Netz finden sich viele Beispiele, die auch Sinus oder beliebige Signalformen erzeugen können. Schnell mal geStartpaged: https://www.instructables.com/Arbitrary-Wave-Generator-With-the-Raspberry-Pi-Pic/
Mi N. schrieb: > Dann aber bitte nicht mit einem exotischen µC, sondern mit Arduino auf > ATmega328 (o.ä) oder RP2040 Basis. Warum nicht gleich mit einem Raspbery Pi 5?
Mi N. schrieb: > Dann aber bitte nicht mit einem exotischen µC Die Frage ist, ob ein CH32V003 noch exotisch ist? Für den gibt es mittlerweile einige Beispiele und sogar eine Arduino Unterstützung (wenn man das mag). Mi N. schrieb: > RP2040 Basis. Gerade bei Letzterem ist die Hardware > fix und fertig und für wenige Euro zu beschaffen. Wenn man den auf ein eigenes (sehr kleines) PCB setzen möchte ist ein RP2040 schon etwas schlecht handbar (löten). Im Übrigen finde ich den Raspberry Pi pico relativ unhandlich was den Upload anbelangt. Die "Lösung" mit einem Programmer für das Steckbrett und nur einer singlewire Verbindung zum Controller ist (aus meiner Sicht der Dinge) schon nicht schlecht. Demnächst werde ich auch den Programmer mit dem 8-Pin Controller fürs Steckbrett veröffentlichen so ich meine Dateien alle aufgearbeitet habe. Zudem: wenn ich nur einen Rechteckgenerator benötige ist das mit Kanonen auf Spatzen geschossen. Mit dem CH32V003 beschäftige ich mich ursprünglich, weil er einfach nur sehr billig ist. Außerdem, sieht man von dem nur halb so großen Speicher des v003 ab, ist er dem ATmega328 haushoch überlegen (auch wenn manche da andere Meinung sind). Mit Einsteiger meinte ich diejenigen, die in den v003 einsteigen möchten oder eingestiegen sind. Im Übrigen sind im Archiv alle Dateien enthalten, die ein Compilieren der Firmware ermöglichen, auch das CH32FUN Framework. Einzig ein systemweit verfügbarer riscv-none-elf-gcc Compiler muß verfügbar sein. Ein vereinfachtes Makefile, welches einen funktionalen Compiler-, Linker- und Flashergang vornimmt ist enthalten. Dieses Makefile sollte auch von einem Anfänger durchschaubar sein. Man hätte auch monieren können, dass das ganze nur unter Linux und nicht unter Windows funktioniert. Mi N. schrieb: > Im Netz finden sich viele Beispiele, die auch > Sinus oder beliebige Signalformen erzeugen können. Wenn ich aber momentan nur einen Rechteck gebraucht habe? Eine ähnlich kleine Schaltung habe ich für Sinus im Sinn, im Stile von "derguteweka" Beitrag "Sehr einfacher Sinusgenerator, Digitalelektronik Projekt" als DDS Generator. Letztlich - wenn ich das wirklich realisiere - weiß ich noch nicht auf welcher Plattform ich das machen mag. Sicherlich nicht wie Weka in Assembler, zumindest nicht auf einem ATtiny13, weil ich hier zu wenig Spielraum für Erweiterungen habe. Hier bin ich dann am überlegen, ob ich vom DDS dann evtl. weggehe und das mit STM32F072 realisiere, weil der einen DAC hat oder vllt. dann doch wieder mit CH32V003. Warum mit Hardware X ein "Projekt" Y realisiert wird (Anführungszeichen, weil ich das hier schon fast nicht als Projekt bezeichnen mag) sollte nicht Bestandteil einer Diskussion des Projektes sein.
Harald K. schrieb: > Warum nicht gleich mit einem Raspbery Pi 5? Ich hätte noch einen Ryzen 9 mit Meilhaus I/O Card im Angebot, allerdings müßte ich dann diesen Rechner immer neben den Versuchsaufbau schleppen (da wäre dann das Aufstellen des Funktionsgenerators einfacher). :-) :-) :-) außerdem glaube ich, dass das Switchen von I/O's mit einem Controller schneller vonstatten geht als mit dem Raspberry ====> dieser Beitrag ist nicht so wirklich ernst gemeint!
Sehr interessant, aber zwei Aber: 1. Die 4. LED ist eigenartig. Ich komm nicht dahinter wie das gehen soll, und es fehlt ihr ein Widerstand. Ist die evtl. falschrum gezeichnet? 2. Wie programmiert man das Ding? Ein Arduino nano hat einen fertigen USB-stecker, der RPi pico auch. Hier brauchts einen Programmer, wie auch immer der aussehen muss. Und die IDE. Arduino ist eine Exe. Wie isses hier?
Jens M. schrieb: > 1. Die 4. LED ist eigenartig. Ich komm nicht dahinter wie das gehen > soll, und es fehlt ihr ein Widerstand. Ist die evtl. falschrum > gezeichnet? Die leuchtet über den 1K-Widerstand wenn PC1 und PC2 H sind.
Matthias S. schrieb: > Die leuchtet über den 1K-Widerstand wenn PC1 und PC2 H sind. In der gezeigten Polung eben nicht.
:
Bearbeitet durch User
Matthias S. schrieb: > Die leuchtet über den 1K-Widerstand wenn PC1 und PC2 H sind. Dafür ist sie falsch herum gepolt.
Jens M. schrieb: > 2. Wie programmiert man das Ding? Ein Arduino nano hat einen fertigen > USB-stecker, der RPi pico auch. Hier brauchts einen Programmer, wie auch > immer der aussehen muss. Link-E. Kostet aber deutlich mehr als einen Euro. Fast zwei sogar, WIMRE. > Und die IDE. Braucht man nicht. > Arduino ist eine Exe. Wie isses hier? Ne einfache tool-chain. Gut, iss nicht bunt, funktioniert aber wie all die traditionellen Werkzeuge an die man sich gewöhnt hat.
Nemopuk schrieb: > Matthias S. schrieb: >> Die leuchtet über den 1K-Widerstand wenn PC1 und PC2 H sind. > > Dafür ist sie falsch herum gepolt. Vielen Dank für die Aufmerksamkeit, ich habe sie tatsächlich falsch im Plan gezeichnet. Korrigierter Schaltplan hier im Anhang. Für diejenigen, die wissen möchten wie das funktioniert hier auch die Simulation dazu: https://www.falstad.com/circuit/circuitjs.html?ctz=CQAgjCAMB0l3BWcMBMcUHYMGZIA4UA2ATmIxAUgoqoQFMBaMMAKABkRs1OEUQUEhHnypUAZgEMANgGc61SO07cALCrz9BINRtEhJs+UkVhCfBGv4oVFS2AxC+AEzqSArlIAuDKXSfgoQJh0FgAnWxsUPA0LG2xeQLB4FgB3CPAHdNNRVJAMbnshfKpsqBZTPmKMou4Ua34QF3cvHz8AvWDIFFzY8EIqKtLFACU8vBtCsYmooO1aWZgEMKn+fBXcGxLkipBoksy9q0jG1wkPb19-CA7YLtyMcbmBx42y-we4yBscIXi+Z1O5xY70eKjgeWwQh0DSaZy8wOUVD+nEIGleAOangRXCo0MhGjBVAxcKxaXxTxRaK+ZR25Mm5Lqx1h51aVwWt26ozpmTpMz0YIUQWgS3C5PUSNR6S2cFyDPq5NeigA5pT0uSEJkcmTJYTVeKymTuMjesjFGkTQkqqbZap1No8Li7Wb7Y6CQ6+lqXR6sv0DStJh9VrpcvroT9tE77i9qXguJxqc7Y3xXknqn7Dozdu79cqs7j3YcNUJPanJodJs6rZbIcIygAPbRgYggQjYXaQZuEKH8GwAEQAlgB7FwAHRkKX7oT8Y5QY4AXm4xyox2wAKK9hi9ugAY2HdFCPUsmaqmedvUz5+i9aOiP4xCRKDbkRsAEkAHJjhhjgCCLAbdSQFRiAgFBgO0YgbGfEB30-McACEWCAA Jens M. schrieb: > 2. Wie programmiert man das Ding? Ein Arduino nano hat einen fertigen > USB-stecker, der RPi pico auch. Hier brauchts einen Programmer, wie auch > immer der aussehen muss. Und die IDE. Arduino ist eine Exe. Wie isses > hier? Man muß das ganze nicht immer als fertige Platine sehen, bei dem man einfach nur in eine Schaltung ein USB-Kabel einsteckt. Ein Arduino nano ist nichts weiteres als (in der klassischen Variante) ein ATmega328 mit Bootloader-Firmware und einer USB2UART Bridge. Wenn Du einen ATmega ohne das Board programmieren möchtest, benötigst du auch dort einen Programmer. Das gleiche gilt hier für den CH32V003 auch. Im Thread Beitrag "CH32V003: Selbstbauprogrammer und "Getting started"" habe ich mal die grundsätzlichen Schritte in einem Projekt zusammengefasst, um mit einem CH32V003 Schaltungen aufbauen zu können und auch gleich eine Schaltung für einen Programmer, dort sogar auf Lochrasterplatine, mit vorgestellt. Das ganze basiert auf einem Framework namens CH32FUN, welches über die Maßen schlank ist. So schlank, dass man bei einer Veröfftlichung (z.Bsp. hier) das gesamte Framework mit anhängen kann, da es in einem Archiv noch nicht einmal 300 kByte benötigt. Etwas mehr Infos kannst du auf meiner Webseite finden (die wohl immer im Aufbau befindlich bleiben wird, ich aber dennoch bemüht bin die zu erweitern): https://www.jjflash.de/ch32v003/index.html In naher Zukunft (so hoffe ich doch) wird auch der Programmer für das Steckbrett vorgestellt und in das Archiv mit integriert werden. Das ganze gibt es für mich auch schon auf einer PCB, die ich "Eval-Toys" genannt habe. Auf dieser PCB findet man den kleinen Programmer dieses Projektes, sowie ein, in den Dimensionen etwas größeres Board, welches entweder selbst als Programmer dienen kann, oder eben im Steckbrett als Controller verwendet werden kann. Dieses verwendet grundsätzlich V-USB (wie es bsp. auch für einen AVR-Programmer namens USBASP oder auch TINYUSB) gemacht worden ist. Nachteil hier (bei Verwendung als Board, nicht als Programmer) ist, dass vor einem Upload in den Controller eine Taste gedrückt werden muß und der Upload innerhalb 2 Sekunden erfolgen muß. Ein weiteres Board hat eine USB2Uart Bridge mit auf der Platine, so dass das ganze grundsätzlich wie ein Arduino-Nano funktioniert. Leider nur eben nicht so schnell wie das V-USB. Dafür benötigt es kein händisches aktivieren des Bootmode. Grundsätzlich auf dieser PCB ist dann noch, der ebenfalls hier vorgestellte Picomon3, eine USB2UART-Bridge mit CH340N sowie kleine Platinchen für Leuchtdiodenaufbau. Ich stelle das mal hier ein, auch wenn ich das später, wenn alles aufgearbeitet ist (Dokumentation und Säuberung der Software) dann in die entsprechenden Threads gestellt werden soll. Die hier im Anhang befindlichen Gerberfiles können im Übrigen so wie sie sind der Fa. JLCPCB zugesendet werden und die werden klaglos so hergestellt. :-) Der Schaltplan für den Steckbrettprogrammer und den für Picomon3 gibts hier ja schon. Relevante Threads hierzu sind: Beitrag "PicoMon für CH32V003 oder STM32F0xx" Beitrag "CH32V003: Selbstbauprogrammer und "Getting started"" Beitrag "CH32V003: serieller Bootloader" (wobei die gezeigte Schaltung für den Bootloader noch ein paar "Macken" hatte, die mittlerweile behoben sind).
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.