ckf三葉草
想讓PWM頻率和佔空比都可以調節,並且可以通過外加電壓來控制,採用8腳的小單片機實現是最方便的,只要編寫個這樣的程序即可實現。這裡推薦一款好用的8腳單片機——ATtiny25,其Flash為2K,內置10位ADC、PWM及模擬比較器,工作電壓範圍為2.7~5.5V。
上圖為貼片封裝的ATtiny25V單片機,型號中帶有後綴字母“V”的,工作電壓可低至1.8V。
若不會使用該單片機,亦可以採用NE555時基電路來實現。上圖所示電路就是一個NE555構成的佔空比可調的矩形波發生器。改變RW的阻值即可調節輸出的佔空比,若想調整頻率,可以改變R40或C的標稱值。本電路可在5~15V電壓範圍內工作,輸出電流最大為200mA,具有較強的帶負載能力。
創意電子DIY分享
實現PWM頻率和佔空比雙可調建議使用帶ADC和PWM功能的MCU來設計方案
按題主的意思僅需要兩個ADC通道接可調電壓來控制PWM的頻率和佔空比,一個PWM輸出通道,並不需要其它外設,選用一個8個腳的MCU即可
HT66F021設計PWM頻率和佔空比雙可調方案
- HT66F021自帶一路PWM輸出,6路ADC輸用,足夠用了,不用的ADC的通道還可以用作普通IO,還可以擴展其它功能
- HT66F021設計的PWM頻率和佔空比雙可調方案原理圖
- 為了加大PWM輸出能力,用NPN三極管做PWM輸出,通過可調電阻R4設置PWM的輸出頻率,通過可調電阻R6設置PWM的佔空比輸出
- 單片機程序思路:循環讀取AN0/AN1的電壓值,根據電壓值的大小輸出對應頻率及佔空比的PWM信號
歡迎關注@電子產品設計方案,一起享受分享與學習的樂趣!關注我,成為朋友,一起交流一起學習
- 記得點贊和評論哦!非常感謝!
電子產品設計方案
我自己寫的函數,利用16位定時器3寫的2路或3路路同頻率(最大為時鐘頻率的1/2)和不同(當然也可以相同)佔空比(1~99)的函數,適用Atmega avr芯片:
void Tone(unsigned int feb,unsigned int mdutyL,unsigned int mdutyR) //feb:頻率,mduty:佔空比%
{
unsigned int mdutyT=(mdutyL+mdutyR)/2;
pinMode(hangpinL, OUTPUT);
pinMode(hangpinT, OUTPUT);
pinMode(hangpinR, OUTPUT);
TCCR3B = 0;
DDRE = 0x38;
TCCR3A = 0xAA;
TCCR3B = 0x10;
TCCR3C = 0xE0;
ICR3=8000000/feb-1; //頻率=16MHz/2/feb -1
OCR3A=mdutyL*80000/feb; //左佔空比
OCR3B=mdutyT*80000/feb; //中佔空比 10%
OCR3C=mdutyR*80000/feb; //右佔空比 50%
TCCR3B |= 0x01;
}
神筆碼農
簡單極了,555或556 頻率和佔空比都可調。電路簡單成本低。用單片機當然也行,任何一個口線都可以由時鐘中斷服務程序控制輸出PWM。不過呢,要看你要求頻率多高,太高的話,就要用FPGA。
散居獵人
用一個小單片機吧,幾毛錢,帶pwm功能的就可以了,用芯片的方案可能更貴
IT自動化交流
某寶現成的幾元,十幾元的都有數顯!