Официальный сайт компании Arduino по адресу arduino.cc
Скетч нескольких ШД
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вс, 20/12/2015 - 13:45
// MultiStepper.pde
// -*- mode: C++ -*-
//
// Shows how to multiple simultaneous steppers
// Runs one stepper forwards and backwards, accelerating and decelerating
// at the limits. Runs other steppers at the same time
//
// Copyright (C) 2009 Mike McCauley
// $Id: HRFMessage.h,v 1.1 2009/08/15 05:32:58 mikem Exp mikem $
#include <AccelStepper.h>
// Define some steppers and the pins the will use
AccelStepper stepper1; // Defaults to 4 pins on 2, 3, 4, 5
AccelStepper stepper2(4, 6, 7, 8, 9);
AccelStepper stepper3(2, 10, 11);
void setup()
{
stepper1.setMaxSpeed(200.0);
stepper1.setAcceleration(100.0);
stepper1.moveTo(24);
stepper2.setMaxSpeed(300.0);
stepper2.setAcceleration(100.0);
stepper2.moveTo(1000000);
stepper3.setMaxSpeed(300.0);
stepper3.setAcceleration(100.0);
stepper3.moveTo(1000000);
}
void loop()
{
// Change direction at the limits
if (stepper1.distanceToGo() == 0)
stepper1.moveTo(-stepper1.currentPosition());
stepper1.run();
stepper2.run();
stepper3.run();
}
Использовала такой скетч. Только в двигателе 2 поключила к пинам 9,10,11,12
Первый шаговый двигатель крутиться, а второй нет. Что делать?
если в своём коде всё правильно пропишите - будет работать
но не работает. я заменила только эту строчку....
AccelStepper stepper2(9, 10, 11, 12);
остальное оставила
ДА! И крутиться очень медленно, даже если увеличиваю скорость
Попробуйте так
первый крутиться, а второй нет. загрузила Ваш vosara скетч
Скетч не мой я просто Ваш подправил, а сейчас посмотрел пример в библиотеке и там он выглядит так
ООООООООО!!!! Я тоже по библиотекам шарила, но такого не видела. сейчас попробую! Спс.
FULL4WIRE не видит ключевого слова! Что этот параметр означает?
AccelStepper::FULL4WIRE не является членом AccelStepper
может, библиотека липовая. где скачать нормальную ветку?
Прошу прощения это из старой библиотеки а вот из новой
Так, у меня всё работает, но очень уж медленно. Что делать? 28BYJ-48/ такие моторчики.
Я подправила код на :
if
(stepper1.distanceToGo() == 0)
27
stepper1.moveTo(-stepper1.currentPosition());
28
stepper1.run();
if
(stepper2.distanceToGo() == 0)
27
stepper2.moveTo(-stepper2.currentPosition());
28
stepper2.run();
А как остановить? Меняла вот эту строчку на число
if
(stepper2.distanceToGo() == 10)
допустип 10, и , останавливается, но мне нужен полный поворот, или 10 поворотов. Что значит параметр 10 или 0, константа чего? Секунд?
от параметра FULL4WIRE крутится туда-обратно на несколько шажков.
В этом моторе стоит встроеный редуктор, Самой большой скорости какую я смог от него добиться это ~ 1 оборот в 4 секунды. с библиотекой не работал надо разбираться
А какие параметры лучше поставить, чтобы было 1 оборот в 4 секунды. У меня намного медленнее, или прокручивается без движения.(((((
Все. Подогнала параметры, быстренько крутиться. Спасибо!
А остановить как? Всё крутиться! Работает!
Но не проверял. Изучайте.
А остановить, скорей всего
stepper1.moveTo(0); или stepper1.step(0);
а время остановки как поставить?
а время остановки как поставить?
Что Вы имеете в виду, через сколько должен стать или сколько должен стоять. Так вот по первому - он движется не по времени (хотя можно настроить) а по шагам А по второму - будет стоять пока не запустите снова
stepper1.moveTo(24);
это на 24 шага? тогда как остановить через 24 шага?
Просто у меня вообще стоит и не движется.
У него полный оборот составляет больше 2000 шагов и Ваши 24 шага Вы просто не заметите он их прошол и остановился а по даному коду он будет делать 24 туда - 24 назад но увидеть 1/100 движения тяжело. А если нужно чтобы прокрутился 1 раз надо делать проверку. Скиньте код я покажу как
я так пробовала уже, стоит на месте.
нашла функцию
на заданное количество шагов и останавливается.
Только вначале двигается один двигатель, потом второй, а мне нужно оба сразу!
Я делаю, что-то типа пэйнта, а там может быть нужно, чтобы крутились оба сразу! (если диагональ)
Не понятно. Вам надо остановить непрерывное действие или сменить позицию? Это же разные действия
в библиотеке куча примеров
поставьте шаги под свой мотор и наслаждайтесь...
А! Тогда понятно! Мне надо остановить непрерывное действие, конечно.
Но с вашим условием и счётчиком не вышло. Стоят двигатели.
а ссылолчку на кучу примеров не дадите?
Всё, ребят. Всё работает! поставила цикл. И заработало. Цикл с проверкой, до тех пор, пока. УРААААААААААААААА