Jump to content

Stepper Motora pieslēgšana


Guntars
 Share

Recommended Posts

Sveki spečuki,

Nopirku e-bay  motoru  DC 5V stepper Motor + ULN2003 Driver kas būtu vajadzīgs gaismas filtra ripas griešanai 05-1.0 pm vēlams regulējamu. Kādu kontrolieri vēl tur vajag?      http://www.ebay.com/itm/DC-5V-Stepper-Step-Motor-ULN2003-Drive-Driver-Test-Module-Board-5-Line-4-Phase-/370774966986?pt=LH_DefaultDomain_0&hash=item5653

Link to comment
Share on other sites

skrachs

Man tāds ir, darbinu ar Arduino, bet baigais nabags, moments viņam nekāds.

Link to comment
Share on other sites

Guntars

Kur to Arduino pirki, cik maksā? Ar kādu spriegumu baro un vai iespējams ieregulēt  apgriezienus0.5-1.0 PM Man nekādu spēcīgo nevajag, jo jāpagriež krāsu filtra disks kas sver 30gr

Link to comment
Share on other sites

Teikšu kā ir.

Pēdējā laikā daudzi daudzko darbina ar Arduino. Nopērk. paņem gatavu kodu un palaiž. Pēc tam kaut kas jāpamaina un čušs. Neko nesaprot, jo kodu jau paņēma gatavu.

 

Iesaku paņemt vienkārši plati un pašam visu uzrakstīt, sapratīs kas ir kas un kāpēc rukā tiešī tā.

A to man kolēģis arī nesen viens pasauc, parāda 3 koda rindiņas un saka - tas ir C kods, pasaki ko tas dara? - ko Tur pateiksi ka funkciju definicijas un mainigo deklaracija un pielietojums ir vēl kaut kur citur.

 

Īsi sakot: Lietas jāapgūst ar pamatiem savādāk ātri vai vēlu rodas "lielas" problēmas.

Link to comment
Share on other sites

Guntars

Paldies par informāciju.Man šī motora palaišanai vajadzīgs tas ARDUINO ATMEGA 328,barošanas bloks12V un kompī jainstalē Arduiono programmaun tad var mēģināt programmēt? Ja es gribu palaist nākamo motoru tad man jāiegādājas nākošais ARDUIONO328. Laikam jau nepieciešams arī tas ARDUIO STARKIT

Link to comment
Share on other sites

  • 4 weeks later...
  • 4 months later...

Sveiks Guntar.

 

Man pasham dotajaa moment ir 3x ULN2003AN un 3x 28BYJ-48 5V.Es esmu shos darbinaajis ar Arduino Uno bez baroshanas bloka pateicoties USB ar ko Arduino ir pievienots pie PC.

 

Sasleegshana ir visai vienkaarsha. Izmanto Arduino 5V un GND pin prieksh baroshanas ko tu piesleedz pie ULN2003. Pareejos vadus piesleedz sekojoshi:

 

IN1 - Pin 8

IN2 - Pin 9

IN3 - Pin 10

IN4 - Pin 11

 

Pashu kodu vari atrast sheit.(Bik pa garu lai liktu sheit)

Ar projekteeshanas plati, biju saleedzis vius triis un bez probleemaam shie straadaaja.

 

Esmu meeginaajis darbinaat kaa CNC X Y Z motorus un esmu pagaidaam apluazies, jo visi uzskata sho konfiguraaciiju par nejeedziigu un pashu kodu prieksh CNC nopeet nav sanaacis, pasham vien buus jaaraxta. (speeleejies ar shiem esmu tikai 3 dienas pa vakariem un neko savu raxtiijis veel neesmu) Meeginaaju GCode Interpreter, RepRap.

 

Laba liet par motoru ir tas ka vinji ir ar reduktora paliidziibu paleeninaati attieciibaa 1/64 un katrs solis ir 5.625 graadi. Shaadi parametri prieksh ieriices canas ir ljoti laba.

 

Dod zinju ja kaut ko sanaak izveidot. Un ja kaads shos jau ir darbinaajis kaa CNC ar Arduino paliidziibu, es labpraat veeleetos to uzzinaat ka!

Link to comment
Share on other sites

Neesmu darbinājis šos, bet nesen uztaisīju šādu pornogrāfiska rakstura izstrādājumu:

http://wot.lv/homemade-desktop-cnc-router.html

 

Izmantoto soļu motoru specifikācija:

Type: bipolar

Holding torque: 0.42Nm

Current per phase: 0.85A

 

Kāpēc es to stāstu- manis izmantotie soļu motori priekš tās konstrukcijas ir par vārgu. Ar mazu padeves ātrumu viss ir ok- frēzē uz velna paraušanu, frēzes ar izslēgtu dremeli lauž ka prieks. Problēma ir, kad grib lielākus padeves ātrumus.

 

Lai saprastu kāpēc: aptuvens griezes momenta pret apgriezieniem grafiks:

03_speed_torque.jpg

Link to comment
Share on other sites

Motri ir vaaji, tas gan bet es to vairaak uzskatu par sauso meeginaajumu. Es savaa zinjaa vakar uzraxtiiju kodu kas izmanto Serial port un ir speejiigs kusteeties atkariigi kas tiek padots par Serial konsoli.

 

Shoreiz, es ievietoshu kodu, jo man gribeetos uzzinaat vai kaads zin kaa kodu saiisinaat ar sekvences paliidziibu, taa vietaa aizstaajot kaudzi koda.

 

-------------------------------------------------------------------------------------------------------

int XM_Pin1 = 4;
int XM_Pin2 = 5;
int XM_Pin3 = 6;
int XM_Pin4 = 7;

int ZM_Pin1 = 8;
int ZM_Pin2 = 9;
int ZM_Pin3 = 10;
int ZM_Pin4 = 11;

void setup() {

  pinMode(XM_Pin1, OUTPUT);
  pinMode(XM_Pin2, OUTPUT);
  pinMode(XM_Pin3, OUTPUT);
  pinMode(XM_Pin4, OUTPUT);
  pinMode(ZM_Pin1, OUTPUT);
  pinMode(ZM_Pin2, OUTPUT);
  pinMode(ZM_Pin3, OUTPUT);
  pinMode(ZM_Pin4, OUTPUT);
  Serial.begin(115200);
}

void loop() {
  if (Serial.available() > 0) {
    int command = Serial.read();
    if (command == '1') {
      digitalWrite(XM_Pin1, HIGH);
      digitalWrite(XM_Pin2, LOW);
      digitalWrite(XM_Pin3, HIGH);
      digitalWrite(XM_Pin4, LOW);
      delay(5);
    }else if (command == '2') {
      digitalWrite(XM_Pin1, LOW);
      digitalWrite(XM_Pin2, HIGH);
      digitalWrite(XM_Pin3, HIGH);
      digitalWrite(XM_Pin4, LOW);
      delay(5);
      }else if (command == '3') {
      digitalWrite(XM_Pin1, LOW);
      digitalWrite(XM_Pin2, HIGH);
      digitalWrite(XM_Pin3, LOW);
      digitalWrite(XM_Pin4, HIGH);
      delay(5);
      }else if (command == '4') {
      digitalWrite(XM_Pin1, HIGH);
      digitalWrite(XM_Pin2, LOW);
      digitalWrite(XM_Pin3, LOW);
      digitalWrite(XM_Pin4, HIGH);
      delay(5);
      }else if (command == '5') {
      digitalWrite(ZM_Pin1, HIGH);
      digitalWrite(ZM_Pin2, LOW);
      digitalWrite(ZM_Pin3, HIGH);
      digitalWrite(ZM_Pin4, LOW);
      delay(5);
      }else if (command == '6') {
      digitalWrite(ZM_Pin1, LOW);
      digitalWrite(ZM_Pin2, HIGH);
      digitalWrite(ZM_Pin3, HIGH);
      digitalWrite(ZM_Pin4, LOW);
      delay(5);
      }else if (command == '7') {
      digitalWrite(ZM_Pin1, LOW);
      digitalWrite(ZM_Pin2, HIGH);
      digitalWrite(ZM_Pin3, LOW);
      digitalWrite(ZM_Pin4, HIGH);
      delay(5);
      }else if (command == '8') {
      digitalWrite(ZM_Pin1, HIGH);
      digitalWrite(ZM_Pin2, LOW);
      digitalWrite(ZM_Pin3, LOW);
      digitalWrite(ZM_Pin4, HIGH);
      delay(5);
      }else {
      Serial.println("it works");
    }
  }
}
 

-------------------------------------------------------------------------------------------------------

 

Tiem kam ir nojausma par koda darbiibu, sapratiis ka es savus motorus kustinu ar 1234 padotu pa Serial port, kas veic vienu soli un X axis motora un 5678 prieksh Z axis.

Link to comment
Share on other sites

Inspektors Caps

Pa seriālo portu vai kādu citu distancētu interfeisu ir jādod iekārtai komandas ko darīt, nevis jādraivo pa tiešo. Tādas komandas kā piemēram "X ass, 24 soļi pa labi" un "Z ass, 3 soļi pa kreisi". Numuru (command) atpazīšanai normāli izmanto switch() konstrukciju. Un kādēļ delay(5); ir 8 katrā IFā, nevis viens pēc tiem?

 

Par sekvenci.. jāizveido:

* Vienu rotācijas masīvu, kurā saglabā soļu 1/0 kombinācijas.

* Katrai asij rotācijas indeksa mainīgo, kas saglabā esošo pozīciju rotācijas masīvā.

* Katrai asij pinu masīvu, kurā ieraksti attiecīgo izejas pinu numurus.

* Vienu izeju uzstādīšanas funkciju, kurai padod attiecīgās ass rotācijas masīva indeksu, rotācijas virzienu un pinu masīvu.

Link to comment
Share on other sites

Dotaja momentaa es tieshi ar to ar nodarbojos, es censhos izveidot "Library" kuraa ir defineetas komandas motora vadiibai. Es ar Arduino neko neesmu dariijis, bet skatoties uz pieejamajiem resursiem internetaa ir visai viegli maccities. Cerams ka nepaies daudz laika un buus kaut kas veeraa njemams ar ko daliities shajaa forumaa.

 

Visticamaakais ka ar shiem motoriem buus gana lai darbinaatu vieglas konstrukcijas CNC laazergravieri, bet par to veel paaragru runaat.

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...