久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7256|回復(fù): 10
收起左側(cè)

0-30V 4A數(shù)控穩(wěn)壓電源資料 含原理圖 源碼

  [復(fù)制鏈接]
ID:110875 發(fā)表于 2017-5-6 13:12 | 顯示全部樓層 |閱讀模式
一個(gè)不錯(cuò)的數(shù)控電源.就是成本有點(diǎn)高!兩路輸出:1:0-30V/4A   2: 5V/1.5A(固定輸出)
電壓分辨率0.458mV,電流分辨率0.076mA
電壓步進(jìn)0.0073V,實(shí)際用的是0.1V步進(jìn)調(diào)節(jié)

在制作中發(fā)現(xiàn);C37極性畫(huà)反了!還有就是復(fù)位電路是51和AVR都兼容的,不能把四個(gè)原件都焊接上去,用什么芯片就焊接什么樣的復(fù)位電路 !特此告知!
3.jpg 2.jpg 1.jpg 4.jpg 0.png

0.png

單片機(jī)源程序:

  1. /***********************************************************************
  2. 名字:  main.c
  3. 作者:  春風(fēng)  
  4. 工程:  數(shù)控穩(wěn)壓電源  
  5. ***********************************************************************/

  6. #include"reg52.h"
  7. //#include"math.h"
  8. #include"stdlib.h"
  9. #include"function.h"


  10. sbit RS = P1^4;
  11. sbit RW = P1^5;
  12. sbit E  = P1^6;

  13. #define DBUS P0
  14. sbit clk_574_1 = P2^3;
  15. //sbit clk_574_2 = P1^3;
  16. //sbit lcd_rs    = P1^4;

  17. uint idac;
  18.        

  19. idata uchar GOUT[7];
  20. idata float temp1;
  21. idata float dac_temp;
  22. idata float sheding_temp;
  23. idata float sheding_temp1;
  24. char  code dx516[3] _at_ 0x003b;//這是為了仿真設(shè)置的(大蝦仿真器)

  25. /************************************************************************************
  26.                               把浮點(diǎn)數(shù)拆開(kāi)存儲(chǔ)指針型數(shù)據(jù)  
  27.                                                           輸入浮點(diǎn)數(shù),方式0:設(shè)定值,1:檢測(cè)值  
  28. ************************************************************************************/
  29. void chai(float x,bit y)  
  30. {
  31.         uint i;
  32.         for(i = 0;i < 7;i ++)
  33.                 GOUT[i] = 0;
  34.         if(y == 0)
  35.         {
  36.                 i = x / 10;
  37.                 if(i == 0)
  38.                         GOUT[0] = ' ';
  39.                 else
  40.                         GOUT[0]        = i + '0';
  41.                 GOUT[1] = (int)x % 10 + '0';
  42.                 x = x * 10;
  43.                 GOUT[3] = (int)x % 10 + '0';

  44.                 x = x * 10;
  45.                 if(((int)x % 10) >= 5 )// 防止后面大于4的數(shù)被舍去  
  46.                 {GOUT[3] = GOUT[3] + 1;}
  47.                 else
  48.                 {;}

  49.                 GOUT[4] = ' ';
  50.                 GOUT[5] = ' ';
  51.         }
  52.         else
  53.         {
  54.                 i = x / 10;
  55.                 if(i == 0)
  56.                         GOUT[0] = ' ';
  57.                 else
  58.                         GOUT[0] = i + '0';
  59.                 GOUT[1] = (int)x % 10 + '0';
  60.                 x = x * 10;
  61.                 GOUT[3] = (int)x % 10 + '0';
  62.                 x = x * 10;
  63.                 GOUT[4] = (int)x % 10 + '0';
  64.                 x = (x * 10);
  65.                 GOUT[5] = (unsigned int)x % 10 + '0';
  66.         }
  67.         GOUT[2] =  '.';
  68.         GOUT[6] =  '\0';
  69. }

  70. /************************************************************************************

  71. //向LCM發(fā)送一個(gè)字符串,長(zhǎng)度64字符之內(nèi)。  

  72. ************************************************************************************/
  73. void lcm_w_word(uchar x,uchar y,uchar *str)
  74. {
  75.    x = x+y;
  76.    w_code(x);
  77.   while(*str != '\0')
  78.   {
  79.        w_data(*str++);
  80.    }
  81.   *str = 0;
  82. }
  83. /************************************************************************************
  84.                               顯示設(shè)定電壓  
  85. ************************************************************************************/
  86. void  disp_sheding()
  87. {
  88.     lcm_w_word(0x90,0x00,"設(shè)定:");
  89.     sheding_temp1 = sheding_temp + 0.0005;//------加0.0005修正有時(shí)顯示.0999
  90.         chai(sheding_temp1,1);  
  91.     lcm_w_word(0x90,3,GOUT);
  92.         w_code(0x96);
  93.     w_data('V');       
  94. }
  95. /************************************************************************************
  96.                  AD的16位整形數(shù)轉(zhuǎn)換成浮點(diǎn)電壓或電流值  
  97. ************************************************************************************/
  98. float adjisuan_U(uint x)
  99. {
  100.         temp1 = 11.990 / 0x5e1f;
  101.         temp1 = x * temp1;
  102.         return temp1;
  103. }

  104. float adjisuan_I(uint x)  //
  105. {
  106.         temp1 = 0.899 / 0x253d;
  107.         temp1 = (x * temp1)-0.005;
  108.         return temp1;
  109. }
  110. /************************************************************************************
  111. *
  112. *函數(shù)功能:輸入浮點(diǎn)數(shù)  
  113. *
  114. ************************************************************************************/
  115. float scanf_float(void)
  116. {
  117.         static uchar i = 0;
  118.         static uchar x[5] = {'0','0','0','0','0'};
  119.         static bit k = 1;
  120.         uchar temp1,temp2;
  121.         temp1 = key_sm();
  122.         temp2 = key_sm();
  123.         if((temp2 == 0xff) || (temp1 != temp2))
  124.         {
  125.                 k = 1;
  126.                 return(atof(x));
  127.         }
  128.         else if(k)
  129.         {
  130.                 k = 0;
  131.                 x[i] = temp1;
  132.                 i ++;
  133.                 if((temp1 == key_esc) || (i == 4))
  134.                 {
  135.                         x[0] = '0';
  136.                         x[1] = '0';
  137.                         x[2] = '0';
  138.                         x[3] = '0';
  139.                         x[4] = '0';
  140.                         i = 0;
  141.                 }
  142.                 return(atof(x));
  143.         }
  144. }

  145. /************************************************************************************

  146.                               掃描按鍵,并根據(jù)鍵值修改DAC的電壓  

  147. ************************************************************************************/
  148. void key_dac()
  149. {
  150.                 uchar key_qiao;
  151.            key_qiao = key_sm();
  152.         switch(key_sm())
  153.                 {
  154.         case key_shang:dac_temp = dac_temp + 1.0;break;//---按下上鍵電壓加1V
  155.         case key_xia  :dac_temp = dac_temp - 1.0;break;//---按下下鍵電壓減1
  156.         case key_zuo  :dac_temp = dac_temp - 0.1;break;//---按下左鍵電壓減0.1
  157.     case key_you  :dac_temp = dac_temp + 0.1;break;//---按下右鍵電壓加0.1
  158.     case key_0    :dac_temp = 0;             break;//---按下0鍵電壓歸0
  159.         default: key_qiao = 0xff;
  160.                  }
  161.                 if(key_qiao != 0xff)  //  10月1日 這里原來(lái)是0x00就讀AD不正常            
  162.                            {
  163.                        RS  =  1;                       
  164.                            RW  =  0;        //--------避免液晶屏干擾數(shù)據(jù)總線
  165.                            if(dac_temp < 0){dac_temp = 0;}        //----判斷電壓低于0大于30時(shí)把數(shù)據(jù)歸0
  166.                         if(dac_temp >= 30.10){dac_temp = 0;}       
  167.                         sheding_temp = dac_temp ;
  168.                         disp_sheding();
  169.                         idac = conver(dac_temp);  
  170.                           dac(idac);
  171.                         delay(50000);
  172.                         }
  173. }
  174. /************************************************************************************
  175.                                      主函數(shù)   
  176. ************************************************************************************/
  177. main()
  178. {

  179.                         lcd_rst(0);
  180.                         rst_ad();       
  181.                         dac_temp = 0 ;
  182.                        RS  =  1;                       
  183.                        RW  =  0;        //--------避免液晶屏干擾數(shù)據(jù)總線                 
  184.                              dac(conver(dac_temp));           //吸合低壓繼電器并輸出0V
  185.                        LED_ONOFF(1);//  打開(kāi)背光源   
  186.                           set_7705_ch(0);
  187.                     read_AD_data(0x38);
  188.                     set_7705_ch(1);
  189.                     read_AD_data(0x39);

  190.                    disp_sheding();//顯示設(shè)定電壓   
  191.                    while(1)
  192.                    {
  193.                    lcm_w_word(0x80,0x02,"穩(wěn)壓電源");
  194.                    lcm_w_word(0x90,0x00,"設(shè)定:");                  
  195.                    lcm_w_word(0x88,0x00,"電壓:");   
  196.                    lcm_w_word(0x98,0x00,"電流:");
  197.                           
  198.                    write_ad(0x10);
  199.                write_ad(0x04);
  200.                    adjisuan_U(read_AD_data(0x38));
  201.                    chai(temp1,1);  
  202.            lcm_w_word(0x88,3,GOUT);
  203.                    key_dac();


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

下載:
0-30V 4A數(shù)控穩(wěn)壓電源資料.zip (3.21 MB, 下載次數(shù): 161)
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2017-5-6 17:41 | 顯示全部樓層
好資料,51hei有你更精彩
回復(fù)

使用道具 舉報(bào)

ID:249545 發(fā)表于 2017-11-18 11:31 | 顯示全部樓層
做這個(gè)作品難度很高!
回復(fù)

使用道具 舉報(bào)

ID:251625 發(fā)表于 2017-11-20 20:18 | 顯示全部樓層
資料不錯(cuò),下載了,謝謝了,
回復(fù)

使用道具 舉報(bào)

ID:251625 發(fā)表于 2017-11-20 20:19 | 顯示全部樓層
資料不錯(cuò),下載了,謝謝了,
回復(fù)

使用道具 舉報(bào)

ID:139693 發(fā)表于 2017-11-23 07:46 | 顯示全部樓層
這個(gè)作品難度很高!
回復(fù)

使用道具 舉報(bào)

ID:95509 發(fā)表于 2017-11-23 15:59 | 顯示全部樓層
謝謝分享資料!學(xué)習(xí)!
回復(fù)

使用道具 舉報(bào)

ID:249545 發(fā)表于 2017-11-23 19:55 | 顯示全部樓層
樓主老師英武神勇,天下無(wú)敵!
回復(fù)

使用道具 舉報(bào)

ID:688605 發(fā)表于 2020-2-7 17:28 | 顯示全部樓層
這個(gè)作品難度系數(shù)超高的,請(qǐng)問(wèn)樓主師傅,采樣電壓控制PWM輸出的PID算法是如何設(shè)計(jì)的
回復(fù)

使用道具 舉報(bào)

ID:686739 發(fā)表于 2020-2-7 21:25 來(lái)自手機(jī) | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:698805 發(fā)表于 2020-2-28 14:00 | 顯示全部樓層
在制作中發(fā)現(xiàn);C37極性畫(huà)反了!還有就是復(fù)位電路是51和AVR都兼容的,不能把四個(gè)原件都焊接上去,用什么芯片就焊接什么樣的復(fù)位電路 !特此告知!
請(qǐng)問(wèn)這個(gè)問(wèn)題指的是所給資料中有的問(wèn)題需要自行修改的嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 高清亚洲 | 日韩精品无码一区二区三区 | 日韩中文字幕一区 | 亚洲人成人一区二区在线观看 | 久久成人一区 | 天天插日日操 | 精品久久久久久久久久久久久久 | 久久久一区二区三区四区 | 欧美一级片在线看 | 一区二区三区四区电影视频在线观看 | 国产精品夜色一区二区三区 | 欧美激情综合 | 一级毛片视频 | 91久久电影 | 精品国产不卡一区二区三区 | 国产成人综合在线 | 亚洲 欧美 激情 另类 校园 | 日本精品一区二区在线观看 | 国产精品精品视频一区二区三区 | 国产精品久久久久久久久久久久 | 免费国产视频在线观看 | 美日韩免费视频 | 99热国产免费 | 精品亚洲一区二区三区 | 欧美成人一区二区 | www.久久精品视频 | 日韩中文字幕2019 | www.色.com| 中文字幕亚洲视频 | 成人高清视频在线观看 | 亚洲成av人片在线观看 | 四虎影院在线播放 | 亚洲一区二区av | 久久成人免费 | 国产精品伦一区二区三级视频 | 国产精品欧美一区二区 | 国产午夜精品一区二区三区嫩草 | 成人在线播放 | www日本在线观看 | 亚洲社区在线 | 毛片一级片 |