Differential Capacity versus Voltage Plotter (Cycler output file to Origin dQdV importer)

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น • 11

  • @easyaspieee777
    @easyaspieee777 ปีที่แล้ว

    Hello,
    Thank you for this helpful video. Do you also have a program for differential voltage analysis? I need this for my work and would be grateful for your help.

    • @conradgillardscientific
      @conradgillardscientific  ปีที่แล้ว +1

      Hi, thank you for watching my video! I do not currently have a differential voltage program, but developing one is on my to-do list. When it is finished I will let you know by replying to this comment. Also please feel free to view my other programs on my channel and site, in case these are helpful to you :)

    • @easyaspieee777
      @easyaspieee777 ปีที่แล้ว

      @@conradgillardscientific thank you. I look forward to it eagerly. I'll definitely check out your other videos.

  • @15bit62
    @15bit62 2 ปีที่แล้ว

    Possibly a stupid question, but the V values you use for the x-axis. dV is calculated from (V2-V1) for the differential calculation, but when you plot dQ/dV at a given V, is it against V1, V2, or the midpoint between them?

    • @conradgillardscientific
      @conradgillardscientific  2 ปีที่แล้ว

      Thank you for watching and for your comment! It is definitely not a stupid question, you are correct that the discrete derivative can be calculated in the ways you describe (known as forward, backward and midpoint difference operators).
      However my program does not use any of these methods. This is because doing so will produce a very noisy plot. The root of cause of this noise is that we do not directly manipulate the voltage in our battery experiments. Instead we apply current, and the voltage varies according to the characteristics of the cell.
      Consequently, my program instead uses Savitzky-Golay differentiation, with an 11 point window, and 100 sample points. This means that the program first samples the capacity data at 100 evenly distributed voltage values. Then for each sampled point, it fits a polynomial to the point in question, and the 5 sampled points on either side. Then it analytically calculates the derivative of the polynomial at the point to be analysed.
      The reason I used 100 sample points and an 11 point window is because through trial and error I found these values gave a good balance of detail and smoothness. However these can be changed in the case of particularly noisy data, or if extra detail is needed.
      Well this turned into a long reply but I hope it answered your question! One last thing to mention is that if you would like to see the exact equation that I implemented, it is shown on the following site: www.statistics4u.info/fundstat_eng/cc_savgol_coeff.html

    • @15bit62
      @15bit62 2 ปีที่แล้ว

      @@conradgillardscientific - Thanks, that did answer the question. I'm just doing something similar in Excel with VBA, and actually we do OK with a basic crude integration with adjustment the voltage "V2-V1" window to clean up the spikes. I suspect we are oversampling the data quite a lot with our chosen timesteps though. I was thinking about doing a S-G smoothing on the data also, but being a somewhat poor mathematician i'm not really sure how to write a reliable resampling routine to make the data equally spaced in voltage prior to the smoothing 🙂
      As an interesting aside, at least one of our battery cycler suppliers is doing the same thing as me in their software to calculate dQ/dV (but with what looks like a fixed V2-V1 window). Which is a little disappointing.

    • @conradgillardscientific
      @conradgillardscientific  2 ปีที่แล้ว

      @@15bit62 That's great you managed to get satisfactory results using a "V2 - V1" method. I initially tried a similar approach, but found the results were too approximate, so went with the more rigorous SG approach. And I know how you feel about the built-in dQ/dV calculation - I have tried cycler software with a similarly disappointing feature. This was one of the reasons I decided to write this program.
      As for writing your own SG routine, if it helps you are welcome to download this program from my website and repurpose the code to perform your required function. It is also written in VBA so hopefully it should not be too hard to adapt. The link is: tinyurl.com/2tnrp6rn
      Also I presume that you would like to develop your program yourself, and I think it would be a great way to build programming skills. However, I just wanted to mention that as part of my business I am now offering program development services. So if you would like help with this or a future program, please feel free to contact me and it would be my pleasure to work with you :)

    • @15bit62
      @15bit62 2 ปีที่แล้ว

      @@conradgillardscientific That's very generous thanks. I'll have a look through that and see if i can get an idea of how you do the various steps. I'm doing something rather more comprehensive than what you have here and with a different objective, so it will need a little translating.

    • @conradgillardscientific
      @conradgillardscientific  ปีที่แล้ว

      @@15bit62 You're most welcome, I hope it helps! And please let me know how it goes :)

  • @elamathymett1668
    @elamathymett1668 2 ปีที่แล้ว

    Hello Conrad, May I get a copy of this code please?

    • @conradgillardscientific
      @conradgillardscientific  2 ปีที่แล้ว +1

      Thanks for watching, and of course happy to share! Please send me an email at conrad.gillard@gmail.com so that I have your email address, then I will send it to you :)