@amperka/stepper

Библиотека для управления драйвером шагового двигателя.

Данная библиотека не предназначена для работы с Motor Shield.

// подключим библиотеку
var stepper = require('@amperka/stepper').connect({step:P4, direction:P6, enable:P5}, {
  pps: 330, // количество шагов в секунду
  holdPower: 1 // сила удержания вала по умолчанию
});
 
// повернем двигатель на 180 шагов и по окончании...
stepper.rotate(180, function() {
  // ..повернем его на 90 шагов в обратном направлении
  stepper.rotate(-90, function(){
    // отключим удержание вала
    stepper.hold(0); // отключим удержание вала 
  });
});

Функции библиотеки

connect(stepPin, directionPin, enablePin, opts)

Возвращает новый объект Stepper для управления драйвером шагового двигателя, контакт S которого подключен к stepPin, контакт D — к directionPin, а enablePin — поддерживающий ШИМ, который управляет подачей тока на обмотки — к контакту E. Можно указать дополнительные опции opts в виде объекта со свойствами:

  • pps — Количество шагов в секунду. По умолчанию 20;
  • holdPower — Сила удержания вала от 0 до 1. По умолчанию 0;
var stepper = require('@amperka/stepper').connect({step:P4, direction:P6, enable:P5}, { 
  pps:330, // установим скорость вращения 330 шагов в секунду
  holdPower: 1 // сила удержания вала от 0 до 1
}); 

Stepper

Класс для работы с драйвером шагового двигателя. Для создания нового объекта, используйте функцию connect.

Stepper.rotate(steps, callback)

Вращает двигатель на steps шагов. Для вращения в обратную сторону, необходимо указать отрицательное значение. После окончания вращения, вызывает функцию callback.

// повернем двигатель на 200 шагов и по окончании...
stepper.rotate(200, function() {
  // ..повернем его на 200 шагов в обратном направлении
  stepper.rotate(-200);
});

Stepper.hold([percent])

Метод устанавливает percent уровень подачи электричества на катушки и сбрасывает выполнение текущего задания на вращение. Если параметр не передан — используется параметр, указанный при создании объекта функцией connect.

// установим половину мощности удержания вала
stepper.power(0.5);

Stepper.pps([pps])

Метод устанавливает pps шагов в секунду. Если параметр не передан — используется параметр, указанный при создании объекта функцией connect или значение по умолчанию равное 20.

// повернем на 200 шагов со скоростью 300 шагов в секунду
stepper.pps(300).rotate(200, function() { 
  // ..повернем его на 200 шагов в обратном направлении со скоростью 50 
  stepper.pps(50).rotate(-200, function(){ 
    // отключим удержание вала 
    stepper.hold(0); 
  }); 
});