- Вложения
-
- 2.jpg
- (94.19 КБ) 446 скачиваний
tiny2313 внешние прерывания
- Сообщения: 40
- Зарегистрирован: Вс апр 18, 2010 11:31:55
Прошу помощи. Никак не могу отладить устройство которое включает моторчик на 2 сек. по истечении некоторого интервала времени. Программа имеет четыре подпрограммы, выбор кнопкой S1. Кнопка S2 включает моторчик на 2 сек. в любой момент. Устройство работает, но работает нестабильно, в момент включения мотора прерывания начинали происходить постоянно и хаотично. Конденсатор С1 от части ситуацию улучшил, намного, но помехи все равно остались.
- Реклама
1. Неправильная разводка земли или питания
2. Подтягивающие резисторы на INT0-INT1 надо уменьшить - взять ≈1К или меньше
3. Параллельно этим подтягивающим резисторам - керамику на 0,1мкФ
4. Резистор 10К в затворе полевика переместите правее резистора 300 Ом непосредственно на затвор
5. Ставьте позиционные обозначения на схемах!
2. Подтягивающие резисторы на INT0-INT1 надо уменьшить - взять ≈1К или меньше
3. Параллельно этим подтягивающим резисторам - керамику на 0,1мкФ
4. Резистор 10К в затворе полевика переместите правее резистора 300 Ом непосредственно на затвор
5. Ставьте позиционные обозначения на схемах!
- Сообщения: 4673
- Зарегистрирован: Вс июн 01, 2008 00:17:35
- Откуда: Я всего лишь плод вашего воображения...
Подобным образом подавать прерывания - порнография. Если уж нельзя сделать нормальный антидребезг на триггерах, то просто уйдите от прерываний - кто мешает сделать опрос ног (конечно же с программным антидребезгом) с последующим вызовом подпрограмм?
Последуйте совету:
Последуйте совету:
Проверьте этот момент. Что представляет собой источник питания 2,6В? Есть сильное подозрение на его высокое выходное сопротивление или недостаточно быструю реакцию регулятора (если там КРЕНка). Нужен кондер посуровее прямо возле гадского моторчика, а все питание МК и его обвязки можно отвязать дросселем и прикрыть отдельным кондером.ploop писал(а):1. Неправильная разводка земли или питания
Знание - сила!
- Сообщения: 40
- Зарегистрирован: Вс апр 18, 2010 11:31:55
Источник питания два пальчиковых аккума. Опрос ног не получается, т.к. во время отработки задержки МК, по задумке, должен уйти в спящий режим, а проснуться по прерыванию таймера, или по кнопке S2
- Сообщения: 40
- Зарегистрирован: Вс апр 18, 2010 11:31:55
К своему стыду, я не знаю , что это значит.ploop писал(а):5. Ставьте позиционные обозначения на схемах!
- Реклама
- Сообщения: 40
- Зарегистрирован: Вс апр 18, 2010 11:31:55
Если можно, пожалуйста, по подробнее.Пухич писал(а):Нужен кондер посуровее прямо возле гадского моторчика, а все питание МК и его обвязки можно отвязать дросселем и прикрыть отдельным кондером.
подробнее так подробнее
http://eewiki.ru/wiki/%D0%9F%D0%BE%D0%B ... 0%B2%D0%B0
http://eewiki.ru/wiki/%D0%9F%D0%BE%D0%B ... 0%B2%D0%B0
Обозначения R1, R2, C1 и т.д.timo13 писал(а):К своему стыду, я не знаю , что это значит.ploop писал(а):5. Ставьте позиционные обозначения на схемах!
Просто когда что-то поясняют на схеме, можно сказать "увеличь вооон тот резистор между нижним портом контроллера и землёй", а можно - "увеличь R5". Есть разница?
urry, замечательная статья! Полезно перечитать, хотя правила вроде общеизвестные.
- Сообщения: 4673
- Зарегистрирован: Вс июн 01, 2008 00:17:35
- Откуда: Я всего лишь плод вашего воображения...
Возможно это объясняет странности с паразитными прерываниями при включении мотора (хотя еще неизвестно, насколько сильно гадит дребезг кнопок - может только он и гадит). Пожалуй даже странно, что сам МК не ресетится при включении мотора....timo13 писал(а):Источник питания два пальчиковых аккума.
Знание - сила!
Он вполне может несколько раз ребутнуться, пока ротор не стронется с места, и импульсы тока станут меньше. Порой этого можно и не заметить.Пожалуй даже странно, что сам МК не ресетится при включении мотора....
- Сообщения: 4673
- Зарегистрирован: Вс июн 01, 2008 00:17:35
- Откуда: Я всего лишь плод вашего воображения...
Само собой это заметить нельзя. Но автор про ребуты ничего не сказал, видимо есть некая уверенность в их отсутствии.ploop писал(а):Он вполне может несколько раз ребутнуться, пока ротор не стронется с места, и импульсы тока станут меньше. Порой этого можно и не заметить.
Знание - сила!
Для диагностики можно использовать регистр MCUSR т.е почему произошел сброс.
И еще конденсатор между RESET и землей 0.1 мкф. диод от RESET на -|>|- + питания.
То что посоветовал ploop
2. Подтягивающие резисторы на INT0-INT1 надо уменьшить - взять ≈1К или меньше. Энергопотребление схемы увеличиться при нажатии на кнопки.
4. Резистор 10К в затворе полевика переместите правее резистора 300 Ом непосредственно на затвор. Напряжение и так достаточно низкое.
Нужна задержка после включения питания, перезагрузки. Чтобы конденсаторы успели зарядится, после разрешенить прерывания.
И что касается программной части вы правильно настроили INT0-INT1 - т.е по спаду? Можно ведь и по лог 0;
И еще конденсатор между 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;
можно и мне немножко поумничать
отдели цепи питания двигла от цепей питания мк, проще всего питание на мк подавать через диод (в прямом направлении ессно) и поставить после диода электролит 100..200 мкф, ребуты пропадут.
отдели цепи питания двигла от цепей питания мк, проще всего питание на мк подавать через диод (в прямом направлении ессно) и поставить после диода электролит 100..200 мкф, ребуты пропадут.
- Сообщения: 40
- Зарегистрирован: Вс апр 18, 2010 11:31:55
МК не перезагружается. С этого-то и началась эпопея. Благодоря уважаемым участникам этого замечательного форума, в цепи питания МК появился кондер С2. Без этого кондера схема просто не работает, мотор чуть дергается и происходит ребут, и так бесконечно. Я не рисовал на схеме, но к порту "В" подключен семисегментный индикатор, который кратковременно отображает номер выбранной подпрограммы. Если бы МК перезагружался, то отображалась подпрограмма №1, это по логике проги, после инициализации МК вызывается подпрограмма №1. А у меня сейчас, после первого срабатывания мотора по прераванию таймера, начинают произвольно перебираться подпрограммы, как если бы мы нажимали S1, и мотор иногда срабатывает как по нажатию S2. Повторюсь, кондер С1на моторе ситуацию улучшил, в разы, но не исправил окончательно. То есть происходят паразитные прерывания, кнопки я не трогаю вообще.
Последний раз редактировалось timo13 Сб апр 09, 2011 11:42:20, всего редактировалось 1 раз.
- Сообщения: 4673
- Зарегистрирован: Вс июн 01, 2008 00:17:35
- Откуда: Я всего лишь плод вашего воображения...
Значит надо решить вопрос с качеством питания и дальше уже смотреть.
Знание - сила!
Я же говорю не о кондере на движке, а о диоде и кондере на мк.timo13 писал(а): Повторюсь, кондер С1на моторе ситуацию улучшил, в разы, но не исправил окончательно. То есть происходят паразитные прерывания, кнопки я не трогаю вообще.
Отдели цифровую часть от "силовой"
- Вложения
-
- 2-1.JPG
- (92.04 КБ) 461 скачивание
- Сообщения: 40
- Зарегистрирован: Вс апр 18, 2010 11:31:55
Можно параметры конденсатора?GP1 писал(а):Я же говорю не о кондере на движке, а о диоде и кондере на мк.
Отдели цифровую часть от "силовой"
я же писалtimo13 писал(а):Можно параметры конденсатора?GP1 писал(а):Я же говорю не о кондере на движке, а о диоде и кондере на мк.
Отдели цифровую часть от "силовой"
GP1 писал(а):можно и мне немножко поумничать![]()
отдели цепи питания двигла от цепей питания мк, проще всего питание на мк подавать через диод (в прямом направлении ессно) и поставить после диода электролит 100..200 мкф, ребуты пропадут.
- Сообщения: 40
- Зарегистрирован: Вс апр 18, 2010 11:31:55
Задержка есть, а вот с фронтами я не очень понимаю разницу, у меня настроены по переднему фронту. Поделитесь Вашими доводами. И по поводу лог 0 тоже. Вообще везде, где я нашел инфу, кнопки подключают с подачей земли на ножку МК. Я же сделал с подачей питания, поскольку прерывание должно разбудить МК из испящего режима. Я вообще правильно рассуждаю?phanis писал(а):Нужна задержка после включения питания, перезагрузки. Чтобы конденсаторы успели зарядится, после разрешенить прерывания.
И что касается программной части вы правильно настроили INT0-INT1 - т.е по спаду? Можно ведь и по лог 0;



