安川交流伺服电机的驱动
? ? ? 實驗所用的器材為安川交流伺服電機(型號為SGM7J-01AFC6S)、安川交流伺服電機驅動器(型號為SGD7S-R90A00A002)、ARM9單片機開發板、SN75ALS174四路差動線路驅動器、24V開關電源。
? ? ?伺服電機位置控制原理:
? ? ?位置控制是通過上位裝置將脈沖串指令輸入到伺服單元,移動目標至目標位置。以輸入脈沖數來控制位置,以輸入脈沖的頻率控制電機的速度。
? ? ?實驗的的實現可分為兩部分:
? ? ?一、硬件接口
? ? ?所需要用到的硬件接口有伺服驅動輸入輸出連接器中的信號接地接口、脈沖指令輸入接口、符號指令輸入接口、通用順控輸入接口(伺服ON輸入)、順空輸入信號用電源輸入接口、禁止正傳側驅動輸入接口、禁止反轉側驅動輸入接口、ARM9上的pwm輸出接口、gpio接口。各接口連接方式如下:
? ? ?信號接地接口接單片機GND、脈沖指令輸入接口(7、8引腳)接差動線路驅動器的1Y和1Z(2、3引腳)、符號指令輸入接口接差動線路驅動器的2Y和2Z(5、6引腳)、伺服ON輸入接開關電源負極、電源輸入接口接開關電源正極、禁止正傳側驅動輸入接口和禁止反轉側輸入接口接開關電源負極、pwm的輸出接口接四路差動線路驅動器的1A(1引腳)、兩個gpio接口分別接到四路差動線路驅動器2A(7引腳)和1,2EN(4引腳)上。
? ? ?各接口的功能如下:
? ? ?脈沖指令輸入接口主要用于接受單片機發送的pwm脈沖波,以驅動電機轉動,通過調節pwm脈沖波的頻率來控制電機的轉;符號指令接口接受單片機發送的高低電平,用于判斷電機的正反轉,但符號指令為高電平時為正轉,為低電平時為反轉;不同的脈沖指令和符號指令組合形成一種輸入脈沖形態;電源輸入接口用于給伺服驅動器提供順控輸入信號用的電源;伺服ON輸入用于控制伺服電機的ON/OFF(低電平有效);禁止正轉側驅動輸入和禁止反轉側驅動輸入用于當機械運動超過可移動范圍時,停止伺服電機的驅動(超程防止功能,低電平有效)。
? ? 二、軟件接口
? ? 軟件接口主要用到pwm接口和gpio接口以及通過SigmaWin+設置參數,pwm接口通過Linux中的文件操作修改pwm的div、period、brightness三個參數可以設置pwm脈沖波的頻率和占空比。三個參數在目錄/sys/class/backlight/easy283-pwm.7下,文件操作時的文件名分別為/sys/class/backlight/easy283-pwm.7/div、/sys/class/backlight/easy283-pwm.7/period、/sys/class/backlight/easy283-pwm.7/brightness。gpio接口主要用來使能四路差動線路驅動器和發送信號指令,最后在運行程序之前,要通過sigmawin+軟件設置伺服驅動器的參數,用于選擇控制方式(位置控制)和指令脈沖的形態(符號+脈沖串指令)以及上位裝置位置指令輸出回路的方式(線型驅動器輸出回路)。
? ? ? 在進行軟件接口配置時,應注意以下三點:
? ? ? 1、在對period和brightness兩個參數賦值時,應當注意先給brightness賦值,再給period賦值,否則period的值將不會被修改,而只修改了brightness的值,造成pwm脈沖波的頻率沒有改變,而只是改變了其占空比。其原因是因為在開發板中period和brightness兩個參數的默認值均為400,但是brightness的值必須小于period的值,所以為了保證brightness時刻小于period的值,應該先對brightness賦值,在對period賦值。
? ? ? 2、在使用gpio接口前需要在向開發版內核寫入gpio的驅動文件,開發板在其/root目錄下提供了gpio驅動,其名稱為gpio_driver.ko,通過insmod gpio_driver.ko命令裝載驅動。但是若所操作的gpio在內核中一被復用為其他功能,則內核驅動可能失效,在使用時應避免這種沖突(在后面使用UART、I2C、SPI等時可能要注意)。
? ? ? 3、在設置pwm脈沖波時要注意脈沖波的最大頻率為4Mpps,且應先發送指令信號在發送pwm脈沖波,pwm脈沖波滯后指令信號的時間應大于0.5us,對于信號指令和pwm脈沖波本身還應滿足相應的電氣規格(一般若頻率不高(低于1MHz)時,可以不考慮,若頻率比較高,可參見安川電機伺服單元模擬量電壓、脈沖序列指令形產品手冊)。
? ? ?
? ? ? 編好程序運行時,可通過sigmawin+軟件對伺服單元進行監測,查看其各輸入輸出的狀態。
?
?
? ? ?幾點疑問,希望陳老師及各位師兄師弟幫忙解答:
? ? ?1、差動線路驅動器有什么作用,為什么pwm脈沖波和指令信號要用兩路輸入?
? ? ?2、伺服ON的輸入為什么要接開關電源的負極(既然是低電平有效,為什么我用開發板gpio口發低電平不能打開伺服ON),這樣不便于用軟件實現開關電機?
? ? ?3、實際使用中,伺服電機的啟停是通過斷開或接通伺服ON嗎?(這里是指啟停的狀態轉換不是指啟停的過程)
轉載于:https://www.cnblogs.com/wujing-hubei/p/4907019.html
總結
以上是生活随笔為你收集整理的安川交流伺服电机的驱动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 毫秒 转 年月日
- 下一篇: (二期)IOS调试技巧