UNO, Аналоговый вход, цена деления
- Войдите на сайт для отправки комментариев
Всем привет! Сижу с keypad от китайцев, и пробую подключить к аналоговому порту. Клава простая матрица резисторов, на первой кнопке 1кОм, на последней кнопке 10кОм. Что интересно, это две последние кнопки на аналоговом порту показывают одинаковое значение 1023. При этом напряжение МК 4.85В. От него же запитана клава. Мерю напряжение после нажатия на аналоговом порту - 4.85 последняя кнопка, и 4.3 предыдущая, а значение в порту на обоих 1023... Не могу понять, что не так... Разное напряжение, а АЦП не видит эту разницу. При этом остальные кнопки распознает. К примеру 3.9в = 1000, 4.85 = 1023. А где середина?
Первая и вторая кнопка 2.26 = 570, 2.37=600. Шаг такой же, но тут он все понимает. Где копать?
На счет сопротивления кнопок обманул, 12 кнопок, с шагом 1кОм. Т.е последние две это 11кОм и 12кОм...
3,9 вольта должно быть 806, а не 1000, если повар нам не врёт )))
видимо провода длинные, наводки
На счет сопротивления кнопок обманул, 12 кнопок, с шагом 1кОм. Т.е последние две это 11кОм и 12кОм...
это так не делается, поищи, как именно надо матрицу клавиатуры собирать
Я взял ща другой модуль Уно, запитал от USB и подключил только эту клаву (без других нагрузок).
Питание на пине "5В" = 4.9В И клава отрабатывает правильно. Все кнопки. По коду сдвиг от предыдущей уно. Если на той уно - на первой кнопке 575, то на новой 488.
И еще заметил, что на первую уно блок подает 5.1В, а на ее Пине "5В" щупаю 4.85В... Может дело в этом?
Еще провел эксперимент - просто подключил первую Uno от блока и проверил на ее пине "5B" = 4.75В Похоже это связано с тем, что я подаю на Vin 5в, и его стабилизатор съедает
Клаву не я паял))) Просто взял готовый вариант аналоговой клавы от RobotDyn
Поменял пин с Vin на "5В" - клава так же не хочет работать ((((
Питание 5в надо подавать на пин "5в", а не на VIN. В остальном разберитесь, нечему там не работать, скорее всего чепуха не только в схеме, но и у вас в голове...
Если бы так все было просто, сижу уже 6й час над этим, и когда кончились варианты - пошел на форум...
Замерил все показания (контроллер Iskra Mini):
Питание сейчас 4.91 на пине "5В"
1-я кнопка - 2.34В = 573 (пин А0)
2-я кнопка - 2.46В = 601 (пин А0)
3-я кнопка - 2.59В = 635 (пин А0)
...
10 кнопка 4.09В = 1000
11 кнопка 4.46В = 1023
12 кнопка 4.91В = 1023
Если верить формулье АЦП = B(вход) * 1024 / В(опорное), то получаем 2.34 * 1024 / 4.91 = 488, а не 573! Вот где тут зарыт косяк? На другой уно именно так = ~485
Загнал в Excel и подобрал опорное = 4.2В чтобы он показал 572 при 2.34В на входе... Что-то с опорным в контроллере?
Копнул дальше, нашел ногу AREF на контроллере - на ней 4.26в! А на АрудУно на этой ноге 0... А что все таки там должно быть, если ничего не подключено?
Возможно конденсатор C4 неисправен?
В схеме замерить кондер наверное проблемно будет. Я вот ща попробовал дать команду analogReference(DEFAULT) и после запуска на AREF ноге появилось 0в. Сейчас думаю подпаяться к этой ноге через резистор 5.5кОм на пин "5В" может даст эффект? Ну и конечно поправить команду на EXTERNAL
Не прокатило (( 1023 на пине при 0 напряжении... Вернул все назад...
Может есть смысл как-то поиграть резисторами на keypad'е? например понизить сопротивление, добавив параллельное включение резистора? Или все же надо искать причину в опорном напряжении?
Нет схемы - нефиг гадать.
Вот код прошивки. Пробую на двух контроллерах, на одном значения 480, на IskraMini 570. Схема простая, питание и GND беру от Ардуины (pin "5В") на KeyPad, а AnalogOut с keypad подключен к A0 ардуины.
Схема
Только резисторы другие. 3шт по 1кОм и 3шт по 3кОм
Короче, я так и не наше причину, но нашел IskraMini с 2016 года выпуска, внешне похожа, но есть отличия если присмотреться. Запустил на ней это же самое - и все заработало!
12 часов коту под хвост!!! у меня слов нет... Ща им техподдержку нагружу
Вот код прошивки. Пробую на двух контроллерах, на одном значения 480, на IskraMini 570. Схема простая, питание и GND беру от Ардуины (pin "5В") на KeyPad, а AnalogOut с keypad подключен к A0 ардуины.
Схема
Только резисторы другие. 3шт по 1кОм и 3шт по 3кОм
При нажатии одной и той же кнопки. Например первая кнопка. Эта схема не факт, что моя, я поискал в инете что-то похожее, где 3 х пиновая система, vcc, gnd, analogout.
Дело не в схеме клавиш. Я нажимаю одну и ту же кнопку на одной и той же прошивке, на разных контроллерах и получаю разный результат. Вот это меня напрягло. При чем уже 2 контроллера адекватны, и возвращают одни и те же показания (+-10) а третий дырявый... не знаю как его еще назвать
Кстати, я обратил внимание, что есть 3 варианта на ноге AREF.
1) Напряжение равно ноге "5В"
2) Напряжение равно 0
3) Косячный вариант - напряжение ниже ноги "5В" на 0.5-0.8В
А от чего это зависит - я пока не понимаю
Вот код прошивки. Пробую на двух контроллерах, на одном значения 480, на IskraMini 570. Схема простая, питание и GND беру от Ардуины (pin "5В") на KeyPad, а AnalogOut с keypad подключен к A0 ардуины.
Схема
Только резисторы другие. 3шт по 1кОм и 3шт по 3кОм
резисторы не той системы
Заведи на Aref 5 вольт с конденсатором. Что бы правильно цифровалось Аref надо соединить с верхней точкой резисторов клавы.
На счет сопротивления кнопок обманул, 12 кнопок, с шагом 1кОм. Т.е последние две это 11кОм и 12кОм...
это так не делается, поищи, как именно надо матрицу клавиатуры собирать
12 часов коту под хвост!!! у меня слов нет... Ща им техподдержку нагружу
12 часов фигня. Когда сложный вопрос попадется - бывает и по 2 недели сидишь
Кстати, я обратил внимание, что есть 3 варианта на ноге AREF.
1) Напряжение равно ноге "5В"
2) Напряжение равно 0
3) Косячный вариант - напряжение ниже ноги "5В" на 0.5-0.8В
А от чего это зависит - я пока не понимаю
Возможно что-то грузит ногу Ареф. Я бы отпаял ее от платы и померил напряжение на ней. Стало бы понятно дело в МК или обвесе.
По моему конденсатор выпаять проще и безопасней.