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 

Problem bei PWM für Modellbau-Servo



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!

19.02.2009, 12:58
Beitrag #1

hotwheelz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Jan 2009

8.6
2008
de

12249
Deutschland
Problem bei PWM für Modellbau-Servo
So ihr lieben LabVIEWer,

zur Erklärung meiner Situation: http://www.LabVIEWforum.de/Hilfe-bei-Syste...ung-t11648.html
Kurzzusammenfassung: ich muss ein Programm erschaffen, welches ein PWM-Signal für Modellbau-servos erzeugt und die Stellung der Servos in Abhängigkeit einer Spannung regelt.
gefunden hab ich mehrere VIs zur PWM-Erzeugung, allerdings scheinen die alle eher für ne Drehzahlsteuerung zu sein da sie das Tastverhältnis verändern.
Für die Modellbau-servos benötigt man aber ein Signal zw. 0,5 und 2,5s (die Länge sollte einstellbar sein da dies z.T. variiert) mit einer Frequenz von 50Hz.
gefunden hab ich über einen anderen Thread hier noch das Programm Klick mich
dieses nutzt allerdings analoge Ausgänge, ich würde gerne die digitalen nutzen.
Kann mir jemand weiterhelfen und Tipps geben wie ich ein VI auf meine Bedürfnisse anpasse? Bin doch recht unerfahren und hatte es mir leider etwas zu leicht vorgestellt.Dry

liebe Grüße
Steffen alias hotwheelz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.02.2009, 13:18
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Problem bei PWM für Modellbau-Servo
Du meinst wohl eher 0,5 ms - 2,5 ms !
Und ich dachte, das haben wir schon mehr oder weniger durchgekaut!

Empfehle, ein solches Signal mit dem Counter direkt zu erzeugen. Das Beispiel hierzu im NI-Examplefinder ist z.B.
"Gen Dig Pulse Train Continous.vi".

Was du dann "on the fly" in der Loop ändern musst, ist der DutyCycle. Da musst du halt mal ein wenig rechnen.
Welche PropertyNode du da schreiben musst, öffne einfach mal das VI "DAQmx Create Channel (CO-Pulse Generation-Frequency).vi" im oben genannten Bsp.

Das obige erwähnte Bsp., entsprechende modifiziert, könnte z.B. so aussehen:
   

Gruß, 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.02.2009, 13:48
Beitrag #3

hotwheelz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Jan 2009

8.6
2008
de

12249
Deutschland
Problem bei PWM für Modellbau-Servo
Hallo,
vielen Dank für die schnelle Antwort. Natürlich meine ich ms, das m muss wohl geklemmt haben.Rolleyes
Das Bsp. hatte ich mir angeschaut, du hattest im anderen Thread auch nen Link zur Veränderung des duty cycle gepostet. Dort fehlten mir allerdings die Bilder und ich wusste nicht so richtig wo ich das erstellte DAQmx einfügen sollte.
Ich werd das jetzt mal nachbauen, kann ich anstatt das Signal auszugeben mir das auch in nem Oszi anzeigen lassen? Ich seh da immer nur Datenleitungen und finde keine Stelle wo ich mir das "anklemmen" kann. Naja vllt. find ich das auch mal allein raus, schaden soll sowas ja auch nicht!Lol

ich dank dir auf jeden Fall schonmal und meld mich dann mit Erfolg (oder auch nicht) zurück.
Steffen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.02.2009, 14:06 (Dieser Beitrag wurde zuletzt bearbeitet: 25.02.2009 10:18 von A.Berndsen.)
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Problem bei PWM für Modellbau-Servo
Klar kannst du dir das Signal erst mal am Oszi anschauen. Kann ich zum Einstieg nur empfehlen.

An welchem Pin das Counter-Signal standardmäßig anliegt (ohne dass du es woanders hin routest), dazu musst du mal in die Doku deiner Karte schauen. (Welche hast du denn jetzt?, Bsp: USB-6210, s. 8-30)

Gruß, 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.02.2009, 14:38
Beitrag #5

hotwheelz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Jan 2009

8.6
2008
de

12249
Deutschland
Problem bei PWM für Modellbau-Servo
Nee, so meinte ich es nicht. Ich meinte auf dem Rechner anschauen, ein richtiges Oszilloskop haben wir hier glaub ich nicht.
Bin aber noch am Nachbauen, muss immer erst ewig suchen da ich ja die deutsche Version hab und da alles z.T. anders heisst. Die vielen verschiedenen Möglichkeiten machen mich da etwas wuschig.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2009, 11:44
Beitrag #6

hotwheelz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Jan 2009

8.6
2008
de

12249
Deutschland
Problem bei PWM für Modellbau-Servo
So, da bin ich wieder. Wie immer nur Probleme.
1.:Schon im DAQmx Kanal erzeugen bekomme ich ne Fehlermeldung, Fehlercode -200371, die ich nicht wegbekomme. Der Task den ich erstellt habe ist eigentlich "original", sprich 1 Impuls beim Signalerzeugungsmodus, High und Low-Dauer jeweils 10ms. Ruhezustand low.
Der Fehler ist weg wenn ich beim Task ctr0 und beim Zähler im Frontpanel des "DAQmx Kanal erzeugen" ctr1 belege. Nur dann sind ja beide Counter schon belegt oder? Sprich zweites PWM oder Inkrementalgeber auslesen fällt flach?!
2.:In der True-Schleife bekomme ich die Knoten bzw. Tunnel nicht hin, sprich da meckert er immer was von fehlender Tunnelzuordnung. Was müsste ich in der false-Schleife verbinden bzw einfügen?
3.:die Berechnung der Stellzeit wollt ich erstmal kurz über ne Formel machen. Dazu hab ich einen Formelknoten eingesetzt der zum einen die gemessene Spannung erhält und diese dann über while-Schleifen in die Stellzeit verrechnet.
Ich hoffe mal das es überhaupt so geht. Problem ist dass ne Fehlermeldung kommt das im Formelknoten integer erforderlich ist. Die Stellzeit ist aber schon integer, mach ich die Spannung auch auf integer, meckert er auch rum?!
4.:Das mit dem von dir erwähnten PropertyNode schreiben hab ich nicht so richtig verstanden. Heisst das ich muss den DAQmx Kanal in der schleife genauso schreiben wie den ersten?
5.:Kann ich mir das Signal nun am Rechner über ein virtuelles Oszi irgendwie anschauen, wenn ja wie? So wie ich das sehe ist ja nur der Task da, nirgends aber eine richtige Datenleitung, oder?
6.:Die Verkabelung/Verstrickung von dir zur Berechnung der Stellzeit kann ich nicht so richtig nachvollziehen. Wenn ich sie in Millisekunden vorgebe, warum dann noch zweimal durch andere Zahlen dividieren bzw. streng genommen durch eine Zahl dividieren und mit der Frequenz multiplizieren (war ja der Kehrwert der Frequenz).?

Ich weiß, für eingefleischte LabVIEWer stell ich wahrscheinlich vollkommen dämliche Fragen. Aber ich will es halt verstehen.

Gruß
Steffen
*dernichtaufgebenwill*


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2009, 11:57
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Problem bei PWM für Modellbau-Servo
' schrieb:So, da bin ich wieder. Wie immer nur Probleme.
1.:Schon im DAQmx Kanal erzeugen bekomme ich ne Fehlermeldung, Fehlercode -200371, die ich nicht wegbekomme. Der Task den ich erstellt habe ist eigentlich "original", sprich 1 Impuls beim Signalerzeugungsmodus, High und Low-Dauer jeweils 10ms. Ruhezustand low.
Der Fehler ist weg wenn ich beim Task ctr0 und beim Zähler im Frontpanel des "DAQmx Kanal erzeugen" ctr1 belege. Nur dann sind ja beide Counter schon belegt oder? Sprich zweites PWM oder Inkrementalgeber auslesen fällt flach?!
Schwer zu sagen, Screenshot ist nicht komplett, und zwecks DAQ-Assi ist eh nicht klar, was da gemacht wird.
Lösung: VI hochladen!!!
' schrieb:2.:In der True-Schleife bekomme ich die Knoten bzw. Tunnel nicht hin, sprich da meckert er immer was von fehlender Tunnelzuordnung. Was müsste ich in der false-Schleife verbinden bzw einfügen?
Einfach im Fals-Case Task und Error-Cluster weiterverbinden.
' schrieb:3.:die Berechnung der Stellzeit wollt ich erstmal kurz über ne Formel machen. Dazu hab ich einen Formelknoten eingesetzt der zum einen die gemessene Spannung erhält und diese dann über while-Schleifen in die Stellzeit verrechnet.
Ich hoffe mal das es überhaupt so geht. Problem ist dass ne Fehlermeldung kommt das im Formelknoten integer erforderlich ist. Die Stellzeit ist aber schon integer, mach ich die Spannung auch auf integer, meckert er auch rum?!
s. Punkt 1, VI hochladen!!!
' schrieb:4.:Das mit dem von dir erwähnten PropertyNode schreiben hab ich nicht so richtig verstanden. Heisst das ich muss den DAQmx Kanal in der schleife genauso schreiben wie den ersten?
Ich würde mal sagen, du hast die richtige PropertyNode im deutschen LV gefunden. Alles paletti.
' schrieb:5.:Kann ich mir das Signal nun am Rechner über ein virtuelles Oszi irgendwie anschauen, wenn ja wie? So wie ich das sehe ist ja nur der Task da, nirgends aber eine richtige Datenleitung, oder?
Countersignal direkt im Rechner (so wie ein simuliertes Signal), nein. Könntest natürlich den Counterausgang auf einen Analog-In legen (oder mglw. auch intern routen) und messen.
' schrieb:6.:Die Verkabelung/Verstrickung von dir zur Berechnung der Stellzeit kann ich nicht so richtig nachvollziehen. Wenn ich sie in Millisekunden vorgebe, warum dann noch zweimal durch andere Zahlen dividieren bzw. streng genommen durch eine Zahl dividieren und mit der Frequenz multiplizieren (war ja der Kehrwert der Frequenz).?
Ist doch ganz einfach: DutyCycle ist das Verhältnis "Zeitphase High" zur "Periodedauer". Periode in Sekunden ist 1/Frequenz.
Umrechnung von ms auf Sekunden ist teilen durch 1000. Dann noch DutyCycle durch Periodendauer teilen.
Kann man sicher zusammenfassen, aber hab das ja nur auf die Schnelle gemacht.

Gruß, 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
23.02.2009, 12:13 (Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2009 13:09 von jg.)
Beitrag #8

hotwheelz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Jan 2009

8.6
2008
de

12249
Deutschland
Problem bei PWM für Modellbau-Servo
Hallo Jens,
danke für die superschnelle Antwort.Wink
Das mit dem Durchschleifen in der False-Schleife hab ich gemacht, Fehler behoben. Wenns denn so richtig ist?!
Hab das VI gleich geändert und angehangen. Das mit der Berechnung hab ich jetzt auch verstanden, danke!
Achso, ich glaub die Frequenz ist noch nicht eingestellt, aber das tut ja erstmal nix zur Sache, oder?
Mit dem Oszi werd ich dann sicher mal probieren, mal schauen ob es geht.

danke
Steffen
Lv86_img


Angehängte Datei(en)
Sonstige .vi  projekt2.vi (Größe: 72,27 KB / Downloads: 355)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2009, 13:45
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Problem bei PWM für Modellbau-Servo
Sag mal, mit der Syntax des Formelknoten kommst du auch noch nicht zu Recht.
Ich rate mal, du wolltest wohl eher das hier? Wobei du dafür keine Formel brauchst:
   

Und vom Datenfluss her wird das auch keine Regelung/Steuerung werden!

Ablauf bei dir ist jetzt: Schleife mit DAQ-Assi startet und läuft solange, bis du Stop (F)-Taste drückst. Dann werden die letzten 100 Messwerte ausgegeben, dann gefiltert, dann eine neue Pulsbreite berechnet, diese gibst du an die Schleife weiter, in der Duty-Cycle gesetzt wird (aber es wird jetzt immer derselbe Dutycycle gesetzt!).

Gruß, 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
23.02.2009, 14:15
Beitrag #10

hotwheelz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Jan 2009

8.6
2008
de

12249
Deutschland
Problem bei PWM für Modellbau-Servo
Na danke das du mir sagst was ich alles nicht kann!Wink
Wollte nur mal nen kurzen Zwischenversuch machen, ohne richtigen Regler um halt überhaupt mal ein Ergebnis zu sehen. Wenns dann geht fang ich mit dem PID an.
Hab die Spannungsmessung jetzt in einer großen Schleife, Fehler zeigt er mir zumindest keinen mehr an.Rolleyes
Jetzt sollte es dann doch ne Art Steuerung/Regelung sein. Im Auto beeinflusse ich ja über die Stellzeit den Servo, das Auto lenkt und die Spannung ändert sich?!

Hier jetzt erstmal das vorläufige VI (LabVIEW Vers 8.6.)
Für Anregungen und Kritik bin ich offen. Morgen häng ich alles dann mal ans Labornetzteil und schaue was passiert.

Gruß
Steffen


Angehängte Datei(en)
Sonstige .vi  projekt2.vi (Größe: 79,77 KB / Downloads: 384)
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
  PWM Signal, Servo, DAQ 6216 Tobias012 7 6.476 19.02.2014 16:51
Letzter Beitrag: jg
  Servo Geschwindigkeitsregelung lwink 0 3.540 23.03.2011 14:42
Letzter Beitrag: lwink

Gehe zu: