Arduino Uno Analog Read / Oszi - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Signaldarstellung (/Forum-Signaldarstellung) +---- Thema: Arduino Uno Analog Read / Oszi (/Thread-Arduino-Uno-Analog-Read-Oszi) |
Arduino Uno Analog Read / Oszi - t0bsN - 10.05.2016 11:14 Hallo Community, ich habe noch nicht so viel Erfahrungim Bereich Arduino und steh gerade vor einem Problem. Die Aufgabe ist, ein Signal über Signalgenerator am analogen Eingang des Arduino zu lesen und in Labview als Graph, sozusagen als Oszi Bild darzustellen. Dazu habe ich mir das Labview Interface for Arduino geladen und damit eigentlich soweit alles aufgebaut. Jedoch kann ich mir nur sehr kleine Frequenzen anzeigen lassen... sobald ich ein sinus oder rechteck am Eingang habe mit mehr als ca 40Hz wird der sinus zum dreieck etc... Weis zufällig jemand wie ich das Problem lösen kann ? Ich hab mal geschaut...bei einem Sinus von 50Hz hat er auf einer Sinuswelle gerade mal 7 Abtastpunkte...das ist laut Datenblatt ja viel zu wenig was er eig können müsste :/ ps.: den standard arduino ide von labview und mein vi hab ich mal mit angehängt RE: Arduino Uno Analog Read / Oszi - GerdW - 10.05.2016 11:38 Hallo tobsn, Zitat:Jedoch kann ich mir nur sehr kleine Frequenzen anzeigen lassen...Mess doch einfach mal die Ausführungszeit deiner FOR-Loop - dann bekommst du ein Gefühl dafür, wie schnell (oder langsam) die Funktion "Analog Read Pin" ist… Du verwendest eine Baudrate von 250kbaud, damit kannst du ca. 25kB pro Sekunde übertragen. Wenn man dies jetzt durch die Anzahl der Bytes teilt, die pro Pin-Abfrage verschickt werden, bekommst du eine maximale Samplerate bei Einzelwertabfrage. Hinzu kommt aber noch die Zeit, die der Arduino zum Verarbeiten der Kommandos und zum Verschicken der Messwerte benötigt… Und evtl. gibt es noch eine maximale Samplerate beim ADC des Arduino, da hast du sicherlich ein Datenblatt zur Verfügung! RE: Arduino Uno Analog Read / Oszi - t0bsN - 10.05.2016 12:12 Ja also laut Datenblatt sollte er ja 10k samples pro sekunde schaffen....dh. frequenzen von 100Hz sollten problemlos möglich sein darzustellen... und im netz gibt es ja einige Oszi Programme für den Arduino, die ich mal getestet habe, da zeigt es mir problemlos auch 400Hz signale an Meine Vermutung ist, dass der Fehler bzw die verlangsamung in der von labview vorgefertigten datei (LIFA_Base) für den arduino liegt... jedoch ist diese für mich extrem unübersichtlich.. habe versucht den Code zu kürzen, jedoch kommt es dann schon beim initialisieren der kommunikation zu einem fehler :/ evtl kennt ja jmd die genauen Stellen oder zusatzbefehle um die Sache zu beschnleunigen RE: Arduino Uno Analog Read / Oszi - jg - 10.05.2016 13:00 Bitte deine Tastatur überpüfen, die Hochstelltaste scheint nicht richtig zu funktionieren (vgl. LVF-Regeln). Danke, Jens RE: Arduino Uno Analog Read / Oszi - GerdW - 10.05.2016 13:30 Hallo tobsn, Zitat:Meine Vermutung ist, dass der Fehler bzw die verlangsamung in der von labview vorgefertigten datei (LIFA_Base) für den arduino liegt... jedoch ist diese für mich extrem unübersichtlich..Ja, deine Vermutung dürfte in die richtige Richtung gehen. Aber wenn du sagst, dass dieser doch sehr übersichtliche C-Code (selbst für einen C-Amateur wie mich!) für dich schon "unübersichtlich" ist, dann solltest du wohl besser die Finger davon lassen… Hast du mal die Ausführungszeit des VIs AnalogReadPin bestimmt? Kannst du das mal hier anhängen? @Jens: Wer im Glashaus sitzt, sollte nicht mit Steinen schmeißen! ("überrpüfen") RE: Arduino Uno Analog Read / Oszi - jg - 10.05.2016 14:01 (10.05.2016 13:30 )GerdW schrieb: @Jens:Das hatte immerhin nicht mit der Groß-/Kleinschreibung zu tun sondern aller höchstens mit einer klemmenden R-Taste. RE: Arduino Uno Analog Read / Oszi - t0bsN - 10.05.2016 14:06 Also das Standard analogRead() braucht ca. 120 µs, das wären ca. 8000 Werte/sec, ein ganze 50 Hz Sinus-Schwingung könnte 150 mal abgetastet werden. Also eigentlich völlig ausreichend. Evtl hat der Arduino ein Problem mit dem gleichzeitigen Lesen und Schreiben der Daten ? Hab mir überlegt die Daten evlt erst zu speichern und nach Aufnahme von beispielsweise 1000 Messungen erst zu sendn ? Wie könnte man das am besten umsetzen ? RE: Arduino Uno Analog Read / Oszi - jg - 10.05.2016 14:10 (10.05.2016 14:06 )t0bsN schrieb: Evtl hat der Arduino ein Problem mit dem gleichzeitigen Lesen und Schreiben der Daten ?Das ist sowieso ein Grundproblem an deinem ersten VI (soll heißen die 3 parallelen Komm-VIs). Über eine serielle Leitung kannst nichts gleichzeitig schreiben sondern immer nur sequentiell! Gruß, Jens RE: Arduino Uno Analog Read / Oszi - t0bsN - 10.05.2016 15:11 Dh, wenn ich nur eine Komm Leitung nehme sollte es schon besser werden ? Werde ich morgen früh mal versuchen.. RE: Arduino Uno Analog Read / Oszi - t0bsN - 11.05.2016 09:55 Also ich habe das ganze mal auf eine Comm-Leitung gekürzt, jedoch ist das Ergebnis auch nicht besser. Gibt es den in Labview direkt die Möglichkeit mittels das Arduino Plugins daten zuerst im internen Speicher zu speichern und dann abzurufen und als Graph zu zeigen ? Falls ja wie ? |