本插座使用新國(guó)標(biāo)五孔外殼,相比老款外殼更容易布線。在保留老款特性(磁保持繼電器、電能計(jì)量、OTA升級(jí)固件)的同時(shí),也解決了最后的短板(電流計(jì)數(shù)不穩(wěn)定、外殼無(wú)法完美貼合等)。是計(jì)量插座的完全體。
本插座使用220V市電,DIY及使用時(shí)可能存在電擊、高溫燙傷等多種可能至人傷、殘、死亡的風(fēng)險(xiǎn)。請(qǐng)嚴(yán)格按照安全規(guī)范操作并做好充足的保護(hù),未成年人請(qǐng)?jiān)诒O(jiān)護(hù)人的輔助下操作。使用本方案,表示你已經(jīng)對(duì)安全風(fēng)險(xiǎn)有充足的認(rèn)知,請(qǐng)確認(rèn)自己有足夠的知識(shí)儲(chǔ)備再行操作。造成的任何損失和后果自負(fù),本人不承擔(dān)任何法律上的責(zé)任。
本人是軟件方向,非電子硬件科班生,只是業(yè)余愛好者。因此可能很多基本的硬件常識(shí)都不知道,電路圖上如有任何不妥,還望各位不吝賜教,拱手致謝。
1.兩種方案可選,電量計(jì)量芯片可使用方案1(BL0937)或者方案2(BL0942)。
2.之前使用的老版外殼,PCB布線上有諸多不便。插腳那里是直上直下直通電路板的,焊接時(shí)非常的不優(yōu)雅。另外外殼上的凸起始終會(huì)被擋住,不太完美。所以更換了外殼,并解決了以上缺陷。
3.因?yàn)橥鈿こ叽缦拗疲疟3掷^電器只能選用超小型的,我只找到這一種適合而又不那么貴的(FH44L-1AT-L1-DC5V),有更合適的請(qǐng)?jiān)谠u(píng)論區(qū)留言(要求:磁保持繼電器,耐壓220V10A及以上,大概尺寸20x10x15mm)。
4.MCU部分需要單獨(dú)打板,因此這個(gè)項(xiàng)目實(shí)際上需要打板2塊,分別是(方案1或方案2的)插座主體和直插模塊,2塊PCB的厚度都是1mm。
5.方案1的計(jì)量芯片使用了BL0937,它的好處是便宜、外圍電路簡(jiǎn)單。缺點(diǎn)是使用前需要校準(zhǔn),不過只用校準(zhǔn)一次,問題不大。
6.方案2使用BL0942,它的好處是不需要校準(zhǔn),另外計(jì)量功能稍多一點(diǎn)。
7.沒有使用隔離供電,220V市電L線直接連GND,因此整個(gè)PCB都帶強(qiáng)電。調(diào)試時(shí)必須帶外殼插在插板上測(cè)試,外殼在沒有粘膠的情況下很容易被拔掉。請(qǐng)愛惜自己的生命。
8.如果在PCB打板過程中,廠家提示:中間銑槽連接位太小、會(huì)斷板等,請(qǐng)回復(fù):我已悉知并可接受此原因帶來(lái)的風(fēng)險(xiǎn),請(qǐng)直接按Gerber文件生產(chǎn),謝謝!
1.編譯環(huán)境為VScode+PlatformIO
2.使用開源的MQTT方案,不花一分錢就可以獲得一個(gè)不限制設(shè)備數(shù)量和使用期限的云服務(wù)器。
3.實(shí)際使用中發(fā)現(xiàn)公共、免費(fèi)的MQTT服務(wù)器雖然也能用,但延遲比較大。如果對(duì)實(shí)時(shí)性要求比較高的,建議在云服務(wù)器或者路由器上自建MQTT服務(wù)器(推薦軟件EMQX,免費(fèi)、性能強(qiáng)大)。
4.手機(jī)端不再使用MQTT dashboard_v0.4.5_apkpure.com.apk,這個(gè)APP已經(jīng)很久沒有升級(jí)過了,而且不能完整支持JSON ,沒法用。改成附件里面的IoT MQTT Panel_0.45.18_Apkpure.apk,這個(gè)APP界面還行,使用也還方便,也完整的支持JSON,就是有廣告這點(diǎn)不好。(有更合適的手機(jī)APP請(qǐng)?jiān)谠u(píng)論區(qū)留言)
1.支持網(wǎng)頁(yè)配網(wǎng)
2.支持微信掃碼配網(wǎng)(不推薦,不能100%成功)
3.支持網(wǎng)絡(luò)對(duì)時(shí)NTP
4.支持MQTT,有助于更透徹的理解物聯(lián)網(wǎng)工作機(jī)制。使用MQTT手機(jī)APP上的開關(guān)、倒計(jì)時(shí)器、定時(shí)器等方式開啟或者關(guān)閉插座。
5.定時(shí)器程序是在插座本地實(shí)現(xiàn)的,非云端實(shí)現(xiàn)。只要提交參數(shù)上去保存好,哪怕后來(lái)斷網(wǎng)了,插座還是可以定時(shí)開啟或者關(guān)閉。所以用本插座物理重啟光貓或者路由器,成為可能。
6.支持OTA在線升級(jí)固件,通過網(wǎng)絡(luò)就可以升級(jí)固件。再不用痛苦的把板子拆下來(lái)重新刷固件了。
7.支持LittleFS文件系統(tǒng),可以掉電保存各種參數(shù)。即使插座掉電重啟,原先的參數(shù)還在。
8.支持電量計(jì)量,可顯示實(shí)時(shí)電壓V/電流mA/功率W,以及總功耗kWh。
9.網(wǎng)頁(yè)配網(wǎng)頁(yè)面,支持通過web上傳固件及文件系統(tǒng)。用于刷固件變磚的恢復(fù)。
10.支持HomeAssistant MQTT自動(dòng)發(fā)現(xiàn),可以使用MQTT集成,方便的進(jìn)行控制。
1.插座外殼(包括里面的220V10A公母一體插座)-> 上阿里巴巴一次買2個(gè)以上 便宜,電子按鍵就是普通的6x6x5側(cè)按鍵,也可以自己?jiǎn)为?dú)買。
2.AC220V TO DC5V開關(guān)電源模塊 右邊的鏈接我都買過(注意:要買5V帶腳的)-> 鏈接1 鏈接2 鏈接3
4.ESP-12S模塊 可購(gòu)買ESP12E/F/S,三種型號(hào)都是兼容的。F最便宜我經(jīng)常 -> 買這個(gè),不到5塊錢還包郵。
5.磁保持繼電器(注意:要買FH44L-1AT-L1-DC5V(5V4腳單線圈))-> 購(gòu)買鏈接
6.磁保持繼電器驅(qū)動(dòng)芯片CN8023B(注意要買SOT-23,6腳的) ->購(gòu)買鏈接
7.(可選方案1)電能計(jì)量芯片BL0937 SOP-8貼片 我買的是-> 這個(gè)購(gòu)買鏈接, (可選方案2)BL0942 (注意要買SSOP10,10腳的) -> 購(gòu)買鏈接
8.除此以外其他的元器件(包括電阻、電容、AMS1117、發(fā)光二極管LED等)我基本上都是在優(yōu)信電子買的-> 優(yōu)信電子淘寶店
9.ESP8266開發(fā)測(cè)試架/燒錄器(初學(xué)者才需要),我買的是這個(gè)-> 購(gòu)買鏈接
10.粘外殼用的,補(bǔ)鞋膠 ->鏈接
1.先給ESP12S刷好固件,參考:https://oshwhub.com/article/ci-bao-chi-WIFIzhi-neng-cha-zuo-ruan-jian-gong-cheng-dao-ru-VSCODE-yi-ji-bian-yi-shuo-ming
2.給ESP12S配網(wǎng)設(shè)置好MQTT參數(shù),參考:https://oshwhub.com/article/ci-bao-chi-WIFIzhi-neng-cha-zuo-ruan-jian-diao-shi-shuo-ming
3.在手機(jī)上安裝MQTT APP,并設(shè)置好MQTT服務(wù)器參數(shù)。 教程: https://oshwhub.com/article/xin-guo-biao-wu-kong-ji-liang-cha-zuo-10A-pei-tao-shou-ji-APPan-zhuang-ji-she-zhi-shuo-ming
4.把刷好固件的ESP12S焊接到PCB上
5.焊接主體PCB步驟
6.上面大電流加焊那個(gè)地方,缺口那里一定不能焊的太高了,會(huì)擋住外殼。
7.焊好的各個(gè)角度圖
8.裝殼測(cè)試,******不要用膠水******先大致裝起來(lái),萬(wàn)一有問題還可以返工。(必須插在插板上測(cè)試,因?yàn)橥鈿]有粘膠,很容易被拔掉,請(qǐng)愛惜自己的生命)
9.等測(cè)試完沒問題,最后再把外殼用膠水粘起來(lái),要等24小時(shí)膠水干了才能使用。
(軟硬件安裝完成)
2023/6/22
1.硬件更新(插座PCB BL0937 V1.1)
磁保持繼電器驅(qū)動(dòng)棄用場(chǎng)效應(yīng)管,改用驅(qū)動(dòng)芯片CN8023B。
在6月2日的更新中,場(chǎng)效應(yīng)管雖然可以正確驅(qū)動(dòng)磁保持繼電器,不會(huì)出現(xiàn)上電瞬間抖動(dòng)的問題。
但后續(xù)測(cè)試中發(fā)現(xiàn),如果頻繁打開、關(guān)閉插座開關(guān),H橋有非常高的幾率會(huì)直接將5V、GND短路。
預(yù)防短路的電路,我覺得比較復(fù)雜、元件多、不太優(yōu)雅,所以重新找了一個(gè)驅(qū)動(dòng)芯片,也就是CN8023B,不再使用場(chǎng)效應(yīng)管驅(qū)動(dòng)繼電器。
2.增加了BL0942方案的插座PCB,該方案的優(yōu)勢(shì)是只要關(guān)鍵位置的測(cè)量電阻精度為1%,就基本不用校準(zhǔn)。
2023/6/2
硬件更新(插座PCB V1.0,ESP12S雙面直插模塊2x6P V2.7)
1.棄用驅(qū)動(dòng)芯片MD7620A,因繼電器上電瞬間抖動(dòng)的問題。
經(jīng)過研究,發(fā)現(xiàn)這是繼電器驅(qū)動(dòng)芯片MD7620A的硬件BUG,跟IO抖動(dòng)無(wú)關(guān)。
具體原因是因?yàn)镋SP12S在初始化時(shí)會(huì)自動(dòng)設(shè)置IO腳為輸入模式,也就是IO輸出置高電平,這個(gè)時(shí)間有100-300ms。
即使人工設(shè)置IO腳為低電平,但初始化IO為高已經(jīng)發(fā)生,并且無(wú)法避免。
而MD7620A芯片,當(dāng)2個(gè)輸入都為高時(shí),輸出不確定(也就是繼電器可能閉合也可能斷開)。
外在表現(xiàn)就是:當(dāng)設(shè)備上電時(shí),繼電器可能會(huì)吸合然后斷開,也就是閃了一下。也可能不會(huì)發(fā)生,有一定的概率。
這是MD7620A芯片的硬件BUG。我的解決辦法是換成4個(gè)場(chǎng)效應(yīng)管組成H橋,驅(qū)動(dòng)繼電器。實(shí)測(cè)再無(wú)上電時(shí)繼電器抖動(dòng)。感謝@21568P @hlg123 的報(bào)錯(cuò)。
2.插座主體PCB,已增加底層的銅皮和過孔,開槽也向下擴(kuò)展了。感謝@squarer的指點(diǎn)
3.直插模塊PCB,已將2個(gè)電容挪到了VCC引腳的附近。感謝@squarer的指點(diǎn)
2023/2/15
1.硬件發(fā)布(插座PCB V0.7,直插模塊右插腳 V2.4)
2023/7/17
1.根據(jù)@star19997的反饋,增加了對(duì)MQTT用戶名、密碼的支持。
已做好的插座如需更新此功能,除了升級(jí)固件,還需要在配網(wǎng)頁(yè)面升級(jí)LittleFS文件系統(tǒng)。因此參數(shù)會(huì)重置,需要重新配置。
2023/6/2
1.網(wǎng)頁(yè)配網(wǎng)頁(yè)面,現(xiàn)已支持通過web上傳固件及文件系統(tǒng)。用于刷固件變磚的恢復(fù)。
2.已支持HomeAssistant MQTT自動(dòng)發(fā)現(xiàn),可以使用MQTT集成,方便的控制本插座。
2023/2/23
1.修正了倒計(jì)時(shí)參數(shù)掉電以后不能保存的問題,感謝 @liang_work 的報(bào)錯(cuò)。
2023/2/21
1.增加了一個(gè)LED控制開關(guān)
APP面板:
復(fù)制 開關(guān)
名字:LED長(zhǎng)亮
JsonPath: $.led
JSON pattern for publish: {"m":"led","v":"<payload>"}
(說明:ON,LED隨開關(guān)長(zhǎng)亮,開關(guān)開LED亮,開關(guān)關(guān)則LED滅;OFF,限制LED點(diǎn)亮延續(xù)時(shí)間,LED最多只亮100秒,減少光污染。)
2023/2/16
1.使用MQTT遺愿參數(shù)設(shè)置了設(shè)備在線狀態(tài)。(贊嘆:很巧妙的方法)
2023/2/15
1.軟件發(fā)布
工程附件里面的3個(gè)PCB layout文檔非常有用。我以前計(jì)量插座布線總是干擾很大,看完文檔簡(jiǎn)直如醐醍灌頂。
1.在VSCODE里面編譯固件
1.是編譯固件的按鈕,2是編譯出來(lái)的固件地址。
2.將編譯好的固件上傳到一個(gè)HTTP地址,可以是網(wǎng)站或者是你的本地路由器,地址類似于:http://x.x.x.x/data/esp12s.bin
上傳好以后一定要打開瀏覽器實(shí)際測(cè)試一下,看看這個(gè)固件地址是不是能正常下載。
3.在 WEB配網(wǎng) 里面設(shè)置好OTA固件鏈接,就是那個(gè)網(wǎng)址類似于:http://x.x.x.x/data/esp12s.bin
4.在手機(jī)APP里面點(diǎn) 升級(jí)固件
OTA升級(jí)時(shí),LED會(huì)隨下載進(jìn)度快速閃爍。
升級(jí)成功會(huì)自動(dòng)重啟。
感謝嘉立創(chuàng)yyds,每個(gè)月都要被我薅羊毛打板PCB。
感謝:@tuobeiyang @engineergao @DongDuZhiLang @shayulei @therealkamisama @xywl98 @EHE @LZGD @Egbert @小菜比 @skcks @全幼兒園最帥的男人 @lingbm
以及其他在評(píng)論區(qū)留言的大佬。因?yàn)槟銈兊囊庖姾徒ㄗh,讓我得到很多啟發(fā)、學(xué)習(xí)到了更多的知識(shí)。
非常感謝!
!注意:請(qǐng)使用瀏覽器自帶下載,迅雷等下載軟件可能無(wú)法下載到有效資源。
歡迎加入EEWorld參考設(shè)計(jì)群,也許能碰到搞同一個(gè)設(shè)計(jì)的小伙伴,群聊設(shè)計(jì)經(jīng)驗(yàn)和難點(diǎn)。 入群方式:微信搜索“helloeeworld”或者掃描二維碼,備注:參考設(shè)計(jì),即可被拉入群。 另外,如您在下載此設(shè)計(jì)遇到問題,也可以微信添加“helloeeworld”及時(shí)溝通。
EEWorld Datasheet 技術(shù)支持