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

QQ登錄

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

搜索
查看: 3392|回復(fù): 18
打印 上一主題 下一主題
收起左側(cè)

求指導(dǎo)數(shù)控直流穩(wěn)壓電源設(shè)計(jì)

  [復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 5 黑幣 回復(fù)本帖可獲得 5 黑幣獎(jiǎng)勵(lì)! 每人限 2 次
跳轉(zhuǎn)到指定樓層
樓主
我想用DAC0832,LM317來(lái)弄,知識(shí)淺薄,不懂這1,2問(wèn)怎么弄,求指導(dǎo)!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

來(lái)自 2#
ID:213173 發(fā)表于 2020-8-7 11:01 | 只看該作者
本帖最后由 wulin 于 2020-8-7 15:58 編輯
學(xué)習(xí)學(xué)習(xí)ing 發(fā)表于 2020-8-6 20:51
我這該怎么樣,當(dāng)DAC0832的輸出端給一個(gè)+,- 0.02v的電壓通過(guò)LM324放大5倍,得到0.1v。然后到LM317進(jìn)行輸 ...

不必搞那么復(fù)雜,用PWM通過(guò)運(yùn)放濾波放大控制LM317,輸出電壓通過(guò)運(yùn)算可得,實(shí)際電路參數(shù)微調(diào)一下即可。運(yùn)放最大輸出電壓=VCC-1.5V,所以用12V電源不行。LM324/358最大電源電壓的32V,放心使用。仿真簡(jiǎn)圖和示例程序如下:


  1. #include<reg52.h>
  2. #define key_S 10                                        //宏定義短按(約10ms)
  3. #define key_L key_S*35                        //宏定義長(zhǎng)按(約500ms)
  4. #define key_I key_S*27                        //宏定義長(zhǎng)按連+/-間隔(約120ms)
  5. #define uint unsigned int
  6. #define uchar unsigned char
  7. sbit OUT =P2^4;
  8. sbit key1=P2^5;
  9. sbit key2=P2^6;

  10. unsigned char code table[]={//共陽(yáng)數(shù)碼管段碼"0~f-."
  11.                 0xc0,0xf9,0xa4,0xb0,
  12.                 0x99,0x92,0x82,0xf8,
  13.                 0x80,0x90,0x88,0x83,
  14.                 0xc6,0xa1,0x86,0x8e,0xbf,0x7f};
  15. uchar data dis_buf[4];
  16. unsigned char num=0;
  17. unsigned int count=0,V_IN;
  18. bit sign=0;

  19. void delay(unsigned int k)
  20. {
  21.         unsigned int i,j;
  22.         for(i=k;i>0;i--)
  23.                 for(j=110;j>0;j--);
  24. }

  25. void keyscan()    //按鍵掃描
  26. {
  27.         static unsigned int time=0;
  28.         if(!key1||!key2)
  29.         {
  30.                 time++;
  31.                 if(time>key_L)//長(zhǎng)按有效
  32.                         time=key_I;//連+/-間隔

  33.                 if(time==key_S||time==key_L)//短按消抖+/-或長(zhǎng)按連+/-
  34.                 {
  35.                         if(!key1)//++
  36.                         {
  37.                                 if(count<100)
  38.                                         count++;//步進(jìn)電壓0.1875
  39.                         }
  40.                         if(!key2)//--
  41.                         {
  42.                                 if(count>0)
  43.                                         count--;
  44.                         }
  45.                 }
  46.         }
  47.         else time=0;
  48. }
  49. void Timer0Init()        //100微秒@12.000MHz
  50. {
  51.         TMOD= 0x02;                //設(shè)置T0自動(dòng)重裝模式
  52.         TL0 = 0x9C;                //設(shè)置定時(shí)初值
  53.         TH0 = 0x9C;                //設(shè)置定時(shí)重載值
  54.         TR0 = 1;                        //定時(shí)器0開(kāi)始計(jì)時(shí)
  55.         EA = 1;                        //開(kāi)總中斷
  56.         ET0 = 1;                        //開(kāi)T0中斷
  57. }
  58. void display(void)
  59. {
  60.         static uchar i=0;
  61.         dis_buf[0]=table[V_IN/1000];//數(shù)據(jù)分解
  62.         dis_buf[1]=table[V_IN/100%10];
  63.         dis_buf[2]=table[V_IN/10%10];
  64.         dis_buf[3]=table[V_IN%10];

  65.         P0=0xff;                                        //段碼消隱
  66.         P2&=0xf0;                                //位碼清0
  67.         if(i==1)
  68.                 P0=dis_buf[i]&0x7f;//送段碼加點(diǎn)
  69.         else
  70.                 P0=dis_buf[i];                //送段碼不加點(diǎn)
  71.         P2|=0x01<<i;                        //送位碼
  72.         i++;
  73.         i%=4;
  74. }
  75. void main(void)
  76. {
  77.         Timer0Init();
  78.         while(1)
  79.         {
  80.                 keyscan();
  81.                 V_IN=(count*187.5+1250+5)/10;//電壓換算(放大1000/10四舍五入)
  82.                 display();
  83.                 delay(1);
  84.         }
  85. }

  86. void Timer0Interrupt(void) interrupt 1
  87. {
  88.         num++;
  89.         if(num>100)
  90.                 num=0;
  91.         if(count>=num)//PWM
  92.                 OUT=1;
  93.         else OUT=0;
  94. }
復(fù)制代碼




回復(fù)

使用道具 舉報(bào)

板凳
ID:810684 發(fā)表于 2020-8-2 23:02 | 只看該作者
LM317屬于集成可調(diào)線性穩(wěn)壓器,最簡(jiǎn)單的辦法就是,用LM317的典型電路,把反饋端的兩個(gè)分壓電阻的其中一個(gè)改成數(shù)字電位器,然后利用單片機(jī)去控制數(shù)字電位器的阻值,即可完成簡(jiǎn)單的數(shù)控穩(wěn)壓電源

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
學(xué)習(xí)學(xué)習(xí)ing + 5

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:804115 發(fā)表于 2020-8-3 00:35 | 只看該作者
好好看看這個(gè):
http://www.torrancerestoration.com/bbs/dpj-119664-1.html
另外,要學(xué)會(huì)百度,例如百度:穩(wěn)壓電源的設(shè)計(jì) 、 什么是穩(wěn)壓電源的輸出電壓范圍,什么是穩(wěn)壓電源的步進(jìn),什么是穩(wěn)壓電源的紋波,什么是穩(wěn)壓電源的最大輸出電流等等。
把你想知道的一點(diǎn)兒一點(diǎn)兒拆解,一點(diǎn)兒一點(diǎn)兒百度。

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
學(xué)習(xí)學(xué)習(xí)ing + 5

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

5#
ID:213173 發(fā)表于 2020-8-3 09:22 | 只看該作者
本帖最后由 wulin 于 2020-8-3 16:13 編輯

樓主構(gòu)想的數(shù)控電源能夠?qū)崿F(xiàn),可以采用具有內(nèi)置AD/DA的芯片完成調(diào)壓和數(shù)碼管顯示。下圖是仿真和基本原理圖。



評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
學(xué)習(xí)學(xué)習(xí)ing + 10

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

6#
ID:811100 發(fā)表于 2020-8-4 21:22 | 只看該作者
wulin 發(fā)表于 2020-8-3 09:22
樓主構(gòu)想的數(shù)控電源能夠?qū)崿F(xiàn),可以采用具有內(nèi)置AD/DA的芯片完成調(diào)壓和數(shù)碼管顯示。下圖是仿真和基本原理圖 ...

單片機(jī)可以用stc89c52的嗎
回復(fù)

使用道具 舉報(bào)

7#
ID:151348 發(fā)表于 2020-8-5 08:13 | 只看該作者
核心思想:改變串聯(lián)型穩(wěn)壓電源的基準(zhǔn)電壓實(shí)現(xiàn)輸出電壓的改變。
1、如果使用單片機(jī),
學(xué)校里面一般選擇單片機(jī)控制DA輸出,比如單片機(jī)+DAC0832。DA輸出作為串聯(lián)型穩(wěn)壓電源的基準(zhǔn)電壓。串聯(lián)型穩(wěn)壓電源自己到網(wǎng)上搜一下
2、不使用單片機(jī)
計(jì)數(shù)器74192輸出端接入DAC0832輸入端,DA輸出作為串聯(lián)型穩(wěn)壓電源的基準(zhǔn)電壓。這種方法需要用兩組74192+DAC0832,電路比較復(fù)雜

穩(wěn)壓電源功率20W,那么需要考慮調(diào)整管功率,TIP41之類的滿足要求
回復(fù)

使用道具 舉報(bào)

8#
ID:213173 發(fā)表于 2020-8-5 12:40 | 只看該作者
Sakura最好了 發(fā)表于 2020-8-4 21:22
單片機(jī)可以用stc89c52的嗎

可以用stc89c52+DAC芯片。
回復(fù)

使用道具 舉報(bào)

9#
ID:401564 發(fā)表于 2020-8-5 17:17 | 只看該作者
我有現(xiàn)成的要不?
12位DAC+16位ADC,單片機(jī)使用STC8A4K系列的,12864顯示,匯編語(yǔ)言,編碼開(kāi)關(guān)調(diào)節(jié)輸出電壓,步進(jìn)好像是0.01V的,精度5mV以內(nèi),成本有點(diǎn)小高
回復(fù)

使用道具 舉報(bào)

10#
ID:811100 發(fā)表于 2020-8-5 20:01 | 只看該作者
Y_G_G 發(fā)表于 2020-8-5 17:17
我有現(xiàn)成的要不?
12位DAC+16位ADC,單片機(jī)使用STC8A4K系列的,12864顯示,匯編語(yǔ)言,編碼開(kāi)關(guān)調(diào)節(jié)輸出電壓,步 ...

想知道原理
回復(fù)

使用道具 舉報(bào)

11#
ID:401564 發(fā)表于 2020-8-5 20:10 | 只看該作者
可調(diào)電源電路.pdf (115.9 KB, 下載次數(shù): 51) 這個(gè)是電路圖
回復(fù)

使用道具 舉報(bào)

12#
ID:811100 發(fā)表于 2020-8-5 21:58 | 只看該作者
Y_G_G 發(fā)表于 2020-8-5 20:10
這個(gè)是電路圖

哭了,看不懂
回復(fù)

使用道具 舉報(bào)

13#
ID:767999 發(fā)表于 2020-8-6 20:51 | 只看該作者
wulin 發(fā)表于 2020-8-3 09:22
樓主構(gòu)想的數(shù)控電源能夠?qū)崿F(xiàn),可以采用具有內(nèi)置AD/DA的芯片完成調(diào)壓和數(shù)碼管顯示。下圖是仿真和基本原理圖 ...

我這該怎么樣,當(dāng)DAC0832的輸出端給一個(gè)+,- 0.02v的電壓通過(guò)LM324放大5倍,得到0.1v。然后到LM317進(jìn)行輸出,一直卡在LM317這不懂怎么像,你的圖片中那樣進(jìn)行輸出,而且怎么讓他從1.5開(kāi)始到20v.還有我的LM324接12v對(duì)嗎?麻煩大佬幫忙看看,提點(diǎn)下。!

數(shù)控.png (83.36 KB, 下載次數(shù): 62)

數(shù)控.png
回復(fù)

使用道具 舉報(bào)

14#
ID:767999 發(fā)表于 2020-8-6 20:58 | 只看該作者
通過(guò)LM324給出0.1v,然后怎么通過(guò)LM317輸出,而且怎么從1.5v開(kāi)始
回復(fù)

使用道具 舉報(bào)

15#
ID:767999 發(fā)表于 2020-8-8 13:05 | 只看該作者
wulin 發(fā)表于 2020-8-7 11:01
不必搞那么復(fù)雜,用PWM通過(guò)運(yùn)放濾波放大控制LM317,輸出電壓通過(guò)運(yùn)算可得,實(shí)際電路參數(shù)微調(diào)一下即可。運(yùn) ...

大佬,好像加減過(guò)程中他的實(shí)際輸出電壓和數(shù)碼管顯示的有誤差,剛開(kāi)始誤差不大,到后面他的實(shí)際電壓誤差會(huì)很大
回復(fù)

使用道具 舉報(bào)

16#
ID:213173 發(fā)表于 2020-8-8 14:05 | 只看該作者
學(xué)習(xí)學(xué)習(xí)ing 發(fā)表于 2020-8-8 13:05
大佬,好像加減過(guò)程中他的實(shí)際輸出電壓和數(shù)碼管顯示的有誤差,剛開(kāi)始誤差不大,到后面他的實(shí)際電壓誤差會(huì) ...

這只是一個(gè)基本的原理電路。理論計(jì)算和實(shí)際電路當(dāng)然會(huì)有誤差,這是由VCC精準(zhǔn)度、元器件的離散性和元件溫飄導(dǎo)致。要在程序中修改換算系數(shù)使其更接近實(shí)際數(shù)值,也可以按前述電路用ADC取樣,這樣誤差會(huì)很小。
公式原型V_IN=((count*0.1875+1.25)*1000+5)/10;//電壓換算(放大1000/10四舍五入)
count=PWM占空比值,0.1875為換算系數(shù),1.25為317最低輸出電壓?梢愿鶕(jù)實(shí)測(cè)輸出最高電壓減最低電壓除以100得到換算系數(shù)在程序中修正。
回復(fù)

使用道具 舉報(bào)

17#
ID:280512 發(fā)表于 2020-8-8 14:56 | 只看該作者
按照樓主的題目,主要是考慮0832的分辨率,用cpu控制輸出的數(shù)字量,此信號(hào)經(jīng)過(guò)濾波,輸入給0832,可以輸出給運(yùn)放去控制一個(gè)三極管,加到317的adj端.317的輸出最低要調(diào)整到1.5v,其它的量通過(guò)三極管和電阻的配合,升到20v       這個(gè)電腦沒(méi)畫(huà)圖軟件.思路供參考
回復(fù)

使用道具 舉報(bào)

18#
ID:478073 發(fā)表于 2020-8-8 15:15 | 只看該作者
其實(shí)沒(méi)有這么麻煩,有一個(gè)功率在的供電電源(二手電腦電源可考慮),一個(gè)可PWM可調(diào)的降壓型芯片,同比較器及電路就能做
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表