|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:35 am
Връзване на бутони към ПИК
| Автор |
Съобщение |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
Интересна идея!
Не бях се замислял че хабя 8 пина за 4х4
Може би само едно детекторче липсва за натиснат клавиш трябва за да не се хаби ADC-то на халост... Ама тва е елементарно с един FET - BSS138 примерно като евентуално да се пипнат леко съпротивленията така че да се отпушва при кой да е клавиш...
|
| Пон Юни 04, 2007 3:04 pm |
|
 |
|
GTN
Ранг: Популярен
Регистриран на: Пет Яну 26, 2007 5:05 pm Мнения: 310 Местоположение: из България
|
Ето още малко по въпроса с бутоните, и други интересни и ползни неща
http://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf
|
| Пон Юни 04, 2007 3:08 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
Kiid, абе хубава схемка(пести наистина място и портове на микроконтролера)...
ама представи си работиш в среда(индустриална, не в камион ЗИЛ) и около твойто устройство има например телфер, банциг, струг и промишлен бойлер... може и поотделно...
и какво е поведението на тази схема с делителите.....
как бягаш от фалшиво сработване когато до него се комутира периодично няколко киловатов индуктивен товар
хайде сега без излишни страсти обясни как се пазиш от такъв род смущения на другите - нали затова е форум ....все пак
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Пон Юни 04, 2007 3:11 pm |
|
 |
|
rumen65
Ранг: Новодошъл
Регистриран на: Чет Окт 06, 2005 2:06 pm Мнения: 194 Местоположение: Sofia
|
Интересното при тази схема е защитата от едновременно натиснати бутони. В случая натискането на два бутона, може да се прочете като трети съвсем различен. Иначе подобна схема бях виждал за четене на бутоните на лицевия панел на видео Сони преди много години. Там проверявах как е реализирана тази защита, и така бяха подбрани резисторите и функциите на бутоните, че като се натиснеха два или повече бутони, сработваше стоп.
|
| Пон Юни 04, 2007 4:54 pm |
|
 |
|
milenjs
Ранг: Форумен бог
Регистриран на: Сря Мар 08, 2006 2:12 pm Мнения: 2017 Местоположение: Котел
|
Интересно ми е колегата ка софтуерно е реализирал четенето и защитата от смущения. Аз лично съм ползвал такава матрица от 6 бутона само/ в индустриални условия и още настръхвам като си помисля за проблемите които срещнах. 30-тина осветителни тела с по 3 луминисцентни лампи, всичките се палят и гасят едновременно, 10-на метра жица към бутоните... ужас. Успях да ги укротя но с известни компромиси 
|
| Пон Юни 04, 2007 6:06 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
.... редактирано от мен ..... няма смисъл от мерене, аз си го знам колко ми е 
|
| Пон Юни 04, 2007 8:44 pm |
|
 |
|
kiiid
Ранг: Почетен член
Регистриран на: Съб Сеп 24, 2005 2:00 pm Мнения: 787
|
Защитата от смущения при мен се състои в следното:
Първо и много важно е че всички резистори са с 1% толеранс. Иначе не става добре.
От другата страна на схемата на входа на АДЦ-то има едно CLC и другото е софтуер. Оказва се много трудна задача да поствам сорс понеже не е функция а е пръснато на няколко места, в прекъсвания и т.н. но ще се опитам да го обясня:
Имам в глобалните декларации:
const unsigned int vkeys[16] = {xx,xx,xx,xx,xx...}; (дето са ми записани стойностите които получавам от АДЦ-то за всеки от бутоните)
unsigned char kcnt=0;
unsigned char vkeyt=0xff;
unsigned char key=0xff;
На прекъсване от 1.95 мс правя следното:
Чета АДЦ-то, ако е <6 демек нямам натиснат бутон правя vkeyt=key=0xff; и kcnt=0; и излизам.
Ако >=6 сравнявам стойността с тия от таблицата с хистерезис +/- 3, ако не намеря нищо пак имам vkeyt=key=0xff; и kcnt=0; (това е ако има едновременно натиснати бутони)
Ако съм намерил нещо:
if (ix!=vkeyt) {
vkeyt=ix;
kcnt=1;
} else
if (++kcnt>=85) { // 166 ms филтър
key=vkeyt; // това е кода на натиснатия клавиш
vkeyt=0xff;
kcnt=0;
}
после където ми трябва просто чета key и ако е 0xff значи няма натиснат бутон
Ами това е горе-долу. Дано не съм пропуснал нещо.
Не знам как ще работи близо до банциг или бойлер  не съм пробвал, но за моите цели в камионите си е ок
По принцип ако се пише много мераклийски може да се направи да познава и повече бутони ако по входното напрежение се изчисли съпротивлението а оттам и комбинацията бутони които могат да го произведат но аз не съм се занимавал понеже не ми е трябвало.
|
| Вто Юни 05, 2007 3:08 am |
|
 |
|
kiiid
Ранг: Почетен член
Регистриран на: Съб Сеп 24, 2005 2:00 pm Мнения: 787
|
Ето това е на входа на АДЦ-то
|
| Вто Юни 05, 2007 4:24 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Това с бобината спасява от високочестотни но при 50/400 хзц каквито са доста в завод ще и е по трудно.
Имам нещо подобно, матрица от 64 бутона, но работи на сканиране, всеки бутон всъщност е група от два бутона, всеки окъсява едно съпротивление като има и едно балансно. Това е система за хотел. Единия бутон е паник, втория е изход от енергоспестител. Бутоните се разпознават по съпротивлението на линията. Линията се захранва с генератор на ток. Разликата в съпротивленията е голяма, 300 Ом до 4 кОм, съпротивление на линията от 10-на до 200 Ом. Значи може да си го представиш като нормална клавиатура матрица, но е свързана към аналогови мултиплексори, единият подава захранване от генератора на ток, а втория затваря към маса. При мен има 32 измервания, усредняване, като преди това има филтър за максимумите, и усредняването е на останалите средни стойности. Та така изпълнено, работи но само в хотел, сигурен съм че ако е в завод ще загине. Като отида до офиса ще постна схемата, но така или иначе не съм голям привържени на тоя метод.
В твоя случй тъй като имаш голеи стойности, проводниците и съпротивлението на бутона са по малка грижа, но пък смущенията са значително по сериозно. В камиона няама от къде да дойдат, той сигурно е дизел, а и бензин да беше този LC филтър на входа те спасява. Радиостанцията ако има такава също не е особен проблем.
Та идеята ми не беше да се заяждам, но заключението ти че няма от къде да дойдат смущения и ако ги има схемата не е наред нещо не ми се понрави.
|
| Вто Юни 05, 2007 8:05 am |
|
 |
|
kiiid
Ранг: Почетен член
Регистриран на: Съб Сеп 24, 2005 2:00 pm Мнения: 787
|
Приемам коментара и се извинявам за вчерашното ми избухване  . Това което ме подразни беше последното ти изречение (не се познаваме лично).
Както казах при мен работи, не знам за другаде. Повече от явно е че зависи от конкретната обстановка. Но ако някой има желание нека опита и при него и после да сподели впечатления

|
| Вто Юни 05, 2007 9:06 am |
|
 |
|
relsys
Ранг: Форумен бог
Регистриран на: Пет Ное 25, 2005 11:41 am Мнения: 1680
|
още един вариант.........
|
| Вто Юни 05, 2007 9:31 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Ей го де е скенера, ама това май не е последна версия, като гледам гоняма генератора на ток тук, но идеята е тая. От CN1 отива към една плтка с конекторите а която е реализирана матрица 8х8, та имам само един RC филтър първи ред като хардуер, и естествено супрестори на входа. Другото нататък не е интересно, до 8 такива скенера се навръзват къмедин бекплейн и си работят ... там бях сътворил простотия, по незнайна причина реших да е паралелна шина, а нито трафика го изисква нито нещо друго
Сега погледнах кода, намалил съм измерванията до 8, като се замисля причината май беше във времената за обработка, нямам много спомени вече.
|
| Вто Юни 05, 2007 10:25 am |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|