当前位置: 首页 > news >正文

【STM32】基于TPS61165芯片的LED驱动电路

目录

一、简单介绍

二、cubeMX配置

开调试口

开PWM

时钟

按键

三、代码编写

四、效果

五、备注

六、工程链接


一、简单介绍

TPS61165是一款白色LED灯驱动芯片,输入电压3~18V,开关电流最大1.2A。具有LED开路保护,可以PWM调光或者高低电平控制。

参考芯片推荐设计,原理图如下

选择0.62欧姆电阻,则串联电流等于0.2/0.62=322mA

VBUS连接12V输入电源,笔者选用STM32F103C8T6作为MCU,LED_CTRL1连接单片机的PA7引脚

使用两个按键设置占空比(亮度)

MCU电路

二、cubeMX配置

开调试口

开PWM

设置PWM波频率为20khz,初始占空比10%

时钟

开启外部高速时钟

按键

选择输入上拉

笔者使用ST7789屏幕观测,因此还启用了SPI接口

三、代码编写

主要涉及到TFT彩屏,按键输入,定时器PWM输出的内容,主要代码如下

/* Includes ------------------------------------------------------------------*/ #include "main.h" #include "dma.h" #include "spi.h" #include "tim.h" #include "gpio.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "keydrv.h" #include "st7789.h" /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ /* USER CODE BEGIN PTD */ /* USER CODE END PTD */ /* Private define ------------------------------------------------------------*/ /* USER CODE BEGIN PD */ /* USER CODE END PD */ /* Private macro -------------------------------------------------------------*/ /* USER CODE BEGIN PM */ /* USER CODE END PM */ /* Private variables ---------------------------------------------------------*/ /* USER CODE BEGIN PV */ /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); /* USER CODE BEGIN PFP */ /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ int8_t light = 10; uint8_t str[20]; /* USER CODE END 0 */ /** * @brief The application entry point. * @retval int */ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_SPI2_Init(); MX_TIM3_Init(); /* USER CODE BEGIN 2 */ KeyDrv_Config(); ST7789_Init(); ST7789_Clear(BLACK); HAL_TIM_Base_Start(&htim3); HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_2); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { if (button[0].buttonAction == CLICK_SINGLE) { button[0].buttonAction = CLICK_NULL; light += 10; if (light > 100) { light = 100; } __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, light); } if (button[1].buttonAction == CLICK_SINGLE) { button[1].buttonAction = CLICK_NULL; light -= 10; if (light < 0) { light = 0; } __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, light); } sprintf(str, "light:%d ", light); ST7789_ShowString(0, 140, str, Font_16x26, ST7789_RGB565(0xFFFF), BLACK); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ }

四、效果

五、备注

值得一提的是,把与TPS61165的CTRL相连的单片机的PA7引脚由PWM改成推挽输出,就可以实现点亮/熄灭LED,取决于IO电平的高低。

六、工程链接

STM32基于TPS61165芯片的LED驱动电路资源-CSDN下载

http://www.cnnetsun.cn/news/55304.html

相关文章:

  • ISC3000-S U-Boot内置命令详解
  • 鲁棒控制实战宝典:从零掌握Tube MPC技术的完整指南
  • 10分钟精通League Akari:英雄联盟智能助手的全方位配置手册
  • uv-ui框架:重新定义多端开发的终极解决方案
  • 5分钟极速上手:Mermaid Live Editor文本绘图终极指南
  • 如何在浏览器中轻松创建专业Word文档:DOCX.js实用指南
  • 2025终极指南:LinkSwift网盘直链解析工具,一键获取高速下载链接
  • 24、深入探索XPath与XPointer:精准定位XML资源
  • 33、资源描述框架(RDF):语义网的关键技术
  • 43、MathML:发展、应用与关键技术解析
  • 百度ERNIE 4.5大模型震撼发布:多模态技术突破与开源生态构建
  • Nintendo Switch全能工具箱:NSC_BUILDER深度解析与实战指南
  • 联想拯救者工具箱完整使用指南:从入门到精通的全流程解析
  • 终极指南:用开源贴片机实现专业级电子制造
  • 写小说卡文怎么办?2025全网10款AI写小说工具实测+保姆级创作攻略!(含避坑指南)
  • 推荐10款亲测有效的降ai率工具,含免费降ai率神器(收藏)
  • decimal.js高精度计算终极指南:彻底告别JavaScript精度丢失烦恼
  • 7、零售与电商:搭乘 AR/VR 技术的浪潮
  • 如何快速解决鸣潮卡顿问题:WaveTools终极解锁120帧指南
  • Visio + DeepSeek 联动:文本描述转流程图的标准化指令与格式优化
  • 旺玖PL27A1芯片,USB3.0数据对拷线方案,跨系统数据传输方案,PL27A1代理商
  • FF14智能自动跳过副本动画的高效解决方案
  • 基于SpringBoot + Vue的二手车交易平台
  • 基于SpringBoot + Vue的智能图书馆管理系统
  • 基于SpringBoot + Vue的智能交通信息发布平台的设计与实现
  • 旋转标定的数学公式
  • Linux系统编程1(文件操作、Makefile)
  • Zotero文献管理效率革命:Linter插件让你的文献库焕然一新
  • Free-NTFS-for-Mac终极指南:苹果电脑完美读写NTFS磁盘的完整解决方案
  • 卡牌批量生成终极指南:5分钟掌握桌游设计利器