《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > 基于STM32和FPGA的CAN總線運動控制器的設計

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

2017-04-25

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

  關鍵詞:STM32;FPGA;CAN總線;運動控制

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

  1 總體方案設計策略

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

  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所示。

  b.jpg

  以CTM8251作為收發芯片,它不僅能完成收發功能,還具有DC2500V的隔離功能,使系統與外界隔離開來,簡化了CAN外圍的硬件設計,提高了系統的性價比,圖中120 Ω的電阻為可選用的終端匹配電阻,假如網絡中已經存在一對匹配電阻,則該電阻可以不使用,其中B82790是個共模扼流線圈,作用是抑制共模干擾平衡差分信號的傳輸;本設計中采用比較常用的撥碼開關電路設置CAN網絡的ID地址和波特率;LED作為通信狀態指示。

  2.1.2 軟件設計

  針對STM32對外設的設置,我們只需要對相應的參數進行適當的配置就能滿足設計的要求,軟件部分主要任務只要進行CAN初始化和數據發送即可。本設計初始化模塊中只需要對CAN工作方式進行配置,而不需要對過濾器進行特殊的配置,部分初始化程序如下:

  c.jpg

  工作方式配置中最主要的是波特率的配置,本設計中采用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所示。

  j.jpg

  k.jpg

  3 結束語

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


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]。
主站蜘蛛池模板: 国产乱码精品一区二区三上 | 欧美大陆日韩 | 精品一区二区三区免费爱 | 有码视频在线观看 | 免费一级毛片无毒不卡 | 岛国大片在线播放免费 | 性高湖久久久久久久久aaaaa | 日韩亚洲欧美综合一区二区三区 | 精品91 | 日日干日日操日日射 | 国产黄色a三级三级三级 | 日本在线加勒比 | 欧美亚洲另类在线 | 99久久99热久久精品免费看 | 国产精品青草久久久久福利99 | 欧美一区二区不卡视频 | 欧美日韩加勒比一区二区三区 | 日本美女黄色一级片 | 久9视频这里只有精品 | 韩国美女爽快一毛片免费 | 成人久久久观看免费毛片 | 在线精品一区二区三区 | av18在线播放| 免费观看a毛片一区二区不卡 | 日本三级香港三级人妇r | 国产理论视频 | 国产精品视频男人的天堂 | 美女视频永久黄网站免费观看韩国 | 黄色三级视频网站 | 国产波多野结衣中文在线播放 | 性夜影院爽黄a爽免费看网站 | 国产成人精视频在线观看免费 | 欧美日韩一区二区三区在线观看 | 亚洲一区二区三区久久久久 | 亚洲人成在线影院 | 99re免费99re在线视频手机版 | 中文字幕日韩一区二区 | 99久久精品免费看国产免费软件 | 国产在线精品一区免费香蕉 | 久久成人免费播放网站 | 久久厕所精品国产精品亚洲 |