Как подключить ш.д. к ардуино через мотор шилд
- Войдите на сайт для отправки комментариев
Добрый день.
Arduino Mega 2560 V3 оригинал.
DFRobot Motor Shield (L298N).
На 24В от блока, сильно грелся, воспользовался аккумулятором 12В.
http://teal.gmu.edu/courses/ECE447_OLD/component_specs/saa1042_Stepper_Driver.pdf.
Так же пробовали мотор Z22LT195.
http://www.mdp.cz/download/krokovy_motor_Z22LT195.pdf
Блок 19В.
Друг не смог и я не смог заставить работать шаговый двигатель крутится.
Код который использовали
#include <Stepper.h>
Stepper motor = Stepper(120, 7, 6, 5, 4); // для Z22LT195
//Stepper motor = Stepper(48, 7, 6, 5, 4); // для Crouzet
void setup()
{
motor.setSpeed(50);
}
void loop()
{
motor.step(100);
delay(1000);
}
Они дергаются, но не идут. Думал дело в обмотках, прозвонили выделили обмотки. Перепробовали все варианты подключения. Вот такой код, заставляет их крутится.
int motorPin1 = 4;
int motorPin2 = 5;
int motorPin3 = 6;
int motorPin4 = 7;
int delayTime = 6;
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop() {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3,HIGH );
digitalWrite(motorPin4, HIGH);
delay(delayTime);
digitalWrite(motorPin1,LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3,HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
}
Но такой код, не позволяет нормально работать, задавать кол-во шагов и скорость.
И самое главное, сильно греется шилд. И маленький моторчик Crouzet 28910.0, тоже.
Что может быть не так?
Код не корректно вставился, дублирую 1 блок.
#include <Stepper.h> Stepper motor = Stepper(120, 7, 6, 5, 4); // Z22LT195 //Stepper motor = Stepper(48, 7, 6, 5, 4); // для Crouzet void setup() { motor.setSpeed(50); } void loop() { motor.step(100); delay(1000); }Подумал, что дело в плате, заменил ардуино, плату ( точна такая же) и мотор Crouzet (у меня их мешочек), увы ни чего не изменилось.
Как и не помогли другая библиотека AccelStepper.
Вы пытаетесь подключить неизвестно какой мотор ( напряжение питания, потребляемый ток, выводы обмоток двигателя). Или сначала с мотором разберитесь или возьмите другой известный двигатель. Если к шилду подключите всё правильно и мотор соответствует то крутится будет на ура.
Вы пытаетесь подключить неизвестно какой мотор ( напряжение питания, потребляемый ток, выводы обмоток двигателя). Или сначала с мотором разберитесь или возьмите другой известный двигатель. Если к шилду подключите всё правильно и мотор соответствует то крутится будет на ура.
Отчасти вы правы.
Поэтому быстро собрал управление на L293D
http://research.andbas.com/2012/01/blog-post_20.html
12 вольт 7.5 W - это 6А, ДОФИГА
12 вольт 7.5 W - это 6А, ДОФИГА
Я конечно, специалист на уровне толстый кабель электричество, тонкий электроника:).
Но пойму, немного иначе. Рассчитывается по формуле Ватт = Ампер * Вольт.
http://www.ebay.com/itm/Crouzet-stepper-motor-24vdc-7-5-deg-5-watt-165-ohm-82910029-30-avail-/300965056860?pt=LH_DefaultDomain_0&hash=item4612ea515c
День добрый, друг решил эту проблему как для модуля DFRobot, так и для Amperka.
Если кому интересно, вот ссылка
http://forum.amperka.ru/threads/%D0%BA%D0%B0%D0%BA-%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C-%D1%88%D0%B4-%D0%BA-%D0%B0%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D0%BE-%D1%83%D0%BD%D0%BE-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%BC%D0%BE%D1%82%D0%BE%D1%80-%D1%88%D0%B8%D0%BB%D0%B4.2173/page-8#post-17805
Там же библиотека для DFRobot L298p.
Подключал другие шаговики, но все же. Мне и с обычными не удалось решить.