10/02/2018 at 06:38 •
There are many things happened since my last real project log.
In the V4 almost all of the controls are working with PC control: -frequency, amplitude, current control resistance, DUT switching and alternating.
The only thing left until the equipment start to work as expected is the measure amplifier control. On the other side I've long road ahead.
The planed roadmap (without dates):
- Measure Amp (milesetone, the equipment works with external XY oscilloscope)
- ADC control software
- Measurement display on PC
- Add SS1963 based 5" display
- LAN board
- USB Flash
- SD card
- Finalized MCU board
- Front panel control test
- Front panel board design
Until those, here are few pics made during the development:
The PSU measured output voltages:
Power Amplifier built:
Almost all of the analog electronics + the MCU dev board:
Mesaure the phase shifting of a 22uF bipolar electrolytic capacitor:
09/26/2018 at 07:46 •
It is just a quick note. I made the source control repository publicly available. You can find it here:
Please be aware. The hardware designs, firmware source, PC software source is under heavy development. Every commit goes to the master branch. No reason to switch to any kind of branching model (gitflow for example) yet.
Please do not use the repo for building the instrument. It WILL NOT WORK!!!
The repository is there for two purposes:
1. Support our development effort.
2. Give some outlook about what we want to achieve.
09/13/2018 at 20:23 •
I'm continuously working on this Curve Tracer in my spare time. I designed a Vishay VO14642 photovoltaic SSR into the circuit. It is quite a nice, but pricey device.
I thought why not try to order it from Aliexpress. For control I also ordered a few from Mouser.
Both devices on the same board:
The original on the left
The fake measured
The original measured
This device should have 0,25 Ohm maximum on resistance.
08/21/2018 at 21:25 •
This log is intend to be a small status update without deep explanation of circuit or software description.
1. I've finished the PCB design all of the three analog boards together with the PSU. Here are the pictures of the board designs:
2. The schematics are changed a bit according to the board routing and some component availability. I uploaded the updated schematics to the files section (not too much changed)
3. All of the boards ordered from JLCPCB. I'm expecting to get them until end of tomorrow.
4. All of the components ordered from various sources: Lomex (local), HQElectronics (local), Mouser. Unfortunately I had some misunderstanding with Mouser about my companies status, therefore they canceled the order of the TI opamps. So I finally ordered the opamps directly from TI. Hopefully I'll get everything by beginning of the next week
5. I had not too much lack with the selected MCU.
First I tried to use Arduino for the programming. The STM32DUINO is almost unusable when you want to do something deeper hardware related. Running the Timer-DMA-DAC as a sine wave generator was unsuccessful. After a few days struggling, switched to CubeMX + Atollic TrueStudio. With this environment, it started to work almost instantly. After this I tried to put together the USB-CDC communication unsuccessfully. After many tries, also involving other development boards, it become clear, that the USB code generation of the CubeMX for F3 simply doesn't work (we will see if any suggestions come: https://community.st.com/s/feed/0D50X00009fCudGSAS).
So I switched the project to F4, to be precise to STM32F407VG. Actually I'm using the STM32F4-Discovery board for the development, what I already have for years.
The sine wave generator works, I've some USB communication, I've the command interface for the components (the commands still not work via USB, but it is on the way).
The plan actually, to build the first iteration of the V4 device, completely controllable through the USB port and using a PC software for all of the functions and display. The integrated LCD and controls will come in the second iteration.
08/10/2018 at 13:25 •
I'm heavily working on the next version of the curve tracer. Today I almost finished the schematics of analog modules of the device. All of drawings are uploaded into the files section. Actually everything reside in a private repo on the GitLab. This will be publicly opened when I order the first revision PCBs. Until this time the whole circuit is so shaky that I don't want anyone to build it, because the design will probably heavily changed and there are incompatibilities exists between the schematic an PCB designs.
About the circuitts
Power supply module:
The power supply use a enclosure mounted toroid transformer with two 14V secondary windings (probably a 100VA model). The circuit itself provide +-15V from linear regulators mainly for the analog circuits and the power amplifier, a +5V and +3.3V from buck converters for the logic circuits (plus MCU, Display, etc.). And a four channel buffered rail splitter (virtual ground) used for the level conversion of the ADC and DAC (probably two will be used, but it is easy to build four from a 4 channel opamp)
Power Amplifier module:
It converts the 0.65V-2.65V swing sine wave from the MCUs DAC module to +-10V (20Vpp) gound referenced load capable signal.
In the input I put a unity gain differential amplifier. This will convert the input to -+1V by substracting the 1.65V reference DC from the power supply.
The next stage is a 1.28x gain non-inverting amplifier creating 2.56Vpp signal. This signal attenuated by a 256 step digipot. This give us 10mV step control of the power amplifier. The power amp has a 10x gain. So the result: we can control the output voltage of the amp 0-20V in 100mV steps.
This module control the current limiting resistors on the output of the Power Amplifier. As requirement we can't use conventional mechanical relays mostly because of the noise it makes. Therefore I choose three different kind of solutions to set the current limiting resistor value (we need AC capable devices):
1. Low current version: ADG451 (or ADG441) and ADG1411 analog switches (capable around 100mA)
2. Medium current version: Vishay VO14642 photovoltaic AC MOSFET SSR (capable 1A AC)
3. Load switching: Si8751 isolated MOSFET drivers + dual MOSFETs (capable 4.5A AC)
Also this circuit provide the TVS protected output for the DUT and the measurement point for the output current and voltage. The output current measured across the whole resistor network and not on an additional current sense resistor. This solution probably generate less noise, but on the other side more sensitive to the temperature drift of the resistor (we will see, how this works in practice)
This is a two channel amplifier one for the current, and one for the voltage. The input signals are buffered with two unity gain amplifiers. The voltage signal is coming from the voltage across the DUT and amplified by a "PGA" capable of creating x0.1, x1, x10, x100 and x1000 gain respectively. The current signal is comming from the voltage across the current limiting resistor. As this is not ground referenced I used a differential amplifier configuration with x0.1, x1 and x10 gain.
The outputs of this circuit can be directly connected to the oscilloscope X and Y inputs and will be also connected to the MCUs 12bit ADC through a level shifter (not implemented on this board)
This is all for now. More to come.
If you have any question, suggestion on this design, please let me know in the comments
07/31/2018 at 19:03 •
As I mentioned earlier I wanted to change the two AVR MCUs from the original design to a single 32bit one.
Here are my selection criteria:
- Two at least 12bit DAC channel - One channel is used for the sine wave generation, the second maybe used for the pulse generation (not designed, decided yet, but better if it is available)
- Two at least 12bit ADC channel - For measuring current and voltage on the DUT. If parallel sampling and/or differential input available is good but not requirement
- DMA for DAC operation
- 32 bit core - ARM Cortex-Mx prefered
- Arduino framework support, free, native C/C++ IDE support (I haven't decided between the two, so the support is necessary)
- Low cost development board
- Easily solderable (for me. Means: TQFP accepted, QFN, BGA not - I know this is my personal limitation, but I don't want to learn it right now)
Based on the specs above my choice is an STM32F303RET6:
And the development board for it:
I ordered the board from Farnell yesterday. Today arrived:
Next: seting up the development environment
07/29/2018 at 15:34 •
My name is Zoltan Gomori (SUF). I recently joined the project to speed up the development.
I started to develop the new V4 version of our curve tracer. Here is what you can expect:
Now, I'd like to summarize a few design concept for the project.
I started to work from the 3rd version. As I see now, It can be called as the 4th version because it will have so much differences.
- Modular design. I want to be able to use the design either with internal display or with an oscilloscope
- Use one 32 bit MCU instead of the current two 8 bit AVR (most probably an STM32)
- Internal power supply
- Based on the Huntron Tracker 3200S specification - except the 128bit scanning interface
- Complettely elliminate mechanical relays (even the reed ones)
- Get rid of the most of the digital potentiometers - not really fits for the needs, using resistors and analog MOSFET switches instead
- Get rid of the discrete R-2R DAC using an MCU integrated instead
- Utilize MCU integrated ADC/DAC/DMA as much as I can
- Get rid of the trimpots as I can (probably need to keep it for some offset setting functions)
- Keeping the error of the equipment around 1% every place (it is not a high precision equipment. If we want to decrease the error significantly, it cause significant rise in the costs)
- Adding the pulse generator as an optional module. It was missing from the 3rd version
- Adding the lower current limiting resistor ranges (down to 10 ohms)
First of all, I made a block diagram of the equipment:
04/08/2018 at 19:08 •
I uploaded all of the latest drawings and ino (arduino) files for all 3 version.
You can find in the "File" section, and you can download those.
03/18/2018 at 17:07 •
I finnished the Version 3 prototype, every function is working now. I found tested some future development on it, and I managed to connect it to the PC, so will be also capable of saving curves onto an excel sheat. I need some time and I will finnish the configuration on this also.
Here is a video about every function:
I am quite happy about the prototype, I think it is better then what I expected when I started. Now I have the final circuit so I am looking forfard to designing my own pcb for it.
It still missing the power plug at the end, but I will place it.
03/15/2018 at 17:39 •
I did some progress on the Version 3 prototype, it has more working function then before. I am still facing with some hardware butg, what I inherit from the Version 2. I found out the original circuit has big issues, because I did not had Oscilloscope when I developed the Vesion 2 I could not see these issues before. The Voltage ranges was messed up. Most of the issues I could fix, but it has still some.
A little bit about the spec:
- 6 Voltage range (6 Current range)
- 6 Frequency range
Ranges 1 2 3 4 5 6 Resistance 250ohm 2k 5k 10k 15k 20k Voltage 0,5V 1,8V 3,3V 6V 8V 10V Current 2mA 0,9mA 0,66mA 0,6mA 0,5mA 0,5mA Output 1mW 1,6mW 2,2mW 3,6mW 4mW 5mW
And the video: