Question

I'm trying to use Beaglebone Black for driving a motor circuit. I have managed to enable and use PWM pins (P8_13 and P8_19 namely). But I have a problem.

When I first power up the board, these pins become HIGH state so the motor starts running unintentionally. It goes up until Linux (ubuntu 12.04) boots and PWM pins are set as LOW.

Is there a way to set default pin states in Beaglebone Black so that when I powered the board PWM pins start in LOW state? (maybe in device tree?)

Thanks

No correct solution

OTHER TIPS

I think the issue is that the pins on the AM335x chip have default states on startup that define their output level before Linux even boots. You might try routing the output of the PWM through an NC relay or transistor such that it interrupts the connection when the output state is high (as in on startup). You can then enable the PWM by bringing that pin low in your code later.

Here are the pins I'm using for a robot. They're all low on startup

Header P9


MotorA

pwm gpio

16 23


MotorB

pwm gpio

14 30


MotorC

pwm gpio

42 41

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top