Как подключить ш.д. к ардуино через мотор шилд

Artur1985
Offline
Зарегистрирован: 19.02.2013

Добрый день.
Arduino Mega 2560 V3 оригинал.
DFRobot Motor Shield (L298N).

 
Моторы Crouzet 28910.0, описание на увы не нашел.
От него идет 4 провода, 2 синих, 2 белых. По парно белый и синий. На против белых стоят римские II, на против синих I.

На 24В от блока, сильно грелся, воспользовался аккумулятором 12В.
 
Моторы были с платами управления, на которых были разъемы к промышленному контролеру.
На платах стоят SAA1042.

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, тоже.

Что может быть не так?

 

Artur1985
Offline
Зарегистрирован: 19.02.2013

Код не корректно вставился, дублирую 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.

 

vvadim
Offline
Зарегистрирован: 23.05.2012

Вы пытаетесь подключить неизвестно какой мотор  ( напряжение питания, потребляемый ток, выводы обмоток двигателя). Или сначала с мотором разберитесь или возьмите другой известный двигатель. Если к шилду подключите всё правильно и мотор соответствует то крутится будет на ура.

Artur1985
Offline
Зарегистрирован: 19.02.2013

vvadim пишет:

Вы пытаетесь подключить неизвестно какой мотор  ( напряжение питания, потребляемый ток, выводы обмоток двигателя). Или сначала с мотором разберитесь или возьмите другой известный двигатель. Если к шилду подключите всё правильно и мотор соответствует то крутится будет на ура.

Отчасти вы правы.

Все, что я знаю о нем это только то, что он 2 фазный биполярный двигатель (SAA1042 рассчитана на управление именно такими).  У него 2 обмотки, выводы я прозвонил. Точно знаю, градус 7,5.
 
Примерно знаю, что, между 12-24В, точно знаю, что 7,5W.
 
Стоит на станке там 5/24/220/380, хотя не факт, что не понижается в микросхемах.
При 24В работает, но греется. Работает он видимо от 12В, хотя не факт, но усилие приличное. 
 
Но он работает с этим шилдом, при 12В работает от 2 блока кода, писал в 1 сообщении, просто этот код крайне не удобен. Мне нужно было запустить от стандартной библиотеки. Перебрал все варианты подключения обмоток, но со стандартной библиотекой так и не запустил.
 
Затем набрел на эту тему

Поэтому быстро собрал управление на L293D
http://research.andbas.com/2012/01/blog-post_20.html
И стандартная библиотека заработала. Поэтому эти пункты я отмел.
 
Покупались эти платы для управления обычными моторами, а не ш.д.. Поэтому огорчения нет, во вторник придут 2 ш.д. новых. Обязательно отпишу, удалось ли запустить.
 
А прелесть этих моторов, наличие редукторов к ним и надежность их.
 
 
vvadim
Offline
Зарегистрирован: 23.05.2012

12 вольт 7.5 W - это 6А, ДОФИГА

Artur1985
Offline
Зарегистрирован: 19.02.2013

vvadim пишет:

12 вольт 7.5 W - это 6А, ДОФИГА

Я конечно, специалист на уровне толстый кабель электричество, тонкий электроника:).
Но пойму, немного иначе. Рассчитывается по формуле Ватт = Ампер * Вольт.

То есть, Амперы = Ватт / Ампер. 7,5 / 12 = 0,625.
 
Мне кажется, схема L293D просто бы сгорела синим пламенем от 6А.
 
И таких навалом. Но эти послабее и поновее.
 
 
Artur1985
Offline
Зарегистрирован: 19.02.2013

День добрый, друг решил эту проблему как для модуля 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.
Подключал другие шаговики, но все же. Мне и с обычными не удалось решить.