Работа 2 шаговиков паралельно.
- Войдите на сайт для отправки комментариев
Собираю дешманский колхозный самодельный студенчиский 3д принтер на основе нанки и четырёх l293d, и собственно втал вопрос паралельной работы 3 шаговиков и одного DC мотора, управлял через библиотеку Stepper, потом вычитал что в Stepper'е возможна только последовательная работа, потом пошёл колходить на основе Pinmode, тоже не получалось из за того что малая задержка, сигналы по сути шли быстро и поочерёдно, но работал только один мотор (ах да мощность у моторов разная, тестировал на 2 одновременно подключенных шаговиках), подключал к нанке по следующей схеме:

Соответственно 2 такие схемы на 2 шаговика, сначала пытался подключить от одного внешнего питания, потом подключил на каждую схему свой источник питания(одинаковые по току), в результате вроде что-то получилось но крутился только один, после измерений тестером понял что второму мало тока, собственно вопрос как их заставить их работать вместе?
Если будет интерестно могу потом статью накатать о том как собрать дешманский 3д принтер из хлама (до 5 000 рублей).
библиотека AccelStepper - пример MultiStepper
Спасибо!
Для тех то налетит на эту тему из нета:
Вот ссытка на документацию:
http://www.airspayce.com/mikem/arduino/AccelStepper/classAccelStepper.html#afa3061ce813303a8f2fa206ee8d012bd
Вот самый простой для начала работы с библой:
#include <AccelStepper.h> - эта библа самописная и в ардуино иде её нет, качайте по ссылке архив:
http://www.airspayce.com/mikem/arduino/AccelStepper/AccelStepper-1.48.zip
и кинте на рабочий стол, потом запускайте ардуино иде и ищите во вкладке Эскиз->Include libray->add .zip libray...
Далее выбирайте архив и нажимайте open или открыть потом работайте с примером!
#include <AccelStepper.h> AccelStepper stepper1(AccelStepper::FULL4WIRE, 6, 7, 8, 9); /6789 это пины. /*на нанке если не знали d2-d12 можно использовать для работы с устройствами, по крайней мере я на это наткунлся методом научного тыка, при этом пытаясь найти на нанке пин 2, не кидайте ссаными тапками =) Соответственно пин D2 это пин в коде 2, и.т.д... */ void setup() { stepper1.setMaxSpeed(200.0); stepper1.setAcceleration(100.0); stepper1.moveTo(24); } void loop() { if (stepper1.distanceToGo() == 0) stepper1.moveTo(-stepper1.currentPosition()); stepper1.run(); }