Alla fine, una sera, ho messo in pausa il progetto DGRX per mettere in piedi un simulatore per poter coprire l'intero spettro del segnale uscente da una ricevente RC, compresi trim/subtrim/dual rate/epa/etcc, nonché la possibilità di inserire un "disturbo" ogni secondo (comodo per controllare la reazione con un oscilloscopio) o manualmente premendo un pulsante. Il "disturbo" si può scegliere fra diversi reimpostati, più uno regolabile con un trimmer. Per il progetto, ho semplicemente racimolato un po' di componenti sparsi negli angoli dei cassetti. Così, ho riciclato un vecchio PIC16F876, un quarzo a 20Mhz e poc'altro...
Lo schema è abbastanza semplice. Può essere costruito in tranquillità su millefiori ed escludendo il PIC, tutto il resto costa qualche Euro.
E' indispensabile avere un quarzo preciso da 20Mhz e un microcontrollore targato "-20" (20Mhz). Io ho usato un potenziometro ed un trimmer (quadratino blu a fianco del potenziometro nella foto), perché questo avevo in casa, ma due potenziometri potrebbero essere più comodi.
E' prevista la programmazione in-circuit (ICSP = In Circuit Serial Programming). In tal caso, durante la programmazione è meglio aprire il circuito di alimentazione togliendo il Jumper.
Il led rosso segnala la presenza di alimentazione del circuito (continua o alternata compresa fra 8V e 14V).
Per questo progetto, che sarà più utile agli smanettoni che non ai modellisti puri, ho deciso di pubblicare anche il sorgente. Così, sarà utile ai neofiti della programmazione con i PIC per avere spunti (ho usato un pic vecchio, ma molto diffuso) e può essere personalizzato da chi ne ha voglia. Il firmware è decisamente in beta test. Chiunque usi in parte o interamente tale codice, è pregato almeno di citarne l'origine J.
Tutto viene gestito dal Main. In Interrupt, viene solo ricaricato il Timer e settato un flag per avere il sincronismo dei 25uSec. Un'interrupt così ridotto, consente di evitare push e pop di variabili che porterebbero via preziosa capacità di calcolo riducendo il numero di passi ottenibili.
Chiunque voglia proporre versioni riviste con nuove o diverse funzioni, sarà certamente ascoltato e se
ritenuto opportuno, il file sarà pubblicato come "alternativa", citando dovutamente l'autore.
Il sorgente è completamente in Assembler ed è nativo per 16F877, ma avendo usato solo porte presenti anche nei modelli a 28pin, e ben poca memoria, il software dovrebbe girare dal PIC16F873 all'877. Ho provato sull'877 e attualmente risiede fisso sull'876, dove funziona egregiamente. Per l'873/874 non garantisco il funzionamento in quanto non l'ho provato personalmente..