電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>過度設(shè)計的TriGlow開源分享

過度設(shè)計的TriGlow開源分享

2022-11-03 | zip | 0.15 MB | 次下載 | 免費

資料介紹

描述

你們知道Nanoleaf嗎?

?

所以我做了這個類似Nanoleaf的設(shè)備,里面沒有 RGB LED,取而代之的是,它有白光,由觸摸開關(guān)控制。

這是一種精美的照明設(shè)置,可以照亮您的房間,并且由于其形狀而看起來很惡心。

?

此外,它根本與光明會、鳳凰燈事件或金字塔無關(guān)。

?
?
?
pYYBAGNiO9KAcBfjAABFJ9a4tRo57.jpeg
?
1 / 3
?

我對觸摸開關(guān)進行了一些修改,使其更加靈敏,因此可以在半空中打開或關(guān)閉此燈。

只要把你的手靠近三角形的中心部分,就會觸發(fā)Light Sequence,順便說一下,這種通過拳頭來開關(guān)這個燈的方法,我稱之為LightFu。

  • 在第一次點擊時,它將開始閃爍
  • 在第二次點擊時,它將滿負荷發(fā)光
  • 第三次輕按時,LED 將以 50% 的電量發(fā)光
  • 第四次點擊將關(guān)閉燈。

我首先在 Fusion360 中設(shè)計了這個燈光設(shè)置,然后通過使用 fusion PCB Layout,我在我的 OrCAD 軟件中準備了它的 PCB,然后我從PCBWAY 獲得了這個項目的 PCB。

我組裝了 PCB,然后組裝了整個燈,這花了將近兩天的地獄般的工作,但是是的,差不多就是這樣。

此外,整個設(shè)置由可能的 Attiny13 MCU 提供支持。

這個項目很長,我將解釋這盞燈的整個構(gòu)建過程,所以請坐下來嘗試享受旅程。

所需材料

這些是我在這個項目中使用的所有材料

  • 定制 PCB x 4(由 PCBWAY 提供)
  • Attiny13A SOIC8
  • 8205S MOSFET IC
  • LED JK3030 Cree LED 0.5W x 90pc
  • 1.5 歐姆 2W 電阻器
  • IN5399 二極管
  • 3D 打印外殼底座 x 4
  • LID-擴散器 x 3
  • LID- 蓋 x 1
  • 墊片 x 3
  • M3 螺栓 x 3
  • M3 螺母 x 3
  • 大圓頭螺釘 2.4mm x 12
  • TTP223 觸摸板模塊
  • 頭針
  • Arduino Nano(用于閃爍 Attiny13)

入門,基本思路

這里的基本思想是模擬一個三角形燈,可以使用 3D 打印機、定制 PCB 和少量組件輕松復制。

白光可以用類似的基于 RGB LED 的 PCB 代替,這是該設(shè)置的另一個特點,它用途廣泛,可以更改或排列成各種形狀,因為我們可以像這樣排列不同形狀的三角形。

poYBAGKh2HSANgKqAAB2sQIzsDA554.jpg
?

計算機輔助設(shè)計

?

首先,我準備了一個三角形盒子或一個有蓋子的外殼。

此蓋子將由透明 PLA 打印,主體本身將由黑色 PLA 制成。

在這個三角形體內(nèi),我添加了這個電路,它比身體的內(nèi)壁略小。

?

為了從這個三角形中制作一個單一的集體光,我只是將整個身體復制了三遍,然后以這樣的方式排列它,每個三角形體將位于中心體的每一側(cè)。

為了將所有三個主體與中心部分連接起來,我添加了一些定制的 3D 打印墊片,當它們通過螺母和螺栓連接時,它們將用作兩個主體之間的墊片。

簡而言之,我們只需要一種設(shè)計,即三角形主體(底座 + LID),我們可以通過將它們與襯套螺母和螺栓連接在一起來創(chuàng)建一堆其他三角形。

PCB設(shè)計

poYBAGNiO9eAKgKdAAGnB4yzHBw806.png
?
?

在準備好整個結(jié)構(gòu)的主體后,我使用了 PCB 的 cad 繪圖中的測量值,并在我的 PCB Designing Suite 中為 PCB 準備了基本輪廓。

但在制作 PCB 之前,我們首先必須制作一個包含所有重要內(nèi)容的原理圖。

帶有零件細節(jié)的原理圖和功能

這是這個項目的示意圖。

pYYBAGNiO9uAQw7wAAGhlIxYi3s354.jpg
?

這個原理圖很容易理解,總共有 30 個 LED 并聯(lián),它們都是由這個 Mosfet 作為開關(guān)設(shè)置驅(qū)動的,然后與 attiny MCU 連接。

好吧,等等,這是一個有趣的問題,為什么我在這個項目中沒有使用 Arduino 板,為什么是 attiny?

這里的答案是 Arduino 板的成本和過度殺傷力。

(Attiny13 的成本約為 0.5 美元,Arduino 板(克?。┑某杀炯s為 5 美元)

在這個項目中,我只使用了一個數(shù)字引腳和一個模擬引腳,那么我為什么要選擇一個具有 13 個數(shù)字引腳和 5 個模擬引腳的設(shè)備根本不會被使用。

此外,我需要一個更小尺寸的 MCU,而服裝正好符合我的要求。

poYBAGNiO9-AX6EiAAL3IsqZvuM33.jpeg
?

Attiny 在一側(cè)有用于編程的 ICSP 分線引腳,在另一側(cè)有一個用于觸摸板模塊的連接器引腳。

基本上,Attiny 將控制 mosfet 的柵極,LED 將相應地打開或關(guān)閉。

完成原理圖后,我準備了電路板布局,這也不是很復雜。

?

我將在這個項目中使用 FR4 板,鋁 PCB 也是一種選擇,但很難在單面板上準備這樣的設(shè)置,所以我將使用 FR4 版本。

為了散熱,我添加了更寬的銅線,可以更好地散熱。此外,我將使用 5V 2A 充電器為該設(shè)置供電,因此它不會變得足夠熱,因為該設(shè)置包含白色 LED,每個 LED 消耗 0.5W 的功率并且它們都是并聯(lián)的,因此大約 90 個 LED x 0.5W = 45W .

45W 會發(fā)熱很多,因此限制此設(shè)置的功率和熱量的一種選擇是使用功率較小的充電器(5V 2A = 10W)。

通過為設(shè)置提供更少的功率,我們可以限制功率和熱量。

從 PCBWAY 獲取 PCB

?

完成設(shè)計后,我將其 Gerber 數(shù)據(jù)導出并發(fā)送到PCBWay以獲取樣品。

我在一周內(nèi)收到了 PCB,PCB 的整體質(zhì)量非常棒。

至于阻焊層顏色,我訂購了綠色阻焊層顏色。

我已經(jīng)使用 PCBWAY 服務很長時間了,它們很棒。

真的很喜歡 PCB 的整體質(zhì)量。

?

查看PCBWAY ,以更低的成本獲得出色的 PCB 服務!

接下來是組裝過程。

組裝過程

這個PCB的組裝過程包括四個主要的東西,它們是

  • 錫膏點膠
  • 取放過程
  • 熱板回流
  • 并添加 THT 組件。

#1焊膏

?

首先,我們在每個元件焊盤上放置焊膏。

我正在使用幾天前購買的這種焊膏,以及焊膏分配注射器。

#2挑選和放置

?

錫膏點膠后,我們將元件一個一個地添加到指定的位置,本例中為 30 個 LED。我必須制作總共 3 個 LED 板和一個控制板。

?

制作這個控制板的過程是一樣的,我在PCB的焊盤上添加了焊膏,然后在正確的位置添加了組件。

#3電爐

?
?
?
?
1 / 2
?

將組件添加到其位置后,我們小心地提起 PCB 并將其放在 SMT 加熱板上。

我正在使用我的 DIY SMT Hotplate,從這里了解更多信息-

熱板將 PCB 從下方加熱到焊膏熔化溫度,一旦 PCB 達到該溫度,焊膏就會熔化,所有組件都會焊接到它們的焊盤上。

我們抬起PCB,然后將其放在較冷的表面上稍微冷卻一下,以冷卻PCB的熱量。

然后我們只需對剩余的 LED 板和控制器板重做整個過程。

#4 THT 組件

?

在三塊 LED 板和一塊控制器板的熱板回流之后,我們必須將其余組件添加到 PCB,包括電阻器、接頭引腳和觸摸板模塊。

添加THT組件后,我們這里的焊接工作就完成了。

部分完成。

我仍然需要測試所有的板子,為此,我必須將主草圖添加到 Attiny13 MCU。

代碼和預測試

int switchPin = 4;     //4         
int led1Pin = 0;        //0

int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by


int val;                        
int val2;                       
int buttonState;                
int Mode ; //= 0;              

void setup() 
{
pinMode(switchPin, INPUT_PULLUP);    
pinMode(led1Pin, OUTPUT);
buttonState = digitalRead(switchPin); 
}

void loop(){
 
      val = digitalRead(switchPin);      // read input value and store it in val
      delay(10);                         // 10 milliseconds is a good amount of time
      val2 = digitalRead(switchPin);     // read the input again to check for bounces
      
      if (val == val2) {                 // make sure we got 2 consistant readings!
        if (val != buttonState) {          // the button state has changed!
          if (val == HIGH) {                // check if the button is pressed
            if (Mode == 0) {         
              Mode = 1;               
            } else {
                if (Mode == 1) {       
                Mode = 2;           
            } else {
                if (Mode == 2) {     
                Mode = 0;           
            } 
           }
          }
         }
        } 
        buttonState = val;                 // save the new state in our variable
      }

      // Now do whatever the lightMode indicates
      if (Mode == 0) {                       // FLIP FLOP
        digitalWrite(led1Pin, LOW);
      }

      if (Mode == 1) {
        analogWrite(led1Pin, brightness);
        brightness = brightness + fadeAmount;
        if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
      }

      if (Mode == 2) {
        digitalWrite(led1Pin, HIGH);
        delay(50);
        digitalWrite(led1Pin, LOW);
        delay(50);
      }
}
?

為了刷新 attiny13,我使用我的舊 Arduino 作為 ISP 設(shè)置,我準備用于閃存和燒錄 attiny MCU 的引導加載程序。

從這里檢查整個事情以獲得非常詳細的版本 -?

簡而言之,我們首先必須根據(jù)此原理圖將 Attiny 與 Arduino 作為 ISP 編程器連接起來。

?
  • 我們將 Arduino 的 VCC 作為 ISP 連接到 Attiny 的 VCC,
  • 地到地
  • 重置為引腳 D10(Arduino Nano)
  • Mosi 到引腳 D11(Arduino Nano)
  • 味噌到 D12(Arduino Nano)
  • 和 SCK 到 D13(Arduino Nano)

哦,在這個刷機過程之前,你還需要 Attiny13 核心文件。

您可以從這里下載 - https://github.com/MCUdude/MicroCore

  • 我們首先選擇正確的 MCU,在我們的例子中是 attiny13,不要忘記選擇正確的 COM 端口。
  • 然后我們選擇正確的程序員,在我們的例子中是“Arduino as ISP”
  • 然后我們點擊Burn Bootloader選項,這需要幾秒鐘,
  • 現(xiàn)在我們轉(zhuǎn)到草圖菜單并選擇“使用程序員上傳”選項和 BANG。

您已成功將草圖上傳到此 Attiny13 MCU。

現(xiàn)在我們做這個項目的測試部分。

?
?
?
?
1 / 2
?

我用控制器板焊接了一個 LED 三角形,并添加了一個 3.7V 的鋰電池

現(xiàn)在我們只需觸摸TTP223 模塊,我們的設(shè)置就可以工作了。

在第二次按下或觸摸時,設(shè)置會閃爍,在第三次點擊時,它會關(guān)閉。

  • 第一次點擊啟動淡入淡出序列,
  • 第二次點擊使 LED 閃爍,第三次點擊關(guān)閉所有內(nèi)容。

后來我刪除了這個閃爍序列并添加了一個不同的功能,讓我們可以控制光強度,然后讓電路板褪色。

這是最終的代碼。

int switchPin = 4;     //4         
int led1Pin = 0;        //0

int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by


int val;                        
int val2;                       
int buttonState;                
int Mode ; //= 0;              

void setup() 
{
pinMode(switchPin, INPUT_PULLUP);    
pinMode(led1Pin, OUTPUT);
buttonState = digitalRead(switchPin); 
}

void loop(){
 
      val = digitalRead(switchPin);      // read input value and store it in val
      delay(10);                         // 10 milliseconds is a good amount of time
      val2 = digitalRead(switchPin);     // read the input again to check for bounces
      
      if (val == val2) {                 // make sure we got 2 consistant readings!
        if (val != buttonState) {          // the button state has changed!
          if (val == HIGH) {                // check if the button is pressed
            if (Mode == 0) {         
              Mode = 1;               
            } else {
                if (Mode == 1) {       
                Mode = 2;           
            } else {
                if (Mode == 2) {     
                Mode = 3;           
            } else {
                if (Mode == 3) {     
                Mode = 0;  
           }
          }
         }
        }
       }
        }
          
        buttonState = val;                 // save the new state in our variable
      }

      // Now do whatever the lightMode indicates
      if (Mode == 0) {                       // FLIP FLOP
        digitalWrite(led1Pin, LOW);
      }

      if (Mode == 1) {
        analogWrite(led1Pin, brightness);
        brightness = brightness + fadeAmount;
        if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
      }

      if (Mode == 2) {
        digitalWrite(led1Pin, HIGH);
        delay(50);
        
      }
      if (Mode == 3) {
        analogWrite(led1Pin, 100);
        delay(50);
}
}

在確保一切正常之后,我們繼續(xù)下一步,將整個事情放在一起。

總裝

對于最終組裝,我首先使用 3 個 M3 大圓頭螺釘將 PCB 添加到底座三角形主體內(nèi)。

我一共準備了4個三角形底座,3個LED板,1個控制器。

最后,這是四個半成品機身,每個機身都配備了 PCB。

?

現(xiàn)在我們必須把所有東西放在一起。

將三角形設(shè)置放在一起

以及如何做到這一點?好吧,我們將控制器部分放在中間,并將其他三個 LED 燈條添加到中心三角形的每一側(cè)。

?

在兩個身體之間,我們必須將這個帶有螺母和螺栓的定制 3D 打印墊片放在一起。

我在這里使用 M3 尺寸。

我們必須總共執(zhí)行 3 次這個過程,然后,我們將得到這個巨大的三角形結(jié)構(gòu),幾乎類似于光明會三角形,但無論如何,

它非常堅固,這是這里的目標,讓它變得堅固,這樣它就可以承受它的重量,因為我會把這個裝置掛在墻上,并且會放幾年。

接下來是接線。

接線

這個設(shè)置的接線是這樣的,

Attiny13 控制 Mosfet 設(shè)置正確,因此我們必須將三個三角形 PCB 并聯(lián)連接在一起,然后將其添加到 mosfet 作為開關(guān)設(shè)置。

我使用這種接線方案來完成所有連接。

pYYBAGNiO-yASO95AADi7uqtj7o029.jpg
?

基本上,90 個 LED 都是并聯(lián)的。

我在PCB中犯了一個錯誤

pYYBAGNiO_KAWU6sAAK4LyA8xS4016.jpg
?

如果使用直接電源供電,此設(shè)置將消耗大量電流,因此為了限制電流,我添加了這個 janky 電阻器和二極管以稍微降低電壓,這樣 LED 就不會因過熱而短路。

現(xiàn)在,在這之后,我用強力膠將這個 0.3 毫米的銅片添加到中央蓋的底部。

?
?
?
?
1 / 2
?

這里的目標是完全覆蓋蓋子的底部,以便銅覆蓋大部分區(qū)域。在此之后,我在這個銅片和觸摸板之間添加了一根電線。觸摸板模塊在阻焊層上沒有開口,所以我劃傷了觸摸板區(qū)域并在其上手動焊線。

最后的潤色(將擴散器永久添加到三角形主體上)

?

最后,我用一點熱膠將中央蓋子永久地添加到身體上,我知道使用熱膠不是永久的解決方案,但我很確定這會持續(xù)很長時間。

我也對所有三個剩余三角形的擴散器蓋做了這個。

這就是結(jié)果!

?

它看起來像一個大手里劍,佐助在火影忍者中的那個。

撇開玩笑不談,這個項目現(xiàn)在已經(jīng)完成,剩下要做的就是測試部分了。但在此之前,這是最后一步或指導步驟之類的。

電源詳情

?
?

現(xiàn)在,正如我之前提到的,這個設(shè)置有一個臨時的降壓電阻和內(nèi)部添加的二極管,這完全是臨時的,所以我不會用更高的電源為其供電,而是使用通用的 5V 2A 智能手機充電器。

我在這個項目中使用了一個 5.5mm DC Barrel 插孔,所以我必須制作一個 Barrel 插孔到 USB 電纜來為這個設(shè)置供電。

這是我做的一些測量

?
?
?
pYYBAGNiO_2AZMSQAAQdtge9gTQ583.jpg
?
1 / 3
?

衰減模式下的電流消耗 - 5V 在 0.600A-1.24A

HIGH 模式下的電流消耗 - 1.37A 時 5V

50% 模式下的電流消耗 - 5V 在 0.58A-0.64A

關(guān)閉狀態(tài)下的電流圖 - 0A

最終結(jié)果/LIGHTFu 演示

?

這是此設(shè)置的工作原理,我們將手靠近中央三角形部分,燈在其第一種模式下打開。這是衰落序列。

然后我們再次執(zhí)行此操作,燈光停止其淡入淡出序列并保持在高模式。

在此之后,在第三次點擊或觸摸時,燈光會降低到 50% 亮度,最后在第四次點擊或觸摸時,燈光會熄滅。

這就是你可以控制這盞燈的方法。

?

另外,我設(shè)計了一種很酷的方法來觸發(fā)這個光,通過打孔。

不要打燈,而是將拳頭或手掌放在燈光附近,然后將拳頭向后退并再打一拳,然后重復此順序,您將擁有一個不錯的拳頭或武術(shù)訓練伙伴。

我將這種技術(shù)命名為LightFu ,我知道這很愚蠢,但這是一個很好的塑形方法。只是打孔和光將通過打開和關(guān)閉為您提供支持。

好吧,今天就到這里了,如果這個燈光項目很亮,請留下喜歡或評論,我很快就會回來做另一個項目。

劇透,這是另一個燈光設(shè)置!

poYBAGNh6oOATmyeAAA0-PThnSo701.png
?

另外,非常感謝PCBWAY對這個項目的支持,請記住,如果您需要任何 PCB 服務,PCBWAY是可以提供好東西的人。

再次感謝,再見。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1新概念模擬電路第四冊信號處理電路電子書免費下載
  2. 10.69 MB  |  33次下載  |  免費
  3. 2GBT1094.11-2022電力變壓器第11部分:干式變壓器
  4. 14.12 MB   |  3次下載  |  免費
  5. 3FT-7800R對講機維修手冊附原理圖
  6. 3.35 MB   |  2次下載  |  免費
  7. 4串口工具UartAssist5.0.exe
  8. 0.60 MB   |  2次下載  |  免費
  9. 5爬電距離和電氣間隙計算
  10. 0.75 MB   |  2次下載  |  1 積分
  11. 6UC3584DW次級側(cè)后置穩(wěn)壓器EVM板原理圖
  12. 38.97KB   |  2次下載  |  免費
  13. 7ZX-D37 BLE主從一體藍牙模塊技術(shù)手冊
  14. 1.22 MB   |  1次下載  |  免費
  15. 8使用15個時鐘周期的ADS7841和ADS7844
  16. 188.55KB   |  1次下載  |  免費

本月

  1. 1新概念模擬電路第四冊信號處理電路電子書免費下載
  2. 10.69 MB  |  33次下載  |  免費
  3. 2無刷電機控制方案設(shè)計合作
  4. 1.05 MB   |  22次下載  |  免費
  5. 3美的超薄電磁爐TM-S1-09B主板原理圖
  6. 0.08 MB   |  20次下載  |  免費
  7. 4純電動汽?的主要部件及?作原理
  8. 5.76 MB   |  12次下載  |  5 積分
  9. 5GP328和GP88S對講機的維修實列資料合集免費下載
  10. 0.03 MB   |  10次下載  |  10 積分
  11. 6舒爾SLX4無線話筒接收機原理圖:二次變頻超外差部分
  12. 0.27 MB   |  8次下載  |  免費
  13. 7i.MX Linux開發(fā)實戰(zhàn)指南—基于野火i.MX系列開發(fā)板
  14. 17.86 MB   |  7次下載  |  免費
  15. 8Type-C VL160數(shù)據(jù)手冊
  16. 0.92 MB   |  7次下載  |  3 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935115次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191364次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73805次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分