Skocz do zawartości

Elektryczny longboard


bart555

Pomocna odpowiedź

(edytowany)

ogólnie najsłabiej jest przy starcie na 11,1V, bo silnik przeskakuje i gubi część obrotu (po dzisiejszym egzaminie wrzucę filmiki z jazdy) ale po starcie już się ładnie trzyma. Jeśli chodzi o podjazdy to szczególnie na 11,1V zwalnia ale podjeżdża, ale też nie powiem żebym sprawdzał ją dużych pochyleniach terenu, więc ciężko mi powiedzieć jak by się zachowywała przy bardziej stromych podjazdach.

na 22,2 V ma już dużo większego kopa, i przyśpiesza bardzo dynamicznie, pod górkę też daje sobie radę

Edytowano przez bart555
rozważenie podjazdu i startu dla dwóch różnych napięć zasilania
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

//Program do mikrokontrolera ARDUINO PRO MINI 3,3V odpowiedzialnego za ODBIÓR informacji z pilota i przekazywanie ich do sterownika silnika.

#include <Timers.h> //dodanie biblioteki do obsługi przerwania odpowiedzialnego za zatrzymanie się silnika w przypadku utraty połączenia z pilotem
#include <Servo.h>   //sterownik działa jako serwomechanizm
#include <SoftwareSerial.h> //inicjalizacja serialu na dowolnych dwóch pinach

SoftwareSerial BTSerial(10, 11); // RX | TX
Servo firstESC; //definicja servo
Timer awaryjny; //nazwa dla timera

int c,y; 
void setup() 
{

  Serial.begin(9600); //inicjalizacja serial'u
  BTSerial.begin(9600); //inicjalizacja przesyłu bluetooth
  firstESC.attach(6); //pin na który będzie podawany sygnał dla sterownika
  awaryjny.begin(1500); //czas po którym zadziała przerwanie
}

void loop() {

  //odczyt
  while(BTSerial.available()) //jeśli pojawia się informacja z modułu BT
    {
     c=BTSerial.read();  //jest zapisywana do zmiennej
      y=map(c,0,255,1100,1920); //mapowana z powrotem na wartości zrozumiałe dla ESC
      firstESC.writeMicroseconds(y); //wysłanie wartości do sterownika
      awaryjny.restart(); //reset timera jeśli wiadommość została odebrana
    Serial.println(y);  
    }

  if(awaryjny.available()) //pętla dla przerwania
  {
    y=1100; //jeśli zaszło przerwanie wartość y jest 1100
    firstESC.writeMicroseconds(y); //i zostaje ona przesłana do sterownika żeby zatrzymał silnik (a w zasadzie przestał napędzać, bo hardstop jest wyłączony)
    Serial.println(y);//wyświetlenie przy ewentualnym podłączeniu komputera
  }
    

}

 

#define sterowanie A0   // zdefiniowanie pinu od sterowania (joystick)

#include <SoftwareSerial.h>  //włączenie dodatkowego Serial'u do podłączenia modułu Bluetooth

SoftwareSerial BTSerial(10, 11); // RX | TX



void setup() 
{
  BTSerial.begin(9600); //nadanie prędkości transmiscji dla nadajnika Bluetooth
   Serial.begin(9600); //nadanie prędkości transmisji szeregowej do odczytu przy komputerze
   pinMode(7,OUTPUT);  
  digitalWrite(7,HIGH); //pin 7 o ile pamiętam to zasilanie joysticka (ze względu na niski pobór prądu zasilam z wyjścia mikrokontrolera
}

void loop() 
{
  float x=analogRead(A0);   //definicja zmiennej dla odczytu z joysticka
  float y;                  //zdefiniwoana dodatkowa zmienna do przeliczenia na zakresy rozumiane przez sterownik 
   if(x<530)
   {
    y=1100;      //1100 to inaczej 0
   }
    if(x>530)
   {
    y=1100-200+x;  //wwszystko co więcej jest przeliczone wedle tego, aby osiągało wartości maksymalne około  1920
   }
  int p =map(y,1100,1920,0,255); //mapowanie żeby zmienić wartość na znak, który zostanie przesłany.
  char c=p;  //wprowadzenie zmiennej znakowej
  BTSerial.write(p); //wysłanie znaku
  Serial.println(p); //wydrukowanie znaku do podglądu na Serial
 

}

 

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

@Treker niech pierwszy rzuci kamieniem ten, który nigdy nie zrobił prowizorki na chwile i potem na zawsze tak zostało 🙂 Mi to bardziej nie podoba się ten pasek na widoku. Jakiś kamyk podejdzie pomiędzy pasek a koło i smutek, deska zostaje a my lecimy dalej.

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

@Treker wiesz, testy to testy, a póki go nie zgubiłem to cóż. Potem go opakowałem w czarne pudełko do elektroniki z wydrążoną dziurą na joystick 😛

@qbas0600 to fakt, aczkolwiek zabudowa tego paska, chyba nie jest wcale taka łatwa, a przynajmniej kawał plastiku musiałbym puścić na drukarkę żeby go ładnie zakryć. Ale gdyby zrobić cały moduł połączony z uchwytem na silnik to w sumie byłoby bardzo spoko.
@szczawiosław z perspektywy oglądającego też mi to przeszkadza, ale w tamtym  momencie moja ukochana Siostra rzuciła mi się na pomoc xD

  • Lubię! 1
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.