====== @amperka/stepper ======
Библиотека для управления драйвером [[amp>product/troyka-stepper-motor-driver|шагового двигателя]].
Данная библиотека не предназначена для работы с 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); // отключим удержание вала
});
});
===== Функции библиотеки =====
func:: 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
});
class:: Stepper
Класс для работы с драйвером шагового двигателя. Для создания нового объекта, используйте функцию ''connect''.
meth:: Stepper.rotate(steps, callback)
Вращает двигатель на ''steps'' шагов. Для вращения в обратную сторону, необходимо указать отрицательное значение. После окончания вращения, вызывает функцию ''callback''.
// повернем двигатель на 200 шагов и по окончании...
stepper.rotate(200, function() {
// ..повернем его на 200 шагов в обратном направлении
stepper.rotate(-200);
});
meth:: Stepper.hold([percent])
Метод устанавливает ''percent'' уровень подачи электричества на катушки и сбрасывает выполнение текущего задания на вращение. Если параметр не передан — используется параметр, указанный при создании объекта функцией ''connect''.
// установим половину мощности удержания вала
stepper.power(0.5);
meth:: 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);
});
});