Menu English Ukrainian Russe ACCUEIL

Bibliothèque technique gratuite pour les amateurs et les professionnels Bibliothèque technique gratuite


ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE
Bibliothèque gratuite / Schémas des appareils radio-électroniques et électriques

Fonctionnement ADC avec port COM, système d'acquisition de données simple. Encyclopédie de l'électronique radio et de l'électrotechnique

Bibliothèque technique gratuite

Encyclopédie de l'électronique radio et de l'électrotechnique / ordinateurs

Commentaires sur l'article Commentaires sur l'article

Cet article s'adresse principalement aux débutants. Pour ceux qui ont décidé de s'essayer à la création d'un système d'acquisition de données, à l'entrée de signaux analogiques dans un ordinateur, à leur traitement, etc. Cela sera discuté dans cet article, et nous essaierons de tout faire nous-mêmes.

En général, il y a peu d'informations à ce sujet sur Internet et dans la littérature... Surtout si vous utilisez le langage Visual Basic. Je vais donc essayer de combler, au moins en partie, cette lacune.

Alors, commençons…

Quel que soit votre objectif, vous devez d'abord acheter le véritable convertisseur analogique-numérique (ADC). Et aussi, installez l'environnement de développement Visual Basic 6.0 sur votre ordinateur. Il faut aussi être capable de naviguer dans cet environnement de développement de manière élémentaire... parce que. L'article est conçu pour s'assurer que le lecteur possède au moins une connaissance de base de la programmation en Visual Basic. Je recommande également la lecture de la littérature [1], [3].

En tant qu'ADC, je recommande l'achat du TLC549IP. Il s'agit d'un ADC série 8 bits avec un protocole de communication simple. Il en sera question dans l'article. Bien sûr, vous pouvez utiliser d'autres ADC avec les modifications appropriées du circuit et du code. Vous pouvez en savoir plus à ce sujet dans [1].

Après avoir parcouru l'ADC, vous devez assembler le matériel de notre système d'acquisition de données, à savoir le circuit illustré à la Fig. 1.

Fonctionnement ADC avec port COM, système d'acquisition de données simple. Matériel
(cliquez pour agrandir)

Le schéma a été emprunté à [1] avec des modifications mineures. Diodes VD1, VD2, VD6 - KD521, toutes les diodes Zener pour une tension de stabilisation de 3 ... 5 V. Au lieu de 78L05, vous pouvez utiliser KREN5A. Résistances R1, R2 avec une tolérance de 1%, ou une sélection parmi plusieurs avec la valeur de résistance la plus proche possible. La précision des mesures en dépendra. La résistance R3 est de préférence multi-tours.

réglage: après avoir alimenté la carte, on mesure la tension à la borne Out du stabilisateur DA1. Nous écrivons la valeur de tension obtenue avec 3 décimales, nous en aurons besoin à l'avenir. À la broche 1 du microcircuit DD1, à l'aide de la résistance R3, nous fixons la tension à exactement la moitié du stabilisateur mesuré à la broche Out.

Passons maintenant à la partie logicielle proprement dite. De manière générale, utilisez d'abord des interfaces de communication telles que RS-232, I2C, Micro Ware, etc. Je considère que c'est inapproprié, car avec une légère complication du code du programme, la partie matérielle peut devenir sérieusement compliquée. Par conséquent, nous utiliserons le protocole d'échange le plus simple tiré de la "fiche technique" sur l'ADC. A savoir, sa mise en œuvre simple. Bien sûr, une vitesse élevée ne peut pas être atteinte avec un tel protocole, dans ce cas Visual Basic lui-même impose des restrictions, mais il convient tout à fait pour obtenir les premiers résultats avec un minimum de temps et d'efforts, ainsi que pour mesurer des processus évoluant relativement lentement. Le protocole de communication du CAN TLC549IP est illustré à la Fig. 2.

Fonctionnement ADC avec port COM, système d'acquisition de données simple. Protocole de communication ADC TLC549IP
(cliquez pour agrandir)

Au cours d'un seul état, la conversion réelle se produit au niveau de la broche CS (sélection de puce) du convertisseur analogique-numérique. La sortie de données commence à CS bas avec l'apparition de l'impulsion d'horloge, un bit pour chaque impulsion. Pour émettre un code 8 bits, vous avez besoin de 8 impulsions d'horloge, respectivement. Après cela, CS peut être transféré dans un seul état et la transformation suivante peut être effectuée. Plus de détails sur le fonctionnement de l'ADC peuvent être trouvés dans [1].

De tout cela, nous pouvons conclure qu'il est nécessaire d'écrire un programme pilote qui générerait les séquences d'impulsions nécessaires au bon moment, après quoi nous ne pouvons que recevoir des données.

Démarrez l'environnement de développement Visual Basic et créez un projet EXE standard. Ajoutez un contrôle MSComm. Vous pouvez l'ajouter au panneau des composants comme ceci Projet-->Composants-->sélectionner dans la listeMicrosoft Comm Contrôle 6.0. Placez-le sur le formulaire, ainsi que 2 étiquettes et 2 Timers. Laissez les noms par défaut.

Vous pouvez maintenant commencer à écrire le code d'un simple voltmètre.

Définissons des variables: Dim b1, b2, b3, b4, b5, b6, b7, b8, somme, Ud As Single

Placez le code suivant dans la procédure de chargement du formulaire :

Privé Sub Form_Load ()

MSComm1.DTREnable = True 'valeur initiale - CS élevé

Timer1.Interval = 100 ' Intervalle de minuterie de 1 ms

Timer2.Interval = 1 ' Intervalle de minuterie de 100 ms

MSComm1.Settings = "1200,N,8,1" ' paramètres de communication

MSComm1.CommPort = 1 ' numéro de port COM

MSComm1.PortOpen=True ' ouvre le port com

End Sub

En procédure Timer1 a mis le code :

Sous-minuterie privée1_Timer()

MSComm1.DTREnable = False 'Créer un CS bas

Label2.Caption = "" 'ordures pour le délai initial

MSComm1.RTSEnable = True '1ère horloge d'impulsion d'horloge haute

Si MSComm1.CDHolding = Vrai Alors b1 = 1 Sinon b1 = 0 'Scrutation pour une valeur ou zéro à l'entrée CD (sortie ADC)

MSComm1.RTSEnable = False '1ère horloge d'impulsion d'horloge basse

MSComm1.RTSEnable = Vrai

Si MSComm1.CDHolding = Vrai Alors b2 = 1 Sinon b2 = 0

MSComm1.RTSEnable = Faux

MSComm1.RTSEnable = Vrai

Si MSComm1.CDHolding = Vrai Alors b3 = 1 Sinon b3 = 0

MSComm1.RTSEnable = Faux

MSComm1.RTSEnable = Vrai

Si MSComm1.CDHolding = Vrai Alors b4 = 1 Sinon b4 = 0

MSComm1.RTSEnable = Faux

MSComm1.RTSEnable = Vrai

Si MSComm1.CDHolding = Vrai Alors b5 = 1 Sinon b5 = 0

MSComm1.RTSEnable = Faux

MSComm1.RTSEnable = Vrai

Si MSComm1.CDHolding = Vrai Alors b6 = 1 Sinon b6 = 0

MSComm1.RTSEnable = Faux

MSComm1.RTSEnable = Vrai

Si MSComm1.CDHolding = Vrai Alors b7 = 1 Sinon b7 = 0

MSComm1.RTSEnable = Faux

MSComm1.RTSEnable = Vrai

Si MSComm1.CDHolding = Vrai Alors b8 = 1 Sinon b8 = 0

MSComm1.DTREnable = True 'Créer un CS élevé

MSComm1.RTSEnable = False '8ère horloge d'impulsion d'horloge basse

'traduit les bits au format décimal en utilisant la formule de décomposition

somme = (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") 'calculer la valeur proportionnelle

Label1.Caption = CStr(Ud) & "Volt" 'affiche la valeur reçue

End Sub

Le code dans Timer1 est le pilote lui-même. Qui se répète périodiquement, génère des impulsions d'horloge et reçoit des bits de données. Ud - tension à l'entrée de l'ADC, si vous appliquez des ADC 10, 12 bits, le nombre 225 sera respectivement remplacé par 1024, 4096. Pour les ADC 10, 12 bits, vous devez ajouter les bits manquants au code, guidés par leurs "fiches techniques". La valeur 5.083 est la valeur de tension que j'ai obtenue à la sortie Out du stabilisateur. Entrez votre valeur ici.

Pour alimenter la carte, vous pouvez utiliser une source séparée ou l'alimenter directement à partir du port COM. Pour cela, nous plaçons le code suivant dans la procédure Timer2 :

Sous-minuterie privée2_Timer()

MSComm1.Output = Chr(0) & Chr(0) 'nous créons des impulsions sur la broche TX (3) pour alimenter la carte ADC

End Sub

Il faut se rappeler que le port COM ne peut pas être fortement chargé ... le maximum sur lequel vous pouvez compter est de 20 mA. En mode de fonctionnement, le circuit consomme un courant ne dépassant pas 5 mA.

Connectez maintenant la carte au port COM et exécutez le projet. Mesurez la tension à la borne IN du stabilisateur DA1, elle doit être d'au moins 6.5 V. Si ce n'est pas le cas, une alimentation séparée doit être utilisée. En modifiant la tension à l'entrée de l'ADC, assurez-vous que le programme fonctionne et affiche la tension à l'écran. La précision de lecture de la tension lors de l'utilisation d'un ADC 8 bits est de 20 mV, avec un ADC 10 bits - 5 mV, 12-1.2 mV

Un peu sur le travail en Visual Basic et l'application créée avec un port com

Comme vous l'avez sans doute déjà compris, pour travailler avec le port com, il vous faut un composantMicrosoft Comm Control à savoir le fichier MSCOMM32.ocx qui, après l'installation de Visual Basic, se trouve dans le répertoire C:\Windows\system32. Pourquoi est-ce que je fais cela, mais au fait que si vous copiez votre programme, sans créer d'installateur, sur un autre ordinateur qui n'a pas Visual Basic, cela ne fonctionnera pas. Vous devez également copier ce fichier dans le même répertoire que sur votre ordinateur, c'est-à-dire dans system32. Ou créez un programme d'installation.

Maintenant pour quelques commandes :

La commande qui définit le taux d'échange de données :

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

Commande spécifiant le numéro de port com

MSComm1.CommPort = 1

Commandes pour ouvrir et fermer un port com

MSComm1.PortOpen = Vrai

MSComm1.PortOpen = Faux

Commandes sortant + 12V sur la branche correspondante du connecteur com :

MSComm1.RTSEnable = True RTS (7) - nom et numéro de broche

MSComm1.DTREnable = Vrai DTR(4)

Commandes sortant -12V

MSComm1.RTSEnable = Faux         

MSComm1.DTREnable=Faux

Vous pouvez interroger la présence d'un état simple ou zéro des sorties CD (1), CTS (8), DSR (6).

Si MSComm1.CDHolding = True Alors (le cas échéant alors…)

Si MSComm1.CDHolding = False Alors (si zéro alors…)

Envoi du code ASCII Tx (3) d'un caractère ou d'une chaîne vers la sortie :

MSComm1.Sortie = "A"

Numéros

MSComm1.Output = Chr(10) le nombre peut varier de 0 à 255

En écrivant une telle commande dans une minuterie et en changeant le nombre ou le symbole, vous pouvez créer une modulation PWM. Plus de détails sur les commandes peuvent être trouvés en téléchargeant la description de la commande  Microsoft Comm Control.

Maintenant, avec ce code, vous pouvez écrire un certain nombre de programmes pour collecter des données. Par exemple : voltmètre, ampèremètre, thermomètre, oscilloscope simple, enregistrer les données dans un fichier. Les mesures peuvent être effectuées en seulement 1 ms, et une fois par heure et par jour, ce qui permet de surveiller les processus à long terme.

Pour travailler avec des tensions alternatives (passant par 0), ainsi que pour étendre les limites de mesure, un amplificateur d'entrée est nécessaire, dont le circuit peut être tiré de [1]. Pour travailler avec une tension secteur ou avec des appareils non isolés galvaniquement du réseau, il est impératif de réaliser une isolation optique du circuit de l'ordinateur.

Fonctionnement ADC avec port COM, système d'acquisition de données simple

Fonctionnement ADC avec port COM, système d'acquisition de données simple

Télécharger les codes sources des exemples de programmes (8 Ko)

littérature

  1. Gell P. Comment transformer un ordinateur personnel en un complexe de mesure : Par. à partir de fr. - 2e éd., corrigée. - M. : DMK Press, 2001. - 144 p. : ill.
  2. An P. Jumelage d'un PC avec des appareils externes : Par. de l'anglais. - M. : DMK Press, 2001 - 320 p. : ill.
  3. Visual Basic 6.0 : Par. de l'anglais. - Saint-Pétersbourg : BHV - Saint-Pétersbourg, 2000. - 992 p. : ill.

Auteur : =ShooRooP=, evei [chien] mail.ru ; Publication : cxem.net

Voir d'autres articles section ordinateurs.

Lire et écrire utile commentaires sur cet article.

<< Retour

Dernières nouvelles de la science et de la technologie, nouvelle électronique :

Machine pour éclaircir les fleurs dans les jardins 02.05.2024

Dans l'agriculture moderne, les progrès technologiques se développent visant à accroître l'efficacité des processus d'entretien des plantes. La machine innovante d'éclaircissage des fleurs Florix a été présentée en Italie, conçue pour optimiser la phase de récolte. Cet outil est équipé de bras mobiles, lui permettant de s'adapter facilement aux besoins du jardin. L'opérateur peut régler la vitesse des fils fins en les contrôlant depuis la cabine du tracteur à l'aide d'un joystick. Cette approche augmente considérablement l'efficacité du processus d'éclaircissage des fleurs, offrant la possibilité d'un ajustement individuel aux conditions spécifiques du jardin, ainsi qu'à la variété et au type de fruits qui y sont cultivés. Après avoir testé la machine Florix pendant deux ans sur différents types de fruits, les résultats ont été très encourageants. Des agriculteurs comme Filiberto Montanari, qui utilise une machine Florix depuis plusieurs années, ont signalé une réduction significative du temps et du travail nécessaires pour éclaircir les fleurs. ...>>

Microscope infrarouge avancé 02.05.2024

Les microscopes jouent un rôle important dans la recherche scientifique, car ils permettent aux scientifiques d’explorer des structures et des processus invisibles à l’œil nu. Cependant, diverses méthodes de microscopie ont leurs limites, parmi lesquelles la limitation de la résolution lors de l’utilisation de la gamme infrarouge. Mais les dernières réalisations des chercheurs japonais de l'Université de Tokyo ouvrent de nouvelles perspectives pour l'étude du micromonde. Des scientifiques de l'Université de Tokyo ont dévoilé un nouveau microscope qui va révolutionner les capacités de la microscopie infrarouge. Cet instrument avancé vous permet de voir les structures internes des bactéries vivantes avec une clarté étonnante à l’échelle nanométrique. En général, les microscopes à infrarouge moyen sont limités par leur faible résolution, mais le dernier développement des chercheurs japonais surmonte ces limitations. Selon les scientifiques, le microscope développé permet de créer des images avec une résolution allant jusqu'à 120 nanomètres, soit 30 fois supérieure à la résolution des microscopes traditionnels. ...>>

Piège à air pour insectes 01.05.2024

L'agriculture est l'un des secteurs clés de l'économie et la lutte antiparasitaire fait partie intégrante de ce processus. Une équipe de scientifiques du Conseil indien de recherche agricole et de l'Institut central de recherche sur la pomme de terre (ICAR-CPRI), à Shimla, a mis au point une solution innovante à ce problème : un piège à air pour insectes alimenté par le vent. Cet appareil comble les lacunes des méthodes traditionnelles de lutte antiparasitaire en fournissant des données en temps réel sur la population d'insectes. Le piège est entièrement alimenté par l’énergie éolienne, ce qui en fait une solution respectueuse de l’environnement qui ne nécessite aucune énergie. Sa conception unique permet la surveillance des insectes nuisibles et utiles, fournissant ainsi un aperçu complet de la population dans n'importe quelle zone agricole. "En évaluant les ravageurs cibles au bon moment, nous pouvons prendre les mesures nécessaires pour lutter à la fois contre les ravageurs et les maladies", explique Kapil. ...>>

Nouvelles aléatoires de l'Archive

Batterie nucléaire fiable 19.01.2014

Dmitry Prokopiev, étudiant de troisième cycle de l'Université polytechnique de Tomsk (TPU), a mis au point une batterie nucléaire qui peut fonctionner de manière stable et sans recharge pendant environ 12 ans et être utilisée dans la médecine, l'équipement militaire et l'espace.

"Un détecteur d'arséniure de gallium 3D est placé dans un boîtier étanche rempli de tritium, qui convertit l'énergie des particules bêta émises par le tritium en courant électrique. Un grand nombre de puits sont créés dans le détecteur. La surface totale des puits est de plusieurs centaines de fois plus grande que la surface du détecteur, et grâce à cela, une batterie nucléaire peut être efficace », a déclaré Prokopyev aux journalistes.

L'étudiant diplômé a noté que des batteries nucléaires de ce type sont connues, où un détecteur au silicium est utilisé. "Mais le détecteur au silicium se dégrade (perd ses propriétés sous l'influence des radiations) lors de son utilisation (le silicium n'est pas un matériau résistant aux radiations)", explique le jeune scientifique.

Prokopiev a ajouté que la puissance de sa batterie est bien inférieure à celle des batteries conventionnelles, mais qu'elle peut fonctionner sans recharge pendant 12 ans - c'est la demi-vie du tritium. Pendant ce temps, une batterie avec un détecteur à l'arséniure de gallium conservera ses paramètres, tandis que les paramètres d'une batterie avec des détecteurs au silicium commencent à se détériorer dès trois ans après le début des travaux, a expliqué l'auteur du développement.

Des prototypes de détecteurs, qui sont à la base de cette batterie, ont été testés avec succès à l'Institut de physique nucléaire de Novosibirsk, nommé d'après Budker, et à l'Institut sibérien de physique et de technologie de l'Université d'État de Tomsk.

Prokopiev a noté qu'une telle batterie peut être utilisée dans divers appareils électroniques qui consomment un petit courant, mais sont obligés de fonctionner sans remplacer les sources d'alimentation pendant une décennie, par exemple dans les stimulateurs cardiaques.

Autres nouvelles intéressantes :

▪ Le conducteur ne s'endormira pas sur la route

▪ Borne de recharge rapide 300 kW

▪ Nouvelle application pour le moteur à hydrogène

▪ amplificateur de puissance stéréo soulution 511

▪ Galaxy Note se contrôle d'une seule main

Fil d'actualité de la science et de la technologie, nouvelle électronique

 

Matériaux intéressants de la bibliothèque technique gratuite :

▪ section du site Vos histoires. Sélection d'articles

▪ Article Pression atmosphérique. Histoire et essence de la découverte scientifique

▪ Comment un caméléon attrape-t-il sa proie ? Réponse détaillée

▪ article Organisation du contrôle de l'état de la protection du travail dans l'organisation

▪ article Application de l'ADC KR572PV5. Encyclopédie de l'électronique radio et de l'électrotechnique

▪ article Embout buccal et cigarette. Concentrer le secret

Laissez votre commentaire sur cet article :

Nom:


E-mail (facultatif) :


commenter:





Toutes les langues de cette page

Page principale | bibliothèque | Articles | Plan du site | Avis sur le site

www.diagramme.com.ua

www.diagramme.com.ua
2000-2024