Ардуино, Биполярный Шаговый двигатель(4 провода), транзистор ULN2003, l298n,Breadboard

light777
light777 аватар
Offline
Зарегистрирован: 16.12.2013

Имеется Ардуино, Биполярный Шаговый двигатель(4 провода), транзистор ULN2003, l298n,Breadboard.

Можно ли как-нибудь их соединить чтобы двигатель заработал? Если можно то какая будет схема и код Ардуино?

Snubist
Offline
Зарегистрирован: 18.02.2013
kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Snubist, Где это Вы видели у биполярника 5 выводов?

UPD: Теоретически (сам не пробовал), схема подключения есть здесь

http://www.pighixxx.com/abc-arduino-basic-connections/

на Card 14

 

 

light777
light777 аватар
Offline
Зарегистрирован: 16.12.2013

Спасибо, решено!

ChemDevil
ChemDevil аватар
Offline
Зарегистрирован: 30.03.2014

light777, подскажите решение, пожалуйста. Ссылка выше не открывается

light777
light777 аватар
Offline
Зарегистрирован: 16.12.2013

http://docs.com/ZXAB здесь на сайте pdf каточка номер 14

ChemDevil
ChemDevil аватар
Offline
Зарегистрирован: 30.03.2014

Спасибо большое!) сейчас попробую

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

схема для биполярного порадовала. теоретически может и будет крутится, но линь как пример того что в принципе можно запустить так, но для применения очень плохо

у вас есть L298 используйте ее

ChemDevil
ChemDevil аватар
Offline
Зарегистрирован: 30.03.2014

Боюсь, что драйвер ULN2003 не подойдет, т.к. он пропускает всего 0,5 А на канал, а параметры моего двигателя:

- Ток номинальный: 2,5А
- Напряжение питания номинальное: 3,1В
- Сопротивление обмотки: 1,25ом

 

Есть ли альтернативы?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

может название или ссылку на двигатель приведете?

ChemDevil
ChemDevil аватар
Offline
Зарегистрирован: 30.03.2014

Легко) Биполярный шаговый двигатель 42BYGHW811 http://carduino.ru/product_info.php?products_id=1987. Достаточно мощный и точный для моих задач

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ну с натяжкой можно и 298 использовать, но лучше что нибудь получше взять

если на этом же сайте то выбор совсем невелик

ChemDevil
ChemDevil аватар
Offline
Зарегистрирован: 30.03.2014

l298n у меня есть, в данный момент пытаюсь собрать на ней по схеме http://www.bristolwatch.com/L298N/L298N_stepper.gif, но без конденсаторов.  ENA ENB замкну на +5 В. Что получится - отпишусь

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

но и без них будет работать

ChemDevil
ChemDevil аватар
Offline
Зарегистрирован: 30.03.2014

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

light777
light777 аватар
Offline
Зарегистрирован: 16.12.2013

чтоб не перегревался используйте такой драйвер http://ba3ar.kz/k1_259.php

ChemDevil
ChemDevil аватар
Offline
Зарегистрирован: 30.03.2014

Боюсь, что поставить вентилятор на мой драйвер в 15 раз дешевле, чем купить предложенный Вами девайс)

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

light777 пишет:

чтоб не перегревался используйте такой драйвер http://ba3ar.kz/k1_259.php

не самый лучший драйвер. говорят качество у самих микрух не очень, дохнут часто

я бы поставил такой

http://ru.aliexpress.com/wholesale?shipCountry=ru&shipCompanies=&enSearc...

но ток до 2А всего, интересно их параллельно можно соеденять или нет. наверно нет

light777
light777 аватар
Offline
Зарегистрирован: 16.12.2013

Вот такую вот машину сделал с помощью ардуинки

https://www.youtube.com/watch?v=vAjiFwEPpYY&feature=youtu.be

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

прикольно

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Интересное дело, если вскрыть крышечьку на знаменитом 28byj, то он , с лёгкостью необыкновенной , превращается в биполярник со всеми вытекающими плюсами. Я проверил. И это правда.

Лучше срЕзать кусачками  немного синей пластмассы , а не грубо ломать, как  это делает автор.....

http://www.jangeox.be/2013/10/change-unipolar-28byj-48-to-bipolar.html

Внутри каждого униполярника обычно спит простой биполярник- надо только правильно его разбудить!

art100
Offline
Зарегистрирован: 09.03.2014

ChemDevil пишет:

Легко) Биполярный шаговый двигатель 42BYGHW811 http://carduino.ru/product_info.php?products_id=1987. Достаточно мощный и точный для моих задач

легко L298-ая болтом М3 к железке прижми и забудь

видео лень писать выкладывать

art100
Offline
Зарегистрирован: 09.03.2014

http://www.bristolwatch.com/L298N/L298N_stepper.gif

рабочая

диоды тебе не дадут спалить ключи

если заклинишь мотор и тока не хватит питателю выдать он просто рычит

если пулсация шустра мотор просто свистит

оптимально мотор безшумен

ничего не спалишь

с С2 пульсация типа не прет на логику твою если хочешь покоя индуктивностью и кандером успокоишь

одно но мне больше 12вольт не надо было мучить крутящего момента выше крыши но думаю по радиатору поймешь перспективу поднятия напруги тока и получение крутящего

твой кусок кода 298 внутри сам найдешь для этих шаговиков

// art100 to write 20140523 test stepper motors pololulu A4988
// pins---------------------------------------
// joystick --------------------------
int joypinx = A0; //joystick pin 
int joypiny = A1; //joystick pin
int joypinf = A2; //joystick pin
// lasers leds ----------------
int led3 = A4;//3; // 
// stepper motors ------------
int dir_Pin1 = 4;//
int stepPin1 = 3;//
#define microstep16pin A5//
#define sleeppin        2//
// constants for joystick -------------------------------------------
int sp1table = 120;// a4988 1000;//slow
int sp2table = 10;// a4988 10000;//a3987 speed
int joyx = 0;     //joystick
int joyy = 0;     //joystick
int joyf = 0;     //joystick
int stepxcor =10;// for correction >0<
int stepycor =10;// for correction >0<
// usb------------------------------
int  commandusb        = 0; //
//---------------------------
// stepper motor 1 pololulu A4988 -------------------------------
void stepA4988(boolean dir1,int steps1,int msec1){
  digitalWrite(dir_Pin1,dir1);                // direction
  for(int i=0;i<steps1;i++){
    digitalWrite(stepPin1,HIGH);    delayMicroseconds(msec1);
    digitalWrite(stepPin1, LOW);    delayMicroseconds(msec1);
  }
}
//--------------------------------------------------------------------------------------
void setup(){ 
  pinMode(joypinx, INPUT);        //joystick X
  pinMode(joypiny, INPUT);        //joystick Y 
  pinMode(joypinf, INPUT_PULLUP); //joystick fire pin
  pinMode     (led3,OUTPUT); //laser
  digitalWrite(led3,  HIGH); //
  pinMode(dir_Pin1, OUTPUT);//table
  pinMode(stepPin1, OUTPUT);//table  

  pinMode(microstep16pin,    OUTPUT);
  digitalWrite(microstep16pin, HIGH);  //HIGH for 16microstepping, LOW for no microstepping
  pinMode(sleeppin, OUTPUT);
  
  Serial.begin(9600);
} 
//======================================================================
void loop(){
  // joystick ----------------------------------------------------------
  joyx = analogRead(joypinx)>>7;  // 3 button 0/4/7 0.1.2.3.4.5.6.7 sanks for speed registry shift Dimax
  joyy = analogRead(joypiny)>>7;  // 3 button 0/4/7 0.1.2.3.4.5.6.7 sanks for speed registry shift Dimax 
  //  Serial.print('X');Serial.print(joyx);Serial.print(';');  Serial.print('Y');Serial.print(joyy);Serial.println(';'); //test
  if(joyx==0){stepA4988(false,stepxcor,sp1table);}//speed
  if(joyx==7){stepA4988(true ,stepxcor,sp1table);}//speed   
  if(joyy==0){stepA4988(false,stepxcor,sp2table);}//speed
  if(joyy==7){stepA4988(true ,stepxcor,sp2table);}//speed 
  // led --------------------------------------------------------
  if(digitalRead(joypinf)==LOW) { digitalWrite(led3, LOW); } // laser to work
  else                          { digitalWrite(led3,HIGH); } // laser to work
  Serial.print("joyx joyy sp1table sp2table: "); Serial.print(joyx);Serial.print(joyy);Serial.println(";");//Serial.print(sp1table);Serial.print(sp2table);Serial.println(";");//
  // joystick ----------------------------------------------------------  

  // usb ----------------------------------------------------------------
  if (Serial.available() > 0) {   
    commandusb = Serial.read();
    if (commandusb==76 ) {digitalWrite(led3, HIGH);} // Laser on  L
    if (commandusb==108) {digitalWrite(led3,  LOW);} // laser off l
    if (commandusb==45 ) {stepA4988(true, stepycor,sp1table);} //  down+      
    if (commandusb==43 ) {stepA4988(false,stepycor,sp1table);} //  up  -
    Serial.print("commanda usb received: "); Serial.println(commandusb);
  }
  // usb ----------------------------------------------------------------    
}   

//  digitalWrite(STEP_PIN_0, HIGH);
//  digitalWrite(STEP_PIN_1, HIGH);
//  delay(1);
//  digitalWrite(STEP_PIN_0, LOW);
//  digitalWrite(STEP_PIN_1, LOW);
//  delay(1);

//========================================================================
// stepper motor 1 table for A3987 easydriver 2 pins------------------------------------
//void step1(boolean dir1,int steps1,int msec1){
//  digitalWrite(dir_Pin1,dir1);                // direction
//  for(int i=0;i<steps1;i++){
//    digitalWrite(stepPin1,HIGH);    delayMicroseconds(msec1);
//    digitalWrite(stepPin1, LOW);    delayMicroseconds(msec1);
//  }
//}
// stepper motor 2 laser for A3987 easydriver 2 pins------------------------------------
//void step2(boolean dir2,int steps2,int msec2){
//  digitalWrite(dir_Pin2,dir2);               // direction
//  for(int i=0;i<steps2;i++){
//    digitalWrite(stepPin2,HIGH);    delayMicroseconds(msec2);
//    digitalWrite(stepPin2, LOW);    delayMicroseconds(msec2);
//  }
//}
// for L298 4 pins--------------------------
////    for (o=0; o<stepsmotor1; o++) {                      // 360 gradus   table
//      for (m=0; m<step1Laser/8; m++) {         // 200step/8=25step 25step*1.8gradus/step = 45 gradus scanning low 
//        digitalWrite(led3, HIGH);               //laser on and down
//        //myStepper2.step(+1);
//        step2(true, steptable,speetable);
////        delay(100);                            //for computer tormoz 0,01 sek   
//        delay(500);                            //for computer tormoz 0,01 sek         
////        delay(1000);                            //for computer tormoz 1 sek
//      } 
//      //return on start
//      for (m=0; m<step1Laser/8; m++) {         // 200step/8=25step 25step*1.8gradus/step = 45 gradus return
//        digitalWrite(led3, LOW);
//        //myStepper2.step(-1);                   // laser up
//        //myStepper1.step(+1);                   // table 45 gradus
//        step2(false,steptable,speetable);
//        step1(true, steptable,speetable);
//      } 
//      delay(1000);                             //for computer tormoz 1   5 sek
  
//------------------------------------------
//DEC Char  D   Ch  D   Ch D   Ch
//0  null   32  sp  64  @  96  ` 
//1         33  !   65  A  97  a 
//2         34  "   66  B  98  b 
//3         35  #   67  C  99  c 
//4         36  $   68  D  100 d 
//5         37  %   69  E  101 e 
//6         38  &   70  F  102 f 
//7         39  '   71  G  103 g 
//8         40  (   72  H  104 h 
//9  tab    41  )   73  I  105 i 
//10 line   42  *   74  J  106 j 
//11        43  +   75  K  107 k 
//12        44  ,   76  L  108 l 
//13 retur  45  -   77  M  109 m 
//14        46  .   78  N  110 n 
//15        47  /   79  O  111 o 
//16        48  0   80  P  112 p 
//17        49  1   81  Q  113 q 
//18        50  2   82  R  114 r 
//19        51  3   83  S  115 s 
//20        52  4   84  T  116 t 
//21        53  5   85  U  117 u 
//22        54  6   86  V  118 v 
//23        55  7   87  W  119 w 
//24        56  8   88  X  120 x 
//25        57  9   89  Y  121 y 
//26        58  :   90  Z  122 z 
//27        59  ;   91  [  123 { 
//28        60  <   92  \  124 | 
//29        61  =   93  ]  125 } 
//30        62  >   94  ^  126 ~ 
//31        63  ?   95  _  127   
//----------------------------------------

 

art100
Offline
Зарегистрирован: 09.03.2014

light777 пишет:

Вот такую вот машину сделал с помощью ардуинки

https://www.youtube.com/watch?v=vAjiFwEPpYY&feature=youtu.be

пришли код аппликейшена и ино поигратся :) artem265 sabaka yandex.ru

писал на готовый cnc g-code application или обе пары сам писал

не увидел ардуинка уно р3 с 328 или без мега256 не выкрутился

я наверно с типового 256 с готовым парсером g-code слезать ближайшее время не буду пожалуй

придумываю очередной станок и кода отлаживаю 100килобайт поэтому в уно не вижу возможности

есть один проверенный на уно но приложения тоже готовые у меня

не пронтефайсе брал за основу на java?

мое киношко из старого https://yadi.sk/i/zz64Hg3_ZScSR

art100
Offline
Зарегистрирован: 09.03.2014

light777 пишет:
eclipse? никаких плагинов не надо? или что-то конкретное качать?

этот подойдет?http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/R/eclipse-standard-luna-R-win32.zip

не понял безплатные версии закончились что-ли

где-то андройдовый валялся ща поробую поискать на дисе

еще пока не вьехал

сразу координаты в онлайн в порт?

вижу уно р3 хватит

light777
light777 аватар
Offline
Зарегистрирован: 16.12.2013

arduino, processing для GUI. там тока 2 мотора с двигателями и все. эклипс ваще не нужен

art100
Offline
Зарегистрирован: 09.03.2014

light777 пишет:

arduino, processing для GUI...

чето сообращзить не могу что это может ссылку

я тут по ходу три версии еклипсов скачал разворчиваю вспоминаю пур яву

11.08.2014  20:26    <DIR>          eclipse
11.08.2014  20:42    <DIR>          eclipse-jee-luna-R-win32
11.08.2014  20:41    <DIR>          eclipse-standard-luna-R-win32
11.08.2014  20:34    <DIR>          jdk170
11.08.2014  20:34    <DIR>          jre170

 

light777
light777 аватар
Offline
Зарегистрирован: 16.12.2013
Leshiy
Offline
Зарегистрирован: 19.07.2014

CNC - круто! Себе хочу, да вот есть опасения за руки. Надо, наверное, сладкого больше есть.

art100
Offline
Зарегистрирован: 09.03.2014

light777 пишет:

http://arduino.cc/en/Main/Software

https://www.processing.org/download/

eclipse не нужен

прикольная ява технология processing.serial.* подхватился форма осбралась я так понимаю надо что-то почитать щас попробую от войны отвлечся поучится

спасибо а то война разорванные женские тела душу разрушает творить желание теряю

немножко не понимаю поток отправка пошла а где тут порт указать

https://yadi.sk/i/ivy2Y-sKZTGRZ

думаю на 8-ой порт тут указать

String portName = Serial.list()[0];

что-нибудь наверно модно тут

String portName = Serial.list()[7];

в твоем стиле наверно тут 

 // port = new Serial(this, Serial.list()[0], 9600);
  port = new Serial(this, Serial.list()[7], 9600);//com8

что-то 

C:\temp\ENGRAVER\application.windows32\ENGRAVER.exe

самостоятельно не поднялся

неужели прийдется все таки что-то почитать прежде чем запускать

неужели сходу не поднимется

пойду покушаю чего-нибудь

чувствую что с путем к java javac косяк ну да ладно потом вечно мелкомягкие мутят воду с путем по умочанию чтоб свой авно фреймворк впаривать

 

4ishops
Offline
Зарегистрирован: 06.10.2012