NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

CompactRIO

已解決!
前往解決方案

請問

我是利用 CompactRIO 、 RT環境下 的 NI 9401(DIO卡) 來驅動步進馬達

而我的問題是

我是利用 NI 9401的PWM模式(500Hz,2000us)產生脈波來驅動,而我的步進馬達是需要給一個脈波就是動一步(正逆時鐘都一樣)

我有詢問過NI,他是說是要計時的方式來決定動幾步

但是我要如何設計程式為我需要動幾步就會給幾個脈波??

0 積分
1 條訊息(共 4 條)
4,626 檢視

在FPGA程式碼放一個for迴圈,for迴圈的N是多少,就會跑幾步。

 

至於跑多快,迴圈裡面的 timer 是多少而定。

0 積分
2 條訊息(共 4 條)
4,607 檢視
解決方案
接受者 reai47

Hi reai47,

 

 

假如您的步進馬達是給一個脈波動一步,

那麼您只需要設計 FPGA 程式,將 9401 的 Digital Output 控制依序輸出 High/Low 即可,

用一個簡單的迴圈並搭配 Loop Timer 來控制迴圈速度,輪流輸出 True 與 False 即可。

您也可以參考 FPGA 簡單的 Pulse Train Generation 的程式。

若是決定動10步,那麼只要設定一個 For Loop 輪流送出 True 與 False 各10次即可。

Jimmy Ko
0 積分
3 條訊息(共 4 條)
4,605 檢視
目前來說有解決了這問題,之後有其他的問題再來詢問  謝謝NI工程師
0 積分
4 條訊息(共 4 條)
4,599 檢視