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 

Dieses Thema hat akzeptierte Lösungen:

Technikerprojekt mit Labview und 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!

05.01.2018, 12:26 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2018 11:47 von Stryke.)
Beitrag #1

Stryke Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2018

17.0f2
2017
DE



Technikerprojekt mit Labview und Arduino
Hallo zusammen,
ich habe im August mit dem staatlich geprüften Techniker begonnen und wir müssen ein Projekt mit Labview realisieren.
Mein Projekt ist eine Parkplatzsteuerung.

Ich habe mir das ganze wie folgt vorgestellt:
1. Ein Taster wird gedrückt
2. Die Schranke in Form eines Servos öffnet sich
3. Ein Matchboxauto fährt durch die Schranke und wird dahinter von einem IR-Sensor erfasst
4. Das Auto verlässt den IR-Sensor
5. Die Schranke schließt sich

Ich habe es bereits geschafft, dass die Schranke beim Drücken des Tasters öffnet. Allerdings geht diese beim Loslassen direkt wieder zu.
Genau das gleiche passiert auch bei der IR-Lichtschranke. Erkennt diese ein Objekt öffnet die Schranke und verlässt das Objekt den Bereich schließt sie wieder.

Ich bekomme es einfach nicht hin, dass alles so funktioniert wie ich es in den Punkten 1-5 beschrieben habe...
Mein Lehrer meinte, dass ich es entweder mit einer Ereignisstruktur oder einem Zustandsautomaten machen soll (Problem dabei ist nur, dass ich null Erfahrung mit Labview habe und wir nichts davon bis jetzt behandelt haben...).

Ich hoffe auf Unterstützung von euch und freue mich schon sehr auf hilfreiche Antworten und Tipps.
Vielen Dank im Voraus!

PS: Mein VI hänge ich mal mit an damit ihr euch ein Bild von meiner Unwissenheit machen könnt Big Grin


Angehängte Datei(en)
17.0 .vi  Servomotor ansteuern Rev-05.vi (Größe: 737,54 KB / Downloads: 479)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.01.2018, 12:41
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Technikerprojekt mit Labview und Arduino
Hallo Stryke,

Zitat:Mein Lehrer meinte, dass ich es entweder mit einer Ereignisstruktur oder einem Zustandsautomaten machen soll
Die Empfehlung mit der Statemachine kann ich nur unterstützen!
Vor allem, da du ja selbst schon 5 verschiedene States definiert hast…

Zitat:(Problem dabei ist nur, dass ich null Erfahrung mit Labview habe und wir nichts davon bis jetzt behandelt haben...).
- Eine Statemachine hat nicht unbedingt was mit LabVIEW zu tun, die kannst du mit jeder Programmiersprache implementieren - ist also "Allgemeinwissen"…
- Dank der Links in meiner Signatur kannst du ja jetzt die Grundlagen erlernen! Big Grin
- LabVIEW bringt viele BeispielVIs und -projekte mit, das ist auch ein Projekt mit einer Statemachine dabei!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.01.2018, 15:44 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2018 11:47 von Stryke.)
Beitrag #3

Stryke Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2018

17.0f2
2017
DE



RE: Technikerprojekt mit Labview und Arduino
Hallo nochmal,
danke GerdW für die Links. Leider habe ich nicht die Zeit um mir das alles selbst anzueignen Sad
Ich habe mich aber schonmal an einer Zustandsmaschine versucht.
Aktuell ist es so, dass die Schranke zu Beginn des Programmes öffnet und sich weder durch den Taster noch durch den IR-Sensor etwas verändert... (Vermutlich weil die Signale nicht ausgewertet/genutzt werden).
Ich weiß leider nicht auf welche Weise ich die Ausgänge "Value" von meinem Pin 13 und "Motion Detected" von Pin 12 mit einbeziehen muss/kann.
Außerdem weiß ich nicht wo in der Zustandsmaschine die Bausteine platziert werden müssen.
Kann mir da jemand ggf. das Programm editieren und wieder hochladen? Ich hab jetzt echt ne ganze Weile rumprobiert und bekomme es nicht besser hin...
Vielen Dank schon mal!


Angehängte Datei(en)
17.0 .vi  Servomotor ansteuern Rev-09-Statemachine.vi (Größe: 745,17 KB / Downloads: 368)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.01.2018, 16:05
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Technikerprojekt mit Labview und Arduino
Hallo Manuel,

Zitat:Vermutlich weil die Signale nicht ausgewertet/genutzt werden
Sehr wahrscheinlich sogar: du verwendest die abgefragte Werte ja nirgends. Noch nicht mal eine Anzeige hast du dafür vorgesehen…

Zitat:Außerdem weiß ich nicht wo in der Zustandsmaschine die Bausteine platziert werden müssen.
Benötigst du die Werte immer? Dann solltest du sie, so wie jetzt, vor der Case-Struktur abfragen.
Benötigst du die Werte nur in einem bestimmten State? Dann solltest du sie im State abfragen…

Wieso arbeitest du mit KeyUp/Down-Events?
Warum schaltest du Pins auf deinem Arduino zwischen Input und Output hin und her? Solltest das nicht immer Inputs sein, wenn da Sensoren dranhängen?

Hast du deinen Algorithmus schon mal auf einem Blatt Papier skizziert und geplant? Sowas macht man vor dem eigentlichen Programmieren - hilft wirklich…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.01.2018, 16:42 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2018 11:48 von Stryke.)
Beitrag #5

Stryke Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2018

17.0f2
2017
DE



RE: Technikerprojekt mit Labview und Arduino
Hallo GerdW,
ich vermute, dass ich die beiden Sensoren durchgehend abfragen muss, da es ja durchgehend sein kann, dass jemand auf den Parkplatz fahren möchte.
Eigentlich habe ich doch beide Sensoren als Input definiert? -dachte ich zumindest...
Die Sensoren geben doch nur eine 1 oder eine 0 aus, je nach dem ob sie betätigt sind oder nicht?!
Ich dachte also, dass die Zustandsmaschine anhand dessen dann den jeweiligen Case auswählt und ausführt.

Als erstes wird der Taster an Pin 13 gedrückt und dadurch wird der Case "Schranke Öffnen" ausgeführt.
In diesem Case habe ich ja den Servo drin, der auf 90° schwenken soll.
Beim Loslassen des Tasters wird eine 0 gesendet, diese soll dann zu "Wait For Event" führen.
Dann wird der IR-Sensor "betätigt" und die Schranke soll offen bleiben.
Sobald der IR-Sensor auf "nicht betätigt" wechselt soll die Schranke zu gehen.

Tut mir Leid wenn ich es nicht besser beschreiben kann...
Im Anhang ist ein Bild vom meinem Programmablaufplan.

Dank nochmal!


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.01.2018, 20:17
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Technikerprojekt mit Labview und Arduino
Hallo Manuel,

der Plan sieht doch super aus!
- Jedes der Kästchen ist quasi ein State.
- Jeder Übergang von einem zum nächsten State erfolgt aufgrund bestimmter Bedingungen.
Das darfst du jetzt programmieren!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.01.2018, 11:59 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2018 11:48 von Stryke.)
Beitrag #7

Stryke Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2018

17.0f2
2017
DE



RE: Technikerprojekt mit Labview und Arduino
Hallo Gerd,
vom Sinn her habe ich das ganze ja auch verstanden.
Mein Problem ist es das ganze zu programmieren Denknach ...
Ich verstehe einfach nicht, wie ich die Signale von Taster und IR-Sensor so in das Programm einbinde, dass dadurch der entsprechende Case bzw. das entsprechende Ereignis angestoßen wird.
Kannst du mir eventuell das VI so abändern, dass ich ein Muster für diese Vernetzung anschauen kann? Das wäre mir eine sehr große Hilfe!
Danke dir!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.01.2018, 14:07
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Technikerprojekt mit Labview und Arduino
Ich bin noch am kucken, Arduino runterladen und so, aber mal vorab:

(05.01.2018 16:05 )GerdW schrieb:  Wieso arbeitest du mit KeyUp/Down-Events?
Da steht nichts von Key-Down. Da steht "Taste gedrückt". Unterschied? Key ist auf der Tastatur, Taste am Arduino. Wetter wir'n Käs?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.01.2018, 14:55 (Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2018 15:00 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Technikerprojekt mit Labview und Arduino
Hallo Manuel,

hier ein simples Beispiel für eine Statemachine inklusive Bedingungstest für einen Statewechsel:
   
Ich habe der Einfachheit halber String-Konstanten verwendet, funktioniert mit Enums aber ebenso.
Auch diese unbedingt typdefinieren!

@IchSelbst: Ich verwende die engl. LabVIEW-Version… Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.01.2018, 14:56 (Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2018 15:01 von IchSelbst.)
Beitrag #10

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Technikerprojekt mit Labview und Arduino

Akzeptierte Lösung

(05.01.2018 15:44 )Stryke schrieb:  habe ich nicht die Zeit um mir das alles selbst anzueignen
Ganz, ganz schlechte Karten ...

Zitat:(Vermutlich weil die Signale nicht ausgewertet/genutzt werden).
Genau deswegen ...

Zitat:Ich weiß leider nicht auf welche Weise ich die Ausgänge "Value" von meinem Pin 13 und "Motion Detected" von Pin 12 mit einbeziehen muss/kann.
Na, einfach weitermachen mit programmieren. Statemachine, auch mit Event, ist ja schon mal ganz gut. z.B.: Wenn Taste gedrückt, dann Case Öffnen ausführen.

Das Programm ist selbstverständlich ohne Gewähr! Das mit dem IR-Sensor musst du wieder anpassen. Ich hab mal zwei Buttons dazugemacht, damit auch der Herr an der Pforte die Schranke bedienen kann ...

Nachtrag:
Die zyklische Abfrage der Bedienelemente (Taster und IR-Sensor), die du sinnvollerweise ja in der While-Schleife ausführen lässt, hab ich in den Timeout-Case des Event-Struktur gelegt. Dieser Case allerdings braucht auch eine Zeitvorgabe (z.B. alle 250ms). Ohne diese Zeitvorgabe wird nichts gemacht! Mit Zeitvorgabe werden die beiden Bedienelemente (zyklisch) abgefragt.


Angehängte Datei(en)
17.0 .vi  Servomotor ansteuern Rev-09-Statemachine.vi (Größe: 748,18 KB / Downloads: 399)

17.0 .ctl  MainState.ctl (Größe: 4,21 KB / Downloads: 389)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
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
  Arduino Temperatur-erfassung Timesplinter 4 11.615 13.11.2017 17:02
Letzter Beitrag: Timesplinter
  Servo-Motor mit Labview ansteuern über Arduino fakeshow 9 18.316 08.02.2017 13:19
Letzter Beitrag: fakeshow

Gehe zu: