Strona 12 z 13

Re: Telemetria w Naza v2 + Taranis

: niedziela 24 cze 2018, 11:08
autor: mrozilla
W końcu jest jakiś postęp, kod wygląda obecnie tak:

Kod: Zaznacz cały

/*
  FrSky Telemetry library example
  (c) Pawelsky 20170831
  Not for commercial use
  
  Note that you need Teensy 3.x/LC or 328P/168 based (e.g. Pro Mini, Nano, Uno) board and FrSkyTelemetry library for this example to work
*/

#include "FrSkyTelemetry.h"
#include "NazaDecoderLib.h"
#include "SoftwareSerial.h"

FrSkyTelemetry telemetry; // Create telemetry object

void setup()
{
    Serial.begin(115200);
  telemetry.begin(FrSkyTelemetry::SOFT_SERIAL_PIN_11);
}

void loop()
{
if(Serial.available())
{
if(NazaDecoder.decode(Serial.read()) == NAZA_MESSAGE_GPS)
{
  telemetry.setGpsData(NazaDecoder.getLat(), NazaDecoder.getLon(),
    NazaDecoder.getGpsAlt(), NazaDecoder.getSpeed(), NazaDecoder.getCog(),
    NazaDecoder.getYear(), NazaDecoder.getMonth(), NazaDecoder.getDay(),
    NazaDecoder.getHour(), NazaDecoder.getMinute(), NazaDecoder.getSecond());
  telemetry.setTemsData(NazaDecoder.getNumSat(), NazaDecoder.getFixType());

    Serial.print("Lat: "); Serial.print(NazaDecoder.getLat(), 7);
    Serial.print(", Lon: "); Serial.print(NazaDecoder.getLon(), 7);
    Serial.print(", Alt: "); Serial.print(NazaDecoder.getGpsAlt(), 7);
    Serial.print(", Fix: "); Serial.print(NazaDecoder.getFixType());
    Serial.print(", Sat: "); Serial.println(NazaDecoder.getNumSat());
    Serial.print("Heading: "); Serial.println(NazaDecoder.getHeadingNc(), 2);
  telemetry.send();
}
}
}
W końcu pokazuje prawidłowe koordynaty GPS, niestety wartości kompasu bardzo skaczą, nie wiem czym jest to spowodowane, na wcześniejszym programie Flarssena kompas działał bardzo dobrze, zauważyłem, że podczas lotu kompas lepiej trzyma pozycję natomiast gdy stoi w miejscu (lub wisi) pozycja skacze, na poprzednim sofcie kompas jako nieliczna funkcja działał i trzymał cały czas prawidłową pozycję bez względu czy leciał czy stał w miejscu.
Chciałbym też zrobić aby wysokość pokazywało tak, że 1 metr to 1.0, teraz 1 metr pokazuje jako 0,1 i nie wiem jak można to zmienić, w ustawieniach aparatury nie było opcji przesunięcia przecinka.

Re: Telemetria w Naza v2 + Taranis

: wtorek 26 cze 2018, 17:39
autor: mrozilla
Z tego co się dowiedziałem w telemetrii Hub prędkość powinna być wysyłana w węzłach, w bibliotece NazaDecoder z tego co rozumiem po wpisie " double spd; // speed in m/s" Arduino wysyła do aparatury prędkość w m/s. W Ersky9x przy jednostkach metrycznych jest standardowo jednostka "kts" bez możliwości zmiany na m/s więc w takiej sytuacji pomimo jednostki "kts" na wyświetlaczu prędkość jaką osiągam otrzymuję w m/s czy węzłach, bo już nie wiem. Podczas testów maksymalnie osiągnąłem 6 "kts" nie była to maksymalna prędkość tylko właśnie jaka to jednostka, bo ciężko określić to w powietrzu, a różnica po przeliczeniu na km/h różni się prawie dwukrotnie.

Re: Telemetria w Naza v2 + Taranis

: wtorek 26 cze 2018, 18:36
autor: pawelsky
mrozilla pisze:Z tego co się dowiedziałem w telemetrii Hub prędkość powinna być wysyłana w węzłach
I tak tez jest wysylana.

Re: Telemetria w Naza v2 + Taranis

: wtorek 26 cze 2018, 18:39
autor: mrozilla
Czyli jest wysyłana w węzłach, Arduino dzięki Twoim bibliotekom konwertuje ją na m/s i taką prędkość widzę na wyświetlaczu? Moje 6 "kts" to 6 m/s czyli 21.6 km/h? Wystarczy aby w Ersky9x dodać opcję zmiany "kts" na "m/s" bez żadnego dodatkowego konwertowania?

Re: Telemetria w Naza v2 + Taranis

: wtorek 26 cze 2018, 18:46
autor: pawelsky
mrozilla pisze:Czyli jest wysyłana w węzłach
Tak
mrozilla pisze:Arduino dzięki Twoim bibliotekom konwertuje ją na m/s
Nie, bibloteka konwertuje m/s na wezly.
mrozilla pisze:i taką prędkość widzę na wyświetlaczu?
Nie uzywam Ersky9x, o to co widac na wyswietlaczu i jak to zmienic pytaj autorow Ersky9x

Re: Telemetria w Naza v2 + Taranis

: wtorek 26 cze 2018, 19:04
autor: mrozilla
Dziękuję. Skoro konwertuje na węzły, czyli tak jak powinno, to wychodzi na to, że wyświetlaczu również są węzły wyświetlane tym bardziej, że standardowo jest tam właśnie "kts", bo takie wartości miały być odbierane z GPS Frsky. Wygląda na to, że jedna kwestia wyjaśniona i w dodatku działa :)

Jeżeli chodzi o problem z wysokością i zmianą wysokości fizycznie o 1 metr co na wyświetlaczu objawia się zmianą o 0.1 to już Mike pracuje nad poprawką Ersky9x w tej kwestii dla 9XR Pro.

Czy może wiesz również dlaczego jest teraz problem z kompasem jeżeli nie występuje on gdy wgrany jest program Flarssena? Tam kompas działa stabilnie w każdej sytuacji, na programie, który wysłałem wyżej i na którym działa większość opcji kompas właśnie bardzo skacze ale podczas lotu wydaje się, że działa dużo stabilniej, gdy model stoi/wisi w miejscu wartości ponownie zaczynają skakać i nie wiadomo gdzie jest północ. Jeżeli na drugim programie to działa dobrze to wykluczam fizyczny problem z kompasem. Jak można to naprawić?

Re: Telemetria w Naza v2 + Taranis

: wtorek 26 cze 2018, 19:22
autor: pawelsky
mrozilla pisze:Czy może wiesz również dlaczego jest teraz problem z kompasem
Nie uzywasz kompasu tylko COG z GPS
mrozilla pisze:Tam kompas działa stabilnie w każdej sytuacji
Tylko ze blednie bo nie uzglednia przechylu modelu.
mrozilla pisze:podczas lotu wydaje się, że działa dużo stabilniej, gdy model stoi/wisi w miejscu wartości ponownie zaczynają skakać i nie wiadomo gdzie jest północ.
Odpowiedz na pierwsze pytanie powinna Ci wyjasnic dlaczego
mrozilla pisze:Jak można to naprawić?
Lecac

Re: Telemetria w Naza v2 + Taranis

: wtorek 26 cze 2018, 19:51
autor: mrozilla
Faktycznie pomyliłem kompas z COG, za dużo tego nie testowałem ale nie zauważyłem żeby wskazania w tamtym programie były złe, chyba zawsze północ pokazywało w tym samym kierunku, a ruch w lewo/prawo powodował odjęcie/dodanie kilku stopni ale faktycznie sprawdzałem raczej przy niepochylonym lub lekko pochylonym modelu. Czy w obecnej wersji programu, który zamieściłem wyżej jest uwzględniony przechył o którym piszesz i dlatego tak skacze? Nie zauważyłem aby na Taranisie strzałka wariowała, a są wykorzystywane te same biblioteki, jednak nie mam Taranisa, przeglądałem tylko filmy w sieci. Czasami dobrze byłoby móc ocenić w którą stronę jest obrócony model gdy wisi w miejscu.

W sumie dlaczego nie można skorzystać właśnie z kompasu skoro jest dokładniejszy, jest on wbudowany w Nazę, a nie GPS? Jeżeli byłby w GPS chyba nie ma żadnych przeciwwskazań aby z niego nie skorzystać?

Re: Telemetria w Naza v2 + Taranis

: wtorek 26 cze 2018, 19:56
autor: pawelsky
mrozilla pisze:Czy w obecnej wersji programu, który zamieściłem wyżej jest uwzględniony przechył o którym piszesz i dlatego tak skacze?[...]
Czasami dobrze byłoby móc ocenić w którą stronę jest obrócony model gdy wisi w miejscu.
A moze bys tak laskawie wpisal sobie w Google "COG GPS" i poczytal o czym mowa, zamiast strzelac nieprzemyslanymi pytaniami jak karabin maszynowy?
mrozilla pisze:W sumie dlaczego nie można skorzystać właśnie z kompasu skoro jest dokładniejszy, jest on wbudowany w Nazę, a nie GPS? Jeżeli byłby w GPS chyba nie ma żadnych przeciwwskazań aby z niego nie skorzystać?
Bo wskazania z niego nie sa skompensowane wzgledem wychylenia, wiec nieprawdziwe.

Re: Telemetria w Naza v2 + Taranis

: wtorek 26 cze 2018, 19:59
autor: mrozilla
Oczywiście wpisałem i doczytałem, że właśnie pozycja jest ustalana podczas lotu tylko właśnie ten program jak i Flarssena korzysta z COG i tutaj skacze, a tam nie dlatego nie do końca wiem dlaczego tak się dzieje.

Odnośnie kompasu w między czasie Twojej wypowiedzi zaktualizowałem posta, bo jeżeli w Ublox M8N, który jest kompatybilny z Nazą jest wbudowany kompas to w oryginalny GPS chyba też więc dlaczego z niego nie skorzystać zamiast z COG?

Re: Telemetria w Naza v2 + Taranis

: wtorek 26 cze 2018, 20:01
autor: pawelsky
mrozilla pisze:Flarssena korzysta z COG
Nie, korzysta z kompasu. Nieskompensowanego.

Re: Telemetria w Naza v2 + Taranis

: środa 25 lip 2018, 18:04
autor: mrozilla
Kilka problemów udało się rozwiązać, wszystko zaczyna działać bardzo fajnie.

Chciałbym się jeszcze dowiedzieć odnośnie tego kompasu, bo faktycznie Hdg praktycznie jest nieużywalne gdy tylko model jest w ruchu, czy da się jakoś właśnie dodać tą kompensację, o której pisałeś czy po prostu już tego parametru nie da się poprawić aby był dokładniejszy i rozwiązaniem jest tylko COG, który za to na postoju "wariuje" ale w locie działa bardzo dobrze (już wiem dlaczego tak jest).

Wydaje mi się, że przydatne byłoby również dodanie czujnika temperatury, a to, że można go zrobić samemu gdyż jest to tylko termistor z dwoma przewodami, ułatwia całą sytuację. Niestety pozostaje opcja programowa, jeżeli dobrze rozumiem, jeden przewód muszę podłączyć pod którykolwiek GND w Arduino, a drugi, do pinu, który będzie opisany w programie tylko jak się za to zabrać od strony software?

Obecnie program wygląda tak, dodałem większą część przykładu ale w sumie nie zauważyłem różnicy w działaniu niż ten z posta:
http://rc-fpv.pl/viewtopic.php?p=551563#p551563 czy oba przykłady w moim przypadku będą działały tak samo czy są jakieś różnice w działaniu, których nie widać na pierwszy rzut oka?

Kod: Zaznacz cały

/*
  FrSky Telemetry library example
  (c) Pawelsky 20170831
  Not for commercial use
  
  Note that you need Teensy 3.x/LC or 328P/168 based (e.g. Pro Mini, Nano, Uno) board and FrSkyTelemetry library for this example to work
*/

#include "FrSkyTelemetry.h"
#include "NazaDecoderLib.h"
#include "SoftwareSerial.h"

FrSkyTelemetry telemetry; // Create telemetry object

void setup()
{
    Serial.begin(115200);
  telemetry.begin(FrSkyTelemetry::SOFT_SERIAL_PIN_11);
}

void loop()
{
if(Serial.available())
{
if(NazaDecoder.decode(Serial.read()) == NAZA_MESSAGE_GPS)
{
  telemetry.setGpsData(NazaDecoder.getLat(), NazaDecoder.getLon(),
    NazaDecoder.getGpsAlt(), NazaDecoder.getSpeed(), NazaDecoder.getCog(),
    NazaDecoder.getYear(), NazaDecoder.getMonth(), NazaDecoder.getDay(),
    NazaDecoder.getHour(), NazaDecoder.getMinute(), NazaDecoder.getSecond());
  telemetry.setTemsData(NazaDecoder.getNumSat(), NazaDecoder.getFixType());

  {
    uint8_t decodedMessage = NazaDecoder.decode(Serial.read());
    switch (decodedMessage)
    {
      case NAZA_MESSAGE_GPS:
        Serial.print("Lat: "); Serial.print(NazaDecoder.getLat(), 7);
        Serial.print(", Lon: "); Serial.print(NazaDecoder.getLon(), 7);
        Serial.print(", Alt: "); Serial.print(NazaDecoder.getGpsAlt(), 7);
        Serial.print(", Fix: "); Serial.print(NazaDecoder.getFixType());
        Serial.print(", Sat: "); Serial.println(NazaDecoder.getNumSat());
        break;
      case NAZA_MESSAGE_COMPASS:
        Serial.print("Heading: "); Serial.println(NazaDecoder.getHeadingNc(), 2);
        break;
    }
  }

#ifndef ATTITUDE_SENSING_DISABLED
  currTime = micros();

  // Display attitude at 5Hz rate so every 200000 microseconds
  if(attiTime < currTime)
  {
    attiTime = currTime + 200000;
    Serial.print("Pitch: "); Serial.print(NazaDecoder.getPitch());
    Serial.print(", Roll: "); Serial.println(NazaDecoder.getRoll());
  }
#endif
}

  telemetry.send();
}
}

Re: Telemetria w Naza v2 + Taranis

: poniedziałek 30 lip 2018, 18:44
autor: daron19675
Arduino nano będzie się nadawało do tego projektu?

Wysłane z mojego SM-N950F przy użyciu Tapatalka

Re: Telemetria w Naza v2 + Taranis

: niedziela 11 lis 2018, 11:14
autor: daron19675
Panowie pomóżcie. Siedzę z tym już jakis czas i ciągle jakieś błędy wywala. Różnica jest taka że uzywam arduino nano z wbudowanym usb.

Re: Telemetria w Naza v2 + Taranis

: sobota 18 sty 2020, 00:17
autor: Roger
daron19675, nie wiem jakie miales problemy z Arduino Nana ale NazaDecoderExample poszedł mi bez problemu.

Pytanie mam odnośnie NazaCanDecodera - bo w topiłem i kupilem TeensyLC a tu i procek słaby i CAN'a ni ma :( i kod sie wywala na dziwnych rzeczach.
Czy moge kupić Teensy 4.0 i kod powinien chodzić czy lepiej konkretnie 3.2 bo kod jest pod to Teensy napisany?