Reputation: 135
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
Upvotes: 3
Views: 2177
Reputation: 13
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
Upvotes: 0
Reputation: 11
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.
Upvotes: 1