Bluz ADC and FSRs?


#1

EDIT: I am stupid, not realizing that analogRead is the ADC… A more appropriate question would be is it the same Scale (12-bit) as the Photon?

Does the Bluz have the same ADC capabilities that the Photon does? Tips on how I should layout the circuit are also welcome!

TLDR Details below:
As a gift for my dad I am taking Bluz fishing! He is a die hard Bass tournament fisherman and a Boat Official for Major League Fishing (I can’t make this stuff up). The goal is simple, in most tournaments you can bring 5 fish back and the fisher-person with the most weight wins. Culling is used to make sure you keep the 5 heaviest fish caught. Have 5 fish in the livewell weighed and tagged, catch a 6th (where culling is legal) and a display/app will tell you if/what fish is the lightest if the 6th fish heavier than any other fish. I stole one of his old digital fish scales which has a FSR with (4) wires coming from it (wheatstone bridge) and I would prefer to read it directly but may need to use one of the SPI ADC breakouts for higher resolution, only need to the ounce with a max weight of 20lbs. Once I have a solid DK based scale I will use a GW shield with a Nextion display for some other funness.


#2

The rwaolution is not the same. Bluz has a 10-bit ADC, so you will get values between 0 and 1023. You can see more in the docs here: http://docs.bluz.io/reference/io/#analogread


#3

My bad I found it in the docs after I posted. Been reading the post below to see what level of resolution I would get. I am going to take the opportunity to build a custom board with headers for a Bluz and use the FSR below (LCL-020) (those things get REALLY expensive).
This FSR has a 2mV/V ratio and max capacity of 20lbs, If I feed it 5vdc as is recommended that gives me a mV range of 2 - 10mV (3 steps at 3.2mV each) which is far too low a resolution for this use case. Using an instrumentation amp like the AD8226 and (somehow) pre-validating/clamping the VIN output to 5vdc (suggestions?) I could use a gain of 330 which would take my max 10mV and scale it to 3.3V = 20lbs. Now breaking down that 3.3V over 1024 steps I have a resolution of 0.01953125 lbs or .3 ounces per step.

Can someone help me verify I understand this correctly?
FSR Datasheet- http://www.omega.com/Pressure/pdf/LCL.pdf
http://community.particle.io/t/force-sensor-using-with-3-3-v/5201/9


#4

@LukeUSMC, have you considered something like this:

:wink:


#5

My concern with that was this line from the datasheet. Is that saying the most it can read is 80mV at 5v (B Channel)? I need to read up to 100mV and then have that amplified out otherwise cutting at 80mV would result in 20% loss of range from the top end right?

When 5V supply is used at the AVDD pin, these gains correspond to a full-scale differential input voltage of ±20mV or ±40mV respectively.

Channel B differential input has a fixed gain of 32. The full-scale input voltage range is ±80mV, when 5V supply is used at the AVDD pin. 

#6

Did I understand the correctly? What if I used 3v3, it would rescale and 80mV should reach my upper limit (haven’t done the math but fairly certain)? Is that clamped hard or does it vary?


#7

First pass at my first board. I loaded the OSHPark design rules and the max1704 throws a clearance gripe no matter what I do. Should I use a different IC that is larger? Thoughts in general…please @peekay123 @Hootie81 where did you find the contact points for reading data? I want something similar to replace the barrel jack so when the board is in a case it can fit in a cradle and recharge.


#8

[quote=“LukeUSMC, post:7, topic:242”]
where did you find the contact points for reading data
[/quote] Not sure what you mean by that @LukeUSMC. Are you looking for charging point or data points?


#9

Hootie said he is using contact points for reading data but I need some charging pads.


#10

@LukeUSMC, do you mean these:


#11

That’s the one. I forgot he had posted them. I was just so excited to have completed my first PCB and wanting to move onto the next part I asked before I searched.


#12

The pads i used were great if you cann afford the space and time mounting them. they can be used for power and charging no worries, but may require some circuitry if used submerged in salt water. in the end i changed to a tag-connect cable and added the footprint to the PCB. there is a thread on the particle forums about them.

as for the little IC and design rule errors, you may need to find a better library or edit the one you have. what line width are you using?

also using the particle footprint would give you some markings for keep out areas and ensure your width between headers is right too.


#13

I am a little worried about the Keep Out because the line running close (but verified clear) is an instrumentation amp, do you think an RF Filter is needed to make sure the BLE doesn’t affect the readings? I added the photon package and lined up the headers perfectly then removed it, lesson learned and I may still swap them but I couldn’t figure out how to rename the nets. 12mil traces to it, can go as low as 6 and tried that but it still complained. I will see if there is a different lib out there or even a larger package, I have room for it.

This is going to be used in freshwater and the pads will touch flat pads on a cradle that will go on the side of the driver’s side console, some light spraying is to be expected and I have a stretch goal of totally waterproof in case ol’ dad gets the butter fingers and drops it in the lake. The over all design is super simple: T-Bar at the top with a clip ring in the middle, a square/rectangular box attached to the ring (internally to this box is the FSR and board), bottom is a “Fish Clip” that holds the fish by its lip instead of a hook that would hurt it.


#14

@LukeUSMC, I noticed that your JST connector is pointing INTO the board with components sitting in front of the socket. This may cause issues when plugging in the JST connector. Other observations:

  • On your layout, there seems to be copper in middle of the MAX1704 package which is what might be causing your clearance errors.
  • The power trace between D5 and D6 is interrupted by C3. It should be straight through with a short trace down to C3.
  • The power traces from the MCP73831 to C4 and D6 to R9 are smaller than the C4 to R9. Ideally, they should be the same size.
  • The SJ3 to bluz trace can stay on the bottom layer all the way to the bluz pin
  • Traces from the FSR connector could be 12mil. Ideally, the traces angle out from the center of the connector pad
  • The bottom layer trace on the FSR connector runs too close to the adjacent pin.
  • The distance between traces on one of the instrumentation amp (what I assume is) resistors (top) are VERY (too) close.
  • You should have a 0.1uF decoupling cap (very) near the bluz 3V3 power pin.
  • I assume power to the inst. amp is coming from the FSR connector. You may want to show that on your silk screen layer.

Finally, since there is no USB connector on the bluz, you may want to flip it around and have the keep-out area on the edge of the board instead of the interior. You will need to re-route. :smile:


#15

Wow, thank you and already had the same thought on the Bluz Placement. Here is the latest…including pulling power to the AMP…not so slight oversight. I will make the suggested changes today, flipped the JST already…how can I tell which way is which?


#16

@LukeUSMC, the long traces are at the back of the connector with the front pads being there for mechanical (an not electrical) purposes. Note the + and - indicators on those power traces. I know this from experience :stuck_out_tongue_closed_eyes:

Also, there is no reason to route the signal trace on the outside of the bluz. You can more effectively route it under the bluz. If you are mounting the bluz on headers, then you can place C1 and the resistor under the bluz as well!

Your power trace for the bluz needs to be routed between the pins, in the centre. As it stands, you are shorting with one of the pads. You may want to reconsider how you route the power.


#17

Lots of changes but the MAX1704 is still giving me trouble. I have GND pours top and bottom but the center, and two right outer pins are calling to be grounded…how is that possible? Is there an easy fix?
I have 0.1uF cap right next to the MAX1704 but I read that caps should be by the IC…should I have caps by the ICs and 3v3? EDIT: Got the 0.1uF cap next to 3v3

And new overall…lots of changes and some bonehead stuff caught (like no pullup on i2c).


#18

@LukeUSMC, which max1704x part are you using specifically?

I believe you have the I2C “pullups” going to GND!


#19

They all use this SMD footprint… http://pdfserv.maximintegrated.com/package_dwgs/21-0168.PDF But this is the exact one I would order: http://www.mouser.com/ProductDetail/Maxim-Integrated/MAX17048G+/?qs=sGAEpiMZZMv1eVl7qn3gsDd%2bkS7Z8e%2bW I got it fixed though, I backed off the SMD pads by .5 mil, looks like someone bumped them a tad too much when they built the package.

Speaking of boneheaded stuff…fixing it now. Here is the latest with the MAX1704 corrections and Pullup fix:


#20

Chris,

I am experimenting with using similar Mill-Max spring loaded contacts to connect 5 USB contacts from a wall-fixed display holder with a Micro USB receptacle, plugged into micro-USB power/data, to the device housing that is designed to slide into the holder. This is not much different than the cordless solder pen on my bench or the dremel cordless tool or walkie-talkie charger. I am sure the contacts will be on register as there is little play when the two pieces mate albeit the pitch of 5 contacts is only 2.54mm (0.1"). I am not worried about the power connection but wonder if data will need a firmer contact? I am in affect using spring contacts to breakout and extend 5 USB conductors. I have not seen this anywhere.