|
помогите разобраться, что не так в схеме |
|
|
|
Oct 22 2009, 05:35
|

Местный
  
Группа: Участник
Сообщений: 252
Регистрация: 2-03-08
Пользователь №: 35 557

|
Здравствуйте. Нужна помощь в в следующей ситуации: Есть схема состоящая тз 3-х dip-переключателей(в приложении). С их контактов считавется их состояния миркоконтроллером - ch1, ch2, ch3, ch4. ctrl1, ctrl2, ctrl3 служат для активации переключателя микроконтроллером. Входы микроконтроллера, считывающие сигнал с контактов внутренне не подтянуьы к питанию, подтяжка внешняя - R5. R6, R7, R8. Продлема в том что при замыкании одновремнно какиз либо 2-х контактов одного из переключателя, такое состояние удерживается на ch1, ch2, ch3, ch4. вне щависимости какой из переключателей активирован. Исключением являются переключатели с разоменутыми контактами. Вроде схема простая, в программе все очевидно, но никак не могу найти причину этой пробдемы. Заранее благодарен
Эскизы прикрепленных изображений
--------------------
One Chip is All You Need
|
|
|
|
|
 |
Ответов
(1 - 12)
|
Oct 22 2009, 07:35
|

Местный
  
Группа: Участник
Сообщений: 252
Регистрация: 2-03-08
Пользователь №: 35 557

|
Цитата(mempfis_ @ Oct 22 2009, 10:56)  Я подобную клавиатуру сканировал-бы так: Спасибо большое за поддержку. К сожалению алгоритм у меня точно такой же
Причина редактирования: Нарушение п.3.4 Правил форума.
--------------------
One Chip is All You Need
|
|
|
|
|
Oct 22 2009, 07:47
|

Профессионал
    
Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409

|
Тогда поясните вот это: Цитата Продлема в том что при замыкании одновремнно какиз либо 2-х контактов одного из переключателя, такое состояние удерживается на ch1, ch2, ch3, ch4. вне щависимости какой из переключателей активирован. Какое состояние (всё в 0 или 1, или какая-то фиксированная комбинация)? Цитата Исключением являются переключатели с разоменутыми контактами. И это поясните. Если железо полностью соответствует схеме и вы сканируете по приведённому выше алгоритму но ничего не получается тогда приведите код программы сканирования.
|
|
|
|
|
Oct 22 2009, 10:09
|
Профессионал
    
Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528

|
Цитата(another_one @ Oct 22 2009, 11:35)  Продлема в том что при замыкании одновремнно какиз либо 2-х контактов одного из переключателя, такое состояние удерживается на ch1, ch2, ch3, ch4. вне щависимости какой из переключателей активирован. Ну, так и должно быть. При этом соответствующие линии ch1 .. ch4 оказываются соединены друг с другом через контакты этих переключателей. Что бы Вы ни делали, они всё равно останутся соединёнными и на них будет одинаковое напряжение. Подобные схемы можно применять для опроса клавиатуры, да и то, по той же самой причине возникает неопределённость когда невозможно отличить одновременное нажатие одной пары кнопок от нажатия другой пары. Одно из решений - включить по одному диоду последовательно с каждым переключателем.
--------------------
Russia est omnis divisa in partes octo.
|
|
|
|
|
Oct 22 2009, 10:43
|

Местный
  
Группа: Участник
Сообщений: 252
Регистрация: 2-03-08
Пользователь №: 35 557

|
Цитата(SSerge @ Oct 22 2009, 14:09)  Одно из решений - включить по одному диоду последовательно с каждым переключателем. это вот так?
Причина редактирования: Нарушение п.3.4 Правил форума.
Эскизы прикрепленных изображений
--------------------
One Chip is All You Need
|
|
|
|
|
Oct 22 2009, 11:07
|

Местный
  
Группа: Участник
Сообщений: 252
Регистрация: 2-03-08
Пользователь №: 35 557

|
Цитата(SSerge @ Oct 22 2009, 14:54)  Нет, каждому переключателю нужен свой диод. Т.е. в этой схеме их должно быть 12 штук. так?
Эскизы прикрепленных изображений
--------------------
One Chip is All You Need
|
|
|
|
|
Oct 22 2009, 18:17
|

Местный
  
Группа: Участник
Сообщений: 252
Регистрация: 2-03-08
Пользователь №: 35 557

|
Цитата(xemul @ Oct 22 2009, 20:10)  Если линии CTRLx могут работать входами, и если добавите на них резисторы притяжки к +5 (R9-R11 не нужны), то можно обойтись и без диодов. Запускаете бегущий 0 по всем CHx и CTRLx (одна линия - выход, остальные - входы), по получившейся матрице достаточно несложно вычисляется любое количество замкнутых переключателей. Спасибо большое - наиболее подходящая схема, поскольку все изменения необходимо вносить в плату существующей, не совсем рабочей схемы.
--------------------
One Chip is All You Need
|
|
|
|
|
Oct 24 2009, 07:07
|

Местный
  
Группа: Участник
Сообщений: 252
Регистрация: 2-03-08
Пользователь №: 35 557

|
Цитата(xemul @ Oct 22 2009, 20:10)  Если линии CTRLx могут работать входами, и если добавите на них резисторы притяжки к +5 (R9-R11 не нужны), то можно обойтись и без диодов. Запускаете бегущий 0 по всем CHx и CTRLx (одна линия - выход, остальные - входы), по получившейся матрице достаточно несложно вычисляется любое количество замкнутых переключателей. К сожалению эта схема не работает, поскольку присутствует перетекание тока с соседних замнкнутых контактов переключателей - в итоге один и тот же потенциал
Эскизы прикрепленных изображений
--------------------
One Chip is All You Need
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|