Atmega128 повреждение линии порта

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 8
Зарегистрирован: Вт ноя 24, 2015 15:41:54

Сообщение ano60 »

Добрый день. Пытаюсь разобраться в причине неполадки контроллера.
Неполадка выглядит так: Atmega128, PINE3 вход с подтяжкой внутренним резистором. Подключена внешняя кнопка, длина провода 150 мм. При подключении пина к земле все нормально, программа выполняется. Если кнопка не нажата (нет земли), а к линии присоединен провод другим концом подключенный по назначению или вовсе не подключенный, программа слетает, начинается регулярная перезагрузка контроллера. Если подключить к ножке питание (без ограничивающего резистора или с резистором сопротивлением не более 65 ом) , то тоже все работает. Все другие линии портов работают нормально. Все неиспользуемые линии портов подтянуты к питанию. То есть - это наводка. Но почему только одна ножка так себя ведет?
Как такое поведение реализуется в микросхеме?
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

Помеха с линии может перезапускать МК или приводить к другим сбоям. Если нечем посмотреть что творится на ноге МК, попробуйте поднять ее от платы и поглядеть что стало.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4741
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Сообщение vem566 »

Внутренние резисторы у авр порядка 20 ком. В то же время для подключения удаленных датчиков, кнопок или других устройств рекомендуют внешние подтягивающие резисторы в зависимости от удаленности от 10 до 1 ком как раз для минимизации наводок. А что касается именно этого входа, то возможно звезды так сошлись. Ну или последовать совету Z_h_e.
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

vem566 писал(а):Внутренние резисторы у авр порядка 20 ком.
Уточню. От 20 до 50 кОм.
ano60 писал(а):начинается регулярная перезагрузка контроллера.
Если перезагрузка не предусматривается в программе от данного пина, то это скорее сильная наводка, которая уходит в питание МК через его защитные диоды, например от искрящего реле. Если перезагрузка заложена в программе или есть такая ошибка в программе, то это может быть всего-лишь ложное срабатывание и достаточно подтянуть к питанию сопротивлением поменьше, ну например 1кОм.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 8
Зарегистрирован: Вт ноя 24, 2015 15:41:54

Сообщение ano60 »

Перезагрузка программой не предусмотрена. Вход я подтягивал резистором от 10к до 0 к. Работает от 0 до 65 ом. Я об этом писал. Косяк в программе как определить, если при подключении входа к "0" и непосредственно к питанию все работает? Там ветвление "если "0", если "1". Все, как обычно. Дополнительно скажу, что контроллер гонит 4 ШИМ на квадрант из IGBT. В нагрузке ДПТ 0,8КВт. Все коммуникации контроллера (ШИМ, сигнал ошибки с драйвера, разрешение драйверу) с гальв. развязкой. Кнопки и потенциометр-задатчик скорости - нет, но у них нет других соединений, кроме платы контроллера и провода в экранах и не длиннее 150 мм. Питание платы контроллера и чистой стороны развязок от индивидуального трансформатора. Я перекинул сигнал на другую (свободную) ногу этого же порта, и все работает. Для работы устройства мне ничего не нужно, но разобраться хочется, чтобы в другой раз не вляпаться.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4741
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Сообщение vem566 »

Ну так порт "битый", да и все разборки.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

а какая ещё периферия есть на этой ноге? (ну там прерывание или компаратор...)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Родился
Сообщения: 8
Зарегистрирован: Вт ноя 24, 2015 15:41:54

Сообщение ano60 »

Все правильно. Осталось от прошлого проекта подключенное прерывание, а процедуры обработки нет. Вот так и происходит замутнение сознания. Огромное спасибо за помощь.
Ответить

Вернуться в «AVR»