討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
請問關於使用 PWM 穩壓的觀念
更改我的閱讀文章字型大小
作者 : derek115888(Derek)
[ 貼文 11 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/18 下午 11:15:52
我使用的是內建 ADC、PWM 並且相容 51的單晶片,使用 keil 編寫,
我想做一個穩壓的功能,利用 PWM 控制 MOS 管,
調整占空比,達到穩壓的效果,
我的想法很簡單,就是起初占空比是 0 ,
當 ADC 檢測還沒達到目標電壓時,占空比就 ++ ,
當 ADC 檢測到超過目標電壓時,占空比就 -- ,
可是實際使用後,發現電壓是可以在目標電壓附近跳動,
使用數位電表測量,發現是小數點第一位在跳動,
我就想說是不是變化太快了,所以就加了點延遲,
但是又不能使用 Delay,所以就用 ++ 迴圈的方式,
設定個 + 了5000 可以增加占空比,
如果是要減少占空比的話,因為電壓下降的速度慢,
所以我就只設定 + 400 就可以變化了,
利用調整變化的速度,穩定度是有比較好了,
大概就在小數點第二位那裡跳動,
可是我驅動的是 LED 燈,所以這樣跳動的程度還是會造成 LED 燈閃爍,
我有看過純硬體穩壓的效果,小數點第二位完全不會動,
想說是不是我這種穩壓的方法其實是不對的,
所以想請問一下,使用 PWM 來穩壓的觀念應該是怎樣呢?
謝謝。
作者 : asan2009(asan)
[ 貼文 11 | 人氣 0 | 評價 20 | 評價/貼文 1.82 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/20 上午 09:42:11
你要不要在MOS的輸出端加個大電容試試看~~

電容具有穩壓的效果~~

電容你可先選100uF 左右的試試看~
作者 : derek115888(Derek)
[ 貼文 11 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/22 上午 10:03:52
電容本來就有裝了,
我想應該是程式方面的問題吧~
作者 : asan2009(asan)
[ 貼文 11 | 人氣 0 | 評價 20 | 評價/貼文 1.82 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/22 下午 01:05:18
你可以試著不要一直去調整PWM , 也就是說~你設定一個容許的誤差值
在這個誤差直範圍內你就不去調整duty cycle.
另如~你設定的目標輸出電壓為5.0V . 容許無差值為5%
那當電壓在5.0V +/- 5%內你就不去改變PWM duty cycle 看是否有效
作者 : kib72377(史努比) Visual Basic卓越專家Assembly優秀好手Access頂尖高手貼文超過1000則
[ 貼文 1455 | 人氣 1891 | 評價 8600 | 評價/貼文 5.91 | 送出評價 31 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/22 下午 09:12:36
>設定個 + 了5000 可以增加占空比

光是這5000的迴圈,足夠讓你的電壓飄的了.
作者 : derek115888(Derek)
[ 貼文 11 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/23 下午 12:11:23

>>設定個 + 了5000 可以增加占空比
>
>光是這5000的迴圈,足夠讓你的電壓飄的了.


那請問應該怎麼寫比較好嗎?
我的+5000是整個程式跑5000次才進去,
因為原本沒有+5000的時候,電壓飄很大,
用了+5000電壓才變小飄~
我一直覺得整個寫法應該不對,
可是又想不到別的方法 ~
作者 : kennytsai(Kenny) C++卓越專家貼文超過500則
[ 貼文 720 | 人氣 2903 | 評價 2840 | 評價/貼文 3.94 | 送出評價 140 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人derek115888註記此篇回應為很有道理 2012/8/28 下午 10:25:46
1. 控制LED燈的正解是 driver IC(以 PWM 驅動前述 IC 來改變電流),不知道你有沒有使用?當然,單純使用二次RC也可以,雖然會有些掉漆。
2. 為了精確度,你可以盡量選擇最高的bits、例如有8 or 16可選時,請你優先使用16bits,因為你的duty cycle可以更精準。
3. 有一個事實你必須知道,那就是在類比的世界裡,沒有穩定的數值可言;我可以再進一步這樣說,任何牽涉到浮點(有小數點)的應用,都不會有穩定值。你提到的電壓飄移也許是你程式寫法的問題,但我想指出的是:電壓值屬於類比範疇,當你用兩個小數點的電錶量測穩定時,你該試試5個小數點的電錶;當5個小數點穩定時,你再試試10個小數點的電錶(雖然應該沒有這產品),我呈述的重點就是:有小數點時,你不要肖想得到穩定值(註:請問1/3=?)。事實上,當你使用浮點(double)寫程式時,你就已經被告知不可以執行類似if(a==b) {.. when double a,b; 的判斷,該怎麼比較兩個浮點呢?你必須先給定一個誤差範圍,並以此來判定,寫出來大概就是if((a-b)<RANGE) {...。希望你懂我的心。
4. 你提到程式裡算5000次,雖然不太懂,但我猜測你大概是以此來進行類似delay或timer的計算。在開發embedded系統時,請使用hardware的timer來執行任何你需要的時間需求,如果有困難,請退而求其次,以系統提供的timer函式來解決問題,這已經是其次了,不可以再退,再退就會是浪費cpu效能的空轉回圈、或是無效率的以try error來取得堪用的數值等。如果你的程式是在加一點、減一點的狀況下調整出來的,雖然這是Tuning的必經過程,但是請注意,重點是:當你調好後,你知道這數值的意義嗎?如果你無法回答他對應的絕對數值、例如25ms或是64/36比例,那就不夠專業喔。
5. 程式問題可能一言難盡,如果你貼出來,或許大家比較能提供意見。
Good Luck!
作者 : wallace_tsou(Wallace) 貼文超過200則
[ 貼文 262 | 人氣 314 | 評價 960 | 評價/貼文 3.66 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/3/15 下午 01:56:14
LED為電流元件,要控制光度應是要做穩流,而非穩壓。
所以要加電感做為穩流元件。加入電容反而更不好控制。
相關資料參考:
http://www.autooo.net/utf8-classid157-id85256.html
作者 : super9338(super9338)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/4/15 上午 10:31:46
用pwm穩壓可參考如下網址的第13項做法...^^

http://powerchip.myweb.hinet.net/sch.htm
 板主 : yuan
 > 嵌入式系統(Embedded System) - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 嵌入式系統(Embedded System) - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
嵌入式系統(Embedded System)
1 kting 770 
2 Lingb 400 
3 sazabi 400 
4 Huah 390 
5 hawkeye 380 
6 H 360 
7 yuan 350 
8 Kenny 310 
9 ozzy 290 
10 富伯 280 
嵌入式系統(Embedded System)
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.1398926