Skocz do zawartości

Autopilot


kamien

Pomocna odpowiedź

Witam . Na początek chciałem wszystkich powitać bo jestem tutaj nowy .

Mam taki problem . Od jakiegoś czasu myślałem nad zbudowaniem urządzenia które utrzymywało by stały zadany kierunek pojazdu ( łódki ) . Na Allegro znalazłem sprzedawce który oprócz oferowania płytek Arduino i akcesoriów ,deklarował nieograniczoną pomoc przy projekcie . Polecił mi zakup płytki Arduino uno r3 i kompasu hmc5883l i2c,FV oraz do sterowania servo RC .

Niestety był to chwyt marketingowy i po zakupie owych elementów kontakt się urwał .

Chciał bym bardzo prosić życzliwe osoby o pomoc w projekcie . Dodam tylko że nie bardzo wiem jak to zrobić .

Link do komentarza
Share on other sites

Fajnie by było, gdybyś podał nazwę sprzedającego, żeby wiedzieć, od kogo nie kupować 😉

Co do Twojego projektu - za pomocą kompasu mierzysz odchyłkę od zadanej wartości kąta, pod jakim ma płynąć łódka i na tej podstawie sterujesz sterem. Mniej więcej tak:

0. Inicjalizacje portów, peryferiów
1. Pobierz kąt z kompasu i zapisz go w zmiennej
2. pętla nieskończona:
{
odchyłka = wartość kąta początkowego - wartość kąta zmierzonego
steruj serwo (odchyłka)
}

Oczywiście dobrze by było zrobić to na troszkę mądrzejszym regulatorze, np PID, ale sposób podany przeze mnie powinien też w miarę zadziałać. Łódka będzie pływać po zbiorniku, w kórym będą fale? Jeśli tak, to o ile z utrzymaniem samego kąta płynięcia nie powinno być wielkich problemów, to fale boczne będą "przestawiały" łódkę na lewo i prawo.

Link do komentarza
Share on other sites

Co do sprzedawcy to kończy się moja cierpliwość i chyba wystawie mu odpowiedni komentarz. Obiecywał już wielokrotnie że się tym zajmie i odezwie się w następnym dniu , ale ten gość jest chyba nie reformowalny , albo pamięta czasy komuny i myśli że sprzedawca jest panem .

Tak na akwenie będą fale i wiatr , więc trzeba to korygować . Podobno są gotowe katalogi do sterowania , ( kompasu , serva ) .Może dało by się to jakoś połączyć . Albo zaadoptować jakiegoś gotowca zaprojektowanego do jakiegoś ( samochodu , samolotu czy robota ) . Szukałem ale nic nie znalazłem bo nie znam języka angielskiego, a bez znajomości języka jest ciężko . Może ktoś ma jakieś namiary na takowy , bo nie więżę że nikt na świecie czegoś takiego nie zrobił ?

Link do komentarza
Share on other sites

Jak kupisz buty w sklepie to żądasz potem żeby ci je myli, pastowali i pomagali ubierać?

Za dużo od sprzedawcy oczekujesz.

Nie wcisnął ci kitu tylko doradził i sprzedał właściwe elementy.

Jeżeli oczekujesz od niego że będzie teraz siedział za free kilkadziesiąt godzin i pisał ci program to nie dziwne że się nie odzywa.

Zrobienie działającego autopilota to kupa czasu z budową i oprogramowaniem a potem jeszcze więcej na testowanie, poprawianie i dobieranie parametrów regulacji.

Ale od czegoś trzeba zacząć więc idź droga którą wskazał Bobby.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Zgadzam się ze slawko_k, sam niejednokrotnie koresponduję z klientami, którzy kupili coś, nie wiedzą do końca co, po co i dlaczego, a oczekują poprowadzenia za rączkę przez programowanie mikrokontrolerów, projektowanie płytek drukowanych albo nawet podstawy teorii obwodów... Nie zapłaciłeś za kurs, tylko za towar i sam sobie jesteś winny, że wcześniej nie dowiedziałeś się właściwie co i jak chcesz zrobić.

Chciał bym bardzo prosić życzliwe osoby o pomoc w projekcie . Dodam tylko że nie bardzo wiem jak to zrobić .

Jeśli oczekujesz, że ktoś to za Ciebie zrobi albo wytłumaczy krok po kroku jak to zrobić, to nie wróżę Ci sukcesu. To Twój projekt, więc powinieneś zacząć od zdobycia potrzebnej wiedzy, a pytania zadawać w przypadku konkretnych problemów. Myślę, że na początek logiczne byłoby założenie, że musisz nauczyć się programować w środowisku Arduino, skoro już kupiłeś taki moduł. Mruganie diodą i te sprawy, materiałów w sieci nie brakuje - nawet tych polskojęzycznych, wystarczy poszukać. Od siebie dodam jeszcze, że sam magnetometr może nie wystarczyć, chyba, że zakładasz, że łódka porusza się tylko w dwóch wymiarach - w przeciwnym wypadku musisz jeszcze zastanowić się nad akcelerometrem, żeby korygować wyniki pomiarów w zależności od przechylania się łódki np. przy kontakcie z falami albo przy zmianach kursu.

Link do komentarza
Share on other sites

Absolutnie nie macie racji . Sprzedawca przed zakupem owych części zadeklarował się że bez problemu mi to zrobi na co mam dowody w postaci maili .

Ale nie oto chodzi żeby się użalać .

Proszę ludzi dobrej woli o pomoc w moim projekcie , a może i ja kiedyś pomogę komuś z was . w dziedzinie mechaniki , bo na tym trochę się znam .Myślałem że po to jest te forum , żeby sobie pomagać a nie odpowiadać ; sam sobie jesteś winien , nucz się i napisz itp.

Mam nadzieje że znajdzie się ktoś na tyle obeznany w temacie, że da sobie radę bez większego problemu i nie będzie patrzał tylko pod kontem komercji a chęcią pomocy i życzliwością . Niestety dla mnie jest to nie do przeskoczenia .Poza tym może ktoś robił coś takiego bo nie chciał bym "otwierać otwartych drzwi " albo " odkrywać ameryki " .

Wgrałem bibliotekę kompasu hmc5883l i gdy poruszam kompasem , w monitorze portu szeregowego zmieniają się parametry x,y,z .

[ Dodano: 23-03-2013, 17:09 ]

nie wiem jak zrobić zrzut z arduino biblioteki jaką wgrałem ?

Link do komentarza
Share on other sites

No skoro zmieniają Ci się już wartości XYZ, to masz już wszystko, czego trzeba żeby zrobić prostą regulację tak jak to opisywał bobby.

Co masz na myśli pisząc "zrzut z arduino biblioteki"?

Link do komentarza
Share on other sites

Dalej to musisz dokupić moduł gps.

potem wyznaczyć pozycję domową i potem po załączeniu aktualną.

Na tej podstawie wyznaczyć kurs i dizęki kompasowi go realizować ciągle sprawdzajac i korygując go.

Link do komentarza
Share on other sites

#include

#define Addr 0x1E // 7-bit address of HMC5883 compass

void setup() {

Serial.begin(9600);

delay(100); // Power up delay

Wire.begin();

// Set operating mode to continuous

Wire.beginTransmission(Addr);

Wire.write(byte(0x02));

Wire.write(byte(0x00));

Wire.endTransmission();tresspasser

}

void loop() {

int x, y, z;

// Initiate communications with compass

Wire.beginTransmission(Addr);

Wire.write(byte(0x03)); // Send request to X MSB register

Wire.endTransmission();

Wire.requestFrom(Addr, 6); // Request 6 bytes; 2 bytes per axis

if(Wire.available() <=6) { // If 6 bytes available

x = Wire.read() << 8 | Wire.read();

z = Wire.read() << 8 | Wire.read();

y = Wire.read() << 8 | Wire.read();

}

// Print raw values

Serial.print("X=");

Serial.print(x);

Serial.print(", Y=");

Serial.print(y);

Serial.print(", Z=");

Serial.println(z);

delay(500);

}

oto , co wgrałem w Arduino . Jak mam teraz zainstalować bibliotekę z regulatorem PID ?

__________

Komentarz dodany przez: Sabre

Używaj znaczników code.

Link do komentarza
Share on other sites

A czy Ty w ogóle rozumiesz co już zrobiłeś? Zamiast myśleć o regulatorach PID i bibliotekach spróbuj w podanym wyżej przykładzie zmienić coś tak, by np. wypisywał się azymut (w dowolnie wybranej przez Ciebie jednostce) położenia Twojego kompasu względem północy. Dla uproszczenia możesz założyć, że kompas leży poziomo na stole. To tylko taki prosty test, nie boli i zajmie Ci najwyżej 10 minut, w tym przypomnienia sobie (jeśli o zgrozo nie pamiętasz) jednej z podstawowych funkcji trygonometrycznych. Dla usprawiedliwienia mogę dodać, że ta wiedza będzie niezbędna do zrobienia łódki. Jeśli natomiast napiszesz coś w stylu "Ratujcie" itp to znaczy, że nie masz pojęcia co robisz i nie masz szans w najbliższym czasie na zrobienie nie tylko tej łódki ale nawet mrugacza diodą. W tej sytuacji będziesz musiał zacząć od kursu programowania C, zrozumienia działania procesora - w tym Arduino oraz zasad łączenia podstawowych klocków: silników, serw, czujników itd..Takie kursy są również na tym Forum a nikt w wątku nie będzie Ci wykładał ogromu tego, co powinieneś sam przeczytać.

No do roboty, mam nadzieję, że się wybronisz.

Link do komentarza
Share on other sites

Właśnie , nie bardzo wiem o co chodzi . Dlatego proszę was o pomoc . Co do tych PID , to polecił mi jeden z forumowiczów że powinienem się teraz tym zająć .

Wiem że najlepiej jak bym się nauczył programowania i sam sobie wszystko zrobił ( tylko po co było by wtedy te forum ?) . Poza tym swoją edukacje zakończyłem bez mała 30 lat temu i niewiele pamiętam , a o programowaniu procesorów nikt nawet wtedy nie marzył .

Bardzo mi zależy na tym projekcie , ale jeśli mam się nauczyć całego języka programowania , to sobie odpuszczę . Bo w najbliższym czasie nie planuje innych projektów .

ps. Panowie , jeśli to dla was takie proste to proszę o konkretną pomoc . Bo jak na razie projekt stoi w miejscu .

Link do komentarza
Share on other sites

To forum służy do pomagania, co cały ten temat potwierdza. Zobacz ile już dostałeś konkretnych podpowiedzi:

za pomocą kompasu mierzysz odchyłkę od zadanej wartości kąta, pod jakim ma płynąć łódka i na tej podstawie sterujesz sterem.
Myślę, że na początek logiczne byłoby założenie, że musisz nauczyć się programować w środowisku Arduino, skoro już kupiłeś taki moduł.
sam magnetometr może nie wystarczyć, chyba, że zakładasz, że łódka porusza się tylko w dwóch wymiarach - w przeciwnym wypadku musisz jeszcze zastanowić się nad akcelerometrem, żeby korygować wyniki pomiarów w zależności od przechylania się łódki np. przy kontakcie z falami albo przy zmianach kursu.
Dalej to musisz dokupić moduł gps.

potem wyznaczyć pozycję domową i potem po załączeniu aktualną.

Na tej podstawie wyznaczyć kurs i dizęki kompasowi go realizować ciągle sprawdzajac i korygując go.

poczytaj sobie o regulatorach proporcjonalych i PID, ewentualnie trójpołożeniowych
spróbuj w podanym wyżej przykładzie zmienić coś tak, by np. wypisywał się azymut (w dowolnie wybranej przez Ciebie jednostce) położenia Twojego kompasu względem północy. Dla uproszczenia możesz założyć, że kompas leży poziomo na stole. To tylko taki prosty test, nie boli i zajmie Ci najwyżej 10 minut, w tym przypomnienia sobie (jeśli o zgrozo nie pamiętasz) jednej z podstawowych funkcji trygonometrycznych

...

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.