STM32學習—如何選擇各個電路部分的主要晶片

2021-01-11 電子發燒友
STM32學習—如何選擇各個電路部分的主要晶片

李倩 發表於 2018-03-27 09:59:30

電路設計的基本過程一般是這樣的:需求分析——元件選型——原理圖設計——PCB設計——焊接調試。

▼需求分析:

在這裡,主要是確定小車需要哪些模塊、外設或接口。首先,STM32最小系統是必須的,這是小車控制的核心。然後小車的兩個輪子需要兩個H橋驅動和編碼器接口。需要陀螺儀感知小車的姿態(包括傾角,轉向角,角速度等)。需要一些調試和指示用的外設(蜂鳴器,LED等)。需要電源電路為系統供電。需要電池電壓採集電路來實時採集電池電壓,做低壓報警,防止電池過放。需要下載接口和調試用的串口。基本就是根據自己想要實現功能,然後確定需要那些部分的電路。

▼元件選型:

為需要的各個部分電路選擇元件,一般來說,主要是選擇何種型號、什麼封裝的晶片,對於一些比較特殊的電路,即使是電阻電容這樣常見的無源器件也需要認真選擇,然而平衡小車的電路中並不需要一些高精度或很高速的電路部分,所以,下面主要介紹如何選擇各個電路部分的主要晶片。

1.最小系統:考慮到小車的主控板可以作為今後做四軸或其他更高級的機器人的基礎電路,所以主控選擇了STM32F405RGT6,這款主控是M3內核的,主頻可以達到168M,有豐富的外設資源可以使用,性能非常強悍,非常適合以後的開發和拓展。

2.電機驅動:小車的兩個輪子電機需要兩個H橋驅動。驅動的選擇和電機的參數緊密相關。我選用的電機的正常工作電流360mA,並且考慮到小車在正常情況下基本不會出現賭轉的情況,並且為了儘量減小PCB板的面積,所以選擇了東芝的電機驅動晶片TB6612,該晶片有兩個集成的H橋,可以同時驅動兩個電機,每個H橋可以持續輸出1.2A的電流,PWM頻率可以到100kHz,晶片的供電電壓最大可以到15V,適合用3S電池供電,並且晶片封裝很小,節省PCB面積。

3.電源電路:主要考慮輸入電壓、輸出電壓、輸出電流等。小車電池採用3S鋰聚合物電池,放電率25C,以後做四軸還能用。電池的滿電電壓12.6V左右,電路中需要5V和3.3V的電源,因此需要選擇兩款款晶片將12V電壓降壓到5V,然後再將5V降壓到3.3V。12V-5V的晶片可以選擇MPS公司的DCDC降壓晶片MP2482,該晶片支持最大5A電流輸出,最大28V電壓輸入,0.8至25V可調電壓輸出,符合需求。5V-3.3V選用常見的AMS1117-3.3。

4.陀螺儀:選用MPU6050模塊,模塊自帶了軟體濾波算法,採用串口對外輸出數據,在115200波特率的情況下,每秒鐘可以輸出100幀的數據。

▼原理圖設計:

1.最小系統:包括stm32f405rgt6,晶振電路,復位電路。R2和R3用於配置啟動方式。C9和C12是單片機內部電源變換部分的濾波電容。最小系統基本都是一樣的,按照常用的電路設計一般沒有錯。那幾個電容式晶片的去耦電容,注意一下,模擬電壓、模擬地和數字電源、數字地之間用磁珠隔離,防止數字電路的高頻噪聲影響到模擬電路的精度。

2.電源電路:R22和R23將電池電壓分壓到1.2V,接到單片機內部的ADC引腳,監控電池電壓,防止過放。

3.電機驅動和編碼器電路:基本就是按照晶片datasheet上的參考電路設計的,注意做好電源去耦,因為電機的電壓較高、電流較大,容易通過電源網絡對其它電路產生影響。

4.陀螺儀:集成的模塊,沒啥好說的,把引腳連到單片機上就好了,簡單在電源腳上並一個電容做一下電源去耦(不做也無妨,因為模塊內部已經做了)。

5.CAN通信:在小車上並沒有用到CAN通信,但是CAN通信在現在的機器人設計中應用的非常廣泛。並且我們做小車本來就是要學東西的,加上調一下,多學習些知識,何樂而不為呢?CAN通信用的晶片是飛利浦的TJA1050,這是一個CAN收發器,stm32內部集成了CAN控制器。R4是阻抗匹配的電阻,在整個CAN通信網絡中有且只有兩個節點焊接此電阻,電阻阻值為120ohm。現在也還沒有深入學習CAN通信相關的知識,在以後調試CAN通信的時候再詳細學習吧。(^.^)

6.調試電路和其他的接口:SWD下載接口,USART調試串口,藍牙接口(根據選擇的藍牙模塊不同確定接口不同引腳的用途,比如使能腳、狀態輸入腳等,後面寫藍牙的時候詳細描述)。蜂鳴器和雙色LED燈用於調試和指示。另外又引出了幾個定時器的引腳,可以留作拓展使用。

▼PCB設計:

不詳細說了吧。注意事項主要有電源去耦(具體做法可以參考我之前關於電源去耦的博文)、線寬控制(大電流的走線要儘量寬)、開關電源的布局布線(一般來說主要記住三點就好了:一是晶片的SW的信號是電壓高,頻率高的開關信號,會對其他電路產生嚴重的幹擾,要儘量遠離敏感的電路。二是反饋網絡是很敏感的網絡,儘量避免受幹擾。三是電源的電流較大,注意線寬和過孔的數量、孔徑等,保證有能力通過這麼大的電流。注意了這三點,集成的DCDC電路一般沒有問題)等。

這裡貼一下板子正反兩面的3D效果圖:

▼焊接調試:也不多說了,平時多練練手,0603 QFP這些封裝的元件就能輕鬆搞定了。焊接的時候先焊接電源部分,上電測試電源沒有問題的話再焊接其他部分,否則一旦電源有問題,整板全白焊了。。下面貼一個焊接調試好了的實物圖。

就先寫這麼些吧。上面寫的比較囉嗦,也沒有什麼高大上的技術,差不多都是硬體電路設計需要的基礎知識吧。只是希望將自己設計這塊平衡小車電路板的過程比較系統和通俗的介紹一下,能將自己這實踐過程中學到的只是和經驗分享出來,沒怎麼接觸過這方面的朋友可以將其當作參考,快速入門。同時希望各位高手和達人能多多指教。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 如何設計在stm32中的復位電路?
    如何設計在stm32中的復位電路? 胡薇 發表於 2018-08-10 11:33:20 說到復位,我們都不會陌生,系統基本都有一個復位按鍵。
  • 詳解NFC電路中的各個主要零部件
    打開APP 詳解NFC電路中的各個主要零部件 TDK 發表於 2020-12-10 16:46:39 本期推文將為各位介紹用於NFC電路中的各個主要零部件 (NFC天線、磁性薄膜、LC濾波器用電感器、單端電路用巴倫、雙電層電容器(EDLC/超級電容器))。 將兩個支持NFC的設備互相靠近,可以進行數據通信、認證,這項功能近年來正在急速搭載到智慧型手機上。另外,在智能手錶等可穿戴終端等周邊設備上的搭載也在擴大。
  • Keil MDK下學習STM32注意事項
    在MDK下學習使用STM32也快兩個禮拜了,基本掌握了STM32在MDK環境下的開發流程和基本硬體程序的書寫。其間,遇到了許多問題,其中不少問題花費了我相當多得時間才得以解決,現將這些問題和解決方法列出。其中也有一些是學習過程中我覺得需要記下的注意事項。
  • avr單片機和stm32區別與優缺點分析
    可以廣泛應用於計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域。   avr單片機特點:   1. avr系列沒有類似累加器A的結構,它主要是通過R16~R31寄存器來實現A的功能。
  • stm32與pic單片機比較_哪個好
    其基於專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M內核,同時具有一流的外設:1μs的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表現,當然和MSP430的功耗比起來是稍微遜色的一些,但這並不影響工程師們對它的熱捧程度,由於其簡單的結構和易用的工具再配合其強大的功能在行業中赫赫有名…其強大的功能主要表現在:
  • stm32晶片被鎖,使用jlink就能輕輕鬆鬆解鎖
    如果一不小心將stm32開發板的晶片給鎖了,那原因可能是忽略了一個比較低級的問題,就是將stm32中的一些不能獨立使用的IO口給了高電平,stm32中有很多口是不能獨立使用的,如圖(以stm32103rct6  正點原子的mini板為例):(N:表示不能獨立使用,Y:表示能獨立使用)
  • stm32屬於arm嗎_arm和stm32的區別
    業內最強大的產品陣容,基於工業標準的處理器,大量的軟硬體開發工具,讓STM32單片機成為各類中小項目和完整平臺解決方案的理想選擇。按內核架構分為不同產品系列。   ARM本意是微處理器行業的一家知名企業,英國ARM公司是全球領先的半導體智慧財產權 (IP) 提供商。全世界超過95%的智慧型手機和平板電腦都採用ARM架構。
  • 如何學STM32- -十年經驗教你如何學習嵌入式系統
    一、如何學習嵌入式系統- - 嵌入式系統的概念本文引用地址:http://www.eepw.com.cn/article/263083.htm  著重理解「嵌入」的概念 ,主要從三個方面上來理解。因此這部分工作相對來講沒有太大意義。  4、應用層,相對來講較為容易的,如果會在windows下如何進行編程接口函數調用,到作業系統下只是編譯和開發環 境有相應的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統中涉及算法的由專業算法的人來處理的,不必歸結到嵌入式系統範疇內。
  • STM32關於GPIO的問題
    GPIO_PinSource8); GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);STM32中這兩句話的意思是PB口的8、9管腳作為外部中斷的觸發信號,所以Pin_8和Pin_9就要設置成輸入的模式,而GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU;中IPU是指IO口的工作模式是帶上拉輸入,這個和具體的電路
  • stm32全稱是什麼
    stm32全稱是意法半導體32位系列微控制器晶片。   ST即意法半導體(STMicroelectronics)。   意法半導體 (STMicroelectronics) 集團於1987年6月成立,是由義大利的SGS 微電子公司和法國Thomson 半導體公司合併而成。
  • 教你學習如何看懂電路原理圖
    作為電子維修人員,只有讀懂電路的原理圖,才能知道它的各組成部分的作用及各部分的相互關係,並進一步估算其性能指標,科學地運用器件;也只有讀懂電路的原理圖,才能改進電路性能,正確分析和排除故障。 那麼,我們怎麼才能讀懂電路的原理圖呢?下面隨我來看一下有哪些步驟和技巧吧。
  • ucosii在stm32上的移植詳解1
    1.目標晶片;2.ucosii內核原理。 雖然我們移植的目標晶片是stm32,但作業系統的移植基本是針對Cortex-M3內核(以下簡稱CM3)而言的,所以我們只需了解CM3內核就好了。stm32晶片就是CM3內核加上各種各樣的外設。 怎麼才能了解CM3呢?
  • 如何選擇合適的ARM晶片
    打開APP 如何選擇合適的ARM晶片 胡薇 發表於 2018-10-31 15:58:30 目前國內市場常見的ARM有NXP(Philips
  • STM32MP157開發板入門使用教程
    在開發板系統被破壞時,可以參考以下章節:《第七章 燒寫整個系統或更新部分系統》前面也介紹了在開發板上使用 NFS 跟 Ubuntu 互傳文件,如果傳文件時想使用更多的方法,可以參考以下章節:《第八章 PC 和開發板之間傳輸文件》如果想測試開發板的硬體,可以參考以下章節:《第四章 開發板板載功能測試》二、100ask_stm32mp157 開發板簡介
  • 如何計算共射極放大電路的各個參數
    如何計算共射極放大電路的各個參數。很實用。 實際在應用過程中,就是需要確定上述各個電阻的取值。 2.交流小信號放大電路(共射極放大電路) 圖1 上圖是基極分壓式共射極放大電路,更為常用的電路圖如下圖所示:(
  • 基於STM32的OV7670攝像頭總結
    先了解一下基礎知識:現在市面上的OV7670模塊分兩種:1、帶FIFO晶片;2、不帶FIFO晶片。當然帶FIFO的要貴一點~下面介紹帶FIFO和不帶FIFO的工作原理:    口速度根本達不到(stm32的IO速度,寄存器比庫函數快,博主之前測,用庫函數IO口速度好像是2.5Mhz,而用寄存器IO口速度是8M吧,速度相差較大~)。
  • 怎麼學習STM32單片機?看老司機是怎麼說的!
    本文引用地址:http://www.eepw.com.cn/article/201705/359058.htm  我不是說STM32不好,而是這種為了學習單片機而去學習單片機的思路不對。  你問,如何系統地入門學習stm32?  本身就是一個錯誤的問題。假如你會使用8051 , 會寫C語言,那麼STM32本身並不需要刻意的學習。
  • 基於STM32四軸飛行器參考電路設計
    控制晶片捕獲接收機的PPM命令信號,傳感器與控制晶片之間採用IIC總線連接,MCU與電調之間用PWM傳遞控制信號。 系統的核心晶片為STM32F103,常用工作電壓為3.3V,同時慣性測量傳感器,藍牙通信模塊的常規供電電壓也為3.3V,鋰電池的電壓為11.4V,要使系統正常工作,需要將11.4V的鋰電池電壓穩壓到3.3V。常用的78系列穩壓晶片已不再適用,必須選擇性能更好的穩壓晶片。
  • NFC晶片選型及基本電路框架
    NFC(Near Field Communication)晶片選型:主要考量點:晶片支持的協議、是否支持低功耗檢卡、是否能過金融認證、晶片價格晶片支持協議:ISO14443ALPCD 功能:晶片低功耗檢測卡片功能。沒有卡片靠近時,晶片處於低功耗狀態, 僅需10uA 電流,就能完成卡片偵測, 當卡片靠近時,晶片偵測到卡片,喚醒單片機讀卡。
  • 教你如何簡單看懂電路圖
    首先要學會看整機方框圖,要弄清楚整機是由哪幾部分(板塊或系統)組成,每一部分對信號進行怎樣的處理過程,各部分之間有什麼聯繫等。這些問題弄清楚了,對整機就有了大致的了解。在此基礎上,再去識讀各系統、各板塊的方框圖。要了解各系統、板塊主要由哪幾部分構成,每一部分的主要作用及對信號的處理過程,並要了解各部分之間的關係。這些問題搞清了,也就明白了在該系統中信號如何流動和如何處理的。