技术论坛

求教!!200smart可不可以用高速计数器来实现微秒级延时??

作者 主题
游民

经验值: 90
发帖数: 8
精华帖: 0
主题:【求助】求教!!200smart可不可以用高速计数器来实现微秒级延时??
推荐帖


只看楼主 楼主 2020-09-09 10:39:32

我现在需要2路互补的PWM,需要500微妙延时,所以打算用10us的脉冲触发高数计数器,计数值为50时,输出第二路pwm,实现互补。但是波形相位总是变化,有时候可以互补,有时候就有偏差,这是怎么回事呢

st30_1000Hz-0903.rar

3618bce4782546b779900d411035f91.png



 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1641488&b_id=64&s_id=0&num=9

至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:求教!!200smart可不可以用高速计数器来实现微秒级延时??
推荐帖


只看楼主 1楼 2020-09-09 10:48:20

两路要有办法把它相关起来才行。变的时候更加要相关。不相关的话就随它发生差异,就没办法同步的。实际上也没有办法关联起来。

如果脉冲不变的,仅仅是开始时刻有一个时差就可以,那么可能还可以实现。

为什么你要这么做呢?


 
以下网友喜欢您的帖子:

  
游民

经验值: 90
发帖数: 8
精华帖: 0
回复:求教!!200smart可不可以用高速计数器来实现微秒级延时??
推荐帖


只看楼主 楼主 2楼 2020-09-09 11:01:22
以下是引用芳季在2020-09-09 10:48:20的发言 >1楼

两路要有办法把它相关起来才行。变的时候更加要相关。不相关的话就随它发生差异,就没办法同步的。实际上也没有办法关联起来。

如果脉冲不变的,仅仅是开始时刻有一个时差就可以,那么可能还可以实现。

为什么你要这么做呢?

就是需要开始有一个时差,比如先输出PWM0,然后PWM2输出脉冲触发计数器,计数值到再输出PWM1,这样pwm0和pwm1就是高低电平互补的了


我需要全桥逆变的触发pwm,即2路互补且带死区的pwm,频率是1000hz,所以需要500us延时


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:求教!!200smart可不可以用高速计数器来实现微秒级延时??
推荐帖


只看楼主 3楼 2020-09-09 11:35:43

这么搞,你不怕出错了炸鸡吗?这事情肯定是要硬件做安全啦。再者,你还得有驱动电路的啊。在驱动电路上做反相器,行不行?就一个非门的事情。

高速脉冲发两个脉冲,频率是2000赫兹。用输入中断接收这两个脉冲。收到第一个,启动发pwm1,收到第二个,启动发pwm2。

后面那个图,你画几条线,能让人看懂吗?


 
以下网友喜欢您的帖子:

  
游民

经验值: 90
发帖数: 8
精华帖: 0
回复:求教!!200smart可不可以用高速计数器来实现微秒级延时??
推荐帖


只看楼主 楼主 4楼 2020-09-09 16:07:31
以下是引用芳季在2020-09-09 11:35:43的发言 >3楼

这么搞,你不怕出错了炸鸡吗?这事情肯定是要硬件做安全啦。再者,你还得有驱动电路的啊。在驱动电路上做反相器,行不行?就一个非门的事情。

高速脉冲发两个脉冲,频率是2000赫兹。用输入中断接收这两个脉冲。收到第一个,启动发pwm1,收到第二个,启动发pwm2。

后面那个图,你画几条线,能让人看懂吗?

光耦隔离驱动电路已经做好了,现在就是这个互补且带死区的pwm实现问题。

您说的加反相器的话,没有办法形成死区,所以不可以

谢谢您的建议,刚刚用输入中断试了一下,效果还可以,应该可以达到要求。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 13022
发帖数: 1815
精华帖: 22
回复:求教!!200smart可不可以用高速计数器来实现微秒级延时??
推荐帖


只看楼主 5楼 2020-09-09 21:54:12
以下是引用joke1235在2020-09-09 16:07:31的发言 >4楼

光耦隔离驱动电路已经做好了,现在就是这个互补且带死区的pwm实现问题。

您说的加反相器的话,没有办法形成死区,所以不可以

谢谢您的建议,刚刚用输入中断试了一下,效果还可以,应该可以达到要求。

以下是引用芳季在2020-09-09 11:35:43的发言 >3楼:这么搞,你不怕出错...

引用3楼详细内容:

这么搞,你不怕出错了炸鸡吗?这事情肯定是要硬件做安全啦。再者,你还得有驱动电路的啊。在驱动电路上做反相器,行不行?就一个非门的事情。

高速脉冲发两个脉冲,频率是2000赫兹。用输入中断接收这两个脉冲。收到第一个,启动发pwm1,收到第二个,启动发pwm2。

后面那个图,你画几条线,能让人看懂吗?

不一定行啊,资源总是有限的,想多做点事就快不了,想快就做不了多少事。找到输入中断貌似有点方向了。翻翻之前关于时序的帖子。输入中断比高速计数更改预设值中断的时延性(非延时性)更好是有道理的。
之前试过不同品牌包括运动板卡,日系,1200,200,MCU,机器人的FastIO的时延性,200Smart的时延性能很好,软件架构很强,应了那句尺有所短寸有所长。
 
以下网友喜欢您的帖子:

  
至圣

经验值: 17195
发帖数: 2948
精华帖: 6
回复:求教!!200smart可不可以用高速计数器来实现微秒级延时??
推荐帖


只看楼主 6楼 2020-09-10 08:17:13

 微秒级延时是可以实现的。

200smart本身内部就有1微秒时基,可惜不对用户开放。用户要实现微秒程序功能,只能大费周章曲线救国。微秒级延时:高速计数器+硬件中断,或许还会搭上高速输出。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12573
发帖数: 2503
精华帖: 31
回复:求教!!200smart可不可以用高速计数器来实现微秒级延时??
推荐帖


只看楼主 7楼 2020-09-14 20:20:59

如果是没有中断的系统,500us延时建议考虑用for循环把时间耗掉。

如果有其他的中断?建议放弃治疗,直接自己用单片机做。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 19410
发帖数: 2077
精华帖: 73
回复:求教!!200smart可不可以用高速计数器来实现微秒级延时??
推荐帖


只看楼主 8楼 2021-01-05 22:56:09

想法不错,把200smart当做变频器的CU,直接控制IGBT或者MOSFET模块。楼主缺的是电子电路基础知识,不懂移相电路怎么设计。


大道至简,知易行难
以下网友喜欢您的帖子:

  
侠圣

经验值: 4241
发帖数: 344
精华帖: 1
回复:求教!!200smart可不可以用高速计数器来实现微秒级延时??


只看楼主 9楼 2021-09-09 08:55:10

想法很活啊,思路宽


理想很丰满,现实很骨感
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
求教!!200smart可不可以用高速计数器来实现微秒级延时??
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。