关于TL494输出PWM频率可调的问题
<p>本人负责的产品为控制器,外部连接不同类型的配套负载。目前负载中放置一个不同阻值的下拉电阻,控制器通过电阻分压的的方式实现负载型号的识别。但是对3.3V进行分压,但受限于的电压范围及误差精度,按照0.1V一档才30种,很难做到扩充种类,因此打算使用TL494搭建外围电路,通过外接的阻容,匹配不同的RC值(外接电阻R和板端的C805),使得TL494晶振频率不同,输出的PWM的频率也就不同(TL494的8管脚),这样可以无限扩充种类。但是测试后发现两个问题:(1)手册上写 f=1/RC ,但是实测理论100khz,实际才10khz;(2)输出的频率不稳定,每次都有一定范围的跳变,通过使用示波器观察,比如10KHZ会在9.3KHZ~10.5KHZ变化,因此很难通过MCU识别频率的方式进行型号区分,或者这个频率的误差范围就得设计的足够大,但是这就造成相应的种类就会少很多。附件为电路图,请各位大神帮忙,看看是哪里设计的不对造成的??????????????求助求助求助</p><div style="text-align: center;"></div>
<p> </p>
<p>目前负载中放置一个不同阻值的下拉电阻,控制器通过电阻分压的的方式实现负载型号的识别。但是对3.3V进行分压,但受限于的电压范围及误差精度,按照0.1V一档才30种,很难做到扩充种类,,,</p>
<p> </p>
<p>可以考虑数字方式,用单片机类的控制方案,在控制器中集成一个高分辨率的ADC,用来测量电阻分压后的电压。</p>
<p>即实际频率只有理论频率的十分之一,可能是TL494的预分频器设置不正确。</p>
<p>TL494有一个内置的预分频器,可以将输入时钟频率分频。要检查你的TL494的预分频器设置,确保它是按照设计要求设置的。</p>
<p>楼主的目标,是每个负载中放置一个元件或者器件,实现负载型号的识别。用分压电阻不理想,打算用TL494配置不同电阻测量其振荡频率来识别。</p>
<p>TL494振荡频率相当不稳定,温度变化就可以使其振荡频率变化1%以上。所以用TL494不是好主意。何况TL494必须有个直流电源供电才能够产生振荡。</p>
本帖最后由 maychang 于 2024-7-3 18:31 编辑
<p>楼主要识别不同的负载,可以考虑每个负载中安装一枚存储器芯片,而且最好是串行的。一个字节就可以分辨256种,存储芯片容量再小,也可以存储256字节,已经是电阻分压30种的2000多倍。这应该足够楼主用了。何况还有更大容量的24C64等。</p>
<p>当然,用无线芯片更好,不过读写器比较麻烦,比较难于自制。24C02这类芯片是IIC总线,很容易与单片机配合。</p>
<div class='shownolgin' data-isdigest='no'>maychang 发表于 2024-7-3 18:14
当然,用无线芯片更好,不过读写器比较麻烦,比较难于自制。24C02这类芯片是IIC总线,很容易与单片机配合。 ...
<p>但是IIC需要4根线,受到接口的管脚的限制,只留给我一根信号线和一根GND线,没有富裕接口了……哎</p>
</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <div class='shownolgin' data-isdigest='no'>maychang 发表于 2024-7-3 18:00
楼主的目标,是每个负载中放置一个元件或者器件,实现负载型号的识别。用分压电阻不理想,打算用TL494配置 ...
<p>对,是您说的这个意思,但是我的TL494和外围电路都是在控制器中板子上进行搭建,板子上已经有5V、3.3V等电源了。只是其外围电路的R这一个器件连接到负载中,进行了外接处理</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>piero198800 发表于 2024-7-4 08:59
对,是您说的这个意思,但是我的TL494和外围电路都是在控制器中板子上进行搭建,板子上已经有5V、3.3V等 ...
<p>【但是IIC需要4根线,受到接口的管脚的限制,只留给我一根信号线和一根GND线,没有富裕接口了】</p>
<p>【只是其外围电路的R这一个器件连接到负载中,进行了外接处理】</p>
<p>原来你的负载上只允许放一支电阻,根据电阻值判断负载的编号。这绝对不是一个好主意。</p>
<p>只有一根信号线和一根地线,当然也能够进行通讯,但相当麻烦。比改用I/O口更多的单片机更麻烦,还不如改用I/O口更多一些的单片机。</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>piero198800 发表于 2024-7-4 08:59
对,是您说的这个意思,但是我的TL494和外围电路都是在控制器中板子上进行搭建,板子上已经有5V、3.3V等 ...
<p>如果只允许负载上有一个电阻,必须根据此电阻的数值来判断负载编号,还不如改用电子标签(RFID)。至于读卡器怎么和单片机接口,交给布置任务的上司去处理。</p>
<p> </p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>piero198800 发表于 2024-7-4 08:59
对,是您说的这个意思,但是我的TL494和外围电路都是在控制器中板子上进行搭建,板子上已经有5V、3.3V等 ...
<p>其它方法还包括:条形码,二维码。当然必须配备相应的读码器。这样更麻烦。</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>piero198800 发表于 2024-7-4 08:59
对,是您说的这个意思,但是我的TL494和外围电路都是在控制器中板子上进行搭建,板子上已经有5V、3.3V等 ...
<p>据我看,用TL494来判断负载编号,从成本上不如负载上装一片串行存储芯片,控制器里面增加一片单片机。此单片机可以是很简单的很便宜的单片机,只要能够读写24C02(具有或者模仿IIC总线)即可。此单片机作为你那个控制器中单片机的下位机(从机),与上位机(主机)可以只用一条线通讯。</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>piero198800 发表于 2024-7-4 08:59
对,是您说的这个意思,但是我的TL494和外围电路都是在控制器中板子上进行搭建,板子上已经有5V、3.3V等 ...
<p>一片存储芯片,加上一片几毛钱的单片机,硬件成本大约一元多。比用一片TL494加上高精度外围元件以产生准确的频率,便宜多了。</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'><p>494甚至其它VF方案都不如直接识别电压的精度,电压识别精度不足时,VF方案一定更不足,故楼主的思路为死路。</p>
<p>单IO识别负载,最好的办法是用单线总线与负载通讯。不过,既然是控制器,能采取的识别方案不排除仅单IO,楼主不妨先说说完整的控制接口。</p>
</div><script>showreplylogin();</script>
页:
[1]