0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

空调控制各个模块的开发过程

科技绿洲 来源:面包板社区 作者:面包板社区 2023-06-29 17:01 次阅读

前面记录了空调控制的各个模块的开发过程,这篇帖子对于之前的开发过程做一个总结。包含电路介绍、过程演示以及固件,开头主要介绍Flash的操作。

确认存储使用的FLash地址

1、查看Flash:

借助Jlink查看Flash的数据。

连接芯片

图片

读取整片Flash:

图片

查看Data Flash区域:

图片

写Flash的程序无法运行:R_FLASH_LP_bgo_example()。野火以及官方的资料使用的Flash都是基于外部Flash的,参考意义有限。最终参考FPS包自带的例程进行Flash的操作。

2、参考例程读写 Data Flash

当前方案:采用系统的API加入延时后,Flash写入成功(写入地址:0x4010_0000U):

图片

Flash操作关键代码(注意:去掉了擦除检查,加上了延时!):

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);
///< 将数据使用串口发送出去
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、采用共用体存储浮点型数据

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

4、当前存储遇到的问题

存储数据读取数据有问题,写入数据读取回来的数据匹配不上。

存取的数据为:

图片

读取的数据:

首先定位:保存数据(进行Flash写操作)其实已经出问题了:

图片

修改代码后,当前保存的数据没有问题:

解码的数据 保存的数据
图片 图片

保存数据到127时出错(读取回来的数据为144):

图片

定位到原因:当前数据量太大了,1片扇区为1024字节,1个温度数据就高达600个字节,每次默认只擦除1个扇区,所以在1K地址外的数据没有擦除就执行了写入,发生错误。

5、设置每一个电平的时间为32bit,使用4字节存储

26摄氏度的命令存储地址:

图片

实际上,按照高电平+低电平的存储,每一条控制命令的存储字节为1200字节(后面想办法再压缩)。

1个电平存储的时间使用32bit数据来存储,也就是4字节存储。当前默认1条命令为139个PWM,为了预留部分空间,每一条命令分配15024字节进行存储。

当前在Data Flash中,开辟了3块区域,分别存储2条温度指令,以及1条关机指令。

6、温度控制逻辑

1、解码温度数据,测试命令能够成功控制空调;可以成功控制,将数据保存到Flash,温度控制的时候将数据读取出来,等待信号控制。

2、大于27摄氏度,打开空调;温度低于26摄氏度,关闭空调。

保存温度数据:

图片

选择保存数据的地址:

图片

7、系统构成

整个系统为了后期可以方便增加或者减少模块,所有采用杜邦线连接各个模块。因为红外发射模块的有效距离小于3米,所以使用了延长线-模块如前面介绍。

引脚分配:

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

红外接收GPIO引脚:P102 -INPUT;

红外发射GPIO引脚:P213 -PWM;

图片

固件代码:

图片oled12864.zip(60.26 KB)

图片oled12864 - code.zip(9.43 MB)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路
    +关注

    关注

    170

    文章

    5484

    浏览量

    169559
  • FlaSh
    +关注

    关注

    10

    文章

    1551

    浏览量

    146671
  • 空调控制
    +关注

    关注

    0

    文章

    11

    浏览量

    10917
收藏 人收藏

    评论

    相关推荐

    基于语音识别的汽车空调控制系统设计

    负担,保证行车过程中的安全。##传感器模拟信号是控制系统的输入信号源。##本系统软件设计采用C语言开发,用Keil uVision4软件进行编译。开发过程按照
    发表于 12-16 15:50 3374次阅读

    家用空调控制设计

    家用空调控制设计
    发表于 05-17 17:25

    全国技能大赛中央空调控制电路

    全国技能大赛中央空调控制电路
    发表于 10-05 10:58

    AMEYA360设计方案丨汽车空调控制器解决方案

    、方案概述Ameya360 汽车空调控制器解决方案主要由控制模块、传感器模块、接口模块、电源管理模块
    发表于 10-08 14:08

    采用51单片机和LCD1602实现车载空调控制器的设计资料分享

    设计简介:本设计是基于单片机的车载空调控制器,主要实现以下功能:可实现LCD1602显示设置温度以及实际温度;可实现通过按键设置自动模式和手动模式;可实现通过按键通过按键控制风扇转速和空调的温度;可
    发表于 11-19 06:38

    【IoT毕业设计】STM32开发板+机智云IoT+实现智能空调控制

    终端三大部分;智能空调控制终端模块实时采集周边环境的温湿度数据,经过STM32单片机对数据进行处理,再通过esp8266WIFI模块发送到手机端,用户也可以在手机APP端改变相关设置,再由手机端
    发表于 04-08 12:08

    轿车自动空调控制器的研发

    经济型轿车所装备的空调系统实现自动化是必然趋势。讨论了轿车的自动空调控制器的实现过程。在分析现有手动空调的基础上,给出了简单可行的数字式自动空调控制
    发表于 03-14 16:23 27次下载

    PLC在中央空调控制系统中的应用

    本文介绍了PLC在中央空调控制系统中的应用。同时,在介绍了中央空调控制系统总体结构的基础上,本文以Simens S7-200为例说明了使用PLC实现控制过程。结论表明:在
    发表于 07-13 15:59 100次下载

    基于Mega169的空调控制器的设计

    采用单片机技术,设计了一种车用空调控制器。控制器可对空调各个部件进行控制,实现制冷制热、调整风量及控制
    发表于 12-15 14:58 54次下载
    基于Mega169的<b class='flag-5'>空调控制</b>器的设计

    空调控制板原理图

    空调控制板原理图
    发表于 02-02 22:58 1.2w次阅读
    <b class='flag-5'>空调控制</b>板原理图

    基于PPC8270的BSP开发过程

    本文通过对目标机硬件环境初始化过程和硬件驱动开发过程的描述,详细介绍了基于PPC8270的BSP开发过程。在该开发实例中,该BSP软件能够在目标机
    发表于 07-23 10:32 2609次阅读
    基于PPC8270的BSP<b class='flag-5'>开发过程</b>

    空调控制板如何检修呢?

    空调控制板也是一种电路板,其运用的范围虽不如电路板来的宽泛,但却比普通的电路板来的智能、自动化。简单的说,能起到控制作用的电路板,才可称为控制板。大到厂家的自动化生产设备,小到孩童用的玩具遥控汽车,内部都用到了
    发表于 06-26 10:02 8065次阅读

    空调控制器是什么,它的功能特点是什么

    空调控制器是什么?空调控制器是对空调房间的温度进行控制的电开关设备。温度控制器所控制
    的头像 发表于 06-21 17:17 7579次阅读

    红外空调控制器的原理及控制方式

    空调控制器我们都熟悉,但是红外空调控制器又是什么设备,可以用在哪里呢?今天我们就展开说说。
    的头像 发表于 09-01 15:32 2902次阅读

    什么是智能空调控制器,智能空调控制器的优势

    红外空调控制器自带485输出,对于支持标准 Modbus-RTU 通信协议的 PLC、单片机控制系统、力控、组态王、昆仑通态等组态软件,可通过此设备对大部分空调进行远程控制,距离可达2
    的头像 发表于 12-07 17:00 787次阅读
    什么是智能<b class='flag-5'>空调控制</b>器,智能<b class='flag-5'>空调控制</b>器的优势