欧美在线专区-欧美在线伊人-欧美在线一区二区三区欧美-欧美在线一区二区三区-pornodoxxx中国妞-pornodoldoo欧美另类

position>home>Basketball

基于STM32實現的普通燈泡調光控制器

[導讀]最近沒有什么產出,基于嚇得ZhengN翻箱倒柜倒出一些小東西來發。普通下面分享一個ZhengN大二時候的燈泡調光一個小玩具,軟硬件都分享給大家,控制有需要的基于小伙伴,文末獲取。普通這個小作品設計到了強電,燈泡調光不建議沒經驗的控制小伙伴上手,了解了解即可。基于

最近沒有什么產出,普通嚇得ZhengN翻箱倒柜倒出一些小東西來發。燈泡調光下面分享一個ZhengN大二時候的控制一個小玩具,軟硬件都分享給大家,基于有需要的普通小伙伴,文末獲取。燈泡調光

基于STM32實現的普通燈泡調光控制器

這個小作品設計到了強電,不建議沒經驗的小伙伴上手,了解了解即可。

功能

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

調光控制器的原理

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

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

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

1、硬件

控制部分:主控單元以 STM32F103RBT6 單片機為核心,交流電壓過零點信號提 ? ? ?取電路中產生的同步信號 TB 接到STM32F103RBT6 的 EXTI_Line0,此信號的下降沿將使 STM32F103RBT6 產生中斷,以此為延時時間的起點。控制部分使用的是現有的最小系統板。

驅動部分:驅動部分主要由可控硅組成。可控硅在電路中能夠實現交流電的無觸點控制,以小電流控制大電流。動作快、壽命長、可靠性高。所以這里選用的是可控硅。驅動部分使用的是自己繪制的電路板,電路原理圖:

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

2、軟件

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

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

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

主程序:

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

int?main(void)
{
????GPIO_Configuration();
????USART_Configuration();
????EXTI_Configuration();
????PrintfLogo();
????Bright=14-z;??????????//亮度缺省值為7(通過調Z間接得到Bright)
????printf("當前亮度?=?%?d?\r\n",?Bright);?
????while(1)
????{
?????????//S1(PC6)?調高燈的亮度
????????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?\r\n",?Bright);
?????????????}
????????}
????????//S2(PC7)?調低燈的亮度
????????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?\r\n",?Bright);
????????????}
????????}
????????//S3(PC8)?調節燈的亮滅
????????if(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_8)?==?Bit_RESET)
????????{ ?
????????????delay_ms(5);??//消除抖動
????????????if(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_8)?==?Bit_RESET)
????????????{
????????????????/*S3_Num為S3按下的次數,當按下的次數為奇數時燈滅
????????????????當按下的次數為偶數時,燈亮,并且亮度值為默認值7*/
????????????????S3_Num=S3_Num+1;
????????????????//等待按鍵釋放
????????????????while(GPIO_ReadInputDataBit(GPIOC,?GPIO_Pin_8)?==?Bit_RESET);
????????????????if(S3_Num%2==1)
????????????????{
????????????????????__set_PRIMASK(1);??//關閉總中斷,燈滅
????????????????????printf("燈滅\r\n");
????????????????}
????????????????else
????????????????{
????????????????????__set_PRIMASK(0);??//打開總中斷,燈亮
????????????????????printf("燈亮,且亮度值為默認值%?d?\r\n",?Bright);?
????????????????}??????????????
????????????}
????????}
????}
}

外部中斷函數:

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

驗證:


【資料獲取】公眾號聊天界面回復調光控制器,進行獲取


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

猜你喜歡

學習STM32的一些經驗分享

我的單片機轉嵌入式Linux之路


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

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

Popular articles

主站蜘蛛池模板: 88国产精品欧美一区二区三区| 成年女人黄小视频| 亚洲欧美精品一中文字幕| 性一交一乱一伦一| 草莓污视频在线观看午夜社区| 欧美三级在线免费观看| 精品一区二区久久久久久久网站| 黑人解禁在线| 色诱久久av| 男人一边吃奶一边做边爱| 国产又爽又色在线观看| 国产痴汉系列| a级毛片免费高清视频| 污小说总裁整夜没拔出| 精品福利视频一区二区三区| 公交车忘穿内裤被挺进小说白| 久久精品a亚洲国产v高清不卡| 久久精品国产99精品最新| 日本一卡二卡≡卡四卡精品| 免费无遮挡肉动漫在线观看| 狠狠色噜噜狠狠狠狠色吗综合| 8x视频在线观看| 波多野结衣无限| 大胸姐妹在线观看| 八戒网站免费观看视频| 日韩欧国产精品一区综合无码| 再深一点灬舒服灬太大了| 亚洲一区二区影院| 黑白高清在线观看| 一级黄色片免费| 日韩精品一卡2卡3卡4卡三卡| 亚洲处破女| sihu国产精品永久免费| 男女免费爽爽爽在线视频| 动漫美女被爆羞羞免费| 尹人香蕉久久99天天拍欧美p7| 三级网站免费| 在线观看亚洲视频| 美女被免费视频网站| 女人张腿让男桶免费视频大全 | 日韩黄色影片|