新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于CPLD與絕對式編碼器的高精度高速伺服單元

        基于CPLD與絕對式編碼器的高精度高速伺服單元

        作者: 時間:2011-08-11 來源:網絡 收藏

         目前國內數控機床中的伺服電機一般都是配套增量式編碼器,而增量式編碼器的精度并不太高且輸出的是并行信號,欲提高其精度就必然要增大編碼器的設計難度和增多并行信號的輸出,這樣就不利于伺服單元與編碼器的長距離通信,而采用,除了其精度比增量式編碼器高幾倍以外,其信號的輸入輸出都采用高速串行通信,節省了通信線路便于長距離的通信,在編碼器的另一端,采用進行高速串行通信,再把收到的編碼器信息轉變為并行數據傳送給伺服單元中的DSP進行運算控制,本文將給出高速串行通信的軟硬件設計方案。

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

          硬件設計

          硬件主要由電源、CPLD及其外圍電路和絕對式編碼器接口電路三個模塊組成。

          電源模塊

          電源模塊由開關電源電路和DC/DC電源芯片組成,如圖1所示。

        電源模塊由開關電源電路和DC/DC電源芯片組成

          圖中的開關電源將220V交流電網電壓轉變成+5V,+15V,-15V,開關電源可濾除電網中存在的各種干擾,并且開關電源中的變壓器將220V AC與輸出的+5V,+15V,-15V隔離開,內部電路還采用了TL431調節開關管的導通脈沖寬度,因此開關電源的抗干擾、安全性、穩定性及穩壓程度都比較好,TPS7333是DC/DC芯片,它將+5V的直流電壓轉變成+3.3V的穩定直流電壓供給CPLD使用,TPS7333轉換效率、可靠性和穩壓性都比較好,它在輸入電壓為+3.77V-+10V的電壓范圍內都能轉換出+3.3V,使CPLD不受輸入電壓過高導致其燒壞。

          CPLD及其外圍電路模塊

          CPLD及其外圍電路模塊主要由CPLD、CPLD編程下載接口電路(JTAG接口),DSP接口電路、有源晶振、電平轉換電路和ADM485及其外圍電路(負責與編碼器通信的接口電路)組成(圖2)。

        硬件整體結構框圖

          本設計CPLD采用Altera公司的EPM570T144C5,此芯片屬于Altera公司的MAX II,MAX II相對MAX I成本更加低,功耗更加小,而器件的宏單元數更加多,且器件延時控制在6ns以內,具有很高的性價比,EPM570T144C5有570個宏單元數,芯片的引腳數目為144個,其中可用的I/O口有116個,因此此芯片的資源已經足夠用。CPLD主要負責與絕對式編碼器的高速串行通信,并受控于DSP的命令把接收到編碼器數據和其他信息并行的轉送給DSP。

          JTAG接口主要用于下載可執行文件到CPLD,在PC機安裝Altera公司的開發環境-QUARTUS II,并在此開發環境中將編寫好的VHDL程序進行編譯,保證編譯不出錯并且保證功能已實現后,連接好下載電纜到JTAG接口,通過QUARTUS II提供的編程下載工具,對CPLD電路板進行下載。

          DSP接口就是由8根數據線,3根地址線和1根控制線組成的,8根數據線負責轉送編碼器數據及其其他信息,3根地址線負責傳送DSP命令,在CPLD終端進行譯碼,CPLD根據譯碼得出的命令將編碼器數據或其他信息通過8根數據線傳送到DSP,控制線主要是完成CPLD與DSP同步控制。

          20M有源晶振主要是為CPLD提供基準時鐘,在時鐘信號的驅動下,供CPLD產生2.5Mb/s的波特率與編碼器進行通信,和產生10M赫茲時鐘供一些邏輯控制信號使用,此晶振提供20M赫茲的時鐘頻率,需要電源提供3.3V的直流電壓。

          電平轉換電路主要負責將3.3V電壓轉換成5V或將5V電壓轉換成3.3V,因為CPLD的核和I/O口需要的供電電壓都是3.3V,而ADM485和絕對式編碼器所需的供電電壓和I/O口驅動電路都為5V,所以需要用電平轉換芯片LVC4245A將3.3V轉換成5V電壓或將5V轉換成3.3V。

          ADM485及其外圍電路是CPLD與絕對式編碼器高速通信的硬件銜接。ADM485工作電壓為5V,其最大通信速率為5Mb/s,采用2個ADM485芯片進行對接通信可提高通信線路上的抗干擾能力,最長的傳輸距離可達1.2km。其外圍電路如圖3所示,虛線的右半部屬于絕對式編碼器的外圍電路,上拉和下拉電阻都是1K歐姆,限流電阻則是220歐姆,ADM485的SDAT是數據輸出引腳,ADM485是SRQ是數據輸入引腳,ADM485的DE是外部控制引腳,該腳受CPLD控制,由于RS-485通信協議屬于半雙工,所以ADM485只能處在發送數據或接收數據的狀態,當ADM485得DE為高電平時,ADM485處于數據輸出狀態(即CPLD接收數據),當ADM485的DE為低電平時,ADM485處于數據輸入狀態(即CPLD發送數據)。

          絕對式編碼器接口模塊

          絕對式編碼器接口模塊是指絕對式編碼器內部的電源及信號輸入輸出接口電路,其電路與上述的ADM485及其外圍電路是一致的,同樣是采用ADM485芯片及一些上拉、下拉及限流電阻,如圖3所示,虛線的左半部就是絕對式編碼器內部接口電路,它負責與外部ADM485(虛線的右半部)銜接,ADM485受編碼器內部的控制芯片所控制,當編碼器受到CPLD發來的命令之后,控制芯片做出判斷后發送出相應的數據,同時控制ADM485的DE為高電平,即使ADM485處于發送狀態,當發送完數據之后,控制芯片又使ADM485的DE處于低電平狀態,便于隨時接收CPLD發來的命令。

        伺服電機相關文章:伺服電機工作原理


        分頻器相關文章:分頻器原理
        上拉電阻相關文章:上拉電阻原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 民县| 商丘市| 东莞市| 惠来县| 临颍县| 柯坪县| 鹤岗市| 志丹县| 新宾| 普陀区| 连州市| 平武县| 拜城县| 木里| 紫云| 花莲市| 咸阳市| 黄大仙区| 旬阳县| 康乐县| 邵阳市| 仁化县| 西乌珠穆沁旗| 金乡县| 嵊泗县| 洛南县| 广州市| 汉沽区| 竹北市| 安远县| 敦煌市| 鹤峰县| 泾川县| 潜山县| 莫力| 乌兰浩特市| 海丰县| 堆龙德庆县| 元氏县| 扎鲁特旗| 涟水县|