Jump to content

Component: Quadrature Encoder (General Input)

From Flowcode Help
Revision as of 10:43, 17 November 2021 by Wiki bot (talk | contribs)
Author Matrix TSL
Version 1.4
Category General Input


Quadrature Encoder component

Quadrature Encoder component implements a rotary encoder connected to two pins. Quadrature Encoders provides incremental positioning rather than absolute positioning.

Detailed description

No detailed description exists yet for this component

Examples

Polling

Example program showing how to use a quadrature encoder component using a polling method. Quad_Encoder_Test

Timer Interrupt Based Polling

Example program showing how to use a quadrature encoder component using a polling method via a timer interrupt. Quad_Encoder_Timer

Interrupt On Change

Example program showing how to use a quadrature encoder component using a interrupt on pin state change interrupt (IOC). Quad_Encoder_IOC

Downloadable macro reference

CheckForChanges
Polling function to check changes Returns 1 for chaged, 0 for no change, 255 for error 
- BYTE Return


Disable
Disables the use of the quad encoder Once this ist called, the read functions will return zeros until the next Enable() call 
- VOID Return


WriteCounter32
Sets the value of the internal count variable. Range: -2147483648 to 2147483647 
[[File:]] - Value
Range: -2147483648 to 2147483647 
- VOID Return


Enable
Enables the use of the quad encoder If this is not called, the read functions will return zeros 
- VOID Return


Rotate
Simulation Rotate function to allow accurate rotation during simulation. Automatically called by any attached coupling or gearbox component. 
[[File:]] - Angle
Amount to rotate the shaft input in degrees 
- VOID Return


ReadCounter
Reads the current dial counter This is a counter from -32768 to 32767 
[[File:]] - Return


WriteCounter
Sets the value of the internal count variable. Range: -32768 to 32767 
[[File:]] - Value
Range: -32768 to 32767 
- VOID Return


ResetCounter
Resets the current dial counter to zero  
- VOID Return


ReadCounter32
Reads the current dial counter as a 32-bit value This is a counter from -2147483648 to 2147483647 
[[File:]] - Return


SpinRight
Spins the formula flowcode on the spot in a clockwise direction as seen from above. 
- BYTE Power
 
- VOID Return


CheckIR
Checks to see if a IR sensor is within the master threshold distance. 
- BYTE Sensor
 
- BYTE Return


ReadIRSensor
Reads the analogue value from the specified IR distance sensor. 
- BYTE Sensor
 
- UINT Return


SetMotors
Sets the speed and direction of the Formula Flowcode motors. 
[[File:]] - Left_Power
Valid Range = -255 to 255 
[[File:]] - Right_Power
Valid Range = -255 to 255 
- VOID Return


Reverse
Drives both motors of the formula flowcode backwards with the power specified. 
- BYTE Power
 
- VOID Return


WaitForSwitch
Waits for the specified switch to be pressed. 
- BYTE Switch
 
- VOID Return


ReadLDR
Reads the current audio signal level from the on-board light sensor. 
[[File:]] - Return


WriteLEDs
Allows control of all 8-LEDs on the front of the Formula Flowcode. 
- BYTE LED_Byte
 
- VOID Return


Initialise
Starts up the formula flowcode PWM for motor control and performs the wait for button press 
- VOID Return


Initialise
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. 
- VOID Return


Initialise
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. 
- VOID Return


Initialise
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. 
- VOID Return


Initialise
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. 
- VOID Return


Initialise
Resets and initialises the Internet E-Block. It sets up the gateway address, subnet mask, device IP address and device MAC address as defined in the properties of the Flowcode component. This macro must be called before any other TCP_IP component macros  
- VOID Return


Initialise
Resets and initialises the Internet E-Block. It sets up the gateway address, subnet mask, device IP address and device MAC address as defined in the properties of the Flowcode component. This macro must be called before any other TCP_IP component macros  
- VOID Return


Initialise
Resets and initialises the Internet E-Block. It sets up the gateway address, subnet mask, device IP address and device MAC address as defined in the properties of the Flowcode component. This macro must be called before any other TCP_IP component macros  
- VOID Return


MODPMSHAPE
Sets PM waveform shape to; 0 = SINE, 1 = SQUARE, 2 = RAMPUP, 3 = RAMPDN, 4 = TRIANG, 5 = NOISE, 6 = DC, 7 = SINC, 8 = EXPRISE, 9 = LOGRISE, 10 = ARB1, 11 = ARB2, 12 = ARB3, 13= ARB4. 
- BYTE Shape
Sets PM waveform shape (1 = SINE, 2 = SQUARE, 3 = RAMPUP, 4 = RAMPDN, 5 = TRIANG, 6 = NOISE, 7 = DC, 8 = SINC, 9 = EXPRISE, 10 = LOGRISE, 11 = ARB1, 12 = ARB2, 13 = ARB3, 14= ARB4). 
- VOID Return


ARB4
Loads the binary-data to an existing arbitrary waveform memory location ARB4. 
- BYTE Waveform
 
- VOID Return


CLKSRRet
Returns the clock source <INT> or <EXT>. 
[[File:]] - Return


MODPMDEV
Sets PM waveform deviation to <nrf> degrees. (Lower limit: -360° - Upper limit: 360°). 
[[File:]] - Degrees
Sets PM waveform deviation in degrees (-360 - 360). 
- VOID Return


MSTLOCK
Sends signal to SLAVE generator to get synchronised 
- VOID Return


HILVL
Sets the amplitude-high-level to <nrf> Volts. (Lower limit: -0.490 V - Upper limit: 5.000 V). 
[[File:]] - HighLevel
Sets the amplitude-high-level in Volts(V) (-0.490 V - 5.000 V). 
- VOID Return


ARB3
Loads the binary-data to an existing arbitrary waveform memory location ARB3. 
- UINT Waveform
 
- VOID Return


WAVE
Sets the waveform type. 0 = SINE, 1 = SQUARE, 2 = RAMP, 3 = TRIANG, 4 = PULSE, 5 = NOISE, 6 = ARB 
- BYTE WaveType
0 = SINE, 1 = SQUARE, 2 = RAMP, 3 = TRIANG, 4 = PULSE, 5 = NOISE, 6 = ARB. 
- VOID Return


CALADJ
Adjust the selected calibration value by <nrf> (Lower limit: -100 - Upper limit: 100). 
[[File:]] - Calibrate
Adjust the selected calibration value (-100 - 100). 
- VOID Return


STBRet
Returns the value of the Status Byte Register in <nr1> numeric format. 
- BYTE Return


ARB2
Loads the binary-data to an existing arbitrary waveform memory location ARB2. 
- UINT Waveform
 
- VOID Return


EERRet
Query and clear execution error number register. 
- STRING Return


MODFMSRC
Sets FM waveform source to; 0 INT, 1 = EXT. 
[[File:]] - Source
Sets FM waveform source (0 = INT, 1 = EXT). 
- VOID Return


MODAMFREQ
Sets AM waveform frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 20kHz). 
[[File:]] - Frequency
Sets AM waveform frequency in Hertz(Hz) (1uHz - 20kHz). 
- VOID Return


ESE
Sets the Standard Event Status Enable Register to the value of <nrf>. 
- BYTE Value
Value of register 0-255 
- VOID Return


ARB1
Loads the binary-data to an existing arbitrary waveform memory location ARB1. 
- UINT Waveform
16 Bit binary number for arbitrary waveform. 
- VOID Return


ARB4DEFRet
Returns user specified waveform name, waveform pint interpolation state and waveform length of ARB4. 
- STRING Return


CLS
Clears status byte register of the interface. 
- VOID Return


MSTRELOCK
Resynchronises the two generators in MASTER-SLAVE mode. 
- VOID Return


NOISLVL
Sets the output noise level to <nr1> %. (Lower limit: 0% - Upper limit: 50%) 
- BYTE Percent
Sets the output noise level in percent. (0 - 50) 
- VOID Return


LOCKMODE
Sets the synchronising mode to; 0 = MASTER, 1 = SLAVE, 2 = INDEP. 
- BYTE Mode
Sets the synchronising mode (0 = MASTER, 1 = SLAVE, 2 = INDEP). 
- VOID Return


ADDRESSRet
Returns the instruments address 
[[File:]] - Return


MODPMSRC
Sets PM waveform source to; 0 INT, 1 = EXT. 
[[File:]] - Source
Sets PM waveform source (0 = INT, 1 = EXT). 
- VOID Return


MODPWMSRC
Sets PWM waveform source to; 0 = INT, 1 = EXT. 
[[File:]] - Source
Sets PWM waveform source (0 = INT, 1 = EXT). 
- VOID Return


MOD
Sets modulation to; 0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM. 
- BYTE Modulation
Sets modulation (0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM). 
- VOID Return


ISTRet
Returns IST local message as defined by IEEE Std. 488.2. The syntax of the response is 0<rmt>, if the local message is false, or 1<rmt>, if the local message is true. 
[[File:]] - Return


LRNRet
Returns the complete setup of the instrument as a binary data block 
[[File:]] - Return


OPCRet
Query Operation Complete status. The response is always 1<rmt> and will be available immediately the command is executed because all commands are sequential. 
[[File:]] - Return


SWPTYPE
Sets the sweep type to; 0 = LINUP, 1 = LINDN, 2 = LINUPDN, 3 = LINDNUP, 4 = LOGUP, 5 = LOGDN, 6 = LOGUPDN, 7 = LOGDNUP. 
- BYTE Type
Set the sweep type (0 = LINUP, 1 = LINDN, 2 = LINUPDN, 3 = LINDNUP, 4 = LOGUP, 5 = LOGDN, 6 = LOGUPDN, 7 = LOGDNUP). 
- VOID Return


PULSRANGE
Sets PWM waveform source to <1>, <2> or <3>; 1 = 1, 2 = 2, 3 = 3. 
- BYTE Range
Sets the pulse rise and fall range. (1, 2 or 3) 
- VOID Return


TSTRet
The generator has no self test capability and the response is always 0 <rmt>. 
[[File:]] - Return


BSTTRGPOL
Sets the burst trigger slope to; 0 = POS, 1 = NEG. 
[[File:]] - Slope
Set the burst trigger slope (0 = POS, 1 = NEG). 
- VOID Return


ARB3Ret
Returns the binary-data from an existing abbitrary wavefrom memory location. 
- UINT Return


BSTPHASE
Sets the burst phase to <nrf> degrees. (Lower limit: -360 - Upper limit: 360) 
[[File:]] - Degrees
Sets the burst phase in degrees (-360 - 360) 
- VOID Return


IDNRet
Returns the instrument identification. The IDN is saved to the variable passed from the function 'ReturnIDN'. The return parameter is TRUE when the IDN is successfully returned. 
- STRING ReturnIDN
 
- STRING Return


SWPTRGPER
Sets the sweep trigger period to <nrf> seconds 
[[File:]] - Seconds
Set the sweep trigger period in seconds. 
- VOID Return


PULSDLY
Sets the waveform delay to <nrf> sec 
[[File:]] - Sec
 
- VOID Return


Initialise
Opens the COM port ready for communications. 
- VOID Return



Property reference

Properties
Variable Type
Selects the size of the encoder count variable depending on the number of encoder counts required to be stored. The 16 bit variable counter is accessed via the ReadCounter and WriteCounter functions. The 32 bit variable counter is accessed via the ReadCounter32 and WriteCounter32 functions. 
Post Scaler
Encoders with a mechanical click will often have 4 transitions per click. 1:1 would provide the maximum output resolution. 1:4 would provide the encoder click count. 
Edges Per Revolution
Number of signal transitions per revolution. E.g. for a 360 degree encoder you would likely get 360 x 4 = 1440 transitions and an accuracy of 0.25 degrees. 
Resolution
The resolution of the encoder in degrees 
Connections
A
Input pin A 
B
Input Pin B  
Simulations
Repeat Rate
Simulated repeat rate when clicking and rotating the encoder 
Rotation Increment
Number of degrees to rotate when performing a single quadrature pin transition. 
Scope Traces