完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
你好,我有一个项目需要驱动2个1100瓦的加热元件。我希望能够选择哪个元件具有优先权,所以优先权元件将加热直到达到其设定点(使用PWM),然后第二加热器将使用第一加热器不使用的任何可用时间。设置点,而dutycycle是10%,因此,我希望非优先级加热器能够使用可用的225ms(直到时间到期为止)。需要保持设定点,非优先加热器只获得剩余时间(因此,非优先加热器可能永远不会达到设定点),我试图驱动这两个加热器离开一个单一的120VAC,15安培断路器,这就是为什么我需要错开运行时间。一旦达到温度,每个加热器只需要一小部分时间来维持设定值(比如10%的时间),我试图使用OC5和OC6在24FJ1024GB606中实现这一点。思想??
|
|
相关推荐
16个回答
|
|
|
我不熟悉PIC中的PWM计数器的精确行为,但是您应该能够将一个输出从计数0激活到期望的占空比计数,并通过反转另一个输出,使其从计数X激活到周期计数。通过确保第二个比较比第一个更高,这两个输出将永远不会同时进行。/ Ruben
|
|
|
|
|
|
谢谢你的回复,如果我理解你的建议,听起来像是在描述一个“共享”的解决方案。(驱动加热器A,关闭它,驱动加热器B,关闭它,重新启动?)我希望加热器A能达到100%的可用功率,但如果只需要例如50%的占空比来维持加热器A,那么使用加热器B的其他50%(或者无论需要多少)。此外,程序还需要能够切换优先级,所以有时加热器B需要得到di。事实上,在重新阅读你的文章之后,我想我现在知道你的意思了。是的,我会努力工作的。我已经阅读了DS7000 05159A,并有一些其他想法,以及将更新它如何工作…
|
|
|
|
|
|
是的,将加热器A驱动到所需的PWM占空比,并将其余部分用于加热器B。通过将加热器B的输出反相,它将从计数X激活到周期结束,而加热器A将从计数Y激活到表示所需占空比的计数。计数X总是高于计数Y。唯一的缺点是在加热器B与加热器A之间没有死区。可能有一种模式,您可以同时设置开始计数和结束计数。计算所需的计数X和Y,然后如果计数X高于计数Y,则根据优先级,限制计数X或计数Y。(使用相同的定时器),并且两者具有相同的周期时间。/ Ruben
|
|
|
|
|
|
|
|
|
|
|
|
你可以很容易地同步两个PWM到同一个同步源,谢谢,我相信我会给这个尝试。
|
|
|
|
|
|
我研究了如何使用中断,正如我可以读到的,中断只能在循环完成时才能生成(OCxRS匹配之后的下一个周期,或者PRx匹配之后的下一个周期(无论谁先来)。如果您能在OCxR匹配时得到中断,那么您将能够执行您建议的操作(也是我的第一个想法),但是,文档特别指出在OCxR匹配事件中没有生成中断。
|
|
|
|
|
|
您可以使用PPS将PWM输出提供给外部中断。我喜欢将第二个PWM反相,然后是第一个PWM反相。你甚至可以添加一个死区。
|
|
|
|
|
|
你能详细解释一下“使用PPS给PWM中断输出PWM”吗?我使用的是专用的OCx外围设备(OC5和OC6),PC板已经建成,所以,如果你的意思是切换到PPS OC引脚,这是太晚了。
|
|
|
|
|
|
是的,它当然可以,而且,当我第一次开始这个项目时,我最初是用一个更小的处理器在软件上编码它。项目在范围上不断扩大,很快,我就用完了程序空间,所以我把PWM移到硬件上以恢复一些程序空间。项目在范围上不断扩大(包括增加第二台加热器),这需要移到更大的处理器上,所以,我想,为什么要麻烦回到软件PWM,只是因为它更容易?相反,试着用硬件学习一些新东西?
|
|
|
|
|
|
我认为你把事情弄得太复杂了。您不需要任何PWM,只需要简单的逻辑。首先,创建一个确定函数:与加热器2相同。然后每隔几秒钟运行以下代码:
|
|
|
|
|
|
这些加热器的PWM是由PID控制方案驱动的(我现在意识到,我应该已经提到,但是在我有限的大脑容量下,这在当时似乎是显而易见的),几乎100%的时间(至少当系统稳定后)需要至少几个PWM周期保持设定点,因此,有效地,加热器2几乎不会被驱动。
|
|
|
|
|
|
这看起来是一个非常有前途的解决方案,我以前没有使用过CLC,但是,正如前面的文章中提到的,更多地接触新事物仅仅意味着更多的知识!肯定会发现,这可能是迄今为止最优雅的解决方案。感谢您的输入!
|
|
|
|
|
|
非常有趣的建议,只是不要在PID1移动时错误地过分强调PID2(因此保持两者彼此独立,因为它们足够关心并引入噪声从来都不是一个好主意),使PWM2的时间附加于PWM1
|
|
|
|
|
|
那些引脚能够被设置为外部中断输入吗?PPS引脚可以是PPS输出和多个PPS输入同时进行。
|
|
|
|
|
|
考虑到非常慢的PWM频率(4Hz,250ms周期),我想把它编码为状态机。有三种有效状态:1:加热器1关闭,加热器2关闭:加热器1开启,加热器2关闭:加热器1关闭,加热器2启动,状态1。在PWM脉冲开始时进入状态2,并在那里保持PWM脉冲的长度。在此期间检查加热器2是否需要接通。在PWM脉冲出口状态2结束时,根据加热器2是否需要接通而进入状态1或状态3。如果进入状态3,如果加热器2在结束之前关闭,则退出状态1!PWM脉冲或如果加热器2仍然在什么时候!PWM脉冲结束关闭加热器2并退出状态2。
|
|
|
|
|
|
有趣的想法鲍勃,但是你本质上是禁用PWM,强迫它运行100%的加热器1或加热器2。如果系统有很多热惯性,那么这可以工作,这由OP决定。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
508 浏览 0 评论
5813 浏览 9 评论
2351 浏览 8 评论
2238 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3544 浏览 3 评论
1161浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1122浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
890浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
508浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 16:36 , Processed in 1.154323 second(s), Total 105, Slave 87 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3499