Modified ArduPPM 0.9.86

Hello everyone,

it's a couple of weeks that I'm flying with my modified version of ArduPPM without troubles (from the PPM encoder side) so I decided to publish my work so you can test it too and we all can have a better PPM encoder.

The reasons why I made my version are two:

- ArduPPM failsafe only triggers when all signals are missing (while most RXs keep some signal to last position as an internal failsafe) and this is preventing the ArduPPM failsafe to trigger

- ArduPPM failsafe sets throttle to 900 which means motor off, which for stabilize mode means go crash down on the floor. I don't feel confident with RTL and I prefer having a stabilize mode during failsafe but please don't shut down motors.

So I came up with my version.
By the way I was doing this, I added lot of functionalities which I think are helpful for a lot of people. Everything is configurable at compile time and in my configuration when the signals are lost, pitch, roll and yaw signals are inverted (to try go back to where we had signal) and then all of them, including throttle will go to the failsafe values (1500, 1500, 900, 1500) smoothly reaching them in 3 seconds or so.

These fancy options should be implemented in the Arducopter code in the future (with mavlink parameters and so on) but for now this might work better than what we have.

Also this version drives some unused pins in order to have a strobo light and a buzzer.

These are the main improvements:

- Possibility to monitor just the throttle signal instead of all of them (for overriding the RX failsafe)

- Failsafe only affects throttle, pitch, roll, yaw and flight mode (channel 5). Channels 6, 7 and 8 won't be affected and will mantain the last value.

- When in failsafe, the flight mode is changed to flight mode 6 (instead of 4). The throttle, pitch, roll and yaw signals are overwritten with those set as failsafe settings.

- When entering failsafe, the values for each channel can reach the failsafe values slowly instead of plain overwrite (for example the throttle can be decreased slowly). The speed is settable. There's an excel file in the .zip that shows this behaviour.

- For throttle there's an option of keeping the last value if the failsafe value is higher than last one.

- For pitch, roll and yaw, there's an option of inverting the last value before starting going toward the failsafe values (in this way, the copter could locally invert its direction in the event of TX signal lost)

- Some flight modes can be selected to have no failsafe operation from the ArduPPM (for example flight mode 5 could be a failsafe disabled flight mode). In failsafe disabled modes, the last values for throttle, pitch and roll are manteined (VERY DANGEROUS for everything but loiter, RTL or Auto).

- Added a strobo functionality on PB5. This light flashes every 1.5 second normally and blinks fast when signal is lost or external alarm is issued from PB4 (useful for battery monitor or other alarms).

- Added a buzzer functionality on PB3. This buzzer will beep once every 1.5 seconds until TX signal is found (at bootup) and then will beep fast when signal is lost or external alarm is issued from PB4..

The disclaimer says:

Read the readme.txt

I tested the ArduPPM only with my settings but having so many possibilities means lot of options to be tested so please BE CAREFUL AND TEST EVERYTHING IN MISSION PLANNER BEFORE FLIGHT. TRY TURN ON AND OFF THE TX AND LOOK AT THE RADIO INPUT ON MISSION PLANNER ALSO STARTING FROM DIFFERENT PITCH ROLL YAW THROTTLE AND FLIGHT MODE POSITION.

TEST DEEPLY YOUR CONFIGURATION BEFORE HURTING PEOPLE AROUND...


...and then let me know if this works for you and what do you think!

ArduPPM-Augu.zip

readme.txt

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Anybody compared this fix to the new one?

  • Developer

    Need to found my AVR Programmer LOL... thanks Augusto!

This reply was deleted.

Activity

Gremsy liked Gremsy's profile
Mar 12
DIY Robocars via Twitter
RT @chr1sa: Donkeycar 4.4 released with tons of new features, including path learning (useful with GPS outdoors), better Web and Lidar supp…
Nov 27, 2022
DIY Robocars via Twitter
RT @NXP: We are already biting our nails in anticipation of the #NXPCupEMEA challenge! 😉 Did you know there are great cash prizes to be won…
Nov 24, 2022
DIY Robocars via Twitter
RT @gclue_akira: レースまであと3日。今回のコースは激ムズかも。あと一歩 #jetracer https://t.co/GKcEjImQ3t
Nov 24, 2022
DIY Robocars via Twitter
UC Berkeley's DIY robocar program https://roar.berkeley.edu/
Nov 24, 2022
DIY Robocars via Twitter
RT @chr1sa: The next @DIYRobocars autonomous car race at @circuitlaunch will be on Sat, Dec 10. Thrills, spills and a Brazilian BBQ. Fun…
Nov 24, 2022
DIY Robocars via Twitter
RT @arthiak_tc: Donkey car platform ... Still training uses behavioral cloning #TCXpo #diyrobocar @OttawaAVGroup https://t.co/PHBYwlFlnE
Nov 20, 2022
DIY Robocars via Twitter
RT @emurmur77: Points for style. @donkeycar racing in @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video. https://t.co/Y2hMyj1…
Nov 20, 2022
DIY Robocars via Twitter
RT @SmallpixelCar: Going to @diyrobocars race at @UCSDJacobs https://t.co/Rrf9vDJ8TJ
Nov 8, 2022
DIY Robocars via Twitter
RT @SmallpixelCar: Race @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video. https://t.co/kK686Hb9Ej
Nov 8, 2022
DIY Robocars via Twitter
RT @PiWarsRobotics: Presenting: the Hacky Racers Robotic Racing Series in collaboration with #PiWars. Find out more and register your inter…
Oct 23, 2022
DIY Robocars via Twitter
RT @Hacky_Racers: There will be three classes at this event: A4, A2, and Hacky Racer! A4 and A2 are based around UK paper sizing and existi…
Oct 23, 2022
DIY Robocars via Twitter
Oct 23, 2022
DIY Robocars via Twitter
Oct 19, 2022
DIY Robocars via Twitter
Oct 18, 2022
DIY Robocars via Twitter
RT @NeaveEng: Calling all UK based folks interested in @diyrobocars, @f1tenth, @donkey_car, and similar robot racing competitions! @hacky_r…
Oct 13, 2022
More…