Below is a summary of the schematic changes for your complete 4-terminal digital multimeter front-end. You can use the "Apply changes" button to add these schematic updates to your Flux project:
Incorporate a rotary switch or relay network (driven by ESP32 GPIO) to select which shunt is connected. Only one shunt branch should be active at any time.
Voltage Measurement Block:
Voltage Divider:
Use a 190 kΩ resistor (R190) in series with a 10 kΩ resistor (R10) from the JP_VO terminal.
This divider scales inputs up to approximately 20 V.
Buffer Stage:
Buffer the divider output using a precision rail-to-rail op-amp such as OPA333.
Input Protection & Filtering:
Follow the buffer with a 1 kΩ series resistor (R_series).
Add a TVS diode (for example, TVS Diode) to protect against voltage spikes.
Place a 1 nF capacitor (C_filter) to form a low-pass filter.
ADC Connection:
Connect the filtered and buffered voltage to ADS1115 AIN2.
Resistance (Ohmmeter) Measurement Block:
Ohmmeter Circuit:
Utilize the JP_VO terminal also for resistance measurements.
Implement a circuit using a 1 kΩ reference resistor (R1k) connected between the 3.3 V supply and the measurement terminal.
Sense the voltage drop across the unknown resistor via an ADC channel to compute resistance using the divider formula.
Isolation:
Include a GPIO-controlled switch (using a relay or a transistor switch) to disconnect the ohmmeter voltage divider when not in ohmmeter mode.
Connect the ADS1115 (16-bit ADC) to the ESP32 via I²C lines (SDA and SCL).
Add appropriate I²C pull-up resistors (e.g., 4.7 kΩ) for SDA and SCL.
Power the ADS1115 with the 3.3 V supply from the ESP32.
Power Decoupling:
Place a 0.1 µF capacitor (C_Decoup1) and a 10 µF capacitor (C_Decoup2) at the ADS1115 power input.
Interconnection and Labeling:
Net Names:
Clearly label nets such as SHUNT_100, SHUNT_1, SHUNT_0.01, ADC_AIN0, ADC_AIN1, ADC_AIN2, I2C_SDA, I2C_SCL, V_DIV_OUT, etc.
Grounding:
Route all ground connections to the common Ground component from the Flux library.
Range Selector:
Add a multi-position switch (rotary switch or relay array) with positions: OFF, V/Ω, µA, mA, 10A. Ensure that only the path for the selected measurement mode is connected to the ADS1115 or reference circuitry.
Schematic Block Organization:
Power Block:
Contains the ESP32, ADS1115 decoupling, and 3.3 V supply connections.
Terminal Block:
Provides input jacks with fuses and proper labeling.
Shunt Switching Block:
Houses the shunt resistors and the switching mechanism for current measurements.
Voltage Measurement Block:
Implements the voltage divider, op-amp buffer, and protection/filter network.
Ohmmeter Block:
Implements the resistor divider used for resistance measurements with a bypass switch.
ADC Interface Block:
Connects the ADS1115 to all sensor outputs and manages I²C interfacing with the ESP32.
This design ensures clear separation between measurement modes, proper low-current sensing via differential ADC inputs, and comprehensive protection circuitry (including fusing and ESD protection) for safe and testable PCB layout in Flux.
You can now use the "Apply changes" button to add these schematic updates to your project. If you need any further refinement or guidance on specific connections, let me know!
Wirelessly connects nets on schematic. Used to organize schematics and separate functional blocks. To wirelessly connect net portals, give them same designator. #portal
Wirelessly connects power nets on schematic. Identical to the net portal, but with a power symbol. Used to organize schematics and separate functional blocks. To wirelessly connect power net portals, give them the same designator. #portal #power
A generic fixed inductor for rapid developing circuit topology. *You can now change the footprint and 3D model at the top level anytime you want. This is the power of #generics