求助 STM32互補輸出 死區插入

2021-09-24 11:21:50 字數 1950 閱讀 9769

互補輸出 死區 除錯存在問題

使用的是tim1 ch1 ch1n , 目前的問題就是波形的前後死區時間不一樣,根據示波器的測量得知,前面的死區是後面的兩倍。

根據官方手冊可知

**配置如下

tim1_oc.instance               			= tim;

tim1_oc.init.clockdivision = tim_clockdivision_div1;

tim1_oc.init.prescaler = tim_prescaler - 1; // 1us

tim1_oc.init.countermode = tim_countermode_up;

tim1_oc.init.period = tim_period - 1; // 50us

tim1_oc.init.autoreloadpreload = tim_autoreload_preload_disable;

hal_tim_oc_init(&tim1_oc);

sconfigoc.ocmode = tim_ocmode_active;

sconfigoc.pulse = 0 ;

sconfigoc.ocpolarity = tim_ocpolarity_low;

sconfigoc.ocidlestate = tim_ocidlestate_reset;

sconfigoc.ocnpolarity = tim_ocnpolarity_high;

sconfigoc.ocnidlestate = tim_ocnidlestate_reset;

sconfigoc.ocfastmode = tim_ocfast_disable;

hal_tim_oc_configchannel(&tim1_oc, &sconfigoc, tim_channel_1);

sbreakdeadtimeconfig.offstaterunmode = tim_ossr_enable;

sbreakdeadtimeconfig.offstateidlemode = tim_ossi_enable;

sbreakdeadtimeconfig.locklevel = tim_locklevel_2;

sbreakdeadtimeconfig.deadtime = 0xc8;//0xc8; // dead time keep 5us constant

sbreakdeadtimeconfig.breakstate = tim_break_enable;

sbreakdeadtimeconfig.breakpolarity = tim_breakpolarity_high;

sbreakdeadtimeconfig.breakfilter = 0;

sbreakdeadtimeconfig.break2state = tim_break2_enable;

sbreakdeadtimeconfig.break2polarity = tim_break2polarity_high;

sbreakdeadtimeconfig.break2filter = 0;

sbreakdeadtimeconfig.automaticoutput = tim_automaticoutput_enable;

hal_timex_configbreakdeadtime(&tim1_oc, &sbreakdeadtimeconfig) ;

stm32專題二十六 互補輸出 死區剎車

互補輸出 死區剎車 這一部分 主要是初始化3個結構體,包括時基結構體 輸出比較結構體和死區配置結構體,要對照前一篇部落格和中文參考手冊中的暫存器說明來仔細看,如下 bsp advancetim.c include bsp advancetim.h static void advance tim gp...

STM32互補PWM輸出使能控制

1 分享如何使用stm32的定時器互補pwm通道,驅動ipm模組產生三相相差120 的正弦波,可產生旋轉磁場驅動三相電機 2 stm32中tim1 ch1和tim1 ch1n的區別 3 stm32 stm32之timer1產生pwm 互補通道 stm32的高階定時器tim1可以產生互補的pwm,並且...

stm32模擬輸出PPM訊號

ppm訊號週期為20ms,分成10分代表10個通道訊號,也就是2ms代表乙個訊號。0.5ms代表乙個通道訊號的開始,所以0.5ms 2ms為通道範圍控制。led p1 a 8 io口初始化,這裡就不介紹了,推挽輸出 u16 count 0 u16 pwm count 1000 總計數 週期20ms,...