【经验】基于CW32的L9110风扇模块的应用
L9110风扇模块是一种常见的电机驱动模块,可以用于控制小型直流风扇的转动,常被用于:
(1) 电子设备散热:将L9110风扇模块连接到需要散热的电子设备上,通过控制风扇的转速来提高设备的散热效果,保持设备的正常工作温度。
(2) DIY电子项目:L9110风扇模块是制作各种DIY电子项目的理想选择。通过将其与微控制器板结合使用,可以构建自己的智能风扇、温度控制系统等。这为爱好者提供了灵活性和创造力的发挥空间。
(3) 模型制作:L9110风扇模块也可以在模型制作领域中找到应用。通过将风扇模块嵌入模型中,并通过控制模块来改变风扇的速度和转向,可以增加模型的真实感和互动性。
本实验用到了CW32F030C8T6小蓝板、L9110风扇模块、LED交通信号灯模块、轻触微动立式按键开关及Keil5开发环境。
风扇三档转速调节系统说明
(1)L9110风扇模块
L9110风扇模块,可控制正反转,具有安装孔,可以吹灭20cm外的打火机或蜡烛火焰,经常被用于灭火机器人之上。
【连线】:VCC连5V,GND连GND,INA连PA0,INB连PA1
(2)LED交通信号灯模块
【连线】:GND连GND,R连PC13,Y连PC14,G连PC15
(3)轻触微动立式按键开关
【连线】:VCC连+3.3V,GND连GND,OUT接PB9
三、核心代码
L9110.c:
#include "L9110.h"
#include "GTIM.h"
void L9110_GPIO_Init() //INA接PA0,INB接PA1
{
__RCC_GPIOA_CLK_ENABLE();
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.IT = GPIO_IT_NONE;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; //推挽输出模式
GPIO_InitStruct.Pins = GPIO_PIN_0|GPIO_PIN_1;
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
GPIO_Init(CW_GPIOA, &GPIO_InitStruct);
PA00_AFx_GTIM2CH1(); //PA0引脚复用为GTIM通道1
PA01_AFx_GTIM2CH2(); //PA1引脚复用为GTIM通道2
}
void Turn_around(int16_t value) //风扇转动函数
{
if(value>0)
{
GTIM_SetCompare1(CW_GTIM2,value); //设置CRR1的值为value
GTIM_SetCompare2(CW_GTIM2,0);
}
else
{
GTIM_SetCompare1(CW_GTIM2,0);
GTIM_SetCompare2(CW_GTIM2,-value);//设置CRR2的为value
}
}
GTIM.c:
#include "GTIM.h"
void GTIM2_Init(void) //输出PWM到INA和INB引脚
{
RCC_APBPeriphClk_Enable1(RCC_APB1_PERIPH_GTIM2,ENABLE); //使能APB外设时钟
GTIM_InitTypeDef GTIM_Initstruct;
GTIM_Initstruct.Mode = GTIM_MODE_TIME; //工作模式-->定时器模式
GTIM_Initstruct.OneShotMode = GTIM_COUNT_CONTINUE;//连续计数模式
GTIM_Initstruct.ToggleOutState = DISABLE; //电平反转失能
GTIM_Initstruct.Prescaler = BTIM_PRS_DIV64; //预分频
GTIM_Initstruct.ReloadValue =1000-1;//计数重载周期,16bit自动重载寄存器ARR,ARR的值最大为65535
GTIM_TimeBaseInit(CW_GTIM2,>IM_Initstruct);
//定时时长=预分频/计数器时钟源频率*(计数重载周期+1),即T=64/64000000*1000s=1ms
GTIM_OCInit(CW_GTIM2,GTIM_CHANNEL1,GTIM_OC_OUTPUT_PWM_LOW);//向GTIMx_CCMR寄存器中的 CCyM 位写入0xF
GTIM_OCInit(CW_GTIM2,GTIM_CHANNEL2,GTIM_OC_OUTPUT_PWM_LOW);
//当 GTIM2_CNT <= GTIM2_CCR1(GTIM2_CCR2)时,CH1(CH2)通道输出高电平,否则输出低电平
GTIM_Cmd(CW_GTIM2,ENABLE); //GTIM2使能
GTIM_SetCompare1(CW_GTIM2,0);
GTIM_SetCompare2(CW_GTIM2,0);
//GTIM2_CCR1(GTIM2_CCR2)中的比较值设为0,CH1(CH2) 通道输出保持为低电平
}
main.c
#include "main.h"
#include "LED.h"
#include "L9110.h"
#include "GTIM.h"
#include "Key.h"
int main()
{
LED_Init(); //三个LED灯用来指示风扇转动状态
L9110_GPIO_Init();//L9110风扇模块引脚初始化配置
Key_GPIO_Init(); //轻触微动立式按键开关用来进行三档转速调节
GTIM2_Init(); //输出PWM到INA,INB引脚
while(1)
{
Key_Scan(); //扫描按键并执行相应功能
LED_Indicator();//指示灯
}
}
四、效果演示+说明
(1)系统上电处于0档,风扇不转,红色LED灯点亮
(2)第一次按下按键开关,系统设置为正向一档,风扇满占空比旋转,风力达到最大,同时红灯熄灭,黄灯点亮,代表风扇顺时针旋转。此后第二次、第三次按下开关,转速依次下降,第四次按下开关,系统回到0档
(3)第五次按下按键开关,系统设置为反向一档,风扇满占空比旋转,风力达到最大,同时红灯熄灭,绿灯点亮,代表风扇逆时针旋转。此后第六次、第七次按下开关,转速依次下降,第八次按下开关,系统回到0档
- |
- +1 赞 0
- 收藏
- 评论 0
本文由咪猫转载自CW32生态社区公众号,原文标题为:【CW32】基于CW32的L9110风扇模块的应用,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
基于CW32的MPU6050姿态传感器的应用开发配置教程
MPU6050是一种常用的六轴姿态传感器模块,结合了三轴陀螺仪和三轴加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。MPU6050 对陀螺仪和加速度计分别用了三个16 位的ADC(0~65535),将其测量的模拟量转化为可输出的数字量。
设计经验 发布时间 : 2023-11-01
基于CW32F030C8T6芯片通过智能控制技术完成智能小车项目代码和功能说明
本文介绍了使用CW32F030C8T6芯片完成的全国电子竞赛H题智能小车项目。项目核心是利用CW32F030C8T6芯片的强大处理能力和丰富外设支持实现智能控制。硬件方面,包括PWM电机控制、五路循迹模块、OLED显示和角度传感器。软件部分采用结构化编程,涵盖底层驱动、外设控制和主程序逻辑。主程序包含变量定义、任务执行、硬件初始化等,支持模式切换以应对不同竞赛场景。
设计经验 发布时间 : 2024-08-27
【经验】芯源CW32系列单片机低功耗模式介绍及UART深度休眠模式示例
CW32单片机低功耗模式介绍及UART深度休眠模式示例。
设计经验 发布时间 : 2023-05-31
2023年电赛A题——国奖开源分享
根据题目要求,本项目拟设计制作一个单相逆变器并联运行系统,本系统以CW32F030C8T6核心板为控制核心,由直流电源、隔离变压器、全桥逆变电路、采集电路、驱动电路、LC低通滤波电路和辅助电源组成。从机采用DQ锁相环进行相位追踪,通过生成双极性SPWM波对全桥逆变电路调制,产生正弦交流电。利用PID算法进行电流、电压闭环控制,逆变器实现稳流,稳压来实现并联,并网运行。
厂牌及品类 发布时间 : 2023-12-26
【技术】武汉芯源CW32单片机UART基本数据收发功能介绍
通用异步收发器是一种通用串行数据总线,常用于系统内各子模块间的数据交换。本文将以武汉芯源推出的CW32系列单片机的CW32L083为例,介绍UART基本数据收发功能。
技术探讨 发布时间 : 2023-04-25
授人以渔,24电赛H题完赛资料开源,思想开源——硬件讲解
在2024年全国电子竞赛的H题目中,我们团队采用了CW32F030C8T6作为核心控制芯片,设计并完成了一款功能完备的智能小车。
设计经验 发布时间 : 2024-08-26
【CW32】基于CW32的GY-33颜色识别模块的应用
GY-33是一种基于TCS34725颜色传感器的颜色识别模块。TCS34725是一种高精度光学传感器,能够检测红、绿、蓝三个基本色的光谱信息,从而实现对物体颜色的准确识别,本实验使用到了CW32F030C8小蓝板、GY-33颜色识别模块、0.96寸OLED显示屏,RGB全彩LED模块、轻触开关模块及Keil5开发环境
厂牌及品类 发布时间 : 2023-09-30
【经验】基于CW32的超声波模块的应用
C-SR04超声波模块是一种常用的测距模块,其通过发射超声波并接收其反射信号来实现测距功能。具有成本低、精度高、使用简便等特点。本实验用到了CW32F030C8T6小蓝板、0.96寸OLED显示屏、HC-SR04超声波模块及Keil5开发环境。
设计经验 发布时间 : 2023-09-26
硬件设计不要“想当然“,比较经典的CW32技术支持案例
CW32F030K8T7写不进程序的原因分析和解决办法。
设计经验 发布时间 : 2024-08-26
基于CW32的无刷直流空心杯电机有感控制驱动方案
空心杯电机(Hollow-Cup Motor)是一种特殊类型的微型无刷直流电机,具有空心的旋转部分。它通常由外部固定的外壳和内部旋转的空心杯组成。空心杯电机具有较高的功率密度和扭矩输出,适用于一些特定的应用场景,如精密仪器、机器人、医疗设备等。空心杯电机的工作原理是基于无刷直流电机的原理。它采用无刷电机的结构,包括定子(固定部分)和转子(旋转部分)。
应用方案 发布时间 : 2024-05-16
【经验】基于武汉芯源半导体CW32F030C8T6和启英泰伦CI-C22GS02制作的智能语音分类垃圾桶的配置教程
简介:基于武汉芯源半导体CW32F030C8T6和启英泰伦CI-C22GS02制作的智能语音分类垃圾桶,能够实现识别语音来判断垃圾种类,同时打开相应的垃圾桶,可外接普通按键或者触摸按键,也可以外接红外接近传感器来打开对应的垃圾桶。
设计经验 发布时间 : 2023-08-05
ESD测试是什么?武汉芯源的CW32能扛8000V?
ESD测试是确保电子设备在静电放电环境下稳定运行的重要手段之一。通过不断完善测试标准和规范、采用先进的测试设备和技术、加强测试人员的培训和管理等措施,可以进一步提高测试结果的准确性和可靠性。
设计经验 发布时间 : 2024-08-21
基于CW32的MAX4466放大器模块的应用实验
MAX4466是一款低噪声、高增益的放大器模块。该模块采用了集成放大器芯片,能够在低电压下提供高增益。它的输入阻抗较高,能够与多种信号源(例如麦克风、传感器)实现良好的匹配。同时,MAX4466还具备很低的噪声水平,能够有效地提取和放大微弱的信号,提高系统的灵敏度。
设计经验 发布时间 : 2023-10-29
【应用】基于国产32位MCU芯片CW32F030C8T6的智能门锁方案,主频64MHz,具备低功耗多功能优势
智能门锁集成3D识别算法、接近检测、指纹输入模块,低功耗计算芯片等于一体,解锁快、功耗低、续航久,现武汉芯源推出一款MCU芯片CW32F030C8T6助力于智能门锁设计。
应用方案 发布时间 : 2023-03-14
基于CW32控制器的直流电机PID学习套件介绍
PID直流有刷电机控制系统是一款基于CW32F030的应用程序。该系统旨在辅助学生和开发者学习PID控制电机及其参数调整以及嵌入式开发基础。用户可以在此基础上添加多种模块,以实现功能的扩展和增强。
应用方案 发布时间 : 2024-08-15
电子商城
登录 | 立即注册
提交评论