ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA Temporizzatore su un microcontrollore. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica Enciclopedia della radioelettronica e dell'elettrotecnica / Orologi, temporizzatori, relè, interruttori di carico Il timer in questione ha due modalità di conto alla rovescia per intervalli di tempo che vanno da 1 a 999 minuti o lo stesso numero di secondi. Lo schema del dispositivo è mostrato in figura. Dispone di un interruttore SA1, con il quale è possibile scegliere in quali unità, minuti o secondi verrà mantenuto il conteggio, pulsanti di controllo SB1-SB3, un indicatore LED a tre cifre HG1 (centinaia di cifre) - HG3 (unità di cifra). Dopo l'accensione del timer, il circuito RC R2C3 genera un impulso che riporta il microcontrollore DD1 (AT90S2313-10PI) allo stato iniziale. Quando si imposta la durata della velocità dell'otturatore generata, ogni pressione del pulsante SB1 (L) aumenta le letture dell'indicatore di uno. Se si tiene premuto questo pulsante per più di 3 secondi, il valore sull'indicatore aumenterà di 5 unità (minuti o secondi) ogni secondo. Il pulsante SB2 (V) agisce in modo simile al pulsante SB1, ma il valore sull'indicatore non aumenta, ma diminuisce. Al raggiungimento dei valori di 999 o 0, l'ulteriore modifica delle letture nella direzione corrispondente viene automaticamente bloccata. Selezionando l'interruttore SA1, il tempo verrà contato in minuti o secondi e impostando il tempo di esposizione richiesto con i pulsanti SB1 e SB2, è necessario premere il pulsante SB3 (C). Da questo momento parte il timer - il livello alto all'uscita PD6 del microcontrollore viene sostituito da uno basso, viene applicata tensione all'attuatore collegato al connettore X2, che viene segnalato dalla lampada al neon HL1 (con incorporata resistenza di zavorra), e inizia il conto alla rovescia del tempo impostato. Il numero visualizzato sull'indicatore diminuisce di uno ogni minuto o secondo. Il punto decimale nella posizione delle unità lampeggia con un periodo di 1 s. Non appena l'indicatore raggiunge lo zero, il livello basso all'uscita PD6 tornerà ad essere alto, il che spegnerà l'attuatore. Inoltre, nella modalità di conteggio dei minuti, in questo momento verrà generata una sequenza di impulsi della durata di 4 s sull'uscita PD60 - verrà emesso un segnale acustico. Il dispositivo tornerà quindi al suo stato originale. Per terminare anticipatamente la velocità dell'otturatore, premere nuovamente il pulsante SB3: l'attuatore si spegnerà. Per generare una nuova velocità dell'otturatore, è necessario impostarne nuovamente la durata. L'unità di controllo dell'attuatore è montata su un relè a stato solido U1, il cui diodo emettitore è collegato all'uscita PD6 del microcontrollore. Grazie a ciò, i circuiti relè collegati alla rete 220 V sono isolati dal resto dei circuiti timer. L'emettitore piezoelettrico HA1, che emette un segnale sonoro per la fine dell'esposizione, è collegato all'uscita PD4. Alle uscite della porta B, il microcontrollore DD1 genera segnali che vengono alimentati attraverso resistori limitatori di corrente R4-R11 ai catodi degli elementi degli indicatori LED HG1-HG3, e i segnali utilizzati per determinare lo stato dei pulsanti SB1- SB3. I secondi pin di tutti i pulsanti sono collegati tra loro e collegati all'ingresso PD3 del microcontrollore. I diodi VD1-VD3 prevengono i cortocircuiti tra le linee della porta B quando vengono premuti più pulsanti contemporaneamente. I transistor VT1-VT3, controllati dai segnali delle uscite PDO-PD2, collegano alternativamente gli anodi comuni degli indicatori HG1-HG3 alla fonte di alimentazione, necessaria per organizzare l'indicazione dinamica. La frequenza di clock del microcontrollore DD1 è impostata da un risonatore al quarzo ZQ1 pari a 10 MHz. Il programma caricato nel microcontrollore timer, il cui codice sorgente è disponibile in appendice all'articolo, si compone di tre parti principali: il modulo di inizializzazione (etichetta INIT), il loop infinito principale (etichetta SE1) e il timer T/C1 gestore di interrupt (etichetta TIM0). Inizia il suo lavoro inizializzando registri, contatori, stack, timer T/C1, timer watchdog, porte I/O. Al termine dell'inizializzazione, sull'indicatore viene visualizzato il numero 001, tutti i punti decimali sono disattivati, l'uscita PD6 è impostata su un livello alto, quindi il circuito dell'attuatore è aperto. Il conto alla rovescia è stato interrotto. Il compito di formare intervalli di tempo precisi con una durata di 1 s viene risolto utilizzando gli interrupt del timer T / C1, le cui richieste seguono ogni 3,9 ms (1/256 s). Sono contati da un contatore nel registro r25. Utilizzando il contatore organizzato nel registro r21 si forma un intervallo di 1 minuto. Nel processo di elaborazione degli interrupt, viene modificato anche il bit visualizzato sull'indicatore e il valore binario della cifra visualizzata in questo bit viene convertito in un codice a "sette segmenti". Inoltre, viene interrogato lo stato dei pulsanti, vengono generati segnali di controllo per il relè optoelettronico e il dispositivo di segnalazione acustica. Nella memoria dati del microcontrollore dall'indirizzo $060 a $062 è organizzato un buffer che memorizza il valore dell'intervallo di tempo rimanente fino al termine dell'esposizione. È da esso che il gestore di interrupt prende i numeri per l'output dinamico all'indicatore. Quando si preme il pulsante SB1, il valore memorizzato nel buffer viene aumentato di uno. Contemporaneamente viene avviato il contatore dei secondi nel registro r1. Se si tiene premuto il pulsante per più di 3 secondi, il valore nel buffer inizia ad aumentare di uno cinque volte al secondo. Il calcolo dell'intervallo di tempo durante il quale si verifica tale aumento è organizzato nel registro rg. Dopo aver rilasciato il pulsante SB1, i contatori nei registri r1 e rO vengono azzerati. L'elaborazione della pressione del pulsante SB2, che riduce il numero nel buffer, è organizzata in modo del tutto simile. I contatori di tempo per questo pulsante si trovano nei registri r2 e rXNUMX. Durante il conteggio della velocità dell'otturatore specificata, il numero nel buffer viene decrementato (diminuito di uno) ogni minuto o secondo, a seconda della posizione dell'interruttore SA1. Tieni presente che se lo sposti in un'altra posizione prima della fine del ritardo specificato, il periodo di decremento cambierà di conseguenza. Il registro r22 memorizza un codice binario con un'unità nel bit corrispondente al bit attualmente abilitato dell'indicatore. Durante l'inizializzazione, viene scritto 00000001 (l'indicatore HG3 è acceso) e l'indirizzo iniziale del buffer ($060) viene scritto nel registro Y. Ogni volta che viene chiamata la routine di interrupt, il registro r22 viene spostato di un bit a sinistra e il registro Y viene incrementato. È chiaro che non appena l'unità nel registro r22 viene spostata alla terza cifra (tutti gli indicatori sono passati), i registri r22 e Y devono essere ricaricati, ripristinando i loro valori originali. Al momento del polling dello stato dei pulsanti SB1-SB3, tutti gli indicatori si spengono e viene generato un codice "running zero" sulle uscite PB0-РВ2 del microcontrollore. Avendo rilevato un livello basso all'ingresso PD3 e sapendo quale delle uscite PB0-PB2 è attualmente bassa, la routine di interruzione decide quale pulsante viene premuto. L'intero programma occupa circa 670 byte di memoria del programma del microcontrollore. Il timer è montato su una breadboard posta in una custodia di plastica, sul cui pannello frontale sono visualizzati gli indicatori HG1-HG3, i pulsanti SB1-SB3, l'interruttore SA1 e la lampada al neon HL1. La corrente consumata da una sorgente di tensione di 5 V non supera i 100 mA.
Il programma del microcontrollore può essere scaricato quindi. Autore: S. Shishkin, Sarov, regione di Nizhny Novgorod; Pubblicazione: radioradar.net Vedi altri articoli sezione Orologi, temporizzatori, relè, interruttori di carico. Leggere e scrivere utile commenti su questo articolo. Ultime notizie di scienza e tecnologia, nuova elettronica: Un nuovo modo di controllare e manipolare i segnali ottici
05.05.2024 Tastiera Seneca Premium
05.05.2024 Inaugurato l'osservatorio astronomico più alto del mondo
04.05.2024
Altre notizie interessanti: ▪ Orologio intelligente per la nautica Garmin Quantix 5 ▪ Nuovi televisori a proiezione Toshiba ▪ Un nuovo tipo di nanotrappole per lo studio delle proprietà delle proteine ▪ Sensori di immagine nel visibile e a infrarossi in un unico chip News feed di scienza e tecnologia, nuova elettronica
Materiali interessanti della Biblioteca Tecnica Libera: ▪ sezione del sito Per chi ama viaggiare - consigli per i turisti. Selezione dell'articolo ▪ articolo Inquinamento da aerosol dell'atmosfera. Nozioni di base della vita sicura ▪ Perché il regista John Ford ha perso il suo servizio di previsioni del tempo? Risposta dettagliata ▪ articolo Semi di coriandolo. Leggende, coltivazione, metodi di applicazione
Lascia il tuo commento su questo articolo: Tutte le lingue di questa pagina Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito www.diagram.com.ua |