конструкция повторителя линии с двигателями, управляемыми atmega328 и mosfet

Я сделал дизайн для моего последователя линии. Я использую atmega328 от платы duemilanove. Двигатели повторителя линии подключены к двум мосфет-транзисторам, которые имеют широтно-импульсную модуляцию от контактов 5 и 6. У меня также есть 5 инфракрасных датчиков. датчики и атмега питаются от lm7805, а моторы напрямую от аккумулятора.

Проблема в том, что когда я ставлю атмегу на плату, она не запускает моторы, но если атмега находится на ардуино duemilanove и подключены только контакты 5 и 6, она работает. Я не подключал все контакты от атмеги, только те, которые я использую, это означает, что контакты 0-4 для датчиков, контакты vcc и gnd, контакты 5 и 6 для двигателей и два контакта, которые подключены к кристаллу и Конденсаторы 22пФ.

Нужно ли подключать еще какие-то пины, или он потребляет слишком много тока, чтобы лм не мог дать столько (я также не поставил два конденсатора на лм7805) или это какая-то другая проблема?

Редактировать: добавлена ​​схема и плата:Схема Доска

Пожалуйста, предоставьте принципиальную схему расположения на LF (Line Follower) - и в идеале также при подключении к Arduino. Кроме того, откуда вы знаете, что ATmega работает нормально без двигателей? - Есть ли какие-то другие признаки жизни - или вы смотрели приводы затворов полевых транзисторов с помощью осциллографа? и т. д. Какой источник питания вы используете на НЧ? 5В или 12В или...? Моторы идут через 7805? Какой Вин к 7805 на НЧ... Какое значение Vcc на ATMega (ИЗМЕРЕНО!) когда моторы не работают и когда пытаются запустить?
@RussellMcMahon При подключении к Arduino я просто делюсь контактом gnd и подключаю контакт 5 к тому месту, где он будет, когда atmega находится на повторителе линии. В таком случае моторы работают с той же атмегой только на думилановой плате. lm7805 подключен к полностью заряженной литий-полимерной батарее 7,4, и двигатели работают непосредственно от этой батареи, поэтому не превышает lm. Я измерил напряжение на контакте vcc на атмеге, он показывает 5 В, но двигатели не работают, потому что контакт не реагирует, он должен подняться до 5 В, но все время остается 0 В. Я проверил их мультиметром.
Что ж, эта ссылка вызвала всевозможные тревоги. Почему бы вам просто не загрузить изображение вашей схемы?
Он слишком большой, если я настолько уменьшу масштаб, из него ничего нельзя будет прочитать. Я пробовал что-то, и я думаю, что это из-за lm. Я сделал отдельный источник питания для атмеги и инфракрасных датчиков, но заземление общее, оно по-прежнему не работает, когда я подключаю двигатели, но без подключенных двигателей атмега работает просто отлично. Выходное напряжение на контактах, управляющих двигателем, изменяется согласно запрограммированной программе.
Подключена только одна земля, и у вас 2-6 закорочены на 27-23 соответственно. Кроме этого, кто-то еще может протянуть руку
Другая земля предназначена для аналоговых контактов, которые я не использую, а также контакты 27-23 вообще не подключены. Я подключил к плате только те контакты, которые мне нужны, то есть 0-4 контакты кристалла, gnd и vcc и контакты 5-6 для двигателей.
Да, другое заземление предназначено для аналоговых контактов и некоторых контактов порта C. Не подключить его (и в том же духе, не подключить AVCC) только приводит к проблемам. Amtel заявляет, что они должны быть подключены по адресу mel.com/Images/doc8414.pdf , даже если вы их не используете (раздел 2.1). Я имел в виду, что дорожки от контактов 2–6 проходят через контактные площадки для контактов с 27 по 23. Ваш код должен соответствовать этому (установите высокое Z/входы).

Ответы (1)

Задача решена. Мне просто нужно было подключить резистор 10 кОм между контактами сброса и vcc и один конденсатор 1 мкФ между vcc и землей. Другой контакт gnd и avcc на самом деле не обязательно подключать.