Author Topic: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)  (Read 452037 times)

0 Members and 2 Guests are viewing this topic.

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #650 on: March 13, 2017, 03:06:38 pm »
EEZ Studio will be more cost effective, since it will be released as FOSS, but not time effective. I have no idea how could be possible that new platform (PIC, etc.) is added in e.g. this year without new people are not jump into development.

Offline VEGETA

  • Super Contributor
  • ***
  • Posts: 1916
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #651 on: March 13, 2017, 04:13:53 pm »
Being a free software is always a good advantage, but what are the currently supported platforms and hardware? what prices are they tagged with?

Arduino support is good for now if you could make it work with really cheap hardware. I guess the downside is that one would need an arduino for this job while having another MCU for the rest of the design... but don't worry, this is how nexteon works too.

Offline VEGETA

  • Super Contributor
  • ***
  • Posts: 1916
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #652 on: March 13, 2017, 04:43:05 pm »
does it support these great and cheap displays: http://www.buydisplay.com/default/tft-display

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Firmware M4 is released (Triggering system and list programming)
« Reply #653 on: March 22, 2017, 03:33:59 pm »
Firmware M4 is released last week. Two main features are triggering system and list programming (sort of "arbitrary waveform generator"). The later one asked for many optimizations and end results is I believe a very satisfactory for such class of device (DIY and open source).

Triggering system allows usage of four trigger source:
  • BUS - software trigger, initiated by receiving *TRG when trigger system is already initiated with INIT command
  • IMMediate - initiated by changing output from off to on or by receiving INIT command
  • MANual - when flashing button on the TFT touchscreen is selected and
  • PIN1 - external trigger input available on the front panel push-in connector
When channels are triggered they can be programmed to new fixed output voltage and current ("step" mode) or execution of list of output values will be started.
List could contain up to 256 different output voltage, current with variable duration. Duration (DWELl) could be from 1 ms to 65535 seconds. List can be used when channels are also in "special" modes: tracking and coupling in series and parallel.

I made two part video about above mentioned functionalities and I hope you'll like how quick and easy one can generate e.g. test pattern directly on the device without any extra software and PC connectivity. Your comments and doubts are highly welcomed.



https://youtu.be/yGn3uoRkYyg
« Last Edit: March 22, 2017, 03:47:42 pm by prasimix »
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Special "milestone"
« Reply #654 on: March 22, 2017, 04:16:15 pm »
I also opened a new "milestone" called Your help/assistance needed, a title that is self-explanatory. If you'd like to join us in firmware related development that would be the first place where to look. This list will be updated with new issues or existing one will be moved to next development milestone when we agreement about development are reached.

As suggested there, all contributions are managed under Collective Code Construction Contract (C4).

Offline void_error

  • Frequent Contributor
  • **
  • Posts: 673
  • Country: ro
  • I can transistor...
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #655 on: March 23, 2017, 05:10:02 am »
Awesome! I wouldn't even dare to attempt writing such a complex piece of firmware as this. :popcorn:
Trust me, I'm NOT an engineer.
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Dual range current measurement in practice
« Reply #656 on: March 24, 2017, 11:28:55 am »
This a follow up on post #611. I finished testing dual range current and it seems that everything works just fine. Now I regret that I did not put third (0 - 50 mA) and even fourth range (0 - 5mA) :). There is enough control pins left when I/O expander is upgraded from 8-bit to 16-bit. Never mind.
One thing that is rather confusing to me is required current sense resistor value for the lower current range. For high current 0R020 (R65) is used and I expected that with same current monitor (now LTC2050HV, but can be OP27 as before, too) for 10x smaller range I'll need 10x higher resistance (i.e. 0R2). But that didn't work: the range was "shorter" for ~10 mA on the higher end. I expected that with even higher resistance (e.g. 0R22 or 0R24) I can reach or goes beyond 500 mA point. But that also didn't work. It actually make range ever shorter. After that I tried to go in another direction: selecting lower resistance. With R63 of 0R166 or lower it's possible now to have full low current range both uncalibrated and calibrated. Why is that?  :-//
Please find below detail of current monitoring part that is extract from latest schematic. I don't know if that is somehow related to shifted ground reference (non-inverting input on IC7A) that is ~50 mV (reason for that is addressed in post #621).



Offline texaspyro

  • Super Contributor
  • ***
  • Posts: 1407
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #657 on: March 24, 2017, 06:38:45 pm »
It would be handy to have a function that could automatically generate lists with common waveform shapes (like sine, pulse, pulse trains, sawtooth, ramp up/hold/down).  It might be a bit much to do from the screen if you included things like offsets from 0,  min/max values, etc,   but a tool that could do it over SCPI would be neat.
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #658 on: March 24, 2017, 11:07:13 pm »
Thanks. That should be one of the next steps: to add basic shape generation that you're mention over local display editor. It shouldn't be too complicated to do now when all needed infrastructure is in place. Maybe the biggest part will be to specify what type of shapes and params makes sense.


Offline Macman

  • Regular Contributor
  • *
  • Posts: 77
  • Country: gb
Re: Dual range current measurement in practice
« Reply #659 on: March 25, 2017, 07:55:21 am »
One thing that is rather confusing to me is required current sense resistor value for the lower current range. For high current 0R020 (R65) is used and I expected that with same current monitor (now LTC2050HV, but can be OP27 as before, too) for 10x smaller range I'll need 10x higher resistance (i.e. 0R2). But that didn't work: the range was "shorter" for ~10 mA on the higher end. I expected that with even higher resistance (e.g. 0R22 or 0R24) I can reach or goes beyond 500 mA point. But that also didn't work. It actually make range ever shorter. After that I tried to go in another direction: selecting lower resistance. With R63 of 0R166 or lower it's possible now to have full low current range both uncalibrated and calibrated. Why is that?  :-//

I am no expert on analogue circuitry and I may be totally wrong but what you observed seems to make sense to me.

I would have expected the required value for R63 to be 0R2 - 0R02 = 0R18 Ohm

The voltage across the shunt resistors for the 5A in the 5A range is 0.02 * 5 = 0.1V

The voltage across the shunt resistors (with a 0R2 resistor for the 0.5A range) for the 0.49A in the 0.5A range is (0.2 + 0.02) * 0.49 = 0.1078V. This I'm guessing is the point at which the input is becoming saturated.

In order to prevent the input becoming saturated the value of R63 needs to be reduced.
Having a smaller value for R63 will allow a higher current to be measured.
 
The following users thanked this post: prasimix

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #660 on: March 25, 2017, 08:27:26 am »
Thanks macman, that's probably the right explanation. I forgot to take into account lower (hi range) sense resistor, that is also used for measurement in lo range case. I tried R63 as 0R18 but it was still a little bit to high, possibly for tolerances of both R63 and R65, and as I said, from 0R166 and lower a full 500 mA scale.
But, I still don't understand how or which input became saturated? I can imagine that ADC input could become saturated but it's here used for passive monitoring not as an active element in the current control loop.
With too high rense resistor when "saturation point" is reached anything between that point and max. value (i.e. 500 mA) will give the same output current that indeed looks like saturation. So that term makes sense.

EDIT: Huh, I'm still too sleepy. I forgot a small detail that max. output is defined with 2.5V voltage reference  ;). Therefore everything is just as it has to be.
« Last Edit: March 25, 2017, 09:06:05 am by prasimix »
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Output current accuracy in CC mode
« Reply #661 on: April 03, 2017, 03:03:44 pm »
I finally managed to obtain a better DMM, if that can be said for Fluke 287. It's new, manufactured two months ago, and I presume that is good enough calibrated. Since in firmware M5 we are adding third decimal place for output values I'd like to see is that possible in practice. Chosen voltage reference, and combination of 15-bit ADC and 16-bit DAC should provide 1 mV, 1 mA resolution.

If output is in CV mode of operation it seems that programmed output voltage value can be accurately maintained for many hours (when initial drop without remote sensing is ignored). Don't know if the same can be said for many days or weeks what professional units usually claims. I didn't leave it for such long period yet.

Another scenario is CC mode of operation. There I have something that I cannot explain. Lets take as example an extreme when max. output current is set. With voltage set to 15 V and power resistor of 2 Ohms output will surely enters CC mode for current set to 5 A. Current control loop measure current as voltage drop on R65 (see down right corner, Sheet 3). Power dissipation on R65 is 0.5 W for 5 A, that will heat it considerably very quickly (but it can manage it since it's rated for 2-3 W) and that will affect its resistance despite of how low TCR it has.
Change in its resistance should affect output current and that is something that I can be easily monitored on Fluke which has relative mode of operation (Reference is starting value). I got the following situation after about minute:



Current starts to drop as R65 is heating up. That I understand. Something that I don't understand why ADC cannot measure that difference. That -0.34% or 17.2 mA on 5 A represents almost 113 LSBs/levels/steps on 15-bit scale, but ADC reports changes of barely +/-1 LSB. ADC (IC13, see Sheet 4) measure I_MON (pin 6 on IC7A).
Why I need that? If ADC can measure that difference it could be possible to some extent to maintain with firmware set current in CC mode despite the Rsense resistance fluctuation. Or should I simply forget that since difference is not so huge (I didn't measure more then -0.4%). Other possibility is to push user during calibration process to wait for e.g. 60 or more seconds before externally measured value can be entered that will be used for calculating required correction.

Offline Macman

  • Regular Contributor
  • *
  • Posts: 77
  • Country: gb
Re: Output current accuracy in CC mode
« Reply #662 on: April 04, 2017, 11:56:30 pm »
Why I need that? If ADC can measure that difference it could be possible to some extent to maintain with firmware set current in CC mode despite the Rsense resistance fluctuation. Or should I simply forget that since difference is not so huge (I didn't measure more then -0.4%). Other possibility is to push user during calibration process to wait for e.g. 60 or more seconds before externally measured value can be entered that will be used for calculating required correction.

As no one else has answered yet. I will give my guess.
I assume when in constant current mode the current for the constant current is measured by the voltage across R65. When R65 heats up less current is required to give the same voltage across R65 so the PSU gives less current output.
When in constant current mode the ADC measured value will be the same irrespective of the temperature of R65 because the PSU will change its output control to maintain the constant voltage across R65. 
 
The following users thanked this post: prasimix

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Re: Output current accuracy in CC mode
« Reply #663 on: April 05, 2017, 07:34:42 am »
Thanks once again. I'm wondering how professional units resolve this issue: using huge Rsense (with heatsink?) and low TCR (i.e. below ±5 ppm/K) or some sort of temp measurement is added into current control loop to compensate such deviation?
Question is now what to do during current calibration procedure: wait until Rsense is heated up and then enter externally measured value? In that case when output enters CC mode, output current will be a little bit higher at the beginning. That is not too much (less then 0.5 %) but it that acceptable behavior for most of you?
« Last Edit: April 05, 2017, 09:07:08 am by prasimix »
 

Offline Strada916

  • Frequent Contributor
  • **
  • Posts: 252
  • Country: au
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #664 on: April 05, 2017, 09:00:22 am »
Ppm/degrees Celsius?

Sent from my D6503 using Tapatalk

The Bone, the Off-White, the Ivory or the Beige?
 

Offline Strada916

  • Frequent Contributor
  • **
  • Posts: 252
  • Country: au
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #665 on: April 05, 2017, 09:01:45 am »
Also is there any flow from low current range?

Sent from my D6503 using Tapatalk

The Bone, the Off-White, the Ivory or the Beige?
 

Offline Strada916

  • Frequent Contributor
  • **
  • Posts: 252
  • Country: au
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #666 on: April 05, 2017, 09:23:13 am »
No. What i meant is is there flow from the low range when the high range in in operation?

Sent from my D6503 using Tapatalk

The Bone, the Off-White, the Ivory or the Beige?
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #667 on: April 05, 2017, 09:25:48 am »
Shouldn't be since Q13 is switched off in that case.

Offline Strada916

  • Frequent Contributor
  • **
  • Posts: 252
  • Country: au
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #668 on: April 05, 2017, 09:26:28 am »
Have you taken measurements?

Sent from my D6503 using Tapatalk

The Bone, the Off-White, the Ivory or the Beige?
 

Offline Strada916

  • Frequent Contributor
  • **
  • Posts: 252
  • Country: au
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #669 on: April 05, 2017, 09:29:36 am »
Also what does the data sheet say on temp Vs resistance for the sense resistor? Could there be VD at the board to board connectors? (Volt Drop)

Sent from my D6503 using Tapatalk
Edited

Also what do the relays specs say?
« Last Edit: April 05, 2017, 09:38:17 am by Strada916 »
The Bone, the Off-White, the Ivory or the Beige?
 

Offline Macman

  • Regular Contributor
  • *
  • Posts: 77
  • Country: gb
Re: Output current accuracy in CC mode
« Reply #670 on: April 05, 2017, 09:36:09 am »
Thanks once again. I'm wondering how professional units resolve this issue: using huge Rsense (with heatsink?) and low TCR (i.e. below ±5 ppm/K) or some sort of temp measurement is added into current control loop to compensate such deviation?
Question is now what to do during current calibration procedure: wait until Rsense is heated up and then enter externally measured value? In that case when output enters CC mode, output current will be a little bit higher at the beginning. That is not too much (less then 0.5 %) but it that acceptable behavior for most of you?

I don't know how 'professional' units solve this issue. Other than what you have already suggested the only things I can think of are:

1. Blow air over the shunt resistor.

2. Put a temperature sensor close to the shunt resistor and make a compensation in software.

3. Have a simulation in the software for the temperature changes in the shunt resistor and make a compensation to the current based on the simulated temperature.

With regard to the calibration, my preference would be to allow some time for the temperature of the shunt resistor to stabilise before entering the measured value.
 
 
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #671 on: April 05, 2017, 09:58:12 am »
Also what does the data sheet say on temp Vs resistance for the sense resistor? Could there be VD at the board to board connectors? (Volt Drop)

Cannot find anything in particular, apart from ? ±75 ppm/oC figure (link).

Sent from my D6503 using Tapatalk
Edited

Also what do the relays specs say?

There is no doubt that some voltage drop exist along a way from Rsense point to output binding posts, but that makes difference only in CV mode. When in CC mode the same current flows, and macman remark makes sense.

Offline Strada916

  • Frequent Contributor
  • **
  • Posts: 252
  • Country: au
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #672 on: April 05, 2017, 10:07:30 am »
+-0.0075% per °C that is not really that much. Must be something else?

Sent from my D6503 using Tapatalk
« Last Edit: April 05, 2017, 10:11:49 am by Strada916 »
The Bone, the Off-White, the Ivory or the Beige?
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Re: Output current accuracy in CC mode
« Reply #673 on: April 05, 2017, 10:15:05 am »
Thanks once again. I'm wondering how professional units resolve this issue: using huge Rsense (with heatsink?) and low TCR (i.e. below ±5 ppm/K) or some sort of temp measurement is added into current control loop to compensate such deviation?
Question is now what to do during current calibration procedure: wait until Rsense is heated up and then enter externally measured value? In that case when output enters CC mode, output current will be a little bit higher at the beginning. That is not too much (less then 0.5 %) but it that acceptable behavior for most of you?

I don't know how 'professional' units solve this issue. Other than what you have already suggested the only things I can think of are:

1. Blow air over the shunt resistor.

2. Put a temperature sensor close to the shunt resistor and make a compensation in software.

3. Have a simulation in the software for the temperature changes in the shunt resistor and make a compensation to the current based on the simulated temperature.

With regard to the calibration, my preference would be to allow some time for the temperature of the shunt resistor to stabilise before entering the measured value.

My comments on:
1. That is already in place, and possibly thanks to that current drift is stabilized pretty quickly and maintained over longer period of time.
2. I'll skip that for a while, but could possibly be cheaper then deploying a massive low TCR sense resistor.
3. Sounds good, question is where to acquire temperature data. The NTC1 (Sheet 1) is primarily used to monitor pre-regulator section and it's on the opposite end of the PCB. But, ADC (IC 13) has built-in temperature sensor. Maybe it can be use as a basis for such simulation.

Finally a good news is that on low range I didn't notice any current drift when e.g. Iout= 450 mA (max. is 500 mA) for over an hour. I was think that situation is the same as in high range, but it is not :).

What can be done almost instantly is introducing "heating up" delay when high range calibration is under way, as you also preferred.
« Last Edit: April 05, 2017, 10:16:45 am by prasimix »
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2022
  • Country: hr
    • EEZ
Re: DIY SCPI programmable dual channel bench PSU 0-50V/3A (now EEZ H24005)
« Reply #674 on: April 05, 2017, 10:28:18 am »
+-0.0075% per °C that is not really that much. Must be something else?

Sent from my D6503 using Tapatalk

Not for people like you and me, but for one who is "calibrated" in ppms that is possibly huge, ugly and unacceptable  :-//.
Let's say that on max current resistor temperature rise for 50 oC, that is 0,375% what is in range with what I initially reported (0.34%).


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf