聲明:該設計資料來源于立創(chuàng)社區(qū),僅供網(wǎng)友學習參考,不可用于商業(yè)用途。
基于STM32 的 USB溫濕度計概述:
該USB溫濕度計基于STM32F070F6P6 設計完成。STM32F070F6P6 是ST公司新出品不久的一款 ARM Cortex-M0芯片,內(nèi)置 32 Kbytes Flash,6K SRAM,12Bit ADC,運行主頻48MHZ,支持USB 2.0 SLAVE通信接口,更重要的是它是TSSOP20封裝的!
曾經(jīng)在立創(chuàng)商城上,有個SHT30溫濕度計的方案驗證板,但該設計有個麻煩的地方,那就是需要另外接串口裝置才能觀察到MCU測量得到的SHT30溫濕度數(shù)據(jù)。為此本人,決定用帶這款支持USB通訊功能的STM32F0x0超值系列ARM芯片--- STM32F070F6P6,結(jié)合溫濕度傳感器AM2320,制作一款USB溫濕度計。
它使用很簡單:直接插入PC機的USB端口,然后打開串口助手之類的軟件,即可觀察到現(xiàn)場的溫濕度數(shù)據(jù)。通過這個制作,大家可以學習一下AM2320的I2C和單總線的驅(qū)動方法,還有如何使用ST的Cube MX軟件來實現(xiàn)一個USB轉(zhuǎn)串口(USB TO CDC)的通信設備。
系統(tǒng)構(gòu)架圖:
系統(tǒng)解說:本系統(tǒng)有二大部分組成,分別是:支持USB通信的ARM Cortex-M0主控芯片 STM32F070F6P6和AM2320數(shù)字式溫濕度傳感器。
視頻演示:
作品亮點
① 無需額外儀器裝置,直插到PC后運行串口助手軟件即可觀察到實時的溫濕度數(shù)據(jù)。
② 采用引腳緊湊、低成本、同時支持USB通信的Cortex-M0 AMR STM32F070作為主控。
③ 使用出廠時己校準數(shù)字信號輸出的AM2320作為傳感器單元。插件,極易好焊接!
④ 溫度分辨率是: ±0.1度,精度±0.5度;濕度分辨率: ±0.1%RH,精度:±3%RH
⑤ 提供2種演示范例,支持單總線和標準I2C 兩種通信方式來驅(qū)動AM2320傳感器。
⑥ 板上STM32F070的全部I/O都被引出,可當作一個低廉的最小系統(tǒng)板、開發(fā)板使用。
⑦ 本方案驗證板采用USB BUS總線供電,無需額外再提供電源。
原理圖分為多個部分,逐個詳見分析講解,詳見“相關文件”進行下載
USB溫濕度計實物展示:
軟件部分的描述
限于篇幅,這里不太方便展示全部代碼,比如USB通信實現(xiàn)和單總線、I2C總線驅(qū)動溫濕度傳感器AM2320等等。需要指出的是,USB通信部分,本人直接采用了ST官方出品的STM32CubeMX軟件,該軟件是一個基于GUI界面配置軟件,通過鼠標操作芯片的配置和功能,最終該軟件即可自動產(chǎn)生初始化代碼和一個應用程序框架范例。本電子制作就是使用這個默認生成的USB轉(zhuǎn)串口(USB CDC協(xié)議)應用程序,然后添加相關的溫濕度采集驅(qū)動完成的。
調(diào)試過程和應用實例
按前面提供的BOM清單,正常焊接完畢后,接著把HEX燒錄到ARM STM32F070F6P6芯片,即可完成準備工作。隨后,將USB電纜把該PCBA電路模塊和電腦鏈接起來(如果Windows 系統(tǒng)提示需要安裝驅(qū)動程序,那按默認位置按照即可)。最后,打開串口助手之類的軟件,即可觀察到現(xiàn)場的溫度和濕度數(shù)據(jù)。
總結(jié)
STM32F070F6P6 是一個內(nèi)置USB功能、性價比很高的芯片,結(jié)合AM2320實現(xiàn)了比之前SHT30方案驗證板更好的應用體驗。該PCB板設計時,把STM32F070F6P6的全部I/O都引出了,因此,該板可當作一個低廉的最小系統(tǒng)板、開發(fā)板使用。如果想學習ARM Cortex-M0 芯片的應用,特別是USB總線通信的實現(xiàn)過程,那本文介紹的這個電子制作作品和PCB空板,是一個不錯的入門選擇!
基于STM32F070和AM2320的USB溫濕度計實驗板購買鏈接:https://www.szlcsc.com/product/details_97773.html