INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Stepper Motor - Labview Interface for Arduino ?



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

16.05.2021, 00:47 (Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2021 06:49 von jg.)
Beitrag #1

Spirograph Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: May 2021

Labview2020
2019
DE



Stepper Motor - Labview Interface for Arduino ?
Hallo Leute, ich bin neu hier und habe nur wenig Wissen über Elektronik & Co, sowie Arduino und Labview.

Im letzten halben Jahr habe ich die Mostly Printed CNC (MPCNC) mit einem arduino uno und Estlcam umgesetzt. Das könnte ich allerdings nur, weil es darüber eine sehr gute Anleitungen gab.

Nun habe ich mich mit dem Coden vom Arduino und dem Entwickeln mit Labview einwenig beschäftigt. Bin aber eigentlich ziemlich überfordert und probiere trotzdem irgendwie ein zweites Projekt mit Schrittmotoren umzusetzten.

Mit meinem Arduino Code kann ich die Motoren zum laufen bekommen, mehr aber auch nicht. Labview gefällt mir wesentlich besser von der Idee her. Habe mir nun zwei Wochen einige Basic-Tutorials angesehen. Allerdings verzweifle ich langsam da ich diverse Codebeispiele einfach nicht zum laufen bekomme. Es wäre super wenn ihr mir helfen könntet.

Meine technischen Voraussetzung sind: ein Arduino Mega 2560 + RAMPS 1.4 + 4 DRV8255 + vier Nema17 Schrittmotoren (Stepper Motor Bipolar 59Ncm 2A; 1,8 deg (200 Stufen / Umdrehung) - Phasenwiderstand: 1.4ohms)

Ich wollte zuerst einmal einen Motor mit dem Beispiel "Arduino Stepper Motor.vi" was "LabVIEW Interface for Arduino" von Hause aus mitbringt zum laufen bringen.
Habe also LIFA_Base auf den Arduino gespielt und probiert das VI zum laufen zubewegen. Habe probiert die Pin's 2 und 3 (die Pin belegung für Motor eins auf dem Ramps STP = 54; DIR = 55; ) zu ändern und die Controll Methode auf AF Motor Shield einzustellen, aber nichts passiert.

Da im Arduino Code der erste Motor auf dem RAMPS 1.4 Shield so angesprochen:
// PIN-Belegung des 1. Steppers
const byte ENA = 38;
const byte STP = 54;
const byte DIR = 55;
weiß ich nicht ob das richtig ist, wenn Pin 2 in Pin 55 geändert wird und Pin 3 in Pin 54?

Ich bekomme immer den Fehler 5001 vom Labview Interface for Arduino angezeigt, sowie der Fehlercode ist nicht definiert.
Ausserdem:
lvlib: Check for Pin out of Range.vi
The digital pin selected does not exit on the specified or is in use (pin0 and 1 are reserved for communication with Labview).


Ich dachte ich fange mit diesem Code an,

20.0 .vi  Arduino Stepper Motor.vi (Größe: 1,49 MB / Downloads: 238)

da er ja schon vorgeliefert wurde und bestimmt frei von Fehlern ist.
Leider bekomme ich ihn nicht zum laufen und bin mit meinem Latein am Ende. Vielleicht könnt ihr mir helfen und mich auf Fehlerquellen aufmerksam machen.

Oder wenn ihr ein anderes Beispiel (auch evtl. mit einem anderen Modul) habt, was ich zum laufen bringe, wäre ich sehr dankbar.
Wenn ihr weitere Infos braucht, fragt und ich bemühe mich, Euch die dann zu liefern.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.05.2021, 05:23 (Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2021 05:24 von Martin.Henz.)
Beitrag #2

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 429
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Stepper Motor - Labview Interface for Arduino ?
Die LabVIEW VIs für den Arduino sagen dir, dass beim Arduino Uno diese Pins nicht verwendet werden können.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.05.2021, 06:58
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Stepper Motor - Labview Interface for Arduino ?
Hallo Spiro,

Zitat:Ausserdem: lvlib: Check for Pin out of Range.vi
The digital pin selected does not exit on the specified or is in use (pin0 and 1 are reserved for communication with Labview).
Das LIFA ist für einen "standardmäßigen" Arduino ausgelegt, es kennt keine HATs.
Deshalb werden eben auch die Pins "out of range" bemängelt!

Wäre es nicht wesentlich einfacher, die grunlegende Ansteuerung der Motoren/des HATs auf dem Arduino selbst (mittels derArduino-IDE) zu programmieren? Dann eine Kommunikation mit deinem Computer/LabVIEW über die (virtuelle) serielle Schnittstelle des Arduinos implementieren und in LabVIEW "nur noch" die übergeordnete Ablaufsteuerung programmieren. Dies funktioniert dann auf LabVIEW-Seite ohne LIFA (oder LINX), sondern nur mit der VISA-Schnittstelle…

Zu LIFA: das wird i.A. als "veraltet" gewertet, LINX ist der offizielle Nachfolger. (LINX wird übrigens auch mit LabVIEW2020-CE (CommunityEdition) mitgeliefert!)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2021, 10:40 (Dieser Beitrag wurde zuletzt bearbeitet: 18.05.2021 10:41 von Spirograph.)
Beitrag #4

Spirograph Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: May 2021

Labview2020
2019
DE



RE: Stepper Motor - Labview Interface for Arduino ?
Erst einmal vielen Dank für die Antworten.

(17.05.2021 06:58 )GerdW schrieb:  Das LIFA ist für einen "standardmäßigen" Arduino ausgelegt, es kennt keine HATs.
Bedeutet HATs, das Ramps-Shield? Wenn ja, geht das generell nicht? Dass wäre natürlich voll blöd. Ich dachte, wenn da Pins angegeben sind, dann kann man die einfach tauschen, da man das ja auch beim Code in der Arduino-IDE kann.

(17.05.2021 06:58 )GerdW schrieb:  Wäre es nicht wesentlich einfacher, die grundlegende Ansteuerung der Motoren/des HATs auf dem Arduino selbst (mittels derArduino-IDE) zu programmieren?
Das habe ich ja bereits in einer primitiven Version hinbekommen. Eben halt nur alle vier Motoren laufen gleichzeitig; ohne Auswahl oder Start und Stop usw. Ich dachte das kann ich in Labview machen? Meinst du; ich soll dass alles bereits in der Arduino-IDE schon programmieren?

(17.05.2021 06:58 )GerdW schrieb:  Dann eine Kommunikation mit deinem Computer/LabVIEW über die (virtuelle) serielle Schnittstelle des Arduinos implementieren und in LabVIEW "nur noch" die übergeordnete Ablaufsteuerung programmieren. Dies funktioniert dann auf LabVIEW-Seite ohne LIFA (oder LINX), sondern nur mit der VISA-Schnittstelle…
Klingt ja erst einmal interessant, aber ehrlich gesagt versteh ich nicht wirklich was du meinst, dafür reicht mein Wissen noch nicht aus. Kannst du das etwas näher erklären oder kennst du ein Tutorial dazu oder eine vi?

(17.05.2021 06:58 )GerdW schrieb:  Zu LIFA: das wird i.A. als "veraltet" gewertet, LINX ist der offizielle Nachfolger. (LINX wird übrigens auch mit LabVIEW2020-CE (CommunityEdition) mitgeliefert!)
Ich weiß, habe ich bereits wegen der Fehlermeldung gelesen. Hatte aber auch ein Beispiel mit LINX probiert, aber auch dort gab es kein Kontakt zum Arduino Mega.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2021, 11:22
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Stepper Motor - Labview Interface for Arduino ?
Hallo Spiro,

Zitat:Bedeutet HATs, das Ramps-Shield? Wenn ja, geht das generell nicht? Dass wäre natürlich voll blöd.
HAT oder Shield, jeder Anbieter nennt das etwas anders…
LIFA funktioniert vereinfacht ausgedrückt so:
- du installierst die LIFA-Runtime auf dem Arduino
- auf dem PC mit LabVIEW hast du dann LIFA-Funktionen, die aber im Grunde nur Daten mit VISA über den seriellen Port des Arduino mit der LIFA-Runtime austauschen
Die LIFA-Runtime legt damit dann fest, welchen Funktionsumfang du in LabVIEW zur Verfügung hast: und der ist nunmal auf die Grundfunktionen eines "Standard"-Arduinos festgelegt. Wie schon gesagt: HATs/Shields kennt LIFA nicht…

Zitat:Ich dachte, wenn da Pins angegeben sind, dann kann man die einfach tauschen, da man das ja auch beim Code in der Arduino-IDE kann.
Und eben weil es in der Arduino-IDE so einfach funktioniert, schlage ich dir das ja auch vor!
Implementiere die nötige Hardwareansteuerung im Arduino selbst und tausche dann mit dem PC Daten über den (virtuellen) COM-Port aus. Also im Grunde genauso wie bei LIFA, nur mit deiner eigenen Arduino-Runtime…

Zitat:Eben halt nur alle vier Motoren laufen gleichzeitig; ohne Auswahl oder Start und Stop usw. Ich dachte das kann ich in Labview machen? Meinst du; ich soll dass alles bereits in der Arduino-IDE schon programmieren?
Die Start-/Stopp-Befehle kannst du gern in LabVIEW generieren, aber die Hardwareansteuerung übernimmt der Arduino…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2021, 19:16 (Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2021 08:55 von jg.)
Beitrag #6

Spirograph Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: May 2021

Labview2020
2019
DE



RE: Stepper Motor - Labview Interface for Arduino ?
Vielen Dank für deine Antwort.

(18.05.2021 11:22 )GerdW schrieb:  Und eben weil es in der Arduino-IDE so einfach funktioniert, schlage ich dir das ja auch vor!
Implementiere die nötige Hardwareansteuerung im Arduino selbst und tausche dann mit dem PC Daten über den (virtuellen) COM-Port aus. Also im Grunde genauso wie bei LIFA, nur mit deiner eigenen Arduino-Runtime…
Leider versteh ich nur einen Teil, bin halt Anfänger. So sieht der Code aus den ich auf den Arduino Mega spiele und damit einen Motor zum laufen bekomme.
Code:
// einfache Motoransteuerung
#include <MobaTools.h>
// PIN-Belegung des 1. Steppers
const byte ENA = 38;
const byte STP = 54;
const byte DIR = 55;
const int stepPerRev = 6400;    // Zahl der Steps für eine Umdrehung ( abhängig von den Jumpern MS1..MS3 )

MoToStepper stepper1 ( stepPerRev, STEPDIR );  // Anlegen des 1. Steppers
void setup()
{
  stepper1.attach( STP, DIR );
  stepper1.setSpeed( 200 );             // 30 Umd/Min ( wenn stepPerRev richtig gesetzt ist )
  stepper1.setRampLen( stepPerRev / 2); // Rampenlänge ist 1/2 Umdrehung
  stepper1.attachEnable( ENA, 50, LOW );  // Verwaltung des enable-Pins durch die Lib
  stepper1.rotate(1);                   // Drehen starten; 1=vorwärst, -1=rückwärts
}

void loop()
{
}

Das mit dem virtuellen COM-Port verstehe ich noch nicht wirklich.
Habe in Labview das hier gebastelt:
   
Hab leider noch keinen Plan, wie das Ganze mit einander kommunizieren soll.
Habe den ganzen Nachmittag herum gegoogelt, aber nichts wirkliches gefunden.


(18.05.2021 11:22 )GerdW schrieb:  [/code]
Die Start-/Stopp-Befehle kannst du gern in LabVIEW generieren, aber die Hardwareansteuerung übernimmt der Arduino…
Kannst du mir ein paar Tipps gegeben bzw. da weiterhelfen mit dem Visa-Port und vielleicht dem ersten Schalter? Damit ich das Grundlegende erst einmal verstehe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.05.2021, 08:12
Beitrag #7

MScz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: May 2020

2019,2020
2014
DE_EN



RE: Stepper Motor - Labview Interface for Arduino ?
(18.05.2021 11:22 )GerdW schrieb:  Die LIFA-Runtime legt damit dann fest, welchen Funktionsumfang du in LabVIEW zur Verfügung hast: und der ist nunmal auf die Grundfunktionen eines "Standard"-Arduinos festgelegt. Wie schon gesagt: HATs/Shields kennt LIFA nicht…

Ist richtig, aber das RAMPS ist gerade was die Ansteuerung von Steppern betrifft nur eine Adapterplatine. Es gibt also keine Logik über die LIFA iwie Bescheid wissen müsste. Das Problem sollte also nicht am RAMPS liegen.

Ich habe mal kurz nen Blick in den LIFA Quellcode geworfen. Der LV LIFA Treiber geht davon aus, das der Arduino nur 54 PINs hat, der Mega hat aber 69 Digitale Pins (oder so). Du musst also das VI "Check For Pin Out Of Range.vi" entsprechen anpassen.

Danach sollte die Fehlermeldung weg sein und der Stepper sollte laufen. Es kann noch sein, das du den Enable Pin am Steppertreiber über den digitalen Pin separat Steuern musst, aber das sollte ja auch machbar sein.

Es kann sein, das du den Stepper Support in der LIFA_Base.ino noch einschalten musst, das solltest du aber selber nachlesen können wie das geht.

Gruß Max
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.05.2021, 08:57
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Stepper Motor - Labview Interface for Arduino ?
Offtopic2
Hallo Spiro,

lade bitte in Zukunft Anhänge wie VIs und Bilder hier im Forum hoch und nicht bei externen Filehostern.

Danke, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.05.2021, 18:13
Beitrag #9

Spirograph Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: May 2021

Labview2020
2019
DE



RE: Stepper Motor - Labview Interface for Arduino ?
(19.05.2021 08:57 )jg schrieb:  lade bitte in Zukunft Anhänge wie VIs und Bilder hier im Forum hoch und nicht bei externen Filehostern.
Hätte ich längst gemacht, wenn du mir sagen würdest wie? Denn drücke ich im Editor oben Rechts auf "Bild einfügen" bekomme ich nur eine Eingabemöglichkeit das ich die URL angeben soll. Also habe ich bisher, das immer sehr umständlich erst irgendwo hochgeladen und dann dem Link die URL mitgeteilt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.05.2021, 18:39
Beitrag #10

Spirograph Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: May 2021

Labview2020
2019
DE



RE: Stepper Motor - Labview Interface for Arduino ?
Vielen Dank Max das du dich da hineinvertieft hast, das weiß ich sehr zu schätzen.
(19.05.2021 08:12 )MScz schrieb:  Ich habe mal kurz nen Blick in den LIFA Quellcode geworfen. Der LV LIFA Treiber geht davon aus, das der Arduino nur 54 PINs hat, der Mega hat aber 69 Digitale Pins (oder so). Du musst also das VI "Check For Pin Out Of Range.vi" entsprechen anpassen.
Hm eigentlich klingt das zu schön um wahr zu sein. Habe die "Check For Pin Out Of Range.vi" geöffnet und mir die Eingaben des Blockdiagramms angesehen. Ich kann das jetzt mal mit 69 Pins probieren, aber so ganz verstehe ich die ganzen Angaben der Pinbelegung beim Mega nicht.

Einerseits heißt es: Digital I/O Pins (with PWM) 54 (15); Analog Input Pins 16
und andererseits Digital E/A Pins 54 (davon 15 PWM-Ausgang).
Heißt das nun; die 15 PWM Pins sind in den 54 enthalten oder kommen sie zu den 54 dazu und ergeben dann die besagten 69?

Um die Verwirrung für mich vollständig zumachen fand ich eine:
eine Pinbelegungstabelle die das Ganze sehr schön und anschaulich in PIN-Nummer, PIN-Name und Mapped Pin Name aufgeschlüsselt. Danach hätte der Mega 100 Pin-Nummern mit entsprechenden Zuordnungen. Und müsste ich dann nicht eigentlich 100 in die "Check For Pin Out Of Range.vi" eintragen?

Und würde sich für mich daraus ergeben, das mein Pin 54 auf dem RAMPS dem --> Digital pin 36 auf dem Mega entspreche und ich dann diesen Ansprechen müsste.
Also ihr seht, für einen Anfänger nicht gerade leicht zu wissen, was gemeint ist.
(19.05.2021 08:12 )MScz schrieb:  Danach sollte die Fehlermeldung weg sein und der Stepper sollte laufen. Es kann noch sein, das du den Enable Pin am Steppertreiber über den digitalen Pin separat Steuern musst, aber das sollte ja auch machbar sein.
Es kann sein, das du den Stepper Support in der LIFA_Base.ino noch einschalten musst, das solltest du aber selber nachlesen können wie das geht.

Gruß Max
Damit kann ich noch nicht viel anfangen und komme vielleicht später darauf zurück, wenn ich mit der "Check For Pin Out Of Range.vi" fertig bin.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Temperaturmessung mit Arduino UNO und LabVIEW ElHemp 15 14.925 14.06.2016 20:54
Letzter Beitrag: GerdW
  Isel-Motor Steuerung mit visa Namdor 3 6.658 12.06.2015 14:02
Letzter Beitrag: Namdor
  Datenübertragung Arduino Mega zu Labview biede1987 8 11.191 15.04.2014 11:41
Letzter Beitrag: biede1987
  RS-232 mit Arduino Philmo 4 8.217 02.04.2014 11:57
Letzter Beitrag: GerdW
  Arduino Mega mit Labview, zu langsam Jens0815 3 6.834 20.04.2013 21:05
Letzter Beitrag: Holy
  Arduino + L293DNE blobse 2 5.237 06.09.2012 20:55
Letzter Beitrag: blobse

Gehe zu: