Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino UNO - Sterowanie H-Bridge NPN Mosfet Arduino

georgegeorge 30 Cze 2016 18:07 1269 3
  • #1 30 Cze 2016 18:07
    georgegeorge
    Poziom 9  

    Witam wszystkich.
    Zrobiłem układ H-Bridge taki jak w podanym linku

    https://www.eeweb.com/project/circuit_project...ller-using-mosfets-and-ir2110-h-bridge-driver

    Nie umiem jednak sterować nim. Kręci tylko w jedną stronę.
    Pomoże ktoś uruchomić to urządzenie? Kod Arduino poniżej.

    //2-Way motor control

    int motorPin1 = 10; // One motor wire connected to digital pin 10
    int motorPin2 = 11; // One motor wire connected to digital pin 11

    // The setup() method runs once, when the sketch starts

    void setup() {
    // initialize the digital pins as an output:
    pinMode(motorPin1, OUTPUT);
    pinMode(motorPin2, OUTPUT);
    }

    // the loop() method runs over and over again,
    // as long as the Arduino has power
    void loop()
    {
    rotateLeft(250, 1500);
    rotateRight(250, 1500);

    }

    void rotateLeft(int speedOfRotate, int length){
    analogWrite(motorPin1, speedOfRotate); //rotates motor
    digitalWrite(motorPin2, HIGH); // set the Pin motorPin2 LOW
    delay(length); //waits
    digitalWrite(motorPin1, LOW); // set the Pin motorPin1 LOW
    }

    void rotateRight(int speedOfRotate, int length){
    analogWrite(motorPin2, speedOfRotate); //rotates motor
    digitalWrite(motorPin1, LOW); // set the Pin motorPin1 LOW
    delay(length); //waits
    digitalWrite(motorPin2, LOW); // set the Pin motorPin2 LOW
    }

    0 3
  • #2 03 Lip 2016 11:00
    kannisko
    Poziom 10  

    Witam
    Tak na szybko (na podanej stronie nie znalazłem schematu sterownika, więc nie wiem czym konkretnie sterują motorPin 1 i 2) to widzę niespójność kodu z komentarzem, i różnicę mdz. funkcjami right i left.
    W funkcji void rotateLeft(int speedOfRotate, int length)
    masz linię
    digitalWrite(motorPin2, HIGH); // set the Pin motorPin2 LOW
    i tu kod robi co innego niż opisuje komentarz.
    Prównanie z funkcją rotateRight(int speedOfRotate, int length)
    też wskazuje na różnicę w ustawieniu "drugiego" pinu.
    Spróbuj w rotateLeft dać digitalWrite(motorPin2, LOW)

    Pozdrawiam
    Paweł

    0
  • #3 16 Lip 2016 08:14
    georgegeorge
    Poziom 9  

    Przepraszam, że tak późno odpowiadam.
    Dzięki za radę, sprawdzę to dzisiaj. Wcześniej nie miałem możliwości zabrać się za urządzenie.

    Dodano po 26 [minuty]:

    Niestety, nie działa. Silnik kręci tylko w jedną stronę. Schematu układu nie mam, więc informacje dostępne tylko na stronie podanej w pierwszym poście.
    A może ma ktoś schemat a najlepiej cały projekt mostka H do sterowania silnikiem DC, (ja mam od wycieraczek) możliwy do kontroli przez Arduino?

    0
  • #4 16 Lip 2016 09:31
    kannisko
    Poziom 10  

    sprawdź czy sam mostek działa podaj na wiejścia 0 i 5v a potem 5v i 0v (pamiętaj - nigdy nie padawaj 5v na oba wejscia na raz, bo spalisz mostek), jak zadziała to coś w programie/arduino, jak nie to coś na mostku.

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo