Skocz do zawartości

olimek

Użytkownicy
  • Zawartość

    220
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    6

olimek wygrał w ostatnim dniu 30 lipca

olimek ma najbardziej lubianą zawartość!

Reputacja

21 Dobra

O olimek

  • Ranga
    5/10
  • Urodziny 07.09.1992

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Wrocław

Ostatnio na profilu byli

406 wyświetleń profilu
  1. @FlyingDutch Nie widzę takiej potrzeby, Filtr komplementarny to razem 3 linijki kodu, Pid 1. Multum przykładów nawet tu na forum, a dobrane współczynniki będą działały tylko w moim konkretnym przypadku. P.S. filtr komplementarny : Angleyz = atan2(Accl_Y_RAW,Acc_Z_RAW)*180/3.14; Anglex = 0.97 * (Anglex + Gyro_radx) + (0.03 *Angleyz);
  2. @lubniewicz A teraz na spokojnie obszerniej. Kolejno : 1. Skopany filtr kalmana, konkretniej źle dobrane wagi współczynników. Na zdjęciu wyjście z filtru kalmana, przy szybkich zmianach wychylenia widać "szpilki" które uniemożliwiały poprawną regulację PID'em. 2. Po poddaniu się z Kalmanemn na szybko napisaliśmy filtr komplementarny który ma tylko jedną wagę "alfa" i szybko udało się go odpowiednio dostroić, czyli żadnych szpilek przy zboczach.:(zielony przebieg) 3. W trakcie strojenia filtru okazało się, że rozdzielczość żyroskopu 250 jest stanowczo za mała, za absolutne minimum uznaliśmy 500. 4. Kolejnym błędem był sam regulator PID a dokładniej człon D ten człon powinien przemnażać prędkość kątową przez współczynnik, a nie jak w pierwotnej mojej wersji zróżniczkowaną po czasie różnicę błędów uchybu . 5.Ostatnim błędem była mechaniczna strona, ciężkie ogniwo powinno znajdować się jak najniżej, a czujnik jak najbliżej osi kół. O źle dobranych parametrach PID nawet nie wspominam bo to aż wstyd. P.S. W załączniku filmik efektu finalnego, którego bym nie osiągnął gdyby nie kolega lubniewicz. P.S 2 Robot właśnie pięknie przebalansował całe pisanie tego posta i ani razu nawet nie uciekł balans.zip
  3. W dużym skrócie największym błędem, był filtr kalmana za bardzo opierał się na gyro i przy zmianie kąta pokazywało szpilki przed zboczami co skutecznie uniemożliwiało jakakolwiek regulację
  4. W załączniku "stojący robot" Sam człon P. Dzięki nieocenionej pomocy kolegi lubniewicz. 20200729_171624.zip
  5. https://forbot.pl/forum/profile/11725-flyingdutch/ Ok wartości policzone metodą Metoda Chiena-Hronesa-Reswicka wyglądają na mocno przeregulowane. Obecnie podniosłem środek ciężkości. Na filmiku robot z otwartą pętlą, silniki 50% mocy. Nie mam już pomysłu, co z tym robić. Raczej podejrzewam stronę mechaniczną... Silniki n20 300 RPM. Nie ma mowy nawet o próbie utrzymania równowagi autonomicznie. 20200728_171613.zip a tu przebieg z kalmana
  6. @FlyingDutch Popraw mnie, ale ostatnia nadzieja w zwiększeniu wysokości robota i oddaleniu środka ciężkości od kół.
  7. @Matthew11 Ad. 1 TAK, TAK i testuje rozmieszczenie li pol. Teoretycznie im wyżej masa tym lepiej, na zdjęciu pakiet jest najniżej jak się da, myślałem że masa poniżej osi ułatwi balans. Ad. 2 pętla 10 ms, mielenie danych ~4.6 ms Ad. 3 Własnie próbuję na czuja. Tzn tylko P i na chybił trafił aż robot w miarę sam nie ustoi (i tu się zatrzymałem). Ad. 4 Dzisiaj po pracy spróbuję z komplementarnym. przy mniejszych wartościach Kp robot nie jest w stanie nawet dojść do pionu.
  8. Na filmiku pracuje na PD, parametry po 20. Nie sprawdzałem przy otwartej pętli.
  9. Siema, zbudowałem sobie takiego robota balansującego: i od miesiąca próbuję go zmusić do balansowania, a ten mnie nie słucha. MPU6050 -> filtr kalmana -> pid(na filmiku sam człon PD). Sterowanie wychyleniem wywoływane w w przerwaniu co ok 10 ms. I teraz moje pytanie : Czy kaszanię coś programowo, regulacyjnie, Czy skaszaniłem coś mechanicznie ? Tu podgląd z STMStudio ... robot.zip
  10. Siema, przesiadłem się z HAL na CMSIS i mam problem z blokującym się interfejsem SWD. Procek: STM32f100c8 prog: tani klon stlinka Wgrywam pusty program (jedynie konfiguracja zegara) : FLASH->ACR |= FLASH_ACR_LATENCY_1; RCC->CR |= RCC_CR_HSEON; while(!(RCC->CR & RCC_CR_HSERDY )); RCC->CFGR |= RCC_CFGR_PLLSRC_PREDIV1; RCC->CFGR |= RCC_CFGR_PLLMULL3; RCC->CR |= RCC_CR_PLLON; while(!(RCC->CR & RCC_CFGR_SW_PLL)); RCC->CFGR |= RCC_CFGR_SW_PLL; I blokuje mi SWD, tzn muszę się łączyć używając hardwarowego resetu, mam programator bez nRST. W cube wystarczyło zaznaczyć opcję "debug:serial wire" i po problemie. próbowałem: RCC->APB2ENR |= RCC_APB2ENR_AFIOEN | RCC_APB2ENR_IOPAEN; AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_1; Jednak bez skutku... HELP
  11. Robot będzie dostawał nagrodę gdy postanowi się ruszyć zamiast się kręcić w koło dodatkowo jeżeli po przemieszczeniu się będzie ciemniej robot nie dostanie nagrody, ot narazie cała filozofia. Zdeżeniówki są mniej zawodne i jest większe prawdopodobieństwo wykrycia przewodów na drodze itp P.S. Wałaśnie dostałem reszte brakujących elementów. Jutro biorę się za płytki No i schemat, jak mówiłem nic nowego
  12. Witam wszystkich bardzo serdecznie po bardzo długiej nieobecności na forum. Zakładam tego workloga, w którym będę zamieszczał postępy z prac nad moim robotem. Ogólnie jeżeli chodzi o elektronike i mechanike to niczym nowym nie zaskoczę: -l293d do sterowania silników 320 obr/min -koła toczone z abs -serce to atmega 168 taktowana kwarcem 12 MHz -4 czujniki zdeżeniowe (krańcówki) -4 czujniki natężenia światła(fotorezystory) ew. zamiennie z 4 czujnikami linii(cny 70) Co do programu to będzie on pisany w c i będzie zawierał algorytm qlearning(o którym narazie wiem stosunkowo mało, ale cały czas się uczę ), więc teoretycznie robot będzie się uczył znajdować najjaśniejsze miejsce w domu tudzież jeździć wzdłuż linii(taki LF). Było by miło jak byście pomogli mi z wyborem nazwy dla robocika, bo aktualnie mam mętlik . Do wglądu bardzo luźny projekt robota xD Pozdrawiam Michał "Ollie"
  13. Na alledrogo kupisz, ale widziałem tylko W zestawach z mini frezami itp ...
  14. Pliki z 3d maxa też przyjmujesz ? Czy muszę je konwertować ?
  15. http://atmega32.republika.pl/17.htm poszukaj rejestrów sobie na tej stronce ew. Help do bascoma . A i RTFM !!!
×
×
  • Utwórz nowe...