Go Down

Topic: 2-fan controller with OLED Display and navigation knob? (Read 930 times) previous topic - next topic

iLearn

Jul 16, 2014, 09:59 pm Last Edit: Jul 16, 2014, 11:59 pm by iLearn Reason: 1
Hi Arduino community,

 I want to embark on my first Arduino Uno project that does the following:

1. Controls 2 computer fans
PWM Fan 1 = 120mmx25mm COOLER MASTER 4-BMBS-20PK-R0
Voltage 12 V, Current (Ampere) 0.36A Max., Power Consumption 4.32 W Max.
12v DC Fan 2 = 180mmx20mm ENERMAX UCTA18A-BL
Voltage 12 V,  Input Current (0.50A) [@ max speed], Input Power (6W) [@max speed]  

2. Automatically Adjusts speed of each fan according to a temperature target (input by user) that is referenced to each 10K temperature sensor in each radiator.  Goal = display 3 temperatures on OLED display (temp1 INPUT before radiator 1, Temp2 output after radiator1, Temp3 output after radiator 2)

3. Uses an OLED character display with biggest size that can fit in a 5.25" computer drive bay

4. Uses a Knob selector of some kind on the 5.25" panel that allows the user to set the desired "temperature target" for each fan.

My question:  Is it possible to do all this with a simple Arduino UNO R3 board and if yes, what parts should I order and from where? :)

The test system = water cooled computer with 2 radiators.  (180mm fan for top radiator & 120mm pwm fan for upper-right radiator.

HazardsMind

Why not use a 5" TFT touch screen? There are plenty on ebay, and they usually work with the UTFT and UTouch libraries. I also have a Library that works with both of them and gives you a wide array of functions you can use.
My GitHub:
https://github.com/AndrewMascolo?tab=repositories

PaulRB

#2
Jul 16, 2014, 11:54 pm Last Edit: Jul 17, 2014, 12:21 am by PaulRB Reason: 1

Why not use a 5" TFT touch screen?

Quite complex for a first Arduino project. Maybe the Mk II!

An Uno will be more than enough. To keep size down, use a Nano 3 or Pro Micro. They all have similar capabilities.

Simplest temp sensor to use would probably be lm35. Three of these could be wired to 3 analog inputs. Each would need 3 wires running from the Arduino to the sensor (+5V, 0V and temp output). The +5V and 0V connections could be shared by all 3 sensors, so a cable with 5 or more cores, like offcuts of cat5 cable, could be used to daisy chain the sensors and make the wiring neat.

A little more advanced would be to use 3 ds18b20 temp sensors. These are digital and can be daisy chained on the same 2-core wire.

A standard 16 x 2 character OLED display would fit in a drive bay panel. But they are 10 times the price of LCD equivalent! Get one with an i2c adaptor pre-fitted for easiest use, but as your Arduino will have plenty of spare pins, i2c not essential.

To drive the fans, you will need transistors. BC337 are cheap and should do fine.

iLearn

Hi HazardsMind,

I'm open to TFT, but I really liked the wider viewing angles and over display quality of the OLED displays.  Are there any higher quality TFT models that compare to a good OLED character display in terms of quality that you'd recommend?:

http://www.youtube.com/watch?v=0aLbv2_fo08

Also, do you think there is any problem with Arduino Uno displaying on an OLED character display?


HazardsMind

Sorry, not that I know of, but then again I don't have nor have ever used a OLED display before.
My GitHub:
https://github.com/AndrewMascolo?tab=repositories

iLearn

I already have the 10K thermal sensors, so how can I make these work with Arduino?

HazardsMind

My GitHub:
https://github.com/AndrewMascolo?tab=repositories

PaulRB

Post a link to their data sheet. "10K Thermal Sensor" could be one of many things.

iLearn

2 sensors are this model:
http://www.frozencpu.com/products/23011/ex-tub-2776/XSPC_G_14_Thread_Plug_with_10k_Sensor_-_Black_Chrome.html

1 sensor is this model:
http://www.frozencpu.com/products/21218/ex-tub-1992/Phobya_G14_Inline_Temp_Sensor_Coupler_-_2-Pin_-_Black_71227.html

Also, do you guys know where I can buy the largest viewable 20x2 character OLES display (blue text, black background) in usa?  The models I've found online have a significantly smaller  viewabla are compared to the overall board size.

PaulRB

The specifications on those links are useless from an Arduino point of view.

OLED 20×2 displays are probably all the same size. Would a 20×4 fit?

iLearn

The 20x4 oled character displays I've found online all have a 60mm frame height or greater.  This is too tall for the 5.25" drive bay height (~40mm max).  I don't mind going with a 20x2 oled at this point and just use the USB port to program fan settings from the PC, thereby forgoing the dial control I had in mind for the front panel.  I need to get this running asap, so the simpler = better :).

Regarding the temperature sensor, my understanding is they're also referred to as 10K Thermistor, so that includes the thermistor itself coupled with 10k ohm resistor.  I'm learning as I go, so does that sound like a good explanation of the sensor specs?:

http://arduinotronics.blogspot.com/2010/11/2-thermistor-temperature-sensor.html


PaulRB

#11
Jul 17, 2014, 10:42 pm Last Edit: Jul 17, 2014, 10:58 pm by PaulRB Reason: 1

my understanding is they're also referred to as 10K Thermistor, so that includes the thermistor itself coupled with 10k ohm resistor.

No, I think it means a thermistor with a resistance of 10K at 25C. You would need to add another (fixed) resistor (e.g. 10K) to form a voltage divider with it.


I'm learning as I go, so does that sound like a good explanation of the sensor specs?:
http://arduinotronics.blogspot.com/2010/11/2-thermistor-temperature-sensor.html

Yes perhaps it does.

PaulRB

#12
Jul 17, 2014, 10:50 pm Last Edit: Jul 17, 2014, 11:07 pm by PaulRB Reason: 1
Looking at this picture from the link you posted, its clear the sensor has only two connectors. That tells me that your theory about a combined thermistor and 10K resistor probably isn't correct. You would need 3 connectors for that. The thermistor and 10K resistor would form a voltage divider and therefore need connectors for +V, 0V and the output that varies with temp.

With only two connectors, my guess would be that this is  a simple thermistor with a resistance of 10K at 25C.

This maybe a cool option. Looks like it would fit, the height is only 38mm. It has multiple serial input options, so might be easy enough to interface with the Arduino...

http://www.ebay.co.uk/itm/1-8-Serial-UART-I2C-SPI-Color-OLED-160x128-Display-Module-for-Arduino-PIC-Raspi-/121357528457?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item1c4178ed89

iLearn

#13
Jul 18, 2014, 02:35 am Last Edit: Jul 18, 2014, 03:29 am by iLearn Reason: 1
I've decided to stick with 20xX Character-based oled display instead of graphic one to KISS (keep it stupid simple).  Afterall, this is my first Arduino UNO project   :smiley-mr-green: .

What do you guys think of this 20x2 OLED character display for the purpose of this project?:

http://www.ebay.com/itm/IIC-I2C-2002-OLED-Module-Display-For-Arduino-PIC-AVR-ARM-/131059330863


or this 20x4 OLED (perfect size for 5.25" drive bay cover):

http://www.ebay.com/itm/IIC-I2C-2004-20x4-OLED-Module-Display-Arduino-PIC-AVR-ARM-/161298342368?pt=LH_DefaultDomain_0&hash=item258e2161e0

Attached file shows the Character display layout I had in mind:  3 temperature sensor readings up top in Fahrenheit and 2 fan speeds below.  Is there a test I can perform with my sensors to determine the best way to integrate them with this Arduino Uno project?  I have access to voltmeter and Oscilloscope fwiw.  I appreciate all of your feedback and look forward to hearing more advice from you Arduino gurus.  8)

PaulRB


What do you guys think of this 20x2 OLED character display for the purpose of this project?:or this 20x4 OLED (perfect size for 5.25" drive bay cover):


They look great. I would check something first though. Ask the vendor if they are compatible with the standard Arduino LCD library (using the i2c connection). Or better still, if they can provide a sample sketch, post it here and we can check it looks "normal".

...2 fan speeds...


How do you plan to measure the fan speeds?

Is there a test I can perform with my sensors to determine the best way to integrate them with this Arduino Uno project?


Yes, use a multimeter on resistance setting. Dunk the sensor in a cup of hot water, along with an ordinary thermometer.  Take a few temp/resistance readings as the water cools. If my theory is correct, it should be 10K at 25C. The temp/resistance relationship won't be quite linear. That's normal for a thermistor, and will be corrected for in your sketch, like in the example you posted earlier.

Go Up