Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.

Jerfy

Member Since 22 Jun 2011
Offline Last Active Feb 22 2012 06:13 PM
-----

Topics I've Started

New Firmware

11 January 2012 - 03:39 AM

Is there a mail list to get on for when the new Firmware is released for Version 4.2 of the .NET Framework? Thank you, Jerfy

I2C verses SPI

07 January 2012 - 03:29 AM

Greetings, Is there any advantage on using either I2C or SPI? Thank you, Jerfy

LCD AdaFruit Backpack

06 January 2012 - 12:55 PM

Greetings, I am trying to drive an LCD that is connected to an Adafruit i2c/SPI Backpack. http://www.adafruit.com/products/292 Does anyone know whats the correct wiring to drive the backpack? And second anyone have a code example on interfacing with the LCD through SPI? Thank you, Jeff

Measuring RPM on PWM Fan

03 January 2012 - 03:13 AM

Greetings,

I am needing someone to validate what I have done and see if this is correct. I am wanting to measure the RPM of a given PWM Fan.

Here is the fan I am using:
http://www.newegg.co...N82E16835185048
Its specs are: 0(+200) - 2500 ±10% RPM

For the Fan I have:
+12 VDC going to my system supply
GND to system ground
PWM Control going to pin 5.
TACH/Sense going to pin 10, using a 100K Resistor to ground (Is the resistor needed?)

On my code
-AT 10% I am seeing around 178 RPM. I am assuming this is the minimum.
-AT 100% I am seeing around 2480 RPM.

Here is my code:


       private static double lastPulse = 0;
        private static double lastDifference;

        public static void Main()
        {
            /*Fan Pin Layouts
             * Red - +12Vdc
             * Black - GND
             * Yellow - TACH/Sense
             * Blue - Control
             */

            const int kHz = 25;
            uint period = 1000 / kHz;
            uint percentage = 10;
            uint dutyCycle = (uint)(percentage * 10 / kHz);

            var pwm = new PWM(Pins.GPIO_PIN_D5);
            pwm.SetPulse(period, dutyCycle);

            var input = new InterruptPort(Pins.GPIO_PIN_D10, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeHigh);
            input.OnInterrupt += new NativeEventHandler(OnFanRotation);

            var button = new InterruptPort(Pins.ONBOARD_SW1, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeHigh);
            button.OnInterrupt += new NativeEventHandler(OnButtonPress);


            Thread.Sleep(Timeout.Infinite);
        }

        static void OnButtonPress(uint data1, uint data2, DateTime time)
        {
            if (lastDifference > 0)
            {
                var milliSecondsPerMinute = 60000;
                var milliSecondsPerRotation = lastDifference * 2; //2 Pulses per rotation

                var rpm = milliSecondsPerMinute / milliSecondsPerRotation;

                Debug.Print("RPM: " + rpm.ToString());
            }
        }

        static void OnFanRotation(uint data1, uint data2, DateTime time)
        {
            double current = Microsoft.SPOT.Hardware.Utility.GetMachineTime().TotalMilliseconds();
            if (lastPulse > 0)
            {
                lastDifference = current - lastPulse;
                //2 pulses per rotation'
            }

            lastPulse = current;
        }


Is this correct way to measure RPM for the fan? Is there a better way?

Thank you,
Jeff

CPU Fan Control

31 October 2011 - 07:19 PM

I want to be able to control the fan speed of a normal CPU fan using my NetDuino board. This would be one of the small CPU fans that are common on most intel processors. What is needed to control the speed of a CPU Fan? Should I start with PWM CPU, and if so how do I control it? Thank you for you feedback, Jeff

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.