1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
3个回答
|
|
2.脉冲宽制(PWM)调光技术
PWM调光是一种利用简单的数字脉冲,反复开关LED驱动器的调光技术。应用者的系统只需要提供宽、窄不同的数字式脉冲,即可简单地实现改变输出电流,从而调节LED的亮度。PWM调光的优点在于调光范围大,只要带宽足够,任何模拟值都可以使用PWM进行编码,PWM调光可以在精确控制LED的亮度的同时,也保证LED发光的色度。 2.1 脉冲宽制(PWM)调光原理 利用人眼睛视觉惰性,按固定频率操作占空比实现LED亮度调节,只要调光比即PWM波频率大于200Hz人眼就不会感觉到LED的闪烁。具体调光实现,通过控制LED的亮灭时间,从而控制LED亮度,从电力学来看就是控制一定周期内电流的有效值。这种方法在改变电流有效值大小的同时不改变电压和电流的大小,这样就保证了LED的发光色度,这是模拟调光和可控硅调光无法实现的。 2.2 占空比 占空比是指高电平在一个周期之内所占的时间比率。方波的占空比为50%,占空比为0.5,说明正电平所占时间为0.5个周期。 Ts为脉冲周期 Tw为脉冲宽度 占空比τ=Tw/Ts×100。 占空比的解释可以归纳为如下几种: 1)在一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲总周期的比值。 2)在一段连续工作时间内脉冲占用的时间与总时间的比值 3)在周期型的现象中,现象发生的时间与总时间的比。 也就是电路释放能量的有效时间与总释放时间的比。 2.3 调光比 调光比则是按下面的方法计算: Foper=工作频率 Fpwm=调光频率 调光比率=Foper/Fpwm 其实也就是调光的最低有效占空比,比如Foper=100khz;Fpwm=200Hz,则调光比为: 100k/200=500。 |
|
|
|
3.蓝牙模块组成
3.1 蓝牙技术基础 蓝牙的创始人是瑞典爱立信公司,蓝牙技术是一种无线数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。手机之间通过蓝牙实现数据共享已成为常理,将手机变身为遥控器为人们的生活带来无限方便。 蓝牙技术由三部分组成,包括蓝牙无线电技术、蓝牙协议栈和蓝牙互操作性。 3.1.1 蓝牙无线电技术 蓝牙无线电工作在全球通用的2.4GHzISM(即工业、科学、医学)频段,支持全双工传输,使用IEEE802.15协议。蓝牙设备即连即用,抗干扰能力强、使用方便。 3.1.2 蓝牙协议 蓝牙协议栈包含一个软件栈和一个硬件栈。蓝牙硬件协议栈由蓝牙硬件提供,蓝牙软件协议栈由软件实现。蓝牙软件协议栈提供Java蓝牙API给程序开放人员使用。 3.1.3 蓝牙互操作性 蓝牙互操作性包括三方面内容:①通用访问Profile定义了设备管理功能性;②服务发现应用Profiles定义了服务发现方面的内容;③串口Profiles定义了互操作设备和模拟串口电缆的能力3.2 HC-O6蓝牙模块。 BC04外置8M Flash,带EDR模块HC-06为民用级,兼容HC-04工业级。其中,HC-06模块的TX管脚跟STC15F204EA单片机的P3.0管脚相接,RX管脚跟P3.1接。HC-06模块接收手机端发来的数据,然后在通过串口TR,TX管脚与单片机通信。 蓝牙2.0带EDR,2Mbps-3Mbps调制度,内置2.4GHz天线,外置8Mbit FLASH,低电压3.3V工作(3.1V~4.2V)配对时30~40MA波动,配对完毕通信8MA,可选PIO控制标准HCI端口(UART or USB),数字2.4GHz无线收发射,CSR BC04蓝牙芯片技术,自适应跳频技术,蓝牙Class 2功率级别,工作温度为-25至+75,协波干扰为2.4MHz,发射功率3dBm,有效控制距离为10m。 4.手机APP设计 4.1 蓝牙连接相关程序设计 首先,初始化本地蓝牙设备,建立LocalDevice类,包括取得本地设备实例、蓝牙名称、设置发现模式、获得发现代理。创建public intBTS_Init()类函数,实现蓝牙初始化判断,寻找默认蓝牙设备,打开蓝牙。 启动蓝牙设备搜索,创建public voidBTS_StartScan()类函数,开始寻找从机蓝牙设备,注册搜寻函数,创建public intBTS_ConnectToDevice(String DeviceAddress)类函数,实现连接到一个指定的蓝牙设备。 创建public intBTS_SendDates(Stringbuffer)类函数实现字符串发送到已连接好的蓝牙设备上,创建public intBTS_Finish()类函数结束蓝牙通信,最后创建接收ACTION_FOUND广播的BroadcastReceiverprivatefinalBroadcastReceivermReceiver=newBroadcastReceiver()。 4.2 控制信号相关程序设计 首先创建一个用于控制信号的类publicclassPwmcontrolActivity extends Activity{},里面包含创建界面的类函数public voidonCreate(BundlesavedInstanceState){},发送控制信号类函数public void onStopTrackingTouch(SeekBarseekBar){}。 创建类class InitThread extends Thread{},实现资源加载线程,里面创建用于四路信号之间转换的public InitThread(PwmcontrolActivity act){}类函数,实现与蓝牙程序接口的public void run()线程体,用于软件退出的类函数public booleanonKeyDown(intkeyCode,KeyEvent event)。 |
|
|
|
5.单片机控制信号设计
5.1 硬件电路设计系统框图如图1所示,本硬件电路采用STC15F204EA单片机为主控器,CH-06蓝牙模块的TXD与单片机11管脚P3.0连接,RXD与P3.1相连,实现蓝牙串口通信连接,从P1.0,P1.1,P1.2,P1.3四个口输出四路可调占空比的PWM信号,采用一个L298芯片将单片机控制信号和LED电源驱动隔离,避免了单片机带负载能力弱的缺点,以实现驱动大功率LED。 5.2 程序设计 主函数流程图如图2所示,定义完相关变量和相关函数声明后,设计串口通信函数,设置定时器1中断,中断函数为占空比控制函数,然后设计数据接收函数,当串口服务函数接收到数据时,将数据发送到数据接收函数,然后将接受到的字符数据通过字符转型函数进行字符的转型,然后通过标志iCommdType判断控制哪一路信号,当无标志信号来时,一直循环检查,检查到相应的标志信号,然后执行占空比调节函数蓝牙模块与单片机之间的通信使用模拟串口实现的,串口为标准配置:波特率9600,编写一个串口初始化函数void UART_INIT(),初始化相关标志,和寄存器,然后编写中断接收函数void tm0()interrupt 1 using 1,接收串口发来的数据。设定定时器1中断并编写中断服务函数void tm1()interrupt 3 using1,实现P W M的占空比控制。编写数据接收函数char GetUartData(),将中断接收函数里接收到的数据发送这里,等待接收数据函数void WaitForChars(unsigned chariCount,char *Dest)通过调用数据接收函数char GetUartData(),将手机发送来的数据装载到定义好的变量数组,然后通过字符转型函数unsigned intGetCmdType(char*Commd),将字符型数据转成数字,通过标志判断,要控制哪一路PWM波,然后将相应的数据传到控制占空比的中断服务函数,改变其占空比的输出。 |
|
|
|
只有小组成员才能发言,加入小组>>
788 浏览 0 评论
1151 浏览 1 评论
2527 浏览 5 评论
2860 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2709 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1068浏览 3评论
193浏览 2评论
455浏览 2评论
368浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
453浏览 1评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 15:25 , Processed in 1.282497 second(s), Total 84, Slave 65 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号