久久久国产精品视频袁燕,99re久久精品国产,亚洲欧美日韩国产综合v,天天躁夜夜躁狠狠久久,激情五月婷婷激情五月婷婷

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

【原創(chuàng)】基于STM32的數(shù)控直流電源

    參賽類型:數(shù)字電源類

 

 

數(shù)控直流電源

目錄

1、介紹                                         …………      

2、整體方案                                   …………         

3、硬件電路                                    …………        

4、軟件                                        …………        

5、心得小結(jié)                                    …………        

6、附錄:    1、元器件                             …………        

      2、電路圖                             …………

      3、代碼                                …………

 

1、介紹:

這個(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、整體方案:

 

方案介紹:

     本方案圍繞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)域占有很大的市場。這塊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è)量兩端的電壓便可得到負(fù)載的電流狀況。

(4)、顯示電路:

  

采用的是lil9320驅(qū)動(dòng)的320*240方案。

(5)、報(bào)警電路和按鍵電路燈省略。

4、軟件部分:

                      主體程序流程圖

 

        

在程序設(shè)計(jì)部分,主要設(shè)計(jì)ADC和DAC以及定時(shí)器中斷和外部觸發(fā)中斷的使用。

5、心得小結(jié)

在本次設(shè)計(jì)中,前期我花費(fèi)了大量的時(shí)間查閱論文和思考放大電路設(shè)計(jì)上,而最后經(jīng)過試驗(yàn),還是選擇了簡單而實(shí)用的放大器加更隨器的方案。在設(shè)計(jì)過程中遇到過很麻煩的事,當(dāng)時(shí)網(wǎng)購了DAC7512的12位DAC芯片,發(fā)現(xiàn)是很小的貼片,經(jīng)過較長時(shí)間搞定之后,一次使用過程中,這塊芯片壞了。于是,不得不轉(zhuǎn)到當(dāng)前采用的方案上。

這個(gè)教訓(xùn),讓我明白實(shí)踐和試驗(yàn)的重要性,少走彎路,多做實(shí)用的事。

6、附錄:

1、元器件清單:stm32f103zet6單片機(jī)最小系統(tǒng),320*240tft lcd,24V變壓器、按鍵模塊、LM7805、LM7815、LM2940等

2、原理圖:

   3、源程序:

主函數(shù)部分:

int main(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)加減電壓值  (6號(hào)按鍵)

if(!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_6))

  {

        Delay_ARMJISHU(200);

if(!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_6))

       {

    exit=1;  

while(!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_6));

 /*-----------功能2的定時(shí)器初始化------------*/

  Timer_Config();

  NVIC_Config();

   TIM_Cmd(TIM2,DISABLE);  //起初是關(guān)閉的,當(dāng)進(jìn)入功能2后打開 

ili9320_Clear(Blue);

while(exit)

{

        vol=vol_21;

                        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)&counter21)

     {

    flag2=1;

     Delay_ARMJISHU(200);

         if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8))

  {

   TIM_Cmd(TIM2,ENABLE); 

counter21=0;   

while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8));

}

            }

if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8)&!counter21)

     {

     Delay_ARMJISHU(200);

         if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8))

  {

TIM_Cmd(TIM2,DISABLE); 

counter21=1;

while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8));

}

            }

                 //自減掃描

  if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_9)&counter22)

     {

    flag2=0;

     Delay_ARMJISHU(200);

         if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_9))

  {

   TIM_Cmd(TIM2,ENABLE); 

counter22=0;   

while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_9));

}

            }

if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_9)&!counter22)

     {

     Delay_ARMJISHU(200);

         if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_9))

  {

TIM_Cmd(TIM2,DISABLE); 

counter22=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(100);

  if(!GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_5))

   {

 while(!GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_5));

 exit=0;

 TIM_Cmd(TIM2,DISABLE);

 vol=0;

 vol_22=0;

 ili9320_Clear(Blue);

}

  

  }

}

}

      }

//功能3:輸入電壓數(shù)值    7號(hào)功能鍵

if(!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_7))

  {

     Delay_ARMJISHU(100);

 if(!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_7))

 {

  exit=1;

   while(!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_7));

     ili9320_Clear(Blue); 

while(exit)

{

  

  num31=num33;

  num32=num34;  

  ili9320_Chinese_str(10,12,12,Chinese_Table_16x16_q,charColor,Blue);

      ili9320_Chinese_str(110,55,4,Chinese_Table_16x16_d,charColor,Blue);

  ili9320_DrawPoint(200,50,charColor,Blue);                 //畫一個(gè)點(diǎn)

  ili9320_PutStr_16x24(248, 50, c4, 1, charColor, Blue);    //顯示單位:v

  ili9320_PutChar_num(176,50,num32,charColor,Blue);     //顯示十位  

  ili9320_PutChar_num(224,50,num31,charColor,Blue); //顯示個(gè)位

   DAC->DHR12R1 = (vol*40950-230)/1304; 

              //先輸入十位上的數(shù)鍵位,切換鍵,個(gè)位按鍵,確認(rèn)鍵

  

   if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_9))

   {

     Delay_ARMJISHU(300);

  if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_9))

  {

   while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_9));

 counter_3++;

  

  }

 

      }

      

 if((!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8)))

   {

     Delay_ARMJISHU(300);

  if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8))

  {

while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8));

if(!(counter_3%2))

{

    if(num33<10)  num33=num33+1;

if(num33>=10)  num33=0;

}

if(counter_3%2)

{

if(num34<10)  num34=num34+1;

if(num34>=10)  num34=0;

}

  }

  }

 

   

    if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_10))                     //確認(rèn)鍵 

  {

     Delay_ARMJISHU(300);

  if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_10))

  {

   while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_10));

   vol=num32*10+num31;

  }

      }

                      

//退出按鍵,在所有的功能中都使用這種退出方法

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;

 ili9320_Clear(Blue);

 num31=0;

 num32=0; 

 vol=0;

 num33=0;

 num34=0;

}

  

  }

//檢測(cè)過流

     ADCConvertedValueLocal = ADCConvertedValue;

       Precent = (ADCConvertedValueLocal*100/0x1000); //算出百分比

      Voltage = Precent*33;

    while(Voltage>500)

    ili9320_Clear(Blue); 

    while(1)

{

DAC->DHR12R1 = 0; 

a1=0;

     a2=0;

ili9320_Chinese_str(110,55,4,Chinese_Table_16x16_d,charColor,Blue);

     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);    //所有引腳置高電平

}

}

}

  }

}

/*--------------------------------------------------功能4:三角波--------------------------------------------------------------*/

   //功能4:輸出三角波    8號(hào)按鍵    :第一次使用的時(shí)候先輸入一個(gè)值,然后確認(rèn),當(dāng)確認(rèn)完畢后,可以隨意調(diào)節(jié);再次按確認(rèn)鍵停止工作

     if(!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8))

  {

     Delay_ARMJISHU(200);

 if(!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8))          

 {

     while(!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8));

  exit=1;

  ili9320_Clear(Blue);

vol_ap=20;

vol_fp=10;

    

while(exit)

{

        //畫波形的代碼

        ili9320_Chinese_str(90,120,9,Chinese_Table_16x16_ru,charColor,Blue); 

    ili9320_Chinese_str(90,55,5,Chinese_Table_16x16_fu,charColor,Blue); //電壓幅值

ili9320_Chinese_str(90,85,3,Chinese_Table_16x16_pin,charColor,Blue); //頻率

ili9320_Chinese_str(165,85,1,Chinese_Table_16x16_dang,charColor,Blue); //檔

   if((!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8)))             //設(shè)置電壓值:1號(hào)按鍵

   {

      Delay_ARMJISHU(200);

   if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8))

   {

while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8));

vol_ap=vol_ap+5;

if(vol_ap>95)  vol_ap=20;

            ili9320_PutStr_16x24(248, 50, c4, 1, charColor, Blue);

a1=(vol_ap)%10;

  a2=(vol_ap-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_9)))             //設(shè)置頻率:2號(hào)按鍵

   {

      Delay_ARMJISHU(200);

   if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_9))

   {

while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_9));

vol_fp=vol_fp+1;

if(vol_fp>10)  vol_fp=1;

                                    ili9320_PutChar_num(140,80,vol_fp,charColor,Blue);   

                                }

}

   if((!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_10)))             //第一次按的時(shí)候,確認(rèn)開始

    {

      Delay_ARMJISHU(200);

   if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_10))

   {

while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_10));

        ili9320_Clear(Blue);

ili9320_Chinese_str(20,100,16,Chinese_Table_16x16_bo,charColor,Blue); //電壓幅值

  

  while(1)

  {

        while((vol_apc>vol_pre)&(vol_apc<=(vol_ap*40950/1304)))

        {

      vol_pre=vol_apc;

vol_apc=vol_apc+vol_fp;

      DAC->DHR12R1 =vol_apc;  

    }

      while(vol_apc>(vol_ap*40950/1304)) 

    {

    vol_apc=vol_apc-2*vol_fp; 

DAC->DHR12R1 =vol_apc;

}

      while((vol_apc1))

      {

vol_pre=vol_apc;

        vol_apc=vol_apc-vol_fp;

DAC->DHR12R1 =vol_apc;

      }

   while(vol_apc<=vol_fp) 

    {

    vol_apc=vol_apc+2*vol_fp;

DAC->DHR12R1 =vol_apc;

    }

         }

}

    }

 

//退出按鍵,在所有的功能中都使用這種退出方法

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;

   ili9320_Clear(Blue);

  TIM_Cmd(TIM3,DISABLE); 

}

  

  }

//檢測(cè)過流

     ADCConvertedValueLocal = ADCConvertedValue;

       Precent = (ADCConvertedValueLocal*100/0x1000); //算出百分比

      Voltage = Precent*33;

    while(Voltage>500)

    ili9320_Clear(Blue); 

    while(1)

{

DAC->DHR12R1 = 0; 

a1=0;

     a2=0;

ili9320_Chinese_str(110,55,4,Chinese_Table_16x16_d,charColor,Blue);

     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(100);

    if(!GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_5))

    {

 while(!GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_5));

 exit_2=0;

 ili9320_Clear(Blue); 

 }

  

  } 

}

 

 

word文檔數(shù)控直流電源 

全部回復(fù)(78)
正序查看
倒序查看
lizlk
LV.10
2
2012-04-21 10:37

老兄啊,你的圖片沒有傳上來,請(qǐng)?jiān)趥魉椭?,點(diǎn)擊插入編輯器,這樣圖片才會(huì)正確顯示。

這個(gè)東西是本分壇上一個(gè)很有代表性的作品,絕對(duì)支持!可是你的zip文件下來之后是個(gè)空白,什么都沒有,請(qǐng)確認(rèn)!

0
回復(fù)
nwx8899
LV.4
3
2012-04-21 10:39
@lizlk
老兄啊,你的圖片沒有傳上來,請(qǐng)?jiān)趥魉椭螅c(diǎn)擊插入編輯器,這樣圖片才會(huì)正確顯示。這個(gè)東西是本分壇上一個(gè)很有代表性的作品,絕對(duì)支持!可是你的zip文件下來之后是個(gè)空白,什么都沒有,請(qǐng)確認(rèn)!
不是吧 我從word ctrl+v的
0
回復(fù)
nwx8899
LV.4
4
2012-04-21 10:41
@lizlk
老兄啊,你的圖片沒有傳上來,請(qǐng)?jiān)趥魉椭螅c(diǎn)擊插入編輯器,這樣圖片才會(huì)正確顯示。這個(gè)東西是本分壇上一個(gè)很有代表性的作品,絕對(duì)支持!可是你的zip文件下來之后是個(gè)空白,什么都沒有,請(qǐng)確認(rèn)!
我看到的圖片是顯示的啊
0
回復(fù)
nwx8899
LV.4
5
2012-04-21 10:51
@lizlk
老兄啊,你的圖片沒有傳上來,請(qǐng)?jiān)趥魉椭?,點(diǎn)擊插入編輯器,這樣圖片才會(huì)正確顯示。這個(gè)東西是本分壇上一個(gè)很有代表性的作品,絕對(duì)支持!可是你的zip文件下來之后是個(gè)空白,什么都沒有,請(qǐng)確認(rèn)!

感謝提醒啊 沒仔細(xì)看

從新編輯了一下,這下應(yīng)該沒啥問題了

0
回復(fù)
2012-04-21 10:59
@nwx8899
感謝提醒啊沒仔細(xì)看從新編輯了一下,這下應(yīng)該沒啥問題了
圖片和word都沒問題了。
0
回復(fù)
nwx8899
LV.4
7
2012-04-21 11:03
@電源網(wǎng)-fqd
圖片和word都沒問題了。[圖片]
3q3q
0
回復(fù)
2012-04-21 13:34
不明白整流部分為什么要用5只二極管
0
回復(fù)
2012-04-21 14:07
今晚我就準(zhǔn)備準(zhǔn)備  跟老兄學(xué)習(xí)學(xué)習(xí)
0
回復(fù)
hechaocao
LV.5
10
2012-04-22 02:41
@ycdy09@163.com
今晚我就準(zhǔn)備準(zhǔn)備 跟老兄學(xué)習(xí)學(xué)習(xí)
呵呵      用這個(gè)感覺  用M3有點(diǎn)浪費(fèi)      我覺的很有可能是學(xué)生        很不錯(cuò)    支持!
0
回復(fù)
ctx1211
LV.7
11
2012-04-22 10:35
@hechaocao
呵呵     用這個(gè)感覺 用M3有點(diǎn)浪費(fèi)     我覺的很有可能是學(xué)生       很不錯(cuò)   支持!
我也覺得是學(xué)生,好像是某年國家電子設(shè)計(jì)大賽的一個(gè)題目,呵呵
0
回復(fù)
ctx1211
LV.7
12
2012-04-22 10:37
@qinzutaim
不明白整流部分為什么要用5只二極管[圖片]
4個(gè)整流,還有一個(gè)起快速關(guān)斷作用吧
0
回復(fù)
IGBT2010
LV.8
13
2012-04-22 22:23

學(xué)習(xí)一下?。?!

0
回復(fù)
LV.1
14
2012-04-23 14:45
@hechaocao
呵呵     用這個(gè)感覺 用M3有點(diǎn)浪費(fèi)     我覺的很有可能是學(xué)生       很不錯(cuò)   支持!
嚴(yán)重浪費(fèi)
0
回復(fù)
nwx8899
LV.4
15
2012-04-23 22:19
@qinzutaim
不明白整流部分為什么要用5只二極管[圖片]

D3

1、防止反向

2、保護(hù)電電容和穩(wěn)壓管

總的來說增加D3可以增加電路的可靠性。C12為1000UF電容,交流輸入為零時(shí),電容電壓為零,當(dāng)交流市電突然加上時(shí),次級(jí)變壓器線圈需要給C12大電容充電,在此過程中LM7815也為后級(jí)電容和負(fù)載供電,這時(shí)充電浪涌電流很大,對(duì)D1、D2、D4、D5二極管的電流沖擊會(huì)很大,會(huì)降低其使用壽命和可靠性,增加D3后整流電路變成3個(gè)二極管的串聯(lián),輸入阻抗會(huì)增加,這樣可降低電流浪涌,提高電路可靠性和使用壽命。

0
回復(fù)
nwx8899
LV.4
16
2012-04-23 22:21
@nwx8899
D31、防止反向2、保護(hù)電電容和穩(wěn)壓管總的來說增加D3可以增加電路的可靠性。C12為1000UF電容,交流輸入為零時(shí),電容電壓為零,當(dāng)交流市電突然加上時(shí),次級(jí)變壓器線圈需要給C12大電容充電,在此過程中LM7815也為后級(jí)電容和負(fù)載供電,這時(shí)充電浪涌電流很大,對(duì)D1、D2、D4、D5二極管的電流沖擊會(huì)很大,會(huì)降低其使用壽命和可靠性,增加D3后整流電路變成3個(gè)二極管的串聯(lián),輸入阻抗會(huì)增加,這樣可降低電流浪涌,提高電路可靠性和使用壽命。
就是為了保險(xiǎn)吧,如果為了降低成本,也可以去掉D3
0
回復(fù)
nwx8899
LV.4
17
2012-04-23 22:22
@qinzutaim
不明白整流部分為什么要用5只二極管[圖片]

D3

1、防止反向

2、保護(hù)電電容和穩(wěn)壓管

 

0
回復(fù)
nwx8899
LV.4
18
2012-04-23 22:23
@ycdy09@163.com
今晚我就準(zhǔn)備準(zhǔn)備 跟老兄學(xué)習(xí)學(xué)習(xí)

恩恩

 

相互學(xué)習(xí)

0
回復(fù)
nwx8899
LV.4
19
2012-04-23 22:26
@hechaocao
呵呵     用這個(gè)感覺 用M3有點(diǎn)浪費(fèi)     我覺的很有可能是學(xué)生       很不錯(cuò)   支持!

恩 沒有考慮 性價(jià)比 這個(gè)問題

拿著板子 以學(xué)習(xí)為主!?。?/p>

多謝支持!

0
回復(fù)
nwx8899
LV.4
20
2012-04-23 22:27
@
嚴(yán)重浪費(fèi)

呵呵 以學(xué)習(xí)為主

正好有這塊板子讓我浪費(fèi)

0
回復(fù)
nwx8899
LV.4
21
2012-04-23 22:31
@ctx1211
我也覺得是學(xué)生,好像是某年國家電子設(shè)計(jì)大賽的一個(gè)題目,呵呵

恩 貌視0幾年的國賽里有做電源的題,但這個(gè)跟那個(gè)沒聯(lián)系

本人在校參與了11年的

0
回復(fù)
nwx8899
LV.4
22
2012-04-23 22:33
@IGBT2010
學(xué)習(xí)一下?。?!

恩恩 感謝支持

大家相互學(xué)習(xí)?。?!

 

0
回復(fù)
nwx8899
LV.4
23
2012-04-23 22:36
@hechaocao
呵呵     用這個(gè)感覺 用M3有點(diǎn)浪費(fèi)     我覺的很有可能是學(xué)生       很不錯(cuò)   支持!
感謝支持!?。?/div>
0
回復(fù)
fifasanguo
LV.5
24
2012-04-24 11:06
@nwx8899
恩恩感謝支持大家相互學(xué)習(xí)?。?! 
圖里面少了關(guān)鍵的拓?fù)洳糠职。褪怯肧TM32調(diào)整如何從220V輸出到9V的調(diào)整部分啊,這個(gè)題目我也做過,紋波能處理好嗎?單純的用STM32的DA輸出控制,不好弄吧?。?!
0
回復(fù)
ludet
LV.5
25
2012-04-24 11:38
@fifasanguo
圖里面少了關(guān)鍵的拓?fù)洳糠职?,就是用STM32調(diào)整如何從220V輸出到9V的調(diào)整部分啊,這個(gè)題目我也做過,紋波能處理好嗎?單純的用STM32的DA輸出控制,不好弄吧?。?!

 用51也可以的

 

 

0
回復(fù)
nwx8899
LV.4
26
2012-04-24 13:03
@fifasanguo
圖里面少了關(guān)鍵的拓?fù)洳糠职?,就是用STM32調(diào)整如何從220V輸出到9V的調(diào)整部分啊,這個(gè)題目我也做過,紋波能處理好嗎?單純的用STM32的DA輸出控制,不好弄吧?。?!

完整的

在電源模塊里

 

0
回復(fù)
nwx8899
LV.4
27
2012-04-24 13:06
@ludet
 用51也可以的  

控制器不是主要矛盾

你熟悉哪款或者你想學(xué)習(xí)那款你都可以自己隨意選擇的

0
回復(fù)
2012-04-24 15:37
看一下
0
回復(fù)
nwx8899
LV.4
29
2012-04-24 20:19
@電源群180281670
看一下

呵呵 常來啊

0
回復(fù)
zq2007
LV.11
30
2012-05-03 13:17
@nwx8899
呵呵常來啊[圖片]
跟樓主學(xué)數(shù)控電源。
0
回復(fù)
nwx8899
LV.4
31
2012-05-03 13:56
@zq2007
跟樓主學(xué)數(shù)控電源。[圖片]
大家一起學(xué)習(xí)
0
回復(fù)
發(fā)