Powinno.pbrys pisze:wystarczy
Multiwii by MIS AIRPLANE
Moderatorzy: moderatorzy2014, moderatorzy
W kodzie odkomentuj #define SERVO_TILT po czym w ServoMiscConf przypisz środek SERVO1 do AUX3 i środek S2 do AUX4 (klikasz strzałkę w dół przy wartości MID). Rate dla obu ustaw na 0. Sprawdź w monitorze serw czy chodzą serwa S1 i S2 przy zmianach na AUX3 i AUX4. Jak tak, to na wyjściach S1 i S2 powinieneś dostać sygnały do pantilta.
Pzdr. -----MIŚ-----
Dzieki pomocy MIS i profesor udało mi sie odpalić to co chciałem na płytce kukiego 0.6.3 dla latającego skrzydła:
- stabilizacja żyroskopami
- pełna stabilizacja - ANGLE
- pan/tilt kamery (MW podłączone prze PPMsum z odbiornikiem RC)
/sprawdzone w locie przed chwilą/
zostało do zrobienia/sprawdzenia-pewnie w przeciągu tygodnia
- połączenie z GPS
- RTH
działający u mnie soft dostępny pod tym linkiem
-płytka białymi złączami do kieruku lotu
-serwa lotek podpięte pod M1 i M4
-silnik podpięty pod M3
-serwa pantilta pod S1 i S2 (ServoMiscConf przypisz środek SERVO1 do AUX3 i środek S2 do AUX4 (klikasz strzałkę w dół przy wartości MID). Rate dla obu ustaw na 0)
reszta jest w tym wątku
- stabilizacja żyroskopami
- pełna stabilizacja - ANGLE
- pan/tilt kamery (MW podłączone prze PPMsum z odbiornikiem RC)
/sprawdzone w locie przed chwilą/
zostało do zrobienia/sprawdzenia-pewnie w przeciągu tygodnia
- połączenie z GPS
- RTH
działający u mnie soft dostępny pod tym linkiem
-płytka białymi złączami do kieruku lotu
-serwa lotek podpięte pod M1 i M4
-silnik podpięty pod M3
-serwa pantilta pod S1 i S2 (ServoMiscConf przypisz środek SERVO1 do AUX3 i środek S2 do AUX4 (klikasz strzałkę w dół przy wartości MID). Rate dla obu ustaw na 0)
reszta jest w tym wątku
niestety poległem
GPS pitlaba i lipa
podłączone pełnym kabelkiem rx-tx, tx-rx, gnd i 5v
po podłaczeniu wtyczki GPSa nie mogę się połączyć z płytką, sprawdzałem na różnych BAUD, ale bez skutku
odpięcie wtyczki GPS - i płytka się łączy
patrzyłem czy GPS się przestawia na daną prędkość ale wychodzi na to że jest OK, wyplówa coś takiego jak zepnę tx-tx w monitorze portów w ARDUINO
GPS pitlaba i lipa
podłączone pełnym kabelkiem rx-tx, tx-rx, gnd i 5v
Kod: Zaznacz cały
#define GPS_SERIAL 0 // should be 2 for flyduino v2. It's the serial port number on arduino MEGA
#define GPS_PROMINI_SERIAL
#define GPS_BAUD 115200
#define NMEA
//#define UBLOX
//#define MTK_BINARY16
//#define MTK_BINARY19
#define INIT_MTK_GPS
odpięcie wtyczki GPS - i płytka się łączy
patrzyłem czy GPS się przestawia na daną prędkość ale wychodzi na to że jest OK, wyplówa coś takiego jak zepnę tx-tx w monitorze portów w ARDUINO
Kod: Zaznacz cały
,0.00,0.00,¨$GPGGA,000352.400,,,,,0,0,,,M,,M,,*48
$GPRMC,000352.400,V,,,,,0.00,0.00,060180,,,N*42
$GPGGA,000352.600,,,,,0,0,,,M,,M,,*4A
$GPRMC,000352.600,V,,,,,0.00,0.00,060180,,,N*40
$GPGGA,000352.800,,,,,0,0,,,M,,M,,*44
$GPRMC,000352.800,V,,,,,0.00,0.00,060180,,,N*4E
$GPGGA,000353.000,,,,,0,0,,,M,,M,,*4D
$GPRMC,000353.000,V,,,,,0.00,0.00,060180,,,N*47
$GPGGA,000353.200,,,,,0,0,,,M,,M,,*4F
$GPRMC,000353.200,V,,,,,0.00,0.00,060180,,,N*45
$GPGGA,000353.400,,,,,0,0,,,M,,M,,*49
$GPRMC,000353.400,V,,,,,0.00,0.00,060180,,,N*43
$GPGGA,000353.600,,,,,0,0,,,M,,M,,*4B
$GPRMC,000353.600,V,,,,,0.00,0.00,060180,,,N*41
$GPGGA,000353.800,,,,,0,0,,,M,,M,,*45
$GPRMC,000353.800,V,,,,,0.00,0.00,060180,,,N*4F
$GPGGA,000354.000,,,,,0,0,,,M,,M,,*4A
$GPRMC,000354.000,V,,,,,0.00,0.00,060180,,,N*40
$GPGGA,000354.200,,,,,0,0,,,M,,M,,*48
$GPRMC,000354.200,V,,,,,0.00,0.00,060180,,,N*42
$GPGGA,000354.400,,,,,0,0,,,M,,M,,*4E
$GPRMC,000354.400,V,,,,,0.00,0.00,060180,,,N*44
$GPGGA,000354.600,,,,,0,0,,,M,,M,,*4C
$GPRMC,000354.600,V,,,,,0.00,0.00,060180,,,N*46
$GPGGA,000354.800,,,,,0,0,,,M,,M,,*42
$GPRMC,000354.800,V,,,,,0.00,0.00,060180,,,N*48
$GPGGA,000355.000,,,,,0,0,,,M,,M,,*4B
$GPRMC,000355.000,V,,,,,0.00,0.00,060180,,,N*41
$GPGGA,000355.200,,,,,0,0,,,M,,M,,*49
$GPRMC,000355.200,V,,,,,0.00,0.00,060180,,,N*43
$GPGGA,000355.400,,,,,0,0,,,M,,M,,*4F
$GPRMC,000355.400,V,,,,,0.00,0.00,060180,,,N*45
$GPGGA,000355.600,,,,,0,0,,,M,,M,,*4D
$GPRMC,000355.600,V,,,,,0.00,0.00,060180,,,N*47
$GPGGA,000355.800,,,,,0,0,,,M,,M,,*43
$GPRMC,000355.800,V,,,,,0.00,0.00,060180,,,N*49
$GPGGA,000356.000,,,,,0,0,,,M,,M,,*48
$GPRMC,000356.000,V,,,,,0.00,0.00,060180,,,N*42
$GPGGA,000356.200,,,,,0,0,,,M,,M,,*4A
$GPRMC,000356.200,V,,,,,0.00,0.00,060180,,,N*40
$GPGGA,000356.400,,,,,0,0,,,M,,M,,*4C
$GPRMC,000356.400,V,,,,,0.00,0.00,060180,,,N*46
$GPGGA,000356.600,,,,,0,0,,,M,,M,,*4E
$GPRMC,000356.600,V,,,,,0.00,0.00,060180,,,N*44
$GPGGA,000356.800,,,,,0,0,,,M,,M,,*40
$GPRMC,000356.800,V,,,,,0.00,0.00,060180,,,N*4A
$GPGGA,000357.000,,,,,0,0,,,M,,M,,*49
$GPRMC,000357.000,V,,,,,0.00,0.00,060180,,,N*43
$GPGGA,000357.200,,,,,0,0,,,M,,M,,*4B
$GPRMC,000357.200,V,,,,,0.00,0.00,060180,,,N*41
Milion razy pisałem żeby nie używać 115200 baud, bo arduino ma ponad 2% błędu przy tej prędkości. Ustaw 57600.pbrys pisze:#define GPS_BAUD 115200
A jak chcesz się połączyć jednocześnie z PC i z GPS'em przy pomocy jednego uarta na FC ? Podpinając GPS MUSISZ odłączyć interfejs USB i na odwrót. Jak FC wywącha że ma GPS'a to przestaje reagować na komendy z FC.pbrys pisze:po podłaczeniu wtyczki GPSa nie mogę się połączyć z płytką, sprawdzałem na różnych BAUD, ale bez skutku
Z logu wygląda na to że GPS został prawidłowo zainicjowany i działa. Odepnij FTDI, podłącz GPS, załącz zasilanie, obserwuj diodę stable na FC. Powinna zacząć mrugać. Wystaw na zewnątrz i czekaj. Jak złapie FIX'a to powinien machnąć lotkami i sterem wysokości. Jak to zrobi, to jesteś gotowy do oblotu.
Pzdr. -----MIŚ-----
niestety nic nie miga,
sa 4 diody - power, status, bat, d12
power świeci caly czas
status zapala się jak zazbroję silnik, lub bez zazbrojenia miga jak przekręcę płytkę o większy kąt
bat miga jak nie wyłączę nadajnik (failsave), mignie jak zmieniam tryby stabilizacji
d12 (żółta) świeci cały czas tylko blado
na zewnątrz gps złapał fixa - ale serwa nie drgnęły, diody też bez zmian
Ok, pin do diody od GPS nie jest zdefiniowany dla Promini...
zmień w def.h:
chodzi o definicje dla stablepin
Teraz do testu w config.h zakomentuj #define GPS_LED_INDICATOR i wgraj. Podłącz do odbiornika RC i do GUI, zaznacz jakiegoś AUX'a aby włączał i wyłączał tryb ANGLE. Zobacz czy dioda D12 będzie się zaświecać przy załączeniu trybu angle z aparatury i gasła przy wyłączeniu. Jak tak to OK, możesz spowrotem odkomentować #define GPS_LED_INDICATOR.
No i teraz podepnij GPS i zobacz czy żółta zacznie migać. Jak nie, to kombinuj z ustawieniami GPS aż zacznie mrugać. Pamiętaj tylko aby najpierw podłączać GPS, a potem podawać zasilanie, bo próba inicjalizacji GPS jest robione przez pierwsze kilkanaście sekund po załączeniu zasilania, potem już nie.
zmień w def.h:
Kod: Zaznacz cały
....
#define I2C_PULLUPS_ENABLE PORTC |= 1<<4; PORTC |= 1<<5; // PIN A4&A5 (SDA&SCL)
#define I2C_PULLUPS_DISABLE PORTC &= ~(1<<4); PORTC &= ~(1<<5);
#if !defined(MONGOOSE1_0)
#define PINMODE_LCD pinMode(0, OUTPUT);
#define LCDPIN_OFF PORTD &= ~1; //switch OFF digital PIN 0
#define LCDPIN_ON PORTD |= 1;
#define STABLEPIN_PINMODE pinMode (12, OUTPUT);
#define STABLEPIN_ON PORTB |= 1<<4;
#define STABLEPIN_OFF PORTB &= ~(1<<4);
#endif
.....
Teraz do testu w config.h zakomentuj #define GPS_LED_INDICATOR i wgraj. Podłącz do odbiornika RC i do GUI, zaznacz jakiegoś AUX'a aby włączał i wyłączał tryb ANGLE. Zobacz czy dioda D12 będzie się zaświecać przy załączeniu trybu angle z aparatury i gasła przy wyłączeniu. Jak tak to OK, możesz spowrotem odkomentować #define GPS_LED_INDICATOR.
No i teraz podepnij GPS i zobacz czy żółta zacznie migać. Jak nie, to kombinuj z ustawieniami GPS aż zacznie mrugać. Pamiętaj tylko aby najpierw podłączać GPS, a potem podawać zasilanie, bo próba inicjalizacji GPS jest robione przez pierwsze kilkanaście sekund po załączeniu zasilania, potem już nie.
Pzdr. -----MIŚ-----
Dalej jest coś nie tak z tą żółtą diodą. Ma sie świecić albo nie.
Mrugnięcie czerwonej to normalne, bo ona jest spięta razem z buzzerem i przy zmianach trybu jest beep.
Znalazłem jeszcze to:
Zakomentuj te 3 linie żeby uwolnić D12 od wyjścia na serwo 4.
Mrugnięcie czerwonej to normalne, bo ona jest spięta razem z buzzerem i przy zmianach trybu jest beep.
Znalazłem jeszcze to:
Kod: Zaznacz cały
#if !defined(MONGOOSE1_0)
//#define SERVO_4_PINMODE pinMode(12,OUTPUT); // new - alt TILT_ROLL
//#define SERVO_4_PIN_HIGH PORTB |= 1<<4;
//#define SERVO_4_PIN_LOW PORTB &= ~(1<<4);
#endif
Pzdr. -----MIŚ-----
no myślę że jestem w domu
musiałem jeszcze zakomentować
i GPS wraz z żółtą diodą żyją,
testy w polu niebawem
jedyne to co mnie martwi to to żeby się połączyć z płytką przez USB to oprócz wypięcia GPS trzeba jeszcze wgrać sofcik z od komentowanym, no ale tego się nie przeskoczy na tej płytce pewnie
MIŚ dziękuję za całą pomoc - mam nadzieję że już nie będę cię męczył pytaniami.
PS. po za tym wydaje mi się że stabilizacja ANGLE działa lepiej na tym skrzydełku niż AP od pitlaba, jest jakaś taka bardziej naturalna ciężko to opisać - lepiej mi leży poprostu
po przetestowaniu wszystkiego wrzucę wersję która lata co by inni już nie musieli o nic pytać
musiałem jeszcze zakomentować
Kod: Zaznacz cały
#define GPS_PROMINI_SERIAL
testy w polu niebawem
jedyne to co mnie martwi to to żeby się połączyć z płytką przez USB to oprócz wypięcia GPS trzeba jeszcze wgrać sofcik z od komentowanym
Kod: Zaznacz cały
#define GPS_PROMINI_SERIAL
MIŚ dziękuję za całą pomoc - mam nadzieję że już nie będę cię męczył pytaniami.
PS. po za tym wydaje mi się że stabilizacja ANGLE działa lepiej na tym skrzydełku niż AP od pitlaba, jest jakaś taka bardziej naturalna ciężko to opisać - lepiej mi leży poprostu
po przetestowaniu wszystkiego wrzucę wersję która lata co by inni już nie musieli o nic pytać
Da się. Tylko muszę mieć wolny wieczór i odpowiednią ilość uszlachetniacza neuronów aby wpaść na jedyny słuszny sposób jak to pożenićpbrys pisze:edyne to co mnie martwi to to żeby się połączyć z płytką przez USB to oprócz wypięcia GPS trzeba jeszcze wgrać sofcik z od komentowanym
Kod:
#define GPS_PROMINI_SERIAL
, no ale tego się nie przeskoczy na tej płytce pewnie
A jak już wszystko uruchomisz, i podzielisz się swoim softem to może w końcu zrobię definicję dla płytki kuki 0.6.3 która będzie miała wszystko co trzeba bez kombinacji na wyższym poziomie.
Pzdr. -----MIŚ-----
Spróbuj pozmieniać:
W multiwii_2_2.ino:
Oraz w GPS.ino:
Teraz z odkomentowanym "#define GPS_PROMINI_SERIAL" GPS powinien działać.
A połączenie z płytką przez USB uzyskasz przy odpiętym GPS po kilkunastu sekundach od załączenia zasilania, czyli odpiąć GPS, podłączyć USB, zaczekać 30 sek i GUI powinno sie połączyć.
W multiwii_2_2.ino:
Kod: Zaznacz cały
#if !(defined(SPEKTRUM) && defined(PROMINI)) //Only one serial port on ProMini. Skip serial com if Spektrum Sat in use. Note: Spek code will auto-call serialCom if GUI data detected on serial0.
#if defined(GPS_PROMINI)
if(GPS_Enable == 2) {serialCom();} // <--- ta linia zmieniona
#else
serialCom();
#endif
#endif
Kod: Zaznacz cały
void setup() {
// #if !defined(GPS_PROMINI) // <- zakomentowano
SerialOpen(0,SERIAL0_COM_SPEED);
#if defined(PROMICRO)
SerialOpen(1,SERIAL1_COM_SPEED);
#endif
#if defined(MEGA)
SerialOpen(1,SERIAL1_COM_SPEED);
SerialOpen(2,SERIAL2_COM_SPEED);
SerialOpen(3,SERIAL3_COM_SPEED);
#endif
// #endif // <- zakomentowano
Kod: Zaznacz cały
case 3:
taskOrder++;
#if GPS
if(GPS_Enable==1) GPS_NewData(); // <-- tu zmiana
break;
#endif
Kod: Zaznacz cały
if(init_stage == 17) // no responce from GPS restore serial port speed.
#if(GPS_SERIAL==0)
SerialOpen(GPS_SERIAL,SERIAL0_COM_SPEED);
#endif
#if(GPS_SERIAL==1)
SerialOpen(GPS_SERIAL,SERIAL1_COM_SPEED);
#endif
#if(GPS_SERIAL==2)
SerialOpen(GPS_SERIAL,SERIAL2_COM_SPEED);
#endif
#if(GPS_SERIAL==3)
SerialOpen(GPS_SERIAL,SERIAL3_COM_SPEED);
#endif
#if defined(GPS_PROMINI) // <---- dodano ta i dwie nastepne linie
GPS_Enable = 2; // GPS not detected
#endif
}
A połączenie z płytką przez USB uzyskasz przy odpiętym GPS po kilkunastu sekundach od załączenia zasilania, czyli odpiąć GPS, podłączyć USB, zaczekać 30 sek i GUI powinno sie połączyć.
Pzdr. -----MIŚ-----