28BYJ-48 a delka navinu

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Odpovědět
Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

28BYJ-48 a delka navinu

Příspěvek od Kony » 17 úno 2022, 20:02

Ahoj, přemýšlím, že bych pomocí krokového motoru 28BYJ-48 a driveru vyrobil odviječku samolepících etiket...
Vím že existuje projekt : https://www.youtube.com/watch?v=IGeIINUt_no

ale mě by úplně stačila obyčejná.
tzn :
- jednotná délka etikety
- ručně navinutý pás etiket (cca 50 etiket o sirce cca 5 cm jedna etiketa, tzn skoro žádný odpor)

Tak mě napadlo ten projekt hodně zjednodušit a právě využít tento krokový levný motor, kde bych v kódu přímo nastavil délku etikety a nemusel snímat čidlem. Je sice pravda, že cca první tři etikety bych muserl přesně naměřit aby to sedělo, ale to by asi neměl být velký problém.

Tak bych se chtěl zeptat, jakým kédem určit aby se tento krokový motor otočil Xkrát.. to je nyní asi nejzásadnější otázka... Vše ostatní asi vypluje postupem

PS: nyní jsem si to postavil a hned jsem přišel na pár věcí :))

- musím dát nějaké opto čidlo, které mě bude určovat že jsem odtrhnul....
- musím udělat nějaké převody, kvůli rychlosti otáček

tady můj prozatymní kod :

Kód: Vybrat vše

/* Example sketch to control a 28BYJ-48 stepper motor with ULN2003 driver board and Arduino UNO. More info: https://www.makerguides.com */

// Include the Arduino Stepper.h library:
#include <Stepper.h>

// Define number of steps per rotation:
const int stepsPerRevolution = 2048;

// Wiring:
// Pin 8 to IN1 on the ULN2003 driver
// Pin 9 to IN2 on the ULN2003 driver
// Pin 10 to IN3 on the ULN2003 driver
// Pin 11 to IN4 on the ULN2003 driver

// Create stepper object called 'myStepper', note the pin order:
Stepper myStepper = Stepper(stepsPerRevolution, 8, 10, 9, 11);

void setup() {
  // Set the speed to 5 rpm:
  myStepper.setSpeed(15);
  
  // Begin Serial communication at a baud rate of 9600:
  Serial.begin(9600);
}

void loop() {
  // Step one revolution in one direction:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  myStepper.step(stepsPerRevolution);
  delay(500);
}

Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

Re: 28BYJ-48 a delka navinu

Příspěvek od Kony » 17 úno 2022, 20:47

Tak asi mam .....

Kdyby nekdo resil neco podobneho

Kód: Vybrat vše

/* Example sketch to control a 28BYJ-48 stepper motor with ULN2003 driver board and Arduino UNO. More info: https://www.makerguides.com */

// Include the Arduino Stepper.h library:
#include <Stepper.h>

// Define number of steps per rotation:
const int stepsPerRevolution = 2048;

// Wiring:
// Pin 8 to IN1 on the ULN2003 driver
// Pin 9 to IN2 on the ULN2003 driver
// Pin 10 to IN3 on the ULN2003 driver
// Pin 11 to IN4 on the ULN2003 driver
int pTrig = 6;
int pEcho = 7;
long odezva, vzdalenost;

// Create stepper object called 'myStepper', note the pin order:
Stepper myStepper = Stepper(stepsPerRevolution, 8, 10, 9, 11);

void setup() {
  // Set the speed to 5 rpm:
  myStepper.setSpeed(15);
  
  // Begin Serial communication at a baud rate of 9600:
  Serial.begin(9600);
  pinMode(pTrig, OUTPUT);
  pinMode(pEcho, INPUT);
}

void otoc() {
  Serial.println("Tocim");
  myStepper.step(stepsPerRevolution);
  myStepper.step(stepsPerRevolution);
  vzdalenost = 0;
}

void loop() {
  digitalWrite(pTrig, LOW);
  delayMicroseconds(2);
  digitalWrite(pTrig, HIGH);
  delayMicroseconds(5);
  digitalWrite(pTrig, LOW);
  // pomocí funkce pulseIn získáme následně
  // délku pulzu v mikrosekundách (us)
  odezva = pulseIn(pEcho, HIGH);
  // Step one revolution in one direction:
  vzdalenost = odezva / 58.31;
  Serial.print("Vzdalenost je ");
  Serial.print(vzdalenost);
  Serial.println(" cm.");
  if (vzdalenost>10) otoc();
}

Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

Re: 28BYJ-48 a delka navinu

Příspěvek od Kony » 17 úno 2022, 21:07

Ted me spis napadla dalsi myslenka, jak udelat aby se mi motal motor do te doby nez bude mensi vzdalenost jak 10 cm... ???

Proste nejaky podobny tomuto:
If (vzdalenost<10) stepmotor.stop else stepmotor.start;

Aby motor tocil porad do doby nez bude vzdalenost mensi jak 10 cm

Odpovědět

Kdo je online

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