谁可以推荐一种可以通过0到10V电压(不通过电位器)来调整脉宽(pwm)的芯片!
谢谢! 可以考虑12位DA来实现 比较器│\
电压──┤+\ ┌───┐
│ >-─┤PWM├┬→PWM输出
┌─┤-/ └───┘│
│ │/ │
│ ┌───┐ │
└─←┤求平均├←──┘
└───┘ 曾写过一个简易的程序,用12F683,可以参考这里http://www.besttorch.com/viewthread.php?tid=1584&extra=page%3D2
MCU用12F683
GP0端子接电位器中心,电位器两端分别接VCC和GND,调节电位器就改变GP0端子的电压
GP2输出PWM脉冲,电位器抽头位置改变,PWM占空比随之改变
范例程序如下:
;----------------------------------------------------------
ORG 00H;复位向量地址
GOTO STAR ;转向主程序
;----------------------------------------------------------
ORG 04H;中断向量地址
;GOTO T0INT
;----------------------------------------------------------
ORG 05H;主程序起始地址
STAR
BCF STATUS,RP0;体选择BANK0
;----------------------------------------------------------
CLRF TMR0;清Timer0
;----------------------------------------------------------
MOVLW 0EH
MOVWF CMCON0;设定比较器19H
;----------------------------------------------------------
BSF STATUS,RP0;体选择BANK1
BSF OSCCON,IRCF0 ;设置频率为8MHz
;----------------------------------------------------------
MOVLW 07H
MOVWF OPTION_REG;允许上拉,预分频系数256
;----------------------------------------------------------
MOVLW 29H
MOVWF TRISIO
;----------------------------------------------------------
MOVLW 71H
MOVWF ANSEL
BCF STATUS,RP0
MOVLW 01H
MOVWF ADCON0
CALL DELAY10US
SETAD BSF ADCON0,GO
BTFSC ADCON0,GO
GOTO $-1
MOVF ADRESH,W
MOVWF RESUTMP
XORWF RESULTH,F
BTFSS STATUS,Z
GOTO SETCCP
CALL DELAY166MS
GOTO SETAD
SETCCP
MOVLW 04H
MOVWF T2CON
BSF STATUS,RP0
MOVLW 0FFH
MOVWF PR2
BCF STATUS,RP0
MOVF RESUTMP,W
MOVWF CCPR1L
MOVLW 0FH
MOVWF CCP1CON
CALL DELAY10MS
GOTO SETAD
MCU用5V供电,电位器加个电阻分压一下,很容易0~10V tl494 谢谢各位 tl494可以,我做飞思卡尔(7.2V)时用的硬件PID时做过。 http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_572322.jpg
tl494脉宽调制单回路控制 (原文件名:未命名.jpg) 晕 基本上所有PWM调制的开关电源芯片都是用电压量比较输入来控制脉宽的主要是看你要用多高的频率了。常用的有494 3524 3525 3842之类的 用电位器的就是调电压的。
页:
[1]