本本针对Telink BLE MESH SDK  灯控的使用进行说明。
1、调整灯光的频率
默认情况下 SDK PWM波的频率是 600HZ的,有时我们需要将它调整频率,例如调整为4K,只需要更改参数 PMW_MAX_TICK_MULTI 为31 就好了。
计算 PWM 频率公式
freq = CLOCK_SYS_CLOCK_HZ / (PMW_MAX_TICK)
PMW_MAX_TICK=PMW_MAX_TICK_BASE*PMW_MAX_TICK_MULTI
PMW_MAX_TICK_BASE=255 为常量 不变化。
 
 
2、调整灯光的亮度,
SDK中,灯光的亮度范围5%~100%,但是发现设置亮度为50%, 实际亮度却不是50%,实际上对应的表格如下。你设置的亮度百分比只是一个 索引号,例如设置亮度为50%, 实际PWM频率为
rgb_lumen_map[50]=(75*256)/255=29.4%;设置亮度为10%,实际PWM频率为rgb_lumen_map[10]=(7*256)/255=2.75%;

以下为逻辑分析仪抓图。设置亮度为50%,
PWM波频率为4K,设置亮度为50%波形
 

PWM波频率为4K,设置亮度为10%波形
 
实际测试,某些灯具设置占空比太小时,会出现闪烁的情况,因此SDK中做了限制,亮度值设置为0~4时,认为是无效值。
 
3、色度与亮度的关系
有时为了渲染效果需要改变灯的颜色,本质其实是调整Red Green Blue 3路PWM波达到一个效果,每个灯厂商的灯珠的RGB与色温 都有对应的表格。具体可以去网上查找“常用色温对应RGB颜色表http://blog.csdn.net/vrix/article/details/44037737
色温的定义:以绝对温度K来表示。是将一标准黑体加热,温度升高至某一程度时,颜色开始由红—浅红-橙黄-白-蓝白-蓝,逐渐变化,利用这种光色变化的特性,某光源的光色与黑体在某一温度下呈现的光色相同时,我们将黑体当时的绝对温度称为该光源的相关色温。
3000K 黄色光,强穿透力 
4200K 白中带黄,原车配氙气灯 
5000K 光全白,欧规最高色温 
6000K 光全白,略带蓝色 
6500K 阳光下的白天 
7000??8000K白中明显带蓝 
8000K以上蓝光,穿透力极差推荐6000K左右的色温正好是最白略微开始转蓝的色温,人眼容易接受,不易疲劳,提高安全性,而卤素灯则较差。
   
 
 
4、色温的实现
为了方便测试,先将亮度百分比设置为100%,发送 指令 LGT_CMD_LIGHT_RC_SET_RGB,也是对应的索引值,例如说1,那么 R G B对应的占空比即为 ((8/255 )*lum)、((8/252 )*lum)、((8/132 )*lum),
 
因此如果需要微调整灯的颜色,只需修改这个表格即可。
 
 
 
 
 
 前期调试也可以通过命令LGT_CMD_SET_RGB_VALUE 来微调整,将值放入上面表格即可

 

Telink BLE MESH PWM波的小结的更多相关文章

  1. PWM波控制舵机总结

    文章转自:http://www.geek-workshop.com/thread-70-1-1.html 一.关于舵机: 舵机(英文叫Servo):它由直流电机.减速齿轮组.传感器和控制电路组成的一套 ...

  2. stm32cube--通用定时器--产生pwm波

    看了通用定时器的资料,发现内容挺多,挺难看懂,现在还是先掌握使用方法,以后再多看几遍吧. ① ② ③生成mdk工程后,在main.c的while(1)前面加上HAL_TIM_PWM_Start(&am ...

  3. 使用引脚模拟PWM波控制引脚

    /********************************* 代码功能:输出PWM波控制引脚 使用函数: 创作时间:2016*10*07 作者邮箱:jikexianfeng@outlook.c ...

  4. STM32F103定时器输出PWM波控制直流电机

    这个暑假没有回家,在学校准备九月份的电子设计竞赛.今天想给大家分享一下STM32高级定时器输出PWM波驱动直流电机的问题.. 要想用定时器输出的PWM控制直流电机,,首先要理解“通道”的概念..一个定 ...

  5. STM32 PWM波

    利用STM32产生占空比可以调节的PWM波 科普:pwm(Pulse Width Modulation)脉宽调制 关于pwm波的产生:1.首先来看一下代码: pwm波模式的相关配置(利用的是定时器TI ...

  6. STM32高级定时器TIM1产生两路互补的PWM波(带死区)

    测试环境:Keil 5.20.0.0 STM32F103RBT6 固件库版本:STM32F10x_StdPeriph_Lib_V3.5.0(2011) 本文使用TIM1的通道1,通道2,产生两路1kh ...

  7. 定时器同步+触发三ADC采样+输出6路PWM波

    为了熟悉定时器定时器和ADC 用STM32F407DIS做了一个简单的工程: 通过高级定时器TIM1溢出更新时间作为触发输出信号(TRGO),触发TIM8开始计数: 同时TIM1的通道1.2.3以及分 ...

  8. 进阶之路(基础篇) - 005 模拟PWM波控制引脚

    /********************************* 代码功能:输出PWM波控制引脚 使用函数: 创作时间:2016*10*07 作者邮箱:jikexianfeng@outlook.c ...

  9. STM8S003F3通过PWM波实现三基色呼吸灯(转)

    源: STM8S003F3通过PWM波实现三基色呼吸灯

随机推荐

  1. [no code][scrum meeting] Alpha 15

    项目 内容 会议时间 2020-04-23 会议主题 OCR紧急会议 会议时长 45min 参会人员 PM + OCR组(赵涛,黎正宇) 项目 内容 会议时间 2020-04-24 会议主题 全体测试 ...

  2. 【二食堂】Beta - Scrum Meeting 1

    Scrum Meeting 1 例会时间:5.13 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 查阅资料,解决划词勾选和右键菜单的问题issue2. 修复了Alpha阶段的 ...

  3. 关于评论区empty。。。

    空荡荡的毫无人烟,博主希望路过的小哥哥/小姐姐(几率较小)留下些什么--

  4. luogu P2746 [USACO5.3]校园网Network of Schools 题解

    前言: 火星题... 但是我调了半天,最后看了题解才明白. Wtcl 解析: 显然先缩个点. 第一问,就是问多少入度为0的点. 第二问,抽象一下就是要添加一些边,让一个DAG变成一个SCC,求最小边数 ...

  5. PCB电路板元器件布局的一般原则*(转)

    PCB电路板元器件布局的一般原则: 设计人员在PCB电路板布局过程中需要遵循的一般原则如下. (1)元器件最好单面放置.如果需要双面放置元器件,在底层(Bottom Layer)放置插针式元器件, ) ...

  6. 嵌入式单片机之stm32串口你懂了多少!!

    stm32作为现在嵌入式物联网单片机行业中经常要用多的技术,相信大家都有所接触,今天这篇就给大家详细的分析下有关于stm32的出口,还不是很清楚的朋友要注意看看了哦,在最后还会为大家分享有些关于stm ...

  7. TCP/IP参考模型(应用层、传输层、网际层、网络接口层)、五层参考模型(应用层、传输层、网络层、数据链路层、物理层)、OSI与TCP/IP参考模型比较

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/104597450 学习课程:<2019王道考研计算机网络> 学习目的 ...

  8. Socket `accept queue is full ` 但是一个连接需要从SYN->ACCEPT

    由于标题长度有限制,我把想要描述的问题再次描述下: 内核通常会为每一个LISTEN状态的Socket维护两个队列: 1 accept队列: listen()函数第二个参数BACKLOG指定,表示已完成 ...

  9. centos yum更换阿里镜像

    #1.如果没有wget命令,则需要执行下面命令进行安装.为保险期间,先执行下面命令. yum install wget #2.备份原镜像源,以免出错后可以恢复. mv /etc/yum.repos.d ...

  10. Python基础(普通函数及参数)

    # def my_abs(x): # if not isinstance(x,(int,float)):#参数类型做检查,只允许整数和浮点数类型的参数.数据类型检查可以用内置函数isinstance( ...