Skocz do zawartości

Bazuka1988

Użytkownicy
  • Zawartość

    26
  • Rejestracja

  • Ostatnio

Reputacja

2 Neutralna

O Bazuka1988

  • Ranga
    3/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Nie, nic takiego nie pisałeś, lecz bardzo pomogłeś i za to bardzo dziękuję. Co do kąta, racja. Niestety w tej pracy nie jest brany żyroskop. Mam mpu6050 i sam magnometr. Może kiedyś go użyję:)
  2. @GAndaLF <<<< Dzień dobry. Czy mógłbyś mi pomóc z filtrem Kalmana?(temat postu)
  3. @ethanak za wiele to nie dało, ale nie powiem...łatwiej mi będzie teraz operować danymi i esp ma więcej czasu na enkodery i czujniki. Takie dane odbieram w matlabie. Wysyłam same impulsy z enkoderów i czas z czujników ultradźwiękowych. impL =142 impP =136 hcsr04L =4052 hcsr04S =5666 impL =140 impP =139 hcsr04L =4102 hcsr04S =5574 impL = 143 Matlab kod: figure(1); axis([-400 400 -400 400]); axis auto hold on hcsr04L=0, hcsr04Ldystans=0, Lx=0, Ly=0, hcsr04S=0, hcsr04Sdystans=0, Sx=0, Sy=0; %czujniki ultradzwiekowe impL=0, impP=0;%enkodery kwadraturowe d=6.50,
  4. o.O Nie wiedziałem.......ehhh to ułatwia sprawę. Narazie sprawdzam jak wyglądają poszczególne zmienne i ustawiam wszędzie ten sam typ i jak to jest wysyłane. Później robot zrobi trasę i zobaczę czy jest jakaś poprawa, a już po samym kącie jak wspominałeś widzę że powinna być. Po około 15sec jazdy moja teta juz urosła do 30 tys + To jest świetny pomysł!
  5. @ethanak żebym miał więcej czasu, a go coraz mniej. Odnośnie tego printf'a to może to poprawi sprawę, ale to na szybko, zobaczę jaki będzie efekt - Serial.print(x, 4), i jeżeli chodzi Ci o wysyłanie int to znaczy ze mam np liczbę 123.4567890 podzielić np na kawałki i wysyłać w 3 printfach w tej sytuacji Serial.print(123); potem Serial.print(".") i Serial.print(4567890) o to chodzi? Nie wiem czy dobrze myślę. Użyje delay() zamiast tego millis(). Podsunąłeś mi trochę pomysłów i pokazałeś gdzie są błędy, bardzo dziękuję. Sprawdzę jeszcze tą bibliotekę od hc-sr04, może też poprawi sprawę. Ale
  6. @ethanak Co do float i arytmetyki masz rację. Nie wiedziałem że ten błąd może tak szybko narastać. Co do int64 i enkoderów znów masz rację. Muszę się do edukować jak to przesłać w najprostszej postaci żeby nie używać tego printf'a... Da się to wogóle po BT zrobić bez specjalnych kombinacji i umiejętności? Chodzi Ci o millis() przy opóźnieniu funkcji pozycja() u mnie w kodzie? Próbowałem też używać 2 rdzeni na esp za pomocą https://randomnerdtutorials.com/esp32-dual-core-arduino-ide/ ale średnio wyszło. Próbowałem tego rozwiązania jak miałem wszystko na Esp, czyli + silniki, czujni
  7. @ethanak Ad1. Czy uzywajac double az tak to wplynie na poprawe pomiaru, po co mi az tyle miejsc po przecinku? Czego mógłbym użyć zamiast pulseIn? Wszędzie gdzie szukałem to są praktycznie identyczne przykłady. Spotkałem się jeszcze z biblioteką gdzie jest brana temperatura otoczenia pod uwagę. Wogole to myslalem tylko tu nad dodaniem jakiejs mediany z 3 pomiarów w czasie jazdy z jednej pozycji, ale raczej mi to nie wypali, chyba ze robot bedzie sie zatrzymywał, ale zalozenie jest ze ma to robic w ruchu. Ad2. Nie, nie jestem, sprawdzę. Czy potrzebny mi int64 ? Odczyt następuje kilka razy n
  8. @ethanak Witaj! jeśli miałbyś chwilkę może byś zajrzał tutaj... Kolejny problem. https://forbot.pl/forum/topic/19265-polozenie-robota-xy-mapa-filtr-aktualizacja/ Pozdrawiam!
  9. @Treker czy coś jeszcze mógłbym tu dodać co może być przydatne? Dziękuję
  10. Witam, czy pomógłby mi ktoś pomóc zaimplementować to co wrzuciłem w załączniku w PDFie? Uzywam ESP i Arduino IDE. Dane wysyłam do Matlaba po bluetooth. Rysuje to co widać w załącznikach. Pojawia się błąd inkrementalny, z każdym przejechanym okrążeniem. Robot jeździ po zadanej ścieżce śledząc linię przy pomocy 2 czujników odbiciowych i skanuje otoczenie za pomocą 2 czujników ultradźwiękowych hc-sr04. Ustawione zostały na trasie "znaczniki" (w moim wypadku kartony), które mają służyć za punkt odniesienia i po wprowadzeniu filtru będą służyć do korygowania położenia. Położenie jest obliczane przy
  11. @ethanak znalazłem, zainstalowałem, działa!!! mam jeszcze jedną prośbę, da się wyłączyć PAUSE ? Robot ma jeździć cały czas i potrzebuję aby enkodery cały czas chodziły. @ethanak masakra...juz nie mysle...wyrzucilem ifa z petli i jest ok. Ciekawe czemu jeszcze startuje na jednym enkoderze od 37 impulsow To jest tylko przykład, fajna opcja. Moze bedzie mozna to wykorzystac przy starcie robota gdzie silniki startuja pokolei a nie oba naraz. Ok, zostało podłączyć czujniki ultradzwiekowe. Mysle ze nie bedzie problemow ze starym kodem.
  12. @ethanak Pomogłeś! Zrobiłem jak pisałeś i śmiga. Na razie tylko pomierzyłem napięcia czy się zgadzają, czujniki zasiliłem również z 5V. Tylko teraz walczę z enkoderami, a dokładniej z kodem, ale to w innym poście w którym zresztą też już zdążyłeś pomóc:)
  13. @ethanak Witaj ponownie! Ty chyba jesteś moim aniołem stróżem Jak to sprawdzić czy mam enkodery z wyjściem open?
  14. Witam, mam problem z implementacją kodu, który by obsługiwał enkodery kwadraturowe na esp32. Ktoś orientuje się w temacie jak to zrobić na przerwaniach? Potrzebuje odczytywać tylko impulsy. Na tych silnikach mam 1920 na obrót. Na arduino bardzo ładnie smigalo. Ma ktoś jakis pomysl?? Na google jest troche bibliotek, ale nie ogarniam tego jak to zaimplementowac. To kod z arduino, dzialal super. Wziety ze strony https://wiki.dfrobot.com/Micro_DC_Motor_with_Encoder-SJ01_SKU__FIT0450 Jak w linku takie same silniki i enkodery posiadam. //The sample code for driving one way motor encoder
  15. @ethanak ten konwerter bedzie ok? https://allegro.pl/oferta/konwerter-poziomow-stanow-logicznych-3-3v-5v-ttl-9579990581
×
×
  • 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.