一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Arduino洗衣機(jī)監(jiān)控器的制作教程

454398 ? 來(lái)源:wv ? 2019-10-25 10:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:硬件設(shè)計(jì)

這將是我最簡(jiǎn)單的Instructable硬件之一。您甚至都不需要面包板,這些零件可以通過(guò)簡(jiǎn)單的跳線連接。盡管我討厭為這個(gè)項(xiàng)目熱粘合,但這是一個(gè)完美的選擇。

使用的零件:

-Arduino PRO Micro

-ACS 712電流傳感器:20A

-繼電器模塊(如果您的負(fù)載消耗的電流超過(guò)10A,請(qǐng)不要使用圖示的10A模塊?。?/p>

-HLK-PM01-5V微型電源(低功耗,環(huán)保,無(wú)負(fù)載損耗《0.1W)。盡管看起來(lái)可能不像,但這是一個(gè)微型隔離電源(不是無(wú)變壓器電源TPS,在所有Arduino/ESP項(xiàng)目中都應(yīng)不惜一切代價(jià)避免使用)

-HC12收發(fā)器

-HC12 USB加密狗的另一端

-任何230V電源板

接線:

有些誤入歧途的人認(rèn)為中性線(BLUE)中的電流(在單相交流電源的情況下)低于熱線(BROWN)中的電流。這是不正確的。 2個(gè)串聯(lián)負(fù)載(一個(gè)是我們的電流表)上的單相交流網(wǎng)絡(luò)中的電流完全相同。將ACS電流傳感器放在零線的唯一好處是,如果您在負(fù)載斷開時(shí)(通過(guò)開關(guān)或繼電器)觸摸它,則不會(huì)被屏蔽,因?yàn)榱硪环矫嬗?的電流流過(guò)如果即使在關(guān)閉狀態(tài)下也要觸摸棕色電線(如果開關(guān)和繼電器位于電流表之后),則電源電壓會(huì)穿過(guò)您的身體到達(dá)地面。因此,從安全角度來(lái)看,可以說(shuō)將ACS電流傳感器放在中性線上比較安全,但是在隱蔽的環(huán)境中這并不重要,并且在設(shè)備開啟時(shí)也不要觸摸任何電線。

對(duì)于我的電路,主電源230V首先進(jìn)入繼電器(除非處于受控狀態(tài),否則它將始終處于閉合狀態(tài)),然后我使用了一根剛性導(dǎo)線,該導(dǎo)線甚至可以輕松承受20安培的電流,從而將ACS與之連接在一起。這根電線還有助于在熱粘合之前將組件固定在適當(dāng)?shù)奈恢谩?/p>

我最初的想法是將整個(gè)電路構(gòu)建到配電盤中,但是正如我的圖片所示,它們使這些組件有意地不可拆卸(哦?。?。所以我只剪了主電源線,然后將其放在接線盒中。

最后一點(diǎn)請(qǐng)注意,如果負(fù)載消耗的電流超過(guò)10A,則不應(yīng)使用10A繼電器。確保您已閱讀設(shè)備的數(shù)據(jù)表或使用電流表進(jìn)行測(cè)試以查看峰值電流是什么。

該項(xiàng)目的棘手部分是無(wú)線電通信,因?yàn)槲业南匆聶C(jī)和烘干機(jī)都在地下室。我已經(jīng)嘗試了一些解決方案以查看它們是否可行:

1,ESP32/8266 wifi-》并非所有wifi信號(hào)都被完全阻止的機(jī)會(huì)

2、2G/3G/4G-》沒電了,死了

3,Lora-》正常工作,但是對(duì)于該項(xiàng)目來(lái)說(shuō)是一個(gè)過(guò)大的殺傷力

4,433Mhz廉價(jià)發(fā)射器,它確實(shí)可以工作在12V的升壓TX功率下但會(huì)干擾使用此頻段的氣象站和其他設(shè)備。最初,我沒有計(jì)劃在該版本中使用中繼,否則就沒有一個(gè)簡(jiǎn)單的發(fā)送器就足夠了。

因此,我最終選擇了HC12遠(yuǎn)程收發(fā)器作為該項(xiàng)目的理想選擇。盡管那里的一些人聲稱距此只有幾公里,但由于信號(hào)干擾,我未能在市區(qū)達(dá)到200米的距離,但這對(duì)于該項(xiàng)目而言卻是完美的。該收發(fā)器支持許多不同的傳輸模式,從1200Bps-》 115200 Bps到最低,最低為1200,可以很好地與我的距離和障礙物配合使用。這個(gè)小模塊讓我印象深刻,它能夠通過(guò)3個(gè)樓層和兩個(gè)單元之間的多個(gè)門進(jìn)行通信

步驟2:HC12注意事項(xiàng)

本節(jié)是可選的,如果您對(duì)此內(nèi)容不感興趣,則可以跳過(guò)此部分,因?yàn)樵撃K僅適用于短距離開箱即用的設(shè)置。如果您的環(huán)境中的通信仍然有問(wèn)題,請(qǐng)繼續(xù)閱讀。

我發(fā)現(xiàn)有許多教程和手冊(cè),其中提到HC12可以根據(jù)串行帶寬自動(dòng)調(diào)整無(wú)線電傳輸速度。

但是不幸的是,這不是事實(shí)。您不能只執(zhí)行HC12.begin(1200)并期望通信以5000 bps的速度進(jìn)行空中傳輸(這對(duì)于我們的應(yīng)用程序是最佳的)。

必須首先將其置于編程模式,將SET引腳拉低至GND,然后發(fā)送AT + B1200命令,但是一旦完成,它就會(huì)寫入閃存,您將不必再次更改它。

但也不要忘記第一次與設(shè)備通信時(shí),您使用的是9600bps,將其設(shè)置為任何其他波特率時(shí),您將變得亂碼,必須相應(yīng)地更改代碼。

因此,從

1,讓程序使用HC12.begin(9600)打開串行端口

2,將HC12的編程器引腳(SET)連接到GND

3,您的程序?qū)C12.println(“ AT + B1200”)發(fā)送出去

4,此時(shí)設(shè)備設(shè)置為1200bps Serial/5000 bps Air,您將無(wú)需再次執(zhí)行此過(guò)程(除非您的發(fā)射器壞了并且您必須編寫一個(gè)新的程序)

5,您必須修改程序以每次使用HC12.begin(1200)來(lái)打開序列號(hào)。

從理論上講,這使我想到了HC12節(jié)點(diǎn)可以相互重新編程。為此,您可以執(zhí)行類似PROG_MODE的命令,并且遠(yuǎn)程Arduino接收到它后,它將HC12的編程器引腳下拉到地面,然后發(fā)送“ AT +任何帶寬”命令,關(guān)閉其串行并以新的帶寬重新打開,然后本地節(jié)點(diǎn)本質(zhì)上是一樣的。為了在修改波特率后重啟,您的程序可以在啟動(dòng)時(shí)將HC12置于編程模式(通過(guò)將SET拉到GND),并執(zhí)行AT + RX,模塊以當(dāng)前設(shè)置的帶寬返回,并將其用作基值。

默認(rèn)設(shè)置為FU3,9,600bps(8位數(shù)據(jù),無(wú)校驗(yàn),一個(gè)停止位),CH001(433.4MHz)。為了獲得最遠(yuǎn)的通訊距離,可以將串行端口的波特率設(shè)置為較低。

我還購(gòu)買了一些HC12 USB加密狗進(jìn)行測(cè)試,這對(duì)他們有好處,因?yàn)樗鼈儾粌H可以在框,但它們具有用于編程的簡(jiǎn)潔PROGRAMMER按鈕。使用這些模塊后,我遇到的一個(gè)問(wèn)題是,我將它們置于未知狀態(tài)(不同的通道,不同的波特率)幾個(gè)月了,在將它們從抽屜中拉出后,它們不再起作用了,因此如果您更改參數(shù),最明智的做法是在盒子上或模塊上打印一個(gè)小標(biāo)簽,或記錄您的項(xiàng)目,這樣可以避免一個(gè)小時(shí)的QQ操作。

制造商聲稱,您始終可以通過(guò)將端口設(shè)置為9600Bps并將AT + DEFAULT發(fā)送到設(shè)備來(lái)重置設(shè)置,但不幸的是,這并不總是正確的:(

其中之一是我的加密狗可以正常工作,另一個(gè)在編程器模式下什么都沒有響應(yīng),于是我被迫從其他設(shè)置的1200Bps手動(dòng)進(jìn)行嘗試,嘗試向其發(fā)送命令,但無(wú)濟(jì)于事。我在網(wǎng)上搜索了一下之后,找到了解決方案,需要長(zhǎng)時(shí)間按住PROGRAMMER(重置)按鈕,雖然不需要這么長(zhǎng)的時(shí)間,類似于WRTG硬重置的30,30,30的做法肯定會(huì)起作用:在設(shè)備運(yùn)行時(shí)按住按鈕5秒鐘插上電源,拔下設(shè)備的電源,按住按鈕,重新插上電源,然后將按鈕重置為DEFAULT。

我有另一個(gè)物理HC12模塊,我在其中更改了設(shè)置,但再也無(wú)法使其正常工作2 Arduino Megas,Leonardo和Pro Micro,因此除非您必須最好地更改參數(shù)事情是讓它們保持默認(rèn)狀態(tài)。我已經(jīng)更改了默認(rèn)通道,因?yàn)樯院笪铱赡軙?huì)執(zhí)行另一個(gè)HC12項(xiàng)目,并且不想干擾這個(gè)項(xiàng)目。

步驟3:Arduino代碼

ACS 712可以測(cè)量直流電流,但也可以使用它來(lái)測(cè)量AC。我不會(huì)在其他文章中詳細(xì)介紹它:

http://henrysbench.capnfatz.com/henrys-bench/ardu 。..

如果您不感興趣如何完成操作,只需拿我的代碼并調(diào)整電壓(ACS 712 10A/20A/30A模塊的110/230V和ACS類型值)即可。

監(jiān)視2臺(tái)設(shè)備的操作變得有些棘手。幸運(yùn)的是,與這種B級(jí)干衣機(jī)一樣,它在能源使用方面(不斷消耗超過(guò)1200W)浪費(fèi)了很多精力,它可以與洗衣機(jī)區(qū)分開來(lái),而洗衣機(jī)在運(yùn)行時(shí)從1W的待機(jī)待機(jī)功率變?yōu)?00W(我要指出的是模式,例如90C上的白色清洗,甚至可以達(dá)到2KW,但我從未使用過(guò))。該軟件正在查詢放大器,計(jì)算每秒許多CPU(或我們稱為MCU)周期的功率,但是有一個(gè)問(wèn)題,如前所述,洗衣機(jī)即使打了三分鐘的神奇寶貝,也可能會(huì)降到非常低的功耗模式。在夢(mèng)想中如果我們每5分鐘將這個(gè)值拉一次,則很有可能是不準(zhǔn)確的,因此在代碼中實(shí)現(xiàn)了一種稱為平滑的技術(shù),該技術(shù)將這個(gè)值取100倍并取平均值。對(duì)于每個(gè)新值,將生成并除以所有數(shù)字的總和,生成平均值,然后將其用于平滑外圍數(shù)據(jù)。因?yàn)槊看稳∫粋€(gè)新值(例如等待100個(gè)新值)時(shí)都會(huì)進(jìn)行這種平均,所以在計(jì)算此運(yùn)行平均值時(shí)沒有滯后時(shí)間。

測(cè)量數(shù)據(jù):

1,洗衣機(jī)

128W的使用情況-》在電機(jī)旋轉(zhuǎn)周期之間可以下降到-》 1W

0.5-1.5W待機(jī)

2,烘干機(jī)

超過(guò)1275W的使用量!

2W待機(jī)

可以定義以下狀態(tài):

if powercons_for_5mins 《 1.5W washing ready

if powercons_for_5mins 《 5W drying ready

if powercons_for_5mins 》 50W washer is running

if powercons_for_5mins 》 500W dryer is running

if powercons_for_5mins 》 1350W dryer+washer is running

消息本來(lái)可以每5分鐘發(fā)送一次,但是我希望在負(fù)載打開時(shí)進(jìn)行1秒的延遲以進(jìn)行進(jìn)一步的調(diào)試。還用這種方式檢測(cè)到一些奇怪的異常。

由于電源電壓從不改變,因此公式始終為P = 230 * I(測(cè)量安培)。

EOL_LOAD_WD,1,5.6,1350

完成洗滌和干燥后,系統(tǒng)仍將采樣功耗,但不會(huì)再發(fā)送任何消息。最終通知將重復(fù)3次,例如:

EOL_LOAD_OFF,0,0,0

EOL_LOAD_OFF,0,0,0

EOL_LOAD_OFF,0,0,0

有關(guān)代碼的一些注釋:

由于中繼只是一種額外的添加,因此很少(或永遠(yuǎn)不會(huì))使用繼電器的常閉狀態(tài)可以延長(zhǎng)其使用壽命。該代碼將繼電器設(shè)置為0,這意味著它將需要變?yōu)楦唠娖揭躁P(guān)閉設(shè)備(而不是將其打開)。

pinMode(POWER_RELAY, OUTPUT);

digitalWrite(POWER_RELAY, LOW);

該代碼將計(jì)算功率并將其評(píng)估為發(fā)送特定事件的標(biāo)準(zhǔn),但所有發(fā)送的數(shù)據(jù)僅用于調(diào)試,這是我們對(duì)3種狀態(tài)采取的唯一操作:

if (Match(eolstate, “EOL_LOAD_WF”) != NULL)

system(“/home/pi/eol.sh wf”);

if (Match(eolstate, “EOL_LOAD_DF”) != NULL)

system(“/home/pi/eol.sh df”);

if (Match(eolstate, “EOL_LOAD_WDF”) != NULL)

system(“/home/pi/eol.sh wdf”);

其中F表示完成。這些狀態(tài)取決于以前的狀態(tài)(洗衣機(jī)/干衣機(jī)是否正在運(yùn)行)。例如,洗衣機(jī)正在運(yùn)行,干衣機(jī)已關(guān)閉,則代碼將進(jìn)入else if(PowerAVG 《500 && PowerAVG》 50)部分并打印EOL_LOAD_W,但這不是我們關(guān)心的,而是在洗滌完成時(shí)。然后,一旦機(jī)器完成并且在較長(zhǎng)的時(shí)間段內(nèi)功耗下降到1W,則代碼進(jìn)入其他情況,如果(PowerAVG 《10 && PowerAVG》 1)但由于先前狀態(tài)eol_state》 = 1為1,它將打印EOL_LOAD_WDF消息并鎖定(將狀態(tài)設(shè)置為0)。下次進(jìn)入此代碼段時(shí),當(dāng)計(jì)算機(jī)物理關(guān)閉且負(fù)載低于1瓦時(shí),負(fù)載將處于備用EOL_LOAD_S,將生成EOL_LOAD_OFF并將eol狀態(tài)設(shè)置為0。到達(dá)實(shí)際打印段后,只要eol狀態(tài)高于1,就會(huì)將數(shù)據(jù)發(fā)送出去并鎖定。

通常,當(dāng)我花大量時(shí)間分別設(shè)計(jì)硬件和軟件并將電路放在一起時(shí),我將無(wú)法工作必須花幾天的時(shí)間來(lái)解決錯(cuò)誤,而不是在這個(gè)項(xiàng)目中。只有四個(gè)小問(wèn)題:

1,當(dāng)沒有負(fù)載時(shí),ACS712會(huì)給出一個(gè)浮動(dòng)讀數(shù),因?yàn)?天的整日測(cè)試表明,該讀數(shù)在0.09A-》 0.16A之間。這類似于壁掛式功率計(jì),在無(wú)負(fù)載時(shí)默認(rèn)為0.10A。解決方案:我沒有使用偽造的功率值并對(duì)此進(jìn)行調(diào)整,而是輸入了一個(gè)簡(jiǎn)單的if檢查方法,即檢查電流消耗是否低于0.20A,將其設(shè)置為0。

2,平滑代碼存在問(wèn)題由于樣本數(shù)量而導(dǎo)致的AVG功率計(jì)算無(wú)法適合整數(shù)變量,例如1000W * 100 element = 100000,因此已更改為unsigned long,可以存儲(chǔ)0到4,294,967,295的值,除法結(jié)果應(yīng)始終較低,因此

3,需要用外部天線替換小線圈天線,我使用的是標(biāo)準(zhǔn)的2.4Ghz wifi天線(請(qǐng)記住,任何天線總比沒有好。天線)。我最初使用線圈天線進(jìn)行的測(cè)試有效,但是一旦設(shè)備組裝完成,我的數(shù)據(jù)包就會(huì)大量丟失,這可能是由于高壓電線的干擾。在樓上的接收器中,我還通過(guò)將一根簡(jiǎn)單的導(dǎo)線連接到線圈的末端來(lái)擴(kuò)展線圈。

4,無(wú)論我在連接負(fù)載并關(guān)閉時(shí)的低電流忽略代碼,有時(shí)都會(huì)出現(xiàn)電流尖峰,例如:

2019-04-17 13:42:12 =》 [EOL] Data received at 2019-04-17 13:42:12 =》 EOL_LOAD_S,0,0.22,1

2019-04-17 13:42:13 =》 [EOL] Data received at 2019-04-17 13:42:13 =》 EOL_LOAD_OFF,0,0.00,0

其中(也許是其他人打開/關(guān)閉設(shè)備的電源線上的某些波動(dòng)?!)。無(wú)法忽略1W,因?yàn)檫@是確定空閑狀態(tài)的方法,但是幸運(yùn)的是,這些波動(dòng)永遠(yuǎn)不會(huì)超過(guò)10 Watts才能使程序進(jìn)入WDF狀態(tài),因此將其記錄下來(lái)。

比使用1400W吹風(fēng)機(jī)測(cè)試這種新電路更好的方法是:P在平滑代碼中使用100個(gè)樣本使我大約需要2分鐘來(lái)完全傳播功率變化,這意味著需要2分鐘從負(fù)載打開狀態(tài)到其實(shí)際值。一旦負(fù)載被關(guān)閉,它大約需要花費(fèi)相同的時(shí)間下降到0。但是,我要注意的是,這是通過(guò)設(shè)備在HC12上發(fā)送數(shù)據(jù)的保持時(shí)間1000(1秒)來(lái)完成的。如果設(shè)備在1分鐘內(nèi)沒有任何工作,則只需采樣并保持循環(huán),這些循環(huán)將發(fā)生得更快,而100個(gè)元素將不夠。這就是為什么我將示例提交速率保留為1秒而不是每隔五分鐘發(fā)送一次的主要原因。

在接收器端,Raspberry PI運(yùn)行C基本代碼并發(fā)揮不同的作用。

這次沒有Closure和ToDo列表,因?yàn)槲艺J(rèn)為這個(gè)項(xiàng)目做得很好:-)

步驟1:硬件設(shè)計(jì)

這將是我最簡(jiǎn)單的Instructable硬件之一。您甚至都不需要面包板,這些零件可以通過(guò)簡(jiǎn)單的跳線連接。盡管我討厭為這個(gè)項(xiàng)目熱粘合,但這是一個(gè)完美的選擇。

使用的零件:

-Arduino PRO Micro

-ACS 712電流傳感器:20A

-繼電器模塊(如果您的負(fù)載消耗的電流超過(guò)10A,請(qǐng)不要使用圖示的10A模塊?。?/p>

-HLK-PM01-5V微型電源(低功耗,環(huán)保,無(wú)負(fù)載損耗《0.1W)。盡管看起來(lái)可能不像,但這是一個(gè)微型隔離電源(不是無(wú)變壓器電源TPS,在所有Arduino/ESP項(xiàng)目中都應(yīng)不惜一切代價(jià)避免使用)

-HC12收發(fā)器

-HC12 USB加密狗的另一端

-任何230V電源板

接線:

有些誤入歧途的人認(rèn)為中性線(BLUE)中的電流(在單相交流電源的情況下)低于熱線(BROWN)中的電流。這是不正確的。 2個(gè)串聯(lián)負(fù)載(一個(gè)是我們的電流表)上的單相交流網(wǎng)絡(luò)中的電流完全相同。將ACS電流傳感器放在零線的唯一好處是,如果您在負(fù)載斷開時(shí)(通過(guò)開關(guān)或繼電器)觸摸它,則不會(huì)被屏蔽,因?yàn)榱硪环矫嬗?的電流流過(guò)如果即使在關(guān)閉狀態(tài)下也要觸摸棕色電線(如果開關(guān)和繼電器位于電流表之后),則電源電壓會(huì)穿過(guò)您的身體到達(dá)地面。因此,從安全角度來(lái)看,可以說(shuō)將ACS電流傳感器放在中性線上比較安全,但是在隱蔽的環(huán)境中這并不重要,并且在設(shè)備開啟時(shí)也不要觸摸任何電線。

對(duì)于我的電路,主電源230V首先進(jìn)入繼電器(除非處于受控狀態(tài),否則它將始終處于閉合狀態(tài)),然后我使用了一根剛性導(dǎo)線,該導(dǎo)線甚至可以輕松承受20安培的電流,從而將ACS與之連接在一起。這根電線還有助于在熱粘合之前將組件固定在適當(dāng)?shù)奈恢谩?/p>

我最初的想法是將整個(gè)電路構(gòu)建到配電盤中,但是正如我的圖片所示,它們使這些組件有意地不可拆卸(哦?。?。所以我只剪了主電源線,然后將其放在接線盒中。

最后一點(diǎn)請(qǐng)注意,如果負(fù)載消耗的電流超過(guò)10A,則不應(yīng)使用10A繼電器。確保您已閱讀設(shè)備的數(shù)據(jù)表或使用電流表進(jìn)行測(cè)試以查看峰值電流是什么。

該項(xiàng)目的棘手部分是無(wú)線電通信,因?yàn)槲业南匆聶C(jī)和烘干機(jī)都在地下室。我已經(jīng)嘗試了一些解決方案以查看它們是否可行:

1,ESP32/8266 wifi-》并非所有wifi信號(hào)都被完全阻止的機(jī)會(huì)

2、2G/3G/4G-》沒電了,死了

3,Lora-》正常工作,但是對(duì)于該項(xiàng)目來(lái)說(shuō)是一個(gè)過(guò)大的殺傷力

4,433Mhz廉價(jià)發(fā)射器,它確實(shí)可以工作在12V的升壓TX功率下但會(huì)干擾使用此頻段的氣象站和其他設(shè)備。最初,我沒有計(jì)劃在該版本中使用中繼,否則就沒有一個(gè)簡(jiǎn)單的發(fā)送器就足夠了。

因此,我最終選擇了HC12遠(yuǎn)程收發(fā)器作為該項(xiàng)目的理想選擇。盡管那里的一些人聲稱距此只有幾公里,但由于信號(hào)干擾,我未能在市區(qū)達(dá)到200米的距離,但這對(duì)于該項(xiàng)目而言卻是完美的。該收發(fā)器支持許多不同的傳輸模式,從1200Bps-》 115200 Bps到最低,最低為1200,可以很好地與我的距離和障礙物配合使用。這個(gè)小模塊讓我印象深刻,它能夠通過(guò)3個(gè)樓層和兩個(gè)單元之間的多個(gè)門進(jìn)行通信。

步驟2:HC12注意事項(xiàng)

本節(jié)是可選的,如果您對(duì)此內(nèi)容不感興趣,則可以跳過(guò)此部分,因?yàn)樵撃K僅適用于短距離開箱即用的設(shè)置。如果您的環(huán)境中的通信仍然有問(wèn)題,請(qǐng)繼續(xù)閱讀。

我發(fā)現(xiàn)有許多教程和手冊(cè),其中提到HC12可以根據(jù)串行帶寬自動(dòng)調(diào)整無(wú)線電傳輸速度。

但是不幸的是,這不是事實(shí)。您不能只執(zhí)行HC12.begin(1200)并期望通信以5000 bps的速度進(jìn)行空中傳輸(這對(duì)于我們的應(yīng)用程序是最佳的)。

必須首先將其置于編程模式,將SET引腳拉低至GND,然后發(fā)送AT + B1200命令,但是一旦完成,它就會(huì)寫入閃存,您將不必再次更改它。

但也不要忘記第一次與設(shè)備通信時(shí),您使用的是9600bps,將其設(shè)置為任何其他波特率時(shí),您將變得亂碼,必須相應(yīng)地更改代碼。

因此,從

1,讓程序使用HC12.begin(9600)打開串行端口;

2,將HC12的編程器引腳(SET)連接到GND

3,您的程序?qū)C12.println(“ AT + B1200”)發(fā)送出去

4,此時(shí)設(shè)備設(shè)置為1200bps Serial/5000 bps Air,您將無(wú)需再次執(zhí)行此過(guò)程(除非您的發(fā)射器壞了并且您必須編寫一個(gè)新的程序)

5,您必須修改程序以每次使用HC12.begin(1200)來(lái)打開序列號(hào)。

從理論上講,這使我想到了HC12節(jié)點(diǎn)可以相互重新編程。為此,您可以執(zhí)行類似PROG_MODE的命令,并且遠(yuǎn)程Arduino接收到它后,它將HC12的編程器引腳下拉到地面,然后發(fā)送“ AT +任何帶寬”命令,關(guān)閉其串行并以新的帶寬重新打開,然后本地節(jié)點(diǎn)本質(zhì)上是一樣的。為了在修改波特率后重啟,您的程序可以在啟動(dòng)時(shí)將HC12置于編程模式(通過(guò)將SET拉到GND),并執(zhí)行AT + RX,模塊以當(dāng)前設(shè)置的帶寬返回,并將其用作基值。

默認(rèn)設(shè)置為FU3,9,600bps(8位數(shù)據(jù),無(wú)校驗(yàn),一個(gè)停止位),CH001(433.4MHz)。為了獲得最遠(yuǎn)的通訊距離,可以將串行端口的波特率設(shè)置為較低。

我還購(gòu)買了一些HC12 USB加密狗進(jìn)行測(cè)試,這對(duì)他們有好處,因?yàn)樗鼈儾粌H可以在框,但它們具有用于編程的簡(jiǎn)潔PROGRAMMER按鈕。使用這些模塊后,我遇到的一個(gè)問(wèn)題是,我將它們置于未知狀態(tài)(不同的通道,不同的波特率)幾個(gè)月了,在將它們從抽屜中拉出后,它們不再起作用了,因此如果您更改參數(shù),最明智的做法是在盒子上或模塊上打印一個(gè)小標(biāo)簽,或記錄您的項(xiàng)目,這樣可以避免一個(gè)小時(shí)的QQ操作。

制造商聲稱,您始終可以通過(guò)將端口設(shè)置為9600Bps并將AT + DEFAULT發(fā)送到設(shè)備來(lái)重置設(shè)置,但不幸的是,這并不總是正確的:(

其中之一是我的加密狗可以正常工作,另一個(gè)在編程器模式下什么都沒有響應(yīng),于是我被迫從其他設(shè)置的1200Bps手動(dòng)進(jìn)行嘗試,嘗試向其發(fā)送命令,但無(wú)濟(jì)于事。我在網(wǎng)上搜索了一下之后,找到了解決方案,需要長(zhǎng)時(shí)間按住PROGRAMMER(重置)按鈕,雖然不需要這么長(zhǎng)的時(shí)間,類似于WRTG硬重置的30,30,30的做法肯定會(huì)起作用:在設(shè)備運(yùn)行時(shí)按住按鈕5秒鐘插上電源,拔下設(shè)備的電源,按住按鈕,重新插上電源,然后將按鈕重置為DEFAULT。

我有另一個(gè)物理HC12模塊,我在其中更改了設(shè)置,但再也無(wú)法使其正常工作2 Arduino Megas,Leonardo和Pro Micro,因此除非您必須最好地更改參數(shù)事情是讓它們保持默認(rèn)狀態(tài)。我已經(jīng)更改了默認(rèn)通道,因?yàn)樯院笪铱赡軙?huì)執(zhí)行另一個(gè)HC12項(xiàng)目,并且不想干擾這個(gè)項(xiàng)目。

步驟3:Arduino代碼

ACS 712可以測(cè)量直流電流,但也可以使用它來(lái)測(cè)量AC。我不會(huì)在其他文章中詳細(xì)介紹它:

http://henrysbench.capnfatz.com/henrys-bench/ardu 。..

如果您不感興趣如何完成操作,只需拿我的代碼并調(diào)整電壓(ACS 712 10A/20A/30A模塊的110/230V和ACS類型值)即可。

監(jiān)視2臺(tái)設(shè)備的操作變得有些棘手。幸運(yùn)的是,與這種B級(jí)干衣機(jī)一樣,它在能源使用方面(不斷消耗超過(guò)1200W)浪費(fèi)了很多精力,它可以與洗衣機(jī)區(qū)分開來(lái),而洗衣機(jī)在運(yùn)行時(shí)從1W的待機(jī)待機(jī)功率變?yōu)?00W(我要指出的是模式,例如90C上的白色清洗,甚至可以達(dá)到2KW,但我從未使用過(guò))。該軟件正在查詢放大器,計(jì)算每秒許多CPU(或我們稱為MCU)周期的功率,但是有一個(gè)問(wèn)題,如前所述,洗衣機(jī)即使打了三分鐘的神奇寶貝,也可能會(huì)降到非常低的功耗模式。在夢(mèng)想中如果我們每5分鐘將這個(gè)值拉一次,則很有可能是不準(zhǔn)確的,因此在代碼中實(shí)現(xiàn)了一種稱為平滑的技術(shù),該技術(shù)將這個(gè)值取100倍并取平均值。對(duì)于每個(gè)新值,將生成并除以所有數(shù)字的總和,生成平均值,然后將其用于平滑外圍數(shù)據(jù)。因?yàn)槊看稳∫粋€(gè)新值(例如等待100個(gè)新值)時(shí)都會(huì)進(jìn)行這種平均,所以在計(jì)算此運(yùn)行平均值時(shí)沒有滯后時(shí)間。

測(cè)量數(shù)據(jù):

1,洗衣機(jī)

128W的使用情況-》在電機(jī)旋轉(zhuǎn)周期之間可以下降到-》 1W

0.5-1.5W待機(jī)

2,烘干機(jī)

超過(guò)1275W的使用量!

2W待機(jī)

可以定義以下狀態(tài):

if powercons_for_5mins 《 1.5W washing ready

if powercons_for_5mins 《 5W drying ready

if powercons_for_5mins 》 50W washer is running

if powercons_for_5mins 》 500W dryer is running

if powercons_for_5mins 》 1350W dryer+washer is running

消息本來(lái)可以每5分鐘發(fā)送一次,但是我希望在負(fù)載打開時(shí)進(jìn)行1秒的延遲以進(jìn)行進(jìn)一步的調(diào)試。還用這種方式檢測(cè)到一些奇怪的異常。

由于電源電壓從不改變,因此公式始終為P = 230 * I(測(cè)量安培)。

EOL_LOAD_WD,1,5.6,1350

完成洗滌和干燥后,系統(tǒng)仍將采樣功耗,但不會(huì)再發(fā)送任何消息。最終通知將重復(fù)3次,例如:

EOL_LOAD_OFF,0,0,0

EOL_LOAD_OFF,0,0,0

EOL_LOAD_OFF,0,0,0

有關(guān)代碼的一些注釋:

由于中繼只是一種額外的添加,因此很少(或永遠(yuǎn)不會(huì))使用繼電器的常閉狀態(tài)可以延長(zhǎng)其使用壽命。該代碼將繼電器設(shè)置為0,這意味著它將需要變?yōu)楦唠娖揭躁P(guān)閉設(shè)備(而不是將其打開)。

pinMode(POWER_RELAY, OUTPUT);

digitalWrite(POWER_RELAY, LOW);

該代碼將計(jì)算功率并將其評(píng)估為發(fā)送特定事件的標(biāo)準(zhǔn),但所有發(fā)送的數(shù)據(jù)僅用于調(diào)試,這是我們對(duì)3種狀態(tài)采取的唯一操作:

if (Match(eolstate, “EOL_LOAD_WF”) != NULL)

system(“/home/pi/eol.sh wf”);

if (Match(eolstate, “EOL_LOAD_DF”) != NULL)

system(“/home/pi/eol.sh df”);

if (Match(eolstate, “EOL_LOAD_WDF”) != NULL)

system(“/home/pi/eol.sh wdf”);

其中F表示完成。這些狀態(tài)取決于以前的狀態(tài)(洗衣機(jī)/干衣機(jī)是否正在運(yùn)行)。例如,洗衣機(jī)正在運(yùn)行,干衣機(jī)已關(guān)閉,則代碼將進(jìn)入else if(PowerAVG 《500 && PowerAVG》 50)部分并打印EOL_LOAD_W,但這不是我們關(guān)心的,而是在洗滌完成時(shí)。然后,一旦機(jī)器完成并且在較長(zhǎng)的時(shí)間段內(nèi)功耗下降到1W,則代碼進(jìn)入其他情況,如果(PowerAVG 《10 && PowerAVG》 1)但由于先前狀態(tài)eol_state》 = 1為1,它將打印EOL_LOAD_WDF消息并鎖定(將狀態(tài)設(shè)置為0)。下次進(jìn)入此代碼段時(shí),當(dāng)計(jì)算機(jī)物理關(guān)閉且負(fù)載低于1瓦時(shí),負(fù)載將處于備用EOL_LOAD_S,將生成EOL_LOAD_OFF并將eol狀態(tài)設(shè)置為0。到達(dá)實(shí)際打印段后,只要eol狀態(tài)高于1,就會(huì)將數(shù)據(jù)發(fā)送出去并鎖定。

通常,當(dāng)我花大量時(shí)間分別設(shè)計(jì)硬件和軟件并將電路放在一起時(shí),我將無(wú)法工作必須花幾天的時(shí)間來(lái)解決錯(cuò)誤,而不是在這個(gè)項(xiàng)目中。只有四個(gè)小問(wèn)題:

1,當(dāng)沒有負(fù)載時(shí),ACS712會(huì)給出一個(gè)浮動(dòng)讀數(shù),因?yàn)?天的整日測(cè)試表明,該讀數(shù)在0.09A-》 0.16A之間。這類似于壁掛式功率計(jì),在無(wú)負(fù)載時(shí)默認(rèn)為0.10A。解決方案:我沒有使用偽造的功率值并對(duì)此進(jìn)行調(diào)整,而是輸入了一個(gè)簡(jiǎn)單的if檢查方法,即檢查電流消耗是否低于0.20A,將其設(shè)置為0。

2,平滑代碼存在問(wèn)題由于樣本數(shù)量而導(dǎo)致的AVG功率計(jì)算無(wú)法適合整數(shù)變量,例如1000W * 100 element = 100000,因此已更改為unsigned long,可以存儲(chǔ)0到4,294,967,295的值,除法結(jié)果應(yīng)始終較低,因此

3,需要用外部天線替換小線圈天線,我使用的是標(biāo)準(zhǔn)的2.4Ghz wifi天線(請(qǐng)記住,任何天線總比沒有好。天線)。我最初使用線圈天線進(jìn)行的測(cè)試有效,但是一旦設(shè)備組裝完成,我的數(shù)據(jù)包就會(huì)大量丟失,這可能是由于高壓電線的干擾。在樓上的接收器中,我還通過(guò)將一根簡(jiǎn)單的導(dǎo)線連接到線圈的末端來(lái)擴(kuò)展線圈。

4,無(wú)論我在連接負(fù)載并關(guān)閉時(shí)的低電流忽略代碼,有時(shí)都會(huì)出現(xiàn)電流尖峰,例如:

2019-04-17 13:42:12 =》 [EOL] Data received at 2019-04-17 13:42:12 =》 EOL_LOAD_S,0,0.22,1

2019-04-17 13:42:13 =》 [EOL] Data received at 2019-04-17 13:42:13 =》 EOL_LOAD_OFF,0,0.00,0

其中(也許是其他人打開/關(guān)閉設(shè)備的電源線上的某些波動(dòng)??。?。無(wú)法忽略1W,因?yàn)檫@是確定空閑狀態(tài)的方法,但是幸運(yùn)的是,這些波動(dòng)永遠(yuǎn)不會(huì)超過(guò)10 Watts才能使程序進(jìn)入WDF狀態(tài),因此將其記錄下來(lái)。

比使用1400W吹風(fēng)機(jī)測(cè)試這種新電路更好的方法是:P在平滑代碼中使用100個(gè)樣本使我大約需要2分鐘來(lái)完全傳播功率變化,這意味著需要2分鐘從負(fù)載打開狀態(tài)到其實(shí)際值。一旦負(fù)載被關(guān)閉,它大約需要花費(fèi)相同的時(shí)間下降到0。但是,我要注意的是,這是通過(guò)設(shè)備在HC12上發(fā)送數(shù)據(jù)的保持時(shí)間1000(1秒)來(lái)完成的。如果設(shè)備在1分鐘內(nèi)沒有任何工作,則只需采樣并保持循環(huán),這些循環(huán)將發(fā)生得更快,而100個(gè)元素將不夠。這就是為什么我將示例提交速率保留為1秒而不是每隔五分鐘發(fā)送一次的主要原因。

在接收器端,Raspberry PI運(yùn)行C基本代碼并發(fā)揮不同的作用。

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

    關(guān)注

    13

    文章

    683

    瀏覽量

    44059
  • 監(jiān)控器
    +關(guān)注

    關(guān)注

    1

    文章

    329

    瀏覽量

    27585
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192079
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    霍爾芯片在洗衣機(jī)中的應(yīng)用

    霍爾芯片是一種基于霍爾效應(yīng)的磁傳感,能通過(guò)檢測(cè)磁場(chǎng)變化實(shí)現(xiàn)非接觸式的位置、速度等參數(shù)測(cè)量,在洗衣機(jī)中有著重要且廣泛的應(yīng)用,主要體現(xiàn)在以下幾個(gè)關(guān)鍵場(chǎng)景: 一、電機(jī)轉(zhuǎn)速與轉(zhuǎn)向控制 洗衣機(jī)的核心部件
    的頭像 發(fā)表于 07-15 15:46 ?63次閱讀

    人臉和手勢(shì)識(shí)別模組 用BW21-CBV-Kit設(shè)計(jì)洗衣機(jī)遠(yuǎn)程控制面板

    以下作品由安信可社區(qū)用戶 無(wú)垠的廣袤 制作 本文介紹了安信可 BW21-CBV-Kit 開發(fā)板結(jié)合擴(kuò)展板,實(shí)現(xiàn)了基于 HTTP 協(xié)議的洗衣機(jī)網(wǎng)頁(yè)控制面板,可模擬遠(yuǎn)程控制洗衣機(jī)的運(yùn)行、暫停和停止?fàn)顟B(tài)
    的頭像 發(fā)表于 07-15 14:34 ?47次閱讀
    人臉和手勢(shì)識(shí)別模組 用BW21-CBV-Kit設(shè)計(jì)<b class='flag-5'>洗衣機(jī)</b>遠(yuǎn)程控制面板

    工業(yè)洗衣機(jī)遠(yuǎn)程監(jiān)控運(yùn)維管理系統(tǒng)方案

    ,需要服務(wù)的售后工作量就越來(lái)越多,帶來(lái)龐大的人力成本與運(yùn)維成本,成為企業(yè)數(shù)字化轉(zhuǎn)型必須解決的重要問(wèn)題之一。 對(duì)此,數(shù)之能提供工業(yè)洗衣機(jī)遠(yuǎn)程監(jiān)控運(yùn)維管理系統(tǒng)方案,以物聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算等技術(shù)為核心,構(gòu)建智能化
    的頭像 發(fā)表于 06-19 10:58 ?197次閱讀
    工業(yè)<b class='flag-5'>洗衣機(jī)</b>遠(yuǎn)程<b class='flag-5'>監(jiān)控</b>運(yùn)維管理系統(tǒng)方案

    三相電機(jī)智能監(jiān)控器設(shè)計(jì)

    對(duì)相電壓相電流進(jìn)行過(guò)壓、過(guò)流檢測(cè),當(dāng)其出現(xiàn)狀況時(shí)能及時(shí)報(bào)警,以免造成生產(chǎn)損失。 純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~*附件:三相電機(jī)智能監(jiān)控器設(shè)計(jì).pdf【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)第一時(shí)間告知,刪除內(nèi)容!
    發(fā)表于 06-13 09:30

    洗衣機(jī)高效運(yùn)轉(zhuǎn)的幕后英雄:捷捷微可控硅與光耦技術(shù)解析

    在現(xiàn)代家居生活里,洗衣機(jī)早已是不可或缺的角色。而在這看似尋常的家電背后,捷捷微電的可控硅與光耦產(chǎn)品在悄然發(fā)揮著關(guān)鍵作用,為洗衣機(jī)的高效穩(wěn)定運(yùn)行注入強(qiáng)大動(dòng)力。今天,就讓我們走進(jìn)捷捷微電的世界,探尋它們
    的頭像 發(fā)表于 06-11 14:20 ?191次閱讀
    <b class='flag-5'>洗衣機(jī)</b>高效運(yùn)轉(zhuǎn)的幕后英雄:捷捷微可控硅與光耦技術(shù)解析

    ABP2液體壓力傳感,智能洗衣機(jī)水位檢測(cè)首選!超高精度0.25%,讓洗衣更智能!

    本文將介紹的是基于霍尼韋爾一款低成本的壓力ABP2系列,在全自動(dòng)洗衣機(jī)上水位檢測(cè)的應(yīng)用。全自動(dòng)洗衣機(jī)是通過(guò)壓力傳感來(lái)判定合適的水位,精確控制用水量,來(lái)達(dá)到節(jié)約用水,合理洗滌劑用量,優(yōu)化洗滌效果
    的頭像 發(fā)表于 05-19 13:16 ?301次閱讀
    ABP2液體壓力傳感<b class='flag-5'>器</b>,智能<b class='flag-5'>洗衣機(jī)</b>水位檢測(cè)首選!超高精度0.25%,讓<b class='flag-5'>洗衣</b>更智能!

    應(yīng)用在洗衣機(jī)液位中的兩通道測(cè)量高精度電容調(diào)理芯片-MDC02

    洗衣機(jī)液位的工作原理?主要包括水位傳感和控制電路的相互配合。當(dāng)水位傳感檢測(cè)到水位達(dá)到設(shè)定值時(shí),會(huì)向控制電路發(fā)送信號(hào),通知洗衣機(jī)停止進(jìn)水;反之,當(dāng)水位低于設(shè)定值時(shí),會(huì)發(fā)送信號(hào)通知
    的頭像 發(fā)表于 02-21 09:56 ?500次閱讀
    應(yīng)用在<b class='flag-5'>洗衣機(jī)</b>液位中的兩通道測(cè)量高精度電容調(diào)理芯片-MDC02

    東芝洗衣機(jī)解決方案

    洗衣機(jī)問(wèn)世一百多年以來(lái)已成為絕大多數(shù)家庭必備的白色家電之一,擁有年銷售額超千億美元的龐大市場(chǎng)。伴隨著控制技術(shù)的不斷演進(jìn),家用洗衣機(jī)已經(jīng)實(shí)現(xiàn)了全自動(dòng)化,并且開始全面邁向智能化時(shí)代。洗衣機(jī)目前將繼續(xù)沿著
    的頭像 發(fā)表于 12-23 11:20 ?932次閱讀
    東芝<b class='flag-5'>洗衣機(jī)</b>解決方案

    霍爾元件的應(yīng)用——洗衣機(jī)

    1. 水位控制? 霍爾元件與磁性浮子結(jié)合,可用于檢測(cè)洗衣機(jī)內(nèi)筒的水位。當(dāng)水位變化時(shí),磁性浮子隨之移動(dòng),改變霍爾元件周圍的磁場(chǎng)?;魻栐z測(cè)到的變化轉(zhuǎn)換為信號(hào),傳遞給洗衣機(jī)控制系統(tǒng),從而實(shí)現(xiàn)精準(zhǔn)
    的頭像 發(fā)表于 12-03 14:43 ?798次閱讀

    智能洗衣新體驗(yàn)——晶臺(tái)光耦讓洗衣機(jī)更智能!#光耦 #洗衣機(jī)

    洗衣機(jī)
    晶臺(tái)光耦
    發(fā)布于 :2024年11月15日 10:35:27

    仿真設(shè)計(jì)|基于51單片機(jī)的全自動(dòng)洗衣機(jī)模擬系統(tǒng)

    具體實(shí)現(xiàn)功能(1)模擬全自動(dòng)洗衣機(jī)工作過(guò)程,電機(jī)轉(zhuǎn)動(dòng)表示洗衣機(jī)運(yùn)行。(2)菜單可以選擇洗衣機(jī)工作狀態(tài)(進(jìn)水、洗衣、浸泡、脫水、換水、結(jié)束),并用指示燈指示。(3)數(shù)碼管顯示工作剩余時(shí)間
    的頭像 發(fā)表于 10-22 14:12 ?590次閱讀
    仿真設(shè)計(jì)|基于51單片<b class='flag-5'>機(jī)</b>的全自動(dòng)<b class='flag-5'>洗衣機(jī)</b>模擬系統(tǒng)

    數(shù)字電源監(jiān)控器入門

    電子發(fā)燒友網(wǎng)站提供《數(shù)字電源監(jiān)控器入門.pdf》資料免費(fèi)下載
    發(fā)表于 09-27 10:30 ?1次下載
    數(shù)字電源<b class='flag-5'>監(jiān)控器</b>入門

    DEKRA德凱為青島海爾洗衣機(jī)有限公司頒發(fā)阿曼低電壓符合性認(rèn)證證書,助力拓展中東市場(chǎng)

    近日,DEKRA德凱為青島海爾洗衣機(jī)有限公司頒發(fā)了阿曼低電壓符合性認(rèn)證證書,標(biāo)志著其洗衣機(jī)產(chǎn)品符合阿曼的技術(shù)法規(guī)和標(biāo)準(zhǔn)規(guī)范。
    的頭像 發(fā)表于 09-26 11:42 ?610次閱讀
    DEKRA德凱為青島海爾<b class='flag-5'>洗衣機(jī)</b>有限公司頒發(fā)阿曼低電壓符合性認(rèn)證證書,助力拓展中東市場(chǎng)

    靈動(dòng)微電子在洗衣機(jī)中的MCU方案布局

    相對(duì)于需要被替換的老洗衣機(jī)機(jī)型,目前市場(chǎng)主流的洗衣機(jī)更加節(jié)能、美觀和智能。而主導(dǎo)洗衣機(jī)進(jìn)化方向的,正是洗衣機(jī)的大腦:MCU,靈動(dòng)微電子作為國(guó)內(nèi)知名MCU公司,深耕家電市場(chǎng)多年,推出了多
    的頭像 發(fā)表于 08-22 10:12 ?1728次閱讀
    靈動(dòng)微電子在<b class='flag-5'>洗衣機(jī)</b>中的MCU方案布局

    HT66F2362 MCU在波輪定頻洗衣機(jī)的應(yīng)用

    洗衣機(jī)作為現(xiàn)代家庭必備家電,主流類型有波輪洗衣機(jī)與滾筒洗衣機(jī)兩類,其中波輪洗衣機(jī)又可再分為波輪定頻洗衣機(jī)和波輪變頻
    的頭像 發(fā)表于 08-07 11:31 ?937次閱讀
    HT66F2362 MCU在波輪定頻<b class='flag-5'>洗衣機(jī)</b>的應(yīng)用