×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Problems with handling of incoming signal, Matlab

Problems with handling of incoming signal, Matlab

Problems with handling of incoming signal, Matlab

(OP)
Hello all and thank you for a great forum!
First of all, I am pretty new to Matlab so maybe my problem is easy.

My mission is to convert a signal that comes from a counter that counts up everytime I brake the way of light from an optical sensor. I want to measure rotation speed of a shaft and doing it by blocking a light sensor every half revolution and measure the time it took.

I get the upcounting signal in to matlab using the "timer" command that reads the signal every certain time unit and the thing I want to do is, (maybe I can do it in easier ways?) everytime I read the signal, I want to store it in a vector and directly after reset the counting signal to zero and measure the upcounting signal again so after each read I se how many turns it has been rotating on the certain time I'm measing on.

But I'm stuck on the signal counting upwards and I feel like I can't control it.

I have used this guide to get the signal into matlab, http://hackhole.blogspot.com/2007/11/interface-velleman-k8055-usb-board-with.html and my code so far goes like this:
__________

clc
clear all
close all

tim=timer;
set(tim, 'Period', 1);
set(tim,'ExecutionMode','fixedRate')
set(tim, 'TimerFcn', 'z1=counter(2)')
start(tim);[/code]
______________________

The function file counter.m looks like this:
_______________

[code]function z1=counter(u)

z1=calllib('K8055D', 'ReadCounter',u);
________


Where "calllib('K8055D', 'ReadCounter',u)" is the command to read the signal instantly and by the command "calllib('K8055D', 'ResetCounter',u)" resets the counter.

Any ideas are most welcome and maybe I can do this i a whole different way. I just want to measure and plot rpm from a up counting signal.
Thanks in advance!
Replies continue below

Recommended for you

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login



News


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close