|
本帖最后由 lzy1999 于 2018-11-22 12:01 編輯
前文:
最近想做點遙控的小玩具,所以一直在尋找一款實用的開發(fā)板(最好是兼容Arduino的,因為我只會玩arduino,對于其他單片機編程燒寫什么的一概不知道。。。),所以苦苦尋找了許久,然后發(fā)現(xiàn)了下面兩款板子:號稱世界上最小的arduino:基于ATTINY85的主板以及DF家的beetle。這兩塊板子體積都挺小的beetle(20*22mm)以及attiny85(23*18mm),功能上來說肯定Beetle更加優(yōu)秀,但是價格略高。便宜的attiny85僅有的6個端口并不夠我使用。。而且對于一些項目來說,對于主板的體積還是有一定要求的,這兩塊板子搭配上擴展板之后可能過于龐大(而且市面上還找不到這樣的擴展板,DF家到是出了一塊,但僅僅是將所有引腳引出)。于是糾結(jié)好久之后,按捺不住想自己畫板子了,于是有了下文。
TB2q0KGaAUkyKJjSszdXXbiCpXa_!!14207766.jpg (198.76 KB, 下載次數(shù): 99)
下載附件
2018-11-15 16:43 上傳
TB2S1poqTtYBeNjy1XdXXXXyVXa_!!261729488.jpg (161.21 KB, 下載次數(shù): 130)
下載附件
2018-11-15 16:43 上傳
(上面是兩種市面上可以購買到的最小的Arduino板)
第一部分
選取自己想要的功能是十分必要的,俗話說魚和熊掌不可兼得,畫電路板也是一樣,不可能一塊小小的板子上啥功能都有,所以先要明確自己的使用環(huán)境以及所需要的功能!!!
我的使用環(huán)境:
一些無線遙控的玩具或者機器人上,體積上越小越好,這些玩具一般是3.7V鋰電池供電的,而且驅(qū)動方式一般是以電機或者舵機為主,一般至少3路電機驅(qū)動,當(dāng)然要有可以控制玩具燈光的接口,因為這樣比較炫酷,嘻嘻 。
有了使用環(huán)境,那么需要的功能就很明了了!下面就是我列舉的一些功能:
1.首先最主要的是遙控!!(重點! ),所以一個給無線通訊模塊預(yù)留的接口是最重要的,同時呢,給無線模塊供電工作也要做好!!(不然供電電壓不夠的話無線模塊輸出的數(shù)據(jù)就亂掉了,然后整個單片機就傻掉了。。。。然后就。。。 )
2.供電方式是3.7V鋰電池,所以一路電源升壓電路是肯定必要的啦,這個電路可以將鋰電池的電源升壓到5V之后輸出給單片機使用的。那么,電池玩著玩著沒電了怎么辦?這時候有個電壓報警器就是很方便的了,他可以很好的保護(hù)我們的電池不會過放電!所以,劃重點!! 鋰電池供電部分我們需要一個升壓電路和一個電壓報警器電路。
3.說到電源的問題,是不是我們?nèi)粘R姷降碾妷河袃煞N呢?一種是3.3V,一種是5V,有些芯片工作需要5V但是有的只要3.3V。你可能會問兩個不就是差1.7V嗎,接上去也沒多大事,然而事實是這個芯片可能會活不久。。(不要問我怎么知道的)因此,為了兼顧多種芯片,我決定多加上輸出電壓3.3V的穩(wěn)壓電路。
4.驅(qū)動方面,我說到主要是以舵機和電機為主,舵機可能不需要驅(qū)動(直接接PWM輸出就好了),但是電機是必須要接驅(qū)動的(曾經(jīng)有直接用單片機端口驅(qū)動電機的,后來他就棄坑了。。。)而且接上驅(qū)動模塊之后電機還可以調(diào)速以及調(diào)節(jié)正反轉(zhuǎn)。所以至少3路的驅(qū)動以及一路或者多路的舵機接口是必要的。
5.控制燈光的接口就比較好弄了,直接懟上單片機的I/O口即可(注意單片機I/O口控制一般小的led還是可以的,誰要控制什么1w或者10w的大功率led燈珠就是作死了。。。)
6.需要帶有一些常規(guī)的數(shù)字接口或者模擬輸入接口(這個數(shù)量當(dāng)然是越多越好,方便后期擴展)
整理了一下,我列出了一個表格:
未標(biāo)題-1.jpg (180.77 KB, 下載次數(shù): 112)
下載附件
2018-11-15 16:43 上傳
列出來了需要的功能,我感覺整個工作就完成了一大半,有選擇恐懼癥的我在決定哪些功能時候真的是非常頭痛,然而現(xiàn)在感覺好了許多,設(shè)計的方向也就比較明了了。
接下來就是糾結(jié)的選器件了:
1.單片機的話我是真的除了atmel系列之外都不會,所以我毫不猶豫的選了Atmega328P-AU,這個芯片也是Arduino nano上使用的,由于需要體積小巧的要求,所以我選擇的是貼片TQFP封裝的。而且這個芯片買回來燒寫上bootloader之后就可以使用Arduino ide來開發(fā)了,這也是我選擇它的原因。
2.單片機選了當(dāng)然需要一個Rs232轉(zhuǎn)串口芯片給Atmega328p寫程序啊,但是我并不想給整個板子加上一個電平轉(zhuǎn)換芯片,一個是因為這樣會占用本來就小的版面空間和多出一個usb接口,我還不如使用類似Arduino pro mini的那種方案,使用外置的RS232轉(zhuǎn)TTL芯片去給328p寫固件,這樣可以最大化的節(jié)省板面空間(正經(jīng)臉.JPG)
3.對于無線模塊的選擇可以說是非常重要了,穩(wěn)定的模塊決定了通訊的質(zhì)量是否足夠高,也決定了遙控的延遲以及手感。這部分我木有太多糾結(jié),因為目標(biāo)非常明顯,就是NRF24L01,用過的都說好。而且使用SPI協(xié)議與Atmega328p通訊,速度快且穩(wěn)定。這里放一張NRF24L01的圖:
4. 5V升壓的電路的設(shè)計我取自一款升壓模塊的電路,我在網(wǎng)上找到了原理圖,如下:芯片使用的是E50D,輸入電壓0.9V-5V,恒定輸出電壓5V,最大輸出電流超過500ma,足夠我使用了。
2345截圖20181114122409.jpg (30.88 KB, 下載次數(shù): 171)
下載附件
2018-11-15 16:44 上傳
5.3.3V的穩(wěn)壓芯片我使用的是MIC5205-3.3,MIC5205是一款LDO芯片(低壓差線性穩(wěn)壓芯片)輸入電壓與輸出電壓之間最少可以只有350mv的電壓差,對于電源不太穩(wěn)定的電路實在再合適不過,最大輸入電壓16V,最大輸出電流150ma,恒定輸出電壓3.3V。電路圖如下:
火狐截圖_2018-11-14T04-31-19.174Z.png (11.02 KB, 下載次數(shù): 112)
下載附件
2018-11-15 16:43 上傳
6.電機驅(qū)動我并沒有選擇使用集成的電機驅(qū)動IC,因為我看了看封裝都過于龐大,不適合這種小體積項目,而且我并不太需要雙向的驅(qū)動,只用單向的即可。挑來挑去,我決定使用最簡單的mos管驅(qū)動電機,便宜而且實用。mos管的話我使用的是nmos管,不建議使用pmos管的原因是pmos管的導(dǎo)通內(nèi)阻較大,會造成很大的損耗。對著數(shù)據(jù)表格看了半天之后,我看中了AO3400,最大通過電流5.7A,足夠使用了。
mos.jpg (244.45 KB, 下載次數(shù): 115)
下載附件
2018-11-15 16:45 上傳
7.對于板子我還添加了一路電壓輸入,因為顧及到有些電池電壓在5V以上的情況(例如7V,9V和12V)我的板子也要可以正常工作,于是我添加了一個降壓電路,可以將輸入的7-12V電壓降到5V供給整個系統(tǒng)使用。芯片選的是ME6210A50PG,同樣是一款低壓差線性穩(wěn)壓芯片,最大輸入電壓18V,最大輸出電流500ma,恒定輸出電壓5V,電路圖如下:
火狐截圖_2018-11-14T04-37-41.443Z.png (12.07 KB, 下載次數(shù): 106)
下載附件
2018-11-15 16:43 上傳
至此為止,所有的器件都選擇完畢了,下面就是細(xì)化每個部分的設(shè)計以及將電路圖畫出來。我會介紹一些基本的電路知識給大家,請大家拍磚。 
第二部分
對于電路的設(shè)計,我主張從大到小,從重要到次要的順序來設(shè)計:這樣我們可以搞清楚整個系統(tǒng)的主次關(guān)系,方便日后查找問題。
1.Atmega328P外圍電路的設(shè)計
Atmega328p的外圍電路著實簡單,僅需要幾個器件就可以完成(基本上就是晶振電路和復(fù)位電路)沒有什么好說的,我也省省篇幅,歇一會。。。上圖!!!
火狐截圖_2018-11-14T04-41-31.449Z.png (30.27 KB, 下載次數(shù): 131)
下載附件
2018-11-15 16:43 上傳
2.NRF24L01接口的設(shè)計
NRF24L01與Atmega328P采用SPI協(xié)議進(jìn)行通訊,所以我將對應(yīng)的引腳連接到Atmega328P上。在這里我給電源正負(fù)極之間接了一個47uf的電解電容,是為了保證電壓的穩(wěn)定(因為NRF24L01對電源的要求還是比較高的)
火狐截圖_2018-11-14T10-05-45.365Z.png (22.42 KB, 下載次數(shù): 116)
下載附件
2018-11-15 16:43 上傳
3.鋰電池升壓電路的設(shè)計(輸入0.9-5V,輸出5V)
整個升壓電路其實就只需要幾個零件,在這里我說明需要注意的一些事項:選擇的電感一定要是功率電感,二極管的話務(wù)必使用肖特基二極管(因為E50D的工作頻率在300khz左右,所以普通二極管頻率沒有肖特基二極管這么快)推薦型號是1N5817或者1N5819
火狐截圖_2018-11-14T04-28-57.612Z.png (8.83 KB, 下載次數(shù): 103)
下載附件
2018-11-15 16:43 上傳
4.3.3V穩(wěn)壓電路的設(shè)計(輸入5V,輸出3.3V)
首先放上電路圖,這個電路沒有什么需要的外圍器件,僅僅一個電容用來濾波即可
5.7-12V降壓電路的設(shè)計(輸入7-12V,輸出5V)
這個電路和上一個基本上一樣的,就是在輸入端上加了一個10uf電容濾波,可以過濾掉一些輸入電壓的紋波。
6.電機驅(qū)動電路的設(shè)計
對于電機驅(qū)動電路,電路圖如下。其中單片機的輸出信號腳經(jīng)過一個保護(hù)電阻之后連接在mos管的柵極上,同時在mos管的柵極還有一個電阻接地,這是因為三極管的柵極存在結(jié)電容,所以這個電阻給mos管關(guān)斷時候提供了一條電子釋放通道。對于電動機的這類感性負(fù)載,用mos管控制開關(guān)的時候容易產(chǎn)生較大的感生電動勢,容易擊穿mos管,于是我添加了一個續(xù)流二極管在電動機的兩端,來減少反向電壓。同樣的,這個二極管盡量選擇肖特基二極管,以滿足頻率要求,我這里采用的是1N5819。
火狐截圖_2018-11-14T04-47-15.064Z.png (7.34 KB, 下載次數(shù): 125)
下載附件
2018-11-15 16:43 上傳
7.報警電路的設(shè)計
對于這個報警器我想了很久,想過很多方式去控制蜂鳴器的鳴叫,糾結(jié)許久之后才定下來這個方案,采用Atmega328p采集電池電壓數(shù)據(jù),通過一個數(shù)字口來控制蜂鳴器的鳴叫。對于電壓采集電路,因為輸入的電壓電壓低于5V,所以直接使用Atmega328p的模擬輸入端口讀取電壓數(shù)據(jù)。
關(guān)于控制蜂鳴器的鳴叫,我選擇的是有源蜂鳴器,這種蜂鳴器只需要給一個高低電平信號即可發(fā)出聲音,但是聲音頻率是固定的,若是選擇無源蜂鳴器,我還需要給它輸入PWM信號,這樣做會占用一個PWM口,所以權(quán)衡之下還是使用有源蜂鳴器。
但是糾結(jié)的我又想了想,要是沒電的時候一直響豈不是很煩人?我更希望是響一聲,停幾秒,再響一聲,再停幾秒。。這種的,于是我花了點時間回顧了單穩(wěn)態(tài)觸發(fā)器(我真的是給自己找坑挖。。。)最后設(shè)計出來如下電路:
火狐截圖_2018-11-14T04-49-25.266Z.png (12.32 KB, 下載次數(shù): 127)
下載附件
2018-11-15 16:43 上傳
這里采用555芯片制作了一個單穩(wěn)態(tài)觸發(fā)器,觸發(fā)器的輸出口通過一個三極管控制蜂鳴器,需要注意的是蜂鳴器同樣屬于感性負(fù)載,務(wù)必接上一個續(xù)流二極管,這個二極管由于工作頻率較低,沒有什么限制。但是我還是選用了一個肖特基二極管(并不想多買一種二極管)555芯片的reset端我連接上了Atmega328p的四號端口,用這個腳的信號來控制整個蜂鳴器電路是否工作。這個電路即可控制蜂鳴器響一下,停一下。
8.其他輸出接口的設(shè)計
首先是給單片機下載程序的接口,如圖
火狐截圖_2018-11-14T04-50-20.164Z.png (4.18 KB, 下載次數(shù): 111)
下載附件
2018-11-15 16:43 上傳
然后是兩種電源輸出的接口(3.3V和5V)
火狐截圖_2018-11-14T04-50-41.108Z.png (6.91 KB, 下載次數(shù): 129)
下載附件
2018-11-15 16:43 上傳
再就是4路模擬量輸入接口(在這里我預(yù)留了Atmega328p的i2C接口A4和A5,方便連接其他使用i2C的設(shè)備)
火狐截圖_2018-11-14T04-51-02.723Z.png (7.18 KB, 下載次數(shù): 126)
下載附件
2018-11-15 16:43 上傳
最后就是6路的數(shù)字輸出口,其中D3,D5,D6,D9,D10 5路為PWM和I/O復(fù)用端口,方便連接舵機,接入其他電機驅(qū)動板或者連接其他傳感器設(shè)備。D2腳作為Atmega328p的外部中斷端口,可以控制單片機的中斷操作。但是注意,D3,D5,D6口也用來控制板載的mos管,所以當(dāng)使用板載mos管控制電機時,這幾個管腳請不要使用。
火狐截圖_2018-11-14T04-51-36.059Z.png (10.45 KB, 下載次數(shù): 114)
下載附件
2018-11-15 16:43 上傳
總結(jié)
至此為止,整個電路就設(shè)計完畢了,接下來就需要進(jìn)行PCB電路板的排版以及布線,這個星期有點小忙,關(guān)于接下來的設(shè)計我會在下周放出,請大家期待,如果有什么關(guān)于電路設(shè)計以及PCB板的問題,歡迎大家提問,我會認(rèn)真的回復(fù)你們。。
最后,感謝你們閱讀我寫的這么多文字,希望我此次做的電路可以對你們提供一些幫助和引導(dǎo),謝謝。 
|
評分
-
查看全部評分
|