Skocz do zawartości

Nawyk

Użytkownicy
  • Zawartość

    2072
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    126

Posty napisane przez Nawyk


  1. Jeśli chodzi o tanie serwa, to i tak wszystkie powstają w Chinach i nie zdziwiłbym się, gdyby powstawały na tej samej taśmie produkcyjnej. Miałeś okazję testować oba rodzaje serw? Różnią się czymś w działaniu? Bo spotkałem się już z "5010" z różnymi naklejkami i dokładnie tymi samymi "bebechami", ale w praktyce różniły się tylko naklejką właśnie. Wszystkie miały podobną kulturę pracy, pobór prądu i generalnie zbliżone (bo nie bylem w stanie sprawdzić dokładnie) parametry.


  2. Mierzyłeś napięcia na pinach procka, czy gdzieś dalej na linii zasilania? Mierzyłeś napięcia podczas pracy układu (w drugim przypadku podczas próby uruchomienia zasilania)? Masz oscyloskop?


  3. Możesz skorzystać z zagnieżdżania instrukcji warunkowych, czyli w uproszczeniu:

    if [nie ma przeszkody] then
        if [jest za blisko ściany] then
           instrukcje skręcania w jedną stronę
        elseif [jeśli za daleko od ściany] then
           instrukcje skręcania w drugą stronę
        else 'czyli jeśli jest w odpowiedniej odległości
           instrukcje jazdy prosto
        end if
    else 'czyli jeśli jest przeszkoda
        instrukcje omijania przeszkody
    end if

    taki "if w ifie". To jest jeden sposób rozwiązania tego problemu. Czasami bardziej eleganckie jest stosowanie kilku warunków w jednym "if".

    Np.

    if warunek_1 AND warunek_2 then
       instrukcje czegośtam
    else
       ....
    end if

    albo

    if warunek_1 OR warunek_2 then
       instrukcje czegośtam
    else
       ...
    end if

    Dla tych dwóch "przykładów": w pierwszym instrukcje czegośtam wykonają się tylko jeśli warunek_1 i warunek_2 są spełnione, np. roznica>100 i odleglosc>20. "AND" to takie polskie "ORAZ". W drugim przykładzie tylko jeden warunek musi zostać spełniony, czyli np. albo roznica>100, albo odleglosc>20, albo roznica>100 i odleglosc>20. "OR" to polskie "LUB".

    Mam wrażenie, że trochę brakuje Ci podstaw w dziedzinie programowania, może pora zaopatrzyć się w jakąś lekturę? Nie musi być książka, w internecie jest mnóstwo tego typu artykułów. Możesz nawet poszukać kursu typowo pod BASCOM-AVR.

    Zamiast wymyślać coraz bardziej skomplikowane algorytmy, spróbuj najpierw przetestować podstawowe. Czyli dojdź najpierw do tego, żeby robot w miarę płynnie trzymał się jednej ściany. Potem dodaj mu czujnik z przodu i spróbuj zaprogramować go tak, żeby przed przeszkodą po prostu stawał. Potem spróbuj zaprogramować go tak, żeby np. obracał się w lewo i próbował jechać wzdłuż przeszkody, aż dojdziesz do momentu, gdy robot "objeżdża" przeszkodę i wraca na trasę. Za dużo pomysłów naraz przy minimalnym doświadczeniu i nic dziwnego, że nie możesz sobie poradzić. Moja rada - małymi krokami dalej zajdziesz 🙂

    • Pomogłeś! 1

  4. To naprawdę nie jest trudne. Spróbuj sobie wyobrazić, że jesteś robotem i zanotuj sobie jak byś musiał postępować w różnych sytuacjach (jedna ściana za blisko, dwie za blisko, za daleko itp.), najlepiej rozrysuj sobie algorytm i małymi kroczkami dojdziesz do tego, czego szukasz. Jeśli ciągle ktoś będzie Ci podpowiadać, to nie nauczysz się tego specyficznego, programistycznego myślenia, a bez tego niczego wartościowego tak naprawdę nie zaprogramujesz. Skoro nie gonią Cię terminy, szef nie wisi nad Tobą z biczem, to moim zdaniem jest to idealna chwila żeby właśnie teraz zrobić trochę błędów, wyciągnąć trochę wniosków i zdobyć mnóstwo doświadczenia.


  5. To ostre skręcanie może być spowodowane właśnie zbyt dużą "korektą" w stosunku do błędu - może spróbuj pomnożyć różnicę przez jakąś liczbę, np. 0.8 zanim dodasz/odejmiesz ją od 127? I przydałby się warunek na wypadek, gdyby zmienna 'roznica' przekroczyła 128.

    Wystarczy:

    if roznica>128
    roznica = 128
    elseif roznica<-128
    roznica = -128
    end if
    

    Coś w ten deseń, po każdym "ścianowym" warunku


  6. Fakt, nawet początkowo planowałem skorzystać z MQX żeby dać kaskadowy PID, o którym tyle się mówiło na Forbocie - PID ze sprzężenia zwrotnego enkoderów na jednym silniku, PID -||- na drugim silniku i PID "główny" do obsługi czujników. Jak najbardziej się da i to w wygodny sposób, ale niestety brak czasu mnie pokonał 🙂 Ale może kiedyś jeszcze do tego siądę, enkodery z DFRobot aż się proszą o miejsce w robocie 🙂


  7. Jaki sterownik? Jaki mikrokontroler? Jaki sposób skręcania? Jaki rodzaj czujników? Jaka kamera i do czego podłączona? Chcesz implementować wizję komputerową?... Albo opisz lepiej problem, albo zaczekaj na kogoś, kto lepiej wróży z fusów ode mnie 🙂


  8. Czyli jak mam w kodzie "granice" 300 i to jest ok. 5cm to od tego odejmuję?

    Skoro masz granicę 300, to jeśli zbliżysz się do ściany i napięcie sygnału z czujnika wzrośnie np. do 400, to będziesz miał -100. Jeśli robot odjedzie od ściany i napięcie zmaleje np. do 200, będziesz miał +100. Po znaku jesteś w stanie powiedzieć czy robot jest za blisko, czy za daleko od ściany, a wartość po znaku mówi Ci jak bardzo jest za blisko/za daleko. Im większa ta wartość, tym mocniej musisz "skręcić" żeby robota naprowadzić na właściwą drogę, czyli PWM dla jednego silnika zwiększasz (albo dla drugiego silnika zmniejszasz) tak, żeby różnica prędkości między silnikami była tym większa, im dalej/bliżej od ściany jest robot.

    'założenie - ściana jest po prawej stronie robota
    
    roznica = granica - odczyt
    if (roznica > 0) 'za daleko od sciany
     pwm1a = 127 + roznica 'lewy silnik szybciej
     pwm1b = 127 - roznica 'prawy silnik wolniej
    else if (roznica < 0) 'za blisko sciany
     pwm1a = 127 - roznica 'lewy silnik wolniej
     pwm1b = 127 + roznica 'prawy silnik szybciej
    else 'na granicy
     pwm1a = 255 'lewy silnik na maksa
     pwm1b = 255 'prawy silnik na maksa
    end if

    Oczywiście kod będzie nie kompletny, bo potrzebne są jeszcze warunki zabezpieczające przed sytuacją, gdy zmienna 'roznica' będzie miała wartość większą od 128 lub mniejszą od -128, ale ogólną ideę powinieneś zrozumieć. czasami zmienną 'roznica' trzeba będzie podzielić przez jakąś liczbę, żeby robot nie reagował zbyt gwałtownie, ale to już sama zabawa, której nikt za Ciebie nie odhaczy. Można nawet się pokusić o pełną implementację regulatora proporcjonalnego, czy nawet proporcjonalno-różniczkującego, żeby robot jeździł płynniej.

    • Pomogłeś! 1

  9. Pod tym względem Freescale chyba faktycznie daje ciała... Ja noty ściągam zawsze z ich strony, np. http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KL2&fpsp=1&tab=Documentation_Tab

    Nie wiem jak jest z innymi prockami.

    Co do CodeWarriora, to wersja ściągnięta na szkolenie działa mi do dzisiaj, więc sam już nie wiem 🙂 Na szczęście Processor Expert'a można mieć w postaci modułu i zintegrować go z innym środowiskiem


  10. Dzięki 🙂

    Nie miałem zbyt dużo czasu aby wdrażać się bardziej w tematykę tych procków, z Cortex-m0+ wiąże się praktycznie tylko niższe zużycie energii przez rdzeń, czego właściwie się nie odczuje w takich aplikacjach jak moja. Osobiście preferuję STM32, głównie ze względu na bardzo fajne dokumentacje (a nie mogę jakoś ścierpieć np. not od XMC), ale Kinetis z płytki KL25Z podbił moje serce właśnie tym modułem Processor Expert w środowisku programistycznym. Myślę, że to będzie przyszłość w kwestii programowania nowocześniejszych procków... Polecam się pobawić, chociaż potem strasznie nie chce się klepać kodu na inne procki 😉 Chętnym mogę przez prywatne wiadomości podesłać materiały z 4-godzinnego szkolenia, właściwie tylko z tego się uczyłem i dałem jakoś radę oprogramować tego robota, więc można je uznać za przydatne 🙂


  11. aixI, na allegro. Dostałem w uszkodzonym kartonie, a przez to trochę taniej 🙂 Odbiór osobisty w Warszawie. Był toner i gwarancja. "Startowego" tonera jest ponoć trochę mniej niż "normalnego" - obecnie jestem na etapie zastanawiania się, czy lepiej wymienić, uzupełnić toner czy kupić nową drukarkę (taką samą).


  12. Mam pierwszą - jest jak najbardziej ok. A jeszcze lepsza była była HP LaserJet 2100 kupiona za 150zł na Allegro (wymieniony bęben i toner), tylko zajmowała zbyt dużo miejsca w mojej kawalerce

    • Lubię! 1

  13. Kim jesteśmy?

    • Sklep KAMAMI.pl i wydawnictwo BTC od wielu lat współpracuje z administracją Forbota, sponsorując różnego rodzaju podzespoły i książki - również te, które dostajecie co miesiac w ramach głosowania na najlepszą konstrukcję. Nasza oferta skupia się przede wszystkim na narzędziach deweloperskich oraz materiałach edukacyjnych dla elektroników, które propagują nowe technologie i ułatwiają start początkującym.

    Robotyka

    • Od dłuższego czasu, z zainteresowaniem obserwujemy rozwój robotyki amatorskiej w Polsce, kibicujemy "naszym" na zawodach we Wiedniu i mamy nadzieję, że nadejdzie dzień, w którym całe podium każdej kategorii będzie ozdobione biało-czerwoną flagą 🙂Zdecydowaliśmy się pomóc w wyborze podzespołów przydatnych w robotyce i otworzyliśmy specjalny dział na stronie naszego sklepu: www.robotyka.kamami.pl.
    • IMG_51daab923d0de7323.jpg

    Kilka słów o naszej ofercie

    Jesteśmy oficjalnym partnerem kilku znanych Wam zapewne firm: Pololu, DFRobot Sparkfun, Adafruit, Arduino i innych. Jeśli interesują Was konkretne produkty z oferty tych sklepów, a nie znaleźliście ich na naszej stronie, to wystarczy się z nami skontaktować - sprowadzimy je dla Was!

    IMG_51daba2b6a3e35525.jpgIMG_51daba36799128948.jpgIMG_51daba447b60b264.jpg

    Można u nas kupić zarówno podzespoły "pierwszej potrzeby" - akumulatory, silniki czy podwozia, jak i mniej popularne "ciekawostki": moduły rozpoznawania głosu, syntezatory mowy, koła wielokierunkowe a nawet skanery linii papilarnych np. do zabezpieczenia warsztatu.

    Kontakt

    • Część z Was być może widziała mnie, jak biegałem z plakietką "KAMAMI.pl - Sponsor" na zawodach w tym roku:) Jestem od jakiegoś czasu osobą odpowiedzialną w KAMAMI.pl m.in. za dział robotyki, więc śmiało możecie zadawać mi pytania dotyczące naszej oferty za pośrednictwem tego tematu, prywatnych wiadomości na forum, maila damian.nowak@btc.pl lub dzwoniąc pod numer (022) 767-36-24 (pn-pt, godz. 8-16) i prosząc o Damiana.

    Chciałbym również zachęcić do odwiedzenia naszej strony na Facebook'u: www.facebook.com/KAMAMIpl

    IMG_51daaac3b659e5256.jpg

    Regularnie publikujemy tam różnego rodzaju ciekawostki i informacje o nowościach w naszej ofercie. Planujemy także przeprowadzić w niedalekiej przyszłości drobne konkursy z nagrodami dla aktywnych czytelników. Osoby nieposiadające konta na FB, zapraszam również na naszego bloga: blog.kamami.pl.


  14. A Ty myslisz, że skończysz studia i z automatu popłynie do Ciebie z góry określona rzeka pieniędzy? Wszystko zależy od Ciebie - Twojej wiedzy, umiejętności, doświadczenia i niekiedy znajomości. Wiedz też, że robiąc tylko to, co musisz zrobić na studiach, też nie możesz liczyć na zbyt wiele. Widełki zarobków już masz. Na jaką kwotę wycenią Twoją pracę? To już jest w Twoich rękach


  15. Istnieją dwa typy urządzeń - "low power" i "high power", które rozróżnia się w sposób opisany poniżej:

    A unit load is defined as 100 mA in USB 2.0, and 150 mA in USB 3.0. A device may draw a maximum of 5 unit loads (500 mA) from a port in USB 2.0; 6 (900 mA) in USB 3.0. There are two types of devices: low-power and high-power. A low-power device draws at most 1 unit load, with minimum operating voltage of 4.4 V in USB 2.0, and 4 V in USB 3.0. A high-power device draws, at most, the maximum number of unit loads the standard permits. Every device functions initially as low-power—but may request high-power, and gets it if it's available on the providing bus.

    źródło: http://en.wikipedia.org/wiki/Universal_Serial_Bus

    Szczegóły znajdziesz w książce, więc może jest to dobry moment, żeby do niej zajrzeć 🙂

    Pozdrawiam


  16. Z kwestią uniwersalności się w 100% zgodzę, od studiów praktycznie nie miałem 'przyjemności' korzystania z nabytej wiedzy o asm dla '51. Ale gdybym planował zagłębić się w programowanie pod tę platformę sprzętową, to na pewno bym nie żałował startu od asm. Chociaż osobiście jestem zdania, że zarówno asm, C jak i Bascom się przydaje - zależy co trzeba zrobić i ile ma się czasu na np. wykonanie prototypu.


  17. Posiadam ichniejszą wkrętarkę akumulatorową, taką strasznie starą, jeszcze na akusach NiCd - jest nie do zdarcia 🙂 Oprócz tego pistolet na klej tej firmy - nie narzekam, ale też jakichś rewelacji nie ma, po prostu robi swoje. Używam tego wszystkiego regularnie od kilku lat. Na razie (odpukać) nic się złego nie dzieje. Nawyk approves 🙂

×
×
  • Utwórz nowe...