Im ersten Teil lieferte der ESP32 am Signalausgang eine positive Spannung zwischen 0 und 3.3 V. Um den Funktionsgenerator universeller einsetzen zu können, haben wir einen Verstärker hinzugefügt, mit dem man den Offset und die Amplitude einstellen kann. Der Offset kann so eingestellt werden, dass das Signal zwischen nur negativ, über symmetrisch bis zu nur positiv eingestellt werden kann. Die Amplitude kann zwischen 0 und +/- 4V eingestellt werden.
Die Schaltung
Als aktives Bauelement verwenden wir den zweifach Operationsverstärker LM358. Da der Verstärker zweistufig aufgebaut ist, ergibt sich keine Signalumkehr. Über den Spannungsteiler (R2 und R3) wird das Signal vom ESP32 reduziert.
Uin / (2.2 kOhm + 1 kOhm) * 1kOhm = 0,3125 * Uin
Für 3.3 V ergibt das eine Signalspannung von 1.03 V. Die erste Verstärkerstufe hat eine Verstärkung von 1, da der Eingangswiderstand R1 und der Rückkopplungswiderstand R4 denselben Wert haben. Mit dem Potentiometer R6 können wir die Referenzspannung einstellen.
Der Operationsverstärker liefert am Ausgang die Differenz aus U+ und U-. Ist die Referenzspannung 0, so liefert der Ausgang +1V. Bei einer Referenzspannung von 0.5V, liefert der Ausgang eine Signalspannung von +/- 0.5V. Bei einer Referenzspannung von 1V ist die Signalspannung am Ausgang nur negativ.
Die zweite Stufe dient der eigentlichen Pegeleinstellung. In dieser Stufe ist die Referenzspannung 0V. Die Verstärkung wird über R5 und das Potentiometer R7 eingestellt. Die Verstärkung kann über die Formel v = R7/R5 ermittelt werden. Ist R7 = 0 ist die Verstärkung ebenfalls 0 und die Ausgangsspannung 0V. Die maximale Verstärkung ist 10 kOhm / 1.5 kOhm = 6.67. Bei einer Signalspannung von +/- 0.5 V am Eingang erhält man +/- 3.3 V am Ausgang. Da die zweite Stufe das Signal wieder umkehrt, wird ein positiver Offset am Ausgang der ersten Stufe negativ und umgekehrt. Da der Offset mit verstärkt wird, bleibt die relative Signallage unverändert.
Benötigte Hardware
Anzahl | Bauteil | Anmerkung |
---|---|---|
1 | LM358 Dual Operationsverstärker | |
2 | Potentiometer 10 kOhm mit 4mm Achse | |
1 | Widerstand 1 kOhm R3 | |
1 | Widerstand 1,5 kOhm R5 | |
1 | Widerstand 2,2 kOhm R2 | |
2 | Widerstand 100 kOhm R1 und R4 | |
3 | Stiftleiste 3-polig | |
1 | Stiftleiste 2-polig | |
1 | Leiterplatte oder Lochrasterplatte 30 x 40 mm | |
1 | DC-DC-Boost-Buck-Wandler mit positiver und negativer Spannung Eingang 5V, Ausgang +/- 5V | Der Wandler ist notwendig, wenn der Verstärker über eine +5V Spannungsversorgung betrieben werden sollte. Die 3.3 V für die Referenzspannung kommt vom ESP32 |
Die Leiterplatte
Wir haben für den Verstärker eine kleine Leiterplatte entworfen, die Stiftleisten für den Eingang, den Ausgang und die Versorgungsspannung erhält. Auch die beiden Potentiometer werden über Stiftleisten mit der Platine verbunden. Da alle Leiterbahnen auf einer Seite kreuzungsfrei untergebracht wurden, ist auch eine Realisierung mit einer Lochrasterplatte möglich. Wer die Platine herstellen möchte kann diese entweder im Ätzverfahren (Leiterbild Maßstab 2:1 als PDF) oder mit einer NC-Fräse im Kontur-Fräs-Verfahren herstellen (Datei zum Fräsen der Leiterbahnen, Datei zum Bohren der Löcher).
Die Verdrahtung
Nachdem die Platine bestückt ist, können die einzelnen Module verbunden werden. Die Versorgung erfolgt über den USB-Anschluss.
Viel Spaß beim Nachbauen.
8 commenti
Gerald Lechner
Hallo Fonsi,
Die 5V vom USB Eingang sind über eine Diode mit dem Pin 5V am ESP32 Dev Kit verbunden. Anode an USB 5V, Kathode am 5V Pin des Moduls. Die Diode ist notwendig damit eine externe Spannung, die am 5V Pin angelegt wird nicht zum USB Anschluss gelangt. So wie die Schaltung im Blogbeitragverdrahtet ist erfolgt die Versorgung vom USB Anschluss des Moduls. Wenn der USB Anschluss mit einem USB Netzteil verbunden ist, stehen am 5V Pin des Moduls 5V zur Verfügung. Diese werden als Input für den Wandler genutzt, der daraus dann die +5V und -5V für die Operationsverstärker erzeugt.
Fonsi
Hallo, danke für dein Post.
ich mache auch momentan die gleiche Projekt wie dein aber ich werde alle meine Komponente in einem PCB einbauen.
5Volt vom USB wird als die Spannungsversorgung benutzt.
Aber wie kann ich dann verbinden? da ich glaube die ext_5v pin verbindet sich nicht als USB power supply oder?
ich bin nicht sicher mit die schematic wenn ich 5Volt von USB machen will.
Vielen Dank :)
Claus Teubner
Hallo,
nochmal zum Ausgang GPIO25 als Offset-Steuerung.
‘Das mit dem Offset habe ich auch versucht. Leider gibt es Probleme, da die I2S Schnittstelle (fürs Dreieck benutzt) beide Analogausgänge nutzt.’
IS2 erzeugt ja eine Stereo-Ausgabe auf GPIO25+26, könnte man dann nicht die eine Seite mit Dreieck-Info befüllen und die andere Seite mit konstantem Inhalt für den Offset?
Mit freundlichen Grüßen
Claus
Bernd Albrecht
@Michel: Ja, der dritte Teil folgt im Januar 2021, nachdem wir im Dezember täglich die Türchen des Adventskalenders geöffnet haben.
Michel
Hallo,
Zitat aus dem ersten Teil:
> Im zweiten Teil erhält der Funktionsgenerator ein Display und eine Bedienung über Joystick und
> selbstverständlich ein Gehäuse aus dem 3D-Drucker.
Ist da noch was geplant?
Danke und viele Grüße
Michel
Gerald
Hallo Claus, danke für das Lob. Das mit dem Offset habe ich auch versucht. Leider gibt es Probleme, da die I2S Schnittstelle (fürs Dreieck benutzt) beide Analogausgänge nutzt. Das lässt sich auch nicht abschalten. Daher die Lösung mit dem zweiten Potentiometer.
Andidroid
Hi,
wäre es möglich auch den ersten Teil des Blogs als pdf in google drive bereit zu stellen ?
Danke und Gruß
AndiDroid
Claus Teubner
Hallo,
tolle Idee und einfach zum Nachbauen.
Ich würde den 2. Analog-Ausgang GPIO25 an den +Eingang des ersten OPs legen, statt dem Poti R6. Dann das Programm noch anpassen und schon kann man den Offset auch per Software einstellen.
Mit freundlichen Grüßen
Claus