EO_476

VIII Lighting LIGHTING 19 - MARZO 2019 originale e osservando l’onda quadra di un duty cycle che gradualmente varia si può notare una sorprendente somiglianza con un fenomeno, spesso vissuto come un effetto acustico, prodotto dal “ battimento ” di due segna- li ciclici periodici di frequenze molto vicine mentre si sommano e si annullano a vicenda. La somma dei due raggiunge le nostre orecchie con un inviluppo ( envelope ) periodico e con una frequenza pari alla differenza tra i due. Questo non è difficile da implementare con un paio di porte logiche e può essere fatto sfruttando un microcontrollo- re con il giusto mix di periferiche. Una soluzione indipendente dal core La prima cosa da fare è trovare una modalità per generare due segnali periodici (le onde quadre vanno bene) ma la cui differenza in fre- quenza sia compresa trai 0,5-2 Hz. Una coppia di timer digitali con un registro di ricarica (in altre parole periferiche PWM di base) può esse- re utilizzata per creare i due segna- li. Si dovrà scegliere attentamente i due valori di ricarica, vicini ma di- versi tra loro, in modo da produrre la frequenza di battimento deside- rata. Ad esempio, se si utilizza un microcontrollore PIC con un clock a 32 kHz, due timer a 8 bit e i moduli PWM collegati è possibile generare una frequenza di 60,5 Hz e un’uscita a 61,5 Hz. Quindi sarà possibile sfruttare una delle CLC (Configurable Logic Cells), un piccolo blocco logico programmabile simile ai blocchi macro FPGA/ PLD, per eseguire la logica AND dei due se- gnali. Infine sarà possi- bile pubblicare l’output direttamente su uno dei pin di I/O cui verrà col- legato un LED. Questo darà un visibi- le effetto respiro di 1Hz. Una respirazione più rapida sarà ottenuta au- mentando la differenza tra le due frequenze (ac- corciando il secondo pe- riodo PWM) e viceversa si otterrà una respirazio- ne più lenta riducendo la differenza tra i due fino a 0,1 Hz quando i due registri di ricarica sono a un solo valore di differenza. La Configurable Logic Cell è la più basilare delle Core Independent Peripherals (CIP) che si trovano all’interno dei più recenti microcontroller (PIC), e per il resto della soluzione si è fatto ricorso a timer e PWM standard. A questo punto può essere uti- le domandarsi se vi potrebbero essere altri utilizzi per la MCU. Il core del microcontrollore viene infatti utilizzato durante l’avvio dell’applicazione ma solo per configurare le periferiche. La cosa forse ancora più interessante è che la soluzione utilizza un oscillatore con un con- sumo energetico molto basso senza “intaccare” le prestazioni del mi- crocontroller (MIPS, MHz, non im- porta come si voglia misurarlo) che resta disponibili per l’utilizzo in “al- tri”, e forse più interessanti, compiti dell’applicazione. Nuove applicazioni senza scrittura di codice Per l’utilizzo in altri compiti, l’a- spetto interessante è rappresenta- to dal fatto che non è necessario l’apertura di alcun datasheet né la scrittura di una singola riga di codice. Per semplicità verranno utilizzate le economiche schede di valutazione MPLAB Xpress, in particolare il mod. PIC16F18855, che è presente sulla scheda, anche se è possibile utilizzare uno qualsiasi dei recenti microcontrollori PIC16F1 Core Independent Pe- ripheral (CIP)-enabled. Per creare un nuovo progetto Fig. 5 – Finestra PWM7 configuration Fig. 4 – Finestra TMR6 configuration

RkJQdWJsaXNoZXIy MTg0NzE=