MENÜ English Ukrainian Russisch Startseite

Kostenlose technische Bibliothek für Bastler und Profis Kostenlose technische Bibliothek


ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK
Kostenlose Bibliothek / Schemata von radioelektronischen und elektrischen Geräten

ADC-Betrieb mit COM-Port, einfaches Datenerfassungssystem. Enzyklopädie der Funkelektronik und Elektrotechnik

Kostenlose technische Bibliothek

Lexikon der Funkelektronik und Elektrotechnik / Computer

Kommentare zum Artikel Kommentare zum Artikel

Dieser Artikel richtet sich hauptsächlich an Anfänger. Für diejenigen, die sich entschieden haben, selbst ein Datenerfassungssystem zu erstellen, analoge Signale in einen Computer einzugeben, sie zu verarbeiten usw. Dies wird in diesem Artikel besprochen und wir werden versuchen, alles selbst zu machen.

Generell gibt es zu diesem Thema im Internet und in der Literatur recht viele Informationen... Vor allem, wenn Sie die Sprache Visual Basic verwenden. Deshalb werde ich versuchen, diese Lücke zumindest teilweise zu schließen.

Also, fangen wir an…

Was auch immer Ihr Ziel ist, zuerst müssen Sie den eigentlichen Analog-Digital-Wandler (ADC) kaufen. Installieren Sie außerdem die Entwicklungsumgebung Visual Basic 6.0 auf Ihrem Computer. Sie müssen auch in der Lage sein, sich in dieser Entwicklungsumgebung einfach zurechtzufinden ... weil ... Der Artikel soll sicherstellen, dass der Leser zumindest über Grundkenntnisse der Programmierung in Visual Basic verfügt. Ich empfehle außerdem die Lektüre der Literatur [1], [3].

Ich empfehle den Kauf des TLC549IP als ADC. Dies ist ein serieller 8-Bit-ADC mit einem einfachen Kommunikationsprotokoll. Dies wird im Artikel besprochen. Natürlich können Sie auch andere ADCs mit entsprechenden Änderungen in der Schaltung und im Code verwenden. Mehr dazu können Sie in [1] lesen.

Nachdem Sie den ADC gefunden haben, müssen Sie die Hardware unseres Datenerfassungssystems zusammenbauen, nämlich die in Abb. gezeigte Schaltung. 1.

ADC-Betrieb mit COM-Port, einfaches Datenerfassungssystem. Hardware
(zum Vergrößern klicken)

Das Schema wurde mit geringfügigen Änderungen von [1] übernommen. Dioden VD1, VD2, VD6 - KD521, beliebige Zenerdioden zur Stabilisierungsspannung 3...5 V. Anstelle von 78L05 können Sie KREN5A verwenden. Widerstände R1, R2 mit einer Toleranz von 1 % oder Auswahl aus mehreren mit dem nächstgelegenen Widerstandswert. Von ihnen hängt die Genauigkeit der Messungen ab. Der Widerstand R3 ist vorzugsweise mehrgängig.

Einstellung: Indem wir die Platine mit Strom versorgen, messen wir die Spannung am Out-Pin des DA1-Stabilisators. Den resultierenden Spannungswert notieren wir mit 3 Nachkommastellen, wir werden ihn später noch benötigen. An Pin 1 der DD1-Mikroschaltung stellen wir mit dem Widerstand R3 die Spannung ein, die genau der Hälfte des am Out-Pin gemessenen Stabilisators entspricht.

Kommen wir nun zum eigentlichen Softwareteil. Im Allgemeinen verwenden Sie zunächst Kommunikationsschnittstellen wie RS-232, I2C, Micro Ware usw. Ich halte es für unangemessen, weil Bei einer geringfügigen Komplikation des Programmcodes kann die Hardware erheblich komplizierter werden. Daher verwenden wir das einfachste Austauschprotokoll aus dem „Datenblatt“ zum ADC. Nämlich seine einfache Implementierung. Natürlich kann man mit einem solchen Protokoll keine hohe Geschwindigkeit erreichen; die Einschränkungen werden in diesem Fall durch Visual Basic selbst auferlegt, aber es ist durchaus geeignet, mit minimalem Zeit- und Arbeitsaufwand erste Ergebnisse zu erzielen und relativ langsame Änderungen zu messen Prozesse. Das Kommunikationsprotokoll des TLC549IP ADC ist in Abb. dargestellt. 2.

ADC-Betrieb mit COM-Port, einfaches Datenerfassungssystem. ADC-Kommunikationsprotokoll TLC549IP
(zum Vergrößern klicken)

Während des Einzelzustands erfolgt die eigentliche Umwandlung am CS-Pin (Chip Select) des A/D-Wandlers. Die Datenausgabe beginnt auf einem niedrigen CS-Pegel mit dem Erscheinen eines Taktimpulses, ein Bit für jeden Impuls. Um einen 8-Bit-Code zu erzeugen, sind 8 Taktimpulse erforderlich. Danach kann CS in einen einzelnen Zustand überführt und die folgende Transformation durchgeführt werden. Weitere Details zur Funktionsweise des ADC finden Sie in [1].

Aus all dem können wir schließen, dass es notwendig ist, ein Treiberprogramm zu schreiben, das die notwendigen Impulsfolgen zum richtigen Zeitpunkt erzeugt, wonach wir nur noch die Daten empfangen können.

Starten Sie die Visual Basic-Entwicklungsumgebung und erstellen Sie ein Standard-EXE-Projekt. Fügen Sie das MSComm-Steuerelement hinzu. Sie können es wie folgt zum Komponentenbereich hinzufügen: Projekt-->Komponenten-->aus der Liste auswählenMicrosoft Comm Steuer 6.0. Platzieren Sie es zusammen mit 2 Etiketten und 2 Timern auf dem Formular. Behalten Sie die Namen als Standard bei.

Jetzt können Sie mit dem Schreiben von Code für ein einfaches Voltmeter beginnen.

Lassen Sie uns Variablen setzen: Dim b1, b2, b3, b4, b5, b6, b7, b8, sum, Ud As Single

Fügen Sie den folgenden Code in die Formularladeprozedur ein:

Privates Sub Form_Load ()

MSComm1.DTREnable = True 'Anfangswert – hoher CS-Level

Timer1.Interval = 100 ' Timer-Intervall 1 ms

Timer2.Interval = 1 ' Timer-Intervall 100 ms

MSComm1.Settings = "1200,N,8,1" ' Datenübertragungseinstellungen

MSComm1.CommPort = 1 ' COM-Anschlussnummer

MSComm1.PortOpen = True ' COM-Port öffnen

End Sub

Im Verfahren Timer1 gab den Code ein:

Privater Sub-Timer1_Timer()

MSComm1.DTREnable = False 'Low CS erstellen

Label2.Caption = "" 'Müll für die anfängliche Verzögerung

MSComm1.RTSEnable = True '1st clock pulse clock high

Wenn MSComm1.CDHolding = True, dann b1 = 1, sonst b1 = 0, Abfrage eines oder Nullwerts am CD-Eingang (ADC-Ausgang).

MSComm1.RTSEnable = False '1st clock pulse clock low

MSComm1.RTSEnable = True

Wenn MSComm1.CDHolding = True, dann ist b2 = 1, sonst ist b2 = 0

MSComm1.RTSEnable = Falsch

MSComm1.RTSEnable = True

Wenn MSComm1.CDHolding = True, dann ist b3 = 1, sonst ist b3 = 0

MSComm1.RTSEnable = Falsch

MSComm1.RTSEnable = True

Wenn MSComm1.CDHolding = True, dann ist b4 = 1, sonst ist b4 = 0

MSComm1.RTSEnable = Falsch

MSComm1.RTSEnable = True

Wenn MSComm1.CDHolding = True, dann ist b5 = 1, sonst ist b5 = 0

MSComm1.RTSEnable = Falsch

MSComm1.RTSEnable = True

Wenn MSComm1.CDHolding = True, dann ist b6 = 1, sonst ist b6 = 0

MSComm1.RTSEnable = Falsch

MSComm1.RTSEnable = True

Wenn MSComm1.CDHolding = True, dann ist b7 = 1, sonst ist b7 = 0

MSComm1.RTSEnable = Falsch

MSComm1.RTSEnable = True

Wenn MSComm1.CDHolding = True, dann ist b8 = 1, sonst ist b8 = 0

MSComm1.DTREnable = True 'Erzeuge hohen CS

MSComm1.RTSEnable = False '8st clock pulse clock low

'Konvertieren Sie die Bits mithilfe der Erweiterungsformel in das Dezimalformat

Summe = (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") 'berechnet den Proportionalwert

Label1.Caption = CStr(Ud) & "Volt" 'zeigt den resultierenden Wert an

End Sub

Der Code in Timer1 ist der eigentliche Treiber. Der sich periodisch wiederholend, Taktimpulse erzeugt und Datenbits empfängt. Ud ist die Spannung am ADC-Eingang; wenn Sie 10 12-Bit-ADCs verwenden, wird die Zahl 225 durch 1024 bzw. 4096 ersetzt. Bei 10 12-Bit-ADCs müssen Sie die fehlenden Bits zum Code hinzufügen , geleitet von ihren „Datenblättern“. Der Wert 5.083 ist der Spannungswert, den ich am Out-Ausgang des Stabilisators erhalten habe. Geben Sie hier Ihren Wert ein.

Um das Board mit Strom zu versorgen, können Sie entweder eine separate Quelle verwenden oder es direkt über den COM-Port mit Strom versorgen. Dazu fügen wir den folgenden Code in die Timer2-Prozedur ein:

Privater Sub-Timer2_Timer()

MSComm1.Output = Chr(0) & Chr(0) 'erzeugen Impulse am TX-Pin (3), um die ADC-Platine mit Strom zu versorgen

End Sub

Es ist zu beachten, dass der COM-Port nicht stark belastet werden kann. Sie können maximal mit 20 mA rechnen. Im Betriebsmodus verbraucht die Schaltung einen Strom von maximal 5 mA.

Verbinden Sie nun das Board mit dem COM-Port und führen Sie das Projekt aus. Messen Sie die Spannung am IN-Pin des DA1-Stabilisators. Sie sollte nicht niedriger als 6.5 V sein. Ist dies nicht der Fall, verwenden Sie eine separate Stromquelle. Stellen Sie durch Ändern der Spannung am ADC-Eingang sicher, dass das Programm funktioniert und die Spannung auf dem Bildschirm anzeigt. Die Spannungsmessgenauigkeit bei Verwendung eines 8-Bit-ADC beträgt 20 mV, bei einem 10-Bit-ADC - 5 mV, 12-1.2 mV

Ein wenig über das Arbeiten in Visual Basic und die erstellte Anwendung mit einem COM-Port

Wie Sie wahrscheinlich bereits verstanden haben, benötigen Sie für die Arbeit mit einem COM-Port eine KomponenteMicrosoft Comm Control nämlich die Datei MSCOMM32.ocx, die sich nach der Installation von Visual Basic im Verzeichnis C:\Windows\system32 befindet. Damit meine ich, dass es nicht funktioniert, wenn Sie Ihr Programm ohne Erstellung eines Installationsprogramms auf einen anderen Computer kopieren, der nicht über Visual Basic verfügt. Sie müssen diese Datei außerdem in dasselbe Verzeichnis wie auf Ihrem Computer kopieren, d. h. im System32. Oder erstellen Sie ein Installationsprogramm.

Nun zu einigen Befehlen:

Befehl zum Einstellen der Datenaustauschrate:

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

Befehl, der die COM-Portnummer angibt

MSComm1.CommPort = 1

Befehle zum Öffnen und Schließen des COM-Ports

MSComm1.PortOpen = True

MSComm1.PortOpen = Falsch

Befehle, die +12 V an den entsprechenden Pin des COM-Anschlusses ausgeben:

MSComm1.RTSEnable = True RTS (7) – Pin-Name und Pin-Nummer

MSComm1.DTREnable = True DTR(4)

Befehle, die -12 V ausgeben

MSComm1.RTSEnable = Falsch         

MSComm1.DTREnable = Falsch

Sie können die Pins CD (1), CTS (8), DSR (6) auf das Vorhandensein eines Single- oder Null-Zustands abfragen.

If MSComm1.CDHolding = True Then (wenn man dann…)

Wenn MSComm1.CDHolding = False, dann (wenn Null, dann …)

Übertragen des ASCII-Codes eines Zeichens oder einer Zeichenfolge an den Tx (3)-Ausgang:

MSComm1.Output = "A"

Numbers

MSComm1.Output = Chr(10)-Nummer kann zwischen 0 und 255 variieren

Indem Sie einen solchen Befehl in einen Timer schreiben und die Zahl oder das Symbol ändern, können Sie eine PWM-Modulation erzeugen. Weitere Details zu den Befehlen finden Sie beim Herunterladen der Steuerungsbeschreibung  Microsoft Comm Control.

Mit diesem Code können Sie nun eine Reihe von Programmen zum Sammeln von Daten schreiben. Zum Beispiel: Voltmeter, Amperemeter, Temperaturmesser, einfaches Oszilloskop, Daten in einer Datei speichern. Messungen können entweder alle 1 ms oder einmal pro Stunde und Tag durchgeführt werden und somit langfristige Prozesse überwachen.

Zum Arbeiten mit Wechselspannungen (Durchgang durch 0) sowie zur Erweiterung der Messgrenzen ist ein Eingangsverstärker erforderlich, dessen Schaltung [1] entnommen werden kann. Um mit Netzspannung oder mit Geräten zu arbeiten, die nicht galvanisch vom Netzwerk getrennt sind, ist eine optische Trennung des Stromkreises vom Computer erforderlich.

ADC-Betrieb mit COM-Port, einfaches Datenerfassungssystem

ADC-Betrieb mit COM-Port, einfaches Datenerfassungssystem

Quellcodes von Beispielprogrammen herunterladen (8 kB)

Literatur

  1. Gell P. Wie man einen Personal Computer in einen Messkomplex verwandelt: Übers. von Fr. - 2. Aufl., rev. - M.: DMK Press, 2001. - 144 S.: Abb.
  2. An P. Anbindung eines PCs an externe Geräte: Übers. aus dem Englischen - M.: DMK Press, 2001 - 320 S.: Abb.
  3. Visual Basic 6.0: Trans. aus dem Englischen - St. Petersburg: BHV - St. Petersburg, 2000. - 992 Seiten: Abb.

Autor: =ShooRooP=, evei [Hund] mail.ru; Veröffentlichung: cxem.net

Siehe andere Artikel Abschnitt Computer.

Lesen und Schreiben nützlich Kommentare zu diesem Artikel.

<< Zurück

Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik:

Kunstleder zur Touch-Emulation 15.04.2024

In einer modernen Technologiewelt, in der Distanz immer alltäglicher wird, ist es wichtig, die Verbindung und das Gefühl der Nähe aufrechtzuerhalten. Jüngste Entwicklungen bei künstlicher Haut durch deutsche Wissenschaftler der Universität des Saarlandes läuten eine neue Ära der virtuellen Interaktionen ein. Deutsche Forscher der Universität des Saarlandes haben ultradünne Folien entwickelt, die das Tastgefühl über eine Distanz übertragen können. Diese Spitzentechnologie bietet neue Möglichkeiten der virtuellen Kommunikation, insbesondere für diejenigen, die weit von ihren Lieben entfernt sind. Die von den Forschern entwickelten ultradünnen, nur 50 Mikrometer dicken Folien lassen sich in Textilien integrieren und wie eine zweite Haut tragen. Diese Folien fungieren als Sensoren, die taktile Signale von Mama oder Papa erkennen, und als Aktoren, die diese Bewegungen an das Baby weiterleiten. Durch die Berührung des Stoffes durch die Eltern werden Sensoren aktiviert, die auf Druck reagieren und den ultradünnen Film verformen. Das ... >>

Petgugu Global Katzenstreu 15.04.2024

Die Pflege von Haustieren kann oft eine Herausforderung sein, insbesondere wenn es darum geht, Ihr Zuhause sauber zu halten. Das Startup Petgugu Global hat eine neue interessante Lösung vorgestellt, die Katzenbesitzern das Leben erleichtert und ihnen hilft, ihr Zuhause perfekt sauber und ordentlich zu halten. Das Startup Petgugu Global hat eine einzigartige Katzentoilette vorgestellt, die den Kot automatisch ausspülen kann und so Ihr Zuhause sauber und frisch hält. Dieses innovative Gerät ist mit verschiedenen intelligenten Sensoren ausgestattet, die die Toilettenaktivität Ihres Haustieres überwachen und nach dem Gebrauch eine automatische Reinigung aktivieren. Das Gerät wird an die Kanalisation angeschlossen und sorgt für eine effiziente Abfallentsorgung, ohne dass der Eigentümer eingreifen muss. Darüber hinaus verfügt die Toilette über einen großen spülbaren Stauraum, was sie ideal für Haushalte mit mehreren Katzen macht. Die Petgugu-Katzentoilettenschüssel ist für die Verwendung mit wasserlöslicher Streu konzipiert und bietet eine Reihe zusätzlicher ... >>

Die Attraktivität fürsorglicher Männer 14.04.2024

Das Klischee, dass Frauen „böse Jungs“ bevorzugen, ist schon lange weit verbreitet. Jüngste Untersuchungen britischer Wissenschaftler der Monash University bieten jedoch eine neue Perspektive zu diesem Thema. Sie untersuchten, wie Frauen auf die emotionale Verantwortung und Hilfsbereitschaft von Männern reagierten. Die Ergebnisse der Studie könnten unser Verständnis darüber verändern, was Männer für Frauen attraktiv macht. Eine von Wissenschaftlern der Monash University durchgeführte Studie führt zu neuen Erkenntnissen über die Attraktivität von Männern für Frauen. Im Experiment wurden Frauen Fotos von Männern mit kurzen Geschichten über deren Verhalten in verschiedenen Situationen gezeigt, darunter auch über ihre Reaktion auf eine Begegnung mit einem Obdachlosen. Einige der Männer ignorierten den Obdachlosen, während andere ihm halfen, indem sie ihm beispielsweise Essen kauften. Eine Studie ergab, dass Männer, die Empathie und Freundlichkeit zeigten, für Frauen attraktiver waren als Männer, die Empathie und Freundlichkeit zeigten. ... >>

Zufällige Neuigkeiten aus dem Archiv

Wächter für die Meere 12.08.2006

Die Europäische Union hat 45 Millionen Euro für den Aufbau eines Tsunami-Warnsystems vor der Küste Südostasiens bereitgestellt.

Basis des Systems sollen am Geophysikalischen Zentrum in Potsdam (Deutschland) entwickelte Bojen werden. Sie werden im Indischen Ozean eingesetzt. Jeder von ihnen verfügt über drei Sensoren, die auf unterschiedliche Weise das Herannahen eines Tsunamis registrieren. Unten unter der Boje ist ein Seismograph installiert, der die Erschütterungen des Meeresbodens registriert, und ein Drucksensor, der auf den Durchgang einer Tsunamiwelle über diesen Abschnitt reagiert.

Auf der Boje selbst ist ein System montiert, das mit Hilfe von Navigationssatelliten den Anstieg der Boje durch eine Tsunami-Welle markiert (diese Welle ist breiter als gewöhnliche Sturmwellen und verursacht einen längeren Anstieg des Wasserspiegels, so dass sie unterschieden werden kann von gewöhnlichen Wellen). Diese Wächtermeere werden Anzeichen einer bevorstehenden Katastrophe an ein im Bau befindliches Zentrum in Jakarta (Indonesien) melden.

Die Frage ist jetzt nur, wie zuverlässig der Datenübertragungskanal vom Grund zur Boje funktioniert – die Konstrukteure wollen Ultraschall verwenden, der sich durch das Wasser ausbreitet, da das Kabel verdreht oder gerissen werden kann.

Weitere interessante Neuigkeiten:

▪ Chemikaliencocktail für Meeresschildkröten

▪ S2-LP - 433/868 MHz Schmalband-Transceiver

▪ An einem Fußgängerüberweg telefonieren - illegal

▪ Tsunami-Wellen steigen in den Himmel

▪ Faltbares A-Bike

News-Feed von Wissenschaft und Technologie, neue Elektronik

 

Interessante Materialien der Freien Technischen Bibliothek:

▪ Site-Abschnitt Computergeräte. Artikelauswahl

▪ Artikel Auswirkungen des Drogenkonsums auf die menschliche Gesundheit. Grundlagen des sicheren Lebens

▪ Artikel Wie beeinflussen Kalorien unser Gewicht? Ausführliche Antwort

▪ Artikel Staub- und Gasbelastung von Industrieanlagen

▪ Artikel Wie und warum man Aluminium in Kupfer umwandelt. Enzyklopädie der Funkelektronik und Elektrotechnik

▪ Artikel Match in Balance. Fokusgeheimnis

Hinterlasse deinen Kommentar zu diesem Artikel:

Name:


E-Mail optional):


Kommentar:





Alle Sprachen dieser Seite

Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen

www.diagramm.com.ua

www.diagramm.com.ua
2000-2024