為了搭建數位攝影棚和方便日後直播使用,透過施耐德步進馬達把程式寫入內建的控制系統,以電源+馬達+控制按鍵和旋鈕和極限開關的最簡單架構作成一個電動窗簾控制系統。透過旋鈕可以調整希望的開閤速度和力量,透過按鍵可以選定開啟或關閉,放開按鍵或觸發極限開關後則停止動作。
'[PROGRAMS]
' 2021.02.10 有時間的話,應該把各 input 的真值表列出後,依照真值表的狀態進行程式邏輯控制才可以減少不必要的動作。
' 0~10V 電位類比輸入的接法有問題, 日後待更新
PG 100
LB Su
P = 0 ' 位置計數器
A = 15000000 ' 加速度
D = 15000000 ' 減速度
VM = 6000000 ' 最大速度
VA Q0 = 0 ' 自定義變數(轉速, I5 * 400 + 110000)
VA Q1 = 0 ' 自定義變數(驅動電流%, 45~95 = I5/15*5+45)
MS = 256
D5 = 50
S1 = 0, 1, 1 ' 馬達正轉按鍵
S2 = 0, 1, 1 ' 馬達反轉按鍵
S3 = 0, 0, 0 ' 馬達反轉極限開關
S4 = 0, 0, 0 ' 馬達正轉極限開關
S5 = 9, 1 ' 調速電位器(0~10V, 但接法有問題, 數值只從0~152)
LB X0
Q0 = I5 * 400 + 600000 ' 110000 -> 600000
Q1 = I5 / 15 * 5 + 45
CL Z0, I2 = 0 ' 若按鍵2沒按則停止
CL Z0, I1 = 0 ' 若按鍵1沒按則停止
CL X1, I1 = 1 ' 若按鍵1有按則執行X1
CL Y1, I2 = 1 ' 若按鍵2有按則執行Y1
BR X0 ' 迴圈
LB X1
BR X2, I4 = 0 ' 若極限開關4未觸發則執行X2(開始旋轉)
BR Z0, I4 = 1 ' 若極限開關4已觸發則執行Z0(停止)
RT
' 馬達正轉
LB X2
RC Q1 ' 驅動電流會影響啟動速度, 若前移到 X0 可加快啟動速度
SL Q0 ' 以 Q0 的速度正轉
RT
LB Y1
BR Y2, I3 = 0 ' 若極限開關3未觸發則執行Y2(開始旋轉)
BR Z0, I3 = 1 ' 若極限開關3已觸發則執行Z0(停止)
RT
' 馬達反轉
LB Y2
RC Q1 ' 驅動電流會影響啟動速度, 若前移到 X0 可加快啟動速度
SL -Q0 ' 以 Q0 的速度反轉
RT
' 停止旋轉
LB Z0
SL 0
HC 0
RT
E
PG
'[END]
備註:
- 燒錄程式時,要先執行 FD 恢復原廠設定後才能寫入。
- 燒錄完成後,按 Ctrl+C 可重新載入程式執行。
- 按 ESC 可中止程式執行。
- 程式中 Su 為特殊標籤,該區段將在上電時自動執行。
- 燒錄時將程式碼貼上 Terminal 視窗即可,回到 > 命令提示時按 Ctrl + C 重新載入應該就會作動了。
|