Overclockers Australia Forums

OCAU News - Wiki - QuickLinks - Pix - Sponsors  

Go Back   Overclockers Australia Forums > Specific Hardware Topics > Electronics & Electrics

Notices


Sign up for a free OCAU account and this ad will go away!
Search our forums with Google:
Reply
 
Thread Tools
Old 11th January 2017, 11:47 AM   #1
vladtepes Thread Starter
Member
 
Join Date: Sep 2015
Location: Brisbane, Qld
Posts: 696
Default Ardiuno PWM LED fan controller idea - a big problem

In my dual system build I have a number of fans.

I want to make a fan controller which works independently of either motherboard so irrespective of which system is on, all case fans will operate.

There are a number of threads / examples of PWM controllers on tehnet, so this is certainly possible.

My BIG problem though is that I have lovely LED fans - specifically Thermaltake Riing LED fans.

The LED control on these isn't simply a matter of sending a signal to a 'normal' addressable RGB LED. Instead the fans have microcontrollers on board. A signal is sent from the proprietary Thermaltake 'control box' to these microcontrollers which in turn tell the LED's what colour and mode to operate in.

Thermaltake, of course, have refused to provide any information regarding the operation of this system, claiming it as a 'trade secret' (as if other firms don't offer similar products.... )

The matter is discussed here:
https://forum.arduino.cc/index.php?topic=366625.0
but evidently without resolution at that time.

Even Thermaltake aren't offering a solution as to controlling multiple fans (ie more than 3, which is the maximum capacity per controller).
http://community.thermaltake.com/ind...ns-in-x9-case/

and what's the point of having a control box / boxes inside the case when you'd need to open the case every time you might want to change colour, or set it to colour cycling, or whatever.

If anyone has advice on this it would be much appreciated.
vladtepes is offline   Reply With Quote

Join OCAU to remove this ad!
Old 11th January 2017, 11:51 AM   #2
vladtepes Thread Starter
Member
 
Join Date: Sep 2015
Location: Brisbane, Qld
Posts: 696
Default

fan specs:

vladtepes is offline   Reply With Quote
Old 11th January 2017, 1:45 PM   #3
merlin13
Member
 
merlin13's Avatar
 
Join Date: Apr 2003
Location: back in BrizVegas
Posts: 1,244
Default

Quick tickle on Uncle Google comes up indicating they're patented these, which'd account for their "It's Our Secret Squirrel, We're Not Going To Tell You"responses.

So reckon you're up for one of three options:

- put up with what they're doing;

- ponder on dismantling the fans to bypass or even rip out their proprietary LED controller bits then Frankensteining aka roll your own to suit;

- find someone with a CRO or ideally a data analyser to tap into the control signal lines and do some sneaky back-engineering. Which has been suggested elsewhere on the interwebbies btw.

Disclaimer here - if you look and do what's behind Door Number 3 I probably wouldn't blab it about too loudly. Mainly 'coz first hit on a Google search was actually this thread, and Thermaltake just miiiiiight get a bit stroppy about it if you release any inner details on their patented stuff...
__________________
Carpe Jugulum.
Never Underestimate The Powers of a Dark Clown!

Last edited by merlin13; 11th January 2017 at 1:47 PM.
merlin13 is offline   Reply With Quote
Old 11th January 2017, 2:20 PM   #4
Agg
Lord of the Pings
 
Agg's Avatar
 
Join Date: Jun 2001
Location: A Reported Post near you
Posts: 28,824
Default

At the heart of it all there must be an electric motor receiving a current. Can you bypass all the brains of the unit and directly provide that power yourself? Or rip out the brains and just put in a dumb motor of your own?
__________________
www.overclockers.com.au - also now on twitter and facebook.
Agg is offline   Reply With Quote
Old 11th January 2017, 3:09 PM   #5
vladtepes Thread Starter
Member
 
Join Date: Sep 2015
Location: Brisbane, Qld
Posts: 696
Default

Controlling the fans is doable - nothing proprietary in that - its just standard pwm. It's the LEDs which are the issue.

I don't know anyone with a data analyser no. From what I've seen others efforts to date with CRO's have been unilluminating.

It really is a PITA.
vladtepes is offline   Reply With Quote
Old 11th January 2017, 3:21 PM   #6
rockofclay
Member
 
rockofclay's Avatar
 
Join Date: Nov 2002
Location: Melbourne, 3056
Posts: 1,383
Default

Should be pretty easy to figure out with a soundcard scope. Just build your self an appropriate voltage divider so you don't blow your line input. A 1/15 ratio should do it, as the highest voltage you're likely to see is 12V and line ins can easily handle +-1V input.
rockofclay is offline   Reply With Quote
Old 11th January 2017, 3:54 PM   #7
oRiCLe
Member
 
oRiCLe's Avatar
 
Join Date: May 2004
Location: Paramatta, NSW
Posts: 133
Default

not sure but couldn't an alternative be an opto-coupled or relay style power trigger from each board to the controller to turn them on, and then share the ground and pwm wires or something similar to control the speed?
__________________
Aaron -- SONY α6000 //  // π // 3D Printing // Laser Cutting // i5 3570K
oRiCLe is offline   Reply With Quote
Old 11th January 2017, 3:58 PM   #8
mtma
Member
 
Join Date: Aug 2009
Posts: 4,263
Default

Quote:
Originally Posted by vladtepes View Post
Controlling the fans is doable - nothing proprietary in that - its just standard pwm. It's the LEDs which are the issue.

I don't know anyone with a data analyser no. From what I've seen others efforts to date with CRO's have been unilluminating.

It really is a PITA.
Did anything from what you found actually post captured data? I couldn't seem to find anything relevant. There's some guy on EEVblog who did inspect it but he never did get around to posting pictures of what he found. Anyway if it's clocked at 400kHz as he says then you won't catch it on a sound card scope.

Last edited by mtma; 11th January 2017 at 4:01 PM.
mtma is offline   Reply With Quote
Old 11th January 2017, 4:01 PM   #9
DarkYendor
Member
 
DarkYendor's Avatar
 
Join Date: Feb 2008
Location: Perth
Posts: 2,932
Default

How many wires are there on the fan? Can you physically see where they go? Might be able to cut in to the fan wiring without affecting the LEDs.
__________________
RIG: |i5 2500k @4.5 | Asus P8P67 Pro | 2x GTX460 SLI | 8GB DDR3-1600 | Crucial M550 256GB | 2x Dell U2311H |
C&C: | LianLi PC-A71B | Swiftech MCP655 | Swiftech MCR320-QP, MCR240-QP | Heatkiller 3.0 |
SERVER: | i3 3220 | 8GB DDR3 | 16TB + SSD | - BACKUP SERVER: | Intel D945GCLF2 | 1GB DDR2 | 8TB |
Successful OCAU trades / New blog & buildlogs
DarkYendor is offline   Reply With Quote
Old 11th January 2017, 5:07 PM   #10
RobRoySyd
Member
 
Join Date: Jan 2008
Location: Sydney
Posts: 7,461
Default

The LEDs have 4 pins so it's a good bet they're "RGB Serial" LEDs.

Two of the pins are power, one pin is serial data in and the other serial data out. Each LED is sent 3 bytes, one each for R,G and B. The last three bytes each LED receives contain its data, that LED holds that data, it doesn't pass it on its serial out pin. That's how each LED in the string is addressed.

The code written for the "Neopixels" should work however there's a number of variants of the type of LEDs with different timing requirements. One could try a brute force approach. Better yet would be to use a digital storage scope. The data is probably only sent at start-up or when what the LEDs are to display is changed so a traditional CRO is not going to help.
__________________
"Those who make peaceful revolution impossible will make violent revolution inevitable." JFK
RobRoySyd is online now   Reply With Quote
Old 11th January 2017, 11:51 PM   #11
rockofclay
Member
 
rockofclay's Avatar
 
Join Date: Nov 2002
Location: Melbourne, 3056
Posts: 1,383
Default

Quote:
Originally Posted by mtma View Post
Did anything from what you found actually post captured data? I couldn't seem to find anything relevant. There's some guy on EEVblog who did inspect it but he never did get around to posting pictures of what he found. Anyway if it's clocked at 400kHz as he says then you won't catch it on a sound card scope.
Ah, didn't catch that bit. Where did you find that nugget of info?

EDIT:

Got it, on the EEVBlog page claims the signal runs that fast. Seems far to quick for this kind of thing!? Cheap options would be an oldschool scope, or a diy LPT logic analyser. Maybe a bit of micro code to snoop on it?

Last edited by rockofclay; 12th January 2017 at 12:18 AM.
rockofclay is offline   Reply With Quote
Old 12th January 2017, 1:48 AM   #12
cvidler
Member
 
cvidler's Avatar
 
Join Date: Jun 2001
Location: Canberra
Posts: 10,344
Default

Quote:
Originally Posted by rockofclay View Post
Ah, didn't catch that bit. Where did you find that nugget of info?

EDIT:

Got it, on the EEVBlog page claims the signal runs that fast. Seems far to quick for this kind of thing!? Cheap options would be an oldschool scope, or a diy LPT logic analyser. Maybe a bit of micro code to snoop on it?
400k is a common speed for I2C interfaces.

I'd be surpised if thermaltake were to re-invent the wheel*, when there's already plenty of good options for this kind of task.

I2C, SPI, SMBus, etc.

good news is, if it's I2C or SPI, it's very easy to implement on arduino - as there's the hardware built in, and code libraries available.


*not only would they have to make up their own control box and hardware, but their own LEDs, much easier/cheaper for them to just re-use one of the option already out there.
__________________
We might eviscerate your arguments, but we won't hurt you. Honest! - Lucifers Mentor
⠠⠵
[#]
cvidler is offline   Reply With Quote
Old 12th January 2017, 6:08 AM   #13
RobRoySyd
Member
 
Join Date: Jan 2008
Location: Sydney
Posts: 7,461
Default

Quote:
Originally Posted by rockofclay View Post
Seems far to quick for this kind of thing!?
Not really. As they're designed so that 100s of LEDs can be wired up on a single serial bus to display moving images 400KHz is not fast.

Data sheet for these LEDs: https://cdn.sparkfun.com/datasheets/.../COM-12877.pdf

These LEDS have an integrated WS2812 controller chip. The only complication is there's also a variant of the WS2812, the WS2812b. Pretty easy to control these from an Arduino, code is already written.

That's the easiest part. Then you need something to run under the PC's OS that communicates with the Arduino to setup what the LEDs should be doing. You'd also want the Arduino to save the values in its flash memory so the setup sticks after power down.

[edit]

I guess if talking to the specific LEDs in the fans proves to be too difficult to work out due to same re-invention of the wheel you could simply replace them with a known LED. They're cheap and readily available via eBay etc:

http://www.ebay.com.au/itm/50Pcs-P98...kAAOSwFqJWrE~v
__________________
"Those who make peaceful revolution impossible will make violent revolution inevitable." JFK

Last edited by RobRoySyd; 12th January 2017 at 6:14 AM.
RobRoySyd is online now   Reply With Quote
Old 12th January 2017, 11:48 AM   #14
vladtepes Thread Starter
Member
 
Join Date: Sep 2015
Location: Brisbane, Qld
Posts: 696
Default

Thank you all for your input.

I confess that much of this talk of various oscilloscopes and data analysers etc is way beyond my level of comprehension....


As far as the outcome I'm looking for Ibasically want to just create a fan controller, with a few buttons, whereby I can
1: Set the fan speed (low, med, high for want of better terminology) AND
2: Control the LED cycling / colour.

As far as the LED issue is concerned, the functionality of the existing box is fine.... the only problems being:
1. Accessibility (but I suppose that can be solved just using a remote switch)
2. The box only controls up to 3 fans. I currently have 3 on the rad at the top of the case and one at the rear of the case. So currently there is no way to make them all colour cycle together.... The top ones are always at a different part of the cycle as the rear case fan.

The fan control part is less than optimum with just a low/high option on the controller box, despite them being PWM fans.

I wonder if some sort of hybrid arrangement is possible...


Hmmm........
vladtepes is offline   Reply With Quote
Old 12th January 2017, 1:43 PM   #15
azzachaz
Member
 
azzachaz's Avatar
 
Join Date: Nov 2003
Location: Canberra
Posts: 1,392
Default

I vote for cutting the LED connections with the control box and doing it all yourself with the arduino.
__________________
Quote:
Originally Posted by phoenix: I got pissed off after 30 mins of irresponsive controls and mindnumbingly stupid gameplay, threw the NES back in the corner and went to play CS.
Originally posted by spectral: Times change. Pity "old rev heads" don't and will maintain to their grave that "hi tech turbo whiz bang computer car" are bad
Originally posted by .Net Developer: I could check it in, but it's gonna look like shit.
azzachaz is offline   Reply With Quote
Reply

Bookmarks

Sign up for a free OCAU account and this ad will go away!

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +10. The time now is 7:35 PM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
OCAU is not responsible for the content of individual messages posted by others.
Other content copyright Overclockers Australia.
OCAU is hosted by Micron21!