Contact US

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

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:

clear all
close all

set(tim, 'Period', 1);
set(tim, 'TimerFcn', 'z1=counter(2)')

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!

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


Low-Volume Rapid Injection Molding With 3D Printed Molds
Learn methods and guidelines for using stereolithography (SLA) 3D printed molds in the injection molding process to lower costs and lead time. Discover how this hybrid manufacturing process enables on-demand mold fabrication to quickly produce small batches of thermoplastic parts. Download Now
Design for Additive Manufacturing (DfAM)
Examine how the principles of DfAM upend many of the long-standing rules around manufacturability - allowing engineers and designers to place a part’s function at the center of their design considerations. Download Now
Taking Control of Engineering Documents
This ebook covers tips for creating and managing workflows, security best practices and protection of intellectual property, Cloud vs. on-premise software solutions, CAD file management, compliance, and more. Download Now

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