找回密码
 立即注册
查看: 1522|回复: 13

关于IO输出电流的问题

[复制链接]

1

主题

5

回帖

25

积分

新手上路

积分
25
发表于 2024-2-6 01:08:11 来自手机 | 显示全部楼层 |阅读模式
最近需要用到PWM控制数码管亮度,于是产生了一个问题:IO口输出电流的20ma驱动能力具体是指什么?如果我从p0.0通过100欧限流电阻输出1khz占空比为10%的PWM波,那么输出的电流值是20x10%=2ma还是50x10%=5ma?,因为输出是数码管,驱动电流不大,不希望数码管因为io口限流出现复杂的亮度不一的情况,最后,这样的限流是怎么实现的?按照io口电路来看推挽输出应该是直接短接电源和地的,怎么实现的这种软电流限制?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5454

积分

版主

积分
5454
发表于 2024-2-6 01:38:30 | 显示全部楼层
第一个问题,首先这个20ma是安全电流,就是说输出20ma以下都是安全的。以上虽然不会立刻芯片爆掉,但总归是会有发热影响的。
其次,数码管作为发光二极管是要采用二极管导通压降计算电流的,实际的电流计算应该是(电源电压-发光二极管导通压降)/总电阻(也就是限流电阻),因为二极管并非感性元器件,所以电流计算并不能按照百分比削弱,需要按照导通的最大峰值。使用了pwm,削弱的只有等效亮度和平均功率。
最后的亮度不均匀问题,最好的解决方案应该是通过软件实现每个段的动态刷新,这样同一瞬时时间只亮一个段码,就不会出现因为电流分配问题出现的亮度不均了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:166
  • 最近打卡:2025-05-02 13:10:05
已绑定手机

0

主题

85

回帖

372

积分

中级会员

积分
372
QQ
发表于 2024-2-6 06:19:44 | 显示全部楼层
点灯的话建议你去参考官方的试验箱,里面数码管多多的,亮度嘎嘎的,优秀例程看懂了再来讨论
我要用AI32做个感应加热器的控制核心,加油~!!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2025-05-02 08:15:40
已绑定手机

13

主题

1257

回帖

2975

积分

金牌会员

积分
2975
发表于 2024-2-6 08:48:35 | 显示全部楼层
如果单片机直接驱动数码管,一般用共阳的,阳极公共端接VCC,对单片机来说是灌电流,灌电流远比拉电流的最大值20ma大,具体多少不记得了。
另外,LED的亮度和PWM的占空比不是线性关系,需要实际测试转换一下。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15626
发表于 2024-2-6 10:08:45 | 显示全部楼层
截图202402061008412828.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15626
发表于 2024-2-6 10:09:33 | 显示全部楼层
截图202402061009245990.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15626
发表于 2024-2-6 10:11:17 | 显示全部楼层
截图202402061010155138.jpg
截图202402061010385455.jpg
截图202402061011117981.jpg



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:416
  • 最近打卡:2025-05-02 08:12:03

10

主题

70

回帖

1311

积分

金牌会员

积分
1311
发表于 2024-2-6 15:56:10 | 显示全部楼层

一直想找IO口电流资料,最新STC8H手册才有,还想问一下IO口20ma是指长期通电电流吧?如果是短时间1ms以下可以通过多大电流?有没有做过破坏性试验多少电流会烧毁IO?
表格给出了80ma对应压降,是否说明短时间内80ma不烧IO?
回复 支持 反对

使用道具 举报 送花

1

主题

5

回帖

25

积分

新手上路

积分
25
发表于 2024-2-6 15:58:23 | 显示全部楼层
王*** 发表于 2024-2-6 01:38
第一个问题,首先这个20ma是安全电流,就是说输出20ma以下都是安全的。以上虽然不会立刻芯片爆掉,但总归是 ...

就是扫描方式,但是考虑到io电流限制,数码管最大电流就只能按(最大电流/扫描段数)来,这样的话两个断码每个位平均下来最大2-3ma,再加上有pwm调光所以担心亮度不够以及各笔位亮度不一的问题,如果采用位扫描,电流更小,1ma都不到了,而且太消耗资源,所以最好是能接受超过20ma的脉冲电流
回复 支持 反对

使用道具 举报 送花

1

主题

5

回帖

25

积分

新手上路

积分
25
发表于 2024-2-6 16:00:31 | 显示全部楼层
21cns*** 发表于 2024-2-6 08:48
如果单片机直接驱动数码管,一般用共阳的,阳极公共端接VCC,对单片机来说是灌电流,灌电流远比拉电流的最 ...

我用公共端做片选的,推挽输出不需要考虑拉还是灌,输出能力差不多,线性关系已经转换过了,现在就是对这个io输出的特性不清楚,20ma是持续电流还是峰值电流
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 15:36 , Processed in 0.151074 second(s), 122 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表