Skip to content
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

Pulsatile Flow #3

Open
alomabg opened this issue Oct 25, 2023 · 4 comments
Open

Pulsatile Flow #3

alomabg opened this issue Oct 25, 2023 · 4 comments

Comments

@alomabg
Copy link

alomabg commented Oct 25, 2023

I am attempting to generate a pulsatile waveform, as depicted in the attached image, using the dualchannel_multistep.py script. However, I have encountered several issues:

Limited Discretization: It seems that the function can only be discretized into 20 steps/intervals. This limitation restricts the granularity of the waveform, potentially affecting the accuracy of my desired waveform.

Lag Between Steps: I've noticed a lag between each step in the waveform. This lag disrupts the continuous transition between steps that I need for a smooth pulsatile flow.

Individual Pump Control: I can't seem to find a way to run only one of the pumps independently. It appears that both pumps are being activated simultaneously.

Any assistance or guidance on addressing these issues would be greatly appreciated. Thank you for your support.

Waveform_Chemyx_dualchannel

@cukelarter
Copy link
Owner

Hi alomabg,

Thank you for bringing this issue to my attention. In order to better diagnose the issues listed I would ask that you provide information as to what Chemyx Syringe Pump model you are using, as well as a copy of the code you are attempting to run. The individual pump control may be related to which pump parameters are set and how you are starting the run.

However, I believe that the pumps themselves can only handle linear flow ramping, so the current hardware limitations prevent a truly smooth pulsatile waveform from being expressed. It is also impossible to control the inherent lag between steps, even setting the delay to 0 will result in a slight delay as the motors/mechanical components recalibrate and ramp up. I would advise reaching out to Chemyx to confirm that this is the case.

In my opinion, the best way to discretize this would be to have a 2-step paradigm. Ramp up to near peak, factor in the static/constant delay between steps, and then ramp down. This may not fit into the timescale required if the constant delay is too long for your needs. Another alternative is to assess the necessity of pulsatile flow in the context of your study or use case.

@alomabg
Copy link
Author

alomabg commented Oct 25, 2023

Dear cukelarter,

Thanks for the prompt and detailed answer.

I'm currently working with the Chemyx Fusion 4000 and have developed a script that segments the waveform into intervals and linearizes the steps. This script generates several variables such as rate1, rate2, volume, and delay, which are then utilized in a modified version of your dualchannel_multistep.py script. I've included both scripts in the attached .zip file for reference.

However, after reviewing the information you provided, it appears that the Chemyx Fusion 4000 may not be suited for my requirements. I'm curious if you think there's a way to extend the number of steps in the system, or if this limitation is intrinsic to the Chemyx software and cannot be addressed through external programming.

Thanks for your help and insights!

git_share.zip

@cukelarter
Copy link
Owner

Hi alomabg,

Thank you for providing the relevant contextual information. After reviewing your scripts I have found the reason why both channels start rather than both. When calling the startPump function, the default for dual-channel pumps is starting both at once. In order to use only one pump (or use cycle mode) you must set the mode parameter when calling the function. You can review the documentation within the core/connect.py file. Calling conn.startPump(mode=1,multistep=True) will run only pump 1, and mode=2 will run only pump 2.

With regards to your need for pulsatile flow, I believe you may be correct in the assessment that the pump may not be suited to your requirements. From my understanding the limitations described are coded into the hardware, and therefore inaccessible via external programming. I have only worked on developing the software side here, but if you reach out to Chemyx you may be able to get in touch with an engineer who works on the serial/hardware command side of things and who may be able to provide a definitive answer or workaround.

Best of luck, and let me know if you have any further questions or updates!

@alomabg
Copy link
Author

alomabg commented Oct 30, 2023

Dear cukelarter,
Thank you very much for your time and insights.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants