AGV項目底層總結一

研一入學後剛好趕上實驗室的AGV項目,主要負責AGV車體的驅動和上層ROS端的指令數據交互。斷斷續續做了將近4個月(別問我爲什麼是斷斷續續——甲方的需求就是斷斷續續提的),涉及車體驅動器的驅動、底層硬件平臺PCB的繪製、軟件代碼的編寫。個人感覺收穫甚多。現在來從芯片的使用和代碼設計技巧兩方面對項目進行總結。

芯片的使用

項目中所用的核心芯片採用STM32F103ZET6;通信芯片採用CAN、RS485、RS232;電路保護芯片採用運放LM358、光耦TLP521-4。

  1. CAN
    CAN通信數據的成幀處理功能的實現需要滿足兩個條件:CAN控制器與CAN收發器。
    CAN控制器用於將欲收發的信息(報文)轉換爲符合CAN規範的CAN 幀,通過CAN收發器,在CAN-BUS上作信息的交互,實現CAN總線的協議底層以及數據鏈路層。CAN發送過程中進行位填充、添加CRC校驗、應答檢測等操作;CAN接收過程中進行收發比對、去位填充、執行CRC校驗等操作,此外還需要進行衝突判斷、錯誤處理等諸多任務。CAN控制器芯片可分爲兩類:獨立的控制器芯片(如SJA100)與結合微處理器的控制器芯片(如STM32芯片),這裏選擇第二種。
    CAN收發器是CAN控制器和物理總線之間的接口,將CAN控制器的邏輯電平轉換爲CAN總線的差分電平,在兩條有差分電壓的總線電纜上傳輸數據。這裏採用的是philips公司生產的高速TJA1050芯片。
    TJA1050是CAN協議控制器和物理總線之間的接口,最初是應用在波特率範圍在60K波特到1M波特的高速自動化應用中。TJA1050可以爲總線提供不同的發送性能,爲CAN控制器提供不同的接受性能,而且它與"ISO 11898"標準完全兼容。TJA1050芯片原理圖與引腳功能如下圖所示:
    在這裏插入圖片描述
  2. LM358運放
    LM358是雙運算放大器,常用來做電壓信號採集的前端電壓跟隨器,同時起到增加輸入阻抗的作用,避免影響被測量的電壓值。需要注意的是:LM358當工作在單電源5V供電時,當IN+從0—5V輸入,其輸出電壓OUT只能從0—3.7V,而不是0—5V,換句話說,當IN+輸入0—3.7V時,電壓可以跟隨到OUT,當輸入大於3.7V時,輸出會保持在3.7V。下圖所示是兩種LM358運放引腳圖,兩者只有通道數量的差異。
    在這裏插入圖片描述
  3. 繼電器
    繼電器接法如下圖所示:1、3是繼電器的線圈引腳可以接到控制這個繼電器動作的電源上(接多少伏電壓具體看繼電器上有標);2是公共端,也就是2、5是常閉觸點;2、4是常開觸點。
    在這裏插入圖片描述
    需要注意的是一般繼電器吸合一定的電流來實現,這就是說需要繼電器前級輸出要達到一定的電流(數十毫安即可),若採用單片機作爲繼電器前級的話,爲避免單片機電流驅動能力不足需要在繼電器前端做一個放大電路,只要前級輸出電壓達到要求就可以觸發。具體如下圖所示:
    在這裏插入圖片描述
  4. RS485
    RS-485是一種基於差分信號傳送的串行通信鏈路層協議,由於它使用一對雙絞線傳送差分信號,屬半雙工通信的範疇。TTL電平到RS485電平的轉換多采用SP3485芯片實現,具體電路圖如下圖所示。
    RS485電平標準:
    邏輯1的電平爲+2swV,邏輯0的電平爲-2~-6V。
    特點:
    雙向傳輸,半雙工通訊, 最高傳輸速率10Mbps
    最大傳輸距離約爲1200m
    RS-485接口是採用平衡驅動器和差分接收器的組合,抗共模幹能力增強,即抗噪聲干擾性好。
    在這裏插入圖片描述
  5. RS232
    RS232是一種電平規範,當單片機與電腦串行通訊時,要用專用芯片進行電平轉換,實現在TTL電平和RS232電平的相互轉換。專用芯片選型5V的一般是MAX232或SP232,3.3V的一般是MAX3232或SP3232。具體電路圖如下圖所示。
    RS232電平標準:
    邏輯1的電平爲-3~-15V,
    邏輯0的電平爲+3~+15V,注意:電平的定義反相了一次。
    特點:
    (1) 接口的信號電平值較高,易損壞接口電路的芯片,又因爲與TTL 電平不兼容故需使用電平轉換電路方能與TTL電路連接。
    (2) RS232 可做到雙向傳輸,全雙工通訊 最高傳輸速率 20kbps。
    (3) 接口使用一根信號線和一根信號返回線而構成共地的傳輸形式, 這種共地傳輸容易產生共模干擾,所以抗噪聲干擾性弱。
    (4) 傳輸距離有限,最大傳輸距離15米。
    在這裏插入圖片描述引腳功能
    Pin1-RO-接收器輸出。 
    Pin2-RE-接收器輸出使能(低電平有效)。 
    Pin3-DE-驅動器輸出使能(高電平有效)。 
    Pin4-DI-驅動器輸入。
    Pin5-GND-連接地。 
    Pin6-A-驅動器輸出/接收器輸入(同相)。 
    Pin7-B-驅動器輸出/接收器輸入(反相)。 
    Pin8-Vcc
  6. CH340G
    CH340 提供常用的MODEM聯絡信號,用於爲計算機擴展異步串口,或者將普通的串口設備直接升級到USB 總線。CH340G芯片具體電路圖如下所示。
    在這裏插入圖片描述
  7. TTL電平與COMS電平
    上邊已經介紹了常見RS485電平、RS232電平,接下來介紹下TTL電平與CMOS電平吧。
    TTL電平標準:
    輸出 L: <0.8V ; H:>2.4V。
    輸入 L: <1.2V ; H:>2.0V
    TTL器件輸出低電平要小於0.8V,高電平要大於2.4V。輸入,低於1.2V就認爲是0,高於2.0就認爲是1。於是TTL電平的輸入低電平的噪聲容限就只有(0.8-0)/2=0.4V,高電平的噪聲容限爲(5-2.4)/2=1.3V。
    CMOS電平標準:
    輸出 L: <0.1Vcc ; H:>0.9Vcc。
    輸入 L: <0.3Vcc ; H:>0.7Vcc.
    由於CMOS電源採用12V,則輸入低於3.6V爲低電平,噪聲容限爲1.8V,高於3.5V爲高電平,噪聲容限高爲1.8V。比TTL有更高的噪聲容限。
    TTL電平與CMOS電平的相互轉換
    CMOS電平能驅動TTL電平;TTL電平不能驅動CMOS電平,需加上拉電阻。
  8. 光耦TLP521-4
    光耦合器(opticalcoupler equipment,英文縮寫爲OCEP)亦稱光電隔離器或光電耦合器,簡稱光耦。耦合器以光爲媒介傳輸電信號。對輸入、輸出電信號起隔離作用,又由於光耦合器的輸入端屬於電流型工作的低阻元件,因而具有很強的共模抑制能力。
    光耦合器的主要優點是單向傳輸信號,輸入端與輸出端完全實現了電氣隔離,抗干擾能力強,使用壽命長,傳輸效率高。它廣泛用於電平轉換、信號隔離、級間隔離、開關電路、遠距離信號傳輸、脈衝放大、固態繼電器(SSR)、儀器儀表、通信設備及微機接口中。具體引腳與電路圖如下圖所示。
    在這裏插入圖片描述實際項目中八路光耦隔離電路如下圖所示:
    在這裏插入圖片描述代碼設計技巧請觀看博客《AGV項目底層總結二》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章