STM32數(shù)控直流電源_第1頁(yè)
STM32數(shù)控直流電源_第2頁(yè)
STM32數(shù)控直流電源_第3頁(yè)
STM32數(shù)控直流電源_第4頁(yè)
STM32數(shù)控直流電源_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

STM32數(shù)控直流電源目錄1234561231、介紹:這個(gè)數(shù)控直流電源,是基于CORTEX_M3的STM32F103ZET6芯片的一個(gè)制作。它的能實(shí)現(xiàn)0~9.9V的電壓變化,每次變化為0.1V。它采用了內(nèi)部的12位DAC和12位的ADC,精度比普通的8位ADC高出16倍,在實(shí)際的測(cè)試中,本制作的精度達(dá)到0.01V。本制作可以實(shí)現(xiàn)按鍵加減電壓大小、按鍵自動(dòng)調(diào)節(jié)電壓、輸入數(shù)值控制輸出電壓、輸出幅值頻率可調(diào)的三角波功能。同時(shí),本制作采用320*240的LCD液晶顯示,并且在顯示的基礎(chǔ)上,制作了完整的用戶界面,大大方便了用戶的使用。2、整體方案:自制12V、5V電源負(fù)載320*240液晶顯示Stm32芯片ADC按鍵模塊DAC1歐姆檢測(cè)電阻過流報(bào)警模塊運(yùn)放方案介紹:本方案圍繞stm32芯片,由供電模塊、液晶顯示模塊、報(bào)警模塊、負(fù)載電流檢測(cè)模塊、電源產(chǎn)生模塊、按鍵模塊構(gòu)成。電源模塊:我采用的是橋式整流結(jié)合三端穩(wěn)壓芯片的處理方法。由此得到單片機(jī)使用的5v電源和驅(qū)動(dòng)運(yùn)算放大器的12V電源。電源發(fā)生模塊:這個(gè)系統(tǒng)由LM358運(yùn)算放大器和stm32芯片內(nèi)部12位DAC組成。負(fù)載電流檢測(cè)模塊:這個(gè)模塊由stm32內(nèi)部12位ADC和自制的1歐姆康銅電阻組成。液晶顯示模塊:主要有 320*240LCD組成,負(fù)責(zé)顯示參數(shù)和提供用戶服務(wù)界面。過流報(bào)警模塊:這個(gè)部分由蜂鳴器和紅色的LED指示燈組成。負(fù)責(zé)當(dāng)發(fā)生過流現(xiàn)象時(shí),給用戶報(bào)警。按鍵模塊:這是本系統(tǒng)的用戶控制方式。3、硬件電路1)、stm32f103zet6單片機(jī)最小系統(tǒng):這款ST公司生產(chǎn)的基于 cortex_m3內(nèi)核的芯片,在當(dāng)今的電子產(chǎn)品領(lǐng)域占有很大的市場(chǎng)。這塊32位芯片,有144個(gè)引腳、512K的rom、2路ADC支持16通道,2路DAC,14個(gè)定時(shí)器,spi通信、i2c通信、串口通信方式。對(duì)于本系統(tǒng),這個(gè)芯片的已經(jīng)足夠。(2)、電源電路在這個(gè)部分,我主要采用橋式整流,使用了四個(gè)耐壓1000v的in4007,將雙24V的變壓器得到的副邊電壓進(jìn)行整流,再由1000uf電容和LM7815和LM2940穩(wěn)壓得系統(tǒng)所需的5V和12V電源。(3)、電源產(chǎn)生電路和檢測(cè)電路在運(yùn)算放大器部分,我選擇的是帶寬 1M的LM358,采用1k的精密電阻,將 DA得到的電源放大 4倍,再經(jīng)過一級(jí)的放大器 跟隨電路輸入到負(fù)載電路之中。負(fù)載串聯(lián)了1歐姆的康銅電阻,康銅電阻的溫漂小,直接AD測(cè)量?jī)啥说碾妷罕憧傻玫截?fù)載的電流狀況。(4)、顯示電路:采用的是lil9320 驅(qū)動(dòng)的320*240方案。(5)、報(bào)警電路和按鍵電路燈省略。4、軟件部分:主體程序流程圖開始主循環(huán)按鍵掃描1號(hào)按鍵 2號(hào)按鍵 3號(hào)按鍵 4號(hào)按鍵功能1 功能2 功能3 功能4返回主循環(huán)在程序設(shè)計(jì)部分,主要設(shè)計(jì)ADC和DAC以及定時(shí)器中斷和外部觸發(fā)中斷的使用。5、心得小結(jié)在本次設(shè)計(jì)中,前期我花費(fèi)了大量的時(shí)間查閱論文和思考放大電路設(shè)計(jì)上,而最后經(jīng)過試驗(yàn),還是選擇了簡(jiǎn)單而實(shí)用的放大器加更隨器的方案。在設(shè)計(jì)過程中遇到過很麻煩的事,當(dāng)時(shí)網(wǎng)購(gòu)了DAC7512的12位DAC芯片,發(fā)現(xiàn)是很小的貼片,經(jīng)過較長(zhǎng)時(shí)間搞定之后,一次使用過程中,這塊芯片壞了。于是,不得不轉(zhuǎn)到當(dāng)前采用的方案上。這個(gè)教訓(xùn),讓我明白實(shí)踐和試驗(yàn)的重要性,少走彎路,多做實(shí)用的事。6、附錄:1、元器件清單:stm32f103zet6單片機(jī)最小系統(tǒng),320*240tftlcd,24V變壓器、按鍵模塊、LM7805、LM7815、LM2940等2、原理圖:、源程序:主函數(shù)部分:intmain(void){。。。while(1) // 主循環(huán){DAC->DHR12R1=0;ili9320_Chinese_str((320-16*17)/2,50,17,Chinese_Table_16x16_nan,charColor,Blue);ili9320_Chinese_str(70,90,3,Chinese_Table_16x16_ti,charColor,Blue);ili9320_Chinese_str(140,90,8,Chinese_Table_16x16_shu,charColor,Blue);ili9320_Chinese_str((320-16*15)/2,200,15,Chinese_Table_16x16_zun,charColor,Blue);if(!GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_5)){Delay_ARMJISHU(100);while(!GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_5));ili9320_Clear(Blue);exit_2=1;while(exit_2) // 按*鍵進(jìn)入 功能循環(huán){DAC->DHR12R1=0;ili9320_Chinese_str(0,10,6,Chinese_Table_16x16_1,charColor,Blue);ili9320_Chinese_str(0,40,6,Chinese_Table_16x16_2g,charColor,Blue);ili9320_Chinese_str(0,70,6,Chinese_Table_16x16_3,charColor,Blue);ili9320_Chinese_str(0,100,3,Chinese_Table_16x16_4,charColor,Blue);ili9320_Chinese_str(0,130,2,Chinese_Table_16x16_5,charColor,Blue);功能一:手動(dòng)加減電壓值if(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)){Delay_ARMJISHU(200);if(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)){while(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12));ili9320_Clear(Blue);exit=1;while(exit){ili9320_Chinese_str(110,55,4,Chinese_Table_16x16_d,charColor,Blue);ili9320_PutStr_16x24(248,50,c4,1,charColor,Blue);a1=(vol+1)%10;a2=(vol+1-a1)/10;ili9320_PutChar_num(176,50,a2,charColor,Blue);ili9320_DrawPoint(200,50,charColor,Blue);// 畫一個(gè)點(diǎn)ili9320_PutChar_num(224,50,a1,charColor,Blue);if(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)){

//+Delay_ARMJISHU(300);if(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)){if(vol<99){vol=vol+1;}while(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8));}}if(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_9)) //-{Delay_ARMJISHU(300);if(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_9)){if(vol>3){vol=vol-1;while(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_9));}}}DAC->DHR12R1=(vol*40950-230)/1304;檢測(cè)過流ADCConvertedValueLocal=ADCConvertedValue;Precent=(ADCConvertedValueLocal*100/0x1000); //算出百分比Voltage=Precent*33;while(Voltage>500){ili9320_Clear(Blue);while(1){ili9320_Chinese_str(110,55,4,Chinese_Table_16x16_d,charColor,Blue);DAC->DHR12R1=0;a1=0;a2=0;ili9320_PutChar_num(176,50,a2,charColor,Blue);ili9320_DrawPoint(200,50,charColor,Blue);// 畫一個(gè)點(diǎn)ili9320_PutChar_num(224,50,a1,charColor,Blue);ili9320_PutStr_16x24(248,50,c4,1,charColor,Blue);ili9320_Chinese_str((320-16*10)/2,200,10,Chinese_Table_16x16_x,charColor,Blue);GPIO_SetBits(GPIO_DAC,DS1_PIN|DS2_PIN);所有引腳置高電平}}退出按鍵,在所有的功能中都使用這種退出方法if(!GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_5)){Delay_ARMJISHU(300);if(!GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_5)){while(!GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_5));exit=0;vol=0;ili9320_Clear(Blue);}}}}}//功能2:自動(dòng)加減

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論