2. 2
FPGA
模塊電路設(shè)計
FPGA
主要負責插補算法信息的處理
、
脈沖信號的輸出、
開關(guān)量的輸入和輸出
、
接收編碼器的差分信 號等。
(
1
)
差分輸入接口電路
U6
為四路差動信號接收器
,
用來接收編碼器輸出的差分信號,
將電機的位置信息反饋給
FPGA
。
接口電路如圖 5
所示


3
運動控制器軟件設(shè)計
通過觸摸屏
(
HMI
)
發(fā)送指令給
STM32
,
STM32 接收到指令后通過動態(tài)鏈表的形式將指令存儲于外部存儲器;
實時讀取存儲器
,
將運動軸的位置信息
、
速度信息返回給觸摸屏顯示,
同時將指令信息和插補算法數(shù)據(jù),
由
FSMC
傳到
FPGA
處理
;
最后由脈沖發(fā)生器產(chǎn)生脈沖指令給電機驅(qū)動器,
驅(qū)動電機轉(zhuǎn)動
。
運動控制器軟件設(shè)計框圖如圖 8
所示
。
4
S
形速度規(guī)劃算法的實現(xiàn)
S
形加減速可充分發(fā)揮電機性能
,
因其在加減速階段速度曲線呈 S
形而得名
。
令加速度的導數(shù)為常 數(shù),
改變其 大 小
,
可最大限度減小系統(tǒng)沖擊
[10-11]
。 整個加減速過程由 7
個部分構(gòu)成
[12-13]
,
如圖
9
所示
。 圖中:
l
為運動的位移
,
v
為速度
,
a
為加速度,j 為
加加速度
,
A
表示勻加速階段的加速度值
,
M
表示勻減速階段的加速度值,
T
i
(
i
= 1
,
2
,
3
,......,
7
)
為各階段的運行時間,
τ
i
(
i
= 1
,
2
,
3
,
......
,
7
)
為以各個起點作為 0
點的時刻
,
t
i
(
i
= 1
,
2
,
3
,
......
,
7
) 為各個過渡點時刻。
實際應(yīng)用時
,
m
1
~
m
4
的各階段
都需要判斷減速點
,
一般情況下
,
從
0
加速到最大速度和從最大速度減速到 0
所用的時間相同
,
即
T
1
= T3
、
T
5
=
T
7
。
?
結(jié)合圖
10
所示的流程
,
算法實現(xiàn)過程如下
:
步驟
1
,
初始化相關(guān)的參數(shù)
,
包括初始速度
、
目標速度 (
最大運行速度
)
、
加加速度
j
、
最大加速度
A
。
步驟
2
,
計算減速距離
d
ec
,
將
d
ec
與剩余距離
L
s 比較,
其中
L
s
=
L
e
-
L
c
,
L
e
表示指定目標位置值
、
L
c 表示當前位置值。
步驟
3
,
若
L
s
>
d
ec
則減速
,
否則加速或者勻 速 ( 此時如果到達最大速度則勻速
,
未到達則加速
)
。
步驟
4
,
根據(jù)步驟
3
的判斷
,
重新計算
a
v
、
v
v
、jv 并輸出。
步驟
5
,
當
L
c
=
L
e
時
,
到達終點
,
運動停止
,
否則重復步驟 2~ 5
。
文章來源:http://www.zghlxwxcb.cn/news/detail-795671.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-795671.html
6
結(jié)束語
本文作者提出了一種以
STM32
為主控制器
、
FPGA 為輔助控制器的運動控制器設(shè)計方案
,
完成了控制器硬件平臺及外圍電路設(shè)計,
將
S
形加減速控制算法融入到運動控制器中,
有效避免了運動時由于速度突變引起的過沖、
抖動等現(xiàn)象
,
提高了控制精度
。
對運動控制器進行測試,
結(jié)果表明
:
以
STM32+FPGA
為硬件架構(gòu)的運動控制器實時性好、
可靠性高
,
能滿足工業(yè)運動控制的要求。
信邁支持STM+FPGA運動控制器、ethercat總線定制。