Show Posts
Pages: 1 [2] 3 4
16  Using Arduino / Motors, Mechanics, and Power / Re: Automatic 4-channel pwm PC fan controller. on: February 23, 2013, 05:28:57 am
As far as I can tell it must be a marketing thing. It seems to be the current fashion, having illuminated fans is the new cool thing to be a 'must have' for all those young consumers.

Myself, I like my gear to perform well and perform for a long time. Looks only count if its part of showmanship.

Now for me (having installed a controller) a bright fan means, something decided it needs full-tilt cooling.

That said, having at-a-glance LED color feedback of temps is pretty nice when your gaming your machine pretty hard.

Seeing immediately not only if something has gotten hot, but also what got hot. Without any need to interrupt the game/benchmark/etc. (which allows the system to cool-off) while frantically trying to load up a temperature monitoring suite, hoping to catch what has gotten out of spec. Before its gone completely cold or even worse, if it had managed to go completely unnoticed until it failed.

The case lights actually transition smoothly from a dim blue (very-cold) to green (ok temps) to yellow (warm) then into bright red (near limits) finally signaling urgently with bright red on/off pulses if something has exceeded it's defined upper limits.

17  Using Arduino / Motors, Mechanics, and Power / Automatic 4-channel pwm PC fan controller. on: February 23, 2013, 05:13:04 am
I recently got a new PC case, complete with multiple led illuminated fans. But its obnoxiously bright and way to loud at night, especially when watching movies or trying to sleep.

So I decided to fix that by making an Arduino-based, automatic pwm, temperature sensing, fan controller that gets its temp readings from the PC's on-board sensors over usb-serial link.

This way, the fans only gets as loud (and bright) as needed to remain cool, while extending fan life and reducing household noise levels.

It even has temperature responsive case lighting to make good use of that ever present side-window that all the newer gaming cases seem to have.

If you have an interest in hushing your gaming rig without those dorky looking knobs and switches, or just want to build ultimate automated gaming-related add-on for your pc, check it out here.
Here's a 'cheap-cam' video of mine in action.
18  Using Arduino / Motors, Mechanics, and Power / Re: Rewersing directionof stepper motor with limit switch on: February 22, 2013, 11:22:32 pm
top of file add: (replace A0 & A1 with your selection of pins.)
#define switchPinA A0
#define switchPinB A1

Add to void setup()


in void loop() replace:
//stepper.moveTo(rand() % 200);
long someRandomPosition=rand() % 200;
if(digitalRead(switchPinA)==HIGH || digitalRead(switchPinB)==HIGH)
  someRandomPosition=someRandomPosition * -1; // just invert data

PS: According to  if (stepper.distanceToGo() == 0)
it will change direction based on switches, ONLY after it completes the previous move.

If you wish to have it switch directions instantly, then you just need to put the blue code outside of the if (stepper.distanceToGo() == 0) statement.
19  Using Arduino / Motors, Mechanics, and Power / Re: L298n, Do I need flyback diodes? on: February 22, 2013, 10:58:10 pm
I would think that the motors are indeed the cause. Not because of any generated electricity caused by 'winding down', but rather from back-EMF.

This happens whenever the electrical load carried by ANY coil of wire suddenly drops. As the magnetic field around the coil relaxes, it generates a high-voltage pulse in the opposite polarity.

If your motors are only used in one direction then you just need a diode to short out the reverse-polarity high-voltage spikes.
 ie. Wire up a diode in parallel with each motor but in reverse polarity. That way the diode does nothing during the motor's power-on state, but catches any reversed current leaking back out (and into your Arduino) whenever the motor's power cuts-off.

If you need to run the motors in both directions then you could use two zener diodes rated for a voltage just higher than the motor voltage. The diodes would be wired in opposing directions (tip to tip), then the pair would be wired in parallel with the motor leads. A pair of such diodes per motor.

Rule of thumb: fly-back diodes need to have at least 1/100th amperage capacity of the motor's supply current. Ideally 1/10th capacity for bullet-proof usage.
20  Using Arduino / Motors, Mechanics, and Power / Re: Controller PC fans 3-Pin vs 4-Pin on: February 22, 2013, 10:06:17 pm
I don't know if the topic is still live or not but making an Arduino multi-channel fan controller has already been done, it gets the temp readings from the PC's on-board temp sensors.

The post covers 2,3 and 4 wire fans as well as the differences of how to use a 3.3v vs 5v Arduino for the controller. Even RGB programmable LEDS are supported as an addon option.

If anyone is interested the post can be found at

If you would like more of a basic howto guide I posted one on my blog.
21  Using Arduino / Interfacing w/ Software on the Computer / Re: EMC2.4/AXIS over USB w/Arduino and a call to the crowd. on: February 02, 2013, 05:48:51 pm
Sweet! Now the fun begins. smiley
22  Using Arduino / Interfacing w/ Software on the Computer / Re: EMC2.4/AXIS over USB w/Arduino and a call to the crowd. on: February 01, 2013, 03:52:48 am
Thank you Jeff,

It sounds like you have been going over every bump in the road that I did. smiley Only difference is I started with the controller and worked my way outwards to the mechanical bits. I also knew from past projects that once I learn to make something ( like EMC2Arduino ) I end up learning some new things along the way.

I wrote EMC2Arduino as a pilot project to learn how to make a working DIY CNC.

These days as I get time, I'm working on writing HAL2Arduino to make it even better, to refine what I have learned and distill those ideas into less complicated easier to use / easier to understand project.

When I'm done I intend to make a customized live linuxCNC CD that will have all the tricky bits in place so people won't have to worry about it. That way all they'll have to do it play with is the Arduino.
23  Topics / Device Hacking / Re: Off Road Traction Control on: January 26, 2013, 06:38:09 pm
In that post they mentioned the brand name "Wabco", the ABS training I got (for semi-trucks) was from Meritor/Wabco. Their docs are open to the public. But yeah, just swapping sensor inputs and faking a brake signal will do the job, provided the axle in question has independent solenoids.
24  Topics / Device Hacking / Re: Off Road Traction Control on: January 24, 2013, 06:24:35 pm
Older, school buses have them, the ones that have a "DT466" emblem on the hood cowl, I'm going to hazard a guess of around 1987~1992.  It was an option for medium duty dump trucks and moving vans, but it was required by us law to have ABS on school buses by then. So buses would be the best salvage target of opportunity.

Where to find em'? Seek out the local school bus company, they usually decommission then sell off all the tired buses after 250k~350k miles. If they have a pump installed, a simple stomp on the brake pedal should reveal a muted whirring noise from under the hood. (Can't remember, but I don't even think you need a key in the ignition to test it.)

As far as reversing ABS as into traction control, if I read correctly you said you have independent front and a single rear hydraulic circuit ABS. Known as 4s3m (4-sensors, 3-modulator valves). You could traction control your front wheels (if 4x4), and use the rear circuit for traction balance between front and back.

*Wait* you 'should' be able to forget the pump. Your factory ABS should have one internally. Without it your foot would hit the floor during an "ABS event" and dump all pressure and thus fail to stop at all. But the school buses should have the same ABS wheel sensor wiring connectors, even ABS extension cables along the frame to get all the way back to the rear wheels. Use these industry standard connectors to plug your ABS/Traction hack circuit into the factory harness without cutting any wiring. smiley They're called an "ABS wheel sensor extension cable" and are also available from Bendix. You'll need one per wheel, each one should have both plug genders on them.

Activating the system when you "want" it to come on: I suppose you 'could'  diode isolate the brake light input wire to the ABS controller and route the wheel sensors through an Arduino and then whenever your brake lights are off the Arduino cross-wires the wheel sensors and fakes the brake light signal, and only when in 4-Low. That way the system pulls double duty, using only electronics and only when your not already using the brakes to stop with.
25  Topics / Device Hacking / Re: Off Road Traction Control on: January 23, 2013, 08:22:29 pm
Oh, by the way. Open differential vs. locker diffs.

Locker diffs when facing slippery conditions maintain the proper gear ratio, whereas open diffs divide the output ratio between the wheels. So if an open diff gets a wheel stuck, the other sides responds by spinning twice as fast.

For your average SUV this isn't a problem. But for professional rock crawlers with $1400+ tires and power management systems. It is. For them old-school military locker diffs are the only solution vs something expensive going BANG!
26  Topics / Device Hacking / Re: Off Road Traction Control on: January 23, 2013, 08:06:32 pm
I got this... (I'm a diesel mechanic, ABS specialist.)

Some older (junked) school buses had early version abs that required a pump that could be pulled off separately for service (which never needed it). One of these pumps would give you AMPLE braking power. They're made to run on 12v systems, even weatherproof. All you would need is two hydraulic T-way solenoids to re-route each rear wheel cylinder to either the vehicle factory system or the pump, as per arduino command. The arduino can get is traction control signals directly from the wheel sensors.

Here's how:
First, the anatomy of and ABS wheel sensor. - Most common wheel sensors are actually just a magnet with a coil wrapped around it. This sensor when placed close enough to a rotating sensor ring will distort the magnetic field of the sensor. This causes a signal to be generated but only when the wheel turns.

Second, the Arduino. - Having inputs tapped from the wheel sensor, the arduino looks for one input to go silent. (Stuck wheel, other wheel spinning wildly.) The Arduino then fires up the pump, activates the solenoid for the spinning wheel and clamps the brake until the other wheel rotates at a similar speed. (Usually within 10% tolerance.)

Tada. Basic traction control the way industry does it!
Advanced traction control is just more signal evaluation between the all four wheels plus throttle reduction, ABS is just traction control applied when the brake lights are on.

Hope it helps.
27  Using Arduino / Interfacing w/ Software on the Computer / Re: EMC2.4/AXIS over USB w/Arduino and a call to the crowd. on: January 22, 2013, 01:22:35 pm
Usually this is a situation where the stepper driver is moving too fast. Try raising the value for the following line:

#define minStepTime 1

Using a value of 100 should work.

Higher values are slower but more compatible, lower values perform faster.
Ideally, it should be set high enough to give your machine strong motor torque, but low enough to move as quickly as you need to.

Using stepper motors is game a balance between speed vs strength.
28  Topics / Device Hacking / Hacking LinuxCNC to DIY make (or upgrade) your 3D Printer or CNC machine. on: January 21, 2013, 06:47:24 pm
For anyone looking for a DIY way to make a CNC 3D printer, router, plasma cutter, and/or milling machine and want some serious CNC host software (like LinuxCNC) to control it, We've got you covered.

You can use HAL2Arduino to give your Arduino based creations an uplink to LinuxCNC. You can even control multiple Arduinos simultaneously!

HAL2Arduino is a communications layer (or framework) that exposes LinuxCNC variables and hooks for you to play with from the comfort of the Arduino platform.

If your interested, you can read about it on our blog at or download a copy yourself from

If you have questions, just ask.
29  Using Arduino / Interfacing w/ Software on the Computer / Interfacing with CNC software and hardware. on: January 21, 2013, 04:11:54 pm
From the Author of Emc2Arduino:
I've seen a lot of posts on people interested in making a DIY CNC machine, then struggling to make a decent gcode interpreter sketch for it.

If that sounds like you, I've already got you covered. The newly released HAL2Arduinobrings OpenGL accelerated CNC control software to your very own Arduino CNC project.

Please don't let me mislead you. This is a communication framework that allows your Arduino to link up to an opensource industry standard CNC host software. That way, all you have to do modify the sketch to make the motors move and read some inputs (like switches).

All the heavy lifting is already done for you, things like the gCode interpretation, gCode generation wizards, sample files, GUI, multi-Arduino communications, machine visualization, etc.

Its all opensource, free to the public.

So if your interested feel to check us out at

Any questions?
30  Using Arduino / Interfacing w/ Software on the Computer / Re: EMC2.4/AXIS over USB w/Arduino and a call to the crowd. on: April 20, 2012, 05:46:22 am
Parallel ports are generally faster (provided you’re using a suitably fast PC).

Emc2Arduino is really meant for those that:
  1. Have no parallel port available. (Newer PC’s or Virtual Machines for example.)
  2. Have an existing CNC that needs expansion.
  3. Want to toy around with CNC’s (or even robotics) but without buying dedicated hardware.

PS. Sorry for the delay in response. (PC Upgrade complete.)

Pages: 1 [2] 3 4