реклама на сайте
подробности

 
 
> помогите разобраться, что не так в схеме
another_one
сообщение Oct 22 2009, 05:35
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 12)
mempfis_
сообщение Oct 22 2009, 06:56
Сообщение #2


Профессионал
*****

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



Алгоритм сканирования вы писали?
Может там накосячили?
или гдето в схеме контакты перепутали. На кз проверяли?

Я подобную клавиатуру сканировал-бы так:
1 CTRL1, CTRL2, CTRL3 - входы

2 CTRL1 - выход с лог 0, задержка на несколько сотен мкС (для установления уровней)
3 Считываем состояние кнопок S1

4 CTRL1 - вход, CTRL2 - выход с лог 0, задержка на несколько сотен мкС (для установления уровней)
5 Считываем состояние кнопок S2

6 CTRL2 - вход, CTRL3 - выход с лог 0, задержка на несколько сотен мкС (для установления уровней)
7 Считываем состояние кнопок S3

8 CTRL3 - вход. Далее по кругу начиная с п. 2

Сообщение отредактировал mempfis_ - Oct 22 2009, 06:57
Go to the top of the page
 
+Quote Post
another_one
сообщение Oct 22 2009, 07:35
Сообщение #3


Местный
***

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



Цитата(mempfis_ @ Oct 22 2009, 10:56) *
Я подобную клавиатуру сканировал-бы так:


Спасибо большое за поддержку.

К сожалению алгоритм у меня точно такой же sad.gif
Причина редактирования: Нарушение п.3.4 Правил форума.


--------------------
One Chip is All You Need
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Oct 22 2009, 07:47
Сообщение #4


Профессионал
*****

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



Тогда поясните вот это:
Цитата
Продлема в том что при замыкании одновремнно какиз либо 2-х контактов одного из переключателя, такое состояние удерживается на ch1, ch2, ch3, ch4. вне щависимости какой из переключателей активирован.

Какое состояние (всё в 0 или 1, или какая-то фиксированная комбинация)?

Цитата
Исключением являются переключатели с разоменутыми контактами.

И это поясните.

Если железо полностью соответствует схеме и вы сканируете по приведённому выше алгоритму но ничего не получается тогда приведите код программы сканирования.
Go to the top of the page
 
+Quote Post
SSerge
сообщение Oct 22 2009, 10:09
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
another_one
сообщение Oct 22 2009, 10:43
Сообщение #6


Местный
***

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



Цитата(SSerge @ Oct 22 2009, 14:09) *
Одно из решений - включить по одному диоду последовательно с каждым переключателем.


это вот так?
Причина редактирования: Нарушение п.3.4 Правил форума.

Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
One Chip is All You Need
Go to the top of the page
 
+Quote Post
SSerge
сообщение Oct 22 2009, 10:54
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Нет, каждому переключателю нужен свой диод.
Т.е. в этой схеме их должно быть 12 штук.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
another_one
сообщение Oct 22 2009, 11:07
Сообщение #8


Местный
***

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



Цитата(SSerge @ Oct 22 2009, 14:54) *
Нет, каждому переключателю нужен свой диод.
Т.е. в этой схеме их должно быть 12 штук.

так?
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
One Chip is All You Need
Go to the top of the page
 
+Quote Post
SSerge
сообщение Oct 22 2009, 14:56
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Так.
Другой, сравнительно экономичный вариант, грузить состояние всех переключателей в сдвиговый регистр и потом считывать его последовательно. Микросхемы нынче дешевле диодов. smile.gif


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
xemul
сообщение Oct 22 2009, 16:10
Сообщение #10



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(another_one @ Oct 22 2009, 09:35) *
Вроде схема простая, в программе все очевидно, но никак не могу найти причину этой пробдемы.

Если линии CTRLx могут работать входами, и если добавите на них резисторы притяжки к +5 (R9-R11 не нужны), то можно обойтись и без диодов.
Запускаете бегущий 0 по всем CHx и CTRLx (одна линия - выход, остальные - входы), по получившейся матрице достаточно несложно вычисляется любое количество замкнутых переключателей.
Go to the top of the page
 
+Quote Post
another_one
сообщение Oct 22 2009, 18:17
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
XVR
сообщение Oct 23 2009, 07:44
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Если возможно одновременное включение более 2х выключателей, то без диодов не обойтись при любом способе сканирования.
Go to the top of the page
 
+Quote Post
another_one
сообщение Oct 24 2009, 07:07
Сообщение #13


Местный
***

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



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

К сожалению эта схема не работает, поскольку присутствует перетекание тока с соседних замнкнутых контактов переключателей - в итоге один и тот же потенциал sad.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
One Chip is All You Need
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 19:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01427 секунд с 7
ELECTRONIX ©2004-2016