Author |
Message |
drakfluga
Joined: May 09, 2012 Posts: 49 Location: Gothenburg SE
|
Posted: Sun Nov 13, 2016 5:42 am Post subject:
|
|
|
gdavis wrote: | I did some more searching and came across the CD4504B hex voltage level shifter. Seems like a winner to me if you can give up 2 gates or add another IC
|
That looks like a good option! I also found the CD40109, although it's a quad, but seems like we had the same idea.
Looks like the price will be a bit higher compared to the opamp+resistors solution, but even with two of those on the board the component count will drop considerably. Doesn't look like they need any passive components, except for the output impedance resistors and filter caps on the supply rails.
Oh, and I'll need another opamp for the 10V supply, but even then it's so much simpler.
Quote: | The trade off that needs to be taken into consideration is noise. The higher you go, the more susceptible it will be to noise. This will be much more noticeable on CV's compared to gates. Anything in the 10k to 200k (very rough) ballpark should be fine. |
I'll leave the CV resistors for now, initial testing has showed very stable CV levels and good tracking with no discernable noise. Might do some testing in the future with higher value resistors and see how high I can go and still get a good CV output.
Thanks again! Your knowledge and tips have been invaluable. I'm learning a lot by doing this and my confidence is improving. Hopefully I'm not making any huge mistakes in my thought process this time.
Cheers! |
|
Back to top
|
|
|
drakfluga
Joined: May 09, 2012 Posts: 49 Location: Gothenburg SE
|
|
Back to top
|
|
|
gdavis
Joined: Feb 27, 2013 Posts: 359 Location: San Diego
Audio files: 1
|
Posted: Sun Nov 13, 2016 4:35 pm Post subject:
|
|
|
drakfluga wrote: | So here's my circuit right now, based on the 4504. I guess I should put a few filter caps on the IC supplies, but other than that?
I went with higher feedback resistor values since I'm assuming I don't need to be too concerned with noise on the gates like you said.
I also assume I can tie the negative supply pin on the opamp to GND, I'm not using -15V anywhere else on this board so it'd be nice not to have to worry about it at all. |
Wait, you don't have -15V? Not even for the CV outputs? TL074?
Opamps can't drive quite to the power supply rails. This isn't a problem with the 10V since it's far enough away from +15 and GND, but your CV wouldn't get all the way to 0V. I did a quick test with a TL074 voltage follower supplied with +5V and GND and got down to just under 1.5V before it freaked out and went above 4V (may have become unstable).
There are rail-to-rail opamps that will get closer to the rails but still not quite all the way.
I'm a little wary of using an opamp as a power supply, though to be honest this is getting a little beyond my level of understanding. For just the one level shifter it might be ok. I just threw a 78l10 on V+. Cheap, small, easy.
You didn't connect the select pin. This should be connected to GND for CMOS input mode. The TI data sheet contradicts itself but other data sheets agree with this so hopefully it's correct.
And ya, don't forget the power decoupling caps. _________________ My synth build blog: http://gndsynth.blogspot.com/ |
|
Back to top
|
|
|
drakfluga
Joined: May 09, 2012 Posts: 49 Location: Gothenburg SE
|
Posted: Mon Nov 14, 2016 10:23 am Post subject:
|
|
|
gdavis wrote: | Wait, you don't have -15V? Not even for the CV outputs? TL074?
Opamps can't drive quite to the power supply rails. This isn't a problem with the 10V since it's far enough away from +15 and GND, but your CV wouldn't get all the way to 0V. I did a quick test with a TL074 voltage follower supplied with +5V and GND and got down to just under 1.5V before it freaked out and went above 4V (may have become unstable).
There are rail-to-rail opamps that will get closer to the rails but still not quite all the way.
I'm a little wary of using an opamp as a power supply, though to be honest this is getting a little beyond my level of understanding. For just the one level shifter it might be ok. I just threw a 78l10 on V+. Cheap, small, easy.
You didn't connect the select pin. This should be connected to GND for CMOS input mode. The TI data sheet contradicts itself but other data sheets agree with this so hopefully it's correct.
And ya, don't forget the power decoupling caps. |
I see! No, I've got -15V on the board and I did have it connected to the CV opamp, but I wondered if I could replace it with GND if I didn't need to go negative on the output. I remember reading about this now, and I was hesitant to do it, but couldn't really remember what the reason was. Thanks for the explanation.
I'll go with the TL071 for the level shifter supply, I don't think it's an issue as the load isn't going to be that bad? 78L10 could of course work too, but I have the opamps at home already so might as well go with what I've got. I don't think it would make a difference in the case of the gates.
Thanks for the heads-up about the SELECT pin, just an oversight.
Another thing that I've been thinking about: I've got an SPI header on the board for programming the uC, but I'm not sure if it needs additional circuitry. I would like to be able to hook up the programmer without messing with jumpers or switches.
Cheers! |
|
Back to top
|
|
|
gdavis
Joined: Feb 27, 2013 Posts: 359 Location: San Diego
Audio files: 1
|
Posted: Mon Nov 14, 2016 12:57 pm Post subject:
|
|
|
When the uC is being programmed, it's IO's are tristated. Other devices on the SPI bus may respond erratically to the SPI data since the slave select or other control pins will be floating. To address this, a simple 10k pull up or pull down resistor as necessary to disable the SPI devices is all you need. For example, if a SPI device has an active low slave select, put a pull up on it at it will be inactive during uC programming.
In general you also need to make sure there no contention on the SPI signals (no other devices driving SCLK, MISO and MOSI) but in your case I think the above should be all you need. _________________ My synth build blog: http://gndsynth.blogspot.com/ |
|
Back to top
|
|
|
Grumble
Joined: Nov 23, 2015 Posts: 1294 Location: Netherlands
Audio files: 30
|
|
Back to top
|
|
|
drakfluga
Joined: May 09, 2012 Posts: 49 Location: Gothenburg SE
|
Posted: Sat Mar 10, 2018 10:09 am Post subject:
|
|
|
So I've been tinkering with this piece of hardware for the past year, and I redesigned the whole gate circuit around the CD4504B as gdavis suggested. I'm very happy with the result! I'm using one of the ATmega ports for gates, each I/O line is taken to the level shifter, shifted to 10V and buffered, then out across a 1k resistor to the output jack. I have two gate outputs (GATE and CLK) on the current version but may add more. Using MIDI clock commands for the CLK has however not worked very well as MIDI clock seems to be extremely unreliable. :/ Not sure how to solve that yet.
I'm in the process of implementing note history and glide, and plan to add a knob for glide once I have it functioning in software.
A question: glide behaviour can be done in several different ways. What are people's expectations of a glide? Linear (varying with delta between notes), logarithmic (varying with delta between frequencies) or constant-time (every glide takes the same amount of time no matter how far apart the notes are)?
I naively implemented frequency-domain glide (logarithmic) and it doesn't feel natural at all, so I will try linear next. Maybe it should be possible to switch between linear and constant time. A toggle is easily added.
Grumble wrote: | maybe a stupid question and may have read over it, but why use a software serial port for midi receive? |
A very good question, the answer is I was an idiot and the latest version of my interface uses hardware serial. I also added an ISP header for programming the chip directly on the board, as I previously used the serial port for programming. I've since dropped most Arduino legacy code and am using mostly AVR stuff. |
|
Back to top
|
|
|
Grumble
Joined: Nov 23, 2015 Posts: 1294 Location: Netherlands
Audio files: 30
|
Posted: Sun Mar 11, 2018 3:56 am Post subject:
|
|
|
Quote: | I've since dropped most Arduino legacy code and am using mostly AVR stuff. |
I too are using the Atmel Studio for programming the arduino's, so I can tell whats going on and not have to follow some strict Arduino IDE rules.
Mostly I must say, because at this moment I am working on a module that uses an OLED screen and I use an arduino library to control it. Had to do some tinkering, but it works now!
So it's great the way Atmel studio is able to work with the Arduino IDE if you want it to! _________________ my synth |
|
Back to top
|
|
|
Grumble
Joined: Nov 23, 2015 Posts: 1294 Location: Netherlands
Audio files: 30
|
Posted: Sun Mar 11, 2018 4:11 am Post subject:
|
|
|
Quote: | A question: glide behaviour can be done in several different ways. What are people's expectations of a glide? Linear (varying with delta between notes), logarithmic (varying with delta between frequencies) or constant-time (every glide takes the same amount of time no matter how far apart the notes are)? |
Exponential seems to be the way to go, it also is the easiest to construct in hardware, basically a resistor and a capacitor can do the trick. _________________ my synth |
|
Back to top
|
|
|
|