View Single Post
  #16   Spotlight this post!  
Unread 06-20-2014, 06:40 PM
notmattlythgoe's Avatar
notmattlythgoe notmattlythgoe is offline
Flywheel Police
AKA: Matthew Lythgoe
FRC #2363 (Triple Helix)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2009
Location: Newport News, VA
Posts: 1,712
notmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond repute
Re: pic: Encoder Noise

Quote:
Originally Posted by Ether View Post
Your S4 is less than half the CPR of the OP's and has ball bearings. So the two are not comparable. What works for you won't necessarily work for the OP.

At 7K RPM you are exceeding the speed the FPGA could handle if your S4 were at max tolerance for quadrature phase error:

Code:
Welcome to RLaB. New users type `help INTRO'
RLaB version 2.1.05 Copyright (C) 1992-97 Ian Searle
RLaB comes with ABSOLUTELY NO WARRANTY; for details type `help warranty'
This is free software, and you are welcome to redistribute it under
certain conditions; type `help conditions' for details
>
> format(5);
>
> CPR = 120 # cycles per rev (single channel)
      120
>
> EPRS = 2*CPR # edges per rev (single channel)
      240
>
> EPRQ = 2*EPRS # edges per rev quadrature (both channels)
      480
>
> RPEQ = 1/EPRQ # angular distance (revs) between cross-channel edges
0.0020833
>
> per = 261/40e6 # FPGA sampling period, seconds
6.525e-006
>
> RPS = RPEQ/per # maximum revs per sec
   319.28
>
> RPM = RPS*60 # maximum RPM (revs per minute)
    19157
>
> # angular distance (revs) between cross-channel edges
> # with "typical" tolerance:
>
> RPEQ_TYP = (90-10)/90*RPEQ
0.0018519
>
> RPM_TYP = RPEQ_TYP/per*60
    17029
>
>
> # angular distance (revs) between cross-channel edges with "max" tolerance:
>
> RPEQ_MAX = (90-60)/90*RPEQ
0.00069444
>
> RPM_MAX = RPEQ_MAX/per*60
   6385.7
>
>
> # RPM with no tolerance, typical tolerance, and max tolerance:
> RPM
    19157
> RPM_TYP
    17029
> RPM_MAX
   6385.7
>
>


After thinking about it more we weren't at 7k rpm the encoder was reporting a rate of 7k.

Last edited by notmattlythgoe : 06-20-2014 at 08:12 PM.
Reply With Quote