[MOC] Sterowanie silnikami PF przez NXT

Mindstorms, WeDo, Lego Digital Desinger, Stud.io

Moderatorzy: Mod Team, Mod Team

Autor
Wiadomość
djtermoz
Posty: 176
Rejestracja: 2007-10-26, 02:33
Lokalizacja: Boston

[MOC] Sterowanie silnikami PF przez NXT

#1 Post autor: djtermoz »

Jakiś czas temu HiTechnic zaczął sprzedawać nowy czujnik do NXT - IR Link. Ukazał się też blok programowy do NXT-G, który pozwala na sterowanie prędkością silników za pomocą sensora IR Link. Postanowiłem to wypróbować.

Obrazek

Zbudowałem proste podwozie ciężarówki, które w założeniu miało stać się kiedyś pełnowymiarową trialówką (Ale tak się nie stanie bo nie mam czasu by to skończyć a poza tym mam plany budowy czegoś ciekawszego). Podwozie ma dwie kolebki, każda z własnym silnikiem PF XL, zawieszone z jednej strony na obrotnicy. Skręcanie odbywa się jak w ciężarówkach z łamaną ramą. Aby usztywnić całość, osią skrętu są dwie obrotnice umieszczone jedna nad drugą [1]. Skręt jest kontrolowany za pomocą dwóch siłowników śrubowych napędzanych przez dwa silniki PF Medium [2]. Ponieważ taka konstrukcja wymaga dyferencjałów w mostach (inaczej skręcać nie będzie) to każdy z tych dyferencjałów ma blokadę (dla lepszej sprawności w terenie) [3] i obie blokady są sterowane zdalnie za pomocą wału biegnącego przez całą długość pojazdu. Wał ten napędzany jest łańcuchem ze starego silnika 9V. Tyle o podwoziu.

Obrazek

Sterownikiem jest kostka NXT z jednym silnikiem NXT służącym jako przepustnica i dwoma czujnikami dotyku służącymi jako przełączniki do skręcania w prawo i w lewo. Oczywiście można to zbudować inaczej. Do kostki NXT podłączony jest też oczywiście czujnik IR Link.

W teorii za pomoca jednej kostki NXT i jednego czujnika IR Link można kontrolować prędkość 8 silników PF (używając wszystkich 4 kanałów obiorników IR PF, po 2 silniki na odbiornik). No i najważniejsze, że sterowanie prędkością tych silników nie stanowi problemu.

W praktyce da się to zrobić ale są oczywiście pewne wady tego rozwiązania:
- do każdego modelu potrzeba aż 12 baterii AA (6 do battery boxa i 6 do NXT)
- trzeba mieć zestaw NXT (choć nie wiem czy to akurat wada)
- nadajnik podczerwieni w czujniku IR Link nie jest tak dobry jak nadajnik w standardowym pilocie IR PF (łatwiej gubi sygnał)

Kiedyś będę musiał wypróbować odwrotne rozwiązanie - sterowanie samochodem zasilanym z kostki NXT przez standardowy pilot IR PF. Pozwoliłoby to na wyposażenie modelu w różnego rodzaju czujniki choć niestety model będzie musiał dźwigać na sobie cały komputer NXT a ten do małych nie należy.

Poniżej poglądowy filmik. Więcej fotek w galerii.

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

Zamieściłem też przykładowy program.

Awatar użytkownika
V1
VIP
Posty: 2554
Rejestracja: 2007-04-07, 05:56
Lokalizacja: Warszawa
brickshelf: Noddy

 

#2 Post autor: V1 »

Rewelacyjne!

Nie miałem nigdy w rękach NXT i nie do końca wiem jak to działa, więc napisz proszę czy dobrze wywnioskowałem:
- Elektryka w samochodzie składa się wyłącznie ze standardowych elementów 'Power Functions'
- nie ingerowałeś w żaden sposób w odbiorniki podczerwieni (wieżyczki inaczej mówiąc)
- komputer NXT, silnik NXT i 'czujnik' IR (bo nie 'czujnik' tylko nadajnik tak?) stanowią pilota
- 'czujnik' IR został wyprodukowany nie przez LEGO, tylko przez inną firmę z Lego zupełnie nie związaną
- program jaki załadowałeś do NXT zawiera funkcje pozwalające na wysyłanie do odbiornika sygnałów zgodnych ze specyfikacją komunikacji przez podczerwień 'power functions'
- czy pilot działa w ten sposób, że silnik przekazuje do komputera liczbę obrotów żółtej dźwigni?

Tak?
Ostatnio zmieniony 2009-02-02, 18:45 przez V1, łącznie zmieniany 2 razy.
\/1 ______________

djtermoz
Posty: 176
Rejestracja: 2007-10-26, 02:33
Lokalizacja: Boston

#3 Post autor: djtermoz »

V1 pisze:- Elektryka w samochodzie składa się wyłącznie ze standardowych elementów 'Power Functions'
Jak najbardziej.
V1 pisze:- nie ingerowałeś w żaden sposób w odbiorniki podczerwieni (wieżyczki inaczej mówiąc)
Nie.
V1 pisze:- komputer NXT, silnik NXT i 'czujnik' IR (bo nie 'czujnik' tylko nadajnik tak?) stanowią pilota
Zgadza się. Czujnik IR Link jest jednocześnie nadajnikiem i odbiornikiem. Stąd można zrobotyzować konstrukcje Technic. Trzeba tylko znaleźć miejsce dla komputera NXT i dzięki IR Link można sterować pojazdem zwykłym pilotem PF (czyli dokładnie odwrotnie niż ja tutaj pokazałem).
V1 pisze:- 'czujnik' IR został wyprodukowany nie przez LEGO, tylko przez inną firmę z Lego zupełnie nie związaną
Zgadza się. HiTechnic produkuje wiele czujników kompatybilnych z NXT.
V1 pisze:- program jaki załadowałeś do NXT zawiera funkcje pozwalające na wysyłanie do odbiornika sygnałów zgodnych ze specyfikacją komunikacji przez podczerwień 'power functions'
Tak. Program jest bardzo prosty i tylko przykładowy. Zrobiłem to w programie NXT-G i żeby to działało potrzebny jest blok programowy od firmy HiTechnic (do ściągnięcia z ich strony). Wrzuca się to do programu w NXT-G i to ten blok tłumaczy instrukcje komputera NXT na sygnały zgodne z protokołem IR systemu PF.
V1 pisze:- czy pilot działa w ten sposób, że silnik przekazuje do komputera liczbę obrotów żółtej dźwigni?
Nie. Pilot jest troszkę mądrzejszy. Kąt wychylenia żółtej dźwigni przekłada się na prędkość silnika w samochodzie. Im bardziej wychylona jest dźwignia tym szybciej samochód jedzie. W tył i w przód jest tak samo.

I właśnie mi się przypomniało o czym zapomniałem wcześniej napisać. Nie ma przeszkód żeby sobie tę przepustnicę oprogramować jak nam się podoba. Możemy tak zrobić żeby zależność kąta wychylenia dźwigni do prędkości silnika była np. funkcją kwadratową a nie jak u mnie liniową.
Ostatnio zmieniony 2009-02-02, 19:22 przez djtermoz, łącznie zmieniany 1 raz.

Mrutek

#4 Post autor: Mrutek »

Interesujące!
Czy możesz napisać ile ta przyjemność kosztuje?
Czyli cały pilot razem: moduł NXT, silnik jako regulator nadainik IR, itp.
Na dobra sprawę, można także przerobić sobie zwykłego pilota IR na sterującego prędkością obrotową silników.

Awatar użytkownika
bartek_mi
Posty: 286
Rejestracja: 2007-12-03, 14:11
Lokalizacja: wawa
brickshelf: bartekmi

 

#5 Post autor: bartek_mi »

takie konstrukcje przekonuja mnie od nxt
mam wielka chce w to zainwestowac....

Awatar użytkownika
solic
Posty: 394
Rejestracja: 2008-02-18, 11:52
Lokalizacja: Zabrze
brickshelf: solic

 

#6 Post autor: solic »

Bardzo interesujące!
Podoba mi się wykorzystanie silnika NXT jako czujnika wychylenia.

Teoretycznie wykorzystując IR link można jedną cegłą NXT sterować w sumie 11 silnikami - trzema NXT i ośmioma PF. To daje już pokaźne możliwości budowania bardzo rozbudowanych robotów. Tylko trzeba pomieścić gdzieś te silniki, zasilania do nich i zabudować PFowe wieżyczki IR tak, żeby się "widziały" z IR linkiem.

djtermoz
Posty: 176
Rejestracja: 2007-10-26, 02:33
Lokalizacja: Boston

#7 Post autor: djtermoz »

Mrutek pisze:Czy możesz napisać ile ta przyjemność kosztuje?
Hmm, raczej niemało, niestety. NXT to jakieś $250 a dodatkowy sensor to około $45. Da się jednak kupić trochę taniej (ebay, etc.)

Ale niedługo ma się pokazać w sklepach NXT 2.0 więc na razie bym się wstrzymał z zakupem.

Awatar użytkownika
DonArkada2
Posty: 169
Rejestracja: 2008-08-01, 21:52
Lokalizacja: Warszawa
brickshelf: DonArkada2

 

#8 Post autor: DonArkada2 »

Super sprawa. Zaprezentuj to w dziale technic. Co do 11 silników to Sariel w Snowgrommerze tyle użył, tyle, że niektóre są łączone podwójnie.
Dla mnie jednak NXT to odległa sprawa. Najpierw musze sie uzbroić...
w klocki :)
Kiedy iść spać?
Gdy budując coś źle zrobisz pomyślisz:
Wcisnę Ctrl+z to się cofnie i naprawi.

Awatar użytkownika
M_longer
VIP
Posty: 5429
Rejestracja: 2007-09-29, 08:47
Lokalizacja: Lubin
brickshelf: M-longer
Kontakt:

 

#9 Post autor: M_longer »

DonArkada2 pisze:Zaprezentuj to w dziale technic.
A po co, skoro już pokazał w dziale Mindstorms?
djtermoz, wyprzedzasz przyszłość :D
Czasem naprawdę brakuje mi możliwości regulowania prędkości, ale wolę poczekać na nowe Trains, bo one mają mieć nowe piloty umożliwiające regulację prędkości :)
Ostatnio zmieniony 2009-02-05, 08:28 przez M_longer, łącznie zmieniany 1 raz.

ODPOWIEDZ