前幾天在朋友圈看到面包板社區的小編發了個曬板子的活動,作為面包板社區的活躍用戶,這個活動必須要參加一下!
說起分享自己畫的板子,我首先想到的就是人生中設計的第一塊PCB板子:基于STM32+MPU6050的兩輪自平衡小車主控板,也是幾年前讀大學時的畢業設計。
當時答辯做的視頻:https://www.bilibili.com/video/BV1eq4y1v74D/
思緒轉到5年前,2017年的夏天,大三的暑假還沒有結束,我就一人坐上了開往北京的列車,沒想到,這一去,就是5年!
實習的工作不算復雜,樣板焊接、樣機調試,也會畫一些簡單的小板子。因為自己是雙非普通本科出身,也深知自己的不足,平時白天干活,晚上回去就學習PCB,單片機開發。實習了有半年的時間,到了大四下學期,回校準備畢業設計,由于有了一些實習經歷,畢業設計做起來就比較簡單了。

主控板是自己設計的,小車底盤(輪胎+電機+編碼器)和鋰電池是購買的成品。
PCB板焊接、硬件調試、軟件設計、調參,畢業論文,查重,答辯,一切都比較順利!記得當時答辯現場,可能是因為我是獨立設計、調試的,答辯老師們對我的設計很感興趣,整個答辯過程都是在和老師們愉快的溝通中進行的!最終,我的畢業設計被所在的學院所收藏,畢業設計所花費的費用也找學校報銷了,畢業設計也被評為了優秀!

哈哈,居然還能找到當時在某PCB板廠下的訂單,含運費一共90元,現在都是免費了吧!

和主題無關的話說的有點多了,下面來詳細介紹一下我當時畫的這塊處女板!

硬件設計
硬件電路主要包括以下幾部分:
STM32F103RET6,最小系統電路
TB6612兩路直流電機驅動,電機編碼器檢測
通過分壓電阻方式實現的鋰電池電壓ADC檢測
通過MOS管實現的鋰電池防過放,欠壓保護電路
板載MPU6050陀螺儀,用于獲取實時姿態信息
一路紅外接收頭,預留OLED顯示接口,板載HC-05藍牙模塊
一路復位按鍵,一路用戶按鍵、兩路用戶LED
預留SWD、串口、BOOT配置接口
硬件電路設計上的考慮不周到,電機AB相編碼器連接到了STM32的普通IO管腳, 而不是定時器的編碼器管腳,所以軟件控制效果不是太理想,哈哈,也可能是自己沒調好參數!


軟件設計
軟件設計上,僅僅實現了直立環,即平衡車直立效果,沒有實現速度環轉向控制,也沒有實現紅外、藍牙的遙控。
所以軟件方面的工作也比較簡單:
STM32基本外設驅動,GPIO、UART、TIMER、ADC、DMA、中斷等等。
MPU6050姿態獲取,使用官方DMP庫
PID控制算法實現,直立環,參數的整定
異常姿態檢測算法,小車倒地后剎車,防止堵轉造成電機和芯片燒壞。

再回首
現在,再回看自己當時設計的那塊板子,發現還是有很多不足之處的:
控制軟件方面不完美,僅僅實現了直立環,沒有實現速度環、紅外藍牙遙控等。
PCB布局布線不合理,導致過孔太多,走線比較混亂。
藍牙模塊射頻天線部分沒有預留凈空區,可能會導致信號很弱。
沒有在靠近電機驅動芯片的位置添加儲能電容,導致燒了幾次驅動芯片,后來加上才好點。
電機編碼器管腳沒有分配到定時器的編碼器接口,只能通過GPIO中斷方式測速,導致后續軟件調起來比較費勁
如今,我已經畢業四年,工作時間算是五年。畢業設計的空板我還保留至今,剩下的都是回憶!


雖然時過多年,當時所學的專業也已經停止招生了,而我也不做單片機開發了,轉向了另一種可編程器件FPGA的開發,但是當看到單片機相關的技術文章還是會仔細的研讀一下。
平時工作之余,也參加了多次面包板社區舉辦的開發板評測活動:
(可以長按復制鏈接,瀏覽器打開查看:https://mbb.eet-china.com/forum/topic/113966_1_1.html)
基于FR8016H+ESP8266的新冠肺炎疫情監控平臺
【SHT31智能小表】開箱評測視頻+硬件電路分析——精致的桌面擺件
《手把手教你設計CPU——RISC-V處理器篇》讀書筆記
【新UFUN試用體驗】基于uFUN的RGB調色器——STM32程序和Qt上位機全開源
【新UFUN試用體驗】千呼萬喚始出來——uFUN開發板2.0開箱評測
【東芝TT_M3HQ開發板試用體驗】東芝半導體最新ARM開發板——TT_M3HQ開箱評測
【uFUN開發板評測】基于uFUN開發板和擴展板的聯網校準時鐘
【uFUN開發板評測】基于uFUN開發板的心率計
【uFUN開發板評測】uFun開箱爆照——精致與內涵并存
富芮坤FR8016H開發板+ESP8266實現疫情監控


uFUN開發板+自己畫的PCIe擴展板實現的聯網時鐘

血的教訓,Mini PCIe板子的厚度1.0mm即可,錫手指切掉了一部分才剛好能插進去。

看起來還挺精致的


根據網上開源的資料做得JLink-OB下載器

更多參賽作品:
【曬板子】焊了近40塊板子,做了個高壓電源
【曬板子】我做的attiny85/13游戲機
【曬板子】OneWatch手表(芯片選型+原理圖)

一塊電路板是電路設計的最終呈現,也是工程師智慧的結晶。每個工程師對PCB設計都有自己的經驗和技巧,同一個電路,不同的工程師會畫出不同的設計。
面包板社區特在此發起“曬板子”有獎征文活動,方便大家相互學習。
活動時間:3月11日-4月11日
征文內容:曬板子,分享你的設計思路、經驗心得
秀出你的PCB!模電書、開發板、京東卡等你來領!

點擊閱讀原文,參與活動