ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA Sonda cavo su controller PIC. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica Enciclopedia della radioelettronica e dell'elettrotecnica / microcontrollori Il dispositivo descritto è costituito da un trasmettitore e da un ricevitore. Sul lato del primo le estremità dei fili sono inserite in morsetti numerati e sul lato del secondo toccano le altre estremità con una sonda. Il numero del terminale a cui è collegato questo o quel filo viene visualizzato sul display digitale del ricevitore. Per determinare il numero di nuclei, è necessario identificarne uno e collegarlo al filo comune del ricevitore e del trasmettitore. Il trasmettitore funziona in modalità distributore di impulsi per dieci pin del microcontrollore (MK). Ognuno di loro ha la sua costante, a cui vengono aggiunte decine al momento di cambiare il loro codice. Affinché tutti gli 80 cicli di distribuzione degli impulsi vengano eseguiti nello stesso tempo, ciascuno di essi viene completato nel tempo che intercorre tra un'interruzione e l'altra. Gli interrupt si verificano quando il timer TMR0 va in overflow. Ha un rapporto di divisione preimpostato, scelto per adattarsi a 80 impulsi di uscita tra gli interrupt. Si consideri l'algoritmo del programma trasmettitore (Fig. 1). Dopo l'avvio del programma e l'inizializzazione dei registri, il registro delle decine viene azzerato. Il suo valore viene riscritto sulla porta A per la commutazione dei multiplexer. Successivamente, vengono abilitati gli interrupt e il numero binario di decine viene utilizzato per trovare il suo valore decimale, che viene aggiunto alla prima costante di uscita. La costante di uscita (K) è determinata dal suo numero: per la prima è uguale a 1, per la seconda - 2, per la decima -10. Quando il valore delle decine è zero, ogni uscita ha un numero di impulsi pari al numero dell'uscita. Successivamente, il programma verifica se il registro K è zero. Se non è presente, uno viene sottratto dal registro, che è accompagnato dalla commutazione dell'uscita in uno stato singolo. Quindi viene mantenuta una pausa di 24 µs e l'uscita viene impostata a zero, che dura 30 µs (ovvero il periodo di oscillazione è di 54 µs). Successivamente, il programma controlla il registro per zero. Se il registro è vuoto va in attesa di interrupt e se il suo valore è diverso da zero viene ripetuto l'intero ciclo di generazione degli impulsi in uscita. Pertanto, l'output è il numero di impulsi che è stato scritto nel registro K. Dopo l'inizializzazione dei registri, vengono attivati un prescaler con fattore di divisione 32 e un timer con fattore di divisione 137 (256 - 119). Con un cristallo da 4 MHz, l'interrupt di overflow del timer dovrebbe verificarsi in circa 4,38 ms (32-137 = 4384 µs), ma l'interrupt ritorna dal comando senza l'abilitazione dell'interrupt. A questo tempo si aggiunge il tempo di ciclo fino all'abilitazione dell'interrupt e, appunto, il tempo di esecuzione dell'interrupt stesso (la durata media complessiva di questo tempo è di 16 cicli). Inoltre, il prescaler viene resettato ogni volta che viene impostato il timer, quindi la pausa tra gli interrupt è di 4,4 ms. Poiché non è difficile da calcolare, 80 periodi di oscillazione dureranno 4,32 ms (54 μs x 80 \u4320d XNUMX μs), ovvero questa volta rientra nell'intervallo tra le interruzioni. Dopo che il timer è andato in overflow, viene eseguita la consueta procedura di salvataggio dei valori dei registri durante un interrupt e ne viene aggiunto uno (eventualmente sottratto) al contatore di interrupt. I valori di questo contatore non vengono utilizzati dal programma e il contatore stesso è necessario per eseguire l'interrupt. Ma è comodo da usare durante il debug di un programma. Dopo aver ripristinato i valori dei registri, viene abilitato un interrupt per generare impulsi dall'uscita successiva. Dopo che gli impulsi sono stati generati alla decima uscita, il registro delle decine viene incrementato di uno e l'intero ciclo viene ripetuto con il comando di scrivere il codice binario delle decine sulla porta A. Nel nuovo ciclo, il numero di impulsi generati ad ogni uscita aumenta di dieci. Quando il valore delle decine raggiunge otto, il ciclo di modellazione dell'impulso inizierà azzerando il registro delle decine. Pertanto, il valore massimo di decine è sette e il numero massimo di impulsi sarà alla decima uscita (10 + 70 = 80). Tutti gli 80 cicli di interrupt durano 0,352 s (4,4 ms x 80). Questo tempo determina la durata garantita della pausa tra l'emissione degli impulsi ad ogni uscita. Per un singolo impulso alla prima uscita, la durata della pausa sarà aumentata di quasi un tempo pari al tempo tra le interruzioni, e per 80 impulsi alla decima uscita, la pausa tra gli impulsi sarà pari a 0,352 s. Questo dovrebbe essere notato per comprendere meglio il funzionamento della parte ricevente della sonda. Lo schema schematico del trasmettitore è mostrato in fig. 2. Tutti i bit della porta In MK DD1 sono configurati per l'uscita e hanno coefficienti da uno a otto. I bit RAO-RA2 vengono utilizzati per emettere i valori del registro delle decine in codice binario, RA3 e RA4, rispettivamente come uscite con coefficienti 9 e 10. Poiché l'uscita RA4 ha un drenaggio aperto, è caricata con un resistore R1. Gli ingressi Y (pin 3) dei multiplexer DD2-DD11 sono collegati ai bit della porta B, gli ingressi indirizzo (A, B, C) sono collegati in parallelo e collegati alle uscite di decine di MK. Pertanto, con un valore zero del registro delle decine, verrà selezionato un indirizzo zero su tutti i multiplexer e alle loro uscite XO (pin 13) apparirà un numero di impulsi pari al coefficiente di uscita del MK, che è collegato a l'ingresso Y del multiplexer. Solo un impulso sarà costantemente presente all'uscita XO del microcircuito DD2 e 11 impulsi all'uscita DD10 con lo stesso nome. Quando l'indirizzo del multiplexer viene aumentato di uno, la sua uscita successiva (X1) si accenderà e il numero di impulsi su di esso aumenterà di dieci. Pertanto, solo il proprio numero di impulsi apparirà in sequenza ad ogni uscita dei multiplexer. L'uscita inferiore (secondo lo schema) del trasmettitore (Comune) è collegata, come notato, a un filo noto, che sarà comune al trasmettitore e al ricevitore. Il ricevitore della sonda a cavo funziona secondo il principio di un contatore a due cifre. L'algoritmo del suo programma è mostrato in Fig. 3, e il diagramma schematico - in fig. 4. Dopo l'avvio e l'inizializzazione, il programma procede all'indicazione dinamica di due indicatori digitali a LED con un catodo comune. Il tempo per l'indicazione di un indicatore è di 5 ms, ovvero l'intero ciclo di indicazione viene ripetuto a una frequenza di 100 Hz. Il ricevitore utilizza due tipi di interrupt: sull'overflow del timer TMR0 e su un cambiamento nel segnale all'ingresso RB0. Quando un impulso arriva a questo ingresso, vengono salvati i valori dei registri correnti. Successivamente, il programma controlla l'origine dell'interrupt. Se non si è verificato a causa di un overflow del timer, il contatore di impulsi viene incrementato, il timer viene azzerato (256 - 120 = 136) e il contatore del prescaler viene azzerato. Il programma ripristina i valori dei registri e la visualizzazione continua. Pertanto, quando vengono ricevuti impulsi dall'ingresso RBO, il timer viene costantemente azzerato, quindi l'interruzione di overflow del timer non è possibile finché sono presenti impulsi su questo ingresso. Se non ci sono impulsi sull'ingresso per molto tempo, si verifica un allarme di overflow del timer. Per l'affidabilità del ricevitore, il tempo tra le interruzioni è leggermente ridotto rispetto al trasmettitore ed è pari a 4,38 ms. Gli interrupt di overflow del timer vengono conteggiati dal contatore di interrupt. La pausa tra gli impulsi su ciascuna uscita del trasmettitore è di 80 interruzioni, quindi il contatore di interruzioni nel ricevitore può contare fino a 80. Se durante questo periodo non ci sono stati impulsi di ingresso, il programma riscrive i valori dei registri del contatore di impulsi in vengono aggiornati i registri di indicazione e le letture. Questo accade ogni 0,35 s. I codici "firmware" MC trasmettitore e ricevitore sono riportati in Tabella. 1 e 2, rispettivamente. Uscite RB1-RB7 MK DD1 elementi di commutazione (segmenti) degli indicatori LED HG1, HG2, uscite RA0, RA1 - i loro catodi. Gli impulsi dalla sonda vengono inviati all'ingresso RB0. Il terminale X1 è collegato a un nucleo di cavo noto, che funge da filo comune per il ricevitore e il trasmettitore. Se l'uscita del multiplexer del trasmettitore non è selezionata per indirizzo, avrà un livello indefinito e quando gli impulsi appariranno sul contatore del ricevitore, ci sarà un falso allarme (indipendentemente dalla soglia del contatore impostata: può essere un valore da zero a uno o una soglia da uno a zero). Per evitare falsi impulsi, l'ingresso è deviato dal resistore R1. Il ricevitore e il trasmettitore sono alimentati da batterie composte da tre celle AA o AAA ciascuna. Se si intende lavorare a lungo con il ricevitore, si consiglia di utilizzare una batteria 3R12X. Il ricevitore e il trasmettitore utilizzavano risonatori al quarzo a una frequenza di 4 MHz. Senza alcuna modifica dei circuiti e dei programmi, è possibile utilizzare risonatori con una frequenza inferiore, fino a 1 MHz. In questo caso, la frequenza di aggiornamento delle letture degli indicatori diminuirà di conseguenza, ma rimarrà a un valore accettabile per gli occhi - fino a 25 Hz. Il trasmettitore è montato su due circuiti stampati, ciascuno dei quali è progettato per 40 uscite (il secondo differisce dal primo in quanto non ha un chip DD1 e c'è un posto per l'installazione di un resistore R1). Le schede sono poste una sotto l'altra, collegate con viti e perni filettati, e tra le schede è installata una custodia per tre celle della batteria (nell'area in cui si trova il chip DD1). I morsetti per il collegamento dei cavi sulla scheda del trasmettitore sono autocostruiti (Fig. 5). Sono costituiti da due staffe identiche 2, piegate a forma di lettera "L" da strisce di lamiera di bronzo o ottone ben elastico spesse 0,4 ... 0,5 e larghe 2,5 mm. Una delle estremità degli spazi è segata per una larghezza di circa 1 mm (a una lunghezza di 1,5 ... 2 mm, a seconda dello spessore del materiale delle tavole 1), nell'altra, un foro con un diametro di 1,2 mm viene forato, dopodiché le estremità vengono piegate. Le parti segate delle staffe sono saldate nelle schede, come mostrato in Fig. 5. Per collegare il filo 3, le estremità inferiore e superiore (secondo la figura) delle staffe vengono compresse fino a quando i fori coincidono. Dopo l'installazione, i morsetti vengono numerati in modo tale che, ruotando il trasmettitore (quando il basso diventa alto, e viceversa), si possano vedere i loro numeri. Autore: N.Zaets, villaggio di Veydenevka, regione di Belgorod. Vedi altri articoli sezione microcontrollori. Leggere e scrivere utile commenti su questo articolo. Ultime notizie di scienza e tecnologia, nuova elettronica: Macchina per diradare i fiori nei giardini
02.05.2024 Microscopio infrarosso avanzato
02.05.2024 Trappola d'aria per insetti
01.05.2024
Altre notizie interessanti: ▪ Restauro dello smalto dei denti ▪ Composizione antizanzare per vestiti ▪ Barca a vela a idrogeno Nemesis Yacht ▪ Rivelatore di metalli radar remoto ad alta velocità News feed di scienza e tecnologia, nuova elettronica
Materiali interessanti della Biblioteca Tecnica Libera: ▪ sezione del sito Chiamate e simulatori audio. Selezione dell'articolo ▪ articolo paracadute. Storia dell'invenzione e della produzione
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 |