mirror of
https://github.com/erik-toth/audio-synth.git
synced 2025-12-06 08:00:02 +00:00
Schematic + Code Updates
- ESP32-S3 Komplett - MC4728 Komplett + Test Skript
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
TRI-SQR-VCO_OTA
|
||||
*SPICE Netlist generated by Advanced Sim server on 01.10.2025 19:12:54
|
||||
*SPICE Netlist generated by Advanced Sim server on 08.10.2025 17:40:24
|
||||
.options MixedSimGenerated
|
||||
|
||||
*Schematic Netlist:
|
||||
@@ -44,16 +44,18 @@ RRoff NetIC3_2 Vee 650k
|
||||
QT1 NetC_an_1 0 NetC_an_2 2N2907
|
||||
QT2 NetT2_3 U_C NetC_an_2 2N2907
|
||||
JT_SAW 0 NetR_SAW_e_2 NetIC2_12 BF545B
|
||||
VU_I-GND-MESS NetU_I-GND-MESS_1 0 0
|
||||
VU_mess NetT2_3 NetIC1_16 0
|
||||
VU_messref NetR_E_2 NetIC2_7 0
|
||||
VU_neg 0 Vee 15
|
||||
VU_pos Vcc 0 15
|
||||
VU_neg NetU_I-GND-MESS_1 Vee 15
|
||||
VU_pos Vcc NetU_I-GND-MESS_1 15
|
||||
VU_var NetR_CV_1 0 1
|
||||
|
||||
.PLOT TRAN {v(U_SQR)} =PLOT(2) =AXIS(1) =NAME(U_SQR) =UNITS(V)
|
||||
.PLOT TRAN {v(U_TRI)} =PLOT(1) =AXIS(1) =NAME(U_TRI) =UNITS(V)
|
||||
.PLOT TRAN {v(U_SAW)} =PLOT(3) =AXIS(1) =NAME(U_SAW) =UNITS(V)
|
||||
.PLOT TRAN {v(U_PWM)} =PLOT(4) =AXIS(1) =NAME(PWM) =UNITS(V)
|
||||
.PLOT TRAN {i(U_I-GND-MESS)} =PLOT(5) =AXIS(1) =NAME(I_GND) =UNITS(A)
|
||||
|
||||
.OPTIONS ITL4=100 METHOD=GEAR MAXORD=2
|
||||
*Selected Circuit Analyses:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
BIN
dev/da_altium_lib/DA_LIB/History/DA_LIB.~(105).SchLib.Zip
Normal file
BIN
dev/da_altium_lib/DA_LIB/History/DA_LIB.~(105).SchLib.Zip
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
1051
dev/digital/DAC_MCP4728/DAC_MCP4728.PrjPcb
Normal file
1051
dev/digital/DAC_MCP4728/DAC_MCP4728.PrjPcb
Normal file
File diff suppressed because it is too large
Load Diff
1
dev/digital/DAC_MCP4728/DAC_MCP4728.PrjPcbStructure
Normal file
1
dev/digital/DAC_MCP4728/DAC_MCP4728.PrjPcbStructure
Normal file
@@ -0,0 +1 @@
|
||||
Record=TopLevelDocument|FileName=DAC_MCP4728.SchDoc|SheetNumber=1
|
||||
BIN
dev/digital/DAC_MCP4728/DAC_MCP4728.SchDoc
Normal file
BIN
dev/digital/DAC_MCP4728/DAC_MCP4728.SchDoc
Normal file
Binary file not shown.
BIN
dev/digital/DAC_MCP4728/History/DAC_MCP4728.~(1).PrjPcb.Zip
Normal file
BIN
dev/digital/DAC_MCP4728/History/DAC_MCP4728.~(1).PrjPcb.Zip
Normal file
Binary file not shown.
BIN
dev/digital/DAC_MCP4728/History/DAC_MCP4728.~(1).SchDoc.Zip
Normal file
BIN
dev/digital/DAC_MCP4728/History/DAC_MCP4728.~(1).SchDoc.Zip
Normal file
Binary file not shown.
BIN
dev/digital/DAC_MCP4728/History/DAC_MCP4728.~(2).SchDoc.Zip
Normal file
BIN
dev/digital/DAC_MCP4728/History/DAC_MCP4728.~(2).SchDoc.Zip
Normal file
Binary file not shown.
BIN
dev/digital/DAC_MCP4728/History/DAC_MCP4728.~(3).SchDoc.Zip
Normal file
BIN
dev/digital/DAC_MCP4728/History/DAC_MCP4728.~(3).SchDoc.Zip
Normal file
Binary file not shown.
14
dev/digital/DAC_MCP4728/__Previews/DAC_MCP4728.SchDocPreview
Normal file
14
dev/digital/DAC_MCP4728/__Previews/DAC_MCP4728.SchDocPreview
Normal file
File diff suppressed because one or more lines are too long
5
dev/digital/DAC_MCP4728_Test/.gitignore
vendored
Normal file
5
dev/digital/DAC_MCP4728_Test/.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
.pio
|
||||
.vscode/.browse.c_cpp.db*
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/launch.json
|
||||
.vscode/ipch
|
||||
10
dev/digital/DAC_MCP4728_Test/.vscode/extensions.json
vendored
Normal file
10
dev/digital/DAC_MCP4728_Test/.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
// See http://go.microsoft.com/fwlink/?LinkId=827846
|
||||
// for the documentation about the extensions.json format
|
||||
"recommendations": [
|
||||
"platformio.platformio-ide"
|
||||
],
|
||||
"unwantedRecommendations": [
|
||||
"ms-vscode.cpptools-extension-pack"
|
||||
]
|
||||
}
|
||||
37
dev/digital/DAC_MCP4728_Test/include/README
Normal file
37
dev/digital/DAC_MCP4728_Test/include/README
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
This directory is intended for project header files.
|
||||
|
||||
A header file is a file containing C declarations and macro definitions
|
||||
to be shared between several project source files. You request the use of a
|
||||
header file in your project source file (C, C++, etc) located in `src` folder
|
||||
by including it, with the C preprocessing directive `#include'.
|
||||
|
||||
```src/main.c
|
||||
|
||||
#include "header.h"
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Including a header file produces the same results as copying the header file
|
||||
into each source file that needs it. Such copying would be time-consuming
|
||||
and error-prone. With a header file, the related declarations appear
|
||||
in only one place. If they need to be changed, they can be changed in one
|
||||
place, and programs that include the header file will automatically use the
|
||||
new version when next recompiled. The header file eliminates the labor of
|
||||
finding and changing all the copies as well as the risk that a failure to
|
||||
find one copy will result in inconsistencies within a program.
|
||||
|
||||
In C, the convention is to give header files names that end with `.h'.
|
||||
|
||||
Read more about using header files in official GCC documentation:
|
||||
|
||||
* Include Syntax
|
||||
* Include Operation
|
||||
* Once-Only Headers
|
||||
* Computed Includes
|
||||
|
||||
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html
|
||||
46
dev/digital/DAC_MCP4728_Test/lib/README
Normal file
46
dev/digital/DAC_MCP4728_Test/lib/README
Normal file
@@ -0,0 +1,46 @@
|
||||
|
||||
This directory is intended for project specific (private) libraries.
|
||||
PlatformIO will compile them to static libraries and link into the executable file.
|
||||
|
||||
The source code of each library should be placed in a separate directory
|
||||
("lib/your_library_name/[Code]").
|
||||
|
||||
For example, see the structure of the following example libraries `Foo` and `Bar`:
|
||||
|
||||
|--lib
|
||||
| |
|
||||
| |--Bar
|
||||
| | |--docs
|
||||
| | |--examples
|
||||
| | |--src
|
||||
| | |- Bar.c
|
||||
| | |- Bar.h
|
||||
| | |- library.json (optional. for custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
|
||||
| |
|
||||
| |--Foo
|
||||
| | |- Foo.c
|
||||
| | |- Foo.h
|
||||
| |
|
||||
| |- README --> THIS FILE
|
||||
|
|
||||
|- platformio.ini
|
||||
|--src
|
||||
|- main.c
|
||||
|
||||
Example contents of `src/main.c` using Foo and Bar:
|
||||
```
|
||||
#include <Foo.h>
|
||||
#include <Bar.h>
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
The PlatformIO Library Dependency Finder will find automatically dependent
|
||||
libraries by scanning project source files.
|
||||
|
||||
More information about PlatformIO Library Dependency Finder
|
||||
- https://docs.platformio.org/page/librarymanager/ldf.html
|
||||
16
dev/digital/DAC_MCP4728_Test/platformio.ini
Normal file
16
dev/digital/DAC_MCP4728_Test/platformio.ini
Normal file
@@ -0,0 +1,16 @@
|
||||
; PlatformIO Project Configuration File
|
||||
;
|
||||
; Build options: build flags, source filter
|
||||
; Upload options: custom upload port, speed and extra flags
|
||||
; Library options: dependencies, extra library storages
|
||||
; Advanced options: extra scripting
|
||||
;
|
||||
; Please visit documentation for the other options and examples
|
||||
; https://docs.platformio.org/page/projectconf.html
|
||||
|
||||
[env:esp32-s3-devkitm-1]
|
||||
platform = espressif32
|
||||
board = esp32-s3-devkitm-1
|
||||
framework = arduino
|
||||
build_flags = -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_JTAG_ON_BOOT=1
|
||||
lib_deps = adafruit/Adafruit MCP4728@^1.0.10
|
||||
57
dev/digital/DAC_MCP4728_Test/src/main.cpp
Normal file
57
dev/digital/DAC_MCP4728_Test/src/main.cpp
Normal file
@@ -0,0 +1,57 @@
|
||||
#include <Wire.h>
|
||||
#include <Adafruit_MCP4728.h>
|
||||
|
||||
#define BAUDRATE 115200
|
||||
|
||||
#define I2C_SDA 15
|
||||
#define I2C_SCL 16
|
||||
#define I2C_FREQ 400000
|
||||
|
||||
#define DAC_MAX 4095
|
||||
#define DAC_MIN 0
|
||||
#define VREF_mV 5000
|
||||
|
||||
Adafruit_MCP4728 mcp;
|
||||
|
||||
static uint16_t value_mV = VREF_mV;
|
||||
|
||||
uint16_t voltage(uint16_t mV)
|
||||
{
|
||||
return map(mV, 0, VREF_mV, DAC_MIN, DAC_MAX);
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(BAUDRATE);
|
||||
delay(1000);
|
||||
Serial.print("\n\r--- ESP32-S3 + MCP4728 DAC Test ---");
|
||||
|
||||
Wire.begin(I2C_SDA, I2C_SCL);
|
||||
Wire.setClock(I2C_FREQ);
|
||||
|
||||
Serial.print("\n\rInitialisiere MCP4728...");
|
||||
uint8_t attempts = 0;
|
||||
while (!mcp.begin())
|
||||
{
|
||||
Serial.print(".");
|
||||
delay(100);
|
||||
}
|
||||
Serial.print("\n\rErfolgreich verbunden!");
|
||||
|
||||
mcp.setChannelValue(MCP4728_CHANNEL_A, 0, MCP4728_VREF_INTERNAL, MCP4728_GAIN_2X);
|
||||
Serial.print("\n\rDAC-Kanal A auf 0 gesetzt");
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
value_mV = 200;
|
||||
bool success = mcp.setChannelValue(MCP4728_CHANNEL_A, voltage(value_mV));
|
||||
|
||||
if (success) Serial.printf("DAC A = %u -> mV: %u\r\n", voltage(value_mV), value_mV);
|
||||
else Serial.println("Schreibfehler am MCP4728!");
|
||||
delay(200);
|
||||
|
||||
//value_mV = value_mV > 0 ? value_mV/2 : VREF_mV;
|
||||
}
|
||||
11
dev/digital/DAC_MCP4728_Test/test/README
Normal file
11
dev/digital/DAC_MCP4728_Test/test/README
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
This directory is intended for PlatformIO Test Runner and project tests.
|
||||
|
||||
Unit Testing is a software testing method by which individual units of
|
||||
source code, sets of one or more MCU program modules together with associated
|
||||
control data, usage procedures, and operating procedures, are tested to
|
||||
determine whether they are fit for use. Unit testing finds problems early
|
||||
in the development cycle.
|
||||
|
||||
More information about PlatformIO Unit Testing:
|
||||
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html
|
||||
Binary file not shown.
BIN
dev/digital/ESP32-S3/History/ESP32-S3.~(18).SchDoc.Zip
Normal file
BIN
dev/digital/ESP32-S3/History/ESP32-S3.~(18).SchDoc.Zip
Normal file
Binary file not shown.
BIN
dev/digital/ESP32-S3/History/ESP32-S3.~(19).SchDoc.Zip
Normal file
BIN
dev/digital/ESP32-S3/History/ESP32-S3.~(19).SchDoc.Zip
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user