<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 好玩的項(xiàng)目|使用微控制器 PIC16F1459 構(gòu)建 DIP 開關(guān) USB U盤

          好玩的項(xiàng)目|使用微控制器 PIC16F1459 構(gòu)建 DIP 開關(guān) USB U盤

          作者: 時(shí)間:2024-07-19 來源:李工談元器件 收藏

          今天給大家分享我在github上看到的一個有意思的項(xiàng)目:使用微控制器 構(gòu)建 DIP 開關(guān) 。(附帶電路原理圖,PCB布局設(shè)計(jì),原始應(yīng)用程序。)

          本文引用地址:http://www.ex-cimer.com/article/202407/461187.htm

          主要是用撥片開關(guān)來進(jìn)行配置設(shè)備,只需要撥動紅色開關(guān)就可以輕松配置文件。不需要編輯 XML 和 JSON 文件來存儲硬件或軟件的配置設(shè)置。

          這個項(xiàng)目分享給大家,步驟講解得很詳細(xì),如果感興趣的可以動手試試。

          先放上成品圖。

          DIP 開關(guān)插電腦上圖

          DIP 開關(guān) U 盤的后視圖和前視圖(顏值還挺高的)

          一、元件選擇

          作者總共設(shè)計(jì)制作了兩種不同版本的DIP 開關(guān)U盤。第一個使用非常緊湊的表面貼片DIP開關(guān),第二種使用安裝表面貼裝 DIP 插座中的獨(dú)特彩虹 DIP 開關(guān)。

          USB A插頭(如下圖所示)

          Molex USB A 插頭

          這是一個安裝在電路板末端的USB A 型插頭,可以直接插入電腦的正面或側(cè)面的USB A插孔。

          本來是可以使用 USB Type C 插頭,但作者的電腦沒有USB Type C 端口。

          1、微控制器

          作者喜歡用8位的USB微控制器,于是采用了TSSOP-20 封裝的 Microchip ,這個微控制器支持所需的電路和USB軟件。唯一不確定的問題是它是否有足夠的輸入引腳用于DIP開關(guān)的8個輸入。在查閱了datasheet,確認(rèn)連接USB 操作所需的基本組件后,確定了引腳是夠用的。

          PIC16F1459 采用 TSSOP-20 封裝,后面有一個 8 位 SMD 開關(guān),用于縮放

          2、表面貼裝 DIP 開關(guān)

          為了使設(shè)計(jì)更緊湊,就需要把微控制器放在電路板的底部,把開關(guān)放在電路板的頂部,就需要一個表面貼裝開關(guān),最后選擇了 CTS 219-8MSTR 8 位表面貼裝滑動開關(guān)。

          開關(guān)頂部帶有可拆卸的膠帶密封,可以承受高焊接溫度和電路板的清洗。

          帶有保護(hù)涂層的 CTS SMD DIP 開關(guān),保護(hù)涂層允許使用拾取和放置設(shè)備并在清洗過程中保護(hù)開關(guān)。

          3、彩虹通孔撥碼開關(guān)

          第一個版本用ITW ERG 制造了彩虹通孔 DIP 開關(guān),第二個版本帶有用于彩虹 DIP 開關(guān)的表面貼裝 DIP 插座。

          彩虹撥碼開關(guān)與類似的滑動和搖桿撥碼開關(guān)相比,具有相當(dāng)醒目的外觀。

          三個候選通孔 DIP 開關(guān),作者選擇了 ERG 的彩虹模型

          4、表面貼裝 DIP 插座

          選擇了一個 Mill-Max 110-47-316-41-105000 表面貼裝 DIP 插座來固定 ERG SDS-8-014 彩虹 DIP 開關(guān)。

          表面貼裝 DIP 插座

          二、原理圖設(shè)計(jì)

          這個項(xiàng)目需要用到一個8 GPIO 引腳來連接 DIP 開關(guān),然后在最靠近 DIP 開關(guān)的微控制器一側(cè)選擇了 8 個引腳。

          但這些 GPIO 引腳不是都有內(nèi)部弱上拉可用,所以需要添加一些上拉電阻,以便在各自的開關(guān)打開時(shí)將引腳拉高。

          使用這個配置,GPIO 引腳將在開關(guān)打開(關(guān)閉)時(shí)讀取高電平,在開關(guān)關(guān)閉(打開)時(shí)讀取低電平。

          然后有一個強(qiáng)制性的按鈕開關(guān)和閃爍的LED。按鈕開關(guān)與引導(dǎo)加載程序一起使用,可以允許在沒有PLC編程器和標(biāo)簽連接電纜的情況下升級DIP開關(guān)

          閃爍的 LED 被編程以指示 USB 枚舉狀態(tài)。緩慢閃爍表示板已通電但未枚舉,快速閃爍表示板已通電并已枚舉。

          設(shè)計(jì)原理圖

          三、電路板設(shè)計(jì)

          1、表面貼裝開關(guān)版本

          設(shè)計(jì)萬完原理圖后,開始設(shè)計(jì)與CTS SMD 滑動開關(guān)一起使用的電路板。最終布局如下圖所示。

          板的非插座版本

          當(dāng)對布局比較滿意的時(shí)候,查看了電路板預(yù)覽圖像,沒有問題之后,就去訂購PCB板了。


          2、表面貼裝 DIP 插座版本

          設(shè)計(jì)了與 CTS SMD 滑動開關(guān)一起使用的電路板后,接著設(shè)計(jì)與表面貼裝 DIP 插座和 ERG 彩虹 DIP 開關(guān)一起使用的電路板,最終布局如上圖所示。

          唯一真正的區(qū)別是開關(guān)或插座的16個焊盤的寬度和高度。

          板的插座版本

          當(dāng)布局完成之后,依舊查看電路板板預(yù)覽圖,然后定制PCB板。


          四、軟件開發(fā)

          在等待PCB板的過程,使用Microchip 低引腳數(shù) USB 微控制器開發(fā)板來編寫該項(xiàng)目的軟件。

          在這個過程也遇到了許多問題,例如:想實(shí)現(xiàn)一個USB大容量存儲設(shè)備類,其中包含一個帶有開關(guān)狀態(tài)的文件。但是開關(guān)的值可以從文件中讀取一次,但當(dāng)開關(guān)更改時(shí)就不再更新了。

          為了解決這個問題,進(jìn)行了多次嘗試,例如在每次更改開關(guān)時(shí)執(zhí)行軟分離和重新連接,但這會導(dǎo)致許多煩人的不安全彈出和發(fā)現(xiàn)消息/警報(bào)聲音。

          最后將DIP開關(guān)實(shí)現(xiàn)為供應(yīng)商定義的 USB HID 設(shè)備。

          USB 主機(jī)可以向 DIP 開關(guān) USB 堆棧發(fā)送 USB OUT 報(bào)告,詢問開關(guān)的當(dāng)前狀態(tài)。

          DIP 開關(guān) U 盤將響應(yīng)包含開關(guān)當(dāng)前狀態(tài)的 USB IN 報(bào)告。

          每當(dāng)切換開關(guān)時(shí),DIP 開關(guān) USB U 盤也會以包含開關(guān)當(dāng)前狀態(tài)的 USB IN 報(bào)告進(jìn)行響應(yīng)。

          在真正的板子從工廠回來之前,作者使用了一個 PIC 低引腳數(shù) USB 開發(fā)板來編寫軟件。

          為了演示DIP開關(guān)USB U盤,編寫了一個快讀的 C# .NET Windows 窗體應(yīng)用程序。

          該應(yīng)用程序與開發(fā)板或真正的DIP開關(guān)U盤進(jìn)行通信。

          使用開發(fā)板,按鈕開關(guān)切換紅色開關(guān)圖像。使用真板,應(yīng)用程序中的開關(guān)圖像反映了 DIP 開關(guān) U 盤上開關(guān)的狀態(tài)。

          C# .NET Windows 窗體演示應(yīng)用程序

          五、成品板

          與表面貼裝開關(guān)一起使用的成品板如下所示。

          SMD版成品板

          與表面貼裝插座和通孔 DIP 開關(guān)一起使用的成品板如下所示。

          插座版成品板

          下圖圖左側(cè)為電路板的表面貼裝開關(guān)版本,右側(cè)為電路板的表面貼裝插座版本。

          這里再強(qiáng)調(diào)一次,唯一這兩個版本的區(qū)別是開關(guān)或插座的 16 個焊盤的寬度和高度。

          板版本比較

          六、組裝和測試

          將電路板放回原處,首先組裝并測試了電路板的表面貼裝開關(guān)版本。

          使用Microchip REAL ICE 編程器和 Tag-Connect 電纜將軟件編程到 PIC16F1459 中。

          編程后,Windows 找到了一個新設(shè)備,啟動了演示應(yīng)用程序,成功了!

          SMD 版本的 DIP 開關(guān) U 盤

          后來作者又組裝并測試了板的表面貼裝插座版本,也成功了。(感嘆一句,厲害)

          ERG DIP 開關(guān)有點(diǎn)挑剔,如果將開關(guān)向上推超過其打開位置,它將再次短暫打開,直到它被釋放并回到其打開/關(guān)閉位置。

          DIP 開關(guān) U 盤的通孔版本

          插入 Surface Pro 并運(yùn)行演示應(yīng)用程序的 DIP 開關(guān) USB U盤

          插入 Surface Pro 的 DIP 開關(guān) U 盤

          DIP 開關(guān) U 盤的后視圖和前視圖

          七、設(shè)計(jì)文件

          電路板的設(shè)計(jì)文件、PIC16F1459 固件和 C# .NET 演示應(yīng)用程序可以在作者的 Github 上的DIP 開關(guān) USB U盤 存儲庫中找到。

          項(xiàng)目鏈接:
          https://github.com/bikerglen/usb-dip-switch-stick



          關(guān)鍵詞: MCU PIC16F1459 USB U盤

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();