[IDEA] Power Functions IR Receiver dla NXT

Mindstorms, WeDo, Lego Digital Desinger, Stud.io

Moderator: Mod Team

Autor
Wiadomość
staak
Posty: 53
Rejestracja: 2008-10-07, 19:05
Lokalizacja: Warszawa
HELF: staak

 

[IDEA] Power Functions IR Receiver dla NXT

#1 Post autor: staak »

Na forum LUGpolu znalazłem kilka metod bezprzewodowego sterowania z udziałem kostki NXT.

Sterowanie NXT za pomocą [URL=http://www.00453005_0000002.pl/forum/viewtopic.php?t=9039&postdays=0&postorder=asc&start=0]BT i palmtopa[/URL] autorstwa cobry,
sterowanie NXT za pomocą BT i drugiej kostki NXT wykonane przez TT,
sterowanie za pomocą NXT z IRLink'iem i IR receivera dzieło djtermoz'a,
albo takie wynalazki z najwyższej półki (telefon komórkowy ->BT->NXT->IRLink->IR Receiver) wykonane przez Atr.

W sieci znalazłem również coś takiego.
Palmptopa jak i IRlinka nie posiadam, komórkę posiadam ale mało kompatybilną z NXT (ale popracujemy również nad tym) więc.... postanowiłem zakupić, przerobić i oprogramować IR Receivera.

A oto efekty.

Obrazek

Przeróbka elektryczna została wykonana zgodnie z instrukcją Philo.
Jedynym odstępstwem było użycie standardowej wtyczki RJ12 (6p6c) i własnej przejściówki do połączenia NXT z wieżą (widać to na trzecim obrazku).
Kabel dołączony do NXT z jednej stony zakończony jest wtyczką "Lego" z drugiej wtyczką RJ12.
Zatrzaski obu wtyczek znajdują się po tej samej stronie kabla (w przeciwnieństwie do standardowego kabla dołączonego do zestawu NXT).
Przejściówka to połączenie dwóch gniazd RJ12 z pełnym krosowaniem (1-6, 2-5, 3-4, 4-3, 5-2, 6-1)
Kabelek dołączony do wieży to 6 żył z taśmy do dysków ATA.

Podobnie jak w przypadku multiplexera czujników dotyku blok umożliwia wprowadzenie własnych wartości progów.
Wartość progu to nic innego jak wartość Raw Value dla odpowiedniej konfiguracji pozycji dźwigienek pilota.
Deskrypcja:
F-dźwigienka pozycja przód
0- neutralna
B- tył
TH_0F = kanał czerwony(lewy) w pozycji neutralnej, kanał niebieski (prawy) dźwigienka w przodzie.
Sygnał wyjściowy z bloku stanowi sześć wyjść typu True/False. Stan True na wyjściu oznacza, odpowiednie położenie dźwigienki (również położenie neutralne).

Na bazie bloku NXT IR Tower powstały dwa kolejne bloki "użytkowe".

IR Tower Tank.

Obrazek

Blok umożliwia sterowanie pojazdem typu "czołg".
Opis wydaje się zbędny.
A tak wygląda najprostszy program.

Obrazek

IR Tower Car.

Obrazek

Blok umożliwia sterowanie pojazdem z "osią skrętną".
Dla każdego z napędów można niezależnie ustawić "moc" podawaną przez NXT do danego silnika.
W przypadku kiedy nastawa SM Motor Limit[deg] ustawiona jest na "0" położenie dźwigienki niebieskiej w pozycji PRZÓD/TYŁ skutkuje ciągłym wysterowaniem silnika SM.
W przypadku kiedy nastawa SM Motor Limit[deg] ma wartość różną od "0" wysterowanie silnika SM (dźwigienka niebieska cały czas w pozycji PRZÓD/TYŁ) trwa jedynie do momentu
osiągnięcia przez ten silnik watrości kąta obrotu ustawionej w polu SM Motor Limit[deg].
SM Motor Limit[deg] określa liczbę stopni o jaką obróci się silnik z pozycji "koła na wprost" do pozycji "koła w pozycji pełny skręt".
Ze względu na dynamikę ruchów należy sprawdzić faktyczną liczbę stopni a w pole Limit wstawić wartość o 10% mniejszą (lub pozostaje metoda prób i błędów).
Prawidłowo wygląda to tak:

Obrazek

A tak to działa:

[youtube]http://www.youtube.com/watch?v=E_kGmlfho28[/youtube]

Po ustawieniu i sprawdzeniu progów bloki należy zapisać w projekcie.
Opcja Copy/Paste pozwala na wstawienie bloku do nowego projektu wraz z ustawionymi wcześniej progami.

Bloki można pobrać z ...

Obrazek Obrazek Obrazek

Bloki został napisane w LabView z nakładką LabVIEW Toolkit for LEGO MINDSTORMS NXT dostępnych na stronach National Instruments.
Bloki nie są zablokowane hasłami bo...... uważam, że tak być powinno.
Myślenie ma kolosalną przyszłość.

Fistach

#2 Post autor: Fistach »

A czy nie taniej i lepiej nie byloby kupic sensor IR do NXT? I wtedy masz 8 kanalow a nie tak jak teraz 2, do tego brak customowania czesci?

staak
Posty: 53
Rejestracja: 2008-10-07, 19:05
Lokalizacja: Warszawa
HELF: staak

 

#3 Post autor: staak »

Pewnie masz rację, ale...
Zwierzak81 pisze:Nic nie daje większej satysfakcji jak zrobienie czegoś samemu :)
Na szybko sprawdziłem ile obecnie kosztuje IRLink i nie znalazłem go nigdzie ponizej 213 zł.
Koszt wieży to około 70zł.

Tak na marginesie.
Gdyby afole nie zaczęli ciąć kabelków od NXT i robić przejściówek do elementów RCX to nie byłoby tego .
Ostatnio zmieniony 2011-01-15, 14:15 przez staak, łącznie zmieniany 1 raz.
Myślenie ma kolosalną przyszłość.

Fistach

#4 Post autor: Fistach »

staak pisze:Koszt wieży to około 70zł.
pomnoz przez 4 zeby miec 8 kanalow, dodaj druga kostke bo wpinasz wieze jako czujnik i nie ma miejsc na czujniki i zobacz jak to wychodzi kosztowo:)

Awatar użytkownika
Atros
VIP
Posty: 790
Rejestracja: 2009-04-08, 19:03
Lokalizacja: Warszawa
HELF: Atrx
Kontakt:

 

#5 Post autor: Atros »

Rzeczywiście praktyczność tego rozwiązania jest niewielka, ale da się i działa. Ładnie to wszystko opisałeś, szkoda że trzeba ingerować w hardware bo bym z chęcią przetestował.
staak pisze:Ze względu na dynamikę ruchów należy sprawdzić faktyczną liczbę stopni a w pole Limit wstawić wartość o 10% mniejszą (lub pozostaje metoda prób i błędów).
Też się z tym problemem zetknąłem, niestety układ tachometru ma jakieś opóźnienie i trzeba takie wartości limitów weryfikować w praktyce.

staak
Posty: 53
Rejestracja: 2008-10-07, 19:05
Lokalizacja: Warszawa
HELF: staak

 

#6 Post autor: staak »

Bawimy się w akademicką dyskusję o wyższości świąt BN nad świętami WN ?
Z założenia celem modyfikacji było sprawdzenie czy ten sposób sterowania da radę i czy ja dam radę to oprogramować. Oba cele wg mnie zostały osiagnięte.
Mówiąc w skrócie jaki inżynier takie rozwiązanie :)
Fistach pisze: żeby miec 8 kanalow....
Mając 3 wyjścia w NXT do czego zamierzasz używać 8 kanałów ?

Tak na moje amatorskie oko np w trialówce (lub najprostszym pojeździe który jeździ) w zupełności wystarczy takie rozwiązanie + ewentualnie automatyczna skrzynia biegów na silniku NXT np jaką zaprojektował TT . I będzie to najtańsze rozwiązanie (telefonu nie liczę)
W przypadku zapotrzebowania na 8 sygnałów sterujących wg mnie znacznie lepiej sprawdzi się druga kostka NXT (3 wejścia +/- analogowe i 4 wejścia cyfrowe nie mówiąc o możliwościach związanych z I2C, multiplekserami itd) z nieograniczoną (jedynie wyobraźnią projektującego i transmisją) liczbą "sygnałów" sterujących po BT.
Atr pisze:szkoda że trzeba ingerować w hardware
Jeżeli masz 2 zbędne kabelki Power Functions Extension Wire (albo 3 końcówki) to całość można wykonać bez ingerencji w wieżę. I wtedy wieża będzie mogła pracować zarówno z elementami PF jak i NXT (albo albo). Koszt kabelka w sklepie w Wawie to około 15zł.

Co do tachometru. Rok temu bawiłem się robotC w którym napisałem program na kostke NXT. Układ skrętu (pojazd ten sam co w przypadku wieży) nadążał za wychyleniem dżojstika (sterowanie z PC po BT). Układ działał z dokładnością do 10 stopni (i to tylko dlatego, żeby sterowanie się samo nie wzbudzało).
Teraz próbuję to samo zrobić w NXT-G i .....całkowita klapa.
Ale walczę dalej :)
Myślenie ma kolosalną przyszłość.

ODPOWIEDZ