玩转柱塞泵续

来源:互联网 发布:新热血英豪mac打不开 编辑:程序博客网 时间:2024/04/20 11:16

      昨天简单地将步进电机运行起来了,确实能够准确抽取液体。前面说的,柱塞泵自带一个定位光耦,我想应该是怕柱塞运行出界导致毁灭性破坏而起的保护措施。那么在步进电机运行时,同时不停判断光耦信号,就能在柱塞运行到零刻度时停下来。换言之,光耦所定位的位置就是柱塞到零刻度的位置。

      裸的光耦并不能直接用到我的主板上,需要串电阻,至少是330欧姆以上的电阻,翻遍了所有地方只找到120欧的,拿3个串起来用也一样了。顺便了解了下光耦,全称是槽型光电开关,由一个二极管和三极管构成,具体原理无从研究,大概的意思就是槽内有东西就能阻断光线,产生触发信号。焊接完毕后,编了段代码来试验是否起作用,逻辑是否正确。直接上步进电机的话,如果光耦判断失效那么柱塞泵就毁了。还是要用到串口调试助手,这真是个好东西,基本思路就是在一个循环里面不停判断光耦电平信号,然后我拿一个纸片插到槽内,就会反馈一个信号。验证完毕,和预想的一样。

      接下来动真格了,准备和步进电机联调。这个时候发现一个问题,当定位板到达光耦位置时,柱管内仍留有大概1mL的空隙,也就是说和我预想的不一样。上面说了,我觉得光耦所定位的位置就是柱塞到零刻度的位置,然而实际上柱塞才到1mL刻度的地方。开始怀疑柱塞泵是不是设计有问题,电话问询厂家,厂家说就是这样的,但是不清楚具体怎么编程控制。想了很久,开始怀疑,光耦根本就不是为了定位零刻度的,只是起一个定位作用,光耦到零刻度这部分距离需要计算。这个时候想到了之前的那个成型的柱塞泵,每次初始化都是上下活动一下。想到这里,我终于明白了,光耦是为初始化而存在的。那初始化的时候是先向上还是向下呢,仔细观察,25mL底部还有很大一段空着的余地,显然是先下后上。瞬间写完代码,试验也成功了。这样,柱塞泵的控制就全部结束了。

小结:

1.步进电机负责定量,光耦负责初始化。

2.柱塞在任何位置都可以初始化,自动复位到零刻度。

3.初始化时,柱塞先向下运行一段,之后向上运行,直到捕捉光耦信号后,继续运行到零刻度。

4.光耦位置和零刻度线之间的距离需要通过反复试验来得出。

0 0
原创粉丝点击