• <tfoot id="uuuu0"><dd id="uuuu0"></dd></tfoot>
    <nav id="uuuu0"><sup id="uuuu0"></sup></nav>
    <tfoot id="uuuu0"><noscript id="uuuu0"></noscript></tfoot>
    <noscript id="uuuu0"><optgroup id="uuuu0"></optgroup></noscript>
    <tr id="uuuu0"><blockquote id="uuuu0"></blockquote></tr>
  • <sup id="uuuu0"><code id="uuuu0"></code></sup>
      <nav id="uuuu0"><sup id="uuuu0"></sup></nav>
      <tfoot id="uuuu0"><noscript id="uuuu0"></noscript></tfoot>
      <small id="uuuu0"></small>
      <nav id="uuuu0"></nav>
      <sup id="uuuu0"></sup><tr id="uuuu0"><small id="uuuu0"></small></tr>
      国产精品一区二区在线观看99_麻豆国产av国片精品_日日夜夜操网爽_亚洲专区中文字幕在线_晚上一个人看的免费电影_国产精品福利在线免费观看_天堂8中文在线网_亚洲一卡2卡3卡4卡5卡精品中文
      工業(yè)除濕機(jī)廠家專業(yè)提供工業(yè)除濕機(jī),家用除濕機(jī),商用除濕機(jī)等產(chǎn)品,歡迎來電咨詢定制。 公司簡介| 研發(fā)團(tuán)隊(duì)| 網(wǎng)站地圖| xml地圖
      工業(yè)·商用除濕設(shè)備生產(chǎn)商

      工業(yè)除濕機(jī)·商用除濕機(jī)·恒溫恒濕機(jī)·非標(biāo)定制

      全國咨詢熱線133-6050-3273
      【涂鴉智能】 基于Arduino智能除濕工控器

      【涂鴉智能】 基于Arduino智能除濕工控器

      作者:CEO 時(shí)間:2023-02-08

      信息摘要:#d=====( ̄▽ ̄*)b#前排首先感謝金主,提供的這個(gè)學(xué)習(xí)的機(jī)會,學(xué)習(xí)的平臺#一、設(shè)計(jì)概況1、濕度過高,自動開啟除濕。適用于大型滑冰場的大型除濕機(jī)、北方澡堂子、家庭浴室、浴霸等。(之前公司有個(gè)項(xiàng)目就是給的一個(gè)大型除濕機(jī)廠家開發(fā)控制系統(tǒng))。同理可做加濕功能。解決大型

      【涂鴉智能】 基于Arduino智能除濕工控器

      (【涂鴉智能】 基于Arduino智能除濕工控器)

        #d=====( ̄▽ ̄*)b

        #前排首先感謝金主,提供的這個(gè)學(xué)習(xí)的機(jī)會,學(xué)習(xí)的平臺

        #一、設(shè)計(jì)概況

        1、濕度過高,自動開啟除濕。適用于大型滑冰場的大型除濕機(jī)、北方澡堂子、家庭浴室、浴霸等。(之前公司有個(gè)項(xiàng)目就是給的一個(gè)大型除濕機(jī)廠家開發(fā)控制系統(tǒng))。同理可做加濕功能。解決大型工控行業(yè)設(shè)備聯(lián)網(wǎng)問題。

        [涂鴉平臺MCU產(chǎn)品開發(fā)]()

        2、本方案基于Arduino-UNO,開發(fā)門檻低,程序燒錄方便。

        ![mcu.png](//image.lceda.cn/pullimage/pGsXiDmbYHMPFN1SS5ZLcif1fxA0OclaAmDZXdvw.png)

        3、電源部分采用了AC-DC模塊得到5V電源供給MCU,再經(jīng)由AMS1117-33得到3.3V的電源供給WiFi模組。

        ![電源.png](//image.lceda.cn/pullimage/4rBli0WnqAHLf5MNqk96kKk6jq95YgoqDQCFkby5.png)

        4、一直以來繼電器外圍電路就要考慮太多的器件了,這里選擇了一個(gè)NUD3105,內(nèi)部集成了許多外圍,可以直接控制繼電器,不必再考慮繼電器反向感應(yīng)電、上拉(下拉、限流)電阻等,可以說是非常方便的。(上一次訓(xùn)練營得到的經(jīng)驗(yàn))

        ![繼電器.png](//image.lceda.cn/pullimage/tt9w2f9RhVaAV3UiK7XnaCtneL7mQW77wDOHyB5e.png)

        5、Wifi模組是選用了涂鴉的WB3S(通用固件版),3.3V供電,串口通訊,通訊十分方便,外圍電路僅需要電源+穩(wěn)壓電容,簡直不要太簡單。

        貼一下規(guī)格書鏈接:[涂鴉Wi-Fi+BLE雙協(xié)議模組WB3S規(guī)格書](),電路如下圖:

        ![wifi.png](//image.lceda.cn/pullimage/S1ZG3vKmy76j1wK63d036K2jNsqlfh5Y8op41Uij.png)

        開發(fā)資料是我用過的平臺最詳細(xì)的,連PID這類密鑰類的都已經(jīng)寫入了案例代碼,僅加入自己的MCU的功能代碼即可完美調(diào)用,如下圖:

        ![資料.png](//image.lceda.cn/pullimage/JS5mFmTcn3odCGrGfEzSJaki5n4QiOlSbJeToE9z.png)

        6、電平轉(zhuǎn)換:由于Arduino-UNO平臺IO是5V的電平,和Wifi模組是3.3V(如下圖)

        ![IO口電平.png](//image.lceda.cn/pullimage/B6xlhnguwTeznCXhFAie7EodXhZzSSLizsFFCXMQ.png)

        Arduino-UNO和Wifi通訊時(shí)候必須要經(jīng)過電平轉(zhuǎn)換。如下圖:

        ![電平轉(zhuǎn)換.png](//image.lceda.cn/pullimage/zh98ioZXcgJwmzbxnG44MKn8KrFtVTcA3w1eXCrM.png)

        #二、公模外殼及PCB二三事

        1、在設(shè)計(jì)一款板子前最好能轄一個(gè)合適的外殼,根據(jù)外殼的尺寸來進(jìn)行PCB的設(shè)計(jì),這樣后續(xù)能很好的安裝,如果只是開發(fā)版、實(shí)驗(yàn)版那就請隨意。

        2、剛好公司有這個(gè)外殼,公模的比較好買。隨手就拿了一個(gè)來量了尺寸。制作PCB設(shè)計(jì)。(為了怕淘寶店鋪鏈接失效,這里就不放鏈接了,大家可以在淘寶搜索“溫濕度外殼”,按照價(jià)格低到高排序,找?guī)紫戮湍馨l(fā)現(xiàn)一模一樣的外殼了)

        ![尺寸.png](//image.lceda.cn/pullimage/JpV8DldPFxzYdeGNeVxxvdvcUNflQmujQczPSGDO.png)

        按照搜索到的尺寸,規(guī)劃好邊框、螺絲孔,然后鎖定

        ![畫好邊框.png](//image.lceda.cn/pullimage/bQw3k0cJI8D7eqJZ3OTYVPgKcZqiz80vQxUofry8.png)

        3、殼子選小了點(diǎn),不好放呀。單面估計(jì)是放不下了

        ![頂層放不下.png](//image.lceda.cn/pullimage/4sI6CgL2hxKxX87XXPeve02nLyDrYcytEPa2NMQf.png)

        4、只好放到背面一些了,矮一些的器件放到底層去了,熬到了凌晨,完工

        ![平面圖.jpg](//image.lceda.cn/pullimage/CtWV0dfdzcnlYGOVLqZxBUcdLzegJtV8BYTKDgku.jpeg)

        5、一些注意事項(xiàng)

       ?。?)強(qiáng)電區(qū)域用了比較粗的線寬2mm,并轉(zhuǎn)換為焊盤了,后期可以多焊一些錫去加厚銅箔,增加功率。

        ![轉(zhuǎn)換焊盤.png](//image.lceda.cn/pullimage/r40oKsSrJHJ2UEHR4LhGDffaAWjKtg7QMRWyUKVq.png)

       ?。?)強(qiáng)電區(qū)域,不能鋪銅。因?yàn)橐乐箯?qiáng)電爬電到內(nèi)部微電路,十分危險(xiǎn)??捎脤?shí)心填充工具,繪制完區(qū)域后在屬性欄設(shè)置為無填充。如下設(shè)置:

        ![無填充.png](//image.lceda.cn/pullimage/MSBmM3xc7z8F8EFEEIkvLbzvqaipiuihvI0PJsrR.png)

        ![強(qiáng)電不鋪銅.png](//image.lceda.cn/pullimage/6qePfOK8JvB2hDhcXlpgk7wXkAshCxAUuJQ5MFsy.png)

       ?。?)溫濕度傳感器位置要盡量靠邊,有條件的可以加微小的風(fēng)扇。傳感器要遠(yuǎn)離內(nèi)部發(fā)熱的組件(如:電源芯片、電源模組、降壓芯片等)。本案放置在頂部邊角。

        ![溫濕度傳感器位置.png](//image.lceda.cn/pullimage/AYkUG3hs1crzLZPUs7IExkc8lbRT3vlEDD66faqx.png)

        #三、焊接成品

        1、方法多種多樣,目前筆者是采用的“鐵板燒”,先涂抹錫膏,貼上去,然后用“呼呼機(jī)”加熱。

        2、完成了之后,AC-DC模塊、繼電器先不焊(焊了不方便調(diào)試),調(diào)試完成后再補(bǔ)上。~~~~

        ***注意:先檢查VCC(5V3.3VUSB)和GND是否為短路狀態(tài),再插電前一點(diǎn)要確認(rèn)好,短路切勿插電。***

        ![貼片焊接的.png](//image.lceda.cn/pullimage/07R2lcb8c0l9LBI8YAzfHfG1FjBTYYZqIpz9N6r8.png)

        #四、軟件代碼部分

        1、下載的MCU_SDK文件,打開來,放到一文件夾里?!?c”改為“.cpp”后,IDE就可以打開了。細(xì)節(jié)可以看[涂鴉平臺提供的移植MCUSDK教程]()

        2、總之就是要多看文檔,這個(gè)代碼每個(gè)人的PID、功能等都不一樣,我貼上了Arduino的主程序代碼,如果你和我的功能一樣,大家可以自行下載代碼,并修改自己的PID等地方。當(dāng)然功能不同的,只能自己看著修改了

        ```language

        #include"wifi.h"

        #include"Adafruit_SHT31.h"

        #include

        #include

        #include

        SoftwareSerialmySerial(5,6);//RX,TX

        #define_SS_MAX_RX_BUFF300

        #definerelay10

        Adafruit_SHT31sht31=Adafruit_SHT31();

        inttime_cnt=0,cnt=0,init_flag=0;

        intTEM,HUM,TEM_Past,HUM_Past;

        uniondata

        {

        inta;

        byteb[4];

        };

        dataHUMUPPR;

        dataHUMLOWER;

        voidsetup(){

        pinMode(relay,OUTPUT);//繼電器I/O初始化

        digitalWrite(relay,LOW);

        pinMode(3,INPUT_PULLUP);//重置Wi-Fi按鍵初始化

        pinMode(13,OUTPUT);//Wi-Fi狀態(tài)指示燈初始化

        mySerial.begin(9600);//軟件串口初始化

        //mySerial.println("myserialinitsuccessful!");

        Serial.begin(9600);//PA3RXPA2TX

        Serial.println("serialinitsuccessful!");

        sht31.begin(0x44);//SHT地址0x44

        wifi_protocol_init();

        for(intn=0;n<4;n++)//濕度上限讀取

        HUMUPPR.b[n]=EEPROM.read(n);

        for(intn=0;n<4;n++)//濕度下限讀取,下限起始地址在4

        HUMLOWER.b[n]=EEPROM.read(n+4);

        }

        voidloop(){

        if(init_flag==0){

        time_cnt++;

        if(time_cnt%6000==0){

        time_cnt=0;

        cnt++;

        }

        wifi_stat_led(&cnt);//Wi-Fi狀態(tài)處理

        }

        wifi_uart_service();

        myserialEvent();//串口接收處理

        key_scan();//重置配網(wǎng)按鍵檢測

        aotocontrol();//自動控制

        }

        /***********完整代碼詳見附件*******************/

        ```

        3、設(shè)備的濕度上限下限由于是報(bào)警值,不能在程序中定義初值,否則一旦調(diào)電重啟就會丟失設(shè)置的值,我這里是方式是把設(shè)定的閾值存儲在單片機(jī)的ROM中(Arduino的EEPROM),這樣進(jìn)程到來時(shí)讀取一次,下發(fā)設(shè)置值時(shí)寫入。這樣掉~~~~電也不會丟失數(shù)據(jù)了

        ```

        uniondata

        {

        inta;

        byteb[4];

        };

        dataHUMUPPR;

        dataHUMLOWER;

        for(intn=0;n<4;n++)//濕度上限讀取EEPROM

        HUMUPPR.b[n]=EEPROM.read(n);

        for(intn=0;n<4;n++)//濕度下限讀取EEPROM,下限起始地址在4

        HUMLOWER.b[n]=EEPROM.read(n+4);

        ```

        ```

        uniondata

        {

        inta;

        byteb[4];

        };

        dataHUMUPPR;

        dataHUMLOWER;

        /**********放置到上限值設(shè)置函數(shù)dp_download_maxhum_set_handle中*******/

        HUMUPPR.a=(int)maxhum_set;

        for(intn=0;n<4;n++)//寫入濕度上限到EEPROM,上限起始地址是0

        EEPROM.write(n,HUMUPPR.b[n]);

        /**********放置到下限值設(shè)置函數(shù)dp_download_minihum_set_handle中*******/

        HUMLOWER.a=(int)minihum_set;

        for(intn=0;n<4;n++)

        EEPROM.write(n+4,HUMLOWER.b[n]);//寫入濕度下限到EEPROM,下限起始地址是4

        ```

        #避坑指南:

        #####(1)掉電丟失濕度閾值:

        一定要用ROM來承接設(shè)置值,這樣可以掉電保存;之前我寫的程序久忘記了,一掉電就丟失之前設(shè)置好的值。

        #####(2)始終無法進(jìn)入配網(wǎng)模式:

        SHT的底層庫有500ms延時(shí),在循環(huán)里調(diào)用讀取時(shí),我實(shí)測要7s才能返回給wifi模塊心跳,始終連不上網(wǎng),也無法進(jìn)去配網(wǎng)模式,然后我就改了底層的延遲,問題就解決了;(可能還有其他解決的方式,我暫時(shí)還沒有發(fā)現(xiàn))

        ```language

        booleanAdafruit_SHT31::readTempHum(void){

        uint8_treadbuffer[6];

        writeCommand(SHT31_MEAS_HIGHREP);

        delay(500);/**********我把這里改成了100*************/

        Wire.requestFrom(_i2caddr,(uint8_t)6);

        if(Wire.available()!=6)

        returnfalse;

        for(uint8_ti=0;i<6;i++){

        readbuffer[i]=Wire.read();

        //Serial.print("0x");Serial.println(readbuffer[i],HEX);

        }

        ```

        #####(3)Wif模塊下盡量不要走線:

        之前涂鴉的工程師說wifi模塊下面最好不要走線,我的1.1版本走了,所有又畫了1.2的PCB(心急已經(jīng)提前打了1.1的板子),但是從目前測試來看,**V1.1**已經(jīng)是**成功**了。所以小伙伴可以自行選擇。

        #####(4)繼電器有點(diǎn)高:

        繼電器選擇的時(shí)候尺寸沒有注意,忘記算板子厚度了,有點(diǎn)高,超了1mm左右,蓋子蓋不上,還好我機(jī)智的用熱熔膠給它倆黏住了。

        #####(5)僅供學(xué)習(xí)參考:~~~~

        完全復(fù)制有風(fēng)險(xiǎn),代碼、走線、布局等等被坑的別怪UP哦,后果自擔(dān)啦

        #成功的喜悅(實(shí)測演示):

      聲明:本站部分內(nèi)容和圖片來源于互聯(lián)網(wǎng),經(jīng)本站整理和編輯,版權(quán)歸原作者所有,本站轉(zhuǎn)載出于傳遞更多信息、交流和學(xué)習(xí)之目的,不做商用不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。若有來源標(biāo)注存在錯(cuò)誤或侵犯到您的權(quán)益,煩請告知網(wǎng)站管理員,將于第一時(shí)間整改處理。管理員郵箱:y569#qq.com(#改@)
      在線客服
      聯(lián)系方式

      熱線電話

      133-6050-3273

      上班時(shí)間

      周一到周五

      公司電話

      133-6050-3273

      微信二維碼
      云南省| 辽源市| 武汉市| 黔南| 临桂县| 察雅县| 剑阁县| 内乡县| 丹巴县| 鄂州市| 广饶县| 白银市| 盐津县| 皋兰县| 太白县| 安岳县| 台南市| 方城县| 高雄市| 枣庄市| 酉阳| 葫芦岛市| 乌拉特后旗| 阳谷县| 萝北县| 霸州市| 宝山区| 托克逊县| 自贡市| 剑河县| 昭平县| 海阳市| 沾益县| 富锦市| 东乡族自治县| 威远县| 西贡区| 黑河市| 萝北县| 滨海县| 宾阳县|