標(biāo)題: 數(shù)控直流穩(wěn)壓電源(恒壓源)設(shè)計資料 含單片機(jī)源碼+仿真+圖紙 5110顯示 [打印本頁]

作者: 小輝_ing    時間: 2018-3-20 10:53
標(biāo)題: 數(shù)控直流穩(wěn)壓電源(恒壓源)設(shè)計資料 含單片機(jī)源碼+仿真+圖紙 5110顯示
本文主要介紹數(shù)控直流穩(wěn)壓電源的設(shè)計,對其中涉及的D/A轉(zhuǎn)換、單片機(jī)等也有詳細(xì)介紹。將單片機(jī)數(shù)字控制技術(shù), 有機(jī)地融入直流穩(wěn)壓電源的設(shè)計中, 就能設(shè)計出一款高性價比的多功能數(shù)字化通用直流穩(wěn)壓電源。
      AD按鍵采集程序
/**************鍵值判斷*******************************/
if (f>4.590&f<4.650)
  { printf("K1按下\n\n");}
else if (f>4.500&f<4.550)
  { printf("K2按下\n\n");}
else if (f>4.400&f<4.490)
  { printf("K3按下\n\n");}
else if (f>4.200&f<4.350)
  { printf("K4按下\n\n");}
else if (f>3.700&f<4.100)
  { printf("K5按下\n\n");}
else if (f>3.000&f<3.500)
  { printf("K6按下\n\n");}
else

   Delay1ms(1000);

電路原理圖如下:


仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)



單片機(jī)源程序如下:
  1. #include"STC12C5A60S2.H"
  2. #include"12C5A60S2.H"
  3. #include "DA.h"
  4. #include "nokia_5110.h"
  5. #include "TLC24C02.H"
  6. void main()
  7. {  
  8.    unsigned int da,n;         
  9.    unsigned int ADV,V,ADA,A;
  10.    unsigned int a;
  11.     LCD_init();
  12.         LCD_clear();
  13.         x24c02_init();                           //初始化
  14.     LCD_write_chinese_string(0,0,12,2,2,0);          //  電壓
  15.         LCD_write_chinese_string(0,2,12,2,0,0);  //          電流
  16.          da=x24c02_read(2);                   //讀出保存的數(shù)據(jù)賦于XX

  17.   while(1)
  18.              {         
  19. /******************************************************************************/
  20.            da5615DA(da);    //改變電壓
  21.                    DELAY_MS(30);   //按鍵延時
  22.                   
  23. /*******************************************************************************/
  24.          Read_init1(0);  //采集電壓
  25.                   ADV=Read();
  26.                   ADV=ADV*1.96;
  27.                   V=((float)ADV*11.68);
  28. /**********************************************************************/
  29.                    if((V>220)&(V<560))                                //         2.2V~5.6V電壓調(diào)整
  30.                  {
  31.                         V=V-80;                        //80=-0.8V
  32.                  LCD_printc(26,0,V/1000+48);
  33.          LCD_printc(34,0,V%1000/100+48);
  34.                  LCD_printc(42,0,'.');
  35.                  LCD_printc(50,0,V%100/10+48);
  36.                  LCD_printc(58,0,V%10+48);
  37.                  LCD_printc(67,0,'V');
  38.                  }        
  39. /*************************************************************/
  40.            if((V>570)&(V<800))                                  //         5.7V~8.0V電壓調(diào)整
  41.                 {
  42.                         V=V-30;                  //30=-0.3V
  43.                  LCD_printc(26,0,V/1000+48);
  44.          LCD_printc(34,0,V%1000/100+48);
  45.                  LCD_printc(42,0,'.');
  46.                  LCD_printc(50,0,V%100/10+48);
  47.                  LCD_printc(58,0,V%10+48);
  48.                  LCD_printc(67,0,'V');
  49.                   }        
  50. /*************************************************************/
  51.                   if((V>850)&(V<1200))                                //         8.5V~12.00V電壓調(diào)整
  52.                   {
  53.                    V=V-10;                   //10=-0.1V
  54.                   LCD_printc(26,0,V/1000+48);
  55.          LCD_printc(34,0,V%1000/100+48);
  56.                  LCD_printc(42,0,'.');
  57.                  LCD_printc(50,0,V%100/10+48);
  58.                  LCD_printc(58,0,V%10+48);
  59.                  LCD_printc(67,0,'V');
  60.                   }        
  61. /*****************************************************************/
  62.                  else                                                                   //         12V~15V電壓調(diào)整
  63.                  {         V=V+30;           //30=+0.3V
  64.                   LCD_printc(26,0,V/1000+48);
  65.          LCD_printc(34,0,V%1000/100+48);
  66.                  LCD_printc(42,0,'.');
  67.                  LCD_printc(50,0,V%100/10+48);
  68.                  LCD_printc(58,0,V%10+48);
  69.                  LCD_printc(67,0,'V');
  70.                  
  71.                  }         

  72. /******************************************************************************/
  73.                   Read_init2(1);  //采集電流
  74.                   ADA=Read();
  75.                   ADA=ADA*1.96;
  76.                  A=((float)ADA*3.1);
  77.                   A=A-10;
  78.          LCD_printc(26,2,A/100+48);
  79.                  LCD_printc(34,2,A%100/10+48);
  80.                  LCD_printc(42,2,A%10+48);
  81.                  LCD_printc(50,2,'M');
  82.                  LCD_printc(58,2,'A');
  83.                  

  84. /******************************************************************************/

  85.                  Read_init(2);                  //        AD按鍵掃描 P1.2口
  86.                      a=Read();        
  87.                   n=a*1.96;
  88.                   DELAY_MS(10);
  89. /*****************************切換鍵*************************************/
  90.                  if((n>280)&(n<320))                        
  91.                   {         
  92.                              da=da+2;
  93.                            DELAY_MS(30);
  94.                            if(da>=260)
  95.                              da=30;
  96.                
  97.                   }        
  98. /******************************按鍵加**************************************/
  99. ……………………

  100. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼



所有資料51hei提供下載:
恒壓源程序.rar (62.83 KB, 下載次數(shù): 226)
恒壓原電路圖.rar (276.78 KB, 下載次數(shù): 248)
恒壓源資料 及仿真.rar (1022.28 KB, 下載次數(shù): 288)




作者: GUOXUAN    時間: 2018-4-18 10:11
老師資料作品不錯,可是電路總圖是STM32F103,仿真是12C5A60S.我是不明白?
作者: DDbong    時間: 2018-5-5 17:00
很好的說 幫助很大
作者: 15274553709    時間: 2019-4-14 15:14
此貼的內(nèi)容與我有意義。好評
作者: 135151    時間: 2019-9-4 10:16
新人來學(xué)習(xí)的,感謝大師們
作者: paomall    時間: 2019-11-27 13:05
真的牛奧
作者: pcvia    時間: 2020-1-1 15:35
新人來學(xué)習(xí)的,感謝樓主
作者: nlming    時間: 2020-2-12 17:28
新人來學(xué)習(xí)下,謝謝樓主
作者: 紫色的云    時間: 2021-5-27 11:14
學(xué)習(xí)了,最近在學(xué)習(xí)可調(diào)電源這一塊,謝謝樓主的分享
作者: 點(diǎn)點(diǎn)點(diǎn)點(diǎn)1021    時間: 2021-12-12 10:54
關(guān)于電壓源中步長的調(diào)整不太明白,能否詳細(xì)講解
作者: 860012525    時間: 2021-12-12 23:04
謝謝樓主的分享,電壓源這一塊真的很厲害,可是電路總圖是STM32F103,仿真是12C5A60S,還是不太明白
作者: pzxpiao    時間: 2022-5-15 09:48
東西很好
作者: huaishang    時間: 2025-4-22 18:43
新人來學(xué)習(xí)的,感謝大師




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1