Управление шаговым двигателем с DM320T, Raspberry Pi 3B и MATLAB - PullRequest
1 голос
/ 28 мая 2020

Мне нужна помощь в поиске и устранении неисправностей в моей настройке управления шаговым двигателем. Я пытаюсь повернуть шаговый двигатель на определенный угол с заданной скоростью. Я подключил и запрограммировал установку следующим образом, но я не могу заставить двигаться шаговый двигатель. Я подозреваю, что это мой код, однако я нашел в Интернете небольшой ресурс по кодированию об этом. Буду признателен за любую помощь и / или предложения.

Подключения и проводка:

Connections and Wiring

Программа 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) требует напряжения цифрового сигнала 4-5 В (для High) для PUL. Однако цифровой вывод Raspberry Pi выдает напряжение 0–3,3 В. Фактически, DM320T по-прежнему считал его низким.

В результате я переключился на Arduino Micro с цифровым напряжением на выводах 0–5 В и способным обеспечить требование PUL.

Спасибо всем, кто прокомментировал.

...