Tacking

    1. tagetage 发表于 2024-12-23 11:48 就是74HC251的反向输出端用上,在接一个IO做查询,或中断处理。我想你也能明白。。
      我现在的做法就是将反向端用上了; IO轮询的话,我考虑的是:一直轮询监测是否是高电平的话,风扇正常运转的话,可能也会刚好多次轮循到高电平的状态,这样会出现误判断 利用中断最好,但是我不知道怎么去判断中断有没有?我尝试了下去监测中断标志位,但是没有达到效果。不知道是不是我监测中断的方式不对?按理说没有上升沿或者下降沿它是不会有中断的。 非常感谢您的指导!
    2. beyond_笑谈 发表于 2024-12-23 11:30 已经采用单片机检测了,是需要再额外监测显示?那就在端口并联上拉电阻和LED
      是这样的:我现在用一个输入捕获通道通过多路复用器分别获取四个直流风扇的FG信号的方波,读取出风扇的转速,但是我发现在风扇不转时,转速值还是有的不是0。 但是实际风扇不转时,FG信号一直处于低电平,我就想通过监测不转时的低电平信号,来修改显示的转速值为0。 这样还可以监测风扇的好坏,风扇坏了不转时可以实时发现。 感谢您的回复!
    3. Tacking 发表于 2024-12-23 11:24 有进展的,非常感谢您的建议,之前干扰的问题我通过定时器设定标志位定时进行各通道输入捕获,然后再通过 ...
      另外有个问题还想请教下您:我这四个风扇的FG信号输入到stm32的IO口,但是需要监测这些FG信号的方波什么时候会没有?(也就是监测风扇转不转),经过测试,在风扇不转的时候,FG信号会一直处于高电平,有没什么好的方法来进行监测stm32的IO口是否一直处于高电平啊?
    4. tagetage 发表于 2024-12-21 17:28 楼主的问题有进展没有啊 ???
      有进展的,非常感谢您的建议,之前干扰的问题我通过定时器设定标志位定时进行各通道输入捕获,然后再通过OLED显示就没问题了!但是速度稍快还是会出现错乱。索性我就按照您建议的方法通过74HC251来设计了,现在测试结果显示十分正常,且可以任意设置捕获时间,真的非常感谢您
    5. 兄弟,你最后用什么方案实现的啊?我现在有12个风扇需要测速,而且还需要监测好坏,头大!测速倒还好,直接用定时器输入捕获抓12个风扇的FG信号线,但是这好坏,难道我也用12个外部中断来实时监测么?
    6. zhoupxa 发表于 2024-12-16 22:55 各个输入捕获通道应该是可以互不干扰、独立运作的,仔细梳理下你的软件前后台处理过程是否存在错误操作或共 ...
      好的,感谢回复!我感觉应该是四个捕获通道不停的来中断,进入中断,OLED我采用的软件模拟的形式,是不是OLED刷新不过来导致显示错误,实际上捕捉回来的是没有错误的
    7. 有没哪位大佬知道这是什么原因导致的不?我还是想找出原因,不甚感激!
    8. tagetage 发表于 2024-12-16 16:25 你的要监测12个风扇的PWM转速值,要我做的话我会用硬件的多通道选择器,比如用2个8通道选择器做一个16通道 ...
      您说的有道理,我之前也考虑过这种方案,但是我看有这么多个输入捕获通道,我就想着用起来,但是现在遇到这个问题,不知道是不是通道间有干扰还是咋回事?
    9. tagetage 发表于 2024-12-16 16:11  STM32输入捕获--“PWM输入模式”(可拓展多路同时捕获) https://www.eeworld.com.cn/m ...
      我认真学习下,非常谢谢您!
    10. 多个通道捕获时现象如下视频:[localvideo]865639522c91c9c2a61b2c2b4e515a60[/localvideo] 单个通道捕获时现象如下视频:[localvideo]c2a04992109ffb7c053b6ca83dec1a50[/localvideo]  
    11. 关于延时函数很奇怪的问题 3/261 stm32/stm8 2024-12-11
      tagetage 发表于 2024-12-10 19:13 你程序整体逻辑有问题,你30s延时的时候查询按键是没有办法响应的, 也就是说你的while里面不能有占用时 ...
      谢谢您的指导,我也怀疑是这个问题,这地方我还是有些疑惑,我30s用的延时也是定时器弄的,是不是我必须要将这个延时修改为定时器中断延时才可以?
    12. chunyang 发表于 2024-11-17 22:50 现在已不可能有新产的类似芯片,用MCU实现是性价比最高的方案。
      明白啦,感谢
    13. maychang 发表于 2024-11-15 15:57 【需要带门控信号的,类似8253那种的可编程控制的,还可以读回计数值,可否帮忙推荐一款】 最简单的方法 ...
      非常感谢,找了一圈实在找不到,看来只有这个办法了!
    14. 8253芯片,现在也找不到,也买不着,有没类似功能的?难道只能用单片机么?
    15. maychang 发表于 2024-10-10 21:06 【但是转速监控需要每个去监控的话,哪有那么多输入捕获通道去捕获PWM频率?】 这个倒是比较容易。单片 ...
      太牛了!一下子解惑了,感谢感谢!输出我准备采用光耦加达林顿来控制风扇,输入捕获用12片计数器芯片!
    16. 请教下大家,我用三个四选一多路复用器,通过单片机普通IO口去控制12个DCDC直流风扇分别切换到TIM2的输入捕获通道上进行转速测量是否可以?
    17. Gen_X 发表于 2024-7-14 13:55 正确。 这个叫增量的速度:你用的是手转的编码器,当转慢的时候就减小,当不转了就回零。 所以你得到 ...
      理解了,非常感谢,原来编码器还分增量式和绝对值式。太感谢了
    18. int16_t Encoder_Get(void) {     /*使用Temp变量作为中继,目的是返回Encoder_Count后将其清零*/     /*在这里,也可以直接返回Encoder_Count       但这样就不是获取增量值的操作方法了       也可以实现功能,只是思路不一样*/     int16_t Temp;     Temp = Encoder_Count;     Encoder_Count = 0;     return Temp; }   经过我多方排查,终于找到问题点了,出问题的地方就是这个获取增量值函数里面:Encoder_Count = 0;这句代码,加上这句,Return回去的值一直是0,不是需要的增量值,Temp一开始是增量值,等到执行该句代码后,Temp也变为常量0了,所以导致值一直是0,将该句代码注释掉后,一切显示正常。 也终于理解UP主为啥采用Num += Encoder_Get(); 的方式。 但是为啥执行那句代码后,Temp也变常量0了呢?不是应该Encoder_Count清零之前的值么?
    19. 常见泽1 发表于 2024-7-13 13:45 temp改成全局变量再去watch吧
      非常感谢您的回复,我试了转全局,看到一直是 0,所以出不来结果,编码器不起作用
    20. 大佬们,谁知道啊?别沉啊:surrender:

最近访客

< 1/1 >

统计信息

已有1人来访过

  • 芯积分:97
  • 好友:--
  • 主题:10
  • 回复:33

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言