BuTank a dlaczego nie.
Moderatorzy: moderatorzy2014, moderatorzy
BuTank a dlaczego nie.
Witam i przedstawiam pojazd zainspirowany projektem kolegi MAX2.
Wykorzystałem troszkę aluminium 4 silniczki od wycieraczek ze stilo. Problem który miałem to to iż po przerobieniu silników w jedną stronę kręcą się szybciej. Ale problem do rozwiązania bo musiałem wykorzystać mixer V-tail który sam zbudowałem. Lekka przeróbka programu i powinna działać. Na dodatek sterowanie z telefonu bo czemu nie... Resztę opisu później....
Wykorzystałem troszkę aluminium 4 silniczki od wycieraczek ze stilo. Problem który miałem to to iż po przerobieniu silników w jedną stronę kręcą się szybciej. Ale problem do rozwiązania bo musiałem wykorzystać mixer V-tail który sam zbudowałem. Lekka przeróbka programu i powinna działać. Na dodatek sterowanie z telefonu bo czemu nie... Resztę opisu później....
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
- AviVma
- Posty: 163
- Rejestracja: czwartek 16 paź 2014, 05:55
- Lokalizacja: Skalmierzyce / Kalisz / Ostrów
Re: BuTank a dlaczego nie.
Witaj!
Bardzo fajny projekt, ja obecnie jestem w trakcie budowy mniejszego łazika z projektu "FPV rover by markusp" z pewnymi modyfikacjami.
Jaki link planujesz? Sprzęt będzie FPV?
Czym planujesz sterować silnikami?
Bardzo fajny projekt, ja obecnie jestem w trakcie budowy mniejszego łazika z projektu "FPV rover by markusp" z pewnymi modyfikacjami.
Jaki link planujesz? Sprzęt będzie FPV?
Czym planujesz sterować silnikami?
FPV : X-Alien 500 / BadCat / ZMR250 / Delta 120 / Phantom 1.1.1 / Quadro S500 / Pioneer 1400 eleres AP
Classic: Delta 120 EDF / STS Awionetka / B737 / Lama v3 / CX10 / Hubsan i inne badziewie :)
Classic: Delta 120 EDF / STS Awionetka / B737 / Lama v3 / CX10 / Hubsan i inne badziewie :)
Re: BuTank a dlaczego nie.
Link za pomocą Wi-Fi i telefonu. Już działa. Ale w każdej chwili można zastosować typowy RC. To był priorytet. Regulatory szczotkowe 16V 320A. Czekam na ich dostawę. Video 1,2GHz Fox 700m. Wymiary 410x310 by pasowała skrzynka piwa. Łazik piwny na wakacje nad jeziorem.
Projekt którym chcesz się zająć jest dla mnie zbyt skomplikowany bo nie mam drukarki 3d ani tak dużego parku maszynowego. I chodziło mi o możliwości czegoś wożenia .
Projekt którym chcesz się zająć jest dla mnie zbyt skomplikowany bo nie mam drukarki 3d ani tak dużego parku maszynowego. I chodziło mi o możliwości czegoś wożenia .
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Re: BuTank a dlaczego nie.
Program w mixerze przerobiony. Postanowiłem dodać wyłącznik główny na przekaźniku 4PDT na podtrzymaniu by była możliwość w późniejszym czasie na montaż odcięcia zbyt niskiego zasilania. Zastanawiam się tylko czy lipo czy mniej problemowe akumulatory 7.2Ah 12V PB.
- edit -
Mam pytanie do tych co maja styczność z uC. Problem mam z drganiami na wyjściu do sterowania ESC. Po testach na serwach - drgają. Pod monitorem portu szeregowego wartość środkową 1500 oscyluje +/- 20. Moim zdaniem problem leży w komendzie "PulseIn". Jest zbyt mało dokładna. Jak wyfiltrowac to programowo ? Albo nie wiem czy dobrze myślę zastosować liczenie timerami. Problem w tym iż nie wiem jak to zrobić w ardu. Dajcie znać czy potraficie takie myki.
- edit -
Mam pytanie do tych co maja styczność z uC. Problem mam z drganiami na wyjściu do sterowania ESC. Po testach na serwach - drgają. Pod monitorem portu szeregowego wartość środkową 1500 oscyluje +/- 20. Moim zdaniem problem leży w komendzie "PulseIn". Jest zbyt mało dokładna. Jak wyfiltrowac to programowo ? Albo nie wiem czy dobrze myślę zastosować liczenie timerami. Problem w tym iż nie wiem jak to zrobić w ardu. Dajcie znać czy potraficie takie myki.
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Re: BuTank a dlaczego nie.
Wydaje mi się, że najprościej przyjąć coś takiego - jeśli wartość pulsein różni się o mniej niż np. 21 od poprzednio odczytanej - nic nie rób - tzn utrzymuj na wyjściu to, co było.Burakko pisze: Jak wyfiltrowac to programowo ? Albo nie wiem czy dobrze myślę zastosować liczenie timerami. Problem w tym iż nie wiem jak to zrobić w ardu. Dajcie znać czy potraficie takie myki.
Pozdrawiam
Janusz
Ostatnio zamęczam: S800 na Omnibus F4
Janusz
Ostatnio zamęczam: S800 na Omnibus F4
Re: BuTank a dlaczego nie.
a w innych pozycjach nadal będzie drgało... nic to nie da. A nie wiem jak zrobić np: Zapisywać np 4 ostatnie pomiary i je uśrednić. Czy ktoś wie jak ?
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
- xq_operator
- Posty: 441
- Rejestracja: czwartek 05 wrz 2013, 12:10
- Lokalizacja: pomorskie
Re: BuTank a dlaczego nie.
wyłącz pulsein i zastąp stałymi - jeśli nadal będzie drgało to problem w sterowaniu wyjść. a może już to wiesz po sterowaniu wifi.Burakko pisze: Mam pytanie do tych co maja styczność z uC. Problem mam z drganiami na wyjściu do sterowania ESC. Po testach na serwach - drgają. Pod monitorem portu szeregowego wartość środkową 1500 oscyluje +/- 20. Moim zdaniem problem leży w komendzie "PulseIn". Jest zbyt mało dokładna. Jak wyfiltrowac to programowo ? Albo nie wiem czy dobrze myślę zastosować liczenie timerami. Problem w tym iż nie wiem jak to zrobić w ardu. Dajcie znać czy potraficie takie myki.
pulsein zastąp np. przerwaniem z kodu multiwii. jak wprowadzisz sobie taki deadband na 20 jak opisał kolega powyżej to będziesz miał mega skokową reakcję (rozdzielczość pewnie ~50 zamiast ~1000)
Re: BuTank a dlaczego nie.
Zgadzam się - to nie jest piękne rozwiązanie, ale dla testów, na szybko zaproponowane. Mając rozdzielczość 25 do przodu i 25 do tył można całkiem sprawnie sterować takim "ustrojstwem"... a może nie...xq_operator pisze:jak wprowadzisz sobie taki deadband na 20 jak opisał kolega powyżej to będziesz miał mega skokową reakcję (rozdzielczość pewnie ~50 zamiast ~1000)
Tak samo będzie drgało jak na środku - nie masz się odnosić do 1500 tylko do odczytanej wcześniej wartości... Nie nalegam na to rozwiązanie - jest tandetne, ale sam jestem ciekawy jak by się sprawdziłoa w innych pozycjach nadal będzie drgało...
Pozdrawiam
Janusz
Ostatnio zamęczam: S800 na Omnibus F4
Janusz
Ostatnio zamęczam: S800 na Omnibus F4
Re: BuTank a dlaczego nie.
xq_operator to nie wina wejścia tylko przeliczania pulein. Podpinam pod zwykły odbiornik drga pod tester serw i drga. A jak pisałem wyżej dałem na terminal zmienna odczytywaną z pulsein i już ona drga. Tak jak by to była wina obliczeń komendy pulse (brak dokładności).
JSt ty chcesz by było co 25 sterowane ? to będę musiał narobić pełno IF ? if 1500 to 1525 then 1500, if 1526 to 1550 then 1525 itd... ?
JSt ty chcesz by było co 25 sterowane ? to będę musiał narobić pełno IF ? if 1500 to 1525 then 1500, if 1526 to 1550 then 1525 itd... ?
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Re: BuTank a dlaczego nie.
Nie tak...
Przepisujesz sygnał z wejścia na wyjście tylko wtedy kiedy różnica była większa niż 20.
pierwszy odczyt pulsein - 1510 - na wyjściu defaultowo ustawione przy inicjalizacji 1500 - stoi silnik.
kolejny odczyt pulsein - 1519 - na wyjście nic nie puszczasz - więc jest 1500,
trzeci odczyt - 1530 - przepisujesz na wyjście jedzie do przodu i zachowujesz 1530 do porównywania
czwarty odczyt 1520 - nic nie przepisujesz itd
Coś takiego - oczywiście eksperymentalnie...
mielisz tego ifa ciągle w main i tyle...
Przepisujesz sygnał z wejścia na wyjście tylko wtedy kiedy różnica była większa niż 20.
pierwszy odczyt pulsein - 1510 - na wyjściu defaultowo ustawione przy inicjalizacji 1500 - stoi silnik.
kolejny odczyt pulsein - 1519 - na wyjście nic nie puszczasz - więc jest 1500,
trzeci odczyt - 1530 - przepisujesz na wyjście jedzie do przodu i zachowujesz 1530 do porównywania
czwarty odczyt 1520 - nic nie przepisujesz itd
Coś takiego - oczywiście eksperymentalnie...
Kod: Zaznacz cały
if (pulsein_value > pulsein_value_poprzednie+20) OR (pulsein_value < pulsein_value_poprzednie-20)
{
Przepisz pulsein_value na wyjście;
Przepisz pulsein_value do pulsein_value_poprzednie;
}
Pozdrawiam
Janusz
Ostatnio zamęczam: S800 na Omnibus F4
Janusz
Ostatnio zamęczam: S800 na Omnibus F4
Re: BuTank a dlaczego nie.
mój program to:
Nie bardzo wiem co mam wstawić jako pulsein_value_poprzednie ?? I jak tak modyfikujemy program to mam pytanie jak zrobić rampę akceleracji silników by nie startowały tak na max moment tylko niech się rozpędzają ? Nie chodzi mi by ktoś napisał to za mnie... ale chociaż tą przysłowiową wędke :D
a tu screan jak bardzo drga wyjście
Kod: Zaznacz cały
#include <Servo.h>
Servo servo1;
Servo servo2;
int gain1 = 2;
int gain2 = 2;
int s1= 0;
int s2= 0;
int s11= 0;
int s12= 0;
void setup()
{
Serial.begin(115200);
servo1.attach(9); // ESC 1 - pin 9
servo2.attach(10); // ESC 2 - pin 10
pinMode(3, INPUT); // Wejście 1 pin3
pinMode(4, INPUT); // Wejście 2 pin4
}
void loop()
{
s1 = (pulseIn(3,HIGH)-1500)/gain1;
s2 = (pulseIn(4,HIGH)-1500)/gain2;
s11 = (s1+s2+1500);
s12 = (s1-s2+1500);
if (s11 > 1500) // Doregulowanie strony silnikow
{
s11 = (s11*1); // Mnoznik
}
if (s12 < 1500) // Dregulowanie strony silnikow
{
s12 = (s12*1); // Mnoznik
}
servo1.writeMicroseconds(s11);
servo2.writeMicroseconds(s12);
Serial.println(s11);
Serial.println(s12);
}
a tu screan jak bardzo drga wyjście
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Re: BuTank a dlaczego nie.
Masz wyjście s.bus w odbiorniku ? Jeśli tak - daj proszę znać. Robiłem odczyt na Arduino z Taranisa i X8R przez rx Arduino - wygląda znacznie, znacznie lepiej - dryft o 1, max 2 miałem.
Sterowanie - możesz rzucić okiem w gotowce ardupilot (rower) np.TU i pozostałe pliki z github - może coś wyszukasz na wzór.
A rozpędzanie silników prościej możesz zrobić od strony sterowania - na telefonie lub przy odpowiednim machaniu drągami apki
A i jeszcze jedna ważna sprawa PulseIn blokuje pracę procka i czeka na sygnał: Please also note that if the pin is already high when the function is called, it will wait for the pin to go LOW and then HIGH before it starts counting.
Sterowanie - możesz rzucić okiem w gotowce ardupilot (rower) np.TU i pozostałe pliki z github - może coś wyszukasz na wzór.
A rozpędzanie silników prościej możesz zrobić od strony sterowania - na telefonie lub przy odpowiednim machaniu drągami apki
A i jeszcze jedna ważna sprawa PulseIn blokuje pracę procka i czeka na sygnał: Please also note that if the pin is already high when the function is called, it will wait for the pin to go LOW and then HIGH before it starts counting.
Pozdrawiam
Janusz
Ostatnio zamęczam: S800 na Omnibus F4
Janusz
Ostatnio zamęczam: S800 na Omnibus F4
Re: BuTank a dlaczego nie.
Wiem bo to tak jak by cos podobnego do bitwait. I nie mam s.busa bo odbiornikiem jest Wi-Fi esp8266-12
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Re: BuTank a dlaczego nie.
Jeśli mogę swoje 3 grosze:
- pulseIn to ZUO. Zrób to jak należy na przerwaniach https://quadmeup.com/read-rc-pwm-signal-with-arduino/
- Wartość sterowania możesz przepuścić przez jakiś filtr LPF, na przykład taki: http://playground.arduino.cc/Main/Smooth
Re: BuTank a dlaczego nie.
channel_length[] - to zmienna wyjściowa z czasem ? dobrze rozumiem ?
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...
Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"
Nie pisz "Dron" moje dzieci mogą to czytać...