Author Topic: Siglent SPD3303X PSU Set lower current cutoff limit to charge batteries???  (Read 747 times)

0 Members and 1 Guest are viewing this topic.

Offline t1dTopic starter

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
I want to charge a LiPo. Its charging board has been removed. I set the 3303's charge voltage as 4.6V and the charge current as 1A, per the data sheet. The data sheet also says the charge is complete when the current = 200mA. What are the 3303's functions to shut off the charge cycle automatically at this lower current limit and how are they set? If I must use EasyPower, please give the details as to the code and how to enter it - I have not used EasyPower to do such a thing. I did read the manual, but did not find the answer.

Thank you so very much, for your help!
 

Offline t1dTopic starter

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
My PM to tautech =
Quote from: t1d on Yesterday at 11:02:57 pm

    I could use your help with this one, please.

    https://www.eevblog.com/forum/testgear/siglent-spd3303x-psu-set-lower-current-cutoff-limit-to-charge-batteries/

    As always, thank you for all you do for the EE community.

   [t1d]

Hiya [t1d]
Yep seen it and already done some looking for simple answers.
Programming is not my thing but I'd be fairly sure it's straightforward.
The Users guide gives SCPI commands that should enable you to set a channel to OFF when the current reaches your cutout limit.
https://int.siglent.com/u_file/download/22_11_25/SPD3303X_QuickStart_E02A.pdf
Start on P25.

Then you need establish connectivity and I booted EasyPower to see what was available for programming but without a PSU connected the full menus didn't show so unknown if it supports a current cutout without more testing.

I might flick HQ Tech support a message for the command string that would support what you want to do.
Regards
tautech

My reply to tautech =

Thanks, [tautech,]

Thanks for your fast response and expertise!

You are correct, the commands for controlling current in EasyPower does appear to make it doable. But, I am not much of a coder and have zero experience with SCPI... Even the basics, like does it need an IDE and compiler? How is the program communicated; thumb drive, LAN? I am not expecting you to have these answers, of course. Just thinking out loud...

I like your idea of asking HQ. I also need to research the basics of SCPI.

[t1d]
ps I will post our communications to the thread.

 

Offline t1dTopic starter

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
Ooo, I would have missed this detail... Thankfully, on my first charge, I did not blow anything up. Well, I have not noticed any problems, as of yet, anyway...



 

Offline mawyatt

  • Super Contributor
  • ***
  • Posts: 3403
  • Country: us
We are not good at software either, but did manage to get various instruments working with remote commands.

Here's a link that included the SPD3303X that you might find useful, and some crude Python routine to control a TH2832 LCR Meter and PS to heat a resistor, very kludge setup for temp sweep to measure device parameters temp effects.

https://www.eevblog.com/forum/testgear/lcr-meter-plot-software/

Edit: See you already posted.
BTW might consider added a series diode (SBD) to keep the battery from discharging back into the PS, or a least a series resistor/fuse to limit current.

Anyway, hope this helps.

Best

« Last Edit: May 13, 2024, 12:51:35 am by mawyatt »
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline t1dTopic starter

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
Thanks, mawyatt! I will give that information a look.

Just starting to research SCPI =
"SCPI (Standard Commands for Programmable Instruments) is an ASCII-based programming language for test and measurement instruments. SCPI commands use a hierarchical structure known as a tree system. Associated commands are grouped under a common node or root, thus forming subsystems. "

Basic Questions For Myself =
Do I need an IDE/Compiler?
How is the program communicated to the PSU? Thumb Drive/USB/etc?

Some resources. I have not looked at them, yet:

https://rfmw.em.keysight.com/bihelpfiles/Truevolt/WebHelp/US/Content/__I_SCPI/Scpi_introduction.htm

https://www.keysight.com/us/en/assets/9921-01870/miscellaneous/SCPI-99.pdf

https://en.wikipedia.org/wiki/Standard_Commands_for_Programmable_Instruments

Cheers!
 

Offline mawyatt

  • Super Contributor
  • ***
  • Posts: 3403
  • Country: us
We just used Python from the usual development environment on a laptop. See Python code provided and see how we accessed the SDP3303X.

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline t1dTopic starter

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
Ooo, I would have missed this detail... Thankfully, on my first charge, I did not blow anything up. Well, I have not noticed any problems, as of yet, anyway...



Well, this adds an interesting twist... The voltage and current requirements of the diode, itself, must be considered in relation to the minimum voltage and minimum currents that the PSU will supply, within the full charging cycle. (I am getting tired and may not have said that well.) Hmm... Thoughts to self = 1) Might that require a negative voltage rail, to offset the diodes needs? 2) Might some sort of "ideal" diode circuit need to be employed? Yep, too tired to even think of the proper questions.

I have a IN5822 Schottky Diode in my breadboard bin. It has a breakdown current of 3.0A. (An 1A diode is too tight on the 1A charging rate, IMO.) Its forward voltage is 0.525V. Upper voltage limit is 40VDC/continuous. Its current usage and/or leakage is not stated. Note to self = Calculate this from data, look at graphs and/or test. DS attached.

No one need bother with getting overly concerned with my fuzzy out loud thinking. As said, I'm just tired...
 

Online AVGresponding

  • Super Contributor
  • ***
  • Posts: 4701
  • Country: england
  • Exploring Rabbit Holes Since The 1970s
Two observations of things for you to bear in mind:

The diode forward voltage quoted will likely be at full rated current; it will be less at the cutoff rate you specify (meaning if you assume 0.525V and it's actually 0.3V, you're charging your cell to 4.3V)

Charging a lithium cell to the nuts may be necessary for a capacity test, but it is rarely desirable otherwise
nuqDaq yuch Dapol?
Addiction count: Agilent-AVO-BlackStar-Brymen-Chauvin Arnoux-Fluke-GenRad-Hameg-HP-Keithley-IsoTech-Mastech-Megger-Metrix-Micronta-Racal-RFL-Siglent-Solartron-Tektronix-Thurlby-Time Electronics-TTi-UniT
 

Offline t1dTopic starter

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
Thank you, AVG. Replies within quote...
Two observations of things for you to bear in mind:

The diode forward voltage quoted will likely be at full rated current; it will be less at the cutoff rate you specify (meaning if you assume 0.525V and it's actually 0.3V, you're charging your cell to 4.3V)
I am not sure that I understand this well. I know that the specifications of the actual component in hand are likely to be different than the data sheet specifications. And, I realized that that fact means that I should fully characterize the specifications of the actual diode I use, in order to do the math calculations of the charge cycle. Is that your meaning, or is it something different?

Charging a lithium cell to the nuts may be necessary for a capacity test, but it is rarely desirable otherwise

Agreed. But, for learning purposes, the exacting details are valuable.
Thank you for your help!
 

Offline t1dTopic starter

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
tautech is doing a great job in tracking down a solution. Here is what Siglent HQ said to him:
From HQ:
SPD3000X does not have the turn off function when the output current below a value.
If we want to turn off it, need to judge the feedback current(use the command to read the output current, if it is less than a value, send a command to off the output).  so may need a script to run and monitor it.

"MEASure:CURRent? CH1"     ----- Read the CH1 output current.         
"OUTPut CH1,OFF"                -----Turn off CH1
 

tautech is also checking with some other sources. Thanks tautech, for all of your amazing help!
 
The following users thanked this post: Mortymore

Offline tautech

  • Super Contributor
  • ***
  • Posts: 28669
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
We just used Python from the usual development environment on a laptop. See Python code provided and see how we accessed the SDP3303X.

Best,
:-+
Simple enough to this non-coder.  :palm:

From your Python code:
#Default USB Port for SDP3303X, this has no RS232 port
    SPD3303X = "USB0::0xF4EC::0x1430::SPD3XIDC5R0609::INSTR"
    serial1.open(SPD3303X)#Open USB SDP3303X
    #Reset
    serial1.send_msg('*RST')
    #Identify Power Supply
    serial1.send_query_msg('*IDN?', Timeout_default)
    msgBuf= serial.msg_buf
    print (msgBuf)
    print()   
       
    #Set PS OFF
    serial1.send_msg('OUTP CH1,OFF')
    serial1.send_msg('OUTP CH2,OFF')
    serial1.send_msg('OUTP CH3,OFF')
    #Set PS Default Voltage to Zero
    serial1.send_msg('CH1:VOLT 0')
    time.sleep (1)
   
    #Set Default Current Limit for 10W with 10 Ohm Resistor (1 Amp)
    serial1.send_msg('CH1:CURR 1')

t1d will set his PSU output to max desired values and maybe use code to turn output ON then have it monitor the PSU until his OFF current is reached.


So how would we express ?
If current is less than 200mA = ('OUTP CH1,OFF')


Simple enough for t1d to test any code by using lesser values and a pot to reduce the load below the Ch OFF trigger point.
Avid Rabid Hobbyist.
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Offline mawyatt

  • Super Contributor
  • ***
  • Posts: 3403
  • Country: us
tautech is doing a great job in tracking down a solution........

tautech is also checking with some other sources. Thanks tautech, for all of your amazing help!

One of the unknown advantages to new folks that haven't been lurking here long. Rob (tautech) is a great resource for folks that have Siglent gear, and always willing to help!!

Same goes for Paul from R&S, but haven't seen anything similar of the Rigol folks which is unfortunate as Rigol could directly benefit from having a knowledgable rep here.

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline mawyatt

  • Super Contributor
  • ***
  • Posts: 3403
  • Country: us
We just used Python from the usual development environment on a laptop. See Python code provided and see how we accessed the SDP3303X.

Best,
:-+
Simple enough to this non-coder.  :palm:

From your Python code:
#Default USB Port for SDP3303X, this has no RS232 port
    SPD3303X = "USB0::0xF4EC::0x1430::SPD3XIDC5R0609::INSTR"
    serial1.open(SPD3303X)#Open USB SDP3303X
    #Reset
    serial1.send_msg('*RST')
    #Identify Power Supply
    serial1.send_query_msg('*IDN?', Timeout_default)
    msgBuf= serial.msg_buf
    print (msgBuf)
    print()   
       
    #Set PS OFF
    serial1.send_msg('OUTP CH1,OFF')
    serial1.send_msg('OUTP CH2,OFF')
    serial1.send_msg('OUTP CH3,OFF')
    #Set PS Default Voltage to Zero
    serial1.send_msg('CH1:VOLT 0')
    time.sleep (1)
   
    #Set Default Current Limit for 10W with 10 Ohm Resistor (1 Amp)
    serial1.send_msg('CH1:CURR 1')

t1d will set his PSU output to max desired values and maybe use code to turn output ON then have it monitor the PSU until his OFF current is reached.


So how would we express ?
If current is less than 200mA = ('OUTP CH1,OFF')


Simple enough for t1d to test any code by using lesser values and a pot to reduce the load below the Ch OFF trigger point.

KISS but not too Simple (KISS-BNTS) is the basis for just about everything we do, especially wrt coding ;)

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline tautech

  • Super Contributor
  • ***
  • Posts: 28669
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Rob (tautech) is a great resource for folks that have Siglent gear, and always willing to help!!
Thanks Mike and in cases like these I see a real need when a programmable instrument doesn't support the exact needs....guess it's the practical side of the way I think.
 
I've charged many many SLA's and just manually stopped the charge when the charge rate has dropped away from Vset.

Code to stop charge when a limit has been set could be quite useful for a set and forget charge that I might do with my 40V 60A capable SPS5042X and 24V systems.

KISS-BNTS code is what we need......
Avid Rabid Hobbyist.
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Offline t1dTopic starter

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
Three cheers for mawyatt and tautech!!!
Woot! Woot! Woot!

Thanks to everyone, for your help and participation!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf