Tilt servo unresponsive when power low?

The more technical aspects of Spirit, and carry-over discussion from Kickstarter updates.
gpvillamil
Posts: 75
Joined: Fri Jan 26, 2018 5:03 pm

Tilt servo unresponsive when power low?

Postby gpvillamil » Fri Feb 02, 2018 6:18 pm

I notice that my tilt servo sometimes stops responding after the system has been in use for a while. Charging the battery and restarting seems to fix this.

None of the other servos or motors are affected - has anyone else noticed this?

Is it possible that my tilt servo is incorrectly installed, and jamming?

User avatar
esba1ley
Posts: 58
Joined: Sun Jan 01, 2017 2:15 am
Location: Pasadena, CA
Contact:

Re: Tilt servo unresponsive when power low?

Postby esba1ley » Fri Feb 02, 2018 9:25 pm

I've noticed similar intermittent issues with the servos when commanding them over i2c from the Pi. They'll freeze up and it takes a system power cycle to bring them back. Most of the work I'm doing is static, with direct power and using HDMI for a monitor on the Pi... but I find that something happens that horks up i2c communications that is not easily reproduce-able (otherwise I"d reproduce it and post a bug in the form with the details).

We should all strive to be as detailed (within reason -- no descriptions of what you're wearing or the temperature of the room unless you think it's actually germane to the problem!) but as succinct as possible, and only post a problem if it happens more than once -- preferably with repeatable conditions.
----------
Erik S. Bailey
Entry, Descent, and Landing Aerospace Engineer
Maker, and Musician
SpiritRover Kickstarter Backer #460

User avatar
esba1ley
Posts: 58
Joined: Sun Jan 01, 2017 2:15 am
Location: Pasadena, CA
Contact:

Re: Tilt servo unresponsive when power low?

Postby esba1ley » Fri Feb 02, 2018 9:28 pm

I can't wait to get access to the power monitoring features so we can better debug power issues... We should write firmware that uses the neoPixel on the main board to color status what the power state is. Green = good Yellow = moderate Red = Low Blinking red = PLUG ME IN!!!

Having a way of detecting brown-outs and power dips would be useful, too, for debugging. The data stream is supposedly there on the PIC... we just need to use it.
----------
Erik S. Bailey
Entry, Descent, and Landing Aerospace Engineer
Maker, and Musician
SpiritRover Kickstarter Backer #460

gpvillamil
Posts: 75
Joined: Fri Jan 26, 2018 5:03 pm

Re: Tilt servo unresponsive when power low?

Postby gpvillamil » Fri Feb 02, 2018 9:42 pm

Should be easy enough, the power functions from the Arduino are documented:

https://plumgeek.gitbooks.io/spirit-rov ... power.html

I'll add some code to the demo sketch to read the power state and use it for the board LED. In fact for now perhaps I'll just treat the left and right wings as bar graphs...

I wish there was an easy way to capture the Arduino serial (console) output, I could just send out the actual values. I guess I can just plug in a USB cable. Or stick an XBee in the socket on the board.

User avatar
esba1ley
Posts: 58
Joined: Sun Jan 01, 2017 2:15 am
Location: Pasadena, CA
Contact:

Re: Tilt servo unresponsive when power low?

Postby esba1ley » Fri Feb 02, 2018 10:02 pm

Or... if we ever could get the pin-out for the SPI connection to the RasPI... I'm about to "brute force it" and try all combinations of GPIO pins until I see avrdude happy talking to an M328P... then we can direct serial output to that and we could fire up a serial monitor on the PI...
----------
Erik S. Bailey
Entry, Descent, and Landing Aerospace Engineer
Maker, and Musician
SpiritRover Kickstarter Backer #460

User avatar
esba1ley
Posts: 58
Joined: Sun Jan 01, 2017 2:15 am
Location: Pasadena, CA
Contact:

Re: Tilt servo unresponsive when power low?

Postby esba1ley » Fri Feb 02, 2018 11:18 pm

One missing piece that I needed to do: I needed to enable the linux driver for SPI on my PI... this is in the file:

/etc/modules

And for my SpiritRover Pi, it looks like:

Code: Select all

i2c-dev
i2c-bcm2708
spi-bcm2708


When I did that, I get /dev/spi* devices to show up...

Code: Select all

pi@spirit_rover:~ $ ls /dev/spi*
/dev/spidev0.0  /dev/spidev0.1


Baby steps...

-E
----------
Erik S. Bailey
Entry, Descent, and Landing Aerospace Engineer
Maker, and Musician
SpiritRover Kickstarter Backer #460


Who is online

Users browsing this forum: No registered users and 1 guest