新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CNC步進電機控制4 -積分器

        CNC步進電機控制4 -積分器

        作者: 時間:2024-01-17 來源:EEPW編譯 收藏
        秘訣

        在我們的實現中,PC不會向發送任何位置或速度信息。 相反,它會發送加速度和時間信息。 使用將它們轉換為速度和位置(并相應地驅動階躍/二極管信號)。

        本文引用地址:http://www.104case.com/article/202401/454913.htm

        因此,我們的運動控制器充當加速度。 這很容易實現,因為在中,只是一個累加器。 以下“C”代碼說明了FPGA在每個時鐘周期的性能:

          // Acceleration is known (provided by the PC)
          Speed += Acceleration;
          Position += Speed;
        加速積分器示例

        讓我們舉個例子來說明:我們想將軸移動 +50。

        我們可以做到以下幾點:

        1. 加速 +1 持續 5 個時鐘周期。

        2. 加速 0 5 個時鐘周期。

        3. 加速 -1 5 個時鐘周期。

        經過 15 個時鐘周期后,我們的積分器已達到位置 +50。

        周期加速度速度位置
        0000
        1+1+1+1
        2+1+2+3
        3+1+3+6
        4+1+4+10
        5+1+5+15
        60+5+20
        70+5+25
        80+5+30
        90+5+35
        100+5+40
        11-1+4+44
        12-1+3+47
        13-1+2+49
        14-1+1+50
        15-10+50

        很簡單,對吧?

        定點精度算術

        現在出現了一個問題:FPGA時鐘的運行速度比步進器接受的步進要快得多。 因此,計算必須對小數進行。 例如,我們可以確定上面的位置 50 實際上代表硬件中的 0.000050mm。

        經過慎重考慮,我們決定使用 64 位定點精度算術。
        更多細節:

        • 加速使用 16 位。

        • 速度使用 40 位。

        • Position 使用 64 位。步進器位置位于 20 個有效位(位 44 到 63)中。每當步進位(位 44)發生變化時,就會向發送一個步進脈沖。

        當然,對于 3 軸系統,我們每個都有 3 個(3 個位置、3 個速度和 3 個加速度寄存器)。 PC 提供 3 個加速度數字組(每個加速度數字 16 位)加上持續時間,FPGA 使用積分器自動計算速度和位置。

        上一篇:CNC步進電機控制3 -運動控制器

        下一篇:CNC步進電機控制5 -FPGA運動控制器



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 苗栗县| 出国| 山丹县| 南陵县| 缙云县| 彩票| 海宁市| 武宣县| 措美县| 清涧县| 湄潭县| 泸西县| 罗甸县| 八宿县| 隆德县| 绥江县| 土默特右旗| 多伦县| 右玉县| 西宁市| 襄樊市| 东宁县| 平塘县| 虹口区| 桑日县| 漳州市| 金堂县| 张北县| 平远县| 方正县| 江安县| 东乌珠穆沁旗| 乌拉特前旗| 汉中市| 宣化县| 海门市| 福安市| 湛江市| 江津市| 隆安县| 宁陵县|