設為主頁(yè)  加入收藏
 
·I2S數字功放IC/內置DSP音頻算法功放芯片  ·馬達驅動(dòng)IC  ·2.1聲道單芯片D類(lèi)功放IC  ·內置DC/DC升壓模塊的D類(lèi)功放IC  ·鋰電充電管理IC/快充IC  ·無(wú)線(xiàn)遙控方案  ·直流無(wú)刷電機驅動(dòng)芯片
當前位置:首頁(yè)->方案設計
呼吸燈原理(非PWM實(shí)現方式)
文章來(lái)源:永阜康科技 更新時(shí)間:2020/10/16 11:07:00
在線(xiàn)咨詢(xún):
給我發(fā)消息
張代明 3003290139
給我發(fā)消息
小鄢 2850985542
給我發(fā)消息
李湘寧 2850985550
13713728695
 

1.呼吸燈原理分析:模擬人體呼吸,吸氣和呼氣各占1.5S,人眼的圖像滯留時(shí)間0.04s(1/24幀畫(huà)面),按最快0.04s算,就是40ms。亮0.02S,滅0.02s,人眼看到的應該是一直亮(可以實(shí)驗)。

2.呼吸燈程序設計:就是改變這40ms中,亮和滅所占的百分比(40ms相對不柔和,20ms效果柔和)。

亮的百分比多,人眼看到的就亮,反之就是暗(實(shí)驗,為了提高呼吸燈的柔和效果,采用設置20ms一個(gè)周期,20ms內調整亮和滅的比例)

因此程序設計:1.5S需要1500/20=75個(gè)周期,75個(gè)周期中,亮度百分比有0%增長(cháng)到100%,因此每個(gè)周期增長(cháng)時(shí)間為20ms/75=266us(點(diǎn)亮)。熄滅的原理,正好相反,熄滅時(shí)間增長(cháng)。程序中需要兩個(gè)循環(huán),一個(gè)用來(lái)點(diǎn)亮一個(gè)用來(lái)熄滅。3.STM32程序實(shí)現代碼 程序要靈活設計,能夠調整呼吸時(shí)間的長(cháng)短,1.5s這個(gè)參數?梢哉{整柔和度,可以調整40ms這個(gè)周期參數,這樣就實(shí)現了呼吸燈的靈活調整。源代碼先不放出來(lái)了,等做完實(shí)驗放出。 ***********

//=======================================

void LedOnOff(uint32_t t,uint32_t xx) //T代表整個(gè)周期的時(shí)間,xx代表周期中點(diǎn)亮時(shí)間的長(cháng)度

{

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET); //GPIO_PIN_SET

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_SET);

mydely_us(xx); //點(diǎn)亮時(shí)間

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_RESET);

mydely_us(t-xx); //熄滅時(shí)間

}

//*****************

*****************************************

int main(void)

{

int i;

int myLongTime=1500; //ms 呼吸總體時(shí)間

int myshortTime=40; //ms

int myCYC=myLongTime/myshortTime;

delay_init(); //初始化延時(shí)函數

LED_Init(); //初始化LED端口

while(1)

{

for(i=1; i<myCYC; i++)

LedOnOff(myshortTime*1000,i*myshortTime*1000.0/myCYC);

for(i=myCYC; i>1; i-=1)

LedOnOff(myshortTime*1000,i*myshortTime*1000.0/myCYC);

}

}

/*

4.原理分析,

模擬人體呼吸,吸氣和呼氣各占1.5S,人眼的圖像滯留時(shí)間0.04s(1/24幀畫(huà)面)

按最快0.04s算,就是40ms。亮0.02S,滅0.02s,人眼看到的應該是一直亮(可以實(shí)驗)

呼吸燈,就是改變這40ms中,亮和滅所占的百分比。

1500/40=38周期,40ms/37=1052us。38個(gè)周期變比中,每個(gè)周期增長(cháng)1個(gè)單位1052us,38個(gè)周期剛好是40ms.這樣達到全亮

亮的百分比多,人眼看到的就亮,反之就是暗。

利用40ms這個(gè)時(shí)間,目測感覺(jué)有閃爍,減少這個(gè)時(shí)間,變化就會(huì )緩慢,沒(méi)有閃爍感。參考用20ms

//us延時(shí)函數的實(shí)現

void mydely_us(uint32_t count)

{

HAL_TIM_Base_Stop_IT(&htim1);

my_tim1_count=0;

HAL_TIM_Base_Start_IT(&htim1);

while(my_tim1_count<count);

HAL_TIM_Base_Stop_IT(&htim1);

}

void TIM1_UP_IRQHandler(void)

{

/* USER CODE BEGIN TIM1_UP_IRQn 0 */

extern uint32_t my_tim1_count;

my_tim1_count++;

__HAL_TIM_CLEAR_IT(&htim1, TIM_IT_UPDATE);

/* USER CODE END TIM1_UP_IRQn 0 */

//HAL_TIM_IRQHandler(&htim1);

/* USER CODE BEGIN TIM1_UP_IRQn 1 */

/* USER CODE END TIM1_UP_IRQn 1 */

}

5.說(shuō)明

利用HAL庫,默認沒(méi)有辦法實(shí)現us的定時(shí)器,方法是。利用硬件定時(shí)器,產(chǎn)生一個(gè)1us的周期中斷,每進(jìn)入一次中斷,一個(gè)全局變量加1,通過(guò)判斷這個(gè)變量的值,來(lái)確定當前的延時(shí)時(shí)間。6.問(wèn)題:1.HAL庫的執行效率比較低,1us中斷的實(shí)際,還沒(méi)有處理完中斷過(guò)程,因此需要手動(dòng)修改中斷函數,添加__HAL_TIM_CLEAR_IT(&htim1, TIM_IT_UPDATE);屏蔽: //HAL_TIM_IRQHandler(&htim1);這樣中斷處理時(shí)間會(huì )減少很多。2.全局變量的變化,如果總開(kāi)著(zhù)定時(shí)中斷,會(huì )影響正常程序的執行,因此,需要延時(shí)的時(shí)候,開(kāi)啟定時(shí)器,延時(shí)結束,關(guān)閉定時(shí)器

void mydely_us(uint32_t count)

{

HAL_TIM_Base_Stop_IT(&htim1);

my_tim1_count=0;

HAL_TIM_Base_Start_IT(&htim1);

while(my_tim1_count<count);

HAL_TIM_Base_Stop_IT(&htim1);

 
 
 
    您可能對以下產(chǎn)品感興趣  
產(chǎn)品型號 功能介紹 兼容型號 封裝形式 工作電壓 備注
HTR3236 HTR3236是一款36路LED PWM驅動(dòng)器,PWM頻率可固定為3kHz或22kHz。每一路最大輸出電流可通過(guò)外置電阻REXT調節,最大38mA,并 可獨立控制4檔可選。每一路可通過(guò)I2C單獨控制256級細膩亮度調節。 IS31FL3236/SN3218 QFN-44 2.5V-5.5V 36路LED PWM驅動(dòng)器
HTR3218 HTR3218是一款18路LED PWM驅動(dòng)器,PWM頻率可固定為3kHz或22kHz。每一路最大輸出電流可通過(guò)外置電阻REXT調節,最大38mA,并可獨立控制4檔可選。每一路可通過(guò)I2C單獨控制256級細膩亮度調節。 IS31FL3218/SN3218 QFN-24 2.5V-5.5V 18路LED PWM驅動(dòng)器
 
 
    相關(guān)產(chǎn)品  
A3992/HR3992(DMOS全橋PWM串行控制兩相步進(jìn)電機驅動(dòng)IC)
DRV8833/HR8833( 2A低電壓雙路刷式直流或單路雙極步進(jìn)PWM繞組電流調節/限制電機驅動(dòng)器IC)
APA2068(PWM脈寬調制/模擬音量控制/直流音量控制2.6W雙聲道AB類(lèi)音頻功放IC)
 
 
·藍牙音箱的音頻功放/升壓/充電管
·單節鋰電內置升壓音頻功放IC選型
·HT7179 12V升24V內置
·5V USB輸入、三節鋰電升壓型
·網(wǎng)絡(luò )主播聲卡專(zhuān)用耳機放大IC-H
 
M12269 河北發(fā)電機組 HT366 ACM8629 HT338 

業(yè)務(wù)洽談:手機:13713728695(微信同號)   QQ:3003207580  EMAIL:panbo@szczkjgs.com   聯(lián)系人:潘波

地址:深圳市寶安西鄉航城大道航城創(chuàng )新創(chuàng )業(yè)園A5棟307/309

版權所有:深圳市永阜康科技有限公司  備案號:粵ICP備17113496號

在线亚洲人成电影_中文有码国产精品欧美激情_免费大片一级a一级久久三_av天堂东京热无码专区