Menu English Ukrainian Russo Casa

Libreria tecnica gratuita per hobbisti e professionisti Libreria tecnica gratuita


ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA
Libreria gratuita / Schemi di dispositivi radioelettronici ed elettrici

Funzionamento ADC con porta COM, semplice sistema di acquisizione dati. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Libreria tecnica gratuita

Enciclopedia della radioelettronica e dell'elettrotecnica / Компьютеры

Commenti sull'articolo Commenti sull'articolo

Questo articolo è rivolto principalmente ai principianti. Per coloro che hanno deciso di cimentarsi nella creazione di un sistema di acquisizione dati, immettendo segnali analogici in un computer, elaborandoli, ecc. Questo sarà discusso in questo articolo e proveremo a fare tutto da soli.

In generale, ci sono poche informazioni su questo argomento su Internet e in letteratura ... Soprattutto se usi il linguaggio Visual Basic. Pertanto, cercherò di colmare, almeno in parte, questa lacuna.

Allora, cominciamo...

Qualunque sia il tuo obiettivo, devi prima acquistare l'attuale convertitore analogico-digitale (ADC). Inoltre, installa l'ambiente di sviluppo Visual Basic 6.0 sul tuo computer. Devi anche essere in grado di navigare in questo ambiente di sviluppo in modo elementare ... perché. L'articolo è progettato per garantire che il lettore abbia almeno una conoscenza di base della programmazione in Visual Basic. Raccomando anche di leggere la letteratura [1], [3].

Come ADC, consiglio di acquistare TLC549IP. Si tratta di un ADC seriale a 8 bit con un semplice protocollo di comunicazione. Se ne parlerà nell'articolo. Naturalmente, puoi utilizzare altri ADC con le opportune modifiche al circuito e al codice. Puoi leggere di più a riguardo in [1].

Dopo aver esplorato l'ADC, è necessario assemblare l'hardware del nostro sistema di acquisizione dati, vale a dire il circuito mostrato in Fig. 1.

Funzionamento ADC con porta COM, semplice sistema di acquisizione dati. Hardware
(clicca per ingrandire)

Lo schema è stato preso in prestito da [1] con piccole modifiche. Diodi VD1, VD2, VD6 - KD521, eventuali diodi zener per una tensione di stabilizzazione di 3 ... 5 V. Invece di 78L05, è possibile utilizzare KREN5A. Resistori R1, R2 con una tolleranza dell'1% o una selezione tra diversi con il valore di resistenza più vicino possibile. La precisione delle misurazioni dipenderà da loro. Il resistore R3 è preferibilmente multigiro.

registrazione: dopo aver alimentato la scheda, misuriamo la tensione al terminale Out dello stabilizzatore DA1. Annotiamo il valore di tensione ottenuto con 3 cifre decimali, ne avremo bisogno in futuro. Al pin 1 del microcircuito DD1, utilizzando il resistore R3, impostiamo la tensione pari esattamente alla metà dello stabilizzatore misurato sul pin Out.

Ora affrontiamo la parte software vera e propria. In generale, utilizzare inizialmente interfacce di comunicazione come RS-232, I2C, Micro Ware, ecc. Lo considero inappropriato, perché con una leggera complicazione del codice del programma, la parte hardware può diventare seriamente complicata. Pertanto, utilizzeremo il protocollo di scambio più semplice tratto dal "foglio dati" sull'ADC. Vale a dire, la sua semplice implementazione. Ovviamente non è possibile ottenere un'elevata velocità con un tale protocollo, in questo caso lo stesso Visual Basic impone delle restrizioni, ma è abbastanza adatto per ottenere i primi risultati con un minimo di tempo e fatica, oltre a misurare processi che cambiano relativamente lentamente. Il protocollo di comunicazione dell'ADC TLC549IP è mostrato in Fig. 2.

Funzionamento ADC con porta COM, semplice sistema di acquisizione dati. Protocollo di comunicazione ADC TLC549IP
(clicca per ingrandire)

Durante un singolo stato, la conversione effettiva avviene al pin CS (chip select) del convertitore analogico-digitale. L'uscita dei dati inizia a CS basso con l'avvento dell'impulso di clock, un bit per ogni impulso. Per emettere un codice a 8 bit, sono necessari rispettivamente 8 impulsi di clock. Successivamente, CS può essere trasferito in un singolo stato e può essere eseguita la trasformazione successiva. Maggiori dettagli sul funzionamento dell'ADC possono essere trovati in [1].

Da tutto ciò possiamo concludere che è necessario scrivere un programma driver che generi le necessarie sequenze di impulsi al momento giusto, dopodiché possiamo solo ricevere dati.

Avviare l'ambiente di sviluppo Visual Basic e creare un progetto EXE standard. Aggiungere un controllo MSComm. Puoi aggiungerlo al pannello dei componenti in questo modo Progetto-->Componenti-->selezionare dall'elencoMicrosoft Comm Controllo 6.0. Posizionalo sul modulo, oltre a 2 etichette e 2 timer. Lascia i nomi come predefiniti.

Ora puoi iniziare a scrivere il codice per un semplice voltmetro.

Impostiamo le variabili: Dim b1, b2, b3, b4, b5, b6, b7, b8, somma, Ud come singolo

Inserisci il codice seguente nella procedura di caricamento del modulo:

Private Sub Form_Load ()

MSComm1.DTREnable = True 'valore iniziale - SC alto

Timer1.Interval = intervallo timer 100 ' 1ms

Timer2.Interval = intervallo timer 1 ' 100ms

MSComm1.Settings = "1200,N,8,1" ' impostazioni di comunicazione

MSComm1.CommPort = 1 ' Numero di porta COM

MSComm1.PortOpen = True 'apri la porta com

End Sub

In procedura Timer1 metti il ​​codice:

Timer secondario privato1_Timer()

MSComm1.DTREnable = False 'Crea CS basso

Label2.Caption = "" 'spazzatura per il ritardo iniziale

MSComm1.RTSEnable = True '1° clock a impulsi di clock alto

If MSComm1.CDHolding = True Allora b1 = 1 Else b1 = 0 'Poll per uno o zero valore all'ingresso CD (uscita ADC)

MSComm1.RTSEnable = Falso 'orologio del primo impulso di clock basso

MSComm1.RTSEnable = Vero

Se MSComm1.CDHolding = True Allora b2 = 1 Altrimenti b2 = 0

MSComm1.RTSEnable = Falso

MSComm1.RTSEnable = Vero

Se MSComm1.CDHolding = True Allora b3 = 1 Altrimenti b3 = 0

MSComm1.RTSEnable = Falso

MSComm1.RTSEnable = Vero

Se MSComm1.CDHolding = True Allora b4 = 1 Altrimenti b4 = 0

MSComm1.RTSEnable = Falso

MSComm1.RTSEnable = Vero

Se MSComm1.CDHolding = True Allora b5 = 1 Altrimenti b5 = 0

MSComm1.RTSEnable = Falso

MSComm1.RTSEnable = Vero

Se MSComm1.CDHolding = True Allora b6 = 1 Altrimenti b6 = 0

MSComm1.RTSEnable = Falso

MSComm1.RTSEnable = Vero

Se MSComm1.CDHolding = True Allora b7 = 1 Altrimenti b7 = 0

MSComm1.RTSEnable = Falso

MSComm1.RTSEnable = Vero

Se MSComm1.CDHolding = True Allora b8 = 1 Altrimenti b8 = 0

MSComm1.DTREnable = True 'Crea CS elevato

MSComm1.RTSEnable = Falso 'orologio del primo impulso di clock basso

'traduce i bit in formato decimale utilizzando la formula di scomposizione

somma = (b1 * 2^7) + (b2 * 2^6) + (b3 * 2^5) + (b4 * 2^4) + (b5 * 2^3) + (b6 * 2^2) + (b7*2^1) + (b8*2^0)

Ud = Format(sum * 5.083 / 255, "##0.000") 'calcola valore proporzionale

Label1.Caption = CStr(Ud) & "Volt" 'visualizza il valore ricevuto

End Sub

Il codice in Timer1 è il driver stesso. Che si ripete periodicamente, genera impulsi di clock e riceve bit di dati. Ud - tensione all'ingresso dell'ADC, se si applicano ADC a 10, 12 bit, il numero 225 verrà sostituito rispettivamente da 1024, 4096. Per ADC a 10, 12 bit, è necessario aggiungere i bit mancanti al codice, guidati dalle loro "schede tecniche". Il valore 5.083 è il valore di tensione che ho ottenuto all'uscita Out dello stabilizzatore. Inserisci qui il tuo valore.

Per alimentare la scheda, è possibile utilizzare una fonte separata o alimentarla direttamente dalla porta COM. Per fare ciò, inseriamo il seguente codice nella procedura Timer2:

Timer secondario privato2_Timer()

MSComm1.Output = Chr(0) & Chr(0) 'creiamo impulsi sul pin TX (3) per alimentare la scheda ADC

End Sub

Va ricordato che la porta COM non può essere caricata pesantemente ... il massimo su cui puoi contare è 20 mA. In modalità operativa, il circuito consuma una corrente non superiore a 5 mA.

Ora collega la scheda alla porta COM ed esegui il progetto. Misurare la tensione al terminale IN dello stabilizzatore DA1, deve essere di almeno 6.5 V. In caso contrario, è necessario utilizzare un alimentatore separato. Modificando la tensione all'ingresso dell'ADC, assicurati che il programma funzioni e mostri la tensione sullo schermo. La precisione della lettura della tensione quando si utilizza un ADC a 8 bit è 20 mV, con un ADC a 10 bit - 5 mV, 12-1.2 mV

Un po' di lavoro in Visual Basic e l'applicazione creata con una porta com

Come probabilmente hai già capito, per lavorare con la porta com, hai bisogno di un componenteMicrosoft Comm Control ovvero il file MSCOMM32.ocx che, dopo aver installato Visual Basic, si trova nella directory C:\Windows\system32. Perché lo sto facendo, ma al fatto che se copi il tuo programma, senza creare un programma di installazione, su un altro computer che non ha Visual Basic, non funzionerà. Devi anche copiare questo file nella stessa directory del tuo computer, ad es. nel sistema32. Oppure crea un programma di installazione.

Ora per alcuni comandi:

Il comando che imposta il tasso di scambio dei dati:

MSComm1.Settings = "1200,N,8,1"

Comando che specifica il numero della porta com

MSComm1.PortaComm = 1

Comandi per aprire e chiudere una porta com

MSComm1.PortOpen = Vero

MSComm1.PortOpen = falso

Comandi in uscita + 12V alla gamba corrispondente del connettore com:

MSComm1.RTSEnable = True RTS (7) - nome pin e numero pin

MSComm1.DTREnable = Vero DTR(4)

Comandi in uscita -12V

MSComm1.RTSEnable = Falso         

MSComm1.DTREnable = Falso

È possibile eseguire il polling per la presenza di uno stato singolo o zero uscite CD (1), CTS (8), DSR (6).

Se MSComm1.CDHolding = True Allora (se uno allora...)

Se MSComm1.CDHolding = False Allora (se zero allora...)

Inviando il codice ASCII Tx (3) di un carattere o una stringa all'output:

MSComm1.Output = "A"

numeri

MSComm1.Output = il numero Chr(10) può variare da 0 a 255

Scrivendo tale comando in un timer e modificando il numero o il simbolo, è possibile creare la modulazione PWM. Maggiori dettagli sui comandi possono essere trovati scaricando la descrizione del controllo  Microsoft Comm Control.

Ora, avendo questo codice, puoi scrivere un numero di programmi per raccogliere dati. Ad esempio: voltmetro, amperometro, misuratore di temperatura, oscilloscopio semplice, salvataggio dei dati in un file. Le misurazioni possono essere eseguite solo in 1 ms e una volta all'ora e al giorno, monitorando così i processi a lungo termine.

Per lavorare con tensioni alternate (passanti per 0), nonché per espandere i limiti di misura, è necessario un amplificatore di ingresso, il cui circuito può essere preso da [1]. Per lavorare con tensione di rete o con dispositivi non isolati galvanicamente dalla rete, è indispensabile effettuare un isolamento ottico del circuito dal computer.

Funzionamento ADC con porta COM, semplice sistema di acquisizione dati

Funzionamento ADC con porta COM, semplice sistema di acquisizione dati

Scarica i codici sorgente dei programmi di esempio (8 kB)

Letteratura

  1. Gell P. Come trasformare un personal computer in un complesso di misurazione: Per. da p. - 2a ed., corretta. - M.: DMK Press, 2001. - 144 p.: riprod.
  2. An P. Accoppiamento di un PC con dispositivi esterni: Per. dall'inglese. - M.: DMK Press, 2001 - 320 p.: riprod.
  3. Visual Basic 6.0: Per. dall'inglese. - San Pietroburgo: BHV - San Pietroburgo, 2000. - 992 p.: ill.

Autore: =ShooRooP=, evei [cane] mail.ru; Pubblicazione: cxem.net

Vedi altri articoli sezione Компьютеры.

Leggere e scrivere utile commenti su questo articolo.

<< Indietro

Ultime notizie di scienza e tecnologia, nuova elettronica:

Un nuovo modo di controllare e manipolare i segnali ottici 05.05.2024

Il mondo moderno della scienza e della tecnologia si sta sviluppando rapidamente e ogni giorno compaiono nuovi metodi e tecnologie che ci aprono nuove prospettive in vari campi. Una di queste innovazioni è lo sviluppo da parte di scienziati tedeschi di un nuovo modo di controllare i segnali ottici, che potrebbe portare a progressi significativi nel campo della fotonica. Una recente ricerca ha permesso agli scienziati tedeschi di creare una piastra d'onda sintonizzabile all'interno di una guida d'onda di silice fusa. Questo metodo, basato sull'utilizzo di uno strato di cristalli liquidi, consente di modificare efficacemente la polarizzazione della luce che passa attraverso una guida d'onda. Questa svolta tecnologica apre nuove prospettive per lo sviluppo di dispositivi fotonici compatti ed efficienti in grado di elaborare grandi volumi di dati. Il controllo elettro-ottico della polarizzazione fornito dal nuovo metodo potrebbe fornire la base per una nuova classe di dispositivi fotonici integrati. Ciò apre grandi opportunità per ... >>

Tastiera Seneca Premium 05.05.2024

Le tastiere sono parte integrante del nostro lavoro quotidiano al computer. Tuttavia, uno dei principali problemi che gli utenti devono affrontare è il rumore, soprattutto nel caso dei modelli premium. Ma con la nuova tastiera Seneca di Norbauer & Co le cose potrebbero cambiare. Seneca non è solo una tastiera, è il risultato di cinque anni di lavoro di sviluppo per creare il dispositivo perfetto. Ogni aspetto di questa tastiera, dalle proprietà acustiche alle caratteristiche meccaniche, è stato attentamente considerato e bilanciato. Una delle caratteristiche principali di Seneca sono i suoi stabilizzatori silenziosi, che risolvono il problema del rumore comune a molte tastiere. Inoltre, la tastiera supporta tasti di varie larghezze, rendendola comoda per qualsiasi utente. Sebbene Seneca non sia ancora disponibile per l'acquisto, il rilascio è previsto per la fine dell'estate. Seneca di Norbauer & Co rappresenta nuovi standard nel design delle tastiere. Suo ... >>

Inaugurato l'osservatorio astronomico più alto del mondo 04.05.2024

Esplorare lo spazio e i suoi misteri è un compito che attira l'attenzione degli astronomi di tutto il mondo. All'aria fresca d'alta montagna, lontano dall'inquinamento luminoso delle città, le stelle e i pianeti svelano con maggiore chiarezza i loro segreti. Una nuova pagina si apre nella storia dell'astronomia con l'apertura dell'osservatorio astronomico più alto del mondo: l'Osservatorio di Atacama dell'Università di Tokyo. L'Osservatorio di Atacama, situato ad un'altitudine di 5640 metri sul livello del mare, apre nuove opportunità agli astronomi nello studio dello spazio. Questo sito è diventato il punto più alto per un telescopio terrestre, fornendo ai ricercatori uno strumento unico per studiare le onde infrarosse nell'Universo. Sebbene la posizione ad alta quota offra cieli più limpidi e meno interferenze da parte dell’atmosfera, la costruzione di un osservatorio in alta montagna presenta enormi difficoltà e sfide. Tuttavia, nonostante le difficoltà, il nuovo osservatorio apre ampie prospettive di ricerca agli astronomi. ... >>

Notizie casuali dall'Archivio

Spazio camere d'albergo disponibili per la prenotazione 04.03.2018

Il miliardario Robert Bigelow, fondatore di Bigelow Aerospace e proprietario della catena alberghiera Budget Suites, ha annunciato che è già possibile effettuare prenotazioni presso il suo hotel gonfiabile, che, secondo gli architetti, ruoterà attorno all'orbita terrestre dal 2021.

Il prezzo di questo problema non è stato rivelato, tuttavia, lo stesso Bigelow afferma che si tratta di un modesto numero di "sette cifre" o "otto cifre", cioè circa decine o centinaia di milioni di dollari. L'armatura sarà gestita dalla nuova sussidiaria del miliardario, Space Operations, istituita come centro operativo della casa madre Bigelow Aerospace.

Le stazioni spaziali autonome saranno pronte per il lancio già nel 2021. Due moduli da 17 metri creeranno una stazione spaziale privata in orbita, che sarà il doppio della ISS. Ogni modulo sarà in grado di funzionare sia in orbita terrestre bassa, sia nello spazio esterno o in orbita lunare.

Si prevede inoltre di affittare lo spazio della stazione per i laboratori spaziali scientifici della NASA.

Si noti che il miliardario ha fondato la sua agenzia spaziale privata Bigelow Aerospace nel 1999 come laboratorio di ricerca. Nel 2016, l'azienda ha costruito il primo modulo gonfiabile sperimentale, che è stato collegato con successo alla ISS e attualmente è sottoposto a due anni di test in orbita terrestre.

Altre notizie interessanti:

▪ ratto telecomandato

▪ Adattatore Bluetooth per telefoni Motorola

▪ Sistemi di raffreddamento Noctua con tecnologia Active Noise Cancelling

▪ Batteria atomica eterna

▪ Le prime gare automobilistiche molecolari

News feed di scienza e tecnologia, nuova elettronica

 

Materiali interessanti della Biblioteca Tecnica Libera:

▪ sezione del sito Radiocontrollo. Selezione di articoli

▪ articolo Perisca il mondo, ma sia fatta giustizia. Espressione popolare

▪ articolo Quando sono stati applicati i primi fertilizzanti? Risposta dettagliata

▪ Articolo Rami. Leggende, coltivazione, metodi di applicazione

▪ articolo Corrente elettrica contro la mutazione. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

▪ articolo Impianti elettrici per usi speciali. Impianti elettrotermici. Caldaie ad elettrodi. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Lascia il tuo commento su questo articolo:

Nome:


E-mail (opzionale):


commento:





Tutte le lingue di questa pagina

Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito

www.diagram.com.ua

www.diagram.com.ua
2000-2024