LabVIEWForum.de - Analogsignale vom Arduino auslesen.

LabVIEWForum.de

Normale Version: Analogsignale vom Arduino auslesen.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

habe hier einen Versuchsaufbau, der mir Kopfzerbrechen bereitet.

Es handelt sich um einen Mega2560-Board.
Labview Full Dev.2017 mit entsprechenden Treibern für Arduino (Labview Interface for Arduino)

Angeschlossen sind ein Poti mit Mittelabgriff, um eine veränderliche
Spannung zu erzeugen. Diese ist mit Pin A0 verbunden.
Des weiteren habe ich ein Display (16x2) an dig. Pins angeschlossen.

Das VI besteht im Wesentlichen aus 2 Teilen: - Einlesen und Darstellen der Messwerte im Frontpanel
- Anzeigen der Messwerte auf dem Display.

Lese ich ausschließlich die Analogwerte ein, um diese im Blockdiagramm darzustellen, funktioniert dies einwandfrei.
Auch die Anzeige arbeitet wie sie soll. Also: die Hardware an sich ist ok.

Das gleichzeitige Anzeigen der Messwerte klappt hier überhaupt nicht. Es werden Werte zwischen 600 und 2,5 angezeigt.

Ich weiß nicht mehr weiter....

Hat jemand hier einen Tip ???? Wäre klasse.

Danke im Voraus!

MfG

C. Maass
[attachment=58665]
Hallo Christoph,

Zitat:Das gleichzeitige Anzeigen der Messwerte klappt hier überhaupt nicht. Es werden Werte zwischen 600 und 2,5 angezeigt.
Hat jemand hier einen Tip ???? Wäre klasse.
Könnte das Problem damit zusammenhängen, dass du deinen Analogwert (=float) mittels "Zahl nach String (Dezimaldarstellung)" in eine Ganzzahl-Darstellung umwandelst?
Probier doch mal die Funktion "Zahl nach String (Fließkomma)" aus - oder alternativ FormatIntoString mit passendem Formatstring…
Ich würde ja die drei Ardunio-SubVIs, die sich in der While-Schleife befinden, sequenzieren. Man weis ja nie ...
Hallo Maass,
in Deiner While-Schleife bekommen die unteren VIs die Änderung des Schieberegisters nicht mit.
Warum werden die beiden Leitungen separat eingespeist? Sollen die immer die gleichen Werte verarbeiten?
Die Error Leitungen der beiden unteren VIs solltest Du mit den oberen verbinden, damit bei einem Fehler die Meldung nicht extra aufpoppt.

Gruß
Freddy
Vielen Danlk für die sicher hilfreichen Antworten.

Ich werde dies im Laufe des Tages nacheinander ausprobieren.

Melde mich wieder, und stelle gern das Ergebnis vor.



Vielen Dank noch einmal !!!!

C. Maass
Hallo,

ich krieg's einfach nicht hin...

Vielleicht hat jemand noch eine Idee.

Die Messwerte schwanken im Takt von 1/2 Sekunde immer zwischen dem richtigen Messwert
und 60,4V.
Ich weiß nicht, woher die 60,4V (siehe Foto) kommen und warum der Messwert so stark variiert.

GerdW: Dein Tip war richtig. Hab's geändert. Das grundlegende Problem der messwertänderung wurde dadurch allerdings nicht gelöst.

Freddy: Danke für den Tip. Die Config-4 und Init-VI's wollte ich draußen lassen, da diese ja nur einmal gebraucht werden (oder?).
Hatte auch schon diese VI's mit in die Schleife genommen. Keine Änderung.


Ich weiss nicht mehr weiter.

Hat da jemand noch einen hilfreichen Hinweis ? Danke für die bisherigen Antworten !!!
Hallo Christoph,

Zitat:Die Messwerte schwanken im Takt von 1/2 Sekunde immer zwischen dem richtigen Messwert
und 60,4V. Ich weiß nicht, woher die 60,4V (siehe Foto) kommen und warum der Messwert so stark variiert.
Schwankt auch der in LabVIEW angezeigte Messwert? Oder nur die Anzeige im LCD-Display?

Ich würde noch alle Funktionen seriell aufrufen! Die Kommunikation mit dem Arduino läuft über einen (virtuellen) seriellen Port, da kannst/solltest du nicht Dinge parallel drüber laufen lassen.
Also: alle Arduino-Funktionen in nur einer "Kette" aufrufen, sowohl vor als auch in der Schleife!
Das klingt nachvollziehbar. Ich probier's !

Danke für den Hinweis !!!
Hallo GerdW,

1. hab hier mal die von Dir vorgeschlagene "Kette" dargestellt. Leider ohne Erfolg.


2. habe einen Probe an den Ausgang des Arduino-Read-VI's gelegt. Dort schwankt der Messwert ebenfalls (60,446 - 198,43 - 3,2)
Wobei 3,2 den richtig gemessenen Wert darstellt. Die anderen 2 Zahlen ergeben keinen Sinn.

3. entferne ich nur den Arduino-Print-VI, läuft (bis auf die fehlende Anzeige im Display) alles bestens.


Noch 'ne Idee....?


Bin langsam am Ende.... Trotzdem Danke noch einmal für Dein Engagement !!!
Hallo Christoph,

Zitat: habe einen Probe an den Ausgang des Arduino-Read-VI's gelegt. Dort schwankt der Messwert ebenfalls
D.h. dein LabVIEW-VI selbst läuft korrekt: es werden Werte vom Arduino gelesen und korrekt zum LCD weitergereicht!

Zitat:entferne ich nur den Arduino-Print-VI, läuft (bis auf die fehlende Anzeige im Display) alles bestens.
Also liegt der Fehler irgendwo im Arduino: entweder verträgt sich das ReadPin nicht mit dem PrintLCD oder irgendwelche Pins auf dem Arduino sind doppelt belegt/stören sich gegenseitig…

Mögliche Lösung: du erstellst dein eigenes Arduino-Sketch und programmierst die benötigten Dinge selbst. Kommunikation wie gehabt über den seriellen Port, nur eben mit reinen VISA-Funktionen auf LabVIEW-Seite…
Referenz-URLs