ATMega128 A/D Плавающий

Я работаю с микроконтроллером ATMega128, работающим с джойстиком (горшок на схеме ниже), который имеет выход 0,25-4,75 В с выходным сопротивлением 2 Ом (номер детали джойстика: ch products ts-2-r-1-u- 05-а). Однако, когда линия между потенциометром и резистором 33 кОм удаляется при включенной плате, напряжение будет плавать ~ 0,5 В в течение некоторого периода времени (возможно, 20-30 минут), прежде чем полностью понизится. Я думал, что резистор на 499 кОм должен эффективно снижать его, но что-то здесь не так.

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

У кого-нибудь есть идеи, почему он не снесет полностью и сразу? Я наблюдал за ним в прицел, и он довольно долго колеблется около отметки 0,5 В. Также следует отметить, что в настоящее время я подключаю резистор 499 кОм к крышке 0,01 мкФ для тестирования.

Ваша схема R2/C1 имеет постоянную времени около 5 мс. Поэтому, если ваш вход не возвращается к земле в течение примерно 30 мс, что-то еще управляет узлом. Может быть у вас включены внутренние подтяжки mcu?
@Curd это номер детали джойстика для справки. Подумал, что может быть полезно включить.
@svens Я посмотрю на это, но я считаю, что ATMega128 отключает подтяжки в режиме аналого-цифрового преобразования. 499k изначально не было, поэтому я добавил его (прицепил к крышке) прошлой ночью, и он ни за что не стянулся. Пусть он останется на ночь, и сегодня утром он работал каждый раз, пока я снова не отключил его. Не уверен, что там происходит, но я посмотрю на подтягивания.
@biggidvs: тогда почему бы вам не сказать, что это номер детали? Это совсем не очевидно. Кстати: Раз уж вас интересует поведение схемы при отключении джойстика, какое это вообще может иметь значение?
@Curd просто пытается включить каждую часть информации. Именно при отключении джойстика от этой линии напряжение не падает. Поскольку это часть моей последовательности шагов по воспроизведению проблемы, я включил ее. Я отредактирую, чтобы показать номер детали.
@biggidvs: Как вы измерили напряжение в узле «A/D»? 499К - это довольно высокое сопротивление. Ваш палец, касающийся двух линий, может иметь сопротивление, составляющее долю (1/20 или даже меньше) этого сопротивления.
Другая возможность заключается в том, что R2 неправильно подключен.
Да, я думал об этом и перепаивал его несколько (вероятно, 20 или 30) раз. Трудно измерить сопротивление от этой линии до земли, когда есть этот колпачок (он любит немного плавать). Часть меня хочет снять кепку и уйти оттуда. Это просто своего рода фильтр ... может добавить немного больше шума, но, возможно, позволит мне увидеть проблему.
Является ли ваше заземление действительно хорошим (низкое сопротивление) этой крышки и резистора? В течение нескольких часов у меня было сообщение об ошибке, потому что оно не установило правильный контакт ...
@Арсенал, да, у меня 0,2 Ом от земли колпачка/резистора до земли на плате.

Ответы (1)

Вы, кажется, предполагаете, что сама ATmega не имеет никакого влияния на напряжение узла.

На самом деле, если вы посмотрите на техпаспорт, входной ток утечки указан до микроампер в любом направлении.

Микроампер на 499K равен половине вольта.

Это может быть или не быть объяснением фактической проблемы, которую вы видите, но это пример недопустимого допущения проекта - независимо от того, происходит это или нет, это ситуация, полностью разрешенная техническим описанием, и, следовательно, дизайн ошибка предполагать, что этого не произойдет.

Да, я вижу это, и кажется, что это может быть то, откуда это исходит. Я могу получить несколько меньших номиналов резисторов и попробовать их, чтобы увидеть, будет ли он сильнее тянуть его вниз и уйти от влияния узла. Однако при последовательном сопротивлении 33 кОм мне нужно оставаться выше этого значения для понижения напряжения, верно?
Возможно, вам стоит отступить и подумать, почему вас это волнует? Вы пытаетесь обнаружить пропавший джойстик? Если бы ваша спецификация джойстика была правильной, вы могли бы поставить более сильные резисторы смещения перед последовательным резистором без особого эффекта, но ваша спецификация для джойстика просто неправдоподобна, если у него нет буферного усилителя.
Да, пытаясь определить, отключен ли он от сети и т. д. Например, без раскрывающегося списка, если джойстик отключен, когда он показывает ~ 3 В, линия будет плавать при 3 В, поскольку нет пути к земле. Вот почему я добавляю выпадающий список (чтобы вытащить его из рабочего диапазона для обнаружения режима ошибки). Резистор 33k уже есть, поэтому я пытаюсь обойти его как можно лучше. Не знал, повлияет ли на это меньшее вытягивание или нет.
Если вы действительно хотите обнаружить джойстик, вам может потребоваться сделать что-то вроде периодической подачи импульсов тока и убедиться, что их действие ограничено, или включить и выключить питание джойстика и посмотреть, что показания реагируют. Но вам потребуется тщательная синхронизация и управление постоянными времени RC, чтобы гарантировать, что операции обнаружения присутствия не повлияют на показания, которые вы используете для данных.
Итак, вы думаете, что меньшее раскрывающееся меню изменит вывод джойстика?
Замена резистора на 100 кОм решает проблему, и он мгновенно отключается ... теперь пришло время исправить проблему с выходом.
Исправлено изменением 33k на 1k и 100k pulldown, устраняющим большую часть эффекта делителя напряжения. Обновлю окончательную схему с ответом. ATMega воздействовала на узел, вызывая проблемы, так что это был просто вопрос балансировки тока утечки с делителем напряжения!