基於STM32和FPGA的CAN總線運動控制器的設計

2020-12-15 電子產品世界

摘要:運用低功耗COrtex—M3微控制器STM32F103VBT6和FPGA晶片設計一種基於CAN總線運動控制器。介紹系統的體系結構、主要硬體設計和軟體結構。利用FPGA高速處理能力實現控制算法,與外界通信採用STM32CAN總線技術,系統穩定可靠,另外,將設計好的FPGA程序或是C程序進行封裝,系統的可移植性強。
關鍵詞:STM32;FPGA;CAN總線運動控制

如今,運動控制正朝著高速度、高精度、開放式的方向發展,從而對執行部件提出了更高的要求。過去的運動控制器主要是基於單片機或者PLC加上分立數字電路設計,受制於器件本身的性能,導致電路執行速度慢、體積龐大、集成程度低,升級難度大。而採用微處理器、DSP、FPGA等現代手段構成的只能控制系統是新一代運動控制發展的方向。本文對基於FPGA的嵌入式運動控制器進行了研究,並應用了CAN總線,使硬體接口簡單、實時性強、靈活度高,有很強的實用價值。

1 總體方案設計策略
本系統以意法半導體體公司生產的基於Cortex—M3處理器STM32F103VBT6晶片核心進行通信、數據的存儲以及鍵盤掃描和LCD顯示,它集成了CAN、SPI、USB、USART控制器,滿足系統的設計要求,簡化的系統的實現過程,豐富的函數庫大大縮短了用戶的開發周期。而FPGA作為系統主要的執行機構,利用其高速性進行算法實現、速度控制和位置控制,系統的整體構造如圖1所示。

本文引用地址:http://www.eepw.com.cn/article/201610/306828.htm



2 運動控制器的功能模塊設計
為了滿足整個系統的運轉,運動控制主要由通信和數據處理兩部分構成,通信和數據存儲由STM32負責進行,出於數據運算的複雜性和實時性,FPGA處理算法的實現。本設計相對龐大,模塊不一一介紹。
2.1 CAN通信模塊的設計
2.1.1 硬體設計
bxCAN是STM32內置的CAN控制器,支持2.0A和2.0B CAN協議,波特率最高可達可達到1 Mbit/s,包含3個發送郵箱,3級深度的2個接收FIFO,14個可變位寬的過濾器組,支持時間觸發通信模式,它的設計目標是以最小的CPU負荷來高效處理大量收到的報文,它也支持報文發送的優先級要求(優先級特性可軟體配置)。CAN硬體設計如圖2所示。


以CTM8251作為收發晶片,它不僅能完成收發功能,還具有DC2500V的隔離功能,使系統與外界隔離開來,簡化了CAN外圍的硬體設計,提高了系統的性價比,圖中120 Ω的電阻為可選用的終端匹配電阻,假如網絡中已經存在一對匹配電阻,則該電阻可以不使用,其中B82790是個共模扼流線圈,作用是抑制共模幹擾平衡差分信號的傳輸;本設計中採用比較常用的撥碼開關電路設置CAN網絡的ID地址和波特率;LED作為通信狀態指示。
2.1.2 軟體設計
針對STM32對外設的設置,我們只需要對相應的參數進行適當的配置就能滿足設計的要求,軟體部分主要任務只要進行CAN初始化和數據發送即可。本設計初始化模塊中只需要對CAN工作方式進行配置,而不需要對過濾器進行特殊的配置,部分初始化程序如下:

工作方式配置中最主要的是波特率的配置,本設計中採用AHB1作為CAN時鐘為36 MHz,所以要得到1 Mbit/s的波特率進行了以上的設置,即SJW=tq,BS1=3tq,BS2=5tq,CAN_Prescaler=4,所以波特率的計算如下:


2.2 FPGA電路的設計
FPGA電路主要實現運動控制的相關算法,包括加減速算法、檢測裝置算法、插補算法等算法的實現,是整個設計的關鍵部分,硬體設計主要包括FPGA的供電電路、時鐘電路和配置電路,都是相對比較常規的電路,在這裡不做介紹,文中主要介紹相關算法的實現。
2.2.1 加減速模塊
為了在電機啟動時為了在電機啟動時,避免電機在運行以及換速的過程中產生衝擊、超程、失步和振蕩等一些我們不想見到的現象。為了使執行機構能夠平穩和準確的定位,這就要求電機在開機到電機的速度達到給定的進給速度的過程中有一個加減速的過程,使其能夠平滑的過渡。避免速度的突變給電機帶來損傷。
S型曲線加減速是比較理想的控制加減速方法,但如何保證構造的曲線平滑、精確成為很多算法工程師研究的重點。如圖3所示,在加速的過程中,有3個不同的加速度區域。在開始階段,加速度是按線性方式以一定的加速度率K從0增加到固定的加速度值A。也就是說,這時驅動速度在a區域是按拋物線的方式增長;接著在b區域中,驅動速度是以一個恆定的加速度增長;最後,在c區域中,加速度則按照加速度率K線性減少到0。這樣,S曲線的加速度過程就可以看作是由a,b,c 3個區域構成的。在減速的過程中,同加速過程一樣,d,e,f區域中也是按拋物線的方式減速。


基於此本設計構造的速度、加速度、時間的對應函數如下:

S加減速在FPGA中的實現,如圖4所示。在已知給定加速度A、加速度率K、初速度V0、以及進給速度V和總的pwm脈衝數的情況下,就可以得到S加減速曲線。


圖5為本設計在Quartus II中的仿真波形,為了加快仿真的速度,特意在仿真而前對某些參數進行了修改。


本系統的加減速模塊的構造滿足速度和加速度曲線的構造滿足速度變化平穩,加速連續等條件,起始和終止速度與要求速度一致,加速度為0,加速度率K可以根據實際需要隨時調整,通用性很好。
2.2.2 光電編碼器模塊
本系統採用的閉環控制,反饋信號的精度直接影響定位、測速,在此採用增量是編碼器進行定位控制,增量式編碼器主要是利用兩個相差90度的方波信號A和B,和零位脈衝信號Z進行角位移和方向判斷(如圖6所示),從而達到了檢測位置的目的,此外,我們將A或B信號四倍頻,則計數脈衝的周期將減小到T/4,從而使角位移測量精度提高4倍。四倍頻後的編碼器信號,需經計數器計數後,才能轉化為相對位置。由兩個與非門、一個非門邏輯、D觸發器組成傳統的波形轉換電路,通過它來將A相、B相脈衝轉換成正向計數信號dz、反向計數信號df和方向(dir)信號,通過正反方向的數位訊號加減完成最終的計數,最終的仿真數據如圖7所示。



3 結束語
本課題研究是基於某品牌雕刻機控制系統設計進行的總結,旨在建立一種通用的運動控制器,通過該運動控制器以及系統其它部分的協同工作,整個控制系統實時性、可靠性好,滿足了控制要求。通信非常穩定,相關算法還有待優化。

  • STM32單片機中文官網
  • STM32單片機官方開發工具
  • STM32單片機參考設計

相關焦點

  • 一種基於fpga的多軸控制器,可以控制多軸電機的運動
    打開APP 一種基於fpga的多軸控制器,可以控制多軸電機的運動 工程師曾玲 發表於 2018-06-14 08:24:00
  • 基於STM32和CAN總線的電動車電池管理系統設計
    基於STM32和CAN總線的電動車電池管理系統設計 測控網 發表於 2014-05-21 11:02:39   隨著電池能源的廣泛應用,石油資源的枯竭和環境汙染,電動汽車以其節能環保的優勢引起越來越多的重視
  • 基於FPGA狀態機和片上總線的CompactPCI異步串口板設計方案
    編者按:摘要:首先簡要介紹了CompactPCI異步串口板的通常設計方法,並且提出了這些方法的不足之處,重點闡述了基於FPGA狀態機和片上總線的新設計方案,以及該方案的技術優勢,隨後公布了基於該方案的異步串口板達到的性能指標。
  • 基於CAN總線的機車實時監控系統
    近年來國內現場總線技術的成熟和不斷發展以及移動通信 gprs(通用分組無線業務general packet radioservice)的無線數據傳輸業務的成熟,使機車車輛的實時監測成為可能。為此,筆者根據自己實踐,介紹一種基於 can(controller area network)總線的機車實時監控系統。
  • 基於STM32的手機藍牙溫度視頻監控小車設計
    設計說明本設計採用手機的藍牙作為遙控器控制小車的行駛,同時將小車所在環境的溫度和周圍環境通過2.4g無線傳輸到電腦終端,實時監控。本設計是基於stm32微控制器實現的藍牙控制視頻採集小車。本設計用到的有藍牙模塊,l298n模塊,無線音視頻採集模塊,攝像頭模塊,無線音視頻接收模塊。DS18b20溫度採集模塊。
  • 基於控制器局部網CAN總線實現大型電機狀態監測系統的設計
    基於控制器局部網CAN總線實現大型電機狀態監測系統的設計 何效洲,盧博友 發表於 2020-12-18 10:23:23 引言 發電機組和電動機組是電能生產和應用的基本裝備
  • CAN總線各個功能模塊的設計
    本文使用VerilogHDL語言,設計了一款支持CAN2.0協議的CAN總線控制器,並利用FPGA晶片在CAN總線網絡中對其進行了測試,實現了設計目的。創新點為CAN_Registers設計中寄存器模塊、位流處理器的收發部分功能、測試程序、基於該FPGA的CAN總線控制器的節點電路等。
  • 基於CAN總線接口和模塊控制器實現組合工具機電控通信系統的設計
    基於CAN總線接口和模塊控制器實現組合工具機電控通信系統的設計 姜江;吳長奇;王 發表於 2020-04-05 09:00:00 一、引言 現代組合工具機裝備了大量的電子設備來滿足加工精度
  • 基於LPC2292控制器和CAN現場總線實現電力電纜溝道監測系統的設計
    基於LPC2292控制器和CAN現場總線實現電力電纜溝道監測系統的設計 陳東,孫萬榮,胡方 發表於 2020-12-14 10:27:40 1 引言
  • 基於USB的CAN總線適配器設計
    1 適配器硬體接口設計適配器硬體電路由微控制器、CAN總線接口、USB總線接口和DC-DC隔離電源模塊等組成。原理框圖如圖1所示。CAN總線接口使用Philips公司的獨立CAN總線控制器SJA1000,並由光耦6N136進行總線隔離。SJA1000是一種獨立控制器,用於移動目標和一般工業環境中的區域網絡控制,符合CAN2.0A和2.0B規範,最高速率可在達1Mbps。CAN總線收發器採用PCA82C250。PDIUSBD12是Philips公司推出的全速USB接口器件,完全兼容USB1.1規範。
  • 基於LPC2292的CAN總線智能節點設計
    但由於採用了許多新技術及獨特的設計,CAN總線與一般的通信總線相比,它的數據通信具有突出的可靠性、實時性和靈活性,目前的應用範圍已不局限於汽車行業,而是擴展到了機械工業、紡織機械、農用機械、機器人、數控工具機、醫療器械、家用電器及傳感器等諸多領域。
  • 基於can總線和無線技術的工業遠程集中監控系統的設計
    基於can總線和無線技術的工業遠程集中監控系統的設計 電子設計 發表於 2019-08-06 08:07:00 在工業控制中,需要將多個獨立工作的設備所產生的數據進行匯總
  • 基於C8051F040單片機的CAN總線和RS-232串口通信設計
    為了實現對CAN總線和RS-232串口雙向通信需求,提出了一種基於C8051F040單片機的數據通信方案,並完成系統設計。分析了CAN總線和RS-232串口的通信特點,介紹了單片機硬體,並對軟體的設計思路與流程做了詳盡描述,完成功能檢測。實驗結果表明,該設計達到了要求。
  • 基於LPC2294的CAN總線智能節點設計
    本設計給出的CAN總線智能節點設計方案,它採用內置多路CAN總線控制器的LPC2294作為主控制器,採用隔離CAN收發器CTM1050T作為收發器,使得該節點體積小、功耗低、抗幹擾性好,因而特別適用於汽車、工業控制以及醫療系統和容錯維護總線中。
  • 基於CAN總線控制系統的抓物機械手設計
    圖1 總體控制流程3 機械系統設計 設計的機械手是一種二自由度的抓物機械手臂。抓物機械手臂的抓物過程,可以用兩個電機分別帶動兩個活動臂的運動來完成。當控制物體高度的信號發出後,傳感部件將物體的位置(高度)信號傳遞給控制器,然後控制器發出高度控制信號控制步進電機,步進電機帶動中軸旋轉,從而使得與之扣合的橫臂運動,行走機械部分開始運動。當行走機械部分停止後,從外部發來一個手臂啟動信號,控制器發出抓物信號,經由集成驅動電路單元放大整合後發給伺服電機,使得機械手抓閉合,執行抓物。抓物過程結束後,手臂控制系統發送一個動作完成成功信號叫饋給控制電路。
  • 基於FPGA的DDR3多埠讀寫存儲管理系統設計
    由於FPGA具有強大邏輯資源、豐富IP核等優點,基於FPGA的嵌入式系統架構是機載視頻圖形顯示系統理想的架構選擇。視頻處理和圖形生成需要存儲海量數據,FPGA內部的存儲資源無法滿足存儲需求,因此需要配置外部存儲器。
  • 什麼是CAN總線,CAN總線的優勢和特點
    CAN,全稱為「Controller Area Network」,即控制器區域網,是國際上應用最廣泛的現場總線之一。1993年,CAN 已成為國際標準ISO11898(高速應用)和ISO11519(低速應用)。最初,CAN被設計作為汽車環境中的微控制器通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網絡。
  • 基於USB接口的CAN總線適配器設計
    1 適配器硬體接口設計適配器硬體電路由微控制器、CAN總線接口、USB總線接口和DC-DC隔離電源模塊等組成。原理框圖如圖1所示。CAN總線接口使用Philips公司的獨立CAN總線控制器SJA1000,並由光耦6N136進行總線隔離。SJA1000是一種獨立控制器,用於移動目標和一般工業環境中的區域網絡控制,符合CAN2.0A和2.0B規範,最高速率可在達1Mbps。CAN總線收發器採用PCA82C250。PDIUSBD12是Philips公司推出的全速USB接口器件,完全兼容USB1.1規範。
  • 基於CAN總線智能窗戶系統的設計實現
    摘 要: 本系統基於CAN總線,以單片機P8XC592和總線收發器PCA82C250為主體組成通信控制模塊。各個控制模塊為一個節點,每個節點可以獨立進行操作,同時受到總臺的監控。
  • 基於CAN總線的汽車開關電器盒設計
    1 汽車開關電器盒設計方案本開關電器盒採用的是基於Microchip 公司生產的PIC18F45K80 晶片作為主晶片的設計方案.該晶片不僅具有一般單片機所具有的全部功能,還集成有硬體CAN 協議模塊,晶片內部即可完成CAN 總線通信.採用本方案具有以下幾點優勢:其一是硬體集成了CAN 協議模塊,無需外接晶片,從而降低了產品製造成本;二是無需編寫