Skocz do zawartości

Pierwszy robot jeżdzący - jakie zasilanie silników DC


cezarg1410

Pomocna odpowiedź

A po co kompas? To cholerstwo ma zbyt długi czas potrzebny aby pokazać kierunek. Dobrze oprogramowany najtańszy 6050 zrobi swoją robotę szybciej i z większą precyzją...

No, chyba że chcesz przejechać parę kilometrów; wtedy kompas się przyda.

Link do komentarza
Share on other sites

3 minuty temu, ethanak napisał:

A po co kompas?

 

do modelarstwa jest zrobione takie coś ze kamera w modelu rusza się tak jak kręcisz głową...poprostu podąża za tym na co patrzysz no i tam była mowa o tym że os z nie będzie chodziła bez kompasu bo poprostu nie ma punktu odniesienia...wiadomo pitch i roll będą działać,ale yaw będzie pokazywał jak moduł będzie leżał płasko i obracał się wokół własnej osi?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Nie no spokojnie panowie 😄

Jeszczze kompletnie nie mam sterowania.

Może dzisiaj uda się skleić kawałek apki na andka ( jednak będę robił sam ) i zrobić skręcanie. Bo póki co auto tylko na wprost śmiga.

kolejny etap to myślałem dorzucić czujniki odległości co by nauczyć bo samemu trochę jeździć 🙂

 

Link do komentarza
Share on other sites

Aaa co do mocy!

Na pierwszy rzut oka wydaje się że jest jej wystarczająco 🙂

predkosc również mnie zadowala na tutejsze warunki.

ZAuwazylem jedna dziwna rzecz. Otóż staje przed ścianą j daje pełną moc jadąc w ścianę.

przednie silniki zaczynają się ślizgać ale tylne mają większe obciążenie i po kilku sekundach walki, stają i zaczynają bardzo dziwnie wyć. Natychmiast wtedy odcinam im prąd.

CO się z nimi wtedy dzieje ?

Link do komentarza
Share on other sites

12 minut temu, cezarg1410 napisał:

CO się z nimi wtedy dzieje ?

Silnik krokowy należy rozpędzać. Jeżeli spróbujesz go uruchomić "od ręki" na np. 2000 RPM, to nie ruszy. Ale jeżeli będziesz rozpędzał to da radę. Teraz sobie pomyśl, że nagle przez przypadek coś zatrzymuje ten silnik jak się kręci z dużą prędkością obrotową. Po prostu nie może ruszyć i zaczyna piszczeć, bo cewki zawsze piszczą przy odpowiednim taktowaniu 😉 

Możesz spróbować zablokować silnik "na stole" np. Archimedesem (dźwignią). Wtedy zobaczysz taki sam efekt. Uwaga: te silniki często mają dość niezłego kopa, więc ręką nie polecam próbować. Im wyższa prędkość tym łatwiej zatrzymać silnik (bo ma mniejszy moment obrotowy).

Rada: nie wjeżdżać w ścianę "na chama".

  • Lubię! 1
Link do komentarza
Share on other sites

Dzięki za rady 🙂 Już rozumiem. To był swego rodzaju crash test żeby sprawdzić zachowanie robota w warunkach niecodziennych.

 

1 godzinę temu, farmaceuta napisał:

a ja zapytam ile tam tego prądu ustawiłeś??

Zgodnie z Twoją radą: VREF mam 0,5V czyli prąd będzie 1A. Silniki według aukcji ciągną do 1,4A więc w teorii tyle mógłbym jeszcze ustawić.

Link do komentarza
Share on other sites

6 minut temu, cezarg1410 napisał:

czyli prąd będzie 1A. Silniki według aukcji ciągną do 1,4A więc w teorii tyle mógłbym jeszcze ustawić.

No i dobrze, nie ma co żyłować jeśli nie potrzebujesz...choć pewnie już przy 1.2a nie chciałyby się zatrzymać...😉 Czekamy na dalsze postępy...

Link do komentarza
Share on other sites

5 minut temu, farmaceuta napisał:

.choć pewnie już przy 1.2a nie chciałyby się zatrzymać.

Nie omieszkam sprawdzić.

Jasne. Będzie coś nowego będzie nowy post 🙂 ostatanio z czasem kiepsko ale coś tam powoli codziennie od 23 do 24 udaje się pogrzebać 😄

Link do komentarza
Share on other sites

Wstyd się przyznać, ale robot przeleżał prawie 9 miesięcy bez żadnego dotknięcia.

Nawał obowiązków rodzinnych, przeprowadzka itp itd - totalny brak czasu.

No ale wczoraj odkurzyłem drania i napsiałem apkę do sterowania po BT - póki co mega prosta. Przód tył lewa prawa i stała prędkość silników.

I niestety - "prawe" silniki działają ok. Lewe - zawsze kręcą się do przodu.

Wymontowałem ESP z robota i sprawdzam napięcie na pinie sterowania kierunkiem lewych silników - niezależnie od komendy zawsze mam tam 3.3V :/

 

Czy ktos jest w stanie podpowiedzieć co robię źle?

Poniżej kod:


#include "BluetoothSerial.h"

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif

#if !defined(CONFIG_BT_SPP_ENABLED)
#error Serial Bluetooth not available or not enabled. It is only available for the ESP32 chip.
#endif

#include "FastAccelStepper.h"
#include "AVRStepperPins.h" // Only required for AVR controllers

const int DIR_LEFT_PIN = 14;
const int STEP_LEFT_PIN = 12;

const int DIR_RIGHT_PIN = 27;
const int STEP_RIGHT_PIN = 13;

const int ENABLE_PIN = 26;

FastAccelStepperEngine leftEngine = FastAccelStepperEngine();
FastAccelStepper *leftStepper = NULL;

FastAccelStepperEngine rightEngine = FastAccelStepperEngine();
FastAccelStepper *rightStepper = NULL;

BluetoothSerial SerialBT;

void setup() {
  Serial.begin(115200);
  SerialBT.begin("ESP32test"); //Bluetooth device name
  Serial.println("The device started, now you can pair it with bluetooth!");

  leftEngine.init();
  leftStepper = leftEngine.stepperConnectToPin(STEP_LEFT_PIN);

  rightEngine.init();
  rightStepper = rightEngine.stepperConnectToPin(STEP_RIGHT_PIN);
  
  if (leftStepper && rightStepper) {
    leftStepper->setDirectionPin(DIR_LEFT_PIN);
    leftStepper->setEnablePin(ENABLE_PIN);
    leftStepper->setAutoEnable(true);
    leftStepper->setSpeedInHz(1000);       // 500 steps/s
    leftStepper->setAcceleration(500);    // 100 steps/s²

    rightStepper->setDirectionPin(DIR_RIGHT_PIN);
    rightStepper->setEnablePin(ENABLE_PIN);
    rightStepper->setAutoEnable(true);
    rightStepper->setSpeedInHz(1000);       // 500 steps/s
    rightStepper->setAcceleration(500);    // 100 steps/s²

//    digitalWrite(DIR_LEFT_PIN, LOW);
//    digitalWrite(DIR_RIGHT_PIN, LOW);
  }
}

void loop() {
  if (SerialBT.available()) {

    String text = SerialBT.readStringUntil('<<');

    if (text.startsWith(">>")) {
      text = text.substring(2);

      int splitterIndex = text.indexOf("--");

      String buttonName = text.substring(0, splitterIndex);
      String actionName = text.substring(splitterIndex + 2, text.length());


      Serial.print("Button ");
      Serial.print(buttonName);

      Serial.print(", Action: ");
      Serial.println(actionName);


      if (buttonName == "UP" && actionName == "DOWN") {
        goForward();
      } else if (buttonName == "UP" && actionName == "UP") {
        stop();
      }

      if (buttonName == "DOWN" && actionName == "DOWN") {
        goBackward();
      } else if (buttonName == "DOWN" && actionName == "UP") {
        stop();
      }
      if (buttonName == "LEFT" && actionName == "DOWN") {
        left();
      } else if (buttonName == "LEFT" && actionName == "UP") {
        stop();
      }
      if (buttonName == "RIGHT" && actionName == "DOWN") {
        right();
      } else if (buttonName == "RIGHT" && actionName == "UP") {
        stop();
      }
    }
  }
}




void goForward() {
  leftStepper->runForward();
  rightStepper->runForward();
}
void goBackward() {
  leftStepper->runBackward();
  rightStepper->runBackward();
}


void left() {
 leftStepper->runBackward();
 rightStepper->runForward();
}
void right() {
 leftStepper->runForward();
  rightStepper->runBackward();
}


void stop() {
  leftStepper->stopMove();
  rightStepper->stopMove();
}

 

 

Dodam, że próbowałem zmieniać pin tych lewych silników na inny, ale efekt zawsze ten sam.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.