Lucas Murray ME 305 Portfolio
Lab 0x02

Lab 0x02 Incremental Encoders

Encoder

The encoder files shown below work in tandem to read and update the position of an encoder, being able to gather positional data as well as perform other simple functions.

Sample Plot

Here is an example of the encoder position plotted as a function of time gathered by the g or G function in taskUser.

Encoder Driver

The encoder driver initiates an encoder on the microcontroller that is able to read output from the encoder on the motor.
Please see https://lmurray03.bitbucket.io/encoder_8py.html for details.

Encoder Task

The encoder task performs the encoder driver manipulation to return the desired outputs back to the user interface.
Please see https://lmurray03.bitbucket.io/task_encoder_8py.html for details.

User Task

The user task allows for interface with a user, waiting for commands to then send them off to the relevant task file to be performed.
Please see https://lmurray03.bitbucket.io/task_user_8py.html for details.

Main

Main allows for the interface between the encoder, motor, and user tasks so that they can work in tandem at the same frequency with the same shared variables.
Please see https://lmurray03.bitbucket.io/main_8py.html for details.

Shares

The share file instantiates the classes share and queue which allow for the transferral and sharing of data between different files.
Please see https://lmurray03.bitbucket.io/shares_8py.html for details.

Author
Lucas Murray
Date
February 3, 2022