[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-chat] Debuging spurious resets in Atmega16 application.
From: |
Matthew MacClary |
Subject: |
Re: [avr-chat] Debuging spurious resets in Atmega16 application. |
Date: |
Tue, 6 Sep 2005 09:58:20 -0700 |
User-agent: |
Mutt/1.4.1i |
On Tue, Sep 06, 2005 at 12:06:24AM -0400, Brian Dean wrote:
> In addition to good suggestions by others, check that the power to
> your MCU is separated from that of your motors. During times of
> heavy current draw by the motors, the battery can sag which causes
> the MCU to reset.
A power problem is my diagnosis also since the application works
on the bench. One suggestion that hasn't been made yet is liberal use
of decoupling caps!
First follow Brian's suggestion to provide a direct explicit paths
to ground for all of your motors and electronics. Next put large value
caps as close as possible to every point in the system where VCC and
ground may get pulled together - or where it would cause trouble if
they pull together. On my robot I have one or two 50V 220uF caps
placed between VCC and ground at these locations:
1) Power input to the DC-DC step up regulator.
2) Power input to the motor speed controller.
3) Power input to the 5V regulator for the AVRs.
4) Between power and ground on the AVR board.
Let me repeat that proximity of decoupling caps is the key, this
is because VCC and ground are _not_ at the same voltage at every point
during a noise coupling event. Imagine a tight-rope walker jumping on
a VCC tight rope everywhere a motor is attached!
-Matt