-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rrpog output is limited to set voltage or current on DCP405 #94
Comments
Discussion opened on EEVBlog forum: https://www.eevblog.com/forum/projects/eez-h25005-a-possible-successor-of-eez-h24005-programmable-power-supply/msg3530232/#msg3530232 |
New proposal with corrections suggested by Kleinstein here: |
Nice, I have a EEZ-Flow to test most of it, but it's SCPI is written for a silgent AWG. It figures out (calibrates) the scaling and offset factor of the RPOG interface (and circuits in between), also if you are using scaling resistors in front of the circuit. If you want to I can rewrite this so it can run with only a BB3 using:
Just let me know, I just have to find 1-3 evenings to rewrite the EEZ-flow. It will be Voltage only, I can't risk losing my precious DCP405's, I use them. But once it does voltage, it will be easy to change to current. Let me know. |
I think that DCP could be precise enough, if not I can rearrange flow to use e.g. AOUT on MIO module. Anyway, no need to rush since I'll not be in position to assemble this PCB before end of next week. I have to prepare the latest AFE2 prototype first and will be busy with v1.7 testing, too. |
Here is the flow to test rprog function. I ran this with the latest studio version from GitHub: It uses 2 DCP405 modules:
The flow remembers the BB3 and the calibration data. Using the flow:
The flow script honours the OVP setting of channel 1 and will not set higher values and the sweep will also be limited to it. Calibration DOESN'T honour OVP it goes to the max range for most accuracy. If you put scaling resistors in front of the module, the script will still work. Just run a calibration and everything is adjusted. I'm interested if setting the jumper to GCOM instead of GND will bring the offset to 0V instead of the 53mV. The DCP405 is precise enough, although 5mV creates some noticeable steps, I worked around this by always comparing the measured values (with my AWG I only have set values). |
Excellent job! I tried flow and everything works. Of course, some things could be polished a little more, for example:
We also need better support for graphs in upcoming versions of EEZ Flow, for example to see labels on the X and Y axes. My graph currently looks like this: Anyway, feel free to commit this flow at https://github.com/eez-open/studio/tree/master/docs/tutorial |
I found in BB3 Terminal lots of errors that were not visible during flow execution. Some of them may be related to setting up an OVP trip. The situation should improve when EEZ Flow gets a debugger, or we will need to somehow display such errors during runtime to make it easier to modify the flow. Some of them may be related to setting up the OVP trip level: |
Make the rprog (voltage or current) honor the Vset/Iset limits.
In normal operation I always set things low to avoid magic smoke. With prog currently the voltage limit is completely off now. Looking into the schematics it doen't look hard to implement.
Attached is my proposed hardware change. It implements:
Except for the #93 part: It's a design only! I did not test this in hardware!
Explanation of the schematic:
Impact on BOM:
Needed software changes:
Possible issues.
There is a small race condition in this design: If Rprog steps above Vset/Iset, the signal will probably propagate thru the analog switch before it switches to the Vset/Iset limit due to the delay of the comparator, AND gate and switch. This is probably a very short period but is should be tested in the implementation if it is visible or problematic on the output (with or without load). E.q. will a step of Rprog above Vset/Iset cause an overshoot on the output of the DCP405?
The text was updated successfully, but these errors were encountered: