【发布时间】:2020-09-15 06:41:44
【问题描述】:
我需要帮助解决我的步进电机控制设置问题。我正在尝试以给定的速度将步进电机旋转一定角度。我连接并按如下方式对设置进行了编程,但我无法让步进电机移动。我怀疑这是我的代码,但是,我在网上找到了很少的编码资源。如有任何帮助和/或建议,我将不胜感激。
连接和接线:
MATLAB 程序:
clear all; clc;
MainRasp = raspi('192.168.1.134', 'pi','raspberry');
ENA = 4;
DIR = 17;
PUL = 18;
configurePin(MainRasp, PUL, 'DigitalOutput');
configurePin(MainRasp, DIR, 'DigitalOutput');
configurePin(MainRasp, ENA, 'DigitalOutput');
writeDigitalPin(MainRasp, PUL, 1);
writeDigitalPin(MainRasp, DIR, 0);
writeDigitalPin(MainRasp, ENA, 1);
angle = 40;
steps_per_rev = 100;
micro_step = 8;
angle_per_step = 360/(steps_per_rev*micro_step);
numSteps = floor(angle/angle_per_step);
for step = 1:numSteps
writeDigitalPin(MainRasp, PUL, 1);
pause(0.001);
writeDigitalPin(MainRasp, PUL, 0);
pause(0.001);
end
更新: 我的连接和程序是正确的。我发现我使用的步进电机驱动器(DM320T)需要 PUL 的 4-5v(高)数字信号电压。但是,树莓派数字引脚输出 0-3.3v。实际上,DM320T 仍将其读取为低电平。
因此,我改用了 Arduino Micro,它的数字引脚电压为 0-5v,能够提供 PUL 的要求。
感谢所有评论的人。
【问题讨论】:
-
什么不起作用?
-
步进电机不转。
-
您可能需要查看stackoverflow.com/help/how-to-ask,以便我们更好地为您提供帮助。
标签: matlab raspberry-pi stepper motordriver