Beacon APRS a basso costo

Ma cos’è l’ APRS?
L’ APRS (Automatic Packet Reporting System) è un modo digitale sfruttato da noi radioamatori (sulle bande dei 2m e dei 70cm) per scambiare posizione, messaggi brevi oppure, come in questo caso, telemetria.

Si basa sulla modulazione AFSK (Audio Frequency Shift Keying) e consiste nell’ alternare due frequenze, tipicamente 1200Hz e 2200Hz, per codificare i dati da inviare. Un pacchetto APRS è solitamente formato così:

MYCALL-10>APRS,WIDE2-1:!0000.00N/00000.00Ertesto

Ovvero, MYCALL-10 equivale al nominativo, APRS è il destinatario, WIDE2-1 è il “percorso” del packet, 0000.00N/00000.00E equivalgono a latitudine e longitudine, “r” è il codice del simbolo che apparirà sulla mappa (https://aprs.fi) e infine, il testo di “coda” personalizzato.

Dopo questa veloce spiegazione, passiamo all’ hardware:
Anche per questo progetto ho scelto il modulo radio SA-818 (versione UHF), dei moduli step up e LDO, un sensore di temperatura DS18B20, 4 celle 18650 e infine il rinomato ESP32, anche se comunque non verrà sfruttata la parte del wifi (per adesso!).
Ho scelto l’ ESP32 e il SA-818 per tre motivi principali:
• Consumo praticamente nullo in modalità sleep
• Semplicità di programmazione, infatti l’ ESP si programma tramite la sua IDE e il modulo SA-818 semplicemente tramite una console seriale.
• Prontamente disponibili in casa

Dopo qualche ricerca un po’ più approfondita, inizia la fase hardware.
L’ ESP32, come ci suggerisce il nome, ha 32 pin che si suddividono in ingressi, uscite, abbondanti PIN ADC (Analog to Digital Converter) ma soprattutto, 2 pin DAC (Digital to Analog Converter).

I collegamenti tra l’ ESP e il modulo radio sono solamente 4:
• Entrata microfonica,
• Potenza alta o bassa, mettendo il PIN a VDD oppure a GND rispettivamente
• PIN enable (definito PRG), verso VDD = modulo attivo
• PIN PTT, per attivare la trasmissione.

Oltre all’ alimentazione, l’ ESP si connette anche al sensore di temperatura tramite il protocollo one-wire e anche alla batteria, tramite un partitore di tensione resistivo, formato così:

Voltage Divider Calculator - Calculate Vout, Vin, R1, R2 | Circuit Digest

Con R1 pari a 47k e R2 pari a 150k circa.

Passando alla parte della RF, questi moduli radio emettono oltre la fondamentale tantissime armoniche e spurie ben oltre il limite legale, quindi ho deciso di aggiungere un filtro passa basso esterno, con questi valori approssimativi:

Questi valori non sono uguali a quelli che da il calcolo in se, ma sono adattati a questa specifica condizione di lavoro e soprattutto con valori più o meno facilmente reperibili (File Gerber di produzione su GitHub).

Prima di passare al software, l’ alimentazione è strutturata così:

La tensione delle batterie entra direttamente nello step-up che la porta a 5v, per il modulo radio e per l’ input del modulo step-down (LDO per essere precisi) AMS1117 per poi alimentare l’ ESP e il sensore di temperatura a 3.3v

Ho usato questo metodo perché sfortunatamente avevo esaurito gli step up / step down solamente da 3.3v, fino ad oggi non ha causato problemi.

Il software, invece, non è semplice come l’ hardware ma nemmeno dei più complicati, è stato un grandissimo aiuto, praticamente indispensabile, questo progetto su GitHub, più precisamente, questo sketch.

Quel codice è praticamente la base della parte di trasmissione del codice “finale”, disponibile qui.

Ovviamente sono da cambiare tutti i parametri riguardanti il nominativo, posizione e simbolo attorno alla riga 75 nel codice, oltre a sistemare perfettamente il baud_adj, riga 66.

Messo in postazione, il Beacon con la sua antenna (dipolo semplice) continuano a fare il loro lavoro, soprattutto grazie alla capacità delle batterie e al basso consumo in modalità sleep dei componenti, rendendo il sistema duraturo anche senza una fonte d’ alimentazione per ricaricare le batterie.

Questo progetto è ancora in continuo sviluppo, come prossime aggiunte, ovviamente, un pannello solare e qualche altro sensore per sperimentare. La frequenza, standard per l’ APRS, è 432.500MHz. In questo momento, il beacon è fisso su una potenza di TX di 100mW, con emissione ogni 10 minuti sotto WIDE1-1 e WIDE2-1.

73 e buon anno de IUØVCK & aribassolazio