微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > 第一次用MSP430f5438做稳压电源,但占空比一直在下降,求指导

第一次用MSP430f5438做稳压电源,但占空比一直在下降,求指导

时间:10-02 整理:3721RD 点击:

您好,请问一下,一下是我的程序,想要稳定在一定范围内,但占空比一直在下降,求指导

if(V1<1677)//V1是AD芯片采集回来的数据

     {      

        time1=time1+1; 

            TA1CCR2 =time1;               // TA1CCR0 =800  ,TA1CCR2 =time1, TA1CCTL2 =OUTMOD_7

             TLC2543_read(0x02);     //AD采集的通道  

        }       

     if(V1>1700)

{                   

  time1=time1-1;    

            TA1CCR2 =time1;     

           TLC2543_read(0x02);      

      }              

   if(((V1>1677)&&(V1<1698))!=0)    

          {                  time1=time1;        

                           TLC2543_read(0x02);     

                           }      

     pwm_init();

亲;AD是如何接的?如何避免外界噪音?原理上没问题,可信号离散后;会有很多问题需要注意。建议用示波器看看端口波形。

先跟到代码里看一下V1的值是多少,看占空比下降时因为AD采样的实际结果导致的还是代码不对导致的

我分析有两点:一、if(V1<1677)//V1是AD芯片采集回来的数据;else if(V1>1700);这里不能省else。二、估计AD采样本身就一直是大于1700的,所以占空比一直下降是一直跑了if(V1>1700)这段代码

建议先测量一下要采集的电压,和ad的采样对比,先确定是在哪一段程序出现的问题

http://bbs.ednchina.com/BLOG_ARTICLE_159997.HTM

http://space.ednchina.com/Upload/2008/9/15/7eee04c0-ee10-4790-9623-8de093f79239.pdf

希望对您有所帮助!先从硬件看看再看看软件是否与之匹配。祝好!

不知道楼主的MC寄存器是怎么设置的以及电源输出是怎样的,如果和timer1有关,你在调试的时候电压的大小变化顺序会影响到timer1的大小,

建议结合示波器比较电压大小的变化对占空比造成的影响,逐步调试找出问题的所在

一直下降,肯定在  if(V1>1700)这个语句中,查查V1为啥大于1700,

建议用if...else语句或者switch语句改写上述代码,会更简洁高效易维护。

先跟到代码里看一下V1的值是多少,看占空比下降时因为AD采样的实际结果导致的还是代码不对导致的

(1)先查查硬件连接,用万用表测试一下TLC2543的输入电压。

(2)再比对F5438部分引脚的时序

(3)检查程序,单步调试。

占空比一直在减小,先分析一下减小的原因,从程序上看就是V1>1700,亦或者V1<1700,很久没玩430了,也不是道第七种模式是怎么个输出的,反正就是V1的数据就这这两者里面,不可能跳变,实质就是正反馈,你可以试试将两者的条件换换看看。

先跟到代码里看一下V1的值是多少,看占空比下降时因为AD采样的实际结果导致的还是代码不对导致的

你应该看看AD采集部分有没有问题  。因为你这个是一个反馈系统 只有AD反馈错误了 才有可能导致这种情况的出现。

应该是V1值采样产生的误差,在不断循环过程中,误差越来越大,导致占空比变化,从采样端找找原因

先断开外部电路,将ADC连接到一个固定不动的位置,然后看是否存在占空比下降,这一步先确定问题是出在软件,还是外部电路。

如果是软件问题,那么断开后,仍然存在,这个时候可以检查软件部分,如果固定下来了,那么就是硬件问题。

思路是这样的 先= 要分开来思考

首先,我觉得应该先检查你的V1,你的AD值测量是否正确,是否会达到1677这个阈值,如果测量值本身就有错误,那PWM只向着一个方向变化也就不足为奇了,其次,就是你的PWM这个外设,配置上是否正确,这点也 很重要,还有就是涉及到定时器,不过看情况,没什么关系,最后,最好的办法就是加个仿真器,实时的仿真一下,一目了然了就。

先查看一下待采样的值是否稳定。还有代码中的判断条件是否合适。

你应该首先测一下你的AD采集正常不正常,然后再查控制部分

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top