Re: 如何設計一個由a/d接收電壓不足,控制pwm時序的on跟off?
|
||||
---|---|---|---|---|
新會員
|
嗯,剛好今天又有來!
1)題外話,既然電流大到會導致壓降,怎不考慮隔離驅動!? . 而且電流大恐怕會有EMI/EMC問題哦! . 漣波/電容元件大小原本就是 trade-off 問題,不然如堅持 . 閉迴路,無法降低取樣時間,就只好降低取樣率(5, 10或100 . 週期取樣一次,那這樣100kHz,就沒意義啦!) 2)歹勢,上次寫錯是CCPR1L控制duty不是PR2啊! . 數值怎麼給?看你的控制法則啊! PID最簡單,如果控制功力強 . 要用Neuro, Fuzzy, Sliding Mode 悉聽尊便 . 所以囉!有PWM IC不用要去用PIC踢到鐵板囉轟!? 3)ADC, Delay都用中斷去處理,記得中斷副程式要判別是ADC, . 還是TIMER造成的中斷!(Delay600次還是可以處理啊)PWM . 在主程式是因為duty控制法則在這個Project中是主要議題! 說實在的,不知道你的主電路,只是用猜的,不知道能幫多少? 要放假囉!!
發表於: 2006/1/6 16:34
|
|||
|
Re: 如何設計一個由a/d接收電壓不足,控制pwm時序的on跟off?
|
||||
---|---|---|---|---|
初級會員
|
嗯,我懂了,不過我還是要提些議見,或許我是還有點問題想問
1)針對您說的開迴路,我不是不能設計,但因為我輸出的電壓要去推動某些動態會須要瞬間大電流的零件會導致壓降過大,所以我不得不考慮閉迴路動態的來做穩定的穩壓源,今日若還用類比的線路,則可以直接回應而且不用考慮損失問題,既然我已想改成軟體來處理,所以眼前的問題就一定得克服掉,降頻率亦不是不可行,但漣波可能過大或許,後面的電容就要很大顆來做充放電了,不然漣波就會變的太大 2)這麼說起來,我是該立即改變CCPR1L即可控制Duty了,那數值我要怎麼給它呢,因為它寫了數值後就會直接開到那個Duty才關,我才抓到電壓值,怎麼預先曉得Duty要開到多久以後電壓到達準位才OFF的數值? 3)您的第三個說明我覺得您的意思大概是,這個PWM與ADC讀A/D該寫在主程式,而Delay該寫在中斷裡,又或者是全部都寫在中斷裡,由各自中斷用觸發方式去跑該跑的細項的中斷,這樣子嗎? 多謝您的指導,疑問多,您的回應,已經有幫助我寫程式的方法了
發表於: 2006/1/5 0:59
|
|||
|
Re: 如何設計一個由a/d接收電壓不足,控制pwm時序的on跟off?
|
||||
---|---|---|---|---|
新會員
|
好吧, 看來你有概念, 加上今天有來逛, 再回答如下:
1) Yes, 6% Off-delay 因為要判別ADC --> 12TAD是一定要的 . 不然電路的回授控制就無法稱為回授,樓上的說100K當然沒 . 問題,我還切過開迴路208kHz過,問題是你的是閉迴路, . 又要耗掉不少判斷時間,所以我用oscillator最快20MHz去 . 計算證明給你看過了, 要嗎降頻率, 判斷的Delaytime會短些, . 可是延遲是一定有的,只是百分比占多少 trade-off issue 2) PR2, 既然是定頻率, 就只能改duty cycle了, 如果你想變頻 . 我想你也知道是改...(Hint: TMRx,自己找比較有趣) 3) 既然要多工就不能用Delay subroutine去耗時間,只能用 . 中斷,可以設定0.1秒中斷一次, 600次後正式停止, . 60次x10次=600 (8 bit max= 256)
發表於: 2006/1/4 22:47
|
|||
|
Re: 如何設計一個由a/d接收電壓不足,控制pwm時序的on跟off?
|
||||
---|---|---|---|---|
初級會員
|
感謝您的分享,讓我有了初步的概念,但是我仍然有些許問題,麻煩賜教
我知道PIC無法直接推動MOS,所以我會在MOS前加一NPN與PNP電晶體用一電壓源加以推動,所以這個倒不是難點. 問題如下: 1)難到真的得損失6%+6%=12%的損失不能完全在時序中控制嗎? 2)又我又該如何在PWM的時序ON的Time時,由回授的電壓判斷電壓足不足夠加以控制我要輸出ON/OFF呢?是直接修改PR2嗎? 3)假設我有一接腳接風鳴器要持續叫一分鐘,當我程式在RUN到Delay時,要RUN一分鐘,那我又該如何使PWM不會因為這個Delay而持續工作正常下去呢?當我程式在跑Delay時,我又如何可以直接在純Delay中加以修改那個PR2或者什麼的值,而讓PWM的輸出正常工作呢?是否這一部份寫到中斷裡就可以了? 抱歉,我還是新手,要寫同時多工的程式還要多磨練,麻煩指導一下,感恩!!
發表於: 2006/1/3 23:47
|
|||
|
Re: 如何設計一個由a/d接收電壓不足,控制pwm時序的on跟off?
|
||||
---|---|---|---|---|
初級會員
|
1
發表於: 2006/1/3 23:31
|
|||
|
Re: 如何設計一個由a/d接收電壓不足,控制pwm時序的on跟off?
|
||||
---|---|---|---|---|
資深會員
|
1.使用CCP模組,產生100K的頻率,應該不是難題.
2.AD使用中斷讀取,應該也不是難題.
發表於: 2006/1/3 0:30
|
|||
|
Re: 如何設計一個由a/d接收電壓不足,控制pwm時序的on跟off?
|
||||
---|---|---|---|---|
新會員
|
Dear Macii,
問題很大,建議你自己提出一些解決方案,再來問問. 不過我得先提醒你, 1) 理論上,用判斷式可以做到 2) PIC I/O= 5V, MOS Gate drive= 15V(usu.) 故PIC output無法直接推MOS, 3) fpwm=100kHz T=10 uS, 若fosc= 20MHz, TAD=50 nS 12TAD= 0.6 uS (無法反應的時間差),所占duty =0.6/10 意思是說,即便誰麼動作都沒做,你已經損失掉On duty的6% Off duty的6%,哪麼請問你 100%-6%-6%還剩多少? 概念可行,不過fpwm多考慮降頻,不常來,所以有問題,Mail吧!
發表於: 2006/1/2 15:31
|
|||
|
如何設計一個由a/d接收電壓不足,控制pwm時序的on跟off?
|
||||
---|---|---|---|---|
初級會員
|
如題:
線路是pwm控制一顆mos,而為降壓或升壓的線路,mos後面有穩壓電容及兩顆電阻分壓而得到電壓回授給A/D訊號腳. 我想設計一個不受其他部份程式影嚮Delay而正確持嬻的pwm控制MOS,這個pwm頻率大概100k Hz,但是他的on/off除了由本身的PWM控制外,另外由a/d接收到的電壓判斷,電壓由電阻分壓而得到,若電壓小於3V則PWM於PWM Duty HI 時,輸出則為HI,若已大於3V時,PWM就算當時Duty為HI時,則輸出也為OFF 此設計是為得到一穩定15V的電壓,但設計時亦不可因為其他程式的部份有Delay時間而失去準確的時序控制,亦即,PWM看起來像是獨立的,只能打開這個功能與關閉這個功能,當此功能打開則正確穩定運作PWM與A/D轉換 PS:我使用的是16F877晶片,與IDE的ASM組語寫
發表於: 2006/1/1 17:50
|
|||
|