2020年TI杯大學生電子設計大賽 無線運動感測器節點 作品開源( PCB、裝置/伺服器工程、檔案、測試視訊、設計報告)

2020-10-20 14:00:25

簡介

作者部落格主頁:
https://blog.csdn.net/weixin_44578655

該檔案及相關資料系博主參加2020年TI杯大學生電子設計大賽的作品,關聯部落格:
https://blog.csdn.net/weixin_44578655/article/details/109020022

資料連結(百度網路硬碟):
連結:https://pan.baidu.com/s/1WnXZ1bDB-cs1LRwfiP6rYg
提取碼:iqek

目錄:
在這裡插入圖片描述

原理圖、PCB

PCB是使用立創EDA繪製的,資料夾中的AD檔案是從立創EDA匯出的
匯出後邊框和字元可能會有點問題。
在這裡插入圖片描述

推薦使用立創EDA!
由於編輯檔案時,立創EDA的工程還未釋出:
可以過段時間檢視我的LCEDA開源首頁:
https://oshwhub.com/doee

  • ADS1292R心電採集模組
  • STM32F103C8T6最小系統模組
  • LMT70模組

板子三部分通過跳線帽連線作為一體使用,也可以掰開單獨使用.

微控制器的晶振使用的是8M有源晶振,另外晶振可以不用焊,程式預設使用的是內部晶振。

把LMT70的焊盤擴大了,好焊一些,但不知道測溫手觸控到焊盤會不會有影響。

為了元器件佈局緊湊些,沒有留元件字元標號。

伺服器端工程原始碼:

伺服器端編譯環境為VS2019,語言為C#
如果是初次接觸上位機編寫,給大家推薦一個基礎入門的上位機設計教學:
https://www.cnblogs.com/liaocheng/p/9144317.html

伺服器端工程的壓縮包包含多個工程:
在這裡插入圖片描述

最終使用的是上圖箭頭指向的版本。
在這裡插入圖片描述

在上圖的目錄下,有工程生成的exe檔案,可以直接執行

由於時間關係,該版本不完善,切換wifi和藍芽模式時,需要關掉重新開啟再切換。

藍芽對映出的串列埠預設波特率為115200
windows下如何更改藍芽虛擬串列埠的引數,詳見:

https://blog.csdn.net/px_528/article/details/70782059
TCP模式下的IP地址需要在原始碼中更改,所以如果不打算參考原始碼的話,這個伺服器端的軟體是沒法直接使用的(比賽時間緊張,很多細節無法完善)

裝置端各模組

裝置端的原始碼我儘量註釋,程式碼結構儘量弄清晰一些,也就比賽完這段時間有心情去整理了。

裝置端原始碼檔案結構

在這裡插入圖片描述

系統框圖:

在這裡插入圖片描述

軟體框架:

在這裡插入圖片描述

這是在報告裡寫的,為了高大上一點,就稱作「任務」了,不要被誤導,並不是多工!

系統所有模組均執行在main函數的大回圈中,通過軟體定時,實現各個模組的定時迴圈執行。
軟體定時方法,以按鍵掃描舉例:

	if(sys_tick - key_tick >= 10)	
	{
		key_tick = sys_tick;
		//按鍵掃描、處理等等
	}

其中sys_tick是全域性變數,每1ms會自增1(通過1ms的定時器中斷精確計數),用於系統執行計時(一般稱為系統時基),有了它可以方便實現軟體定時。
上述程式碼實現的效果是,每10ms,if判斷就成立一次,放在大回圈裡就可以實現10ms的定時,每10ms掃描一次,可以免去按鍵消抖,同時降低系統執行開銷。
每個模組的工作基本都採用這種方式實現軟體定時執行,方便設定定時週期。

在這裡插入圖片描述

關於ADS1292模組

連線線序
VIN—3.3V~5V
3V3—3.3V
GND—GND
DRDY—PA8
CS—PB12
CLK—PB13
DOUT—PB14
SDIN—PB15

其中「3V3」引腳專門為ADS1292模組的數位部分供電,減少對模擬部分的干擾。
提供兩種選擇:

  1. 使用外部的3.3V,也就是3V3引腳要接外部的3.3V,同時按圖示使用跳線帽將兩框選引腳短接。
    在這裡插入圖片描述

  2. 使用系統內部穩壓出來的3.3V,這時候3V3引腳可以不接,需要按下圖接跳線帽。

在這裡插入圖片描述

心電電極貼片的位置
購買下圖這種導聯線的話:

在這裡插入圖片描述

根據顏色,按下圖方式連線,測出的心電波形才是正確的。
在這裡插入圖片描述

關於陀螺儀模組

陀螺儀模組部分我使用的是一個冷門的模組,這個應用只用到pitch軸,因此使用普通的MPU6050就可以。

陀螺儀模組綁在腿上,實現步數測量,詳細內容參見設計報告。
在這裡插入圖片描述

關於藍芽模組和上位機

藍芽模組使用HC05

由於系統最初是使用藍芽上位機的,因此工程中保留了藍芽資料傳送部分。
在這裡插入圖片描述

配套的藍芽偵錯上位機為:

在這裡插入圖片描述

相當好用的一款上位機,在應用市場可以搜尋到,介面控制元件可以二次開發,這次電賽有好多做A題的組別都是直接使用的這款上位機,可以說這個APP作者拯救了一大波參加電賽的。

關於LMT70

LMT70可以通過IO口供電,這是手冊推薦的。
使用stm32自帶的12位元ADC,加入均值濾波後資料挺穩的。

關於esp8266

模組的具體型號為esp8266-01s,初始化部分主要為AT指令設定wifi和伺服器等。
在這裡插入圖片描述

esp8266是後期改的,由於板子上原來沒有留介面,就只能用藍芽的介面了,兩個模組的供電電壓不太一樣(藍芽:3.6-6,esp8266:3.3V),因此加了一塊洞洞轉接板,板上有穩壓模組(不能用AMS1117,由於系統供電是鋰電池3.7-4.2V,而1117要求壓差比較大,必須使用低壓差LDO才可以正常輸出3.3V,這裡使用的是TPS73233DBVR)
在這裡插入圖片描述

關於螢幕

連結:
https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-22419023648.11.103e497cFxRZgy&id=526022333035
在這裡插入圖片描述

選「老款不帶片選CS」

這種SPI驅動的LCD重新整理速度還可以,至少心電波形的實時顯示還是可以滿足的。

店家提供stm32部分的原始碼,設計PCB的時候也是按照螢幕例程中的引腳定義來的(使用硬體SPI)。

裝置外殼

外殼使用solidworks繪製,材質:亞克力、銅柱,裝置:雕刻機、手。
最後一天時間比較急,手殘把螢幕的安裝孔畫錯了,也能湊合裝。
在這裡插入圖片描述

設計報告

設計報告我們抽出整整一天來寫的,真實反映了作品內容,報告上的相關方案也是實際採用的方案。

word版本的設計報告包含了Fir濾波器理論計算部分(pdf版本是最終提交的版本不含這部分)。隊友這塊的理論分析寫的超認真,但由於最後超頁數了,提交之前被我一刀砍了。

製作成本

ADS1292R:30rmb左右一片
stm32f103c8t6: 10rmb
LMT70:10(不好焊) (自己做就別用這個玩意兒啦,換成NTC也可以)
其他元件<30rmb
螢幕:加郵費46
鋰電池+充電模組等:< 15rmb (3.7V小電池就行)
藍芽/WIFI模組:<15rmb
陀螺儀模組:如果使用MPU6050的話,5rmb就可以買到
導聯線:加郵費30
心電電極:20
總共200rmb左右,相比電賽期間某寶動輒300+的單獨心電模組真是智者見智了。