日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 嵌入式大雜燴
[導(dǎo)讀]最近沒有什么產(chǎn)出,嚇得ZhengN翻箱倒柜倒出一些小東西來發(fā)。下面分享一個ZhengN大二時候的一個小玩具,軟硬件都分享給大家,有需要的小伙伴,文末獲取。這個小作品設(shè)計到了強(qiáng)電,不建議沒經(jīng)驗的小伙伴上手,了解了解即可。

最近沒有什么產(chǎn)出,嚇得ZhengN翻箱倒柜倒出一些小東西來發(fā)。下面分享一個ZhengN大二時候的一個小玩具,軟硬件都分享給大家,有需要的小伙伴,文末獲取。

這個小作品設(shè)計到了強(qiáng)電,不建議沒經(jīng)驗的小伙伴上手,了解了解即可。

功能

用STM32控制一個普通燈泡的亮度,一路開關(guān)控制普通燈泡電源的通斷,另外兩路開關(guān)分別控制普通燈泡亮度的增加和減小。

調(diào)光控制器的原理

通過STM32控制雙向可控硅的導(dǎo)通來實現(xiàn)白熾燈(純阻負(fù)載)亮度的調(diào)整。雙向可控硅的特點是導(dǎo)通后即使觸發(fā)信號去掉,它仍將保持導(dǎo)通;當(dāng)負(fù)載電流為零(交流電壓過零點)時,它會自動關(guān)斷。

所以需要在交流電的個半波期間都要送出觸發(fā)信號,觸發(fā)信號的送出時間就決定了燈泡的亮度。

調(diào)光的實現(xiàn)方式就是在過零點后一段時間才觸發(fā)雙向可控硅開關(guān)導(dǎo)通,這段時間越長,可控硅導(dǎo)通的時間越短,燈的亮度就越低;反之,燈就越亮。這就需要提取出交流電壓的過零點,并以此為基礎(chǔ),確定觸發(fā)信號的送出時間,達(dá)到調(diào)光的目的。

1、硬件

控制部分:主控單元以 STM32F103RBT6 單片機(jī)為核心,交流電壓過零點信號提 ? ? ?取電路中產(chǎn)生的同步信號 TB 接到STM32F103RBT6 的 EXTI_Line0,此信號的下降沿將使 STM32F103RBT6 產(chǎn)生中斷,以此為延時時間的起點??刂撇糠质褂玫氖乾F(xiàn)有的最小系統(tǒng)板。

驅(qū)動部分:驅(qū)動部分主要由可控硅組成??煽毓柙陔娐分心軌?qū)崿F(xiàn)交流電的無觸點控制,以小電流控制大電流。動作快、壽命長、可靠性高。所以這里選用的是可控硅。驅(qū)動部分使用的是自己繪制的電路板,電路原理圖:

負(fù)載部分:本電路智能控制純阻負(fù)載白熾燈。

2、軟件

要控制的對象是 50Hz 的正弦交流電,通過光耦取出其過零點的信號(同步信號),將這個信號送至單片機(jī)的外部中斷,單片機(jī)接收到這個同步信號后啟動一個延時程序,延時的具體時間由按鍵來改變。

當(dāng)延時結(jié)束時,單片機(jī)產(chǎn)生觸發(fā)信號,通過它讓可控硅導(dǎo)通,電流過可控硅流過白熾燈,使燈發(fā)光。延時越長,亮的時間就越短,燈的亮度越暗(并不會有閃爍的感覺,因為重復(fù)的頻率為 100Hz,且人的視覺有暫留效應(yīng))。由于延時的長短是由按鍵決定的,所以實際上就是按鍵控制了光的強(qiáng)弱。

經(jīng)過實際調(diào)試得出,延時時間為0~7ms內(nèi)的值。在程序中,我把7ms分割為14等份(實際上,分割的分?jǐn)?shù)越大,調(diào)節(jié)的精度會更高,但是,為了有明顯的現(xiàn)象,取14)。對于按鍵的處理,采用查詢法,并且采用按下一次就響應(yīng)一次的方法,即長按不能連續(xù)調(diào)整。

主程序:

左右滑動查看全部代碼>>>

int?main(void)
{
????GPIO_Configuration();
????USART_Configuration();
????EXTI_Configuration();
????PrintfLogo();
????Bright=14-z;??????????//亮度缺省值為7(通過調(diào)Z間接得到Bright)
????printf("當(dāng)前亮度?=?%?d?\r\n",?Bright);?
????while(1)
????{
?????????//S1(PC6)?調(diào)高燈的亮度
????????if(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_6)?==?Bit_RESET)
????????{
????????????delay_ms(5);??//消除抖動
????????????if(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_6)?==?Bit_RESET)
????????????{
????????????????z--;???
????????????????//等待按鍵釋放
????????????????while(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_6)?==?Bit_RESET);??
????????????????if(z==1)
????????????????{
???????????????????z=14;
????????????????}
????????????????Bright=14-z;
????????????????printf("當(dāng)前亮度?=?%?d?\r\n",?Bright);
?????????????}
????????}
????????//S2(PC7)?調(diào)低燈的亮度
????????if(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_7)?==?Bit_RESET)
????????{
????????????delay_ms(5);??//消除抖動
????????????if(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_7)?==?Bit_RESET)
????????????{
????????????????z++;??
????????????????//等待按鍵釋放
????????????????while(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_7)?==?Bit_RESET);
????????????????if?(z==14)
????????????????{
????????????????????z=1;
????????????????}
????????????????Bright=14-z;
????????????????printf("當(dāng)前亮度?=?%?d?\r\n",?Bright);
????????????}
????????}
????????//S3(PC8)?調(diào)節(jié)燈的亮滅
????????if(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_8)?==?Bit_RESET)
????????{?
????????????delay_ms(5);??//消除抖動
????????????if(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_8)?==?Bit_RESET)
????????????{
????????????????/*S3_Num為S3按下的次數(shù),當(dāng)按下的次數(shù)為奇數(shù)時燈滅
????????????????當(dāng)按下的次數(shù)為偶數(shù)時,燈亮,并且亮度值為默認(rèn)值7*/

????????????????S3_Num=S3_Num+1;
????????????????//等待按鍵釋放
????????????????while(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_8)?==?Bit_RESET);
????????????????if(S3_Num%2==1)
????????????????{
????????????????????__set_PRIMASK(1);??//關(guān)閉總中斷,燈滅
????????????????????printf("燈滅\r\n");
????????????????}
????????????????else
????????????????{
????????????????????__set_PRIMASK(0);??//打開總中斷,燈亮
????????????????????printf("燈亮,且亮度值為默認(rèn)值%?d?\r\n",?Bright);?
????????????????}??????????????
????????????}
????????}
????}
}

外部中斷函數(shù):

void?EXTI0_IRQHandler(void)
{
?????if(EXTI_GetITStatus(EXTI_Line0)!=RESET)????????????
?????{??????????????
?????????delay_us(500*z);???//調(diào)節(jié)z的值來調(diào)節(jié)燈的亮度
?????????GPIO_ResetBits(GPIOC,GPIO_Pin_11);
?????????delay_us(100);
?????????GPIO_SetBits(GPIOC,GPIO_Pin_11);?????????
?????????EXTI_ClearITPendingBit(EXTI_Line0);
?????}
}

驗證:


【資料獲取】公眾號聊天界面回復(fù)調(diào)光控制器,進(jìn)行獲取


軟硬結(jié)合是一件很酷的事情,雖然本公眾號傾向于分享軟件,但是ZhengN對硬件同樣感興趣。等到ZhengN軟件學(xué)有所成之后再重新學(xué)習(xí)一些硬件知識,分享一些軟硬結(jié)合的東西。玩嵌入式,是一輩子的事~

猜你喜歡

學(xué)習(xí)STM32的一些經(jīng)驗分享

我的單片機(jī)轉(zhuǎn)嵌入式Linux之路


1024G 嵌入式資源大放送!包括但不限于C/C++、單片機(jī)、Linux等。在公眾號聊天界面回復(fù)1024,即可免費獲?。?/span>

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉