S

Elektronika i programowanie. Damian Kaniecki

Symulator depesz NMEA

Symulator NMEA

Urządzenie wykonane na zamówienie firmy FORKOS.

Przeznaczenie

Symulator przeznaczony do wysyłania ciągów znaków ASCII, mający służyć jako generator sygnałów NMEA.

Rozbudowana wersja umożliwia wysyłanie trzech rodzajów depesz:

  • Zwykły tekst (znaki ASCII);
  • Kombinacja znaków ASCII i wartości losowych o zadanych wartościach;
  • Kombinacja znaków ASCII i wartości sinusoidalnie zmiennych o zadanych wartościach.

Oprócz tego możemy do depeszy dodać ciąg znaków określających czas (14 formatów) po łańcuchu znaków ASCII lub po wartościach liczbowych a także włączyć lub wyłączyć opcję obliczania sumy kontrolnej.

Urządzenie programowane jest za pomocą napisanej w Delphi aplikacji na PC, która umożliwia:

Aplikacja umożliwiająca zaprogramowanie symulatora

  • A - Grupa „Zegar”. Wyświetla aktualną datę i godzinę systemową komputera PC. Przycisk „Synchronizuj czas” zapisuje ustawienia zegara systemowego do symulatora NMEA;
  • B - Grupa „Czas wysyłania danych”. Umożliwia ustawienie czasu wysyłania depesz przez symulator NMEA. Czas można ustawić w zakresie od 100 ms do 30 s za pomocą suwaka lub okna edycyjnego z dokładnością do 100 ms. Przycisk „Ustaw czas” zapisuje dane do symulatora;
  • C - Grupa „Porty komunikacyjne”. Umożliwia wybór transmisji depesz przez port USB lub port RS232. Zaznaczenie okna opcji zapisuje dane w symulatorze;
  • D - Grupa „Prędkość transmisji”. Umożliwia zmianę prędkości transmisji depesz. Po zmianie prędkości należy zamknąć port i otworzyć ponownie ze zmienioną wartością prędkości transmisji. Domyślnie prędkość transmisji po uruchomieniu symulatora ustawiona jest na 9600 bps. Po wyłączeniu zasilania bateryjnego symulator powraca do wartości domyślnych (9600,8,1,none,none);
  • E - Przycisk „Transmisja testowa”. Umożliwia podgląd depesz i czasu ich wysyłania w oknie terminala;
  • F - Przycisk „Odczytaj z urządzenia”. Umożliwia odczyt danych konfiguracyjnych zapisanych
    w pamięci symulatora (data i godzina, czas wysyłania depesz, porty komunikacyjne).

Budowa

Po zapoznaniu się z wymogami klienta opracowałem schemat. Urządzenie powinno posiadać port szeregowy dostępny poprzez złącze USB i 3 porty RS232 w standardzie komputera PC. Wybór, gdzie kierowany będzie sygnał wyjściowy dokonywany jest programowo za pomocą aplikacji.

Urządzenie powinno byc zasilane z portu USB, z zewnętrznego zasilacza lub umieszczonych w obudowie akumulatorów. Podczas zasilania z USB lub zasilacza powinno umożliwiać doładowywanie akumulatorów.

Ostateczny schemat symulatora

Projekt płytki PCB

Płytka PCB po wytrawieniu

Po wytrawieniu i zmontowaniu prototypowej płytki PCB nadszedł czas na programowanie.

Sercem urządzenia jest mikrokontroler AVR ATmega 644. Jak zawsze, program napisany został w języku C, przy pomocy środowiska Eclipse. Program umożliwia zaprogramowanie urządzenia poprzez port USB lub RS232 standardu PC. Można zsynchronizować czas z czasem aplikacji programującej. Aplikacja umożliwia odczyt parametrów zapisanych w pamięci mikrokontrolera. Czas wysyłania depesz można regulować w zakresie od 100 ms do 30 s. Można także wybrać parametry transmisji portu UART. Wszystkie parametry zapisywane są w pamięci EEPROM.

Kilka zdjęć z poszczególnych faz powstawania urządzenia.

Płyta główna urządzenia z elementami

Przymiarka do obudowy

Pierwsza wersja urządzenia

Po serii testów i przedstawieniu prototypu klient podjął decyzję o zmianie wyglądu urządzenia. Symulator zyskał bardziej "kompaktowy" wygląd. Więcej informacji o urządzeniu TUTAJ. Wersja ostateczna prezentuje się następująco:

Wersja ostateczna symulatora NMEA

Widok złącz urządzenia

Strona portu USB