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