2017-01-06 16 views
1

ATMEGA32 개발자 보드에서 서보 모터로 작업 중이므로 그 문제를 일으키는 것으로 생각됩니다. 서보를 반대 방향으로 회전시키는 두 개의 서브 루틴이 어셈블리에 있습니다. 그들은 혼자 전화 할 때 확실히 괜찮습니다. 그러나이 경고가 나올 때까지 1 초 정도 지연시켜야합니다.AVR에서 브라운 아웃 리셋을 수정하는 방법은 무엇입니까?

"마지막 작동 중에 브라운 아웃 리셋이 발생했습니다. 전원 공급 장치 전압을 확인하십시오."

서보를 너무 빨리 회전하려고하면 인터넷에서의 연구 결과를 알게되었는데, 이것은 일어날 수 있지만 다른 코드에서 앞뒤로 빠르게 갈 수 있기 때문에 별도의 서브 루틴으로 써 넣은 이유는 무엇입니까? 하지만 그렇게해야합니다.

+4

은 하드웨어 문제와 비슷합니다. –

+1

하드웨어 문제로 인해이 질문을 주제와 관련이없는 것으로 보겠습니다. 전기 공학에 대한 도움을 얻을 수 있습니다 : http://electronics.stackexchange.com/ –

답변

0

출력 핀을 통해 너무 많은 전류가 흐를 때 브라운 아웃이 발생할 수 있습니다. 이로 인해 전압이 너무 많이 떨어지면서 절전 감지가 트리거됩니다. 프로세서 전원 공급 장치가 동일한 전원 공급 장치의 다른 항목에 의해 과도하게 사용되는 경우에도 발생할 수 있습니다.

서보 모터의 전원이 다른 전원으로 공급되고 있습니까? 서보가 코드 변경으로 더 많은 힘을 얻고 있다는 귀하의 코드에 어떤 이유가 있습니까?

이 스택 교환은 코드 관련 질문입니다. 일부 코드를 게시하면 사용 가능한 수정 사항이있을 수 있지만 하드웨어 변경을 통해 문제를 해결하는 것이 더 쉬울 수 있습니다. 아마 더 나은 전원 공급 장치, 또는 현재 서지를 처리하기 위해 전압 공급 장치 전체에 커패시터를 추가하는 것일 수도 있습니다.

0

질문이 electronics.stackexchange.com 또는 arduino.stackexchange.com에 더 적합 할 수 있지만 가능한 한 가지 해결책은 매우 간단합니다.

저는 Arduino (ATMEGA 2560)에서이 두 가지를 사용하고 있습니다. servomotors. 이 응용 프로그램은 팬 - 틸트 헤드이며, 모터는 Arduino가 너무 많은 전류를 끌어와 소스에 도달 할 수 있습니다. 처음에는 문제가 간헐적으로 보였습니다. 테스트 코드가 항상 프로세서를 재설정하지는 못했습니다. 나는 나중에 브라운 아웃의 발생이 모터의 시작 위치, 원하는 회전 각도 등에 따라 다양하다는 결론을 내렸다. (이는 뒤돌아 보면 완전히 이해된다. 모터 시동 전류 요구 사항 등을 고려하지 않았다.)

내 솔루션은 모터에 전용 5VDC 1.5A 전원을 제공하여 프로세서 재설정 문제를 완전히 해결했습니다. 이 방법을 따르면 모터와 ATMEGA32 보드 사이에 공통 접지를 설정해야합니다.