Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

sterowanie Arduino oraz sterownik silnika ssk-b01

vander444 01 Sie 2016 21:51 2700 0
  • #1 01 Sie 2016 21:51
    vander444
    Poziom 2  

    Witam,
    Mam problem ze sterowaniem silnika za pomocą Arduino i sterownika silnika ssk-b01. Otóż podłączyłem wszystko (używałem Arduino Uno), napisałem program, który za pomocą dwóch przycisków (przytrzymania) powodował obroty silnika w prawo lub lewo, wszystko fajnie działało, aż nie przełączyłem na płytkę Arduino Due. Wtedy wszystko się posypało i zamiast tego, że po załączeniu zasilania silnik ma stać w miejscu to rusza się jakby sygnały się nachodziły. Próbowałem powrócić do starej płytki lecz efekt był taki sam jak na Due. Obiektem sterowania jest silnik krokowy SM57HT76-2804A. Poniżej przedstawiam kod programu, podłączenie pwm do clk na steroniku b01, praca do ena, ain1Pin do dir. Z góry dziękuje za jakąkolwiek pomoc.

    int switch1Pin = 10;
    int switch2Pin = 11;
    int pwm = 6;
    int in1Pin = 3;
    int praca = 7;

    void setup() {
    pinMode(switch1Pin, INPUT_PULLUP);
    pinMode(switch2Pin, INPUT_PULLUP);
    pinMode(pwm, OUTPUT); //Sygnał PWM silnika nr 1


    pinMode(in1Pin, OUTPUT); //Sygnały sterujące kierunkiem obrotów silnika nr 1
    pinMode(praca, OUTPUT);
    }

    void loop()
    {


    if (digitalRead(switch1Pin) == 0)
    {
    digitalWrite(pwm, 0);
    digitalWrite(praca, 1);
    digitalWrite(in1Pin, 1);
    digitalWrite(6, HIGH); //Włączenie diody
    delay(25);
    digitalWrite(6, LOW); //Wyłączenie diody
    delay(25);

    }


    if (digitalRead(switch2Pin) == 0)
    {
    digitalWrite(pwm,0);
    digitalWrite(praca, 1);
    digitalWrite(in1Pin, 0);
    digitalWrite(6, HIGH); //Włączenie diody
    delay(25);
    digitalWrite(6, LOW); //Wyłączenie diody
    delay(25);
    }

    }

    0 0