This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好,我目前將Bi-Directional BuckBoost Converter的範例程式燒錄到035的開發板上,
例程路徑 : C:\ti\controlSUITE\development_kits\TIDM_BUCKBOOST_BIDIR\v1_00_00_00\BuckBoostBiDir_F2803x
再以跳線的方式將ADC和PWM訊號連接到我的BuckBoost板子的腳位上,
我在輸入電壓40V,Gui_VoutSet設置30V的情況下執行程式,輸出電壓Gui_Vout都是維持在2.8V,
我將Gui_VoutSet設置提高到40V、50V、60V等情況,結果發現DUTY一直維持在0.65,DutyBuck維持在1,DutyBoost維持在0.31不會改變,而輸出電壓依舊是2.8V,
Gui_Vpv和Gui_Vout偵測到的值都和量測的結果差不多,照理說我改變Gui_VoutSet,Duty會跟著改變,而輸出會調整到和Gui_VoutSet一樣的電壓值,
想請問Duty都不會改變這樣的請況是甚麼問題?
BuckBoost板子是依照此例程的電路設計,零件數值也是,
CCS版本12.1.0
Katherine 你好,
我運行在OPEN_LOOP = 0的代碼,想請問一下此例程有預設的Duty的最大值和溫度保護嗎?
3p3z在Duty的計算上是根據Gui_VoutSet設定的值還是根據Gui_Vout偵測到的值呢?
我目前嘗試在輸出給予20V的電壓,並將Gui_VoutSet設定為30V,Duty依然沒有改變
在main.c 1124行中有看到過電壓的保護
請問_IQ24(0.8)在十進制中表示為多少呢?
也就是當VIN和VOUT大於多少電壓時會有保護,
想知道_IQ如何是如何轉換為十進制的值
在IQmathLib.h中有設定_IQ24的運算,當_IQ24(0.8)時 = 0.8 * 16777216 = 13421772.8 是正確的嗎?
看起来代码确实将 3p3z DCL 函数的最大输出值设置为 0.65。这可以在 main.c 文件的第 1021 和 1031 行中看到。
从项目随附的 Gain_Worksheet 来看,最大duty似乎并未超过 0.55。
此外,DCL 库的用户指南位于:
C:\ti\controlSUITE\libs\app_libs\digital_power\f2802x_v3.5\Doc
了解,謝謝,
關於上述過電壓保護的_IQ24值再麻煩詢問一下,
還有一個問題是關於輸出電壓的設置,當我Gui_VoutSet起始值設太高(大於15V)時,程式是不會動作的,如果剛開始設15V再慢慢5V的往上增加是可以提高輸出電壓,如果一次提升10V輸出就會瞬間回到0,而且越靠近duty的上限時,一次甚至只能提高1V的輸出,請問這樣的情況是甚麼問題呢?
已为您在E2E英文论坛询问工程师,稍后给您回复,您也可以访问e2e.ti.com/.../tms320f28035-buckboostdir_f2803x关注最新进展
_IQ24(0.8)在十進制中表示為多少呢
这仍然是 0.8。 IQ 数学库仅以定点格式表示十进制值,以便 CPU 能够进行浮点计算。 IQnn中的nn只是指用来表示十进制数的二进制位数。如果您感兴趣,请在此处了解更多信息:
C:\ti\c2000\C2000Ware_4_03_00_00\libraries\math\IQmath\c28\docs\IQmath_Quickstart.pdf
也就是當VIN和VOUT大於多少電壓時會有保護,
代码的注释可以写得更好一些(顺便说一句,代码不是我写的),但我相信 Vout_Read 最大值可以解释为 0.8 * VOUT_MAX_SENSE,定义为 110.22V。这意味着如果电压超过 88V,代码将关闭 PWM。硬件(为 ADC 测量 VOUT 供电的电阻分压器)可能的设计是,当 110.22V 施加到 VOUT 时,12 位 ADC 将输出最大代码 4096。
从您的原始屏幕截图中可以看到进一步的证据。当您设置 Gui_VoutSet = 30 时,Vout_Ref 设置为 30/110..22 = ~0.2721。
我相信正在发生的事情是,比如您要求软件从 0 变为 15V时,补偿器(下图中的 CNTL_3P3Z)过度补偿以使 VOUT 尽快达到 15V。这可能意味着,暂时将占空比设置为高于达到 15V 所需的值。可能是瞬时过度补偿触发了电压过保护或软件中包含的其他一些保护。
您实际上可以在代码中实现某种类型的软启动。您需要在计算 Gui_VoutSet-Gui_Vout 的软件中添加一些检查并将差异限制为您指定的某个增量值,即 1V。然后您可以以 1V 的增量继续提高输出电压。您可以在一个较慢的后台循环中运行它,也许是 A1,其中 Gui_VoutSet 被转换为 Vout_Ref_DC。
//================================================================================= // A - TASKS //================================================================================= //-------------------------------------------------------- void A1(void) //-------------------------------------------------------- { // state ==1 Vout_Ref_DC=(long)(_IQ20mpy(Gui_VoutSet,VOUT_SENSE_MAX_INV))<<4;
这是我们在其他项目中如何进行软启动的示例。
slew = BUCK_vOutTarget_pu - BUCK_vOutSet_pu; if(slew > BUCK_VOUT_SLEW_MAX_PU) { BUCK_vOutSlewed_pu += BUCK_VOUT_SLEW_MAX_PU; } else if(slew < (0 - BUCK_VOUT_SLEW_MAX_PU)) { BUCK_vOutSlewed_pu -= BUCK_VOUT_SLEW_MAX_PU; } else { BUCK_vOutSlewed_pu = BUCK_vOutTarget_pu; }
你好,我有在A1 下加入軟啟動了,Vout_slew_max設為1.0,但是發現VoutSet起始大於15V就不動作的問題依然沒有解決,是哪一部份編程需要修改嗎?
您的代码存在一些问题。
#define Vout_slew_max _IQ20(1.0)
slew = Gui_VoutSet - (Gui_Vout << 4);
最后,VoutSlewed_pu 将替换第 933 行中的 Gui_VoutSet。否则第 914 至 930 行无效。
Vout_Ref_DC=(long)(_IQ20mpy(VoutSlewed_pu,VOUT_SENSE_MAX_INV))<<4;
您可以尝试以下方法:
1.我嘗試將Vout_slew_max逐漸調小,甚至到0.1,依然無法解決此問題;接者發現原本程式VouSet設定在15V時都可以輸出,但是加上軟啟動後反而可能讓VoutSet在15V時無法輸出。
2.以下是我在輸入20V,輸出為0V和15V的情況,發現我的電流偵測到的值似乎有問題,Ipv和Iout為負值,Iout始終為-8.9。
3.其中我發現調整Duty的上限值也會影響是否有輸出,這是不是代表當VoutSet設定太高時會瞬間超過Duty的上限而導致沒有輸出呢?
如果是這樣,我應該怎麼將軟啟動限制Duty的值。
4.如果我想改3p3z的補償值,我應該如何調整其中的係數值呢?
1.我嘗試將Vout_slew_max逐漸調小,甚至到0.1,依然無法解決此問題;接者發現原本程式VouSet設定在15V時都可以輸出,但是加上軟啟動後反而可能讓VoutSet在15V時無法輸出。
软启动代码可能仍然存在一些错误,您将需要对此进行更多调试。我需要更多调试信息才能在此提供解决方案/建议。
2.以下是我在輸入20V,輸出為0V和15V的情況,發現我的電流偵測到的值似乎有問題,Ipv和Iout為負值,Iout始終為-8.9。
这看起来不对, Iout 从 ADCIN-A4 读取。您看过电路板上电流检测运算放大器的输出吗?
3.其中我發現調整Duty的上限值也會影響是否有輸出,這是不是代表當VoutSet設定太高時會瞬間超過Duty的上限而導致沒有輸出呢?
如果是這樣,我應該怎麼將軟啟動限制Duty的值。
您能具体说明您在哪里做这个调整吗?您不必限制Duty值。软启动将限制增益步长,进而限制占空比步长。
顺便说一句,您是否检查过代码中是否超出了这个限制?如果您在这里放置一个断点,代码会停在这里吗?
// BackGroundISR with MPPT code interrupt void BackGroundISR() { //Protection for over voltage if(Vpv_Read>_IQ24(0.8) || Vout_Read>_IQ24(0.8)) { EALLOW; EPwm1Regs.TZFRC.bit.OST=1; EPwm2Regs.TZFRC.bit.OST=1; EDIS; }
4.如果我想改3p3z的補償值,我應該如何調整其中的係數值呢?
此时,尚不清楚问题的根本原因是什么,因此修改补偿器系数可能最终无法解决任何问题。
软启动代码可能仍然存在一些错误,您将需要对此进行更多调试。我需要更多调试信息才能在此提供解决方案/建议。
我設定Vout_slew_max在0.9,輸入15V時可以直接將VoutSet設定在30V,但是在輸入25V時直接將VoutSet設定在30V會將Vout瞬間上升到23V左右後逐漸降至2~3V(未完全歸零),我在Vout_slew_max從1.0、0.9....降到0.1的情況下Vout依然會下降,當Vout_slew_max小於0.3時Vout就停在2~3V;接者我在Vout_slew_max設定0.9~0.7時輸入25V,VoutSet設定在20V,Vout會直接升到23V後逐漸降至2~3V,然後我將Vout_slew_max設定0.6時Vout可以維持在20V。
这看起来不对, Iout 从 ADCIN-A4 读取。您看过电路板上电流检测运算放大器的输出吗?
量測ADC_A4的電壓為:
Vin Vout A4
25 15 0.146
25 20 0.146
25 15 0.145
15 20 0.145
15 25 0.145
在改變輸入和輸出電壓的情況下,A4的電壓都維持在0.145V左右。
您能具体说明您在哪里做这个调整吗?
我是修改Dmax_V的值,原本設定為0.65,我改為0.85。
您是否检查过代码中是否超出了这个限制?如果您在这里放置一个断点,代码会停在这里吗?
我在Voutset為30V而導致輸出下降時有去觀察EPwm1Regs.TZFRC.bit.OST的值,這時候的值為0,並非為1;我放置一個斷點,代碼不會停在這裡。
此时,尚不清楚问题的根本原因是什么,因此修改补偿器系数可能最终无法解决任何问题。
目前我的電路在執行程式時開關會有聲音,在輸出加上了一顆220uF的電容後聲音就消失了,再加上上述提到的過度補償的問題,因此懷疑可能是補償的問題。
您是否尝试过用户指南中描述的测试设置? 比如VIN=60V、Vout = 40、55、60、65V 时 50Ohm 负载的输出电压控制?只是想知道这是否有效。
要调整补偿器,我建议您使用 SFRA + compensation designer。
1. 构建在 OPEN_LOOP 中运行的代码。
2. 根据需要设置测试环境(VIN、负载)。
3. 手动调整占空比,直到达到所需的 Vout。
4. 运行SFRA收集工厂数据,保存数据。
5. 在补偿器设计器上加载工厂数据并调整 DC 增益、极点和零点,直到达到所需的带宽、增益裕度和相位裕度。
6. 将新系数复制到软件中。
7. 使用新系数在 OPEN_LOOP = 0 中构建软件。
VIN=60V、Vout = 40、55、60、65V 时 50Ohm 负载的输出电压控制?
我有測試過以上的電壓,原本的程式是沒有辦法直接將VoutSet設定在40V以上的電壓,設定軟啟動後VoutSet可以直接設定在40V,但是40V以上的電壓就沒辦法了。
手动调整占空比,直到达到所需的 Vout。
我有在Open Loop中去手動調整占空比,發現也有一樣的問題,占空比初始只能設定0.1,接者再0.05的慢慢往上增加;如果初始占空比設置大於0.1,輸出就會掉到2.5V左右。
我再次測試於Open_Loop下手動調整占空比,發現初始設定0.1也沒辦法讓輸出上升,這樣是不是代表不是回授補償的問題呢?
我目前是將程式燒錄至開發板再跳線連接至主板上,不曉得這樣是否會造成以上的異常。
您是说通过跳线将 MCU 上的 PWM 和 ADC 连接到主板吗?
我又看了一眼代码。那里有一些代码可以配置比较器以触发 PWM 以进行保护。 COMP1 和 COMP2 都被使用。根据数据表,COMP1 连接到 A2/B2,COMP2 连接到 A4/B4。
代码指定内部 DAC 用于两者,所以我预计只有 A2 和 A4 被监控。根据设计指南,A2 用于测量面板电流反馈 (IPV),A4 用于测量输出电流 (IOUT)。由于您设置中的当前值看起来不正确,我想知道这是否会使 PWM 跳闸以停止切换?您能检查每个比较器中的 COMPSTS 寄存器吗?
您是说通过跳线将 MCU 上的 PWM 和 ADC 连接到主板吗?
對的
您能检查每个比较器中的 COMPSTS 寄存器吗?
我在輸入25V,VoutSet設定在20V,輸出電壓掉到2.77V的情況下檢查COMPSTS寄存器中的值
我發現我的電路中輸出電流的OP倍數錯誤,更換其中一個電阻值後可以偵測到電流值,只是誤差比較大。
在加入軟啟動後,在輸出電壓掉下來的情況,我發現Duty會在上限值和0之間跳動,但實際量測PWM的輸出是沒有值的。
我在開回路時輸入50V,輸出30V,使用SFRA GUI掃描带寬、增益裕度和相位裕度,發現波型和user guide的波型完全不一樣。
我量測的: Vin = 50V Vout=30V
user guide:
其中輸出負載為50歐姆要如何設置呢? 我和user guide的波型不同是因為50歐姆的關係嗎
已将您的最新疑问转达至E2E疑问论坛,您也可以访问https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1196560/tms320f28035-buckboostdir_f2803x关注最新进展
这些测量误差看起来很大,我们需要更多调试。不确定“负载机”是什么意思。
现在我想专注于 OPEN_LOOP 测试。我没有关注下面的这两个情节。想与您确认一下:
volatile long DutyBuck,DutyBoost,Duty,DutyZero,DutyBuck2,DutyBoost2;
这里需要注意的是,Duty 应该写成 IQ24() 值。下面介绍如何将flow转换为IQ值。
下面的代码和表格给出了预期的 PWM 占空比。
// All the value are emperically determined // The focus is to keep the gain curve monotonically increasing #define BUCK_MODE_MAX_GAIN _IQ24(0.9) #define CONSTBOOST_MODE_MAX_GAIN _IQ24(0.95) #define CONSTBUCK_MODE_MAX_GAIN _IQ24(1.05) #define CONSTBOOST_MODE_DUTY_VAL _IQ24(0.07) #define CONSTBUCK_MODE_DUTY_VAL _IQ24(0.907) #define C1_VAL _IQ24(0.041) #define C2_VAL _IQ24(0.87) #define C3_VAL _IQ24(0.982)
例如,在 Duty = 0.1 时,PWM1A 占空比应为 10%,PWM2A 占空比应为 0%。
Open loop
Ch1: Vout Ch2: PWM1
Vin: 50V Vout: 2.3V loading: 0A Duty: 0.1
Vin: 50V Vout: 2.4V loading: 0A Duty: 0.05
CH2 的分辨率是多少?看起来像 20mV/div?为什么会这么小呢?
以下情況是我設置高的輸出電壓時,輸出沒有上升到設定值,只有緩慢的上升到2V的電壓,當時沒有觀察到分辨率設置多少
对于编程的Duty,代码计算出的DutyBuck和DutyBoost(使用CCS查看)和PWM1A和PWM2A引脚上测得的PWM占空比分别是多少呢?
Duty為0.1
CCS:DutyBuck為0.2 DutyBoost為0
量測:PWM1A為0.17 PWN2A為0
您好,
CH2 的分辨率是多少?看起来像 20mV/div?为什么会这么小呢?以下情況是我設置高的輸出電壓時,輸出沒有上升到設定值,只有緩慢的上升到2V的電壓,當時沒有觀察到分辨率設置多少
这里的问题是CH2应该是 PWM1,是一个数字信号,而20mV/div 的分辨率对于数字信号是没有意义的。 即使在新示波器上,数字信号上的峰值也是~400mV。 您是否在某个分压器之后探测 PWM 信号? 250kHz 的开关速率是合理的。
Duty為0.1
CCS:DutyBuck為0.2 DutyBoost為0
好的这里没问题。根据design guide,当 Duty=0.1时,代码以降压模式运行。 在此模式下,降压 PWM 将设置为 Duty*2,而升压 PWM 将设置为0。 因此您这里测量的占空比是合理的。 需要注意的几点:1. 由于死区设置,测量 PWM 占空比不会恰好为 Duty*2。2. 编程的占空比始终乘以2。
Code from BuckBoostBiDir-DPL.asm.
- LSL (left shift, i.e. multiply x 2)
- ZAPA (zero ACC)
MOVW DP,#(_Duty) MOVL ACC,@_Duty LSL ACC,#1 MOVL @XAR0,ACC CMPL ACC,@_BuckModeMaxGain B BUCK_MODE, LT CMPL ACC,@_BrAModeMaxGain B BRIDGE_MODE_A,LT CMPL ACC,@_BrBModeMaxGain B BRIDGE_MODE_B,LT B BOOST_MODE, UNC BUCK_MODE: MOVL ACC,@XAR0 MOVL @_DutyBuck,ACC ZAPA MOVL @_DutyBoost,ACC
如 GainWorksheet,最好能逐渐增加占空比并测量由此产生的 Vout。 对于给定的 Vin,最好应该能够确定功率级的运行方式是否符合预期。
Hi Cherry,
您是否在某个分压器之后探测 PWM 信号?
這部分我是直接量測PWM訊號,沒有在外加分壓器
如 GainWorksheet,最好能逐渐增加占空比并测量由此产生的 Vout。 对于给定的 Vin,最好应该能够确定功率级的运行方式是否符合预期。
我在開迴路的時候初始的Duty只能設定在0.02,接著也是0.02的比例慢慢往上加,如果直接設定到0.1或往上加Duty的比例增加,輸出會升到2V,不會再往上升;當我Duty慢慢往上升到Boost的模式時,輸出就掉到2V了
我在開回路時輸入50V,輸出30V,使用SFRA GUI掃描带寬、增益裕度和相位裕度,發現波型和user guide的波型完全不一樣。
我量測的: Vin = 50V Vout=30V
請問SFRA的問題,這部份是我使用SFRA的方法不對還是補償的問題,也想知道為什麼我使用compdesigner調整3p3z的係數後顯示為"stable loop",但是卻沒辦法穩定輸出設定值
我有一件事情沒有注意,由於原本的設計電路在輸出電壓時MOS總是會有聲音,當輸出電壓越調越高的時候會導致MOS燒毀,因此在輸出加上了一顆220uF的電容,加了之後MOS就沒有聲音了,也不會燒掉。
今天嘗試把電容拿掉,發現Vin 42V,VoutSet設定為30V時可以將電壓穩定在30V,但是MOS依然有聲音,當輸出調到40V時MOS就不行了,接著我將220uF的電容裝上,發現VoutSet設定為30V時輸出電壓升不上去,只能5V的往上增加,但是MOS是沒有聲音的。
以下是Vin 42V,Vout 30V,輸出加上10uF、220uF電容和沒有加電容時PWM1A和PWM1B的波形
無電容:
10uF電容:
220uF電容(無法直接升到30V):
下面是我在加上220uF電容的情況下,將VoutSet以5V的電壓逐漸往上增加至30V的波型
220uF電容:
發現加上電容濾掉雜訊後訊號變得更穩定,但是就會出現初始VoutSet無法設太高的問題(開迴路的Duty也是)
同時我進行SFRA的掃瞄
Vin 42V,Vout 30V,無加載、無電容:
Vin 42V,Vout 20V,加載50歐姆、無電容:(Vout 30V時加載,輸出會直接掉到0V)
請問我應該在輸出加上一個小於220uF、適中容值的電容嗎?讓MOS穩定又不影響VoutSet的設定,
還有加載的問題,想知道加載時電壓會掉到0V的問題如何解決。
謝謝!!
Hi,
请见以下工程师答复:
這部分我是直接量測PWM訊號,沒有在外加分壓器
Do you have an explanation as to why the amplitude of the signal is so small even though the MCU has 3.3V I/O?
我在開迴路的時候初始的Duty只能設定在0.02,接著也是0.02的比例慢慢往上加,如果直接設定到0.1或往上加Duty的比例增加,輸出會升到2V,不會再往上升;當我Duty慢慢往上升到Boost的模式時,輸出就掉到2V了
This is not expected behavior. Can you debug this further? What is the status of the PWM outputs when the duty is set to 0.1? If the PWM outputs are stopped, can you verify if a trip condition has been set and the root for that trip condition (overcurrent, overvoltage, etc.)?
我有一件事情沒有注意,由於原本的設計電路在輸出電壓時MOS總是會有聲音,當輸出電壓越調越高的時候會導致MOS燒毀,因此在輸出加上了一顆220uF的電容,加了之後MOS就沒有聲音了,也不會燒掉。
Can you indicate on the schematic where this capacitor placed and where the signal is being measured?
Thanks.
This is not expected behavior. Can you debug this further? What is the status of the PWM outputs when the duty is set to 0.1? If the PWM outputs are stopped, can you verify if a trip condition has been set and the root for that trip condition (overcurrent, overvoltage, etc.)?
Do you have an explanation as to why the amplitude of the signal is so small even though the MCU has 3.3V I/O?
以上問題可能是我在輸出端加上220uF的電容所導致,因為我拿掉電容後,在開迴路調整Duty和閉迴路調整VoutSet值,輸出不會再掉到2V,至於為什麼在掉到2V時的訊號振福這麼小,我認為這時候其實已經沒有訊號了(Duty = 0),這些抖動是我將解析度方大後看到的雜訊。
Can you indicate on the schematic where this capacitor placed and where the signal is being measured?
Let me clarify my question on the PWM output signal amplitude. Are your scope snapshot below showing the PWM amplitude is 400mV? The amplitude should be closer to 3.3V.
Where are the PWM outputs being measured? If possible, the PWM outputs should be measured at TP118, TP119, TP126, and TP127. I am assuming these test points are present on the your hardware. The 200uF capacitor added the output of the buck-boost power stage should not have an effect on the PWM signal amplitude.
以上問題可能是我在輸出端加上220uF的電容所導致,因為我拿掉電容後,在開迴路調整Duty和閉迴路調整VoutSet值,輸出不會再掉到2V,至於為什麼在掉到2V時的訊號振福這麼小,我認為這時候其實已經沒有訊號了(Duty = 0),這些抖動是我將解析度方大後看到的雜訊。
Yes, of course, if a trip condition has been created due to overcurrent, overvoltage, or similar, the PWMs will stop switching and they will go to 0V. However, when there is no trip condition and the PWMs are switching normally, the signal amplitude should be closer to 3.3V. All your scope waveforms of the PWM outputs show this ~400mV amplitude. I want to make sure the UCC gate drivers in the buck-boost power stage are getting the correct PWM signal amplitude.
I also want to make clear that the focus should be to get the hardware and software working in OPEN LOOP. We need to be able to raise the duty cycle to any point and operate the circuit in buck or boost stage. If this cannot work, then there is no chance to get the design to work in closed loop.
Where are the PWM outputs being measured?
是的,我的測試點和圖中一樣
when there is no trip condition and the PWMs are switching normally, the signal amplitude should be closer to 3.3V.
我了解你的意思了,訊號振幅會這麼小的關係是因為我的探棒將訊號縮小了10倍,重新量測一次波形後,訊號振幅確實在3.3V
Hi,
Yes, that pulse is to charge the bootstrap capacitor. The code for that is include in BuckBoostBiDir-DPL.asm.
Can you please configure the test setup as described in section 5.1 Hardware Setup Instructions of the design guide. Specifically, Vin=60V and Load = 50Ohms.
The code needs to be configured in OPEN_LOOP = 1. The duty can be gradually increased and PWM duty cycles and Vout can be measured manually. We need to obtain stable results in this test setup before moving on.
We want to ask about the load you are using too. Can we clarify what is this load in your setup? If it is some big wirewound resistor, the inductance in that device may affect the operation of the circuit in CLOSED loop. In fact, for this OPEN_LOOP test, you can operate the system WITHOUT a load since the control loop is disabled.
我在OPEN LOOP下輸入60V(無負載),手動調整DUTY,以下DUTY分別為0.1、0.2和0.3,發現在0.2以上DUTY會自動關閉
DUTY:0.1
DUTY:0.2
DUTY:0.3
設置中的負載是什麼
我使用的是以下的電子負載機給予負載
Hi,
All indications point to the PWMs being tripped. I took another look at the code and the MCU comparators are being configured to monitor the Ipv and Iout currents. If the currents exceed some value, the PWMs will automatically trip. Can you check the EPwm1Regs.TZFLG.bit.DCAEVT1 and EPwm1Regs.TZFLG.bit.DCBEVT1 flags when the code stops in OPEN_LOOP=1 and Duty>0.2?
You previously reported the following voltages at ADC-A4. These look completely wrong. This could be the source of the trip for the system. For reference, ADC-A4 at 0A should be about 1.65V.
量測ADC_A4的電壓為:
Vin Vout A4
25 15 0.146
25 20 0.146
25 15 0.145
15 20 0.145
15 25 0.145
在改變輸入和輸出電壓的情況下,A4的電壓都維持在0.145V左右。
Can you check the EPwm1Regs.TZFLG.bit.DCAEVT1 and EPwm1Regs.TZFLG.bit.DCBEVT1 flags when the code stops in OPEN_LOOP=1 and Duty>0.2?
我發現DCBEVT1變為1
ADC-A4 at 0A should be about 1.65V
是的,這個問題我目前已經解決了,現在是1.65V
您好,请看以下回复:
If EPwm1Regs.TZFLG.bit.DCBEVT1 = 1, then that means the comparator is still detecting a bad current reading from ADC-A4. You need to debug the input to the ADC and determine the root cause.