Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kill Switch Subsystem #3

Open
ZacharyDownum opened this issue Jan 11, 2018 · 0 comments
Open

Kill Switch Subsystem #3

ZacharyDownum opened this issue Jan 11, 2018 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@ZacharyDownum
Copy link
Contributor

Objectives

  • Create a project that will revert all control subsystems to a default (cleared) state, and temporarily deactivate all PWM and IC modules when a trigger is activated (except the IC module tied to the trigger itself).
  • Provide functionality for re-initializing all PWM and IC modules, should the trigger be deactivated.
  • The switch should function using negative logic (when the trigger is in the "off" position, the kill switch is activated, and when the trigger is "on," the kill switch is deactivated.
    • This is to provide a level of safety where the kill switch will be activated should the remote control go out of range (thus causing all inputs to go to the "off" state, activating the kill switch).

Steps to Complete

  • Use the framework in the User Input Parsing Subsystem to read the value coming from the switch
  • Do the following only once when the value switches from high to low:
    • Store the current status and value of the Lift System engine throttle
    • Change all Propulsion System motor PWM signals to the "off" state (0% duty cycle)
    • After allowing some time to pass for deceleration of the craft, gradually reduce the throttle of the Lift System engine until it is completely off (gradually to avoid slamming the hovercraft on the ground).
    • Deactivate all Propulsion motor PWM modules
    • Deactivate Lift System throttle control
  • Do the following only once when the value switches from low to high:
    • Activate Lift System throttle control and return it to the proper setting using the previously stored values (the engine will need to be manually started again, so this will not immediately do anything)
    • Activate all Propulsion System motor PWM modules (again, nothing will happen immediately as the modules are still set to a 0% duty cycle)
    • Resume normal hovercraft operation (reading values from user input for the Propulsion System motor duty cycle and the Lift System engine throttle).
  • These operations should most likely be performed via an interrupt that triggers on a rising/falling edge of this signal (so the general operation will look extremely similar to the User Input Parsing Subsystem, except that the activation of this subsystem will affect every other subsystem directly)
@ZacharyDownum ZacharyDownum added the enhancement New feature or request label Jan 11, 2018
@ZacharyDownum ZacharyDownum self-assigned this Jan 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant