除非用32位MCU,8位的不够用,无法产生比较连续流畅的频率变化。
这个和MCU的位数没有关系,主要就是主频够高就行,当然必须得有PWM功能,16位定时器{:lol:} 用现成的V-F变换芯片会不会简单一点 LM331 用来V/F转换的方案 压控振荡不复杂,但实现你的控制部分复杂, 还是说说具体应用吧,0.2秒从100HZ变化到100KHZ,过程会很粗糙的。 频率变化要求线性增加、指数增加还是不作要求? PIC10F32X和PIC16F150X系列集成的数控振荡器 (NCO)
下面的是视频(不好意思,不会贴视频)
http://www.microchip.com.cn/community/Video/detail/item/343.html
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en553476
Microchip推出的NCO(Numerically Controlled Oscillator,数控振荡器)新硬件模块是一个定时器,该定时器在所选的输入时钟源作用下以一个16位的固定递增值向一个20位的累加器进行递增,引起累加器周期性上溢,来对输入时钟源进行分频。NCO具有真正的线性频率控制能力。
NCO输出的频率FNCO计算公式:
NCO对于在固定占空比条件下要求频率精确和分辨率精细的应用最为有用。例如,在照明和低成本声音生成(报警等)的应用市场中,都需要非常精确的频率控制。NCO模块是Microchip针对这个要求提供的全新方案。
NCO的输出有固定占空比(FDC)和脉冲频率(PF)2种工作模式。在固定占空比(FDC)模式下,每次累加器上溢,输出就将翻转,在递增值保持不变的情况下,占空比固定为50%。在脉冲频率(PF)模式下,每次累加器上溢,有效输出的脉宽会保持一定的输入时钟周期,有效输出的脉宽所保持的周期通过“输出脉宽选择位”来设置。有效输出电平的极性通过“输出信号极性控制位”来设置。
NCO累加器每次上溢,都会将NCO中断标志位置位,该中断标志位需软件清零。 NCO可以是线性的。视频说的很清楚. armok 发表于 2012-6-18 09:04 static/image/common/back.gif
除非用32位MCU,8位的不够用,无法产生比较连续流畅的频率变化。
PIC的NCO用的是8位的,8个脚,这个的价格也便宜 本帖最后由 90999 于 2012-6-18 11:36 编辑
IC是德州的CD4046B,中心频率我选的是60K(VCOIN=VDD*0.5),缓冲放大器用TL071(双电源),R3和C2是5HZ的低通滤波器。
马马虎虎画了一个不知道符合不符合老大的要求
用的别的8腿片子凑合的
控制555的5脚,平时有个电容,电压2/3VCC,按键按下时,电容通过一个电阻对一个较低电压放电,这样电压下降,频率上升,设计好阻容,估计能在0.2秒到达要求 老大 是用到雕刻机的手控部分吧,555的5脚对地接个10UF的电解电容,串个10K的电阻接到一个电位器(1K5)的中心端,这个电位器接到555的供电上,控制开关用轻触开关串在555的供电回路就行 这个图仅仅是用来做仿真验证.
U1A. 用来检查开关事件.输出0时刻. 对C2放电.这样在R5,Q4上形成一个可变的恒流源. 恒流负载C1. U1B,Q2.用来震荡.Q1 是用来在按键放开时刻停止脉冲输出.
了解下情况,有个芯片应该可以用上。
1. 使用555或运放也行,要求线路最简化。
2.线路上有1个按键,1个电位器。
3.当电位器调到最大(或最小也行)位置时, 按下按键,在0.2秒内,输出的频率从100HZ 升到22KHZ(频率是大概值,不要求很精密)。
(这个频率上升是否受电位器控制,还是自动上升)。
4. 电位器调节时,可以让输出的最大频率从100HZ-22KHZ 之间变化。
按下按键时的开始频率没有严格要求,但需要小于100HZ或等于100HZ。
频率的上升时间也没有具体要求,但需要是小于0.2秒
(这点应该说明频率是受电位控制的)
5. 如果放开按键,停止频率输出。如果再立即按键,频率再次从100HZ开始上升。
(这个应该是频率开关) 重要的是第三、第四点,就像步进加速处理一样。并不是单纯的电压转频率
如果是控制步进电机用的,那频率的上升至少要接近线性,呈指数增加的不适合
同样期待不用编程芯片的方案 gzhuli 发表于 2012-6-18 10:56 static/image/common/back.gif
频率变化要求线性增加、指数增加还是不作要求?
一般不做说明的话,都是线性的。 VFC110 这个芯片不错,最高可产生至4MHz 本帖最后由 d__xin 于 2012-6-18 14:22 编辑
看了22楼发现理解有些错误,改了一下图
本帖最后由 d__xin 于 2012-6-18 14:33 编辑
回复怎么加不上图了?
可能是我网络的事,再加一次试试 这个应该可以的 VF转换器可以换一个便宜的 VF转换器的占空比是50%的 这样应该更好一点 本帖最后由 huayuliang 于 2012-6-18 14:40 编辑
100Hz 到 22kHz~~~范围比 220 啊,诸位的设计考虑。。。。能成不?
实在不成···混频吧。 huayuliang 发表于 2012-6-18 14:38 static/image/common/back.gif
100Hz 到 22kHz~~~范围比 220 啊,诸位的设计考虑。。。。能成不?
实在不成···混频吧。 ...
LM331应该是没问题的。
这个估计是用在雕刻机手控的步进电机缓起动功能,所以加速曲线比频率精度更重要,RC充电曲线感觉还是有点陡了。 本帖最后由 huayuliang 于 2012-6-19 13:54 编辑
改用非自锁开关。
这是一个由NE555组成的压控振荡器,控制电压从0到5V,产生0~22KHz的振荡频率,Q2和Q3组成两个电流源,用于对振荡电容C1进行充放电,这样的好处是输出占空比恒定为50%,避免传统的555电路做VCO时,占空比大幅变化。C2和R5产生0.2秒的渐变过程,用于调制输出频率。
哇,论坛高手都来了。可惜我的模拟基础差不会设计。 留名待查, 我也来一张
缺点是输出的是短脉冲,而且频率变化不是线性的,可以通过调整RC改变扫频范围,以及扫频时间 关注一下 cowboy 发表于 2012-6-19 15:15 static/image/common/back.gif
这是一个由NE555组成的压控振荡器,控制电压从0到5V,产生0~22KHz的振荡频率,Q2和Q3组成两个电流源,用于 ...
CowBoy的图最便宜,把那两个串联的二极管换成电阻可能更好,一个限制频率下限,第二个提供电阻放电路径 cowboy 发表于 2012-6-19 15:15 static/image/common/back.gif
这是一个由NE555组成的压控振荡器,控制电压从0到5V,产生0~22KHz的振荡频率,Q2和Q3组成两个电流源,用于 ...
我是来顶 cowboy 的。
cowboy 很久没有现身了。
上个小 cowboy 的漂亮照,或者用作头像吧。
a mcu would be the simplest solution. you canuse a pot and adc its wiper, use a timer to drive an accumulator to output a pin. 22khz -> 50us and this can be easily done even with the simplest mcu.
for reliability, you can use a rotary encoder too.
同意43楼,用片LGT吧。 本帖最后由 JQ_Lin 于 2012-6-19 22:40 编辑
不知最高频率输出时的占空比是多少哦,或者脉冲宽度不少于多少us 。
应当有要求的吧。
millwood0 发表于 2012-6-19 19:20 static/image/common/back.gif
a mcu would be the simplest solution. you canuse a pot and adc its wiper, use a timer to drive an...
要求里面不允许用MCU实现的,虽然用MCU会更简单 vjcmain 发表于 2012-6-19 22:36 static/image/common/back.gif
要求里面不允许用MCU实现的,虽然用MCU会更简单
用了MCU,有了程序,就不再是简单。
阿莫的本意是,一旦出现故障,使用者可以自行排除和维修。
若有了程序,普通使用者就没招了。
cowboy 发表于 2012-6-19 15:15 static/image/common/back.gif
这是一个由NE555组成的压控振荡器,控制电压从0到5V,产生0~22KHz的振荡频率,Q2和Q3组成两个电流源,用于 ...
这个图非常好,是否能改成单刀单掷的轻触开关实现,另外最好按键释放的时候能立刻降频,因为如果恢复的慢,用户连续按键的时候可能会启动不了。 http://www.amobbs.com/thread-5475017-1-2.html
不知这个叫LGT DDS的小板改一下行不? 按 春风kdtcf的提议,改为单刀单掷的轻触开关,另外按键释放时通过新增三极管检测,控制555的复位引脚,立即禁止输出。
有个缺陷是电容C2的放电时间稍长,当按键释放后立即又按下时,输出频率不能从最低开始。
MAX038 频率高、精度好,。在锁相环、压控振荡器、频率合成器、脉宽调制器等电路的设计上,MAX038 都是优选的器件。
gprs_new 发表于 2012-6-20 01:09 static/image/common/back.gif
MAX038 频率高、精度好,。在锁相环、压控振荡器、频率合成器、脉宽调制器等电路的设计上,MAX038 都是优选 ...
成本啊老大~ 不知这个叫LGT DDS的小板改一下行不?
there is also an avr dds somewhere out there.
LT has a family of resistor controlled oscillator. It would be handy here.
本帖最后由 njchenmin 于 2012-6-20 06:52 编辑
我推荐一个芯片,LTC6900,在加很少的几个器件就能实现,最低频率是1K,希望对莫老大有帮助。
只要实现连到set端电阻的电压在按键按下后缓慢上升就可以了。 我的思路与35楼一样,只不过我用555,肯定能满足要求。 cowboy 发表于 2012-6-20 00:56 static/image/common/back.gif
按 春风kdtcf的提议,改为单刀单掷的轻触开关,另外按键释放时通过新增三极管检测,控制555的复位引脚, ...
C2下面接的两个二极管再反向并联一个就可以快速对地放电了. 本帖最后由 Crazy_Rain 于 2012-6-20 13:41 编辑
凑个热闹,上一个目前成本最低的方案,只要一元钱!没错,只要一元钱!!{:3_51:}
还没计算,有人感兴趣再计算吧
顶 cowboy 顶个好贴 Crazy_Rain 发表于 2012-6-20 12:43 static/image/common/back.gif
凑个热闹,上一个目前成本最低的方案,只要一元钱!没错,只要一元钱!!
还没计算,有人感兴趣 ...
“还没计算,有人感兴趣再计算吧”
还是自己先计算一下吧。
为自己学习和为自己负责,是最起码的底线了。
等到有人感兴趣时,是否能计算出来还两说呢。
JQ_Lin 发表于 2012-6-21 11:33 static/image/common/back.gif
等到有人感兴趣时,是否能计算出来还两说呢。
本来我还真不想算的,一般人的激将法对我也不管用
可是您老都发话了,我还是算一下吧,免得说我不尊老爱幼~~
一会儿将计算结果贴上来。。 JQ_Lin 发表于 2012-6-21 11:33 static/image/common/back.gif
“还没计算,有人感兴趣再计算吧”
还是自己先计算一下吧。
原图有一个地方加入了R10,如下:
这个振荡器是根据三极管Q3 BE结的反向击穿特性设计的,不同型号三极管BE结的反向击穿电压有所不同,需要实际测量,这里假设三极管的BE结反向击穿电压Vber=7V,VCC=15V,并且假设所有三极管都是理想三极管。
1、振荡器最低频率下的相关计算:
当按键按下,并且刚松开的一瞬间,定时电容C1的电压为0,此时压控电流源Q1关闭。振荡频率最低,并且由R1、Q3、R8、C2决定。
假设C2=30000 pF,R8=10Ω,最低频率F_low=100Hz。
由电容放电公式可知,C2的放电时间t_dis ≈ 3*R8*C8 = 0.9 us,远小于1/100Hz = 10 ms,因此振荡周期T_osc_low≈充电时间T_ch_low。
T_ch_low = -ln(1-7V/15V)*R1*C2 = 10 ms。==> R1 ≈ 530 KΩ 整理如下:
C2 = 30000 pF,
R8 = 10Ω,
R1 = 530 KΩ.
2、振荡器最高频率下的相关计算:
假设最高振荡频率F_high = 20 KHz,则相应的周期T_osc_high = 1/20KHz = 50 us。由上面的计算已经知道,振荡电容C2的放电时间t_dis = 0.9 us,仍然远小于振荡周期,此时仍然可以认为振荡周期 T_osc_high ≈ 充电时间T_ch_high。而此时C2的充电电流主要是由Q1构成的电流源提供的,因此计算时可以忽略R1的存在。
假设R2 = 200Ω,则最高频率时Q1需要提供的电流 I_ch = C2*7V/T_osc_high = 4.2 mA ,
此时R2相应的压降 V_r2 = I_ch * R2 = 0.84 V ,
R3的压降 V_r3 = V_r2 + Vbe_Q1 = 0.84+0.65 = 1.49V
取R3 = R7 = 1000Ω,因为最高频率时R6 = 0,所以R10 = 15V/V_r3 * R3 - R3 - R7 ≈ 8100,取R10 = 8.2 KΩ。
为了确保电位器R6在最大值时,振荡频率是最低的,即100Hz,需要保证此时Q1的集电极电流为0,即V_r3_low < Vbe_Q1 = 0.65V,不难算得R6 > 13KΩ,取R6 = 15 KΩ。
整理如下:
R2 = 200Ω,
R3 = R7 = 1000Ω,
R10 = 8.2 KΩ
电位器 R6 = 15 KΩ
3、频率从最低值上升到最高值所需时间:
T_scan ≈ 3 * R7 * C1,取C1 = 47 uF,则
T_scan ≈ 3 * R7 * C1 = 3 * 1000 * 47uF ≈ 0.14 s
4、按下按键时C1的放电时间,假设为0.05s,
则此时Q2集电极需要提供的电流 I_Q2 = C1 * V_C1 / 0.05s ≈ 14 mA
假设Q2的β=100,则Q2的基极需要提供约0.14 mA的电流
因此R5 = (15 - 2*0.65) / 0.14mA ≈ 98 KΩ ,为确保按键按下时,C1放电的速度足够快,R5可以适当去小一些,
这里R5取68 KΩ。
R4和R9无特殊要求,取1000Ω即可。
最后整理得:
C2 = 30000 pF,
R8 = 10Ω,
R1 = 530 KΩ.
R2 = 200Ω,
R3 = R4 = R7 = R9 = 1000Ω,
R10 = 8.2 KΩ
电位器 R6 = 15 KΩ,
C1 = 47 uF,
R5 = 68KΩ 顺便简单说一下工作原理:
按下按键时,Q4将C2的上端拉到接近地电位,Q3停止振荡;同时C1上的电荷也被Q2放掉,所以此时电流源Q1输出为0
按键松开后,R1对C2充电,振荡器开始振荡;同时R7也对C1充电,因此电流源Q1开始由0逐渐增大,振荡频率开始从100Hz上升到最大值22KHz
当按键再次按下时,由于Q4将C2的上端拉到接近地电位,因此振荡立即停止,同时电流源的输出也随着C1的放电迅速降为0
电位器R6用于设定最高振荡频率,电位器的值为0——15KΩ对应最高振荡频率从100Hz到22KHz 雪崩击穿张弛振荡器的抖动很大的…… gzhuli 发表于 2012-6-21 18:30 static/image/common/back.gif
雪崩击穿张弛振荡器的抖动很大的……
楼主位都说了要求不高的,只求最简化
一分钱一分货,你也知道的:) Crazy_Rain 发表于 2012-6-21 18:38 static/image/common/back.gif
楼主位都说了要求不高的,只求最简化
一分钱一分货,你也知道的:)
最简化 != 最低成本 哦亲~
这个电路的一致性比起555方案差一大截,自己DIY玩玩还可以,量产会调死人的。 本帖最后由 Crazy_Rain 于 2012-6-21 19:06 编辑
gzhuli 发表于 2012-6-21 18:48 static/image/common/back.gif
最简化 != 最低成本 哦亲~
这个电路的一致性比起555方案差一大截,自己DIY玩玩还可以,量产会调死人的。 ...
亲,别太认真,我只是迎合楼主的标题随便发挥一下罢了:)
我相信这个电路是最简化的,也是最低成本的,但不是最实用的。这里只是探讨一种极端的可能性和设计思路而已
当然也不建议阿莫使用,因为我自己肯定也不会用这种电路的:) Crazy_Rain 发表于 2012-6-21 17:11 static/image/common/back.gif
原图有一个地方加入了R10,如下:
这个振荡器是根据三极管Q3 BE结的反向击穿特性设计的,不同型号三极管BE结的反向击穿电压有所不同,需要实际测量,这里假设三极管的BE结反向击穿电压Vber=7V,
看了 Crazy_Rain 的回复,让我想起了六、七十年代,手边没有稳压管可用,硬是坐在晶体管图示仪前,一个一个地测试三极管PN结的击穿特性,期待选出可用之物。
有的高,有的低;少有拐弯陡直的,大多倾斜不堪;有的根本就不能击穿。最后还是泄气了。
http://www.myplace.nu/avr/minidds/index.htm
这个用R-2R做的,分辨率和频率还可以。 本帖最后由 cowboy 于 2012-6-22 19:53 编辑
555的方案要实现按键放开后电容快速放电,还要多加几个电阻,电路不简洁了,LM331可能是较好的选择。
下图就是利用Q4对电容C2进行快速放电的电路,按键释放时,R8、R9提供Q4的基极电流,Q4导通释放电容电荷。
频率的变化规律接近线性,因为只使用了电容C2充电曲线的起始部分,这部分的线性还可以。
对NE555的复位引脚加以控制是考虑到不工作时,Q3、Q4漏电流引起不必要的低频振荡。
电路的起始频率和终止频率会受温度的影响,虽然加了D2、D3作补偿,但精度和LM331相比还是差一些。
喜欢使用555因为她是通用器件,容易购买且价格便宜,但毕竟不是专用的VFC,因而性能一般,电路也较复杂。
我也弄个运放的玩玩。本例VCO非线性当电压上升两倍时頻率上升1.5倍,最低頻率140Hz其占空30%,最高頻率21KHz其占空50%,計时电容3.3uF上升亦非直线性,如果VR50K用LOG型可以矯正趨向于线性。 用一个不到1元成本的mcu,除按键和电位器外,只要加一个电容,不需要其他元件,
成本够低,线路够简单,产品的一致性够好,调试方便,
线性?----------->可以,
指数式?---------->可以
对数式?---------->也可以
精度?,哈,哈哈,哈哈哈,
标记一下
页:
[1]