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

[TASK] ESC Revamp #92

Open
8 of 11 tasks
PizzaAllTheWay opened this issue Oct 7, 2023 · 3 comments
Open
8 of 11 tasks

[TASK] ESC Revamp #92

PizzaAllTheWay opened this issue Oct 7, 2023 · 3 comments
Assignees

Comments

@PizzaAllTheWay
Copy link
Contributor

PizzaAllTheWay commented Oct 7, 2023

Description

Thruster system will be revamped from ESC perspective as old ones kept frying themselves to death X)))))))))

Electrical will get 8 new ESCs (we only need 4)
These ESCs need to be flashed and configured to allwow propper control and failsafe implementation
Electrical will upgrade failsafe PCB on ASV to include a inbuilt PWM IC for all the 4 new ESCs on board
Our objective is to controle ESCs through this PWM IC from RPI on board. Here is the though process
ROS -> PRI -> Failsafe PCB -> PWM IC -> ESCs -> Thrusters
We willl also have to add a rampup for thrusters (ie, instead of giving 100% power, it slowely creeps up from 0 to 100% in 1 second). We need rampup since going from 0 to 100% instantly creates a lot of EMI at the same time as we get a startup current rush effect witch after a while damage ESCs.

Tasks:

  • Talk to Electrical on what type of ESCs we are getting (We got some unknown Thust ME ESC form Cina with no serial code X-X)
  • Flash new ESCs to have proper Controls, Telemetry activated, rampup time, undervoltage and overcurrent protections as well as some nifty settings for later development stages.
  • Talk to electrical on what type of PWM IC they are going to use on Failsafe PCB for ASV
  • Start by looking at old code for ESC Driver and reading up on information on Thruster system on Wiki
  • Select Pins for new Failsafe PCB
  • Merge ESC, RC Controller, Failsafe, LED and I2C comunication code into one single folder and code as we are going to use one single controller for everything, ATmega2560-16AU
  • Create a Prototype ESC Driver that interacts from RPI to PWM IC on Failsafe PCB. Include PWM rampup here (Dont have to have perfect code at this stage)
  • Take Prototype ESC Driver code and make it into a full fledge "Library" that when imported in other files you can run thrusters through a function. Make sure this code is clean and well written, this is because we will later in the year build upon this "library"
  • Use this new ESC Driver library for ASV and implement a ROS Node that listens to a thrust topic, converts thrust values into PWM and uses ESC Driver library to send those PWM signals to PWM IC on Failsafe PCB
  • Test fully fledge system out
  • DOCUMENT!!!

Usefull links:

@PizzaAllTheWay
Copy link
Contributor Author

@PizzaAllTheWay
Copy link
Contributor Author

Electrical will use a on board embedded ATmega2560-16AU chip to controll PWM and handle failsafe logic as well as comunication between I2C and RC Controller

@PizzaAllTheWay
Copy link
Contributor Author

ESC seems to have no documentation, however there are no need to flash them as they are already flashed. And ESCs work on standard ESC control pulses, neutral at 1500 us and has a range of 1100 - 1900 us.
Here is the specs: https://www.thrustme.no/eu/thruster-more-eu#Specs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants