|
Arduino Nano R3 |
x 1 | |
|
TM1637 4-digit 7-segment display |
x 1 | |
|
ADS1110 16bit A/D converter module |
x 1 | |
|
Capacitor 100 nF |
x 3 | |
|
Capacitor 10 µF |
x 1 | |
|
Resistor 100 ohm |
x 1 | |
|
Pushbutton Switch, Momentary |
x 1 |
|
Soldering Iron Kit |
|
|
arduino IDEArduino
|
DIY Precise Arduino Miliohmmeter
In practice, we very often need to measure low resistances. Measuring low-value resistances, especially those less than 1 ohm, is nearly impossible with a standard multimeter. On the other hand, an commercial milliohmmeter instrument is in the price range of several hundred dollars and is not cost effective for self builders.
This time I will describe to you a simple and inexpensive way to make such an instrument, for the production of which we will not need more than a few dollars. With this instrument we can measure the resistance of 0.001 Ohm or 1 milliom. The result is displayed on a 4-digit 7-segment display that is easy to read even at wide angles.
You can find the original project on the rcl-radio (http://rcl-radio.ru/?p=100859) page. Just to note that the code uses a modified STM32 library which has been modified by the author and is compatible with Arduino nano. The heart of the device is ADS1110 IC wich is a precision differential input analog-to-digital (A/D) converter with up to 16-bit resolution.
The ADS1110 uses an I2C interface to communicate with the microcontroller, and measures at 15, 30, 60, or 240 samples per second and has a built-in 1, 2, 4, 8 voltage amplifier. The measuring range is from 0 ohms to 150 ohms.
Otherwise, the device is very simple to build and consists of several componen
- Arduino Nano microcontroller (I am currently using a cheap version with LGT8F328P MCU)
- ADS1110 A/D converter
- TM1637 4-digit 7-segment display
- and a few resistors and capacitors
This project is sponsored by PCBWay. They has all the services you need to create your project at the best price, whether is a scool project, or complex professional project. On PCBWay you can share your experiences, or get inspiration for your next project. They also provide completed Surface mount SMT PCB assemblY service at a best price, and ISO9001 quality control.
The measuring leads should be as short as possible, and they need to have the same length. To calibrate the milliohmmeter, you need to accurately measure the voltage of 3.3 V (supplied from the Arduino board) and indicate it in the line:
#define U33 3.342
The accuracy of the resistance measurement is directly dependent on the accuracy of the 100 ohm reference resistance and the accuracy of the 3.3 V voltage measurement.
And now let's see how the instrument works in real conditions.
Immediately after switching on, we need to prepare the measuring instrument. For that purpose тhe circuit uses a “0” button to calibrate the zero before measuring low-resistance resistances.
To calibrate the zero, you need to short-circuit the test leads and press the “0” button. Now let's make more measurements on resistors with different values between 0 and 100 Ohms.
Finally, a short conclusion. This is an indispensable and very useful instrument for any laboratory, especially considering the fact that it is very inexpensive, and we can make it ourselves. The device is installed in a suitable box made of PVC board with thicknesses of 3 and 5 mm and covered with self-adhesive colored wallpaper. I would like to emphasize that it is preferable to power the instrument from an external stable voltage source for greater accuracy.
#include <Wire.h>
#include <STM32_TM1637.h> // http://rcl-radio.ru/wp-content/uploads/2020/02/STM32_TM1637_V1_3.zip
STM32_TM1637 tm(2,3);// CLK, DIO
#define ADDR 0x48
#define U33 3.342
int n=3;
float r,u,n_u=0.256,r0;
long dig_sum,dig;
int value,f;
void setup() {
Serial.begin(9600);
tm.brig(7); // ЯРКОСТЬ 0...7
Wire.begin();
pinMode(4,INPUT_PULLUP);// null
}
void loop() {
r = ((100.00*u)/(U33-u))-r0;
if(digitalRead(4)==LOW&&r<0.1){r0=((100.00*u)/(U33-u));delay(200);}
for(int i=0;i<10;i++){
read_u();
dig_sum = dig_sum+value;delay(10);}
read_u();if(value>0x7FFF-0xF&&n==1){delay(10);n=0;n_u=2.048;}
read_u();if(value>0x7FFF-0xF&&n==2){delay(10);n=1;n_u=1.024;}
read_u();if(value>0x7FFF-0xF&&n==3){delay(10);n=2;n_u=0.512;}
read_u();if(value<16380&&n==0){delay(10);n=1;n_u=1.024;}
read_u();if(value<16380&&n==1){delay(10);n=2;n_u=0.512;}
read_u();if(value<16380&&n==2){delay(10);n=3;n_u=0.256;}
dig = dig_sum/10;dig_sum=0;
u = dig*n_u/0x7FFF;
if(r<10){tm.print_float(r,3 ,0,0,0,0);}
if(r>=10&&r<100){tm.print_float(r,2 ,0,0,0,0);}
if(r>=100&&r<=150){tm.print_float(r,1 ,0,0,0,0);}
if(r>150){tm.print_float(r,0 ,0b01000000,0b01000000,0b01000000,0b01000000);}
Serial.println(r0,5);
}
float read_u(){
Wire.beginTransmission(ADDR);
Wire.write (0b10001100+n);
Wire.endTransmission();
Wire.requestFrom(ADDR,2);
while(Wire.available()<2);
value = (Wire.read()<<8) + (Wire.read());
}
DIY Precise Arduino Miliohmmeter
- Comments(0)
- Likes(1)
- Kocis Julius Mar 10,2024
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Mirko Pavleski
- ESP2866 controlled 8x32 matrix WS2812 Leds (Awtrix project) The WS2812B is a individually addressable RGB LED that allows you to control each LED's color and b...
- How to make simplest possible autorange Capacitance meter The capacity measurement option is usually only available in more expensive multimeters, so it is d...
- How to turn mini Tesla Coil from Aliexpress into a Real Powerful SSTC with big spark Some time ago I bought a mini tesla coil kit from an online store that cost less than $4. It's a ve...
- DIY Arduino ultrasonic Sonar - Radar on TFT display Ultrasonic sonar is devices that use sound waves with frequencies higher than the upper audible lim...
- Simple ESP32 Internet radio on VFD Display Internet radio, also known as online radio or streaming radio, refers to the broadcasting of audio ...
- Short review of small music Tesla Coil with Bluetooth A Solid State Tesla Coil (SSTC) is a type of Tesla coil that uses solid-state electronic components...
- Testing 2500W Large Induction Heater An induction heater is a device that uses electromagnetic induction to heat objects. It consists of...
- Arduino FFT Audio Spectrum analyzer on 8x32 color matrix WS2812B The spectrum analyzer displays the amplitude of signals as a function of frequency, allowing engine...
- Unusual Led Ring Arduino Clock, Temperature, and Humidity meter There are many arduino clock projects with temperature and humidity readings where the results are ...
- How to make simple portable PEMF Magnetic Pulser PEMF (Pulsed Electromagnetic Field Therapy), which is also known as magnetic pulse therapy uses ele...
- Single Mosfet Mini SSTC Tesla coil with 10 + cm Spark A Solid State Tesla Coil (SSTC) is a type of Tesla coil that uses solid-state components such as tr...
- How to Make EM84 (6E2) Vacuum Tube Stereo VU Meter A VU meter, also known as a Volume Unit meter, is a device used to display the audio signal level ...
- Universal Arduino Staccato controller for SSTC and VTCC Tesla Coils The VTTC Staccato Controller was developed in the attempt to create longer sparks from VTTCs while ...
- DIY extremly Sensitive and cheap Arduino Seismometer A seismometer, is an instrument used to detect and record ground motion caused by seismic waves, su...
- DIY Extremly Sensitive and cheap Geophone sensor for Earthquakes detecting A geophone is a device used in geophysics to detect ground movement. It is specifically designed to...
- Arduino FFT Spectrum analyzer on VFD display GP1287 An audio spectrum analyzer is a device that visualizes the frequency content of an audio signal. It...
- DIY simple Spark Gap Tesla Coil Tesla coil is a type of resonant transformer circuit invented by Nikola Tesla around 1891. It is a ...
- DIY PC controlled high power PEMF Therapy Device PEMF or Pulsed Electromagnetic Field therapy is a type of therapy that uses electromagnetic fields ...
-
Terminal Curiosity PCB Ruler
100 0 0 -
(DIY) COMMODORE 64 DEAD-TEST (781220) DIAGNOSTIC CARTRIDGE
210 0 2 -
Creative Micro Designs Inc. CMD FD-2000 / FD-4000 3D Printable Case
301 0 0 -
Creative Micro Designs Inc. CMD FD-2000 / FD-4000 Metal Case
434 0 0 -
-
-
IoT Indoor system with ESP32 to monitor Temperature, Humidity, Pressure, and Air Quality
918 0 3