怎么样能让步进电机加两个感应器在丝杠上来回跑

2024-11-02 17:23:05
推荐回答(4个)
回答1:

在丝杆的两端加接近开关,或者轻触开关之类的开关,把开关信号输入电机驱动的方向控制端上,就可以了。如果你自己写程序控制,那么把丝杆的长度,螺距计算好,控制马达转多少圈后自动反向就可以了

回答2:

两个传感器作为正负限位开关,正限位触发了就做PLC程序,让电机反方向转,负限位出发了就朝正方向转
用PLC或者自己写单片机程序来实现,或者使用我们的智能驱动器,直接自己就可以实现,多复杂都没关系(PS 不是做广告)

回答3:

GV = 1
while True:
#传感器1

input_value3 = GPIO.input(31)
#传感器2
input_value4 = GPIO.input(29)
if input_value3 == False and input_value4 == True:
#电机反转

Backward()
GV = 0
if input_value4 == False and input_value3 == True:
#电机正转

Forward()
GV = 1
if input_value3 == True and input_value4 == True:
if GV == 0:
Backward()
if GV == 1:
Forward()
我先复述一下题主的问题:
两个传感器分别位于导轨的两端(用于检测导轨上的运动物体是否到达两端),当物体运动到A传感器时改变电机转向使物体向传感器B跑,同样当物体到达传感器B时,改变电机转向让物体向传感器A跑,以此循环,达到来回跑的目的?
代码解释:
while里面的前两个if好理解,分别是物体位于传感器A处和传感器B处时让电机改变转动方向,需要理解一下的是下面的if ---> if input_value3 == True and input_value4 == True:
这个if是当物体位于两个传感器之间的时候该向那个方向跑的控制逻辑,因为当物体位于中间的时候,物体有两种可能的运动方向(向传感器A跑或者向传感器B跑),所以我用了一个 GV这个变量,GV表示的意思是物体前一刻的运动方向,当物体位于中间的时候只需要判断一下物体前一时刻的运动方向就只到物体应该继续向那边跑了, 然后循环以上逻辑,物体就可以来回跑了。
代码使用python写的,应该还是比较清晰的(前两天用树莓派刚好做了这个功能,所有就发上来了)!

回答4:

用单片机,PLC