PWM - Analogue Filtering?

Hi guys, I'm looking to convert the PWM signal coming from my Diecimila into a control voltage to use with an analogue synth. I've found plenty of info on this topic and on the forum. The thing is, I'd like to be able to change the voltage very quickly and as I understand it this requires that I build a rather complex high order LP filter. If possible I'd like to sidestep this (I'm very new to electronics) and I'm wondering if there are any ready made DAC's that I could use instead?

Thanks in advance!

The thing is, I'd like to be able to change the voltage very quickly

"Very quickly" is far too vague a term to have any meaning. Glaciers are considered to be moving very quickly if they move 1/4" per year. Certainly, you want to be able to detect changes in value in some specific period of time. Tell us about that period of time.

Can you tell us anything more about what kind if input your synth needs? I beleieve the PWM output can change quickly enough to trigger your synth or to control the ADSR envelope.

The thing is, I'd like to be able to change the voltage very quickly and as I understand it this requires that I build a rather complex high order LP filter.

An LP (low-pass) filter actually makes the voltage change more slowly ;). But, it could be true that you need a high-order low-pass filter for this application.

...and I'm wondering if there are any ready made DAC's that I could use instead?

That might be a good idea. Do you think 8-bits (256 different output levels) is enough for you needs? I can't recommend one, but [u]here[/u] are a few you can look at.

...and I'm wondering if there are any ready made DAC's that I could use instead?

I've bought some old TDA1543 on ebay recently for just a few bucks. You can control them with shift registers easily, and you get 16-bit resolution in 2 channels. Use the circuit from the datasheet that needs an op-amp and you are done.

Ok, so the time scale is variable - I'm using a patch I made in Max/MSP to send note data from 1 second right down to 1ms. Lighting up an LED works perfectly, it's just as responsive as I need. The synth is a Roland System 100 which uses the 1v per octave standard, and as such is expecting between 0 and 5v.

DVDDoug - are you implying that I needn't actually use a filter at all? I don't actually own the synth so I can't test it just yet, but after researching on the net everyone who is also using an Ardunio to create CV seems to use a filter. As I said above, lighting up the LED works perfectly, but I guess that's just because it is only reading the duty cycle, eg. on off periods at 0 or 5v as opposed to any values in between. Persistence of vision is what dims/brightens it, creating the illusion that it is being controlled by a varying voltage...

My knowledge of bitdepth/bitrates is pretty incomplete, but would 256 bits basically give me 256 values between 0 and 5v? If so, that should be fine - I don't really need any more than a couple of octaves anyway to be quite honest.

Thanks again for the help.

asusudub:
My knowledge of bitdepth/bitrates is pretty incomplete, but would 256 bits basically give me 256 values between 0 and 5v? If so, that should be fine - I don't really need any more than a couple of octaves anyway to be quite honest.

For 256 different values you only need 8 bits. 9 bits will give you 512 different values, 10 bits then 1024 different values - each additional bit doubles the number of possible values.

Rudi

Thanks Rudi - I mistyped there, meant to type 8 bits but that explanation of different values has helped :slight_smile:

DVDDoug - are you implying that I needn't actually use a filter at all? I don't actually own the synth so I can't test it just yet, but after researching on the net everyone who is also using an Ardunio to create CV seems to use a filter.

The filter that is needed is to make the PWM output a smooth DC signal, rather than the choppy on/off nature of PWM output. It is a low pass filter, consisting of resistors and capacitors.