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

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

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

空調(diào)控制各個(gè)模塊的開發(fā)過程

科技綠洲 ? 來源:面包板社區(qū) ? 作者:面包板社區(qū) ? 2023-06-29 17:01 ? 次閱讀

前面記錄了空調(diào)控制的各個(gè)模塊的開發(fā)過程,這篇帖子對于之前的開發(fā)過程做一個(gè)總結(jié)。包含電路介紹、過程演示以及固件,開頭主要介紹Flash的操作。

確認(rèn)存儲使用的FLash地址

1、查看Flash:

借助Jlink查看Flash的數(shù)據(jù)。

連接芯片

圖片

讀取整片F(xiàn)lash:

圖片

查看Data Flash區(qū)域:

圖片

寫Flash的程序無法運(yùn)行:R_FLASH_LP_bgo_example()。野火以及官方的資料使用的Flash都是基于外部Flash的,參考意義有限。最終參考FPS包自帶的例程進(jìn)行Flash的操作。

2、參考例程讀寫 Data Flash

當(dāng)前方案:采用系統(tǒng)的API加入延時(shí)后,F(xiàn)lash寫入成功(寫入地址:0x4010_0000U):

圖片

Flash操作關(guān)鍵代碼(注意:去掉了擦除檢查,加上了延時(shí)!):

void R_FLASH_LP_basic_example (void)
{
/* Initialize p_src to known data */
vTaskDelay (10);
for (uint32_t i = 0; i < TRANSFER_LENGTH; i++)
{
g_src = (uint8_t) ('A' + (i % 26));
}
/* Open the flash lp instance. */
err = R_FLASH_LP_Open(&g_flash0_ctrl, &g_flash0_cfg);
assert(FSP_SUCCESS == err);
vTaskDelay (10);
/* Erase 1 block of data flash starting at block 0. */
err = R_FLASH_LP_Erase(&g_flash0_ctrl, FLASH_DF_BLOCK_0, 1);
assert(FSP_SUCCESS == err);
vTaskDelay (10);


/* Write 32 bytes to the first block of data flash. */
err = R_FLASH_LP_Write(&g_flash0_ctrl, (uint32_t) g_src, FLASH_DF_BLOCK_0, TRANSFER_LENGTH);
assert(FSP_SUCCESS == err);
vTaskDelay (10);


memcpy((uint32_t)g_dest, FLASH_DF_BLOCK_0, FLASH_LP_EXAMPLE_WRITE_SIZE);
///< 將數(shù)據(jù)使用串口發(fā)送出去
buff_len = FLASH_LP_EXAMPLE_WRITE_SIZE;//strlen(g_dest);
err = R_SCI_UART_Write(&g_uart0_ctrl, g_dest, buff_len);
if(FSP_SUCCESS != err) __BKPT();
while(uart_send_complete_flag == false){}
uart_send_complete_flag = false;
}

3、采用共用體存儲浮點(diǎn)型數(shù)據(jù)

參考:https://code84.com/454972.html

4、當(dāng)前存儲遇到的問題

存儲數(shù)據(jù)讀取數(shù)據(jù)有問題,寫入數(shù)據(jù)讀取回來的數(shù)據(jù)匹配不上。

存取的數(shù)據(jù)為:

圖片

讀取的數(shù)據(jù):

首先定位:保存數(shù)據(jù)(進(jìn)行Flash寫操作)其實(shí)已經(jīng)出問題了:

圖片

修改代碼后,當(dāng)前保存的數(shù)據(jù)沒有問題:

解碼的數(shù)據(jù) 保存的數(shù)據(jù)
圖片 圖片

保存數(shù)據(jù)到127時(shí)出錯(讀取回來的數(shù)據(jù)為144):

圖片

定位到原因:當(dāng)前數(shù)據(jù)量太大了,1片扇區(qū)為1024字節(jié),1個(gè)溫度數(shù)據(jù)就高達(dá)600個(gè)字節(jié),每次默認(rèn)只擦除1個(gè)扇區(qū),所以在1K地址外的數(shù)據(jù)沒有擦除就執(zhí)行了寫入,發(fā)生錯誤。

5、設(shè)置每一個(gè)電平的時(shí)間為32bit,使用4字節(jié)存儲

26攝氏度的命令存儲地址:

圖片

實(shí)際上,按照高電平+低電平的存儲,每一條控制命令的存儲字節(jié)為1200字節(jié)(后面想辦法再壓縮)。

1個(gè)電平存儲的時(shí)間使用32bit數(shù)據(jù)來存儲,也就是4字節(jié)存儲。當(dāng)前默認(rèn)1條命令為139個(gè)PWM,為了預(yù)留部分空間,每一條命令分配15024字節(jié)進(jìn)行存儲。

當(dāng)前在Data Flash中,開辟了3塊區(qū)域,分別存儲2條溫度指令,以及1條關(guān)機(jī)指令。

6、溫度控制邏輯

1、解碼溫度數(shù)據(jù),測試命令能夠成功控制空調(diào);可以成功控制,將數(shù)據(jù)保存到Flash,溫度控制的時(shí)候?qū)?shù)據(jù)讀取出來,等待信號控制。

2、大于27攝氏度,打開空調(diào);溫度低于26攝氏度,關(guān)閉空調(diào)。

保存溫度數(shù)據(jù):

圖片

選擇保存數(shù)據(jù)的地址:

圖片

7、系統(tǒng)構(gòu)成

整個(gè)系統(tǒng)為了后期可以方便增加或者減少模塊,所有采用杜邦線連接各個(gè)模塊。因?yàn)?a href="http://srfitnesspt.com/tags/紅外/" target="_blank">紅外發(fā)射模塊的有效距離小于3米,所以使用了延長線-模塊如前面介紹。

引腳分配:

I2C引腳:SDA0-P401,SCL0-P400;

紅外接收GPIO引腳:P102 -INPUT;

紅外發(fā)射GPIO引腳:P213 -PWM;

圖片

固件代碼:

圖片oled12864.zip(60.26 KB)

圖片oled12864 - code.zip(9.43 MB)

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

    關(guān)注

    172

    文章

    5816

    瀏覽量

    171603
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1609

    瀏覽量

    147566
  • 空調(diào)控制
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    10939
收藏 人收藏

    評論

    相關(guān)推薦

    基于語音識別的汽車空調(diào)控制系統(tǒng)設(shè)計(jì)

    負(fù)擔(dān),保證行車過程中的安全。##傳感器模擬信號是控制系統(tǒng)的輸入信號源。##本系統(tǒng)軟件設(shè)計(jì)采用C語言開發(fā),用Keil uVision4軟件進(jìn)行編譯。開發(fā)過程按照
    發(fā)表于 12-16 15:50 ?3627次閱讀

    家用空調(diào)控制設(shè)計(jì)

    家用空調(diào)控制設(shè)計(jì)
    發(fā)表于 05-17 17:25

    全國技能大賽中央空調(diào)控制電路

    全國技能大賽中央空調(diào)控制電路
    發(fā)表于 10-05 10:58

    AMEYA360設(shè)計(jì)方案丨汽車空調(diào)控制器解決方案

    、方案概述Ameya360 汽車空調(diào)控制器解決方案主要由控制模塊、傳感器模塊、接口模塊、電源管理模塊
    發(fā)表于 10-08 14:08

    轎車自動空調(diào)控制器的研發(fā)

    經(jīng)濟(jì)型轎車所裝備的空調(diào)系統(tǒng)實(shí)現(xiàn)自動化是必然趨勢。討論了轎車的自動空調(diào)控制器的實(shí)現(xiàn)過程。在分析現(xiàn)有手動空調(diào)的基礎(chǔ)上,給出了簡單可行的數(shù)字式自動空調(diào)控制
    發(fā)表于 03-14 16:23 ?27次下載

    PLC在中央空調(diào)控制系統(tǒng)中的應(yīng)用

    本文介紹了PLC在中央空調(diào)控制系統(tǒng)中的應(yīng)用。同時(shí),在介紹了中央空調(diào)控制系統(tǒng)總體結(jié)構(gòu)的基礎(chǔ)上,本文以Simens S7-200為例說明了使用PLC實(shí)現(xiàn)控制過程。結(jié)論表明:在
    發(fā)表于 07-13 15:59 ?101次下載

    基于Mega169的空調(diào)控制器的設(shè)計(jì)

    采用單片機(jī)技術(shù),設(shè)計(jì)了一種車用空調(diào)控制器。控制器可對空調(diào)各個(gè)部件進(jìn)行控制,實(shí)現(xiàn)制冷制熱、調(diào)整風(fēng)量及控制
    發(fā)表于 12-15 14:58 ?54次下載
    基于Mega169的<b class='flag-5'>空調(diào)控制</b>器的設(shè)計(jì)

    空調(diào)控制板原理圖

    空調(diào)控制板原理圖
    發(fā)表于 02-02 22:58 ?1.2w次閱讀
    <b class='flag-5'>空調(diào)控制</b>板原理圖

    基于LonWorks總線的樓宇空調(diào)控制系統(tǒng)設(shè)計(jì)

    隨著智能建筑的快速發(fā)展,對其中的空調(diào)控制系統(tǒng)要求越來越高。針對智能大廈中空調(diào)數(shù)量多、分布廣,以及空調(diào)控制對象的大滯后及非線性特性,本文建立一種基于 Lonworks 的空調(diào)控制系統(tǒng)
    發(fā)表于 06-13 16:55 ?27次下載
    基于LonWorks總線的樓宇<b class='flag-5'>空調(diào)控制</b>系統(tǒng)設(shè)計(jì)

    基于PPC8270的BSP開發(fā)過程

    本文通過對目標(biāo)機(jī)硬件環(huán)境初始化過程和硬件驅(qū)動開發(fā)過程的描述,詳細(xì)介紹了基于PPC8270的BSP開發(fā)過程。在該開發(fā)實(shí)例中,該BSP軟件能夠在目標(biāo)機(jī)
    發(fā)表于 07-23 10:32 ?2704次閱讀
    基于PPC8270的BSP<b class='flag-5'>開發(fā)過程</b>

    空調(diào)控制器的特點(diǎn)是什么

    空調(diào)控制器不是新興產(chǎn)品,可以理解為它是直接控制空調(diào)的開關(guān),不用再另外接電源,操作簡單,它可以確保機(jī)器均勻運(yùn)轉(zhuǎn),而且使空調(diào)不容易出現(xiàn)故障。
    的頭像 發(fā)表于 07-13 16:50 ?1381次閱讀

    紅外空調(diào)控制器的工作原理及功能

    為適應(yīng)市場的變化,滿足客戶要求,空調(diào)控制器的功能愈加豐富,現(xiàn)如今,紅外空調(diào)控制器已經(jīng)能夠適配市面上99%的空調(diào)
    的頭像 發(fā)表于 08-29 14:32 ?3911次閱讀

    紅外空調(diào)控制器的原理及控制方式

    空調(diào)控制器我們都熟悉,但是紅外空調(diào)控制器又是什么設(shè)備,可以用在哪里呢?今天我們就展開說說。
    的頭像 發(fā)表于 09-01 15:32 ?3720次閱讀

    什么是智能空調(diào)控制器,智能空調(diào)控制器的優(yōu)勢

    紅外空調(diào)控制器自帶485輸出,對于支持標(biāo)準(zhǔn) Modbus-RTU 通信協(xié)議的 PLC、單片機(jī)控制系統(tǒng)、力控、組態(tài)王、昆侖通態(tài)等組態(tài)軟件,可通過此設(shè)備對大部分空調(diào)進(jìn)行遠(yuǎn)程控制,距離可達(dá)2
    的頭像 發(fā)表于 12-07 17:00 ?1045次閱讀
    什么是智能<b class='flag-5'>空調(diào)控制</b>器,智能<b class='flag-5'>空調(diào)控制</b>器的優(yōu)勢

    【IoT畢業(yè)設(shè)計(jì)】STM32開發(fā)板+機(jī)智云IoT+實(shí)現(xiàn)智能空調(diào)控制

    終端三大部分;智能空調(diào)控制終端模塊實(shí)時(shí)采集周邊環(huán)境的溫濕度數(shù)據(jù),經(jīng)過STM32單片機(jī)對數(shù)據(jù)進(jìn)行處理,再通過esp8266WIFI模塊發(fā)送到手機(jī)端,用戶也可以在手機(jī)APP端改變相關(guān)設(shè)置,再由手機(jī)端發(fā)送到
    的頭像 發(fā)表于 04-08 12:17 ?1350次閱讀
    【IoT畢業(yè)設(shè)計(jì)】STM32<b class='flag-5'>開發(fā)</b>板+機(jī)智云IoT+實(shí)現(xiàn)智能<b class='flag-5'>空調(diào)控制</b>