Showing posts with label DirtyPCBs. Show all posts
Showing posts with label DirtyPCBs. Show all posts

Sunday, October 15, 2017

Xonik Waveshaper v1.0

The wave shaper board and Noise board was sent off to DirtyPCBs for production last week. They both turned out rather nice - the waveshaper board measures 28 x 64 mm and the noise around 24 x 25 mm.

Interestingly enough, the sub oscillator circuit takes up more than half of the waveshaper due to the many options (-1/-2 octaves, saw or square wave).

I’ve tested the circuit with the DCO and got some very nice results. There are still some spikes on the sub saw waves, but while adding filter caps did reduce the spike amplitudes, it also widened their base. I’ve chosen to leave the spikes as is but have left room for the filter caps should I redecide.

The noise board requires four external trimmers - one to center the saw wave, one to trim the triangle and sine waves and two to match the saw wave parts in the sub oscillator.

The noise circuit requires an external noisy 2n3904 or, as in the Andromeda A6, 1N5237B/8.2V zener diode. It has the option of adding a trimmer to control the noise amplitude, but also has room to just use an on-board resistor if exact amplitude is not of essence.

The A6 uses an opamp to offset the noise outputs due to its internal offset center (PMID), which also acts as a filter. This is not included in my circuit.

Waveshaper board. All mixing and amplitude control must be done externaly which makes it possible to use this card both with computer control and directly with mechanical switches or potentiometers if one wants to make a mono synth without patch storage.


Here are some photos of the output when the XDCO is connected istead of a function generator:
Saw

Sub oscillator saw, one octave down

Sub oscillator saw, two octaves down

Inverse saw


Triangle
Sine
Square

Sub oscillator square, one octave down

Sub oscillator square, two octaves down

Pulse wave
The results look very good, but I have yet to run it with a amplitude calibrated DCO, so right now wave shaping is not perfect for all frequencies, only the one the waveshaper is manually calibrated for.

Sunday, October 1, 2017

Xonik DCO v1.0

The XDCO board arrived friday, and yesterday I soldered one to test it. I cannot find my 2N3904 SMD transistors for some reason, I was supposed to have received 100 of them in my last Farnell shipment but they were nowhere to be found. Instead, I had to modify a regular 2N3904 to fit the SMD footprint. It works fine but looks rather strange - and is of course not very durable. But for testing, it works just fine.

This wouldn't be a real Xonik project if the first version worked flawlessly however. After some initial problems programming the chip (I connected ISCP data and clock to SPI data and clock....), I discovered that I've used ISCP data as DCO CS, and NOT exposed it as a separate pin! That means that it is not possible to program the chip in circuit. I had to add a thin wire to expose pin 13 on the MCU. After doing this, everything worked as planned and I now have a working DCO.

The ISCP bug may be handled two ways:
- fix the bug and re-order the boards
- develop a boot loader and program the chips before soldering them into the circuit, then use SPI for programming later.

I've wanted to do a boot loader for a long time, so maybe this is the motivation I need - we'll see. The price of the board is not a big issue, they cost less than $20.

As for the crystals and speed - On the breadboard the crystals didn't start properly, resulting in fallback to the internal oscillator. I bought new crystals and did some proper calculation on what caps to use (the crystals require 18pF, using two 27pF in series should result in the correct value, see separate post) and now the crystals oscillate at the desired 32MHz right from the start.

Time to test the DCO with the waveshaper!

Update:
While the frequency is ok, the amplitude is off. The output maxes out at around 8.6V. If removing the cap, we get a flat 8.6V meaning something sinks the rest (?).  I tried removing the transistor collector, the opamp saturated to 15V so it is absolutely capable of delivering the necessary voltage. I also tried disabling resetting of the cap and even then the max was the same. The output stays at 8.6V even while programming the circuit. Someting is definitely wrong around the transistor.

BTW: I tried 5 different transistor and three variants of opamps on the breadboard and it still worked fine.

Update 2:
The amplitude issue was just a miswiring of the external transistor, I had mixed up collector and emitter. After changing this, calibration works again. There are some issues with timing and mcu crashes though, maybe related to unfiltered psu lines?

I've also tested and eliminated the 330k resistor from base to ground. it is necessary in the Juno 6 to keep the base voltage between 1.5 and -12.5 (from a 0 to 5v input) to control a PNP transistor. I am using an NPN which is on when the base is > 0.7V and off when the base is at GND, so it can be controlled directly without any biasing resistor. I've also checked the 68k value, it keeps the I_base high enough to allow I_c to be fully sunk while still being low enough to not damage the transistor.

Saturday, March 18, 2017

Vocoder analysis/synthesis boards arrived

I picked up the vocoder analysis/synthesis boards yesterday. They look good as always, though I noticed some differences. Nothing to be alarmed about but I get why they are a bit cheaper than other boards:

- The silk screen is a bit misplaced on some boards
- The holes aren't always dead center on the pads
- One of the boards isn't completely flat, i.e. the fibre glass is slightly bent.

These are just very tiny deviations and well within what is acceptable, they just aren't perfect.

I'm very excited to get started on the build, to see if I've managed to get the circuit and layout right :)






Sunday, January 8, 2017

The ETI Vocoder

I can't remember if I've posted about this earlier, but for quite some time now I've planned on building the ETI Vocoder. I was approached by a guy who wanted me to help him etch the circuit boards, and we spent at least a year planning for this, touching up the original drawings and adding/moving connectors etc.

In the end though, after buying presensitized PCBs and doing a few test etchings, I decided not to do this at home anyway. I simply have too few time slots long enough to do the setup, etching and cleanup.

What I ended up doing instead was redoing the boards and send them off to be professionally produced. I have shrunk all the boards as much as possible (while still using through hole components). I've split the internal excitation board into two separate pcbs so that all pots are soldered to a board.


In addition, I've combined the LP/BP/HP versions of the voice board into a single circuit. This means that you have to add some solder bridges and that some parts are left out for some of the boards, so populating them is slightly harder. However, it also means that I was able to make dual channel boards that, when repeated 7 times, turns into the full voice board. Using a service like dirtyPCBs, 7 similar smaller cards are much cheaper than one large one.


In retrospect I've realized that I could possibly simplify the circuits a bit, since the left channel on a card will never be HP and the right never LP (or the other way around, I can't remember).

I've also managed to jam all the non voice boards (except one of the internal excitation parts) into two 10 x 10 cm pcbs, keeping the cost really low.



Monday, September 7, 2015

Prophet VS Keyboard controller PCBs v1.2 ordered

A batch of boards with the bugs from v1.1 fixed was just ordered from dirtypcbs. Fingers crossed they work this time!