rpm cutoff switch...where to start

At a sawmill we have a chipper which runs off of a ac motor. It has a downward sloped ramp that goes into the chipper that vibrates the scrap wood into the chipper (called the shaker). The chipper gets jammed up when too much scrap wood tries to go all at once. I want to create a circuit so when the rpm's drop at a designated number, it will cut off the shaker. Then when the rpms go past a designated number, it will cut back on. Ive got some ideas from several different projects but not sure how to approach it.

Could i use something like this: "Arduino RPM Counter / Tachometer Code -" then change the code for my rpm cut on and cut off points?

Once i figure out the circuit and coding then im going to connect it to a solid state relay that will be used to switch it on and off.

Any advice would be greatly appreciated.

Sounds pretty good idea, just add STATE /CASE code for cut on and off control and there you go.

Just remember that if you do that you relinquish control of the motor to the sw. The blade will start and stop without asking you.

raschemmel:
Just remember that if you do that you relinquish control of the motor to the sw. The blade will start and stop without asking you.

That's probably why he never mentioned anything about controlling the motor.

Don

Just remember that if you do that you relinquish control of the motor to the sw. The shaker will start and stop without asking you.

Right, thanks, I meant shaker, not blade.

how can I modify this schematic to hook to a solid state relay. Want the relay to close (turn on shaker) when the rpms reach a certain amount and want it to open (turn off shaker) when the rpms reach a certain amount. Also here is the code for the design, how would i change it so it does what I want. The code currently just shows the rpms on the display only. The project is at: Arduino Tachometer - Introduction | PyroElectro - News, Projects & Tutorials.

#include <LiquidCrystal.h>
LiquidCrystal lcd(3, 5, 9, 10, 11, 12);

volatile float time = 0;
volatile float time_last = 0;
volatile int rpm_array[5] = {0,0,0,0,0};

void setup()
{
//Digital Pin 2 Set As An Interrupt
attachInterrupt(0, fan_interrupt, FALLING);

// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("Current RPM:");
}

//Main Loop To Calculate RPM and Update LCD Display
void loop()
{
int rpm = 0;

while(1){

//Slow Down The LCD Display Updates
delay(400);

//Clear The Bottom Row
lcd.setCursor(0, 1);
lcd.print(" ");

//Update The Rpm Count
lcd.setCursor(0, 1);
lcd.print(rpm);

////lcd.setCursor(4, 1);
////lcd.print(time);

//Update The RPM
if(time > 0)
{
//5 Sample Moving Average To Smooth Out The Data
rpm_array[0] = rpm_array[1];
rpm_array[1] = rpm_array[2];
rpm_array[2] = rpm_array[3];
rpm_array[3] = rpm_array[4];
rpm_array[4] = 60*(1000000/(time*7));
//Last 5 Average RPM Counts Eqauls....
rpm = (rpm_array[0] + rpm_array[1] + rpm_array[2] + rpm_array[3] + rpm_array[4]) / 5;
}

}
}

//Capture The IR Break-Beam Interrupt
void fan_interrupt()
{
time = (micros() - time_last);
time_last = micros();
}

Or is there a different way I can achieve what im trying to do?

click the MODIFY button in the upper right of the post window.
Highlight all you code.
click the "#" CODE TAGS button on the toolbar above just to the left of the QUOTE button.
click SAVE (at the bottom).
When you post code on the forum, please make a habit of using the code tags "#" button.

A Solid State Relay is a plug and play device with four screw terminals:
http://www.ebay.com/itm/IG1NC-210D-Solid-State-Relay-10A-Output-0-220VAC-1pcs-/360614748118

This one comes with a plastic safety cover which is a big plus.
You can see the two terminals labeled 1 --10V dc. The arduino digital pin output connects there with the arduino GROUND connected to the "-" terminal and the output pin to the "+" terminal.
The AC side is a solid state SPST (SINGLE POLE , SINGLE THROW) switch that interrupts the HOT (line in USA, live in UK) wire . The Neutral (white) wire is not interrupted and is not modified or changed in any way. Simply turn off (unplug) the AC power. Cut the HOT wire, and connect the two ends you just cut to the screw terminals on the AC side of the relay.
An SSR is only good for ON/OFF so forget about using PWM to control motor speed. It won't work because the SSR has a zero crossing detector circuit inside so that it is only turned on or off when the waveform is at the zero crossing .

Take a look at this link on relay modules. http://www.instructables.com/id/Controlling-AC-light-using-Arduino-with-relay-modu/
You can get these relay boards in single, double, quad relays or more. You can also buy a relay shield that will piggy back on the Arduino. http://www.dfrobot.com/index.php?route=product/product&product_id=496
If these relays are not able to provide direct control current and voltage wise for your shaker motor then you will need to drive a motor interrupter from the relay.

Also look at the generic sketches for relay control. http://www.electroschematics.com/8975/arduino-control-relay/
Then combine the RPM tach sketch with the relay board module sketch so when the state is reached the relay is driven off and on.

I take it that you have a place on the saw that you will be able to mount the photo source and detector opposite each other that will not load up with dust?

Lastly this might help with some basic ideas.