Uno + 2 krokové motory

Odpovědět
Ferdosondo
Příspěvky: 2
Registrován: 24 črc 2019, 10:34
Reputation: 0

Uno + 2 krokové motory

Příspěvek od Ferdosondo » 24 črc 2019, 11:00

Ahojte arduiňáci. Som začiatočník a chcel by som k arduinu pripojiť 2 krokové motory, ktorých polohu by som mohol ovládať pomocou PC. Slúžiť to bude k nastaveniu dvoch ladiacich prvkov anténneho tunera. Zatiaľ som našiel ovládanie na jeden motor pomocou Monitoru sériového portu. Ideálne by bolo, ak by sa dali oba krokové motory ovládať súčasne. Vie mi niekto pomôcť?

Kód: Vybrat vše

// Arduino stepper motor control code

#include <Stepper.h> // Include the header file

// change this to the number of steps on your motor
#define STEPS 32

// create an instance of the stepper class using the steps and pins
Stepper stepper(STEPS, 8, 10, 9, 11);

int val = 0;

void setup() {
  Serial.begin(9600);
  stepper.setSpeed(400);
}

void loop() {

  if (Serial.available()>0)
  {
    val = Serial.parseInt();
    stepper.step(val);
    Serial.println(val); //for debugging
  }
 

}

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Uno + 2 krokové motory

Příspěvek od pavel1tu » 24 črc 2019, 12:27

Google
Na internetu je dost příkladů, dost knihoven které toto umožňují.

1) tak jak máš definovaný 1 motor, nadefinuj 2 motory - každý se musí jmenovat jinak
2) ovládání po SerialMonitor asi budeš muset předělat - prostě nadefinuješ 4 znaky, které odesíláním po SerialMonitor v programu rozhodneš který motor se kam pootočí. Já osobně bych šel do tlačítek, ale i po komunikaci to jde - já toto ovládání po Serialmonitor na jiný projekt okopíroval zde z projektu Arduino-Matrix-Clock
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Ferdosondo
Příspěvky: 2
Registrován: 24 črc 2019, 10:34
Reputation: 0

Re: Uno + 2 krokové motory

Příspěvek od Ferdosondo » 24 črc 2019, 14:37

Dík za pomoc. Nadefinoval som aj druhý motor a funguje. Neviem však kde nadefinovať 4 znaky, aby sa pohol ten správny motor.

Kód: Vybrat vše

// Arduino stepper motor control code

#include <Stepper.h> // Include the header file

// change this to the number of steps on your motor
#define STEPS 32

// create an instance of the stepper class using the steps and pins
Stepper stepper1(STEPS, 9, 11, 10, 12);
Stepper stepper2(STEPS, 2, 4, 3, 5);

int val = 0;

void setup() {
  Serial.begin(9600);
  stepper1.setSpeed(400);
  stepper2.setSpeed(400);
}

void loop() {

  if (Serial.available()>0)
  {
    val = Serial.parseInt();
    stepper1.step(val);
    stepper2.step(val);
    Serial.println(val); //for debugging
  }
 

}

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Uno + 2 krokové motory

Příspěvek od pavel1tu » 24 črc 2019, 17:41

Mosíš si nadefinovat nějaká pravidla (třeba):
- A je motor 1, B je motor 2
- F je dopředu, B je dozadu
- posílat počet kroků ve formátu "0000-9999"

AB0050 - motor 1 - dozadu o 50 kroků (toto je příklad, pravidla si musíš určit sám)
stepper1.step(-50);

Přečti si něco o SereiaRead()
To přijímá z komunikace znak po znaku "A" pak "B" pak "0" pak "0" pak "5" a "0", pak přijde konec řádku, to uložíš do řetězce "AB0050"
Ten musíš rozebrat a uložit do proměnnách číslo motoru, směr a kroky a z toho pak složíš ten povel pro motor.

PS: mohl bych ti to i napsat, ale najdi si to - když to pochopíš, zjistíš že je to sranda
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti