Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Tracker APRS do samochodu
SQ2PPJ Offline
Nowicjusz
*

Liczba postów: 19
Dołączył: 17-07-2014
Post: #1
Tracker APRS do samochodu
Witam,

Jakiś czas temu zainteresowałem się APRS-em. Z racji tego, że pracuje głównie w pasmach VHF/UHF i bardzo często w samochodzie postanowiłem zrobić sobie Tracker APRS-u właśnie do samochodu. Oczywiście zaczęło się od APRSdroida zainstalowanego na smartfonie, a później tablecie podłączonym do radiotelefonu TYT TH-UVF9D.
Działało Wink ale 5W nawet z zewnętrzną anteną miało "dziury" w śledzeniu pojazdu na aprs.fi.

Postanowiłem zmienić TYT-a - na Motorolę MaxTrac300 25W na wyjściu. Wstępny projekt polegał na zrobieniu układu sterującego ptt w momencie pojawienia się sygnału w APRSdroidzie, ponieważ nie ma on takiej funkcjonalności. Doszedłem jednak do wniosku, że jak już mam coś "lutować" to może zrezygnować z telefonu i zrobić to od początku do końca. Może kogoś zainteresują moje dotychczasowe prace:

Z racji tego, że nie jestem jakimś wytrawnym elektronikiem mój wybór na czas przygotowywania prototypu padł na ARDUINO. Docelowo projekt ma zostać przeniesiony na płytkę własnego projektu z ATMEGą 328 taką jak w ARDUINO.

Lista sprzętu:
ARDUINO UNO - mózg systemu
Moduł GPS FGPMMOPA6C - pozycjonowanie GPS
LCD 2x16 I2C - wyświetlacz LCD wysterwany po I2C

Dodatkowo ogromnym ułatwieniem była biblioteka QAPRS stworzona przez kolegę SQ5RWU wysyłająca dane APRS już w enkapsulacji ax.25. Najprostszy układ do wysyłania danych w formacie APRS przedstawia schemat poniżej. Oczywiście zamiast głośnika podłączamy wejście audio radiotelefonu, a zamiast diody LED - tranzystor sterujący PTT.

İmage
Który w połączeniu z przykładowym kodem z biblioteki:
Kod:
/*
    Copyright (C) 2013 Lukasz Nidecki SQ5RWU
    
    This file is part of ArduinoQAPRS.

    ArduinoQAPRS is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    ArduinoQAPRS is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with ArduinoQAPRS; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

    Ten plik jest częścią ArduinoQAPRS.

    ArduinoQAPRS jest wolnym oprogramowaniem; możesz go rozprowadzać dalej
    i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU,
    wydanej przez Fundację Wolnego Oprogramowania - według wersji 2 tej
    Licencji lub (według twojego wyboru) którejś z późniejszych wersji.

    Niniejszy program rozpowszechniany jest z nadzieją, iż będzie on
    użyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej
    gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH
    ZASTOSOWAŃ. W celu uzyskania bliższych informacji sięgnij do
    Powszechnej Licencji Publicznej GNU.

    Z pewnością wraz z niniejszym programem otrzymałeś też egzemplarz
    Powszechnej Licencji Publicznej GNU (GNU General Public License);
    jeśli nie - napisz do Free Software Foundation, Inc., 59 Temple
    Place, Fifth Floor, Boston, MA  02110-1301  USA

*/
/**
* @file
* @brief Plik testowy Arduino
*/


#include <Arduino.h>
#include "ArduinoQAPRS.h"

char * packet_buffer  = "                                                                    \n ";
char from_addr[] = "SQ5RWU";
char dest_addr[] = "APZQAP";
char relays[] = "WIDE2 1";

void setup(){
    // inicjalizacja
    // pin 3 to sensePin [wejscie] - 1 oznacza brak mozliwosci nadawania
    // pin 2 to txPin [wyjscie] - stan wyski w momencie rozpoczecia nadawania
    QAPRS.init(3,2);
}

void loop() {
        // nadanie paketu typu komentarz
        packet_buffer = ":TEST TEST TEST de SQ5RWU";
        QAPRS.send(from_addr, '0', dest_addr, '0', relays, packet_buffer);
        // nadanie pakietu z pozycja i symbolem wahadlowca
        packet_buffer = "!5215.68N/02057.48ES#";
        QAPRS.send(from_addr, '0', dest_addr, '0', relays, packet_buffer);
        // nadanie danych pogodowych bez pozycji
        packet_buffer = "_07071805c025s009g008t030r000p000P000h00b10218";
        QAPRS.send(from_addr, '0', dest_addr, '0', relays, packet_buffer);
        delay(5000);
}

Daje możliwość wysłania ramki APRS.

Na chwilę obecną podłączyłem moje ARDUINO z GPS-em i modułem LCD. Efekt widoczny na zdjęciu poniżej:
İmage

Moduł GPS podłączony "na szybko", bez baterii podtrzymania, na zrobionej "na szybko" płytce i okrutnie "obsmarkane" lutownicą transformatorową (wiem, że nie ma się czym chwalić, ale docelowo postaram się, żeby wyglądało lepiej):
İmage

W tej chwili moduł GPS jest przenoszony na docelową płytkę:
İmage
Moduł GPS jest realizowany na zewnętrznej płytce, aby można było go umieścić w miejscu, gdzie bez problemu będzie się "fix-ował".

Przede mną jeszcze kawałek drogi, ale myślę, że powinno się udać. W miarę postępu prac postaram się uzupełniać wątek.
17-07-2014 11:42
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
Tracker APRS do samochodu - SQ2PPJ - 17-07-2014 11:42

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości