• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Accelestepper i kłopoty
#11
Zaprezentowany w poprzednim poście szkic działa OK. Sprawdzałem go co prawda tylko analizatorem, ale teraz zmontowałem dwa silniki i kręcą się OK.
https://youtu.be/VZdZk0orGFo
Może masz inny silnik, inaczej ustawione/włączone mikrokroki i wtedy oczywiście będą inne prędkości (moje mają pełne kroki). Może coś pomieszałeś z podłączeniem kabli lub definicją pinów. Może masz ograniczony prąd za bardzo napięciem na driverze, albo za słabe zasilanie.
Ja to podłączyłem na szybko do shielda RAMP 1.5  z driverami A4988, akurat ten shield wymaga sterowania jeszcze pinem ENABLE, więc to i zmiana pinów, które są przeznaczone na shieldzie dla osi X i Y, które wykorzystałem do zasilenia silników, to jedyne modyfikacje.
Dopóki nie zaczną działać jak na filmiku z tym szkicem nie ma sensu brnąć dalej. To co chcesz osiągnąć to już tylko odpowiedni dobór funkcji biblioteki i ułożenie logiki, odpowiedni dobór dostępnych dla programisty algorytmów.
Kod:
#include <AccelStepper.h>

const int stepPin1 = A0; // Silnik nr 1  ruch poziomy
const int dirPin1 = A1;
const int enablePin1 = 38;
const int stepPin2 = A6;  //Silnik nr 2 ruch obrotowy głowicy
const int dirPin2 = A7;
const int enablePin2 = A2;

AccelStepper stepper1 = AccelStepper(1, stepPin1, dirPin1 );
AccelStepper stepper2 = AccelStepper(1, stepPin2, dirPin2 );

uint32_t czasTeraz,czasPoprzedni,tik=10;
uint8_t nTik,sekundy,minuty,godziny,dni;
bool fnTik,fsekundy,fminuty,fgodziny,fdni;
char napis[64];

void setup() {
Serial.begin(115200);
pinMode(enablePin1,OUTPUT);
pinMode(enablePin2,OUTPUT);
digitalWrite(enablePin1, LOW) ;
digitalWrite(enablePin2, LOW) ;
  stepper1.setMaxSpeed(100);
  stepper1.setAcceleration(50);
  stepper1.moveTo(100);
  stepper2.setMaxSpeed(300);
  stepper2.setAcceleration(100);
  stepper2.moveTo(100);
}


void loop()
{
  czas();
if (stepper1.distanceToGo() <=100)   stepper1.moveTo (stepper1.currentPosition()-50) ;
if (stepper2.distanceToGo() <=100)   stepper2.moveTo (stepper2.currentPosition()+50) ;

stepper1.run();
stepper2.run();

if(fsekundy) {

  Serial.print(sekundy);
  sprintf(napis," Silnik1: %6d",stepper1.currentPosition() );
  Serial.print(napis);
  sprintf(napis," Silnik2: %6d",stepper2.currentPosition() );
  Serial.println(napis);
}

}






void czas()
{
  czasTeraz=millis();
fnTik=fsekundy=fminuty=fgodziny=fdni=0;
if((uint32_t)(czasTeraz-czasPoprzedni)>=tik)
{
  czasPoprzedni=czasTeraz;
  fnTik=1;
  nTik++;
  if(nTik>=(1000/tik))
  {
    nTik=0;
    sekundy++;
    fsekundy=1;
     if (sekundy>=60)
    {
      sekundy=0;
      minuty++;
      fminuty=1;
      if (minuty>=60)
      {
        minuty=0;
        godziny++;
        fgodziny=1;
        if (godziny>=24)
        {
          godziny=0;
          fdni=1;
          dni++;
   
        }
      }
    }
  }
}
}
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
Accelestepper i kłopoty - przez andrzejn - 01-02-2022, 22:09
RE: Accelestepper i kłopoty - przez kaczakat - 02-02-2022, 00:39
RE: Accelestepper i kłopoty - przez andrzejn - 02-02-2022, 00:52
RE: Accelestepper i kłopoty - przez kaczakat - 02-02-2022, 04:06
RE: Accelestepper i kłopoty - przez andrzejn - 02-02-2022, 10:39
RE: Accelestepper i kłopoty - przez andrzejn - 02-02-2022, 11:00
RE: Accelestepper i kłopoty - przez kaczakat - 02-02-2022, 14:34
RE: Accelestepper i kłopoty - przez andrzejn - 02-02-2022, 21:12
RE: Accelestepper i kłopoty - przez kaczakat - 03-02-2022, 02:15
RE: Accelestepper i kłopoty - przez andrzejn - 04-02-2022, 15:45
RE: Accelestepper i kłopoty - przez kaczakat - 04-02-2022, 23:53
RE: Accelestepper i kłopoty - przez andrzejn - 05-02-2022, 20:07
RE: Accelestepper i kłopoty - przez kaczakat - 05-02-2022, 21:22
RE: Accelestepper i kłopoty - przez andrzejn - 08-02-2022, 21:15
RE: Accelestepper i kłopoty - przez kaczakat - 08-02-2022, 21:31
RE: Accelestepper i kłopoty - przez andrzejn - 09-02-2022, 12:05
RE: Accelestepper i kłopoty - przez kaczakat - 09-02-2022, 20:39
RE: Accelestepper i kłopoty - przez andrzejn - 10-02-2022, 20:43

Skocz do:


Przeglądający: 1 gości