Close
0%
0%

Microcontroller based curve tracer

Electronic Curve tracer for measure and compare components on circuit boards

Similar projects worth following
This project was based on the Huntron Tracker 2000. I made a simplier, but much usable curve tracer for my self. It is perfect for repair purposes, because with it really easy to find bad components on circuit boards.

What is it good for?

It is good for compare a working and a not working circuit board, without you have to apply any power to it. A curve tracer show Voltage - Current characteristic of any electric component, like diodes, capacitors, CMOS ICs and many more, which you want to look.

This equipment mostly used in repair purposes.

The hardware:

It has tree main part, which are:

  1. Display (2.4" TFT Touch display)
  2. Arduino pro mini (5V 16Mhz version)
  3. Analog stage of the curve tracer

The display has 320x240 pixel resolution, which is perfect for this application. I only use 240x240 pixels for the curves and the other part of the screen is used to show some basic parameter, which is minimum and maximum measured voltage. These two voltage point can show you the break down points on the Zener diode for example.

When I was developing the sketch I was optimistic to use the Arduino pro mini, but end of the project I had to realise it can not handle very well the display functions and at the same time the measure functions. I ran out very quickly of the 2K RAM, so I had to do some optimalisation. In the "final" code I am using half of the program memory and almost 90% of the RAM. On the Pro Mini I had to use almost all digital and analog pin, to make it working.

For power the microcontroller and the display I used a small DC-DC converter, which I not recommend to do, because I figured out it makes a lot of noise. This noise has a very bad effect on the current measurment, that why I do not have a perfectli straight line on the display.

On the picture above you can see I hacked a button on the red probe. That button has a purpose, if you push it when you measure something, the tracer can store that curve into the memory. The stored curve showed on the display as a red curve, and same time you can measure a other component, which you want to compare it.

The software:

Part of the code was from my other project, which was a simple arduino oscilloscope I made. I never thought I can use it for anything usefull, because of the low speed, but for this project it was perfect. I modified to handle two channel, and it worked perfectly.

In this project I did not need any trigger function, because it does not matter where the drawing is starting. It just simple measure 240 point on each channel as fast as can do, and after those stored in two array, it start drawing the dots on the display.

After all this project was successful for me, I learned a lot.

A slow mo video how it works:

Upgrade plans:

In the future I would like to separate the display functions from the measure functions.

I am thinking about to make a function generator for drive the analog section, and then I can change the voltage, frequency and with some other component the resistance, with I can limit the current.

Adobe Portable Document Format - 29.08 kB - 02/21/2017 at 18:15

Preview Download

ino - 5.61 kB - 02/21/2017 at 18:14

Download

View all 2 files

  • It is working properly

    Máté Tóth4 days ago 0 comments

    I was working on the auto range function on the tracker, and it is working properly now. I can set anything, and the lines now stay stable. It was a the biggest job in this project I think, because I had to do a lot of research about op-amps. After all the programming was a bit difficult, but after I figured the method, is is quite simple.

    I did not make a video about the new function, becaus I last video is almost the same, one that changed, the waveform stay steady, whenever the Voltage or Resistance range changed.

    The curve tracer now have:

    - 25 Voltage range from 1V to 20V peak-peak

    - 5 Resistance range (50 , 2k, 10k, 17k, 25k ohm ) I will expend this to 10-15 ranges, it is not to difficult.

    - 6 Frequancy range from 120Hz to 1.2kHz I will expand this as well, up to 2kHz, or above.

    - USB connection to PC, for save waveforms.

    What do not work yet, known bugs:

    - Have to press twice the main menu button to go to main menu. (bug)

    - Need a front foil, with things printed on it.

    - First start up, the auto range function works only, when you go to first in to the Voltage menu

    - Have to make full schematic and circuit designe, to send out to the PCB fabricator

    - I can make a scanner for the curve tracer, but have to think, wher can I place a connector on the front panel.


    So yes I am slowly gettint closer to the end, but every working hours on it, I see more, in this project.

  • Saving curve to PC

    Máté Tóth03/26/2017 at 20:33 7 comments

  • Functioning with 2 channel!

    Máté Tóth03/13/2017 at 22:12 0 comments

    It was not to difficult and not too much work to made the second channel ussable. Whit this I can compare 2 component, and see if those have any different.

    I made a little video about how it is works now.

    In the video the first test was between a 6.2V zener and a 8.2V zener diode.

    In the second test I used a LED and a normal diode.

  • Like a huntron.

    Máté Tóth03/08/2017 at 21:28 0 comments

    I have been working hard on the tracker, I built it together, so no more breadboard floating around. I found some problem with the auto ranging circuit, so it is not working yet. I also had to change the rensistance ranges, so in this state I have 5 ranges, but I would like to upgrade to 8 or more, if it is possible. I have to work on a lot of things still, so it is some photo, where is the project now.


  • Version 2 is almost done!

    Máté Tóth02/23/2017 at 22:06 0 comments

      Hi everyone, I made a lot of progress since the last log. I worked on the Curve tracer like almost every day around 2-3 hours.

      It is more complex then I thought in the past, it will be. Now it is sort of working, with some function.

      What is working:

      1. I can change the voltage range between around 40Vpp - 0.5Vpp in 25 steps.
      2. I can change the frequency between 170Hz and 1.1kHz in 6 steps.
      3. It is working from the main now, but if I want I can program the microcontroller at the same time.

      What does not work yet:

      1. I can use only one resistance range at this moment, but I am working on it. It will have 15 resistance range at the end.
      2. The automatic voltage level stabiliser, which will adjust the lines to the maximum screen size, when you change the voltage range.
      3. I need to finnish the main sreen (the big one).
      4. I have to fix some bug.
      5. The alternating mode is not finnished yet. (second channel)
      6. And some little stuff.

      And the video ;)

  • Sine wave generator test

    Máté Tóth02/05/2017 at 17:45 1 comment

    Recently I had not too much progress on the V2, but on this weekend I made one of the main part of the curve tracer, which is the sine wave generator. On the Version 1, I did it with a simple solution, with a transformer, which give me 12V 50Hz sine wave. It was good for basic things, but if you would like to measure electronic components with series or parallel with inductance or capacitans, you have to use higher frequancy. At higher frequancy inductive and capacitive parts shoud act differently.

    This is the reason, because you have to use a variable frequancy source, to drive your front end electronic. I would like to have 6 or more steps on the frequancy range like the minimum is around 50 (60)Hz and the maximum is up to 1.5 - 2kHz.

    As you can see in the video, I did managed to do the electronic, and it is more than capable to make the sine wave up to 10-20Khz, if have to.

    I had some difficulty to set up the generator, because sadly I have not get an oscilloscope yet. So I had to do it differently, like I did on the Version 1, I modified the code to act like a simple oscilloscope, because if you think of it, a Curve tracer is a dual channel oscilloscope in X-Y mode, so the arduino is basically an oscilloscope in this project.

    After all, I was able to develop one channel with it, so I will just have to copy the other channel from the first one and it is ready to go. It can measure a sine wave up to 1.5-2kHz so it is in the ideal range. (If I have to I will use some ADC accelerator code)

    In the video the signal was free running, because I not use any trigger function. I programmed 2 main menu, which you see at the start, and that one where you can see and set the values for the Voltage, Resistance and to the Frequancy.

    The left upper button is the menu button, the next to it is the Voltage selector button. When you selected a menu, it show you on the leds and on the screen which menu you ar in. The up and down button is light up that direction where you can set the value. Like if you are 0 on the voltage value it is only showing the up button with the led.

    At this state where the project is, I have not figured out if I have to isolate the Arduino DUE (measure and contorl unit) from the sine wave generator completely or not, but I think I might be.

    I also changed the code and now the display is smoother than before on the Version 1.


  • Version 2 front panel demo, test.

    Máté Tóth01/10/2017 at 22:45 0 comments

    So I am done with the case, and the front electronics, the screen, buttons and LEDs all works.

    A little demo video, how it gonna look like.

  • A little progress in build Version 2.

    Máté Tóth01/02/2017 at 19:59 0 comments

    I mentioned in the last log, I had not too much time build the Curve tracer V2, because of the holidays.

    In January I would like to put together the hardware section of the tracker, I did already finish the front of the device, it is looking good I think. After I got the Arduino Due I put ut together with the screen, and started work on the display functions, which is far to be done, but it is something.

    The buttons will light up when you selected the mode with them.

    I am planning to make a sticker for the front, to hide all mistakes what I made, and also it will looks more professional.

    Some picture of the current state:


  • Curve Tracer V2

    Máté Tóth11/28/2016 at 12:29 1 comment

      I am about to start build the updated version of my curve tracer. I was thinking about a lot, what will I need to improve the functions on the tracer. I was looking the Huntron 3200S spec on the internet, when I specified the functions on mine tracer.

      I was sure, if i would like to updrade, I will need more space and a bigger screen, because the last one was a bit small (2.3" LCD). I found a 3.95" LCD touch screen with better resolution (480x320).

      The new version will have:

      1. Two channel input with alternating function, and with that I will able to compare two component at the "same" time.
      2. Multiple frequency, voltage (sine wave) and input resistance ranges.
      3. Some buttons with inbuilt LED and a touch display for the easier operation.
      4. End of the project I would like to make a software for PC and with that I will can log characteristics for save that later repairs.
      5. If I will have enough money, I would like to make a scanner, wich has around 64 input to measure characteristics on IC-s directly with much better speed.

      Only one main part missing, which is an Arduino DUE.

      Some photos about parts, what I bought:


View all 9 project logs

Enjoy this project?

Share

Discussions

PROFESOR wrote 03/08/2017 at 21:31 point

Hi, Máté Version 2 is a beautiful project as you can see from the picture. I wish you continued success.

  Are you sure? yes | no

Máté Tóth wrote 03/08/2017 at 22:06 point

Thank you, I am planing to make a PC software for it, with that I will can save curves, and that is the goal.

  Are you sure? yes | no

PROFESOR wrote 02/24/2017 at 17:11 point

Hi, Máté wonderful project. You will share files. ??

Best regards

  Are you sure? yes | no

Máté Tóth wrote 02/24/2017 at 18:20 point

Hi PROFESOR, Thank you. To be honest with you all of who here because of you want to build it. I have to tell, I have many many reasons why I should not to publish everything about my Version 2. It is not fully my decision.  I am sorry, have to tell you now, but I can not publish the version 2 schematic and code.

But I will polish the Version 1 and fix al those bugs That have, and I will give every information about the Version 1 tobyou

  Are you sure? yes | no

xt1541xt1541xd1541 wrote 02/24/2017 at 16:52 point

cool Mate hope you finished soon !

  Are you sure? yes | no

Máté Tóth wrote 02/24/2017 at 18:13 point

I hope so

  Are you sure? yes | no

daniel elvas wrote 02/21/2017 at 17:29 point

hi Máté could you upload curve tracer V1 files if thats ok thank you

  Are you sure? yes | no

xt1541xt1541xd1541 wrote 02/07/2017 at 12:10 point

keep on going dude ur great !   we hope to see the final version soon ur freind 

respect

  Are you sure? yes | no

xt1541xt1541xd1541 wrote 02/03/2017 at 12:00 point

hello Mate i would like to help with some funds i find it a very nice project far away to be simple 

and at anytime i would like to see it work im a repair technician with a littel money cant afford a huntron or an abi or a deltest or a polar or fados1F7

anytime i would loe to help make a production version for you better casing better screen 

  Are you sure? yes | no

Máté Tóth wrote 02/03/2017 at 19:28 point

That is cool man, first I would like to make a working prototype of it and after I have some plan, to make both the V1 and the V2 ready for production. I would like to help people like you or me and make a cheaper but usable versions. 

If you have any good idea or question, or anything, go for it, I am open for ideas. And thank you for the offer I will ask you If i am stuck with the project

  Are you sure? yes | no

xt1541xt1541xd1541 wrote 02/03/2017 at 19:47 point

ok Man the ideas that i have is making a cnc version of it 

what i mean is make a programmable cnc to verify some tp you already tested on a working board and save them then later compare to other non working boards

  Are you sure? yes | no

xt1541xt1541xd1541 wrote 02/02/2017 at 23:12 point

hope we see the new version soon it is very very nice 

thank you my freind it is a wonderfull tool

  Are you sure? yes | no

Máté Tóth wrote 02/03/2017 at 19:12 point

Thank you, I am working on it, it is going well, maybe a couple of day and I can test the basic functions on it, but I have to work a lot on it still

  Are you sure? yes | no

PROFESOR wrote 01/30/2017 at 22:57 point

Hi,Mate please explain save button function which pin.??

  Are you sure? yes | no

Máté Tóth wrote 01/31/2017 at 06:35 point

It is buttonPin = 12,

So digital PIN 12 is the input. Do not forget to add a 10k pulldown resistor to it

  Are you sure? yes | no

PROFESOR wrote 01/29/2017 at 19:06 point

Waiting version 2 Test video. Best regards. :)

  Are you sure? yes | no

Máté Tóth wrote 01/30/2017 at 09:13 point

Thank you PROFESOR, I am working on the analog section recently, hoppefully it will be done shortly.

  Are you sure? yes | no

mkpael wrote 01/26/2017 at 11:50 point

Do you have some equivalent for the TLC2721P?

  Are you sure? yes | no

Máté Tóth wrote 01/26/2017 at 18:24 point

You can use any precision op-amp, like TLC 272 CN, TLC 2272 IP, TLC 2272 CP (these are dual precision op-amps), or two OP07CP, which is a singe op amp, that why you have to use 2 of those. OP07CP is much cheaper, and maybe better, but I did not have those on hand.

  Are you sure? yes | no

mkpael wrote 01/27/2017 at 16:19 point

ok. thank you.

  Are you sure? yes | no

PROFESOR wrote 01/24/2017 at 17:31 point

Hi Mate, Very nice Project Please shared files.???

  Are you sure? yes | no

Máté Tóth wrote 01/26/2017 at 14:04 point

Hi, I uploaded all the files, look at the section "files" above. It has the Arduino code and the shematic for the analog section. If you have any question, feel free to ask me

  Are you sure? yes | no

mkpael wrote 01/18/2017 at 19:09 point

Does this ci have any equivalent that I can use?

  Are you sure? yes | no

Máté Tóth wrote 01/23/2017 at 17:31 point

I do not understand clearly, what do you mean any equivalent. If you have an Oscilloscope and a Function generator you can use those. Or you can buy one Curve tracer like the Huntron Trackers, on eBay

  Are you sure? yes | no

mkpael wrote 01/16/2017 at 17:04 point

How can i modify the arduino code to use the processing?

  Are you sure? yes | no

Máté Tóth wrote 01/16/2017 at 20:52 point

Sorry, but I had not used processing yet, so I can not help with that. But I guess you have to send out the two array (value[ ], and value2[ ]) because these are the arrays, which contains the X and the Y cordinates. If you do not need any display function on arduino you can delete everything below the display text in the code.

  Are you sure? yes | no

mkpael wrote 12/21/2016 at 20:26 point
Can you make the project available for me to do?

  Are you sure? yes | no

Máté Tóth wrote 12/27/2016 at 22:29 point

I will publis the schematic and the code soon, when I get home at the weekend.

  Are you sure? yes | no

Máté Tóth wrote 01/02/2017 at 20:00 point

I uploaded the files you asked for.

  Are you sure? yes | no

mkpael wrote 12/21/2016 at 20:24 point

good project.

  Are you sure? yes | no

Máté Tóth wrote 12/27/2016 at 22:25 point

Thank you.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates