Connecting the Beaglebone Black to the KK Mini flight controller

Started by April151, October 15, 2016, 03:50:36 AM

Previous topic - Next topic

April151

The flight controller needs to be sent 4 PWM signals at greater than or equal to 5 volts. Since the Beaglebone Black(BBB) GPIOs can supply only 3.3V I needed to change the signal from a 3.3 volt one to a 5 volt one. In order to do this I looked up online and mostly everywhere I have found this circuit for logic converter from 3.3V to 5V.

But when I connected the low side to my Beaglebone GPIO's and the other side to the flight controller and then switch on the BBB it doesn't boot up. I have already fried one BBB. When i measure the low side without connecting to the BBB I find that the voltage is around 2 volts. I think this is the problem because in multiple places in the BBB System Reference Manual it is given that no voltage should be applied to any of the input pins before the BBB properly boots up. Could this be the problem?

If so then how can i go about rectifying it? For the time being I am using optocouplers to isolate the BBB from the high side.

So, to sum it all I want to know :

How do you make sure that no voltage comes back into the BBB when its an output pin?
And since no voltage can be applied to the BBB before the system boots how can i disable devices that are connected to the BBB and going to send in data to the BBB not send any signals till the BBB boots up?
This will be really helpful for my project as I cannot manually disconnect/connect wires every single time the BBB is starting up.My aim is to build a completely autonomous drone and hence the Beaglebone and not a RC controller. This is for a swarm robotics project in which multiple quadcopter are supposed to communicate with each other. This flight controller can receive PPM or PWM signals only. So I have to use one of these two methods. I can assign the PWM signals to be generated with minimum CPU usage using timers and then change only the duty.
I am using the same power source for all the components including the Beaglebone. Since the speed controllers have a 5V 1A output I have directly connected that to the Vdd of the Beaglebone. The same power source also is used to power the Flight controller and the high side of the logic converter. Now the 3.3V source for the low side is taken from the 3.3V of the Beaglebone. Should i change to probably using the 5V source itself using a voltage divider circuit?
Connected the 5V supply but not the 3.3V supply. Doing this I get 0V on the input side which is what I want. So instead of giving 3.3V supply from the power rail on the BBB I connect it through the GPIO(to control on/off) as the current consumed through this pin is not really high. But when i do this, and then give a signal through the data line the output signal remains a constant 5V and does not change. But instead when I give the 3.3V supply through the rail the output follows the input.
I think the problem was occurring not during start up but during those times when we give the BBB shutdown command thru the terminal and all the other power sources remain on in the circuit effectively sending in 3.3V signals to PWM pins on the BBB. I need a way to cut off the 3.3V supply to the logic converter circuit before I power down the BBB and also make sure the logic converter circuit doesn't power back on till the BBB does.