1

Тема: шаговый двигатель некорректно управляется программой

Прошу помочь решить проблему. Нужно сделать испытательную установку. В качестве управляющего и приводного элемента выбрано Freeduino 2009 и Motor Shield v3  с шаговым двигателем FL57ST76-0686A  http://electroprivod.ru/fl57st_h.htm
Для начало тестирую двигатель на простой программе сделанной из примеров приведенных в описаниях к Motor Shield v3
с учетом моих условий. вот скетч:

#include <AFMotor.h>  //Подключаем заголовочный файл библиотеки
//Создаем объект для двигателя на 2 канале (M3 и M4)
AF_Stepper motor(200, 2);
void setup() {
  motor.setSpeed(100);  // 100 оборотов в минуту
}

void loop() {
  motor.step(20000, FORWARD, SINGLE);     //100 оборот
  motor.step(20000, BACKWARD, DOUBLE);    //100 оборот
  motor.release();
  delay(1000);
}
подключал обмотки двигателя (провода) на колодке последовательно (слева на право) черный зеленый - М3, красный синий - М4. Провода (желтый белый) на GND не подключал.
Изменял параметр скорость в motor.setSpeed(об/мин)  (10,50,90,100,1000,120 об/мин). До 100 работа как бы (поясню ниже) корректная. После 100 скорость уменьшается, неравномерная (в процессе возникают обратные усилия - корпус дергается в обратную сторону) - какие-то проблему с управлением импульсами? не буду фантазировать - не специалист - ни в электрике ни в программировании, но мне казалось , что я справлюсь (надежды не теряю ? с вашей помощью).
Промерял реальную скорость, выполнение заданного числа оборотов (выполняется на глаз, по крайней мере число оборотов), а вот скорость нет:
на скорости 10 - 10 об. за 63 сек
50 - 72 с
100 - 80 с
120 - 97 с
Что не правильно? Подскажите.
У меня запроектировано иметь для этого двигателя на валу примерно 800 об/мин и момент 1,5 кгхсм. Возможно?
В описании на Motor Shield v3 сказано, что можно оба канала М1, М2 и М3, М4 для увеличения тока до 1,2А подключить на один двигатель. У меня не получилось - едва не спалил L29_ - кажется успел отключить - как это правильно сделать?
Надеюсь на помощь. Спасибо!

2 (2012-02-06 18:30:27 отредактировано AlexFisher)

Re: шаговый двигатель некорректно управляется программой

А каким напряжением запитываете? Для получения больших скоростей это важно. Обмотки имеют весьма ощутимую индуктивность, на больших скоростях из-за этого падает ток, а с ним и усилие на валу. Двигатель просто начинает пропускать шаги. Так что проблема Ваша чисто электрическая. Для получения максимальных скоростей Вам нужно:
1. В качестве питания двигателя применить источник тока с ограничением максимального напряжением (= максимальное напряжение шилды)
2. Использовать только полный шаг, 2 обмотки.
3. В программе предусмотреть "разгон" и "торможение" - чтобы учесть инерцию ротора

Эти знания почерпнуты с какого-то SNC-форума (там делали импульсный стабилизатор тока на 1А с максимальным напряжением 36В для каждого шаговика).

Мне кажется, 800 оборотов в минуту не получится с этого шаговика. 200 максимум. хотя...

3

Re: шаговый двигатель некорректно управляется программой

Спаибо! Попоробовал 24В от ЛиПо аккум. - помогло (по крайней мере 200 крутит), попробую 35В от источника.

4

Re: шаговый двигатель некорректно управляется программой

Позволю напомнить, что максимальное значение напряжения с которым может работать MotorShield составляет 25 В. Ограничение накладывают конденсаторы 25В/100 мкФ установленные в схеме питания моторчиков. Не превышайте его.
По даташиту ключевые микросхемы L292DD позволяют работать до значений что то около 36 В.
Не забывайте читать паспорт на MotorShield там указаны предельные значения.

5

Re: шаговый двигатель некорректно управляется программой

Спасибо! Конечно. Мне указали на эту ошибку.
Подскажите как подключить оба канала М1, М2 и М3, М4 для увеличения тока до 1,2А подключить на один двигатель.