tiny2313 внешние прерывания

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс апр 18, 2010 11:31:55

Сообщение timo13 »

Прошу помощи. Никак не могу отладить устройство которое включает моторчик на 2 сек. по истечении некоторого интервала времени. Программа имеет четыре подпрограммы, выбор кнопкой S1. Кнопка S2 включает моторчик на 2 сек. в любой момент. Устройство работает, но работает нестабильно, в момент включения мотора прерывания начинали происходить постоянно и хаотично. Конденсатор С1 от части ситуацию улучшил, намного, но помехи все равно остались.
Вложения
2.jpg
(94.19 КБ) 446 скачиваний
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

1. Неправильная разводка земли или питания
2. Подтягивающие резисторы на INT0-INT1 надо уменьшить - взять ≈1К или меньше
3. Параллельно этим подтягивающим резисторам - керамику на 0,1мкФ
4. Резистор 10К в затворе полевика переместите правее резистора 300 Ом непосредственно на затвор
5. Ставьте позиционные обозначения на схемах!
Реклама
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

Подобным образом подавать прерывания - порнография. Если уж нельзя сделать нормальный антидребезг на триггерах, то просто уйдите от прерываний - кто мешает сделать опрос ног (конечно же с программным антидребезгом) с последующим вызовом подпрограмм?

Последуйте совету:
ploop писал(а):1. Неправильная разводка земли или питания
Проверьте этот момент. Что представляет собой источник питания 2,6В? Есть сильное подозрение на его высокое выходное сопротивление или недостаточно быструю реакцию регулятора (если там КРЕНка). Нужен кондер посуровее прямо возле гадского моторчика, а все питание МК и его обвязки можно отвязать дросселем и прикрыть отдельным кондером.
Знание - сила!
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс апр 18, 2010 11:31:55

Сообщение timo13 »

Источник питания два пальчиковых аккума. Опрос ног не получается, т.к. во время отработки задержки МК, по задумке, должен уйти в спящий режим, а проснуться по прерыванию таймера, или по кнопке S2
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс апр 18, 2010 11:31:55

Сообщение timo13 »

ploop писал(а):5. Ставьте позиционные обозначения на схемах!
К своему стыду, я не знаю , что это значит.
Реклама
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс апр 18, 2010 11:31:55

Сообщение timo13 »

Пухич писал(а):Нужен кондер посуровее прямо возле гадского моторчика, а все питание МК и его обвязки можно отвязать дросселем и прикрыть отдельным кондером.
Если можно, пожалуйста, по подробнее.
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

подробнее так подробнее
http://eewiki.ru/wiki/%D0%9F%D0%BE%D0%B ... 0%B2%D0%B0
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

timo13 писал(а):
ploop писал(а):5. Ставьте позиционные обозначения на схемах!
К своему стыду, я не знаю , что это значит.
Обозначения R1, R2, C1 и т.д.
Просто когда что-то поясняют на схеме, можно сказать "увеличь вооон тот резистор между нижним портом контроллера и землёй", а можно - "увеличь R5". Есть разница?
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

urry, замечательная статья! Полезно перечитать, хотя правила вроде общеизвестные.
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

timo13 писал(а):Источник питания два пальчиковых аккума.
Возможно это объясняет странности с паразитными прерываниями при включении мотора (хотя еще неизвестно, насколько сильно гадит дребезг кнопок - может только он и гадит). Пожалуй даже странно, что сам МК не ресетится при включении мотора....
Знание - сила!
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Пожалуй даже странно, что сам МК не ресетится при включении мотора....
Он вполне может несколько раз ребутнуться, пока ротор не стронется с места, и импульсы тока станут меньше. Порой этого можно и не заметить.
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

ploop писал(а):Он вполне может несколько раз ребутнуться, пока ротор не стронется с места, и импульсы тока станут меньше. Порой этого можно и не заметить.
Само собой это заметить нельзя. Но автор про ребуты ничего не сказал, видимо есть некая уверенность в их отсутствии.
Знание - сила!
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский

Сообщение phanis »

Для диагностики можно использовать регистр MCUSR т.е почему произошел сброс.
И еще конденсатор между RESET и землей 0.1 мкф. диод от RESET на -|>|- + питания.

То что посоветовал ploop
1. Неправильная разводка земли или питания
2. Подтягивающие резисторы на INT0-INT1 надо уменьшить - взять ≈1К или меньше
3. Параллельно этим подтягивающим резисторам - керамику на 0,1мкФ
4. Резистор 10К в затворе полевика переместите правее резистора 300 Ом непосредственно на затвор
5. Ставьте позиционные обозначения на схемах!
Кроме
2. Подтягивающие резисторы на INT0-INT1 надо уменьшить - взять ≈1К или меньше. Энергопотребление схемы увеличиться при нажатии на кнопки.
4. Резистор 10К в затворе полевика переместите правее резистора 300 Ом непосредственно на затвор. Напряжение и так достаточно низкое.
Нужна задержка после включения питания, перезагрузки. Чтобы конденсаторы успели зарядится, после разрешенить прерывания.
И что касается программной части вы правильно настроили INT0-INT1 - т.е по спаду? Можно ведь и по лог 0;
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

можно и мне немножко поумничать :)))
отдели цепи питания двигла от цепей питания мк, проще всего питание на мк подавать через диод (в прямом направлении ессно) и поставить после диода электролит 100..200 мкф, ребуты пропадут.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс апр 18, 2010 11:31:55

Сообщение timo13 »

МК не перезагружается. С этого-то и началась эпопея. Благодоря уважаемым участникам этого замечательного форума, в цепи питания МК появился кондер С2. Без этого кондера схема просто не работает, мотор чуть дергается и происходит ребут, и так бесконечно. Я не рисовал на схеме, но к порту "В" подключен семисегментный индикатор, который кратковременно отображает номер выбранной подпрограммы. Если бы МК перезагружался, то отображалась подпрограмма №1, это по логике проги, после инициализации МК вызывается подпрограмма №1. А у меня сейчас, после первого срабатывания мотора по прераванию таймера, начинают произвольно перебираться подпрограммы, как если бы мы нажимали S1, и мотор иногда срабатывает как по нажатию S2. Повторюсь, кондер С1на моторе ситуацию улучшил, в разы, но не исправил окончательно. То есть происходят паразитные прерывания, кнопки я не трогаю вообще.
Последний раз редактировалось timo13 Сб апр 09, 2011 11:42:20, всего редактировалось 1 раз.
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

Значит надо решить вопрос с качеством питания и дальше уже смотреть.
Знание - сила!
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

timo13 писал(а): Повторюсь, кондер С1на моторе ситуацию улучшил, в разы, но не исправил окончательно. То есть происходят паразитные прерывания, кнопки я не трогаю вообще.
Я же говорю не о кондере на движке, а о диоде и кондере на мк.
Отдели цифровую часть от "силовой"
Вложения
2-1.JPG
(92.04 КБ) 461 скачивание
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс апр 18, 2010 11:31:55

Сообщение timo13 »

GP1 писал(а):Я же говорю не о кондере на движке, а о диоде и кондере на мк.
Отдели цифровую часть от "силовой"
Можно параметры конденсатора?
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

timo13 писал(а):
GP1 писал(а):Я же говорю не о кондере на движке, а о диоде и кондере на мк.
Отдели цифровую часть от "силовой"
Можно параметры конденсатора?
я же писал
GP1 писал(а):можно и мне немножко поумничать :)))
отдели цепи питания двигла от цепей питания мк, проще всего питание на мк подавать через диод (в прямом направлении ессно) и поставить после диода электролит 100..200 мкф, ребуты пропадут.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс апр 18, 2010 11:31:55

Сообщение timo13 »

phanis писал(а):Нужна задержка после включения питания, перезагрузки. Чтобы конденсаторы успели зарядится, после разрешенить прерывания.
И что касается программной части вы правильно настроили INT0-INT1 - т.е по спаду? Можно ведь и по лог 0;
Задержка есть, а вот с фронтами я не очень понимаю разницу, у меня настроены по переднему фронту. Поделитесь Вашими доводами. И по поводу лог 0 тоже. Вообще везде, где я нашел инфу, кнопки подключают с подачей земли на ножку МК. Я же сделал с подачей питания, поскольку прерывание должно разбудить МК из испящего режима. Я вообще правильно рассуждаю?
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»