各位工程師朋友,大家好!我是電子風清揚,本期“來實戰”項目《寵物自動喂食器》的執行官。先做一個簡單的自我介紹,我是一名懷揣著夢想的新一代嵌入式軟件工程師,目前從事物聯網設備的開發。一路自學過來,走過很多的彎路,也曾經無數次迷茫過,找不到學習的方向。我很了解一個電子初學者在剛剛開始時的艱辛,不知道學什么,怎么去學,不知道實際工作中需要具備什么能力。希望可以通過本次的項目來幫助更多的新人了解什么是真正的實戰項目,需要具備哪些能力,幫助更多的電子初學者找到學習的方向,更順利的進入這個行業,為電子行業做出一份自己的貢獻。
我會在這次的項目中,逐步為大家分享一些工程項目的經驗、調試技巧、如何打造一套屬于自己的嵌入式軟件開發平臺。也希望大家可以通過本次的項目找到以下這些問題在自己心目中的答案。
1、為什么很多電子初學者不會做項目?
初始階段掌握的技術還太少,沒有形成完整的知識體系,也并沒有見過真正的項目(涉及到保密問題,很多項目并不會開源)。僅有的技術完全限制了自己的想象力,一旦遇到自己不會的技術就會想盡辦法回避,不愿意去學習。久而久之造成了惡性循環,思路越來越窄,越來越迷茫,最后走上了從入門到放棄的道路。
2、為什么說單片機只是一個工具?
在一個項目中,它只是代替人來處理各種電信號,處理數據,完成對電路控制。它只是項目中的一部分,想完成一個完整的項目僅有單片機是遠遠不夠的。
3、真正的工程代碼應該是什么樣的?
模塊化、層次分明、面向對象、良好的數據結構、清晰的業務邏輯、可維護性。
4、項目的開發流程,以及人員分工?
· 實現哪些功能:確定需求
· 需要哪些器件:元器件選型
· 如何實現需求:編程(數據結構、業務邏輯)
· 方案可行嗎?:軟硬件結合
· 產品可以投產么?:現場測試,老化
· 如何轉產?:整理整個項目的相關文件
· 賣出去了壞了怎么辦?:整理維修相關的技術,形成標準文件
書歸正傳,開始介紹本次的項目。本次的項目希望打造一款寵物自動喂食器,解放鏟屎官。項目計劃按以下功能點來進行:
1、具備定時定量喂食功能(每周喂食曲線,每天喂食的時段,每個時段的百分比可調節),實現不同階段的喂食需求。
2、自動完成對喂食情況的統計,方便鏟屎官查看一段時間喂食的情況,結合寵物的體態信息進行健康判斷,以及調整喂食量減少浪費。
3、自動保持飲水盆中的飲水量,對每次的飲水量以及時間進行記錄。
4、對料倉中的喂料量進行監測,在料倉中飼料量不足時提醒鏟屎官及時補充。
5、對水倉中的水量進行監測,在水倉中飼喂量不足時提示鏟屎官及時補充。
6、警戒線的閾值可調。
7、良好的人機交互界面設計。
8、可以連接WIFI,將數據上傳到服務器。(視時間而定,如果時間緊張,延后開發)
9、手機APP端完成信息查看,控制喂食。(視時間而定,如果時間緊張,延后開發)
項目設計
步驟1:確定項目電路原理圖
相信LM2596是廣大電子愛好者熟悉的一款降壓型電源管理芯片了。LM2596系列是德州儀器(TI)生產的3A電流輸出降壓開關型集成穩壓芯片,它內含固定頻率振蕩器(150KHZ)和基準穩壓器(1.23v),并具有完善的保護電路、電流限制、熱關斷電路等。利用該器件只需極少的外圍器件便可構成高效穩壓電路。提供的有:3.3V、5V、12V及可調(-ADJ)等多個電壓檔次產品。相關芯片數據手冊,請點擊文末“相關芯片與數據手冊”進行下載閱讀。
此外,我們項目需要用到的電源有3.3V、5V、12V,所以我們采用19V(15V-24V)筆記本充電電源供電以及電池組成的UPS系統進行供電。將設計兩個LM2596模塊,一個5V,一個12V。查詢數據手冊,我們得到Demo電路圖如下:
步驟2:軟件平臺搭建
第二個步驟給大家帶來本次項目的嵌入式軟件平臺的建設思路,本次的嵌入式軟件平臺分為四層。
1、MyLib:底層驅動代碼—>硬件抽象層
本層在C語言的平臺下,盡可能的實現面向對象的思想。本次的平臺借鑒了高煥堂先生提出的OOPC的思想,并在此基礎上進行了改進,特此聲明。本次描述可能大家一開始看的不太清楚,后續我會出一個專題課程來講解本次的平臺設計思想,敬請期待。
本次平臺MyLib層,從兩個角度出發,一個是個人角度,一個是公司角度。
個人:
· 個人技術以及研發經驗的積累;
·減少重復性勞動,已經開發好的模塊進行重復調用;
·加快個人的研發進度;
·提升自我的編程能力以及研發境界;
公司:
·平臺化代碼,集中全公司研發力量;
·實現公司業務代碼的積累,研發技術的積累;
步驟3:焊接和硬件測試
全網第一份手動移植TouchGFX視頻教程,不使用CubeMX!!!
在本次的項目中GUI采用了最新的TouchGFX,放棄了已經使用多年的emwin。一個原因是因為TouchGFX以后的使用是免費的了,而且界面華麗酷炫;另一個原因也是對自己的一個挑戰,在資料非常稀少的情況下能否挑戰成功。本期視頻我將介紹移植過程中的重點以及注意事項,帶領大家感受一下TouchGFX的威力。
很慶幸又一次堅持了下來,期間無數次想過放棄,最終還是靠著意志力堅持了下來。當成功的那一刻,我發覺自己又成長了。其實能力的提升就是在這一次次的挑戰中,查閱資料、仔細分析原因、查找解決方案。在這個過程中鍛煉自己的學習能力,不斷完善自己的知識體系。而當你完成了一次次的挑戰后,那么你將不再懼怕接觸新鮮的事物,離成為大佬又近了一步。
1、新建文件夾
2、添加必要的移植接口文件
3、添加touchgfx_lib
4、修改OSWrapper.cpp改為使用RT-Thread
5、修改BoardConfiguration.cpp
注意要開啟CRC,否則會進硬件錯誤!!!
初始化SDRAM
初始化LTDC
注意這里要編寫LTDC中斷服務函數
7、初始化touchgfx
修改DMA
8、觸摸移植
9、生成touchgfx工程
新建TouchGFX文件夾,用來存放touchgfx工程
步驟4:開發項目需求和系統整體測試
步驟5:機器各結構搭建與組裝
附件下載
原文標題:智能寵物自動喂食器:焊接和硬件測試,全網第一份手動移植TouchGFX視頻教程
文章出處:【微信公眾號:電路設計技能】歡迎添加關注!文章轉載請注明出處。
-
電子制作
+關注
關注
142文章
310瀏覽量
151129
原文標題:智能寵物自動喂食器:焊接和硬件測試,全網第一份手動移植TouchGFX視頻教程
文章出處:【微信號:cirmall,微信公眾號:電路設計技能】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論