FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Понедельник, 20.11.2017, 16:32
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 3«123»
Модератор форума: support, Сергей, Олег, Anydy 
Форум » Основной » Спросить у знатоков » кнопоки на аналоговом входе
кнопоки на аналоговом входе
vlad Дата: Пятница, 14.07.2017, 23:35 | Сообщение # 16
Полковник
Группа: Проверенные
Сообщений: 381
Награды: 0
Репутация: 5
Статус: Offline
Цитата rw6cm ()
Все это фигня ))
Цитата rw6cm ()
Сразу видно многие положения просто не реально поймать,
сегодня не было возможности все опять проверить, но вчера почемуто на выходе были отрицательные значения на выходе блока нажатия кнопок при нажатии трех и только при всех нажатых показывало правильную сумму всех сопротивлений.
Есть выход?у меня конечно не пленочная клава. у меня 5 герконовых датчиков и один свободный выход.
 
Dryundel Дата: Суббота, 15.07.2017, 00:21 | Сообщение # 17
Сержант
Группа: Проверенные
Сообщений: 32
Награды: 1
Репутация: 0
Статус: Offline
vlad, скажите у Вас номиналы реальных резисторов с установочными (в параметрах пользователя блока) совпадают?

А вообще с количеством кнопок более 4 и с такой логикой как в блоке, я бы наверное не стал заморачиваться.
Подумайте о варианте из 8 поста
 
vlad Дата: Суббота, 15.07.2017, 08:12 | Сообщение # 18
Полковник
Группа: Проверенные
Сообщений: 381
Награды: 0
Репутация: 5
Статус: Offline
Цитата Dryundel ()
vlad, скажите у Вас номиналы реальных резисторов с установочными (в параметрах пользователя блока) совпадают?
номиналы я использовал другие но согласно указаниям автора блока 456, 808,1770,3480 и подтягивающий на 1160ом. у меня когда на пять кнопок не пошло я собрал в качестве эксперимента без изменений блока но с др. номиналами на 4 кнопки. проблемы остались теми же. пробовал менять поттягивающий резистор на больший -ни чего не поменялось кроме того что при не нажатых кнопках на выходе определения нажатых кнопок увеличилось отрицательное значение а должно быть ноль или около того. Ручками считаешь получаешь ноль , смотришь в компорт а там минус 6400. вот и не пойму что за хрень.
Ваша идея с полигоном имеет тот же смысл что и этот блок , только как то кучеряво и сложнее.
Можно его наверное его упростить использовать полигон как вы предлагаете а далее блок сравнения как у автора блока. Блин только у меня в моей голове не укладывается почему у меня не работает авторский блок.
 
Dryundel Дата: Суббота, 15.07.2017, 09:17 | Сообщение # 19
Сержант
Группа: Проверенные
Сообщений: 32
Награды: 1
Репутация: 0
Статус: Offline
Не важно какие номиналы Вы использовали. Я спросил совпадают ли они с номиналами указанными в параметрах пользователя блока. Вы прописали Ваши реальные номиналы в параметрах или нет? Вот в чем был вопрос.
 
vlad Дата: Суббота, 15.07.2017, 14:40 | Сообщение # 20
Полковник
Группа: Проверенные
Сообщений: 381
Награды: 0
Репутация: 5
Статус: Offline
Да эти номиналы были прописанны в блоке. Но это пока неважно, потому как смотрю результат вычисления до сравнения.
 
DWD Дата: Суббота, 15.07.2017, 16:36 | Сообщение # 21
Подполковник
Группа: Проверенные
Сообщений: 299
Награды: 14
Репутация: 5
Статус: Offline
Я как-то заморачивался подключением нескольких кнопок к одному аналоговому порту и пробовал несколько вариантов.
По этому мой пост будет содержать как бы общие рекомендации...

Вариант №1


Довольно неудобный вариант, по этому пользоваться им можно только при малом числе кнопок. К тому же, не поддерживает одновременное нажатие нескольких кнопок.
Дополнительное неудобство - расчёт номиналов резисторов. Он хоть и простой, но нудный. И расчитать смогут, как мне кажется, только радиолюбители с хорошим стажем... Да и потребуется много разных резисторов.
Если ни одна из кнопок не нажата, то на выходе постоянно стоит напряжение 5В.

Вариант №2


Этот вариант является развитием первого варианта, но он, благодаря применению источника тока, позволяет упростить расчёт номиналов резисторов и увеличить стабильность заданных уровней.
Источник тока выполнен на транзисторах VT1 и VT2 и резисторах Ro, R5. Ток задаётся резистором Ro по формуле I=0.55/Ro. Благодаря стабильному току шкала получается линейной, по этому все резисторы теперь могут быть одного номинала, что сильно упрощает расчёт и уменьшает ассортимент применяемых номиналов резисторов.
Например, при токе 0,5мА, одинаковых резисторах на 2КОм и 5 кнопок получается 5 комбинаций напряжения с шагом 1В (подписаны под кнопками).
Скажем, при нажатой кнопке, подписанной как "3V", ток 0,5мА протекает через резисторы R1, R2 и R3 с общим сопротивлением 2+2+2=6КОм. В результате на выходе при этом будет напряжение 0,5мА*6КОм=3В.
Так как ток стабильный, то это выходное напряжение поддерживается на выбранном уровне даже при нестабильном напряжении питания (например, при питании от батарей).
При отжатых всех кнопках на выходе выставляется напряжение 5В.
Недостаток такой же, как и у первого варианта - нельзя комбинировать нажатие нескольких кнопок одновременно. Но он компенсируется стабилизатором тока, позволяющим выбрать мелкий шаг и поставить больше кнопок.
Например, при разрядности АЦП 1023 получается шаг, примерно 5мВ. Возьмём запас 10мВ для уверенного перекрытия шагов и при максимальном выходном напряжении, например, 4,5В получим число комбинаций 4500мВ/10мВ=450 штук. И кнопок - 449 ... smile При токе 1мА общее сопротивление всех резисторов должно быть 4,5В/1мА=4,5КОм, а сопротивление каждого резистора 4500Ом/449=10,022Ом.
Берём стандартное значение 10Ом и уточняем...
Шаг = 10Ом*1мА=10мВ. При количестве резисторов 449 штук общее напряжение будет 1мА*10Ом*449=4490мВ=4,49В.
При отпущенных кнопках на выходе будет 5В - значение, показывающее, что кнопки не нажаты.

Вариант №3


Этот вариант позволяет использовать комбинации нажатия кнопок, получая при этом не повторяющиеся значения напряжений. Правда потребуется комбинация резисторов с двоичным шагом. Расчёт и параметры схемы точно такие же, как и во 2-м варианте. Просто при меньшем числе кнопок можно получить больше комбинаций. Например, 5 кнопок дают 32 не повторяющиеся комбинации.
Недостаток этого варианта в разных резисторах. Но не обязательно поддерживать строгую двоичную зависимость, а резисторы можно комбинировать. Например, для приведеной схемы можно взять следующие резисторы: 1КОм, 2КОм, 3,9КОм, 8,2КОм, 16КОм. Резистор на 16КОм можно взять из двух последовательных на 8,2КОм. Резистор на 4КОм можно построить либо из двух параллельных на 8,2КОм или двух последовательных на 2КОм. И т.д...

Вариант №4

Более сложный вариант, но, как и 3-й, поддерживает комбинацию нажатий кнопок. Построен как ЦАП, по этому используется резисторная матрица R-2R и требуется всего два номинала резисторов для любого количества кнопок. В примере - 5 кнопок, обеспечивающих 32 комбинации.
Микросхема - логические инверторы (74HC04, 74HC14 и др.)

Наверно, можно ещё придумать какие-то варианты...




Сообщение отредактировал DWD - Суббота, 15.07.2017, 21:55
 
Dryundel Дата: Воскресенье, 16.07.2017, 09:57 | Сообщение # 22
Сержант
Группа: Проверенные
Сообщений: 32
Награды: 1
Репутация: 0
Статус: Offline
DWD, подскажите, зачем в 4 варианте используются инверторы. А нельзя сразу замыкать входы матрицы на +5V ?  Или есть в этом какой то сокровенный смысл?

Сообщение отредактировал Dryundel - Воскресенье, 16.07.2017, 09:59
 
vacz Дата: Воскресенье, 16.07.2017, 11:38 | Сообщение # 23
Подполковник
Группа: Проверенные
Сообщений: 217
Награды: 13
Репутация: 9
Статус: Offline
Логические инверторы играют роль ключей-стабилизаторов напряжения.  На выходе инвертора U=Uвх-0.1вольт.

Сообщение отредактировал vacz - Воскресенье, 16.07.2017, 13:54
 
Dryundel Дата: Воскресенье, 16.07.2017, 14:51 | Сообщение # 24
Сержант
Группа: Проверенные
Сообщений: 32
Награды: 1
Репутация: 0
Статус: Offline
Цитата vacz ()
Логические инверторы играют роль ключей-стабилизаторов напряжения. На выходе инвертора U=Uвх-0.1вольт.
И чо? И зачем оно в данной схеме? 
Еще, как я понимаю, они инвертируют 0 на входе на 1 на выходе.
Может я чего то не понимаю, но по моему это лишнее.

А вообще, посчитал я эту матрицу (вариант 4) и прогнал в симуляторе. Не работает она как надо даже с 4 кнопками. При многих сочетаниях показания на столько близки, что не представляется возможным их разделение.

Самая реальная схема для нормального разделения комбинаций - вариант 3. Она же и обсуждалась с самого начала, если не считать наворота со стабилизацией напряжения.
 
DWD Дата: Понедельник, 17.07.2017, 14:00 | Сообщение # 25
Подполковник
Группа: Проверенные
Сообщений: 299
Награды: 14
Репутация: 5
Статус: Offline
Цитата Dryundel ()
DWD, подскажите, зачем в 4 варианте используются инверторы.

Дело в том, что для матрицы ЦАП требуется два уровня напряжения - ноль на не задействованном входе и напряжение питания на задействованном. Например, на левых выводах резисторов R6-R9 должен быть ноль, а на левом выводе R10 - должно быть +5В. Ну и другие комбинации.

Кнопка же выдаёт только один уровень, в зависимости от подключения. То есть, она может замкнуть какую-то точку либо на корпус, либо подать на неё питание. Можно, конечно использовать не обычную тактовую кнопку (однополюсную), а кнопку с переключаемыми контактами (двухполюсную).
Вот инверторы и выполняют роль преобразования однополюсной кнопки в двухполюсную.

Причём уровни напряжения на левых выводах резисторов R6-R10 должны быть с малым выходным сопротивлением. Именно в этом случая получится линейная зависимость выходного напряжения от комбинации нажатых кнопок. Инверторы это условие обеспечивают.

Можно не ставить инверторы или более сложные двухполюсные кнопки, а просто подключить нижние выводы всех кнопок к +5В (убрав R1-R5), и ими подавать напряжение на левые выводы резисторов R6-R10. Но при этом зависимость выходного напряжения от комбинации нажатых кнопок сразу станет очень нелинейной. В одних комбинациях нажатых кнопок выходное напряжение будет иметь большой шаг, а в других - мелкий. На столько мелкий, что трудно будет выставить чёткий порог срабатывания. При этом потребуется расчёт выходного напряжения для каждой отдельной комбинации.

Несколько улучшить линейность можно, подтянув все кнопки резисторами либо к плюсу, либо к минусу. Например, на схеме варианта 4 убрать инверторы, подключив кнопки прямо к левым выводам резисторов R6-R10 и уменьшить сопротивление резисторов R1-R5 до 1КОм. Ещё лучше было бы уменьшить эти резисторы до 100Ом, но это бесполезно увеличит потребляемый ток.

Можно так же увеличить сопротивления резисторов матрицы R6-R15: вместо 1КОм поставить 10КОм, а вместо 2КОм - 20КОм. Тогда и сопротивление подтягивающих резисторов можно увеличить. Но сильно увеличивать номиналы тоже не очень хорошо, так как могут появиться помехи.

Инверторы же серии КМОП (указаны на схеме) потребляют ток (да и то мизерный) только в моменты переключения. А в любой установившейся комбинации ими будет потребляться лишь ток утечки (мкА).

В общем, при большом количестве комбинаций нажатых кнопок вариант4 будет самым лучшим - линейный, легко просчитываемый шаг выходного напряжения, резисторы всего двух номиналов для матрицы R-2R (R6-R15) и мизерный потребляемый ток.
Номиналы резисторов R1-R5 не критичны и могуть не только большими, но и разными. Из-за высокого входного сопротивления инверторов их можно поставить на 1МОм.

Добавлено (17.07.2017, 14:00)
---------------------------------------------

Цитата Dryundel ()
А вообще, посчитал я эту матрицу (вариант 4) и прогнал в симуляторе. Не работает она как надо даже с 4 кнопками. При многих сочетаниях показания на столько близки, что не представляется возможным их разделение.

Нарушена линейность.
Это возможно только в следующих случаях - неправильно взяли номиналы резисторов матрицы (должно быть соотношение R-2R) или неправильное управление (высокоомные ключи или однополюсные кнопки).

Матрица R-2R- не ноу-хау и используется давно. Раньше на дискретных элементах, сейчас - в микросхемах. Так что если не работает, то ищите ошибку.
Покажите, по какой схеме Вы подключали всё.


 
vlad Дата: Среда, 30.08.2017, 21:56 | Сообщение # 26
Полковник
Группа: Проверенные
Сообщений: 381
Награды: 0
Репутация: 5
Статус: Offline
Вернулся я после перерыва  к своим кнопкам на одном аналоговом входе. проблема осталась не решена. один косячок с отрицательными значениями я у себя нашел  , но особо лучше не стало. собрал вот такой проектик  и вижу в достаточную сильную не стабильность  значений на аналоговом входе, что в свою очередь приводит к неправильному определению состояний контактов. причем заметил что бывают даже ситуации когда при одном и том же значении ацп состояния выходов польз блока разные. не связанно ли это и нестабильность результатов с float?

Добавлено (30.08.2017, 21:56)
---------------------------------------------
да и еще у меня подтягивающий резюк стоит около нано а вот остальные стоят недалеко от герконов. соединяется все это витой парой. расстояние около метра. не может это влиять?

 
Sancho Дата: Четверг, 31.08.2017, 08:36 | Сообщение # 27
Генерал-майор
Группа: Проверенные
Сообщений: 519
Награды: 14
Репутация: 16
Статус: Offline
Цитата vlad ()
собрал вот такой проектик  и вижу....
 А мы нет...


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
vlad Дата: Четверг, 31.08.2017, 09:39 | Сообщение # 28
Полковник
Группа: Проверенные
Сообщений: 381
Награды: 0
Репутация: 5
Статус: Offline
Не сделали или не видите?
 
Sancho Дата: Четверг, 31.08.2017, 09:53 | Сообщение # 29
Генерал-майор
Группа: Проверенные
Сообщений: 519
Награды: 14
Репутация: 16
Статус: Offline
Цитата vlad ()
Не сделали или не видите?
Вами было написанно буквально следующее:
Цитата vlad ()
собрал вот такой проектик  и вижу в достаточную сильную не стабильность  значений на аналоговом входе, что в свою очередь приводит к неправильному определению состояний контактов.
Где проектик?
По какой схеме?


Если не получится на контроллере - сделаю на тразисторах и 155/176...

Сообщение отредактировал Sancho - Четверг, 31.08.2017, 10:02
 
vlad Дата: Четверг, 31.08.2017, 15:07 | Сообщение # 30
Полковник
Группа: Проверенные
Сообщений: 381
Награды: 0
Репутация: 5
Статус: Offline
странно, вроде прикреплял проект, а его сейчас нет
схема как у автора блока. кнопки параллельно резисторам

Добавлено (31.08.2017, 15:05)
---------------------------------------------
такс файлы перестали загружаться

Добавлено (31.08.2017, 15:07)
---------------------------------------------
ссылка на проект https://yadi.sk/d/gdBr4nvf3MVB7K

 
Форум » Основной » Спросить у знатоков » кнопоки на аналоговом входе
Страница 2 из 3«123»
Поиск:

FLProg © 2017
Яндекс.Метрика