Rpm sensor's

Go To Last Post
7 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi

I'am currently working through an embedded c programming tutorial book wherein is a particular project i wish to complete as a learning/hands on excercise but have one hardware issue.

It's a data aquistion project requiring two rotational rpm measurements and one temperature measurement plus two additional push buttons using the atmega16's int0/int1/icp/adc/porta/usart inputs and outputs etc.

The system calls for a method of sensing the speed of two rotating shaft's and recommend's the use of magnetic switching/signalling ,my concern is as follows.

1)The switch may be to slow acting to provide a near accurate measurement(although non critical)or could appear constant depending on shaft diameter/rpm ,also probable problem's with the switch debouncing.

What would you recommend as a more suitable replacment for the magnetic switching ?.

FYI
Engine rpm range 2000 > 10,0000
Shaft rpm range 1000 > 2000
Temp range 100f > 250f

Any advice or assistance most welcomed.

Thanks
Stephen

Codevisionavr & Avrstudio 4.18
Easyavr5A-Jtagicemk1

Call me Pedantic, But not after 9.

if Milk_Brilliant
else Codevision_Avrs==Better

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Find yourself an old CD-rom-drive and use the Hall-sensors of which three are on the spindlemotor assembly; see the off-topic here: https://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=47852

Nard

A GIF is worth a thousend words   They are called Rosa, Sylvia, Tessa and Tina, You can find them https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Mr. Blond,

I'm just finishing up a project that monitors a conveyor moving at 350 feet per minute. The conveyor has attached to one of its rotating shafts a 72 tooth spur gear. The relationship works out to be 0.1 inch per pusle of the conveyor movement. This equates to about 560 Hz.

The proximity sensor measuring the conveyor velocity is a PUSH-PULL output type and triggers IRQ0 on the rising edge of the pulse generated by the proximity sensor monitoring the 72 tooth spur gear.

In addition, I have a general purpose one milisecond intrrupt (TCNT0) driven timer servicing about six background software counters, acting as indipendent timer functions.

There is also a 100 microsecond (TCNT1) intrrupt driven timer performing some critical control and timing functions that work in conjunction with a photo-eye monitoring product, as well as some data processed by IRQ0.

The end result is to reject product that is not properly seperated during the packaging process. This is accomplished via an output from the microcontroller that drives a relay, which then controls an air valve connected to a pneumatic cylinder style pusher that ejects the deffective product from the conveyor.

System parameters are stored in EEPROM and entered via four BCD style rotory switches. The actual data entry is made via a tactile PCB mount switch that is debounced via one of the software timers within the one milisecond timer (TCNT0) intrrupt handler.

Operator data is displayed using text based HD44780 LCD with a Seetron Serial Backpack attached. The RS232 data arrives via USART0 (non-intrrupt driven) at 9600 BAUD.

Finally, the entire project was written using the ImageCraft ICCAVR 7.x C compiler.

So, there are three intrrupts continuously operating, according to their respective priority:
1st proirty: IRQ0
2nd priorty: TIMER1 COMPA, CTC mode
3rd priorty: TIMER0 COMP, CTC mode

Now, if you got all of that, your system apears to be pressing the resources a bit more then my current project. In particular, the 10,000 Engine RPM, followed be the 100 RPM shaft speed. The temperature can happen in the background - nearly effort free.

Looking back on my project, I think I would be looking for a bit more hardware support, if I had it all to do over again. Then too, if I had it to do over again, I'd have probably used the Mega32 hardware a bit more efficiently.

While I can offer no specific advice relating to your project, hopefully, the description of my recent accomplishment may provide you with some insite as to how I went about solving a particular time critical challange.

I,m sorry if I haven't really been much help.

You can avoid reality, for a while.  But you can't avoid the consequences of reality! - C.W. Livingston

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@plons
A very neat compact arrangement and one which i'll most definately explore and perhaps utilise the already balanced motor arrangement ,allthough not being offay with the "hall effect" no doubt a google will surfice.

? why the use of 3 sensors as i require only 1 ,does this increase's position accuracy or separate usage.

@carl

Quote:

I,m sorry if I haven't really been much help.

On the contary your post is most informative and educational.

Thank you
Stephen

Codevisionavr & Avrstudio 4.18
Easyavr5A-Jtagicemk1

Call me Pedantic, But not after 9.

if Milk_Brilliant
else Codevision_Avrs==Better

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The motor that plons refers to has three phases and usually has three hall effect sensors to detect the motor position. Therfore you get three sensors for free!

as for sensors, you have three major types to choose from:

optical - either reflective or interrupting
hall effect - semiconductor magnetic detectors - some give you a magnetic strength signal whereas others just give you an on or off depending if there is enough magnetism around it or not.
electromagetic - also called reluctors. These are popular in automotive apps as they are just an electromagnet with a small permanent magnet. Move anything ferrormagnetic near them and they give you a small pulse. There are others that have the electromagnet as part of an oscillator, when something ferromagnetic comes close, the frequency of the oscillator changes. This frequency change can be detected. Commonly known as inductive proximity sensors.

As plons suggests, ratting a hall effect sensor from some old equipment might be a good start. The look like little transistors with three legs. You'll have to figure out what leg is 0v, 5V and the output. Or you can do a search on the allegro site

http://www.allegromicro.com/hall/

Places like Farnell and RS components will have a number of these devices to choose from.

Also, learn the proper use of apostrophes! If the word is a plural (as in many) - no apostrophe! If the word is a contraction or signifies ownership - use an apostrophe!

ie: I am or I'm this is a contraction

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ready made solution.

After dismantling two cdrom units and studying various information on the subject of hall effect sensors I realised there was a ready made solution sitting in the junk bin, and so intend to utilise two pc chassis fans in my project as these come with rpm sense built in.

Good Luck
Stephen 8)

jta cpu cooling fans serve the same purpose.

Codevisionavr & Avrstudio 4.18
Easyavr5A-Jtagicemk1

Call me Pedantic, But not after 9.

if Milk_Brilliant
else Codevision_Avrs==Better

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Smart, Blondie !! :) :)

A GIF is worth a thousend words   They are called Rosa, Sylvia, Tessa and Tina, You can find them https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips