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

关于IO输出电流的问题

[复制链接]

该用户从未签到

1

主题

5

回帖

17

积分

新手上路

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

使用道具 举报

  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 110 天

    [LV.6]常住居民II

    31

    主题

    389

    回帖

    1964

    积分

    荣誉版主

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

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 07:18
  • 签到天数: 55 天

    [LV.5]常住居民I

    0

    主题

    74

    回帖

    74

    积分

    注册会员

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

    使用道具 举报

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 97 天

    [LV.6]常住居民II

    9

    主题

    556

    回帖

    817

    积分

    高级会员

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

    使用道具 举报

    该用户从未签到

    550

    主题

    9323

    回帖

    1万

    积分

    管理员

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

    使用道具 举报

    该用户从未签到

    550

    主题

    9323

    回帖

    1万

    积分

    管理员

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

    使用道具 举报

    该用户从未签到

    550

    主题

    9323

    回帖

    1万

    积分

    管理员

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



    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 71 天

    [LV.6]常住居民II

    5

    主题

    39

    回帖

    480

    积分

    中级会员

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

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

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    17

    积分

    新手上路

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

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

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    17

    积分

    新手上路

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

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-5 15:20 , Processed in 0.090360 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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