NerdKits - electronics education for a digital generation

You are not logged in. [log in]

NEW: Learning electronics? Ask your questions on the new Electronics Questions & Answers site hosted by CircuitLab.

Project Help and Ideas » Hex server temperature monitor with SSDs

March 02, 2012
by GuyFromOH
GuyFromOH's Avatar

So I figured I'd post on my first "real" implementation of a NerdKit project. "Real" to me means dedicating hardware permanently and/or soldering instead of breadboarding. It's not very complicated project, it's an extension of the temperature sensing example included in the NK guide, along with some SPI code for driving some 74595's daisy chained to run multiple seven segment displays. (24 SSDs in total, and 12 discrete LEDs)

I opted to drive the SSDs directly from the 74595s to give me some flexibility with animation. Had I used a BCD->7segment driver, I could have used fewer 74595s, but would have been limited to single numeric digit output.

I originally planned on making this rack-mountable, but I'm making it as a gift for a friend of mine who has two server half-cabinets with opaque doors, so I'm going to build it into an case from an old dead DVD changer that I gutted for a purpose such as this. He can place it on top of one of the cabinets this way.

I plan on it having 8 displays, each 3-digits with a single decimal (tenths) place. It will display the temperatures from 6 sensors soldered on the end of ~10-foot lengths of cable, as well as an average of the 6 sensors, and a maximum displayed in the last.

If the temperature exceeds 99.9 degrees, it will flash 99.9 until the temperature lowers below that threshold.

Each 3-digit display group will also have two discrete LEDs next to them, a yellow one which will light when the temperature is above 80, and a red one when the temp is above 90. The yellow(80+) LED will be wired as if it were the RDP for the first digit, and the red(90+) LED will be wired as if it were the RDP for the last digit. The middle digit will have it's actual RDP turned high all the time, except in the case of an animation.

The SSD's are pretty bright, I'm designing for 100% duty cycle, the pictures below show them illuminted with a 220 Ohm driver. Based on the datasheet and my calculations, a 120 Ohm would still allow for 100% duty cycle at 40mA, but I think I'll stick with 220 to stay on the safe side.

The basic NerdKit reading 6 temperature sensors:

SixTemps

4-digits of testing 595s daisy chained with SSDs connected:

SSDand595_BB

The 74595s worked on my first try, but seemed to be very sensitive to me touching the wires while they are on. I tapped on the wires and I could watch bits shift their way upwards through the SSDs. It was quite entertaining for about 10 seconds:

595sWorking

Here are the breadboarded 74595s and SSDs displaying the temp from one of the sensors. I didn't realize until now how warm it is up here:

SingleOut

I managed to fit all 24 SSDs and 24 74595s on a single PCB, here it is after layout, before cutting:

DenseLayout

I have cut the boards and started soldering some of the basic connections on the 74595s. I need to order some IC sockets from Jameco so I can stand off the SSDs more. That way they will protrude through the faceplate which I will also have to make:

BoardsCut

March 02, 2012
by SpaceGhost
SpaceGhost's Avatar

Nice work, keep us updated on the progress!

March 21, 2012
by Jer
Jer's Avatar

Please uplaod your code. Did you use the SPI function in the uC?

Jer

March 22, 2012
by Ralphxyz
Ralphxyz's Avatar

Definitely a "Project" for the Nerdkit Community Library.

Ralph

March 23, 2012
by GuyFromOH
GuyFromOH's Avatar

Well, work on this project is progressing slowly, but I have made some progress and redesigns.

The project will be rack mountable, should be fairly simple to cut a piece of plexiglass rackwidth, 3U high. (All rack-mount devices come in height-multiples of 1.75 inches, called a U). since the panel will be clear, all the compenents and wires will be visible, which is kinda cool, if you like that kind of thing. I will also give it enough depth to sit on a flat surface if necessary.

The previous layout I came up with had everything way too close for me to work with easily. I have re-layed-out the components on the display boards and everything seems to fit nicely on a board twice the size, although there is not much spare room left.

I just finished the 6 sensors, they are built using 10' lengths of CAT-5. The ends will have heat-shrink tubing on the end.

Most of the wiring on the first display board is done, the data, shift and store lines are done and most of the power as well. I still have to connect the shift registers to the seven segment displays, which I'll do on the back side. I had some wired up using ribbon cable cut from an old hard drive cable, but the stranded wire was causing me grief, and being so rigid, touching one end would cause the other end to pop off.

I will post a link my most recent code, as mentioned previously it was started from the tempsensor project that came with the NerdKits Guide, then some copying and pasting from these forums, then I started changing and adding things. So many people contribute code to the forums, I'll just give the credit to the forums and NerdKits guys. If you see anything that looks like your code, feel free to claim credit!

The animations is probably the only thing unique in the code, although I'm sure someone else has done it already.

I have decided to go with two voltage regulators, one for the control and display boards, and one just for the LM34s and sensor probe lights. During prototyping I had a lot of noise caused by the animations that made the temp sensors read crazy results. After testing with an isolated voltage regulator, everything is very stable. I was able to identify that two of the six probes have some sort of wiring issue, so I'll redo those two.

Link to code: Here

Here is a close-up of the six sensors, there is a cap, LM34, and blue LED on each end. the twisted pairs of the CAT-5 are wired together, providing 4 unique conductors. The heat-shrink tubing is almost identical in color as the CAT-5 outer insulation. Sensors

Here is the first display board so far, the SSDs are not inserted all the way, I don't want to put them in until the soldering is done.

A shot of display board

Here is another shot of the display board:

Another shot of display board

Here is the back of the display board:

The Back of display board

Here is what the sensors look like wired up to their own power regulator.

Sensors in the light

They look pretty cool in the dark:

Sensors in the dark

March 23, 2012
by GuyFromOH
GuyFromOH's Avatar

I forgot to mention, I added a 7402 to the display board. The purpose is so that if neither the Red(>90) or Yellow(>80) warning lights are turned on, it will automatically turn on the Green (<80). The 7402 is a Quad 2-input NOR, so one 7402 can handle the NOR work of four displays.

Also, the code may be set to turn on the Yellow LED at 88 degrees, this is because it was over 80 degrees while I was writing that code. The final version will be changed back to 80.

The 10's digit of each display will carry the extrabit as if it were the RDP, but it will actually illuminate the Yellow LED; the tenths digit of each will carry the extrabit, but it will illluminate the Red LED, the one's digit will actually be the RDP, but will turn off during animations.

March 23, 2012
by GuyFromOH
GuyFromOH's Avatar

Also, the +5 rail of the sensor voltage regulator has a connection to the MCU via pin 21, which is the ADC voltage reference. Other than ground and the Vref connection, the two "sides" are only connected via the LM34 signals.

The caps are .1uF, (104) at the end of each probe to help minimize noise, although I'm not sure if they are really necessary with the isolated voltage regulator.

The voltage regulators are both just 7805's with two heatsinks.

I recommend to anyone else planning on using many SSDs to use an isolated resistor array IC rather than many individual resistors. I certainly will for my next project using SSDs to keep it cleaner/easier.

The 74595's put one bit of their output on the side opposite the other 7, which is why there is a resistor reaching over top of the 74595s for the middle digit which is the only one that will ever use its RDP.

Post a Reply

Please log in to post a reply.

Did you know that a NerdKit can take control of a remote-controlled car? Learn more...