Author Topic: finding short on motherboards with a shorty (with display)  (Read 30687 times)

0 Members and 1 Guest are viewing this topic.

Offline natman69

  • Regular Contributor
  • *
  • Posts: 61
  • Country: it
Re: finding short on motherboards with a shorty (with display)
« Reply #25 on: February 16, 2021, 10:22:58 am »
@kripton2035
Which connector are you thinking to use for test leads?

Can I suggest to add a led for battery charging status?

Really thank you for sharing your project!
 

Offline kripton2035Topic starter

  • Super Contributor
  • ***
  • Posts: 2581
  • Country: fr
    • kripton2035 schematics repository
Re: finding short on motherboards with a shorty (with display)
« Reply #26 on: February 16, 2021, 10:41:55 am »
the connector for the probes is a 5 pins DIN (I use a lockable model but a normal one should be fine)
there is already a gauge on the top right of the display to indicate the battery level. no need for a led !
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: finding short on motherboards with a shorty (with display)
« Reply #27 on: February 16, 2021, 02:03:17 pm »
I would suggest soldering the wires directly to the PCB to avoid contact resistance issues and reduce the BOM.
I'm interested in this project.
Fear does not stop death, it stops life.
 
The following users thanked this post: slbender

Offline kripton2035Topic starter

  • Super Contributor
  • ***
  • Posts: 2581
  • Country: fr
    • kripton2035 schematics repository
Re: finding short on motherboards with a shorty (with display)
« Reply #28 on: February 16, 2021, 03:22:37 pm »
if you don't want to use the din plug, you will of course be able to soldier the wires directly on the pcb. no problem.
but the actual prototype made with "deadbug" style is already so stable that I don't think it's necessary.
and I want to be able to change the probes from simple multimeter to tweezers to kelvin.
 
The following users thanked this post: Fraser

Offline sam_sam_sam

  • Contributor
  • Posts: 21
  • Country: us
Re: finding short on motherboards with a shorty (with display)
« Reply #29 on: February 18, 2021, 06:17:07 pm »
It does not include LCD subroutine. I list below the code as it is short.

//by Zoli on Jan 2021

const byte sensorPin = A5;    // select the input pin for sensor
int buzzer = 6;//audio output
int led = 13; //signal led
long sensorValue = 0;  // variable to store the value coming from the sensor
int pnp = A3; //transistor base
float voltage;
float voltagei;
float ohm;
int j;


void setup() {
  Serial.begin(9600);
  analogReference(INTERNAL);//using internal 1100mV reference
  pinMode(sensorPin, INPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(pnp, OUTPUT);
  pinMode(led, OUTPUT);
 
  }
 
 
void loop() {
  digitalWrite(pnp,LOW);
   digitalWrite(led, HIGH);
  for (int i=0; i < 20; i++) {
sensorValue = sensorValue + analogRead(sensorPin);
 }
 sensorValue =sensorValue/20;
 

    voltage = ((sensorValue * 1100)/1024 );
    voltagei = voltage / 27.45;
    ohm = ( voltagei/25.5) - 0.05;

   
  // print out the value you read:
 Serial.println(ohm,5);
  //Serial.println(voltage , 5);
 //Serial.println(voltagei , 5);
 //Serial.println(sensorValue);
 
 delay (2);
 if (ohm <1.5){

  // change the analog out value:
 
 digitalWrite(buzzer, HIGH);
 analogWrite(6,( 4500*ohm));
 digitalWrite(led, LOW);
 
  // stop the program for <sensorValue> milliseconds:
j = 1/(.1*(ohm));
  delay(j);
 

}
 // noTone(6);
  analogWrite(6, 0);
  delay(10);
}

Please, let me know if you have any recommendations. I am not an expert in Arduino programming.

Can I ask you when will you post the code for the display

Thanks
Mad Scientist at Work
Have a great day
 

Offline zoltanh

  • Contributor
  • Posts: 38
  • Country: ro
Re: finding short on motherboards with a shorty (with display)
« Reply #30 on: February 20, 2021, 07:00:51 pm »
In couple days. I am busy these days.
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
Re: finding short on motherboards with a shorty (with display)
« Reply #31 on: February 23, 2021, 06:50:23 am »
Never heard of a shorty, but that looks very useful.
 

Offline kripton2035Topic starter

  • Super Contributor
  • ***
  • Posts: 2581
  • Country: fr
    • kripton2035 schematics repository
Re: finding short on motherboards with a shorty (with display)
« Reply #32 on: February 25, 2021, 06:38:39 pm »
I've published the first draft of schematic and source code of the project. enjoy !
http://kripton2035.free.fr/Projects/shorty-display.html
 

Offline masterx81

  • Frequent Contributor
  • **
  • Posts: 480
  • Country: it
Re: finding short on motherboards with a shorty (with display)
« Reply #33 on: February 26, 2021, 03:01:21 pm »
Did you plan to made some pcb's? I'm interested  :-+
 

Online Fraser

  • Super Contributor
  • ***
  • Posts: 13165
  • Country: gb
Re: finding short on motherboards with a shorty (with display)
« Reply #34 on: February 26, 2021, 03:12:25 pm »
+1 on buying a PCB (populated or unpopulated) if made available  :-+

Fraser
If I have helped you please consider a donation : https://gofund.me/c86b0a2c
 

Offline kripton2035Topic starter

  • Super Contributor
  • ***
  • Posts: 2581
  • Country: fr
    • kripton2035 schematics repository
Re: finding short on motherboards with a shorty (with display)
« Reply #35 on: February 26, 2021, 03:49:43 pm »
of course I'm building a pcb right now. but it's not ready, I will make and order 10 by a chinese pcbmaker, test it, and then sell the surplus.
after that if any more interest I will sell more pcb even see if a (smd-only) populated one has interest ?
anyway it has some interest for me only if I can win some small amount of money with it.
if it is to compete with industrial chinese people making it by millions like the famous transistor tester it's not for me !
« Last Edit: February 26, 2021, 03:53:14 pm by kripton2035 »
 
The following users thanked this post: Fraser

Offline natman69

  • Regular Contributor
  • *
  • Posts: 61
  • Country: it
Re: finding short on motherboards with a shorty (with display)
« Reply #36 on: February 26, 2021, 06:30:49 pm »
Me too! + 1 on buying a PCB (SMD populated or unpopulated).
Thx
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
Re: finding short on motherboards with a shorty (with display)
« Reply #37 on: February 26, 2021, 08:28:52 pm »

Yeah dude. Depending on the price, I may take two PCB, so I can mess one up.


Question: you think it is possible to hook up the pre-op-amp probe voltages to some A/D pins of the Arduino?
Or would that disrupt the precision too much?


I am thinking, first put the inputs to high-Z, so you can measure shorty resistance.
If the measurement is out of the high-precision A/D range, then with code we could check arduino A/D and check for typical diode/NP voltage and give a "diode good" beep.
Or, if the arduino is fast enough, even check for rising capacitor voltage.

Cause thats what we always do right. Check for shorts, diodes and ceramic capacitors
 

Offline kripton2035Topic starter

  • Super Contributor
  • ***
  • Posts: 2581
  • Country: fr
    • kripton2035 schematics repository
Re: finding short on motherboards with a shorty (with display)
« Reply #38 on: February 26, 2021, 09:00:44 pm »
Quote
Question: you think it is possible to hook up the pre-op-amp probe voltages to some A/D pins of the Arduino?
Or would that disrupt the precision too much?
don't know. something to try.
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
Re: finding short on motherboards with a shorty (with display)
« Reply #39 on: February 27, 2021, 08:25:31 am »

Well, thought about it a bit better, and of course it is not possible with the 82-2-1 ohm probe resistor network. It will never reach the required 1V probe voltage.

To make that work, you'd have to change the 2 ohm in the middle, or even hi-z it, an I am pretty sure that makes it an entire new front end, not merely a "just measure the voltages" mod.

So just KISS, and make it a great short finding device.



 

Offline msquared

  • Regular Contributor
  • *
  • Posts: 60
  • Country: us
Re: finding short on motherboards with a shorty (with display)
« Reply #40 on: February 27, 2021, 05:33:20 pm »
+1 for a PCB, populated or bare.

Thanks!
 

Offline BobBeBob

  • Contributor
  • Posts: 32
  • Country: us
Re: finding short on motherboards with a shorty (with display)
« Reply #41 on: March 01, 2021, 09:32:08 pm »
me too,
 

Offline BroMarduk

  • Supporter
  • ****
  • Posts: 78
  • Country: us
Re: finding short on motherboards with a shorty (with display)
« Reply #42 on: March 04, 2021, 07:11:42 am »

Yeah dude. Depending on the price, I may take two PCB, so I can mess one up.


I'm in the same boat as cybermaus and would purchase a few to play with as well.
 

Offline nicknails

  • Regular Contributor
  • *
  • Posts: 59
Re: finding short on motherboards with a shorty (with display)
« Reply #43 on: March 04, 2021, 03:03:06 pm »
+1 for buying!
 

Offline zoltanh

  • Contributor
  • Posts: 38
  • Country: ro
Re: finding short on motherboards with a shorty (with display)
« Reply #44 on: March 04, 2021, 11:49:33 pm »
Here is a version of code including LCD. Attention: I had an exotic old customized LCD 2X20, some MIDAS brand with ST7036 controller. You must replace/include appropriate libraries for your LCD.
I built several versions of code as I kept schematics with one OpAmp either MCP601 or MCP6041 and using ADC of Arduino, doing conversion on 10 bits as it is below code or more, ie 16 bits, by oversampling in order to keep it simple and cheap. I reduced the number of digits to 4 instead of 5.
I am really very satisfied with results. I tested it in several conditions and always it was very easy to locate the short helped by readings, sound and led light. Also, the accuracy is quite impressive with 4 wires probes.
I attached a picture with one of prototypes.


//by Zoli on March 2021 version 12

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/eeprom.h>
#include <stdint.h>
#include <EEPROM.h>
#include <util/delay.h>


//this code section I found out on the arduino forum
#define FASTADC 1
// defines for setting and clearing register bits
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif


double sensorPin = A1;    // select the input pin for sensor
int buzzer = 9;//audio output
int led = 8; //signal led
long sensorValue = 0;  // variable to store the value coming from the sensor
long real_sensorValue = 0;
int pnp = A3; //transistor base
float voltage;
float voltagei;
double ohm;
double real_ohm;
double ohmCal;
int address = 0;
byte value;

unsigned int button_delay;  // to detect long press of the button
double vRef = 1070;
#define VERSION "1.X"
#define  BUTTON       11
#define EEPROM_OHMCAL_LOCATION 16

#include "ST7036.h"
#include "LCD_C0220BiZ.h"
#include <Wire.h>
#include <inttypes.h>


ST7036 lcd( 2, 20, 0x78 );

uint8_t rows = 2;
uint8_t cols = 20;


void setup() {
  Serial.begin(9600);
 
  analogReference(INTERNAL);//using internal 1100mV reference
  pinMode(sensorPin, INPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(pnp, OUTPUT);
   pinMode(led, OUTPUT);
    pinMode( BUTTON, INPUT_PULLUP);
   lcd.init();                          // Init the display, clears the display
lcd.clear ();
lcd.setCursor ( 0, 0 );
lcd.print("Sa ai o zi buna!");       // Classic Hello World!
delay(2000);

 eeprom_read_block(
    (void*) &ohmCal,
    (void*) EEPROM_OHMCAL_LOCATION,
    sizeof( ohmCal ) );

 
if (FASTADC) {
    sbi(ADCSRA,ADPS2);
    cbi(ADCSRA,ADPS1);
    sbi(ADCSRA,ADPS0);

 
  }
 
 
  noTone( buzzer);}
  void(* resetFunc) (void) = 0;
 double calcREZ()
{
  for (int i=0; i < 20; i++) {
sensorValue = sensorValue + analogRead(sensorPin);
 }
 sensorValue =sensorValue/20;
 

    voltage = ((sensorValue * 1100)/1024 );
    voltagei = voltage / 27.45;
    ohm = ( voltagei/25.5);
   
    return ohm;}
 

 
void loop() {
 
 value = EEPROM.read(EEPROM_OHMCAL_LOCATION);

  Serial.print(EEPROM_OHMCAL_LOCATION);
  Serial.print("\t");
  Serial.print(value, DEC);
  Serial.println();


 delay(100);
  digitalWrite(pnp,LOW);
   digitalWrite(led, HIGH);
  //Procedure found out on forum
 if (digitalRead( BUTTON) == 0) // check D11 button state
    {
      noTone( buzzer);
     lcd.clear();
     lcd.setCursor ( 0, 9 );
      lcd.print("COMPENSATION");
     delay(400);
      button_delay = 0;
      while ((digitalRead( BUTTON) == 0) && (button_delay<10))
      {
         button_delay++;
         delay(120);
      }
       if (button_delay>5)
      {
        lcd.clear();
        lcd.setCursor ( 0, 8 );
        lcd.print("ZEROING PROCEDURE");
        delay(2000);
    ohmCal  = calcREZ();
    //writing calibration value into EEPROM so we don't have to calibrate on restart
    // store calibration value in EEPROM
    eeprom_write_block(
      (const void*) &ohmCal,
      (void*) EEPROM_OHMCAL_LOCATION,
      sizeof( ohmCal ) );
    lcd.print(" done!");
    lcd.setCursor(0,1);
    lcd.print("saved to EEPROM");
    delay(500);

      }}
 
 
ohm = calcREZ();
real_ohm = (ohm -  ohmCal)*1.15;// correction factor precision class
if (real_ohm<=0) real_ohm = 0;
   
// print out the value you read:
//Serial.println(ohm,5);
  //Serial.println(voltage , 5);
// Serial.println(real_sensorValue , 5);
 Serial.println(real_ohm   ,  5);
 
delay (10);
 if (real_ohm <1.5){
 float ftone = -800 + (4000 +800)/(1 + pow(real_ohm,0.66));
 //float ftone = 4500*real_ohm;//can replace above tone (resistance value) convertor
      tone( buzzer, ftone);
      lcd.clear();
 lcd.print ("Resistor measurement");
 lcd.setCursor ( 1, 0 );
lcd.print ("Value = ");
lcd.print (real_ohm,4);
lcd.print (" ohms");
delay(200);}
      else{noTone( buzzer);
      lcd.clear();
 lcd.print ("Resistor measurement");
 lcd.setCursor ( 1, 0 );
lcd.print ("Value > 1.5 ohms");
delay(200);}
 
 
 if (real_ohm <1.5){if (real_ohm <0.00001){
  lcd.clear();
  lcd.print ("Resistor measurement");
lcd.setCursor ( 1, 0 );
lcd.print ("Value = ");
lcd.print (0.0000,4);
lcd.print (" ohms");
 delay(5000);
 lcd.clear();
 lcd.print ("Acesta este scurtul");
 delay (1000);
  resetFunc(); 
 
}
 } }
 

 
 
 
 
 
The following users thanked this post: Fraser, hugo, Mikka

Offline zoltanh

  • Contributor
  • Posts: 38
  • Country: ro
Re: finding short on motherboards with a shorty (with display)
« Reply #45 on: March 16, 2021, 11:32:18 pm »
Few pictures with the last case design, 3D printing. The schematics and PCBA are without changes versus the previous versions. PCBA is made with SMD components and as I said the schematics is inspired from Shorty but has some important changes and I am not using an additional ADC. I used 4 wires probes and there is a compensation/calibration procedure. Actually, you compensate the resistance of tip up to its solder point to wires. The probe wires are directly soldered on PCB and I opted for power supply through Arduino's USB from charger or power bank.
I calculated the cost with components I bought from TME and is almost 40 euro with PCB made in house - ready made laminate with UV photoresist - by photo transfer method. Probably with components from China and large ordered quantity of pcb to a manufacturer the cost is 1/3 of this one but the lead time of 2-3 months is overkilling.
I would be able to build 4-5 pieces/week with components from TME but I do not think is any interest at price of 50-60 Euro/piece.
I already found out short-circuits on several multilayered PCBA in just few checks. It is a very efficient tool for locating the short-circuit, and the accuracy in comparison with the professional/industrial milliohmeters with which I checked is difficult to explain.
 
The following users thanked this post: Fraser, Mikka

Offline kripton2035Topic starter

  • Super Contributor
  • ***
  • Posts: 2581
  • Country: fr
    • kripton2035 schematics repository
Re: finding short on motherboards with a shorty (with display)
« Reply #46 on: March 17, 2021, 06:39:17 am »
with the integrated 10b adc you can have sufficient resolution to find shorts, you need to be below 1mΩ to find the short precisely.
you can play with the adc amplification factor to get this right. but you loose the highest value you can measure at 400mΩ max.
with the 18b adc I use, I can go from 10µΩ to around 3.5Ω that's a far better for the use of finding shorts.
and by the way I added a new digit to the display, to read the 10µΩ and it is still quite stable reading !
on my prototype it's quite amazing .
and the pcb are coming from china, slowly I confess. but as it is a hobby work, I'm not in a hurry.
 
The following users thanked this post: masterx81, FlightMech

Offline zoltanh

  • Contributor
  • Posts: 38
  • Country: ro
Re: finding short on motherboards with a shorty (with display)
« Reply #47 on: March 17, 2021, 10:49:20 am »
Your schematics is much better but also complex and based on TME prices you must add some 4-5 Euro to the cost. However, I like very much your solution and construction, and if you remember when I started to design/build my circuit you have been the first person I asked about opinion regarding shorty as at that time you built the original shorty. Also, I got inspiration of exponential tone function from you as initially I have tested several solutions which worked satisfactorily but I liked more your solution.
I opted for fast conversion and oversampling and I can go up to 1.8 ohms and down to 10 microohms accurately and stable and it seems to me it is perfect for locating the short in efficient and effective and quick manner.
After first three versions I gave up to five digits after comma as you gain little bit more speed and stability and make no difference in comparison with four digits in finding the short circuit.
I have seen at somebody from Russia a schematics of milliohmeter just with MCP 3421 without opamp and it seems also quite ok. On other hand I believe Scullcom used also oversampling with external ADC and opamp on his milliohmeters, I do not remember exactly as at the time I have seen his work I was not interested in milliohmeter subject.
Industrial made PCB are much nicer as aesthetic and easier to hand soldering as pads are tinned and isolated by soldermask.
 

Offline kripton2035Topic starter

  • Super Contributor
  • ***
  • Posts: 2581
  • Country: fr
    • kripton2035 schematics repository
Re: finding short on motherboards with a shorty (with display)
« Reply #48 on: March 17, 2021, 12:19:56 pm »
I left the possibility to use the internat 10b adc in my schematic, the aop output goes to the arduino and the mcp3421.
if someone don't have or does not want the 18b adc he can still use the same pcb.
 

Offline kripton2035Topic starter

  • Super Contributor
  • ***
  • Posts: 2581
  • Country: fr
    • kripton2035 schematics repository
Re: finding short on motherboards with a shorty (with display)
« Reply #49 on: March 29, 2021, 05:13:31 pm »
I was thinking of inverting the arduino and the display, because without that the display is too high on the box.
what do you think ?
« Last Edit: March 29, 2021, 05:16:59 pm by kripton2035 »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf