基于涂鸦三明治BLDC功能板,轻松开发智能风扇:App控制、多种吹风模式、智能感应

智能风扇是一款常见的智能设备,用户可以使用手机 App 轻松控制,通过远程控制开关、风速、场景联动等来轻松创造出温暖、放松、舒适的室内空间。本教程采用 Keil5 进行编程,基于涂鸦 IoT 平台和三明治 BLDC 功能板,介绍如何快速开发一款安全性强的智能风扇的原型。

方案介绍

MCU 方案与 SoC 方案不同,传感器和联网模组的驱动代码写在 MCU 中,您可以自己开发 MCU 代码,拥有更多的可玩性。

涂鸦三明治开发板 BLDC 套件中,BLDC 板通过 PWM 接口接收 NUCLEO-G071RB 传过来的 PWM,BLDC 板通过接收到的 PWM 的占空比的大小对电机进行驱动。MCU 控制板通过串口 与 Wi-Fi 通信板连接,使用涂鸦智能 App 配网,可以将 BLDC 板的输出参数状态展现在手机端。MCU 型号为 STM32G071RB。

相关信息

只需简单的外围处理便可实现高效率的 FOC 电机驱动。FU6832 的有感启动无感运行 FOC 驱动主要应用在各类低压风机上,典型应用如落地扇、空气净化器等。

注意:虽然 BLDC 功能板支持串口,按键和 PWM 控制,但是 MCU 控制板和 Wi-Fi 通信板通过右下角串口通信,为了减少对 BLDC 控制的影响,该功能板默认是只支持 PWM 控制的。

BLDC 板的采样频率是 12M,通过 PWM 占空比的大小来控制电机转速的,输入 PWM 占空比越大转速越快。PWM 占空比越大转速越快,本教程中预设的输出频率为 1000HZ。

  • 开机 PWM 占空比:0.08,大于该占空比时开机
  • 关机 PWM 占空比:0.06,小于该占空比关机(停机占空比不要设置为改变转向占空比区间内)
  • 改变转向的 PWM 占空比:0.01~0.025,处于该占空比则停机改变方向
  • PWM 输出极性(Polarity)为低(LOW)

PWM 配置示例(主频 16M)如下图所示:

物料清单

硬件 (4)

涂鸦三明治 Wi-Fi MCU 通信板(WB3S)

数量:1

板载涂鸦 WB3S 模组,负责智能化连接。模组已烧录通用固件,MCU 对接涂鸦串口协议,即可使用涂鸦模组、App、云一站式智能化服务。

涂鸦三明治 BLDC 电机驱动功能板

数量:1

负责通过判断接收到的 PWM 的占空比大小进行对电机的控制。

涂鸦三明治直流供电电源板

数量:1

用标准的 Arduino 外形尺寸,您可以直接将相应的开发板堆叠在上方进行供电。因对 BLDC 功能板需要 12V,5V,3.3V 电源,使用电源板可以减少排线。

NUCLEO-G071RB

数量:1

采用 ST 官方 MCU 主控板,负责传感数据接收和模组通讯控制。NUCLEO-G071RB 开发板支持 Arduino 接口。

  • 第 1 步:硬件连接和例程环境

本次使用的涂鸦三明治开发板 BLDC 套件主要包含:

BLDC 功能板

Wi-Fi MCU 通信板

NUCLEO-G071RB

涂鸦直供电源电源板将三明治开发板套件电源板,控制板、通讯板、功能板拼接组装,实物效果如下图。

软件开发过程主要基于 Keil5 实现 MCU 与传感器和模组协议对接。首先调通 MCU 和模组的通讯,可以实现 App 配网,MCU 数据传输到 App。

  • 第 2 步:创建产品和工程

您可以根据以下步骤,快速在涂鸦 IoT 平台上开发一个智能风扇。

1、进入 涂鸦智能 IoT 平台。

2、参考 选品类创建产品 创建一款门磁产品。其中产品属性如下:

开发方式:自定义方案

联网方式:Wi-Fi

功耗类型:标准功耗

3、根据页面提示选择产品的标准功能和自定义功能。例如,功能选择为风向、风速、工作模式、开关等。您还可以对某一项功能进行编辑。例如,如果您选择了工作模式功能,可以继续修改模式为自然风和睡眠风两种。

4、选择您喜欢的面板,第一次开始调试也可以选择为开发调试面板,便于调试,后面也可以更换面板。

5、面板选择完后,进入 硬件开发 阶段,在页面拉到最下面,下载开发资料。

6、硬件测试。下载到 MCU 开发包后,使用开发包中的涂鸦模组调试助手,您可以使用助手模拟 MCU 模式,配合调试模组通讯板,验证模组是否通讯正常,同时也可以熟悉涂鸦串口协议提高对接效率。确定通信板正常可用的,可以跳过此步骤。若调试过程中对协议收发有疑问,也可以使用此助手协助查看正确数据交互格式。 使用步骤可参考 涂鸦模组调试助手使用说明

  • 第 3 步:移植 MCU SDK

本章节简单介绍了移植过程和功能实现,将 mcu_sdk 中的文件加入工程后,编译根据报错提示,进行修改。如需查看详细的移植调试教程,请参考 MCU SDK 移植。

1、如果编译过程中发生错误 #40: expected an identifier DISABLE = 0 类似的错误提示,可以包含头文件#include "stm32f1xx.h 来解决。对应头文件为实际芯片型号,例如,一个 G071RB 的芯片可以添加为 #include "stm32g0xx.h。本教程因为没有介绍 Wi-Fi 功能测试,所以注释了 WIFI_TEST_ENABLE 的宏。

//#define         WIFI_TEST_ENABLE

 2、完善 uart_transmit_output() 函数。

3、完善 uart_receive_input() 函数。 

 

4、在 MCUWIFI 通信板连接的串口的中断服务函数中添加以下代码,注意添加头文件或声明您用到的函数。

5、将 wifi_uart_service() 函数按照#error 中的提示信息处理,处理后注释掉。

6、将 wifi_protocol_init() 函数按照#error 中的提示信息处理,处理后注释掉。

接下来便是 all_data_update() 函数,该函数会自动上报系统中所有 DP 信息,您不需要调用该函数。

第 4 步:定义结构体

定义一个结构体,用来记录电扇的工作状态。

在 protocol.c 文件中,完善 dp_download_switch_handle (),dp_download_mode_handle (),dp_download_fan_speed_handle () 和 dp_download_fan_direction_handle () 这四个功能处理函数。
在 protocol.c 文件的 dp_download_switch_handle () 函数中: 

 

在 protocol.c 文件的 dp_download_mode_handle () 函数中:

在 protocol.c 文件的 dp_download_fan_speed_handle () 函数中:

在 protocol.c 文件的 dp_download_fan_direction_handle () 函数中:

第 5 步:功能实现

在 main.c 文件中,添加头文件 #include "mcu_api.h" 和 #include “wifi.h”,定义以下宏和变量:

启动后,进入 while (1){} 循环前需处理的:

在 while (1){} 循环内:

在 set_fan_speed () 函数中:

小结

基于涂鸦智能平台, 使用三明治开发板,Keil 开发环境您可以快速地开发一款智能风扇产品的原型。

还等什么?Tuya Smart Developer Center

如需实现风扇的快速数智化转型,直接对接涂鸦智能风扇解决方案就行,低成本、低门槛,适配吊扇、落地扇、无叶风扇、塔扇等各式风扇产品,提供免开发SoC、MCU对接等方案,通过平滑的电机控制,模拟各类自然风吹的体验,同时还可实现多彩灯光调节,打造新颖的产品形态。

快点击上述链接,填写表单,就有专业人员对接哦

注释:

BLDC 功能板采用 FU6832s 作为主控芯片,FU6832 系列是一款集成电机控制引擎(ME)和 8051 内核的高性能电机驱动专用芯片,ME 集成 FOC、MDU、LPF、PI、SVPWM/SPWM 等诸多硬件模组,可硬件自动完成电机 FOC/BLDC 运算控制。

8051 内核用于参数配置和日常事务处理,双核并行工作实现各种高性能电机控制。其中 8051 内核大部分指令周期为 1T 或 2T,芯片内部集成有高速运算放大器、比较器、Pre-driver、高速 ADC、高速乘 / 除法器、CRC、SPI、I2C、UART、LIN、多种 TIMER、PWM 等功能,内置高压 LDO,适用于 BLDC/PMSM 电机的方波、SVPWM/SPWM、FOC 驱动控制。

FU6832 内部具有全面保护,包括过压保护,欠压保护, 过流保护,FO 保护,堵转保护,缺相保护,过温保护,过功率保护,运放偏置电压异常保护。可根据需要选择使能对应的保护,再根据实际情况微调。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值