Skocz do zawartości

Robot balansujący - odwrócone wahadło


juras5

Pomocna odpowiedź

Te silniki mam na magazynie (nie ma ich jeszcze na stronie, cena 50zł/szt).

Mam też w przygotowaniu enkodery magnetyczne - moduły są już wytestowane i działają, muszę tylko dograć kilka drobiazgów i wyprodukować większą serię. W kwietniu moduły enkoderów też będą w sklepie.

Link do komentarza
Share on other sites

Tak na szybko:

1.Brak dużego kondensatora przy L298 od strony zasilania silników (low-esr)

2.Od strony procesora na liniach I2C nie ma rezystorów podciągających.

3. W sumie obyłoby się pewnie bez tranzystora na tych liniach, bo atmega168P rozpoznaje stan wysoki od 0,6VCC->3V, więc miałbyś 0,3V zapasu co powinno starczyć o ile nie masz długich kabli, albo innych dziwnych kombinacji.

4.AREF i AVCC nie powinny być podłączone na stałe. AREF powinien mieć tylko kondensator 100nF do GND i nic więcej.

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

Hej.

Jak sprawa z projektem??

Zbudowałem prototyp czegoś takiego i utknąłem na sofcie.

Filtr kalmana to dla mnie zbyt trudna sprawa. chciałbym to jakoś prościej zrobić.

Ja mam zyro ITG3200 oraz acc do wyboru ADXL345 lub LIS3LV02, proc Mega328P

Próbowałem całkować ale po kilku ruchach całka się rozjeżdża, próbowałem nie całkowiac tylko sygnał prędkości z żyr zmiksować z sygnałem acc i bezpośrednio na regulator dać. za każdym razem porażka.

Na elce ktoś pisał ze sam segwaya zrobił i sygnał bierze z żyr a acc stosuje tylko w celu kompensacji dryftu tylko nie wiadomo jak to zrobił.

Jak mógłby ktoś coś podpowiedzieć jak się za to zabrać z właściwej strony to byłbym bardzo wdzięczny.

Pozdrawiam

Sławek

WESOŁYCH ŚWIAT

Link do komentarza
Share on other sites

Hej.

Ten dokument już dawno widziałem.

Przeklepałem nawet do bascoma ten kod filtra kalmana.

Niby działało ale z tego co pamiętam to kąt był w miarę OK tylko prędkość jego zmian coś nie tak (nigdy do 0 nie schodziła mimo ze czujniki były nieruchome) ale w dalszym programie nie jest ona nawet chyba wykorzystywana.

Będę jeszcze kombinował.

EDIT:

No i zakombinowałem. Po zmianie parametrów FK oraz regulatora PID sterującego zwykłym silnikiem bez enkodera poprzez pwm moja platforma zaczęła stać. Może stać praktycznie w nieskończoność wykonując delikatne ruchy.

Jutro wstawię filmik.

Musze podłączyć inny akcelerator bo w tej chwili mam LIS35De za 6zł to efekty powinny być lepsze

EDIT:

Dziś nagrałem filmik.

Wyszedł kolejny problemik bo wczoraj ustawiłem jako tako parametry regulatora jak już bateria prawie pusta była a dziś po naładowani baterii zachowuje się trochę gorzej (więcej oscyluje)

Ten napęd od lego jest stary i ma straszne luzy. Myslę że jakby jego zmienić na coś bez luzów oraz dać lepszy ACC (to akurat mogę zrobić bo mam inne) toefekty byłyby znacznie lepsze.

A jakby dać enkoder i osobny regulator do prędkości kół zrobić to już miodzio by było. Będę nad tym pracował

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

Wow jestem pod wrażeniem działającej konstrukcji!

Wydaje mi się, że bez usunięcia luzów z przekładni i regulacji prędkości silnika ze sprzężeniem zwrotnym nie uda się wyeliminować oscylacji.

Mam takie pytanie, jeżeli cały kod napisany jest w bascomie masz kontrolę nad czasem trwania jednego cyklu regulacji i filtracji kalmana, ile on wynosi?

Link do komentarza
Share on other sites

Napięcie zasilania silnika nie powinno mieć dużego wpływu na działanie układu regulacji prędkości obrotowej silnika ze sprzężeniem zwrotnym od prędkości.

EDIT:

Regulator PID czy sam PI powinien poradzić sobie ze zmianami napięcia zasilania. Zmiana napięcia zasilania może mieć duży wpływ jedynie przy maksymalnych wartościach prędkości czy momentu osiąganego przez silnik w układzie regulacji.

Link do komentarza
Share on other sites

No ze stabilizacją obrotów powinien sie troche uniezależnić od rozładowywania baterii ale jakaś minimalna różnica może zostać bo przecież odpowiedź silnika będzie inna z innym napięciem. Owszem osiągnie obroty ale może to więcej czasu zająć.

Filtr + regulator robię w przerwaniu obecnie z częstotliwością 100Hz.

Sam kalman trwa 1,5ms bo obliczeń jest dużo, regulator to kilka linijek.

Procek M328 16MHz

Link do komentarza
Share on other sites

Kod przepisałem z tego dokumentu konaru. nie znam się zupełnie na C. było tam float więc w bascomie dałem single i wszystkie operacje na nim wykonuje. PID również. Tylko wiadomo ze w bascomie mozna tylko jedno działanie zrobić w operacji przypisania wiec musiałem na kilak linijek nieraz rozbijać i ze 3 temp'y uzyć.

Nic nie skracałem ani nie wydłużałem bo i tak ten KF nie chciał dobrze działac z tymi parametrami które były podane w dokumencie.

Link do komentarza
Share on other sites

Hmm, tam na pokłądzie masz arduino? To nie lepiej pisać w arduino a nie w bascomie? 😉 Przynajmniej mi język arduinowy bardziej odpowiada, chociaż strasznie denerwuje mnie niemożność korzystania z timerów inaczej niż PWM.

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.