你點擊藍字關注,回復“入門資料”獲取單片機入門到高級開掛教程
文 | 無際(微信:603311638)
個人原創 | 第 106 篇
全文約2095字,閱讀大約需要 10 分鐘
大家好, 我是無際單片機編程徐工。
今天跟大家伙來聊下一個智能電子產品的設計框架,讓大家熟悉工程師到底是怎么產品的。
老板突然要給你一個新的需求,要你做一款自己不熟悉的產品,第一感覺都是懵的,不知道這個產品的工作原理是什么?用的是什么方案,什么芯片?
我們首先是買個同行的樣品回來研究一下,看別人是怎么做的,然后在別人樣品的基礎上優化升級,做出自己的產品。
比較郁悶的事情就是買回來的樣品,芯片的絲印被打磨了,或者找不到芯片相關的資料。
對于電子工程而言,個人從事的行業不一樣,個人的經歷和經驗也局限于自己做過的產品,即便再有經驗的工程師,碰到自己沒有做過的產品都是一樣。
設計一款電子產品,首先是要確定產品的設計方案。
產品的設計方案決定著產品設計的成功與失敗,比較重要,所以我們在產品方案確定的時候,我們會不斷的比較不同的方案,不同的模塊,最終確定自己的產品設計。
今天,我們就以無際單片機編程給學員的第二個項目“WIFI防盜報警網關”為例,給大家比較透徹的解析一下硬件設計的過程。

第一步:根據產品的需求,確定產品設計的方案
先把產品的需求按照功能進行拆解成幾個部分,然后逐個確定方案。
WIFI防盜報警網關的需求我們需要拆解成四個部分:
1.WIFI無線通訊(廣域網)
2.ASK無線通訊(局域網)
3.用戶交互
4.單片機(核心微控制器)
1.WIFI無線通訊(廣域網)
WIFI無線通訊模塊可以選擇的非常多,其中比較熱的包括上海樂鑫ESP8266、ESP32,有人科技的USR-C210、USR-216、WIFI232-B2/A2、涂鴉科技的WRG1等。
不同的模塊的比較,各自有各自的優勢,我們最終選擇的是涂鴉科技的WRG1,為什么選擇涂鴉科技的?
ESP8266、ESP32、USR-C210等WIFI 模塊,我們之前在產品設計中也有過應用,比較熟悉,但這些模塊需要自己搭云服務器,開發手機端APP。
搭建云平臺服務器,開發手機端APP(安卓和IOS),至少需要幾十萬成本。
而涂鴉科技,只要我們購買它們的模塊,就可以免費使用涂鴉科技的云平臺,并提供的SDK包,支持自行生產手機應用端APP。
雖然APP有點雞肋,但是拿來二次開發一下還是比較爽的。
不僅幫我們省了成本,還大大縮短產品開發周期。
最終選擇了的WIFI模塊是涂鴉科技的WRG1 這個型號模組。
2.局域網無線通訊(ASK)
ASK技術相對非常成熟,我們直接選擇市面上比較成熟的模塊即可,而且成本也不是很高。

3.用戶交互設計
輸入操作:按鍵輸入
輸出部分: LCD顯示、蜂鳴器、喇叭報警聲輸出。
按鍵操作:向上、向下、向左、向右、確定、取消 6個按鍵操作
LCD 顯示: 我們選擇的128×64 OLED 液晶屏顯示,
蜂鳴器和喇叭輸出比較常規,我們就在這里不講了
4.單片機選型
單片機型號: STM32F103.
我們開發的WIFI報警主機最主要是為了讓大家通過這個項目學習掌握STM32單片機常用外設資源的使用。
當然,別看硬件沒多少東西,核心價值在程序,至少我從事開發13年,能寫出這種代碼架構的工程師沒超過5個。
至于單片機,我們選擇出貨量比較大的通用型,在這里就不多談了。
第2步:確定供電方式和電源電路設計
很多兄弟可能覺得電源設計比較簡單,這是一個比較危險的想法,因為電源是產品最重要的環節之一,很多硬件出問題,都是因為電源設計不合理導致的。

電源設計注意事項:
報警主機的系統工作電壓:
WIFI報警主機系統的所有模塊,包括WIFI模塊,蜂鳴器、ASK無線接收,喇叭、單片機等都支持3.3V 供電,所以選擇3.3V供電。
外部輸入的電壓通常有5V、9V、12V、24V、220V等,不能直接滿足系統的供電要求,需要增加電源轉換電路。
WIFI報警主機是通過USB 5V供電,我們需要增加5V轉3.3V的電路。我們選擇的電源芯片是XL1513E,可以滿足5V轉換3.3V的要求.
供電電流:
根據各自模塊的工作電流確定,系統的正常的工作電流大概在100mA 左右,主要wifi模組占了80%以上。
喇叭報警電流100-200mA 左右,XL1513E的供電電流支持2A,遠遠的超過電路需求,可以滿足產品設計。
系統紋波處理:
最后實測紋波平均在80mv左右,也能滿足。
第3步:測試驗證設計方案的可行性
通過以上的兩步,確定了電路設計的整體框架,接下來就需要測試驗證設計的合理性,并要確定設計的可行性。
對于自己比較熟悉的,有豐富的經驗,直接使用就OK。
自己之前沒有使用過的芯片或模塊,我們需要提前測試,簡單的驗證一下方案的可行性。
喇叭,蜂鳴器,按鍵,ASK等我們比較熟悉,我們著重測試了涂鴉科技的WRG1模塊,確定模塊的可行性。
通過1-2周的開發測試驗證,確定涂鴉科技的WIFI模塊可以滿足我們的需求。
最后: 確定產品的硬件設計方案,開始進一步設計原理圖,繪制PCB、焊接樣品,測試調試。
以上就是整個產品硬件的設計框架,看起來簡單。
實際上一個再簡單的產品,哪怕是一個充電器,做到極致,都會存在非常多的問題,因為太吃經驗了。
下面我簡單來聊下程序,網關的程序由無際編寫,這個完全是參照產品功能去做,程序會復雜很多,所以采用模塊化和面向對象編程思維。
先把每個功能拆解成模塊去完成,最后拼湊起來,就跟裝配汽車一樣,再復雜的程序你也不至于崩潰。
整體分為三大板塊:
1.單片機外設
這塊相對比較簡單,如果是我,我直接就復制現成開發板的例程把我們產品需要的外設用起來就行。
實際開發單片機原廠也會提供類似的例程和技術支持,所以這塊我們要求會用就行,千萬不要想著去吃透它,你又不去造芯片對吧?
2.系統內核
這個就是俗稱程序架構,比較關鍵,采用時間片任務調度形式,這樣方便管理每個任務,是一個整個產品程序的"地基"。
3.產品功能
當我們把單片機外設用起來,程序架構搭建起來,接下來就是在這個架構基礎上完善我們的產品功能。
大體就是這樣,大家可能會覺得比較簡單。
大多數人都是一說就會,一干就廢。
主要還是要干干干!
ok,今天就分享到這里,對你有幫助的話,麻煩給我點個"贊"和"在看",感謝各位老鐵!