Tuesday, June 22, 2010

I'm not dead, just demoralized

Ok, I haven't been writing anything for like three months.

The reason being the problems I had with the A/D-converter. There is still a lot of jitter on the lines which sometimes causes a parameter to constantly switch between two adjacent values.

I am using digital filtering but it doesn't remove all of it unless I filter extremely much, but that causes the response on the pots to be veeery slooow. Not acceptable.

Last night, I disconnected the 3.3V voltage provided by the LPC-P2103 board from the A/D converter reference voltage. This way I was hoping to avoid noise on the power supply coming from the micro controller. Instead, I put a 3.3V regulator on the 5V I am using for my other digital circuitry. Well.. It didn't help that much. I guess I should have a separate power supply for the 3.3V but I'll have to try that later.

Pull up! Pull up!
I was doing some checks to see why I got strange address selections on the 4051.
I read input 0, then input 1, then input 2 and so on...
If I set the pots at different positions I can check on the 4051 common line to see how the voltages vary. For some reason, as soon as I touched the S0 (Select 0) pin with the oscilloscope probe, I got some character misplaced on the LCD, huh? I also lost the trigger sync on the oscilloscope.
It turns out that four of the GPIO pins on the LPC2103 do not have internal pull-up and if used as outputs they need external pull-ups.
I have noted this before and marked it with bright red colour in my pin allocation list in a spreadsheet. But, of course, there are no pull-ups in my design. I knew they were needed. I must have forgotten :P
I'm amazed it's been working at all so far.

So... Next step will be to add pull-ups for some GPIO pins, then I'll have to arrange some more solid digital filtering. I'm also wondering if the caps on the potentiometers help or actually cause problems for me during all this switching.

Anyway, I haven't given up (yet) and there is more to come.
Especially considering I am fired due to lack of work and my last day at work is next Wednesday (June 30th). So, more time for my project. Yay! I just have to find a new job so I can afford it :P ...

But now, time to watch some 2010 FIFA World Cup. That's football (where you use your FEET, as in FOOTball), or soccer if you prefer to call it that...


  1. Random thought: If unwanted flipping between 2 adjacent values is a problem, maybe a solution could be to introduce a 1 sample lag, and only change the value if three samples in a row are different?

  2. Hi.
    Thanks for the suggestion but think I have a solution in mind, involving "snapping" to values and then using thresholds to allow a change. This might be even better in conjunction with a rolling average.
    I need to finish my step sequencer first though :)

  3. Hello.
    What's about your moral? LoL

    Are the project abandoned?

    I hope to hear you soon. JC.