ADC Sin Cos PCI Karte

Gast #1405033
Lesenswert?

hallo zusamen,


ich verwende ADC (Atmega8) um Daten zweier Analoge Signale (Phase und 
Amplitude) zu digitalisieren und daraus die Realen und Imaginaeren Werte 
zu berechnen. Bis dahin alles ok. Nun muss ich diese Daten weiterleiten, 
zu meinem PCI Karte, die Analoge-Eingaenge hat.

Meine Frage wie kann ich die berechneten Daten weiter zu meiner PCI 
Karte weiterleiten.

Danke im Voraus.
Gast #1405639
Lesenswert?

LabView braucht langer fuer die Berechnung. Die Karte in sich ist sehr 
schnell, aber die Bearbeitung ist ziemlich langsm, vorallem wenn man 
schon weiss, das nur eine Schleife braucht 1ms.

Das ist der Grund, warum ich diesen Weg nicht umgehen moechte. Ich 
moechte die Bearbeitung in RealTime realisieren, mehr Samples zu 
erhalten (mehr als 2500 Samples/s pro Sensor)
Gast #1405683
Lesenswert?

>LabView braucht langer fuer die Berechnung.

Ich kenne mich mit LabView zwar nicht aus, aber LabView läuft doch auf 
einem PC. Und ich kann mir nicht vorstellen, dass ein PC langsammer 
rechnet, als ein ATmega.

>Die Karte in sich ist sehr schnell, aber die Bearbeitung ist ziemlich >langsm, 
vorallem wenn man schon weiss, das nur eine Schleife braucht 1ms.

Was meinst du hier mit "Bearbeitung"? Was ist eine Schleife. Wie gesagt, 
ich kenne mich mit LabView nicht aus.
Gast #1406465
Lesenswert?

LabView wird doch bestimmt die Werte aus einer z.B. txt-Datei lesen 
können. Dann sende die Daten vom Controller über RS-232 zum PC und lege 
sie in einer Datei ab, auf die LabView dann zugreifen und die Werte 
einlesen kann. Du brauchst dann halt eine Funktion, die die double-Werte 
für die Übertragung in Zahlen in ASCII-Code umwandelt.
Gast #1406681
Lesenswert?

habe ich es auch am Anfang gedacht, leider die Berechnung hat gezeigt, 
dass LabView langsammer ist.

Wenn Du Cosinus und Sinus rechnen willst (unter labview, dafuer brauchst 
Du natuerlich die Amplitude und Phase), dann sollst zuerst diese 
Variablen  messen bzw. berechnen, die mit der Zeit schnell aendern. 
Dafuer brauchst Du ein paar Samples, um auf diese Variablen zu kommen. 
Nimmst Du einen kleinen Anzahl der Samples, wird Dein CPU belastet. 
Nimmst Du einen grossen Anzal der Samples, wird Dein CPU entlastet, ABER 
Deine Berechnungen werden nicht exakt.
Wenn Du schnell mit dem Sensor pruefst, bekommst keine schoene 
Darstellung der Daten. Die Kurven werden abgehackt, ich meine die 
Abstand zwischen 2 Punkten ist groesser als bei einem langsamen 
Pruefung.
Nur diese Prozedur verlangt viel Zeit und sieht deutlich auf die Kurven.
Gast #1406862
Lesenswert?

Also deine analoge Schaltung liefert dir zwei anologe Signale, von denen 
eins ein Maß für Amplitude und das andere ein Maß für Phase ist. Diese 
analogen Signale digitalisierst du mit dem ADC des Atmega8 und aus den 
digitalen Werten berechnest du dann den Realteil und den Imaginärteil 
des Signals. Habe ich es richtig verstanden?

Du hast aber eine PCI-Karte, mit der du die analogen Signale auch 
digitalisieren kannst. Du sagst aber, dass es zu lange dauert, die 
Prozedur statt mit dem Controller gleich mit der Karte und LabView zu 
machen. Was dauert denn so lang, die A/D-Wandlung, die Kommunikation der 
Karte mit LabView, die Umrechnung von Amplitude und Phase in Real und 
Imaginär oder was genau?
Gast #1406880
Lesenswert?

Du hast es richtig verstanden.

am anfang habe ich nur die DifferenzSpuleSpannung und 
SinusGeneratorSpannung. Aus diesen beiden Signalen musste ich unter 
LabView die Amplitude und die Phase berechnen und dann die Real und 
Imag-Teile ermitteln. So richtig.

Und weil dies Verfahren langsamer ist, habe ich die Schaltungen 
entwickelt, die mir die Apmlitude und Phase ermitteln.

Eigentlich koennte ich jetzt direkt die Analog-Signale (Amplitude und 
Phase) zu meiner PCI Karte verbinden und siehe, ob es eine Verzoegerung 
gibt!!

Das werde ich heute machen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren