• Non ci sono risultati.

(a) IL SOFTWARE DI CONTROLLO

N/A
N/A
Protected

Academic year: 2021

Condividi "(a) IL SOFTWARE DI CONTROLLO"

Copied!
5
0
0

Testo completo

(1)

(a)

IL SOFTWARE DI CONTROLLO

Ambiente di lavoro Il software con cui si sono programmati i PIC16F877 che effettuano il controllo digitale è il linguaggio “macchina”, e le funzionalità e le periferiche del microcontrollore sono gestiti tramite il settaggio di singoli bit di appositi registri speciali. Questo microcontrollore ha una frequenza massima di lavoro di 20MHz, che determina un tempo di esecuzione di una istruzione pari a 200ns (4 cicli di oscillatore), ed ha una struttura con registri di memoria da 8 bit, che possono contenere numeri in formato binario equivalenti a numeri decimali compresi tra 0 e 255. Le istruzioni implementate sono appena 35, e sono suddivise in tre tipi: byte oriented, che operano su un intero byte ad 8 bit, bit oriented, che operano su un singolo bit, ed una serie istruzioni logiche, come ad esempio il salto incondizionato ed il richiamo di subroutine. Tra le istruzioni implementate

(2)

sono comprese ad esempio la somma e la sottrazione, ma non la moltiplicazione ne tanto meno la divisione. Inoltre c’è da considerare che, anche quando si opera una operazione semplice come una somma, l’eventualità che si verifichi un overflow del registro di memoria non è affatto remota, essendo il limite superiore di 255 piuttosto facile da raggiungere. Per essere quindi sicuri di ottenere il risultato corretto da una operazione c’è bisogno di una serie di istruzioni che verificano l’eventuale overflow e modificano il registro contenente il risultato opportunamente. L’operazione si complica ulteriormente nel caso in cui si abbia bisogno di conoscere anche il segno del risultato, tenendo conto inoltre anche del segno degli operandi. A fronte di queste considerazioni appare evidente che anche per eseguire una semplice sommatoria con segno si ha bisogno di un numero rilevante di istruzioni.

Struttura Il software è stato realizzato per gestire le

seguenti funzionalità:

• Avere una stima della velocità e della corrente effettive in formato digitale, sia in modulo che in segno.

(3)

• Gestire anello di controllo della corrente ad isteresi a tre livelli

• Approssimare un regolatore PI per la regolazione della velocità

• Gestire l’interfaccia con l’operatore tramite tastiera e display.

Sono stati usati due PIC16F877, il primo, denominato Bridge Controller, che gestisce il controllo del chopper e l’interfaccia a tastiera, il secondo, denominato Display Driver, che, tramite una comunicazione parallela, acquisisce la velocità di riferimento in formato binario 8 bit ed opera le opportune istruzioni per una corretta visualizzazione in formato decimale del dato sul display LED 3digit 7 segmenti.

Il software caricato sul PIC Bridge Controller è strutturato come segue:

Esegue in idle la routine di gestione dell’anello di corrente ad isteresi e del campionamento della corrente effettiva con una frequenza attorno ai 20kHz, ed ogni 9ms secondi viene richiamata la routine che esegue il controllo di velocità. All’interno del ciclo di idle viene anche eseguito il polling dei pin relativi alla tastiera.

(4)

Inizializzazione Allocati nella memoria Flash del PIC ci sono alcuni registri speciali, che vengono usati per impostare il funzionamento delle periferiche del controllore ma non solo. Le prime righe di codice eseguite all’avvio del sistema sono dedicate al settaggio dei registri speciali, in modo da configurare in modo opportuno le periferiche. Il convertitore A/D viene configurato tramite due registri, l’ADCON0 e l’ADCON1. Il modulo ADC ha una risoluzione di 10 bit e ha 6 ingressi analogici, AN0:5. In questa applicazione si usa un solo canale, AN0, per campionare il segnale della corrente di armatura. Gli altri canali vengono settati come digitali. Il risultato della conversione viene salvato, con giustificazione sinistra, nei registri ADRESL:ADRESH, ma nel nostro caso sono sufficienti i primi 8 bit.

Il Timer0 viene impostato, tramite il registro T0CON come contatore dei fronti di salita del segnale “Canale 1” dell’encoder portati al pin RA4/T0CKI. Questo segnale è del tipo onda quadra, ed ha una frequenza di 500ppr. Il numero di fronti di salita conteggiato è contenuto nel registro TMR0. Il Timer1 è

(5)

configurato, tramite il registro T1CON, per lavorare come timer a 5MHz. Tramite un’altra periferica, chiamata Capture Compare PWM1 (CCP1), settata tramite il CCP1CON e CCP1L:CCP1H, viene eseguita la comparazione continua del registro 16bit del timer, e quando raggiunge il valore di 45000, che corrisponde ad un tempo di 9ms (45000*200ns), da luogo all’interrupt relativo. Gli interrupt sono abilitati e configurati tramite i registri INTCON, PIE1, PIE2. Tramite il registro OPTION_REG vengono configurate altre opzioni riguardo gli interrupt ed i weak-pullups sui pin della porta B.

All’inizio del listato è riportata anche la ISR, Interrupt Service Routine, che viene richiama ogni qualvolta è chiamato un interrupt, e contiene le istruzioni che rilevano l’interrupt che ha fatto scattare la ISR tramite il controllo di alcuni flagbits situati nei registri INTCON, PIR1 e PIR2. Per evitare che possano essere chiamati interrupt multipli il GIE, General Interrupt Enable, viene disabilitato all’interno della ISR.

Riferimenti

Documenti correlati

● Un sistema di controllo genitoriale (controllo parentale, fltro famiglia) permette di fltrare e lloccare contenuti non opportuni. ● Si applica a computer, smartphone,

- che nel mese di novembre 2021 è in scadenza il protocollo di intesa tra il Ministero dell’Istruzione, dell’università e della ricerca e Sistema Moda Italia, siglato il 3

Questa distinzione è fondamentale, perché – come a suo tempo brillantemente illustrato da Calamandrei 2 – in un ipotetico 3 ordinamento, che non prevedesse

Vista la deliberazione di Consiglio Comunale n. Il fabbricato è affittato al sig. Uguccioni Antonio con contratto rep. Il fabbricato si sviluppa su due piani T-1 ed ha una

Che per il giorno 07 Settembre 2009 alle ore 12.00 presso la Sala del Consiglio Comunale, Comune di Urbino, via Puccinotti n. Il fabbricato è affittato al sig. Uguccioni Antonio

Il servizio di cassa di cui alla presente convenzione ha per oggetto il complesso delle operazioni inerenti la gestione finanziaria dell’Istituto e, in

una prima tranche di pagamento, pari al 25% dell’ammontare complessivo, entro 4 mesi dalla sottoscrizione della presente Convenzione, contenente una relazione dettagliata

Responsabile del Servizio di Conservazione Responsabile della funzione archivistica di conservazione Responsabile della sicurezza dei sistemi per la conservazione Responsabile