Същият пост съм го написал и на английски език, но този тук не е буквален превод, така че може би ще ви е интересен.
Отдавна си мисля за APRS тракер. Дълго време се чудех, дали такова устройство би ми вършело някаква работа, но в крайна сметка реших че искам да имам.
Започнах да разглеждам различните устройства които се предлагат на пазара, но в крайна сметка реших че предпочитам сам да си го направя (просто ме сърбяха ръцете за нов проект).
Понеже това беше нова материя за мен, започнах да разглеждам различни разработки в интернет. Обмислях някои от видените неща, отхвърлях повечето от тях, някои си ги маркирах като може би. И така докато случайно не попаднах на един пост на DB1NTO. Неговият проект и концепция за всичко в едно много ми хареса, а и не изглеждаше труден за реализация. Започнах проекта и точно го бях довел до работещо състояние, Марк (собственикът на форума) публикува написаната от него Arduino библиотека за APRS. Понеже много харесвам идеята за отворен хардуер и отворен софтуер, веднага реших че трябва да започна проекта отначало и да го базирам върху Ардуино платформа.
Разработването на хардуерната част не беше никак сложно, все пак няма нещо кой знае какво революционно в него. Ето разработената от мен схема на тракера APRS_circuit
Като цяло няма нещо сложно и иновативно в самата схема. Тракера е базиран на ATMEGA328 процесор за изпращане и получаване на пакетите използвам DORJI818V радио модул, предвидил съм един транзистор за управление на PTT на модула както и зарядно на3,7V за батерията с която ще се захранва. На самият тракер съм монтирал и 0,96″ OLED дисплей, на който се показват географски координати QTH локатор и още малко допълнителна информация. При приет и правилно декодиран пакет той също се показва на дисплея.
Ето малко снимки на готовото устройство:
От тук започнаха и мъките. След няколко седмици програмиране (все пак не съм от най-добрите програмисти) имах завършен код, който що годе работеше. Основният проблем бе че се бях опитал да вкарам твърде много функции в устройството и то постоянно или блокираше или се рестартираше. След още няколко дни борба, най-накрая заработи(поне частта с изпращането на пакетите). Остана само проблемът, че така и не успях да го накарам да показва получените пакети на екрана. Обърнах се за помощ към някои приятели и проблемът най-после беше решен. Оказа се че една от функциите които ползвам блокира таймер 1, който всъщност се използва при декодирането на пакетите. След последната промяна на кода най-после има напълно работеща версия на APRS тракера която съм публикувал тук.
Все още има неща които ми се иска да бъдат променени, както и някои части от кода се нуждаят от оптимизация, но като цяло съм доволен от полученото решение.
Една от функциите в кода от която съм най-доволен е така нареченият „smart beaconing“ тя се използва за да се изпращат пакетите към APRS мрежата на различен интервал от време в зависимост от скоростта с която се движи обекта, ъгълът на завой и изминатото разстояние.
Имах възможността да тествам разработеният тракер при няколко от служебните ми пътувания из страната и за сега съм много доволен от неговото представяне.
Понеже поръчах да ми изработят 10 платки (повечето от които вече са обещани на приятели радиолюбители), в следващите дни предстои да се по занимавам с насищането на останалите платки, както да се опитам да издялам някаква кутийка за устройството.
Ще се опитам да направя още снимки които да кача тук.
73 de LZ1PPL
Пламен Пантелеев