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 

Impulsgenerator programmieren mit myRIO-1900 FPGA



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.04.2017, 19:46
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Impulsgenerator programmieren mit myRIO-1900 FPGA
Hallo puh,

noch ein kleiner Nachtrag: wenn man die Methode mit dem Addieren eines Offsets für die Phasenverschiebung umsetzt, muss man noch eine Modulo-Operation hintendran packen, um im erlaubten Counter-Bereich (im Beispiel 120) zu bleiben. (Beispiel: Kanal1 ist bei 110, Kanal2 dann schon bei 110+20: 130 MOD 120 = 10.)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.04.2017, 16:17
Beitrag #12

puh Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Mar 2017

2016
2016
EN


Deutschland
RE: Impulsgenerator programmieren mit myRIO-1900 FPGA
Vielen Dank für den Nachtrag. Ich hatte mir heute schon ein wenig den Kopf zerbrochen, wie ich das am "simpelsten" lösen kann, da ich ja nur von 0-180° Phasenverschiebung problemlos addieren kann. An die Restwert Division hatte ich noch garnicht gedacht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.04.2017, 14:28 (Dieser Beitrag wurde zuletzt bearbeitet: 30.04.2017 14:28 von puh.)
Beitrag #13

puh Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Mar 2017

2016
2016
EN


Deutschland
RE: Impulsgenerator programmieren mit myRIO-1900 FPGA
Ich habe die Phasenverschiebung mittlerweile getestet. Für Phasenverschiebungen Delta.phase >= 0, funktioniert schon alles einwandfrei. Auch, wenn ich eine Phasenverschiebung >180° einstelle, funktioniert (z.B.: Amplitude Dreieck: 20 Ticks / Phasenverschiebung: 270° => 30 Ticks --> 30 Modulo 20 = 10 / Addition +10 & Umschalten auf fallende Flanke).

Sobald meine Phasenverschiebung (Delta.phase1 => muss eigentlich phase1 heißen) kleiner als 1 wähle, springt aber komischerweise mein Counter (Ticks N1) auf den Maximalwert (4294967). Aktuell habe ich keine Ahnung, was da wirklich gerade schief läuft. Weitere Details, siehe Anhang.

Ein weiteres Problem habe ich, dass ich die Phasenverschiebungsänderung (Delta.phase1) gerne bei Ausführung des Case-Befehls einmalig mit sich selbst subtrahiere, um den Wert 0 zu bekommen (z.B.: Addition +10 Ticks -> danach Subtraktion mit sich selbst => 0 und somit keine weitere Phasenverschiebung; erst bei Änderung des Wertes). Das funktioniert aber derzeit nicht.

Vielen Dank im voraus und schönes Wochenende.
LG


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

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Impulsgenerator programmieren mit myRIO-1900 FPGA
Hallo puh,

das blöde suboptimale an Bildern ist, dass sie sich mit LabVIEW so schlecht debuggen lassen…
Häng doch mal dein VI an!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2017, 08:33 (Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2017 08:45 von puh.)
Beitrag #15

puh Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Mar 2017

2016
2016
EN


Deutschland
RE: Impulsgenerator programmieren mit myRIO-1900 FPGA
Hallo Gerd,
da gebe ich dir Recht. Mein "Test"-VI, den ich auf meinem Rechner gerade ausprobiere, habe ich mal hochgeladen.

*EDIT*

Der Fehler mit dem Counter trifft ebenfalls auf, wenn die Phasenverschiebung größer als die Amplitude des Dreiecksignals ist.


Angehängte Datei(en)
16.0 .vi  Test2.vi (Größe: 38,37 KB / Downloads: 364)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2017, 10:39
Beitrag #16

puh Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Mar 2017

2016
2016
EN


Deutschland
RE: Impulsgenerator programmieren mit myRIO-1900 FPGA

Akzeptierte Lösung

Fehler gefunden und behoben!

Ich rechne beim Counter-Wert "0" über ein Inkrement "-1", wenn die Phasenverschiebung über 180° ist. Dadurch springt der Wert von 0 auf 4.294.967.289.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2017, 15:07 (Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2017 15:25 von puh.)
Beitrag #17

puh Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Mar 2017

2016
2016
EN


Deutschland
RE: Impulsgenerator programmieren mit myRIO-1900 FPGA
In den letzten Tagen habe ich einige Dinge abarbeiten können. Leider bereitet mir das Einbinden der Phasenverschiebung noch so ein paar Probleme. Zuletzt wollte ich über den RT die Phasenänderung (Delta.phi) per DMA auf meinen FPGA übertragen. Dort kam aber die Vermutung auf, dass ich für mehrere Zyklen diesen Delta.phi übertrage, obwohl ich nur eine einzige Änderung vornehmen wollte (Zykluszeit vom RT >> FPGA).

Daraufhin habe ich die Berechnung der Phasenänderung auf den FPGA umgelagert, womit sich das Problem bzgl. der Zykluszeit beheben sollte. Ich übertrage vom RT also nur noch die aktuelle Phasenverschiebung (z.B. phi1=180°) und nicht die Änderung (delta.phi). Auf dem FPGA habe ich die Änderungen vorgenommen und den Programm daraufhin kompiliert.

Aktuell habe ich folgende Probleme:
1. Die Phase verschiebt sich bei positiver Phasenverschiebung dauerhaft (Signal schwimmt --> Phase verschiebt sich dauerhaft, bis Wert "phi1" wieder auf 0 gesetzt wurde)
2. Bei negativer Phasenverschiebung lässt sich die Phase verschieben, allerdings wird bei -180° Phasenverschiebung auf beiden Phasen, die beiden Signale (die bei 0° vorher identisch übereinander lagen) nicht mehr gleich überlagert (-> Versatz des Signals). Wieso ich nur negative Phasenänderungen durchführen kann, erschließt sich mir bisher noch nicht.

Die Grundidee ist, dass ich die Phasenverschiebung immer nur beim 0-Durchgang vom Counter Signal, durchführe.

Habt ihr einen Rat oder evtl. auch eine Idee, wie ich die Phasenverschiebung sauber umsetzen kann und woran das Problem mit dem Versatz & der (nur möglichen) negativen Phasenänderung herkommt?

P.S.: Im unten eingefügten Test.vi ist die Programmierung nur für ein Signalpaar (Halbbrücke) programmiert. Auf dem FPGA habe ich die Signale natürlich dupliziert (für Vollbrücke bzw. 2 Halbbrücken), um den Vergleich zwischen zwei phasenverschobenen Signalen betrachten zu können.


Angehängte Datei(en)
16.0 .vi  Test2.vi (Größe: 37,92 KB / Downloads: 306)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sind Referenzen auf FPGA-Variablen in FPGA vi möglich? Felix777 2 7.992 26.10.2015 20:41
Letzter Beitrag: Felix777
  FPGA-Referenz öffnen: FPGA-VI nicht kompiliert LauraP. 9 13.342 17.03.2015 16:58
Letzter Beitrag: LauraP.
  Tutorials zu SENT und myRIO Slev1n 2 7.217 06.11.2014 22:51
Letzter Beitrag: Slev1n
  Kommunikation MyRIO mit IMU Fenris 0 5.558 13.09.2014 09:06
Letzter Beitrag: Fenris
  Bedienung Steuerung FPGA => DMA => RT(myRIO) lazaii 5 9.179 27.06.2014 12:30
Letzter Beitrag: Stefan_r
  Endliche Pulserzeugung mit myRIO (FPGA) Hoodi 6 8.670 06.05.2014 17:50
Letzter Beitrag: jg

Gehe zu: