zeke

One Wire Controller booster

30 posts in this topic

I am excited about this one. I finally made some time to work on my one wire controller board tonight.  I placed all the component on it tonight and it looks good to me. 

 

This design has a single DS2482 One Wire Master controller servicing eight one wire ports that will be selectively enabled with analog switches.

 

The MSP430 will talk to the DS2482 via I2C and it will take care of all the communication timing.

 

Theoretically, you could hook up an obscene number of DS18B20 temperature sensors to this. In the lab, I have testing this circuit with about 600 DS18B20 sensors on it. 

 

Practically, you would be limited by the capacitance of the cable as the lengths increased. There was no cable in the lab test.

 

This board will work with any one wire devices so you are not limited to just temperature sensors.

 

 

The intention is to create a mating board that contains an MSP430, power supply, mass storage device and communications. That board will be one of my re-launchpad board designs. Probably the 5529 based design so I can get the USB port.

 

What do you guys think?

 

Edit: Added schematic PDF.

post-112-0-24398300-1410495399_thumb.png

RE-OWC-1-10062.PDF

greeeg, Automate, enl and 2 others like this

Share this post


Link to post
Share on other sites

Thanks @@bluehash.  That is a 3D view from Altium. You just press the "3" key and the view changes immediately. I've attached the 2D view.

 

@@yosh, the components near the connectors are the analog switches and ESD protection devices. They are there because of the long lengths of twisted pair cable that could be connected to this device. It acts like an antenna for ESD. The analog switch grounds the One Wire bus through a 330 ohm resistor to bleed off all ESD then it connects it back up to the One Wire Master for regular operation.

 

This design allows the user to select a specific port so that the single One Wire Master can interrogate all devices on that port. I envision using it in a round robin fashion.

 

I made this choice because I know that I could have anywhere between 1 and 300 sensors on a single port so, when you consider that there are eight ports, there could be a theoretical maximum of 2400 One Wire sensors connected to this device.  The true maximum number of One Wire sensors will be limited by the total capacitance on a single port contributed by the cable and the sensors. I have gotten working around 150 sensors spread evenly on 1000 feet of standard CAT5 twisted pair cable.

 

I now want to (and need to) add into the design some Flash memory so I can log all the sensor samples. I like the idea of putting a MicroSD card in the design. I see that I can get an 8GB for $7 locally. Crazy!

 

Uh Oh. I just noticed a Vcc mismatch. I am running the One Wire Master at 5V so I will have to add in bi-directional voltage translation on the I2C pins to make this work. MOSFETs seem like a super easy way to fix this problem.

 

Now I am wondering what voltage the MicroSD card operates at. Hmmmm...

post-112-0-50513900-1410637323_thumb.png

Philips Bi-directional level shifter for I2C-bus and other systems - an97055.pdf

yosh likes this

Share this post


Link to post
Share on other sites

I was researching flash memory devices on Digikey.ca when I spotted the Spansion S25FL512S.

 

It's a 512 Mbit (64 Mbyte) Flash Non-Volatile Memory and it costs only $7.92 CAD in single lot quantities.

 

That's about the same price as a 16Mbyte MicroSD card locally.

 

I am seriously thinking of designing in one of these devices.

 

What do you think?

Share this post


Link to post
Share on other sites

I was researching flash memory devices on Digikey.ca when I spotted the Spansion S25FL512S.

 

It's a 512 Mbit (64 Mbyte) Flash Non-Volatile Memory and it costs only $7.92 CAD in single lot quantities.

 

That's about the same price as a 16Mbyte MicroSD card locally.

 

I am seriously thinking of designing in one of these devices.

 

What do you think?

@@zeke I recently did a project with an integrated SPI flash to store log files. Had a FatFS layer to manage files. 

Be warned that if you are using the SPI flash heavily, you may need some kind of wear levelling. With FatFs Elm Chan, writing to the flash every 5 seconds reached max write cycles( 100,000 ) in < 72 hours. Managed to get it down by buffering.

 

SDCards come with inbuilt wear leveling.. that is a plus point.

dubnet likes this

Share this post


Link to post
Share on other sites

SD card would be good for exporting data if your device had some down time. But if it needs to be running continuously then non-removable would be best add some kind of MSD or get it to spit out CSV I've the USB.

 

If youre worried about wear, you could look at FRAM for the storage. A downside is that is very limited by size though.

bluehash likes this

Share this post


Link to post
Share on other sites

@@greeeg, I thought of that yesterday. I know I could turn a msp430frxxxx into a virtual i2c memory device.

 

I could also make it the main point of contact or the master controller of the board so it could operate without a launchpad.

 

I think the latest fraunchpad has 64kB of FRAM. I bet they will be increasing that but I don't know when.

 

More research needs to be done.

Share this post


Link to post
Share on other sites

@@bluehash, thanks for tips on wear leveling. That's something I forgot about.

 

If @@greeeg's idea of the FRAM works out then that would be perfect.

 

The sd card needs petit fs to work. It's inconvenient to have to make the file on the PC ahead of time but it works at least.

 

I am happy that there are several options available. Making the choice is the toughest part.

Share this post


Link to post
Share on other sites

@@zeke,

 

I was actually thinking about a dedicated FRAM SPI/i2c 8pin IC. I think Fujistu/ramtron/cypress make them. However a quick digikey search showed max of 1Mbit.

 

SD cards run at ~3-3.6v.

 

You could hard wire a microSD and then buffer into blocks and do RAW writes, write through the entire memory in a circular buffer fashion. this would be a very primitive wear leveling. your controller would need to do RAW read and then pass the results out via USB/UART.

 

Benefit of this is a huge storage space. microSD cards come at a minimum of 256/512mb. Downside is that only your controller can read the card.

Share this post


Link to post
Share on other sites

Well, I just went over to ti.com/fram and found a listing for a fram device with 128KB of FRAM. FRAM! That's FRAM'ing nice!

 

Here is a page that shows a 128KB FRAM in a 64 LQFP.

 

If I could get my hands on a sample of that device, I just might go to a self-powered, non-booster board design.

 

If I retained the ability to stack this onto an LP then I could break open an I2C port and create a pipeline to the LP so it could grab data.

 

Hmm... I wonder if TI would spot me one or two of those MSP430FR5889 devices?

greeeg likes this

Share this post


Link to post
Share on other sites

Well, I just went over to ti.com/fram and found a listing for a fram device with 128KB of FRAM. FRAM! That's FRAM'ing nice!

 

Here is a page that shows a 128KB FRAM in a 64 LQFP.

 

If I could get my hands on a sample of that device, I just might go to a self-powered, non-booster board design.

 

If I retained the ability to stack this onto an LP then I could break open an I2C port and create a pipeline to the LP so it could grab data.

 

Hmm... I wonder if TI would spot me one or two of those MSP430FR5889 devices?

@@zeke

Would you settle for an FR5989?

http://www.ti.com/product/msp430fr5989/samplebuy

zeke likes this

Share this post


Link to post
Share on other sites

Hi Guys,

 

Today, I put some serious effort into my One Wire Master board. Here's a screen grab of the results.

 

post-112-0-82892700-1416726188_thumb.png post-112-0-37013500-1416726191_thumb.png post-112-0-57626500-1416726193_thumb.png

 

I've designed the board so that it can operate by itself (it has an FR5969 on it) or it can operate as a booster board. 

 

When operating as a booster board, it will appear as an I2C Slave to whatever LaunchPad you plug into it.

When operating as a LaunchPad, it will just do its thing (whatever I program it to do).

 

I have also started working on a development support board that will give this board a USB UART, 3V and 5V power, a Reset button and a LiPo battery backup (kind of like a UPS).

 

That layout isn't done yet but this is what it looks like at the moment.

post-112-0-61501800-1416726724_thumb.png

 

It will stack underneath the OWM Booster board.

 

I intend on plugging this device into a server running node.js, collecting the sensor data on a schedule, storing it into a database then displaying that data to a User in a pleasant manner.

abecedarian likes this

Share this post


Link to post
Share on other sites

After a few busy months, I've managed to get back to this project.

 

I've tidied up the layout and added in useful silkscreen information.

 

I have also renamed the board to Hydra: One Wire DataLogger because it has eight One Wire Master bus ports.

 

It also has a split personality: It can be either a BoosterPack or a LaunchPadXL.

 

I say this because I've added jumpers to flip the MSP430 UART between DTE or DCE mode. In one setting, the MSP430 is a DTE (LaunchPad mode). In the other setting, the MSP430 is a DCE (BoosterPack mode). So, I can mate this board to either my Dev support board or to a CC3200 board and it will be able to communicate in both scenarios.

 

This is what it looks like tonight.

 

post-112-0-69963800-1424591816_thumb.png

post-112-0-83581200-1424591828_thumb.png

 

Now I just have to get this board fabbed and get cracking on the firmware. That should be an adventure.

bluehash and PTB like this

Share this post


Link to post
Share on other sites

This is the Development Support Board for the Hydra design.

 

I call it The Orb because it's the Hydra's power source. Yeah, I'm being silly with the name. It amuses me. 

 

It provides power and serial communications to the Hydra board. Since it's XL compatible, it ought to drive most XL LaunchPads as well. 

 

It features:

  1. An E585460 LiPo battery - 2000mAh
  2. A TPS63020 Buck/Boost regulator
  3. A BQ24072 USB driven powerpath LiPo charger
  4. A SiLabs CP2102 USB UART (because it just works)
  5. LaunchPad-XL pinout
  6. It will power a LaunchPad but without +5V (exclusive XL feature)

Today, I placed all the components. Tomorrow, I'll start routing the board.

 

post-112-0-18465700-1425010979_thumb.png

post-112-0-27719700-1425010977_thumb.png

post-112-0-62351500-1425010975_thumb.png

 

The design is done in Altium.

 

I'm now wondering if I should be putting this stuff in a github repo. What do you all think of that?

 

pine likes this

Share this post


Link to post
Share on other sites

I made some time tonight to put together two boards for my One Wire datalogger system.

 

They are the data sources for the Hydra datalogger board so I figured that I should come up with silly names for them. 

 

Since the Hydra has eight ports, I decided that it needed some tentacles to complete the metaphor.

 

I present to you The Tentacle TH and DS.

 

The Tentacle TH uses the MAX31850K to read K type thermocouples.

The Tentacle DS uses the DS18B20 in SOIC8 and TO92 flavours. It also has a three pin terminal block for off board sensors.

 

post-112-0-10035700-1437458475_thumb.png

post-112-0-59584700-1437458484_thumb.png

post-112-0-77003600-1437458493_thumb.png

post-112-0-15235500-1437458499_thumb.png

 
 
 
PTB likes this

Share this post


Link to post
Share on other sites

Yeah, I've been sitting on this design way too long.  It's time to fab some boards.

 

 

 

Dev Support board with LiPoly power and USB UART IO

post-112-0-73567100-1462427601_thumb.png

 

DS Backside

post-112-0-58316300-1462427606_thumb.png

 

One Wire Master is able to be both a Booster board or a master board

post-112-0-27591900-1462427610_thumb.png

 

OWM backside

post-112-0-18312900-1462427611_thumb.png

 

One Wire Temp sensor board that has various Dallas Semiconductor footprints

post-112-0-15991400-1462427612_thumb.png

 

One Wire Thermocouple board

post-112-0-44246900-1462427616_thumb.png

 

 

 

Anyone know of a quick turn pcb shop that has excellent pricing?

yyrkoon and greeeg like this

Share this post


Link to post
Share on other sites

Anyone know of a quick turn pcb shop that has excellent pricing?

Hi Zeke,

 

I was using http://www.pcbway.com/ at work and for a private project or two. At work we paid for fast shipping on some small simple boards that we needed quickly, the boards got here in less than a work week and looked good (and performed well). Otherwise you can check on http://www.pcbshopper.com/, they run comparisons on your size and time-requirements to help you find the optimal boardhouse.

 

(I am unaffiliated with either company, only a customer and I used pcbshoppers website).

bluehash and zeke like this

Share this post


Link to post
Share on other sites

@@phenyl,

 

I just checked out pcbway and I am stunned at the low price. 

 

Is it too good to be true?

Is there work good or bad?

phenyl likes this

Share this post


Link to post
Share on other sites

Hi @@zeke

 

in my (limited) opinion, their work is good. Here's a board (the gerbers came from an eevblog member,[1] not mine) I had made privately:

 

25447026pl.jpg

25447027lb.jpg

25447029xr.jpg

25447030hm.jpg
 

I had some made, the one I soldered the components on works perfectly.

 

Of the ones from work I don't have any pictures obviously, they were only for a small project with a few components. The finish there was ENIG, which also turned out really well.

 

 

[1] http://www.eevblog.com/forum/testgear/point-me-to-latest-info-on-dyi-dsoxlan/msg823148/#msg823148

zeke and Fmilburn like this

Share this post


Link to post
Share on other sites

@@phenyl,

 

Those boards look excellent!

 

With my short deadline and your photos, I think I am going to give them a try.  

 

Thank you!

 

BTW, isn't that the IO card for the agilent scope?

phenyl likes this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now