0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬你的開源擴(kuò)展板

454398 ? 來源:網(wǎng)站整理 ? 作者:秩名 ? 2015-08-06 10:09 ? 次閱讀

Arduino的擴(kuò)展板被稱為Shield,而樹莓派的擴(kuò)展板則稱作HAT(Hardware Attached on Top),意為附加在樹莓派頂上的硬件板卡。下面就帶著大家從零開始設(shè)計(jì)一塊開源的樹莓派擴(kuò)展板,暫名為Raspberry Pi ICA HAT。

Raspberry Pi ICA HAT

1. 需求分析

設(shè)計(jì)HAT的初衷是為樹莓派提供基本的顯示和用戶輸入功能,并引出UART、I2C、SPI等硬件接口,方便連接其他模塊,同時(shí)也能夠做為用戶學(xué)習(xí)樹莓派硬件編程的入門板(Starter Board)。ICA HAT的配置如下:

1. 用戶按鍵x5,可以作為上下左右和“確定”按鍵;

2. 用戶LED x4,實(shí)現(xiàn)基本指示功能,另有一個(gè)電源指示LED;

3. 有源蜂鳴器x1,提供報(bào)警功能;

4. 紅外發(fā)射管x2,紅外接收頭x1,實(shí)現(xiàn)紅外收發(fā)遙控功能;

5. 七段數(shù)碼管x2,實(shí)現(xiàn)8位數(shù)字顯示,通過SPI接口的MAX7219芯片驅(qū)動(dòng);

6. I/O和電源擴(kuò)展排針若干。

設(shè)定好需求后,首先需要考慮的是結(jié)構(gòu)問題,本例的設(shè)計(jì)針對(duì)的是樹莓派2B型號(hào),同時(shí)也兼容一代的B+型號(hào)。下圖為樹莓派2B/B+的機(jī)械結(jié)構(gòu):

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

針對(duì)樹莓派的機(jī)械結(jié)構(gòu),可以設(shè)計(jì)全長(zhǎng)和半長(zhǎng)兩種HAT。全長(zhǎng)板與樹莓派外框尺寸相同,但由于樹莓的USBRJ45連接器較高,需要注意該區(qū)域底層的器件是否會(huì)與連接器接觸。

半長(zhǎng)板則只包含四個(gè)螺孔的區(qū)域。

兩種板型都通過2.54mm間距排座與主板上的排針連接,并通過4個(gè)M2.5銅柱或螺釘與主板進(jìn)行固定。如下圖所示。

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

圖 全長(zhǎng)HAT和半長(zhǎng)HAT

已將設(shè)計(jì)好的兩種尺寸HAT存放在GitHub上,讀者可以在此基礎(chǔ)上進(jìn)行設(shè)計(jì)。

電子發(fā)燒友六月《嵌入式技術(shù)特刊》,更多優(yōu)質(zhì)內(nèi)容,馬上下載閱覽

分析完機(jī)械結(jié)構(gòu)后,緊接著需要考慮的是I/O資源分配。樹莓派2B/B+的I/O中包括兩個(gè)SPI接口、兩個(gè)I2C接口和一個(gè)UART接口。沒有可用的硬件PWM和ADC。并且,I2C0被用作IDPROM接口,用于讀取HAT板卡信息,用戶無法使用。SPI1在CPU中又叫做SPI_AUX,目前 Linux驅(qū)動(dòng)尚不完善,但可以通過pigpo庫調(diào)用。如下圖所示:

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

本例將SPI0、I2C1和UART0引出至排針,MAX7219使用SPI1控制,并使用GPIO作為軟片選。其他功能根據(jù)布線任意分配GPIO。

2. 硬件設(shè)計(jì)與制作

需求分析完成后開始進(jìn)行硬件設(shè)計(jì),兔子使用的是Cadence 16.6工具。原理圖工具為OrCAD Capture CIS,PCB工具為Allegro PCB Editor。首先是IDPROM,將一片EEPROM與樹莓派的I2C0相連。這部分電路為保留功能,實(shí)際生產(chǎn)時(shí)不安裝(實(shí)際不焊接的器件用NC表示)。

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

用戶LED使用GPIO灌電流控制,當(dāng)IO為低時(shí)LED點(diǎn)亮。

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

按鍵部分通過GPIO檢測(cè)按鍵左側(cè)電平實(shí)現(xiàn),按鍵松開時(shí)為高電平,按下為低電平。這里未添加硬件消抖,需要軟件實(shí)現(xiàn)。

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

紅外發(fā)射管需要電流較大,因此通過一個(gè)GPIO控制NPN三極管來驅(qū)動(dòng)紅外LED,高電平時(shí)紅外管導(dǎo)通??梢灾缓附硬⑹褂靡粋€(gè)LED,使用兩個(gè)LED可以增強(qiáng)紅外信號(hào)。

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

紅外接收采用一體接收頭HS0038,可以工作在3.3V電壓下,使用一個(gè)GPIO來接收紅外信號(hào)。

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

有源蜂鳴器也需要較大電流,和紅外管一樣采用三極管驅(qū)動(dòng),GPIO高電平時(shí)蜂鳴器發(fā)聲。

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

數(shù)字顯示采用兩個(gè)4位7段數(shù)碼管(共陰極,算上小數(shù)點(diǎn)其實(shí)是8段),并通過MAX7219芯片進(jìn)行驅(qū)動(dòng)。MAX7219最多提供8段8位顯示,這里將 MAX7219的段碼A~DP按順序同時(shí)連接兩片數(shù)碼管,用于顯示每一位的內(nèi)容。而MAX7219的數(shù)位(Digital)選擇信號(hào)則分別連至兩片數(shù)碼管各公共端。

MAX7219通過SPI與樹莓派相連,由于只需要控制不需要讀取信息,DOUT可不接。芯片采用5V供電,嚴(yán)格意義上SPI應(yīng)使用5V電平,經(jīng)過樹莓派的3.3V電平也可以正??刂?,但建議設(shè)置電平轉(zhuǎn)換電路。

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

最后是接口擴(kuò)展排針,串接的100ohm電阻起限流保護(hù)作用。每個(gè)接口分別提供了3.3V電源和GND。

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

ICA HAT的PCB采用廉價(jià)的雙面板(兔子生產(chǎn)10片PCB只需要50RMB),需要說明的是布局。

根據(jù)一般用戶的使用習(xí)慣,數(shù)碼管并排放置于板子的上部(最為醒目的位置),按鍵放在板子的右下角(慣用左手的朋友可放在左側(cè))。紅外收發(fā)部分和IO接口整齊排列于四周板邊以防止阻擋和方便接線。其他的如LED和蜂鳴器在板中間選擇位置放置即可。

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

玩轉(zhuǎn)樹莓派!設(shè)計(jì)一個(gè)專屬開源擴(kuò)展板

設(shè)計(jì)好的PCB文件可導(dǎo)出成光繪(Artwork)和鉆孔(Drill)文件交予PCB廠商生產(chǎn),國(guó)內(nèi)的廠商一般也會(huì)接受Altium Designer和Protel格式的工程文件,但實(shí)際也是轉(zhuǎn)成光繪來進(jìn)行生產(chǎn)的。廠商同時(shí)會(huì)提供免費(fèi)的測(cè)試,保證電路不出現(xiàn)短路等情況,下圖為生產(chǎn)好的 PCB:

PCB生產(chǎn)后是器件貼片焊接,如果是機(jī)器焊接就需要提供生產(chǎn)鋼網(wǎng)用的助焊層(Solder mask)文件,和用于機(jī)器貼片的裝配層(Assembly)文件。

這里由于器件簡(jiǎn)單量少,兔子采用手工焊接的方式。焊接時(shí)可先焊接難度較大引腳密集的貼片IC,然后焊接高度較低的貼片器件,最后焊接較高的直插器件。連接器和數(shù)碼管可于最后焊接。下圖為手工焊接完成的電路板,我們稱之為PCBA:

需要注意的是,焊接完成后需要測(cè)試電路是否短路,特別是電源的短路,然后再上電測(cè)試。否則不但可能燒壞HAT板子,還有可能損壞樹莓派主板。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1707

    瀏覽量

    105648
  • 智能硬件
    +關(guān)注

    關(guān)注

    205

    文章

    2347

    瀏覽量

    107574
  • 開源擴(kuò)展板
    +關(guān)注

    關(guān)注

    0

    文章

    1

    瀏覽量

    1468
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    DIY個(gè)樹莓擴(kuò)展板

     Arduino的擴(kuò)展板被稱為Shield,而樹莓擴(kuò)展板則稱作HAT(Hardware Attached on Top),意為附加在樹莓
    發(fā)表于 08-04 14:37 ?7440次閱讀

    LN香蕉擴(kuò)展板使用教程

    /forum.php?LN_Hub_32IO擴(kuò)展板使用:http://forum.lemaker.org/cn/forum.php?LeMaker、Banana Pi、Raspberry Pi、樂美客、香蕉樹莓
    發(fā)表于 08-04 18:01

    廣告貼 - 樹莓UPS鋰電源擴(kuò)展板介紹

    本電源擴(kuò)展板是專門為樹莓B型板子而設(shè)計(jì)的,支持以下板子型號(hào),采用全新的安裝方式,安裝簡(jiǎn)便,與樹莓板子融為
    發(fā)表于 08-07 21:36

    硬件創(chuàng)客開源設(shè)計(jì)教程資料匯總,帶你玩轉(zhuǎn)樹莓

    AD/DA,樹莓派系列教程18:SPI 開源硬件創(chuàng)客15個(gè)酷應(yīng)用玩轉(zhuǎn)樹莓的PDF電子書:本書
    發(fā)表于 05-18 14:35

    從零開始設(shè)計(jì)開源樹莓擴(kuò)展板

    Arduino的擴(kuò)展板被稱為Shield,而樹莓擴(kuò)展板則稱作HAT(Hardware]
    發(fā)表于 05-21 07:00

    基于具有Arduino Leonardo的樹莓擴(kuò)展板的介紹

    樹莓的功能和Arduino的功能具有互補(bǔ)性,于是乎DFROBOT就推出了這樣款具有Arduino Leonardo的樹莓
    的頭像 發(fā)表于 01-15 11:15 ?1w次閱讀
    基于具有Arduino Leonardo的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>擴(kuò)展板</b>的介紹

    如何玩轉(zhuǎn)樹莓

    技術(shù)大拿帶你玩轉(zhuǎn)樹莓,聊聊樹莓的那些事!
    的頭像 發(fā)表于 05-30 15:03 ?3640次閱讀
    如何<b class='flag-5'>玩轉(zhuǎn)</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>

    微雪電子樹莓3/3+計(jì)算模塊擴(kuò)展板介紹

    樹莓3/3+ 計(jì)算模塊擴(kuò)展板 外設(shè)擴(kuò)展板 兼容Compute Module IO Board V3 可接入各種樹莓
    的頭像 發(fā)表于 11-12 16:25 ?2924次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>3/3+計(jì)算模塊<b class='flag-5'>擴(kuò)展板</b>介紹

    dfrobotArduino 樹莓擴(kuò)展板簡(jiǎn)介

    前段時(shí)間推出的樹莓擴(kuò)展板“Rapberry Pi meet Arduino”受到了廣大愛好者的致好評(píng),特此DFRobot又為大家?guī)砹?b class='flag-5'>一
    的頭像 發(fā)表于 12-20 16:11 ?2240次閱讀
    dfrobotArduino <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>擴(kuò)展板</b>簡(jiǎn)介

    dfrobot樹莓4B/3B+ IO擴(kuò)展板簡(jiǎn)介

    IO Expansion HAT是款專為Raspberry Pi 開發(fā)的IO擴(kuò)展板擴(kuò)展板樹莓IO口均引出,包含數(shù)字端口、模擬端口、
    的頭像 發(fā)表于 01-07 10:40 ?6575次閱讀
    dfrobot<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4B/3B+ IO<b class='flag-5'>擴(kuò)展板</b>簡(jiǎn)介

    dfrobot樹莓RGB LCD1602按鍵擴(kuò)展板彩色底簡(jiǎn)介

    樹莓RGB LCD1602按鍵擴(kuò)展板, IIC通訊接口,可用于搭建樹莓數(shù)據(jù)監(jiān)控和小型操作平臺(tái)。
    的頭像 發(fā)表于 01-08 11:29 ?2237次閱讀
    dfrobot<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>RGB LCD1602按鍵<b class='flag-5'>擴(kuò)展板</b>彩色底簡(jiǎn)介

    樹莓IO擴(kuò)展板的技術(shù)規(guī)格 樹莓擴(kuò)展板該怎么用

    樹莓IO擴(kuò)展板是著名開源硬件商DFRobot專為樹莓開發(fā)的IO
    的頭像 發(fā)表于 05-17 15:18 ?3474次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>IO<b class='flag-5'>擴(kuò)展板</b>的技術(shù)規(guī)格 <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>擴(kuò)展板</b>該怎么用

    樹莓GPIO擴(kuò)展板三組2×20排針接口 DIY板

    專為樹莓設(shè)計(jì)的接口外擴(kuò)板,可為樹莓外擴(kuò)出三組 2×20 的排針接口, 以便接入多個(gè)樹莓
    的頭像 發(fā)表于 07-02 11:40 ?2033次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>GPIO<b class='flag-5'>擴(kuò)展板</b>三組2×20排針接口 DIY板

    clumsyMIDI樹莓擴(kuò)展板

    電子發(fā)燒友網(wǎng)站提供《clumsyMIDI樹莓擴(kuò)展板.zip》資料免費(fèi)下載
    發(fā)表于 07-18 09:21 ?1次下載
    clumsyMIDI<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>擴(kuò)展板</b>

    開源硬件創(chuàng)客 15個(gè)酷應(yīng)用玩轉(zhuǎn)樹莓 (工業(yè)智能新技術(shù)系列)

    電子發(fā)燒友網(wǎng)站提供《開源硬件創(chuàng)客 15個(gè)酷應(yīng)用玩轉(zhuǎn)樹莓 (工業(yè)智能新技術(shù)系列).pdf》資料免費(fèi)下載
    發(fā)表于 08-30 16:12 ?8次下載
    <b class='flag-5'>開源</b>硬件創(chuàng)客 15<b class='flag-5'>個(gè)</b>酷應(yīng)用<b class='flag-5'>玩轉(zhuǎn)</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b> (工業(yè)智能新技術(shù)系列)