Moduł sterowania koparkami, czołgami itp.
- Sławek
- Site Admin
- Posty: 14533
- Rejestracja: 21 gru 2011, 22:12
- Has thanked: 15 times
- Been thanked: 22 times
Moduł sterowania koparkami, czołgami itp.
Jestem w trakcie budowy takiego wynalazku, oprócz sterowania czołgiem można sterować również koparkami i innymi pojazdami napędzanymi gąsienicami
http://rctank.pl/forum/viewtopic.php?p=17420#p17420" onclick="window.open(this.href);return false;
Nawet działa
Pozdr
http://rctank.pl/forum/viewtopic.php?p=17420#p17420" onclick="window.open(this.href);return false;
Nawet działa
Pozdr
- Sławek
- Site Admin
- Posty: 14533
- Rejestracja: 21 gru 2011, 22:12
- Has thanked: 15 times
- Been thanked: 22 times
Re: Moduł sterowania koparkami, czołgami itp.
Minęło trochę czasu, ale w końcu do przodu
Dziś było u nas 37 st. i w modelarni na strychu miałem ponad 40, więc nie byłem w stanie kończyć mechanicznie spychacza, za to przysiadłem do programowania arduino i wyszło takie coś
Baza :
1. Arduino Mega2560 ale może być też sporo mniejsze UNO - jak wykorzystałem Mega2560 bo mam sporo miejsca w spychaczu, na kilkudziesięciu wolnych pinach zrobię moduł świateł i dźwięu, wszystko na jednej płycie
2. Shield VNH2Sp30 czyli sterownik dwóch silników wpinany jako "kanapkę" na arduino http://www.ebay.com/itm/VNH2SP30-Steppe ... 4aed00d9aa" onclick="window.open(this.href);return false;
Zalety ? prąd 30A i napiecie max 16V, więc nie ma silnika szczotkowego którego nie dało by się obsłużyć
No więc obecnie jestem przy wersji 0.7 więc już dość zaawansowany projekt. Obsługuje prawidłowo napęd gąsienicowy przy wykorzystaniu dwóch kanałów standardowych aparatur, gazu i skrętu. program miksuje w odpowiedni sposób kanały przez co uzyskuje się ruch do przodu, tyłu, przód-lewa, przód-prawa, tył-lew i tył-prawa
Na ten moment można zmieniać następujące ustawienia :
// nr PIN arduino do którego podłączony jest kanał gazu
#define WEJSCIE_1 22
// nr PIN arduino do którego podłączony jest kanał skrętu
#define WEJSCIE_2 23
// revers dla kanału gaz, 0 = NOR, 1 = REV, default 0
#define GAZ_REVERS 0
// revers dla kanału SKRET, 0 = NOR, 1 = REV, default 0
#define SKRET_REVERS 0
// obrót wewnętrznej gąsienicy przy skręcie, 0 - wyłączony, 1 włączony, default 0
// gdy ustawione 0, gąsienica wewnętrzna jest zahamowana na stałe, gdy ustawione na 1, gąsienica obraca się w przeciwnym kierunku z uwzględnieniem ustawień SKRET_MOC, SKRET_PROG
#define SKRET_AKTYWNY 1
// moc skrętu - im więsza wartośc tym wolniej będzie się obracać wewnętrzna gąsienica podczas skrętu i mniejsze będą obciążenia w napędzie - wartość z przedziału 1-4, default 2
// działa gdy SKRET_AKTYWNY ustawiony na 1
#define SKRET_MOC 2
// próg po przekroczeniu którego gąsienica wewnętrzna zacznie obracać się w przeciwnym kierunku - wartość z przedziału 1-1023 - im wyższa tym póżniej zostaną załączone odwortne obroty, default 500
// działa gdy SKRET_AKTYWNY ustawiony na 1
#define SKRET_PROG 500
// filtrowanie danych odczytu dla WEJSCIE_1 (kanał gazu) 0=NIE, 1=TAK, default 1
#define FILTR_1 1
// filtrowanie danych odczytu dla WEJSCIE_2 (kanał skrętu) 0=NIE, 1=TAK, default 1
#define FILTR_2 1
// czułość wygładzania danych z odbiornika (filtr Kalmana) - wartość z przedziału 0.0001 - 1, 0.0001 maksimum filtrowania, 1 = WYŁACZONY, default 0.01
#define CZULOSC_FILTROWANIA 0.01
// prędkośc transmisji danych portu COM
# define BAUDRATE 9600
############# Wartości zmiennych - wartości fabryczne shieldu ##################
// nr PIN arduino sterowania kierunkiem silnika lewego
int SILNIK_LEWY_PIN[2] = {7, 4};
// nr PIN arduino sterowania kierunkiem silnika prawego
int SILNIK_PRAWY_PIN[2] = {8, 9};
// nr PIN arduino sygnału PWM do sterowania prędkością silników
int PWM_PIN[2] = {5, 6};
Działa to tak - sorki za chaos i może nie do końca czytelną demonstrację, ale trudno jest mi filmować i jednocześnie obsługiwać przepustnicę i gałkę skrętu z apki pistoletowej, zwłaszcza jak się nie ma połowy kciuka
Generalnie widać, że np. gąski jadą do przodu, po czym jedna się zatrzymuje a druga jedzie a następnie ta pierwsza cię zaczyna obracać w odwrotnym kierunku - to jest własnie funkcja SKRET_AKTYWNY która powoduje właśnie wspomaganie skrętu poprzez obrót gasienic w przeciwnych kierunkach. Próg zadziałania jest ustawiony na min 500, czyli na połowę wychylenia drążka/gałki skrętu
Czy macie pomysły jakie jeszcze funkcjonalności można by dodać ? chodzi dokładnie o sam regiel sterujący napędem chętnie posłucham uwag i sugestii
Pozdr
Dziś było u nas 37 st. i w modelarni na strychu miałem ponad 40, więc nie byłem w stanie kończyć mechanicznie spychacza, za to przysiadłem do programowania arduino i wyszło takie coś
Baza :
1. Arduino Mega2560 ale może być też sporo mniejsze UNO - jak wykorzystałem Mega2560 bo mam sporo miejsca w spychaczu, na kilkudziesięciu wolnych pinach zrobię moduł świateł i dźwięu, wszystko na jednej płycie
2. Shield VNH2Sp30 czyli sterownik dwóch silników wpinany jako "kanapkę" na arduino http://www.ebay.com/itm/VNH2SP30-Steppe ... 4aed00d9aa" onclick="window.open(this.href);return false;
Zalety ? prąd 30A i napiecie max 16V, więc nie ma silnika szczotkowego którego nie dało by się obsłużyć
No więc obecnie jestem przy wersji 0.7 więc już dość zaawansowany projekt. Obsługuje prawidłowo napęd gąsienicowy przy wykorzystaniu dwóch kanałów standardowych aparatur, gazu i skrętu. program miksuje w odpowiedni sposób kanały przez co uzyskuje się ruch do przodu, tyłu, przód-lewa, przód-prawa, tył-lew i tył-prawa
Na ten moment można zmieniać następujące ustawienia :
// nr PIN arduino do którego podłączony jest kanał gazu
#define WEJSCIE_1 22
// nr PIN arduino do którego podłączony jest kanał skrętu
#define WEJSCIE_2 23
// revers dla kanału gaz, 0 = NOR, 1 = REV, default 0
#define GAZ_REVERS 0
// revers dla kanału SKRET, 0 = NOR, 1 = REV, default 0
#define SKRET_REVERS 0
// obrót wewnętrznej gąsienicy przy skręcie, 0 - wyłączony, 1 włączony, default 0
// gdy ustawione 0, gąsienica wewnętrzna jest zahamowana na stałe, gdy ustawione na 1, gąsienica obraca się w przeciwnym kierunku z uwzględnieniem ustawień SKRET_MOC, SKRET_PROG
#define SKRET_AKTYWNY 1
// moc skrętu - im więsza wartośc tym wolniej będzie się obracać wewnętrzna gąsienica podczas skrętu i mniejsze będą obciążenia w napędzie - wartość z przedziału 1-4, default 2
// działa gdy SKRET_AKTYWNY ustawiony na 1
#define SKRET_MOC 2
// próg po przekroczeniu którego gąsienica wewnętrzna zacznie obracać się w przeciwnym kierunku - wartość z przedziału 1-1023 - im wyższa tym póżniej zostaną załączone odwortne obroty, default 500
// działa gdy SKRET_AKTYWNY ustawiony na 1
#define SKRET_PROG 500
// filtrowanie danych odczytu dla WEJSCIE_1 (kanał gazu) 0=NIE, 1=TAK, default 1
#define FILTR_1 1
// filtrowanie danych odczytu dla WEJSCIE_2 (kanał skrętu) 0=NIE, 1=TAK, default 1
#define FILTR_2 1
// czułość wygładzania danych z odbiornika (filtr Kalmana) - wartość z przedziału 0.0001 - 1, 0.0001 maksimum filtrowania, 1 = WYŁACZONY, default 0.01
#define CZULOSC_FILTROWANIA 0.01
// prędkośc transmisji danych portu COM
# define BAUDRATE 9600
############# Wartości zmiennych - wartości fabryczne shieldu ##################
// nr PIN arduino sterowania kierunkiem silnika lewego
int SILNIK_LEWY_PIN[2] = {7, 4};
// nr PIN arduino sterowania kierunkiem silnika prawego
int SILNIK_PRAWY_PIN[2] = {8, 9};
// nr PIN arduino sygnału PWM do sterowania prędkością silników
int PWM_PIN[2] = {5, 6};
Działa to tak - sorki za chaos i może nie do końca czytelną demonstrację, ale trudno jest mi filmować i jednocześnie obsługiwać przepustnicę i gałkę skrętu z apki pistoletowej, zwłaszcza jak się nie ma połowy kciuka
Generalnie widać, że np. gąski jadą do przodu, po czym jedna się zatrzymuje a druga jedzie a następnie ta pierwsza cię zaczyna obracać w odwrotnym kierunku - to jest własnie funkcja SKRET_AKTYWNY która powoduje właśnie wspomaganie skrętu poprzez obrót gasienic w przeciwnych kierunkach. Próg zadziałania jest ustawiony na min 500, czyli na połowę wychylenia drążka/gałki skrętu
Czy macie pomysły jakie jeszcze funkcjonalności można by dodać ? chodzi dokładnie o sam regiel sterujący napędem chętnie posłucham uwag i sugestii
Pozdr