День добрый. После продолжительного перерыва, к счастью появилось время вернуться к интересной теме. Появился вопрос, как подключить шаговые двигатели к Motor Shield. Arduino Motor Shield (L298N). http://www.dfrobot.com/wiki/index.php/Arduino_Motor_Shield_(L298N)_(SKU:DRI0009) Покупал, год тому наверное, в Амперке. А вот с моторами беда, нужно подключить именно его. У меня мешок моторов Crouzet 28910.0, описание на увы не нашел. От него идет 4 провода, 2 синих, 2 белых. По парно белый и синий. На против белых стоят римские II, на против синих I. Моторы были с платами управления, на которых были разъемы к промышленному контролеру. На платах стоят SAA1042 http://teal.gmu.edu/courses/ECE447_OLD/component_specs/saa1042_Stepper_Driver.pdf. Как выяснилось эта микросхема управления 2 фазным биполярным двигателем. Можно ли подключить эти двигатели к Arduino Motor Shield (L298N)? Подключал, к выходам на M1+, M1-, M2+, M2-. Использовал внешний источник питания. Перемычки установил на внешнее питание использовал как режим PWM и PLL. Код использовал стандартный Код (Text): #include <Stepper.h> // change this to the number of steps on your motor #define STEPS 48 // create an instance of the stepper class, specifying // the number of steps of the motor and the pins it's // attached to Stepper stepper(STEPS, 4, 5, 6, 7); // the previous reading from the analog input void setup() { // set the speed of the motor to 30 RPMs stepper.setSpeed(10); } void loop() { stepper.step(480); delay(1000); } Диоды мигаю как на елке, а он дергается туда сюда. Такое ощущение, что перепутаны обмотки, но мне кажется я все варианты подключения перебрал. В чем может быть проблема?
Не смог вчера проверить. Был уже дома. Надо тягать домой платы. Сейчас проверил работает, но без этой библиотеки StepperRenat (у меня не заработала) или Stepper. Большое спасибо! Перехожу в ту ветку, без библиотеки не удобно, нужно позиционировать элементы.
разобрался со связкой моторчик от cd-rom с червячной передачей (4 контакта) + драйвер L298n + arduino uno питание (1) на ардуино через usb и (2) дополнительный блок 12v на драйвер плюс и земля скорость методом тыка подобрана максимальная, с остальными глючит и не крутит ... даже на такой скорости не удалось добится плавности хода ... каждый шаг как мини рывок скетч получился следующий, долго парился но дошёл до следующего 20 шагов крутит вперёд и 8 назад .. по расстоянию примерно одинаково получается туда сюда Код (C++): /* Управление шаговым мотором Вал шагового мотора будет поворачиваться вслед за поворотом ручки потенциометра (или в соответствии с изменением данных от другого датчика, стоящего вместо потенциометра), подключенного к 0-ому входному аналоговому контакту. http://www.arduino.cc/en/Reference/Stepper Этот код не защищен авторским правом. */ #include <Stepper.h> // Поменяйте это число на количество «шагов» вашего мотора: #define STEPS 20 // Создаем экземпляр класса Stepper, указываем количество шагов // и контакты, к которым подсоединен шаговый мотор: // едем вперёд Stepper stepper1( STEPS, 3, 4, 5, 6 ); // едем назад Stepper stepper2( STEPS, 6, 5, 4, 3 ); int sp = 150; void setup() { // Задаем скорость вращения мотора на "sp" оборотов в минуту: // едем вперёд stepper1.setSpeed( sp ); // едем назад stepper2.setSpeed( sp ); Serial.begin( 19200 ); } int s = 0; void loop() { // едем вперёд if( s < 20 ) { stepper1.step( s ); Serial.print( 1 + ' ' ); } else { // едем назад 8 шагов if( s > 20 && s < 28 ) { // Двигаемся на количество шагов согласно данным от датчика: stepper2.step( s ); Serial.print( 2 + ' ' ); } else { Serial.println( 3 ); } } s++; } фотки тут http://prntscr.com/b77oe4 http://prntscr.com/b77ong http://prntscr.com/b77ovy http://prntscr.com/b77p2l