Full VTOL F-35 Foamy

the rc project

Well-known member
Well I’m going to be completely honest, this project is waaaay over my head. But I’m still going to give it a shot! This will be a true test for drehm flight😂. I’ve got the controller mostly assembled. Just waiting for connectors. I’m planning on using spectrum serial receiver, and a BL heli 4 in 1 esc.
 

Attachments

  • F8E7870E-6EA2-4E6F-BA1C-4E38FEA6F028.jpeg
    F8E7870E-6EA2-4E6F-BA1C-4E38FEA6F028.jpeg
    1.5 MB · Views: 0

NickRehm

Member
Just a heads up, the code doesn't support dsmx serial protocol yet--only ppm, sbus, and pwm
There are teensy libraries that can handle dsmx but I haven't gotten around to implementing within the code yet
 

AdityaPratap

New member
Just a heads up, the code doesn't support dsmx serial protocol yet--only ppm, sbus, and pwm
There are teensy libraries that can handle dsmx but I haven't gotten around to implementing within the code yet
hi nick , i am building dRehmFlight controller , but i am facing some problem , my esc is not arming (after two beeps , its starts giving one beep ), and teensy is gets warmed up quickly , but servos are working properly and everything else and i am using readytosky 40 amp esc
 

NickRehm

Member
hi nick , i am building dRehmFlight controller , but i am facing some problem , my esc is not arming (after two beeps , its starts giving one beep ), and teensy is gets warmed up quickly , but servos are working properly and everything else and i am using readytosky 40 amp esc

See this thread on rcgroups for others with a similar problem and the solution: https://www.rcgroups.com/forums/showthread.php?3580135-Profile-F-35-Tricopter

Basically, it could be a number of things wrong, in descending order of likelihood:
  1. You are using an esc that is not oneshot125 compatible, which is what motor outputs in the code use to communicate with the ESCs. There is discussion in the above thread about a version of the code with pwm motor outputs that is compatible with a wider range of ESCs
  2. Some bl-heli ESCs expect a few command pulses within a certain amount of time, but the code includes a few delays at startup that prevent some ESCs from properly arming (I don't know why there is a difference between some bl-heli ESCs like this...still trying to track it down). There is also discussion in the above thread on what delays in void setup to comment out, and where to add another commandMotors() function call to force ESCs to arm.
  3. ESCs are not calibrated. You will need to go through the standard ESC calibration procedure using your rx and transmitter to properly set the endpoints
  4. Your radio is not calibrated with the code, and you are powering the teensy with channel 5 in the 'armed' position with throttle not properly zeroed. This will cause ESC not to arm, or even to enter its calibration sequence without you knowing
After re-reading your post and realizing you listed the ESC you are using, I can say with 100% certainty that your problem is #1


Also, a warm teensy is slightly concerning; are we talking a little warm, or hot? Check your wiring...
 

tamuct01

Well-known member
hi nick , i am building dRehmFlight controller , but i am facing some problem , my esc is not arming (after two beeps , its starts giving one beep ), and teensy is gets warmed up quickly , but servos are working properly and everything else and i am using readytosky 40 amp esc

If the Teensy is getting hot be sure you are using 5V from your BEC or other voltage source. Higher voltage (6V+) can fry the Teensy.
 

AdityaPratap

New member
See this thread on rcgroups for others with a similar problem and the solution: https://www.rcgroups.com/forums/showthread.php?3580135-Profile-F-35-Tricopter

Basically, it could be a number of things wrong, in descending order of likelihood:
  1. You are using an esc that is not oneshot125 compatible, which is what motor outputs in the code use to communicate with the ESCs. There is discussion in the above thread about a version of the code with pwm motor outputs that is compatible with a wider range of ESCs
  2. Some bl-heli ESCs expect a few command pulses within a certain amount of time, but the code includes a few delays at startup that prevent some ESCs from properly arming (I don't know why there is a difference between some bl-heli ESCs like this...still trying to track it down). There is also discussion in the above thread on what delays in void setup to comment out, and where to add another commandMotors() function call to force ESCs to arm.
  3. ESCs are not calibrated. You will need to go through the standard ESC calibration procedure using your rx and transmitter to properly set the endpoints
  4. Your radio is not calibrated with the code, and you are powering the teensy with channel 5 in the 'armed' position with throttle not properly zeroed. This will cause ESC not to arm, or even to enter its calibration sequence without you knowing
After re-reading your post and realizing you listed the ESC you are using, I can say with 100% certainty that your problem is #1


Also, a warm teensy is slightly concerning; are we talking a little warm, or hot? Check your wiring...
hey nick , can you provide me the f-35 vtol code with pwm outputs , i went through the thread , but i know nothing about coding , and my teensy gets warm instantly i dont know why , i re did the wiring but still it gets hot and my esc has 5v bec , also my esc gets warmed up to
 
Last edited:

NickRehm

Member
hey nick , can you provide me the f-35 vtol code with pwm outputs , i went through the thread , but i know nothing about coding , and my teensy gets warm instantly i dont know why , i re did the wiring but still it gets hot and my esc has 5v bec , also my esc gets warmed up to
Post 263 has the link to all-pwm code and instructions to copy over the F-35 specific parts of the code to the clean all-pwm version: Profile F-35 Tricopter - Page 18 - RC Groups

The processor will normally get warm, but not hot, so which is it exactly? A warm ESC might indicate you are drawing too much power through the BEC, if it is not rated high enough for the amount of servos you're running. You will need at least 3-4a BEC for all of the servos, teensy, and receiver
 

AdityaPratap

New member
the processor warms up a little high , is that normal ??and i am using the esc to power up the teensy only, still they both get warmed up
 

AdityaPratap

New member
Post 263 has the link to all-pwm code and instructions to copy over the F-35 specific parts of the code to the clean all-pwm version: Profile F-35 Tricopter - Page 18 - RC Groups

The processor will normally get warm, but not hot, so which is it exactly? A warm ESC might indicate you are drawing too much power through the BEC, if it is not rated high enough for the amount of servos you're running. You will need at least 3-4a BEC for all of the servos, teensy, and receiver
i did the changes in the code , but when i plug esc to output one esc is not working but for other two outputs motor is working and can u please tell what i have to do in the controlRate() in the void loop (as you said in that post #263, 5th step)
 

NickRehm

Member
You may be in forward flight mode depending on your channel 6 position, where the front motor is shut off (intentionally). Make sure your channel 6 has 3 discrete values: less than 1300, between 1300 and 1700, above 1700 for the 3 flight modes that are programmed in the F-35's control mixer code.

In the void loop, go to the lines where the controllers are, and uncomment the controlRate() function; comment out all of the other controllers so that only that controller is used.

It might be worth watching a few of these videos: dRehmFlight VTOL - YouTube
 

AdityaPratap

New member
You may be in forward flight mode depending on your channel 6 position, where the front motor is shut off (intentionally). Make sure your channel 6 has 3 discrete values: less than 1300, between 1300 and 1700, above 1700 for the 3 flight modes that are programmed in the F-35's control mixer code.

In the void loop, go to the lines where the controllers are, and uncomment the controlRate() function; comment out all of the other controllers so that only that controller is used.

It might be worth watching a few of these videos: dRehmFlight VTOL - YouTube
i have done everything as you have said , but still i dont know why only the 1st output is not working
 

NickRehm

Member
It could be:
  • bad esc
  • bad teensy pin
  • bad motor
  • bad soldering to any of the above
  • esc plugged into wrong teensy pin
You can troubleshoot by:
  • using the printMotorCommands() function to see if that motor output is being commanded to be zero or not
  • overriding the commands written to that motor output in the control mixer with just thro_des; at the very end
  • Changing that motor output mx_command_scaled that is not working to a different motor output and plug the esc into the corresponding pin. Again this switching would be done in the control mixer
  • double checking that your channel 6 radio value (printRadioCommands() function) has the 3 discrete values listed above

Report back with results of each of the troubleshooting bullet points and I can tell you what the problem/solution is
 

NickRehm

Member
The wing-mounted motors should be counter rotating and the nose motor direction doesn't matter. You'll need to trim the nose tilt servo position to prevent undesired yawing
 

AdityaPratap

New member
The wing-mounted motors should be counter rotating and the nose motor direction doesn't matter. You'll need to trim the nose tilt servo position to prevent undesired yawing
hi nick , when i raise the throttle stick in hover mode , the plane lifts , wobbles and then flips , i dont know why this is happening i have balanced the cg too