家居生活中的幾乎每一種設備都在經歷自動化和智能化的創新。順應這一趨勢,本文將介紹如何創建一個智能垃圾桶設計,當有人接近垃圾桶時會自動打開,并在人離開時自動關閉。這個設計不需要用戶觸碰垃圾桶。該系統還配備了特殊的按鈕來校準距離:用戶可以選擇垃圾桶感應的距離為20厘米、40厘米或60厘米。該設計通過使用一顆Dialog SLG46140V CMIC、一個伺服電機和一個超聲波傳感器實現。

我們為這個項目選擇了SLG46140,因為它包含了有效執行所有系統功能的合適元素。該IC以脈沖的形式接收來自超聲波傳感器的信號,其中觸發器和接收信號之間的延遲時間表示聲音信號移動和從對面物體回彈所需的時間。然后,該IC將時間延遲與距離進行關聯;然后,相對于所選擇的距離閾值測量該距離。如果滿足閾值,則生成合適的PWM信號并發送到伺服電機,使其旋轉90º從而打開垃圾桶蓋。當用戶離開垃圾桶時,該IC從超聲波傳感器接收新值,生成新的PWM信號,使電機反向旋轉90°,從而關閉桶蓋。

圖1: 電路框圖

SLG46140 GreenPAK是一款小型IC,包含很多不同的可配置組件。可以在幾分鐘內對該IC完成配置實現這個應用,它將能執行所有系統功能,而無需使用微控制器或類似的處理器件。此外,GreenPAK的低功耗性能可以節省電池使用,這使自動垃圾桶傳感器對客戶更具吸引力。

我們用了一個小型伺服電機(SG90)來創建項目原型設計,這對小型垃圾桶很方便。在選擇伺服電機的時候,應檢查其扭矩并確保能夠正確打開垃圾捅蓋。該項目已通過實際原型進行測試和實現。

GreenPAK設計

該設計包括兩個基本部分:第一部分用于接收來自超聲波傳感器的信號,并將其與距離進行關聯。 第二部分負責生成PWM信號以旋轉伺服電機。

超聲波傳感器控制設計

我們在這個項目中使用的傳感器是HC-SR04超聲波傳感器模塊。該傳感器有四個引腳。GND和VCC引腳為傳感器提供電源,TRIG和ECHO引腳控制濾波后的超聲波信號。如果我們在TRIG引腳上施加高信號至少10 us(微秒),傳感器將發送頻率為40 kHz的8周期超聲波發射脈沖串。如果有物體面向傳感器,超聲波將反彈并被傳感器接收。然后,傳感器將在ECHO引腳上輸出一個高信號,其周期等于脈沖發送和接收之間的延遲。

根據傳感器的數據表,距離可以通過以下公式計算:

時間=回波脈沖寬度(微秒)

距離(以cm為單位)=時間 / 58

或者你可以利用聲速(340米/秒)并使用等式:

距離=速度x時間

請注意,我們從傳感器接收的時間是聲音信號接收和反彈所需的時間。因此距離值加倍,我們需要將時間除以2才能得到正確的距離。

GreenPAK中的Pin3已配置為輸出,連接到HC-SRO4的TRIG引腳。CNT2和CNT3每20ms生成一個10us脈沖,發送到Pin3。

CNT2已配置為“延遲”,計數器數據等于270。延遲在來自P DLY的下降沿觸發。CNT3負責每10ms生成一個脈沖,其計數器數據為249。

CNT3輸出連接到DFF0,已與P DLY一起用作分頻器,每20ms觸發一次CNT2。

Pin4配置為輸入,連接到超聲波傳感器的ECHO引腳。Pin4的輸入信號傳遞至2-bit LUT0和CNT0;兩者都用于計算脈沖寬度,來與所選閾值進行比較。

CNT0被配置為上升沿延遲,計數器數據等于26。該延遲時間等于1.14ms,對應于20cm的距離。 因此,CNT0將為每個20cm距離增量輸出一個脈沖,根據來自傳感器的ECHO脈沖持續時間計算。

管道延遲塊用于計算來自CNT0的一個、兩個或三個脈沖。“1 Pipe Out”與20cm距離標記相關聯,“Out1”與40cm距離標記相關聯,“Out0”與60cm距離標記相關聯。

來自管道延遲塊的信號傳遞至4-bit LUT0和3-bit LUT0,以與DFF1、DFF2和DFF5輸出進行比較。 如果管道延遲的有效輸出與用戶選擇的值匹配,則高信號產生并存儲在DFF3中。

Pin5連接到一個按鈕,該按鈕通過為由DFF1、DFF2和DFF5組成的3-bit移位寄存器提供時鐘,來循環設備的距離靈敏度。DFF輸出連接到Pin9、Pin10和Pin11,這幾個引腳都配置為輸出。這些DFF負責保存用戶選擇的選項,輸出可以發送到LED以示意當前設置。

Pin6將切換反相DFF4,它負責激活或停用系統。DFF4的輸出傳遞至2-L2和2-L3。

Pin5和Pin6均采用外部濾波器去抖,因為我們的設計使用了SLG46140中的所有CNT / DLY模塊。

3-L1配置為反相器,轉換來自Pin4的信號。反相器的輸出連接到DFF3的CK輸入。當傳感器開始新的運行周期時,此連接使DFF3能夠保持位于“D”輸入的值。

伺服電機控制設計

在這部分設計中,將生成合適的PWM信號以旋轉伺服電機臂,從而根據距離計算打開和關閉垃圾桶蓋。

伺服電機的旋轉角度由PWM信號決定。在本項目中,我們將使用Tower Pro SG90,它能夠旋轉到幾乎180°(每側90°)。 旋轉角度通過提供給電機控制輸入的PWM信號來延展。如果每個PWM脈沖寬度為1.5ms,則電機位于中間(角度0°);如果脈沖寬度等于2ms,則電機位于90°;如果脈沖寬度等于1ms,則電機位于-90°。在這個項目中,當傳感器未在指定范圍內監測到物體時,電機應定位在0°;當物體接近垃圾桶時,電機將旋轉至約90°角。

當系統檢測到垃圾桶附近有物體時,DFF3輸出從低切換到高;命名為“檢測到物體”的信號傳遞至CNT1的“DLY IN”輸入。CNT1配置為雙邊延遲,用于防止噪音或傳感器前方任何快速移動導致打開垃圾桶。 這樣的話,除非物體在垃圾桶前停留半秒以上,否則垃圾桶蓋不會打開。

CNT1的計數器數據為193,等于500ms。CNT1的輸出連接到PWM0的“MTRX sel#1”和“MTRX sel#0”輸入。PWM0負責生成伺服電機的最終PWM信號;由于我們從“IN +”列表中選擇了“通過矩陣選擇的寄存器”,因此生成的脈沖的寬度將對應于先前存儲在該塊的內部寄存器中的值。我們在寄存器1中存儲了值24,在寄存器2中存儲了值52。

圖2: GreenPAK設計

圖3: 頂層電路圖

圖4: 自動垃圾桶原型

總結

在本項目中我們創建了一個智能垃圾桶,當有人靠近它時自動打開,并在人離開時自動關閉。

系統的所有控制功能,包括從超聲波傳感器接收信號,和為伺服電機生成合適的信號,都是通過單個小型Dialog GreenPAK CMIC實現,它能有效地執行各項功能。