Placing sigma delta components on proto board (#32810)
I was wondering where on this board is the best place to put the passives needed for a sigma delta ADC?
Has anyone done that on this board (32810)? I only need one ADC.
Thanks Alex
Has anyone done that on this board (32810)? I only need one ADC.
Thanks Alex

Comments
-Phil
Thanks Phil, I read the app note and thought that might be the answer, but I didn't find a clear candidate for that given the long traces for almost every pin.
Since I'm short of experimenting time I thought of asking here in the forum if someone had success with a sigma delta with this particular board and save some frustration.
If anyone around here had any success i'll be glad to know which pins and location on the board were used.
Thanks
Alex
I guess it depends on accuracy you need and noise you can accept.
I used thru hole parts to read the parallax joystick. (2 pots 10K). No SMD just the holes next to the pins. Decided on witch pins because of placement of joystick.
Result is amazing good. Since Sigma Delta is not linear but parabolic you need to adjust for that anyways.
@Phil
- Love it. SMD resistor across corner pins. As close to the pins as possible. Yes.
Enjoy!
Mike
IIRC I posted the code to read a 4wire resistive touch panel (this uses 5 pins).
I have heard this guideline many times and pretty much figured that since you need 3.3v and ground, placing one each at the 4 corners is likely a good starting point. Having a group together might develop cross-talk problems. But the truth is I have never actually tried it.
?????
Cheers,
Peter (pjv)
Here is a placement I've used:
The input feedback is on p7, with two 1nF 0603 capacitors. p7 is right next to Vdd point where it heads for the large Vdd pad on the bottom of the board under the chip. The Vss side capacitor is soldered to the ground plane that runs between the pads. The four 0603 resistors on p6..p3 provide the feedback output and calibration offset levels. The black sensor is an IR photodiode.
Maybe I'm being too cautious with the placement, but since the app note says so I just wanted to make sure before a long series of trials and errors.
Alex
About the parabolic thing. This might have been a issue with the raw value of the joystick pots and my goal to produce a vector as output, not raw x/y. I ended up with some calibration table and interpolation with different factors. I played around with it until it had the right 'feeling' using the stick. And my result tables for calibration and calculation had some parabolic looking values in them.
so - ignore the parabolic part. As stated above it is linear. My bad.
Enjoy!
Mike
That is a Propeller Project Board, not a Propeller Proto Board. It certainly is different and more difficult to get close to the actual Propeller i/o pins.
It may not be appropriate for this project.
Ups! You are right, sorry for the misnaming.
In many ways, the Project Board is more convenient to build on. You seem to have found just about its only drawback other than no provision for PS/2 mouse or keyboard. It does have several added features, including and SDcard interface and the ability to easily build with SMDs.
Alex
I am looking at the board documentation at it certainly seems awkward to get any i/o pin next to both a 3.3v and Gnd. I have looked at pictures with label of the front and back. (pages 2 and 3).
The board simply violates the concept of providing components as close as possible to the actual Propeller for this purpose, unless you work with very tiny SMDs and the fine pitched leads coming off of the Propeller itself. It is micro-surgery and too much for myself to consider.
It you have your heart set on Sigma-Delta ADC, maybe Parallax would accept an exchange of boards. Not sure who pays the shipping though.
http://www.parallax.com/sites/default/files/downloads/32810-Propeller-Project-Board-USB-Guide-v2.0.pdf
Pin 11 or Pin 12 near to the actual Propeller chip is also next to a capacitor that is connected to Vdd and Vss. That might be the optimal site to build just one Sigma-Delta ADC. It would be my first choice.
Thanks Loopy for you interest & suggestion, I might try it if I find the time.
I just sent a direct mail to Parallax's support on the subject. Will post the answer.
Alex
But with surface mount devices, people made it work on the original Proto Board.
Parallax has an array of boards with different abilities and features. I can't see how they might feel that every board has to do everything. Several include ADC chips, none include specific pads for Sigma-Delta ADC.
Loopy,
You must have missed the description of the Quickstart board:
I knew i had that exact picture "somewhere" on my computer.
Jim
Maybe 'the cloud' ate it.
It is a lovely picture and likely to be the best Sigma-Delta build with a Propeller board.
My guess would be that its economical (board space and cost) if the same thing was always being measured.
A. To learn actually how an ADC really works by coding the software
B. To save costs. ADC chips are an added expense.
C. To save space. ADC chips might take up more board space.
I guess because it could be done with 4- 0605 components. Cost.
EDIT: And space as Loppy pointed out.
Here's a Spin-based sigma-delta routine that takes an 8-bit sample in about 7ms.
PUB ADC : count repeat 256 + 21 count += !outa[Feedback_pin] := !ina[Input_pin] count -= 21 ' correction factor, adjust to get 0 at min input count #>= 0 outa[Feedback_pin]~And a PASM-based version that's steady at 512us per 8-bit sample
VAR word ADC_value byte pins[2] PUB Main pins[0] := Input_pin pins[1] := Feedback_pin cognew(@Sigma_Delta_Init, @ADC_value) DAT org Sigma_Delta_Init mov t1,par mov ADC_address,t1 add t1,#2 rdbyte t2,t1 mov Input_mask,#1 shl Input_mask,t2 add t1,#1 rdbyte t2,t1 mov Feedback_mask,#1 shl Feedback_mask,t2 or dira,Feedback_mask Sigma_Delta_Reset andn outa,Feedback_mask mov ADC_count,#0 mov Sample_count,#256 mov cnt,Delay add cnt,cnt :Loop waitcnt cnt,Delay test Input_mask,ina wc muxnc outa,Feedback_mask if_c add ADC_count,#1 djnz Sample_count,#:loop wrword ADC_count,ADC_address jmp #Sigma_Delta_Reset '---------------------------------------------------------------------------------------------------------------------- Delay long _xinfreq * 16 / 500_000 ' Starts getting erratic above 500KHz ' ~512us for an 8-bit sample at 500KHz Input_mask res 1 Feedback_mask res 1 ADC_count res 1 Sample_count res 1 ADC_address res 1 t1 res 1 t2 res 1-Phil
E. Component delivery time. For some places in the world not needing to hunt a reasonable ADC chip in the shops to get it delivered is an advantage.
F. All of the above :-)
Alex
Good, I'm starting to see the light. If the "natural" sigma delta fails maybe I'll try this one.
I'm only needing to calculate the temperature of a thermistor that will slowly change (max 6°/sec) so that could be a winning solution, thanks!
Alex