| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Сензори за докосване с пръстите на ръцете - идеи? http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=5179 |
Страница 1 от 6 |
| Автор: | juzisound [ Пет Дек 07, 2007 6:54 pm ] |
| Заглавие: | Сензори за докосване с пръстите на ръцете - идеи? |
Здравейте! Наумил съм си да направя следната джаджа - музикален инструмент /нали съм си музикант/, който ползва пръстовката за свирене на кавал или гайда! Да не се чудете - аз съм гайдар! Та в тая връзка - трябва ми следната постановка. По принцип представете си че сте хванали една тръба и пръстите ви опират в нея. Ползват се 8 пръста - по 4 на всяка ръка. Не трябва да има никакви механични бутони - щото те биха за забавили реакциите на пръстите - щото при истинските инструменти пръста запушва дупка и нищо не му пречи да мърда - нагоре- надолу, тоест трябва да се запази същото нулево усилие. Сега въпроса е как да стане... Какво съм намислил до момента: Имам ПИК и ползвам един извод да генерира честота /в прекъсване/ - по принцип колкото си може по висока - в разумни граници де. На мястото където лежи всеки пръст поставям по 2 метални пластинки. На едната идва импулсния сигнал от изхода на пика, а другата отива във друг пин - дето е вход. Това се повтаря 8 пъти за всеки пръст. Така имам общо един изход и 8 входа. Идеята е че като си допреш пръста - през съпротивлението на кожата импулсите от изхода ще преминават към входа /естествено ще има и някаква минимална аналогова част/ и като си чета пиновете ще мога да разбера дали има сложен пръст или не. Понеже аз си генерирам импулсите - ще мога и примерно да виждам дали постъпващите импулси са синфазни с генерираните на изхода и така се надявам да имам добра шумоустойчивост. Сега идват въпросите: 1. Дали тая постановка може да стане на практика - ако някой има някакъв опит - моля да сподели - или пък ако има нещо готово за целта - да не откривам топлата вода. 2. Ако идеята става - то тогава докато с програмирането нямам проблеми - с "минималната електроника" за която споменах съвсем няма да е така. Поне за момента си я представям примерно така - изходаните импулси да не се подава пряко от извода на контролера- а през някакъв транзисторен повторител - може даже да се наложи и да са с по-високо напрежение от 5 волта - са да се осигури нужната чувствителност. На входа пък си представям операционен усилвател с голямо усилване почти без обратна връзка - така че да има голямо входно съпротивление и като му усигуря подходяща работна точка и го карам да работи почти като компаратор - да може през съпротивлението на кожата да приема импулсите от изхода и да формира подобни за входа. Проблем е също че не знам какво е съпротивлението на кожата - а то май варира в широки граници в зависимост от влажността. Незнам също дали зависи от честотата - и ако зависи - как? Та в общи линии това е. Какво мислите? Очаквам коментари... После ще питам и за някои подробности дето не са ми ясни... Само за уточнение - Звук няма да генерирам - а ще изкарвам MIDI сигнал - да управлявам някакъв sound модул. |
|
| Автор: | 3aek [ Пет Дек 07, 2007 7:22 pm ] |
| Заглавие: | |
със съпротивление ще стане, но инструмента ще свири различно в зависимост дали са ти сухи или изпотени пръстите по добре прегледай за капацитивни бутони, има писано как да стане при microchip, cypress, analog, freescale, texas instruments не е трудно, може да се достигне чувствителност до сантиметър, но колкото по чувствително е толкова повече шум ще имаш и ще трябва да филтрираш |
|
| Автор: | juzisound [ Пет Дек 07, 2007 7:36 pm ] |
| Заглавие: | |
То е ясно че съпротивлението на пръстите ще е различно че даже и от степента на натиск, но аз се надявах да ползвам постановката на "цифровия звукозапис" върху аналогов носител - тоест ако дадено ниво примерно е със стойност 5 - то ако е записано на аналогов принцип - то с влошаването на записа - ще се промени и записаното ниво - тоест може да стане 4,5. А ако записа е цифров, то тогава и да се влоши записа върху лентата - стига да е четим то пак ще се извлече нивото 5 и изходния сигнал ще отговаря точно на оригинала. Тоест не е важно колко е добро качеството на записа на цифрата 5 - стига да се прочете - резултата винаги е 5. Та мислих си че тоя принцип ще може да се принесе и тук. Мисля примерно да разпознавам има ли пръст или няма по следния начин. Следя примерно 100 поредни импулса преди изобщо да реагирам. Ако през последните 100 поредни импулса - входните нива прочетени от даден пин отговарят точно на подадените импулси от изхода - /правя проверката примерно по средата на дължината на импулса - за да избегна евентуални закъсненията по фронтовете/ значи има сложен пръст. Ако няма импулси - или има - но имат случаен характер и не отговарят на подаваните - значи няма пръст. Евентуално може да се приложи и някакво процентно съотношение. Верно че така ще имам някакво закъснение при отчитането - равно на броя на следените импулси - ама ако честотата е голяма то няма да има практическо значение. |
|
| Автор: | Ки4о [ Пет Дек 07, 2007 8:30 pm ] |
| Заглавие: | |
някъде имаше из нета описание на такива сензори.Срещал съм подобни при радиостанция Debeg (Decca) - плосък твърд панел с рисунки на бутони и реагират при докосване,без да натискаш(ама какво имаше под панела |
|
| Автор: | Zeus [ Пет Дек 07, 2007 9:31 pm ] |
| Заглавие: | |
Едно време си бях правил сензорни бутони за превключване обхватите на един мултицет. Принципа беше елементарен. Два транзистора свързани в схема дарлингтон, за да се вдигне усилването. Базата на първия се прикачва на сензорна - може да е всякакъв метал (ако искасх и главата на кабърче). Като докоснеш метала, транзитора се отпушва и от него вземаш сигнала по-нататък. Можеш да намериш и готов дарлингтон транзистор в един корпус. |
|
| Автор: | juzisound [ Пет Дек 07, 2007 9:43 pm ] |
| Заглавие: | |
Предварително искам да кажа че нямам опит - ама нещо не ми харесва идеята да се разчита на капацитет само. Имам в предвид че трябва доста точно да се отчита времето на вдигане на пръста, а и по едно и също време ще има много опряни пръсти - и само един вдигнат - та незнам дали като пръстите дават връзка между отделните датчици това няма да пречи. Предполагам че тези клавиатури дето са на такъв принцип отчитат само по един натиснат бутон а не няколко едновременно. За идеята с дарлингтон транзистора - ами не разбирам кое кара транзистора да се отпушва - и не е ли това някакво паразитно напрежение - случайно индукторано в тялото от околниото обкръжение? Ще ми се някак аз да генерирам някакъв сигнал - че да знам дали него получавам обратно или нещо случайно... Няколко дена подред си меря насъпротивлението на кожата Някой не е ли ползвал подобна идея като мойта? - че ако съм съвсем на грешен път - да се връщам у правия... |
|
| Автор: | Nikola Kirov [ Пет Дек 07, 2007 9:47 pm ] |
| Заглавие: | |
Имаш 2 подхода. Единия по добрия е капацитивен както каза 3aek. Потърси си информация по въпроса. Има много по нета. Ако трябва да минеш все пак на електрически принцип ще е по добре да дадеш на тялото си потенциал спрямо бутоните. Например в мястото където държиш инструмента с другата си ръка. Приемаш че при докоснат бутон ще имаш максимум 2Moma съпротивление между тази пластина и бутона и нататък работата ти е съвсем проста. Пика има CMOS входове с много голямо съпротивление така че не ти трябват повторители. Малко пасивни елементи за да избегнеш индуцираните 50Hz/по ниво ги изключваш/ и си работиш като с нормална клавиатура.Ще е малко по добра реализацията ако на входа сложиш CMOS тригери на шмидт за да придобият хистерезис. Това ти е достатъчно като начална информация,покопай по въпроса и нататък се очаква да зададеш конкретен въпрос ако видиш зор. |
|
| Автор: | kasparov [ Пет Дек 07, 2007 10:24 pm ] |
| Заглавие: | |
А как стои въпроса с динамиката? Гайдата не е пиано, но все пак има ли значение скоростта, с която се затварят дупките? Как ще се симулира силата на духането (стискането)? |
|
| Автор: | juzisound [ Пет Дек 07, 2007 10:43 pm ] |
| Заглавие: | |
То целта е повече да се имитира кавал - не гайда. Принципа е същия - само дето на кавала се надува постоянно и няма мех. Ами за духането имаме датчик за налягане - който се монтира в полуотворена тръба - или почти затворена - щото чевек контролира налягането по лесно ако издиша /щото издишането е част от дишането/ от колкото ако просто надува в тръба без отвор. Та от тоя датчил разбираме кога има тон за свирене - а от оложението на пръстите - кой тон. Динамиката -/силата/ идва от силата на надуване. Бързината на натискането е важна - ама човек едва ли може да си мръдне пръста с честота по-голяма от 5 херца - айде 10 да кажем, та изглежда ще има време да се изчислява каквото е нужно. А и минимално защитно закъснение просто няма да се усеща. За пример - закъснение от 5-7мс при свирене на пиано не се забелязва от свирещия. Чета за тоя капацитивен метод - ам все ми се струва че е за 1 клавиш по едно и също време - а тук по принцип нормалното положение е - всички пръсти сложени - само един вдигнат. Ще му мисля още де - пък и ще понаправя някакви първи проби. Nikola Kirov - какво имаше в предвид с "Малко пасивни елементи за да избегнеш индуцираните 50Hz/по ниво ги изключваш/ и си работиш като с нормална клавиатура." По точно "/по ниво ги изключваш/"? Как така по ниво - че нещо не схващам? |
|
| Автор: | kiiid [ Съб Дек 08, 2007 7:04 am ] |
| Заглавие: | |
що не погледнеш CapSense микроконтролерите на Cypress? |
|
| Автор: | Nikola Kirov [ Съб Дек 08, 2007 12:23 pm ] |
| Заглавие: | |
Полезния сигнал ще ти идва с ниво определящо се от максимално съпротивление 2Mom. Смущението ще е с по ниско ниво. Входовете на процесора или тригера на шмит имат праг в които се превключват от 0 в 1 ца. Ще си спретнеш един делител с високоомни резистори и чрез стойностите им ще постигнеш необходимото За целта ще ти свърши работа само закона на ом. А казвам че ще е като обикновенна клавиатура щото като пипнеш ще имаш просто ниво на пина което да четеш. С тригери на шмидт вероятно ще успееш да го докараш да работи и без софтуерна филтрация на входа. И обърни внимание че имаш 2 варианта. Общ да ти е минуса и общ да ти е + . Така прага ти се явява различен и може да си подбереш необходимия ти вариант. |
|
| Автор: | bongo-bongo [ Съб Дек 08, 2007 12:47 pm ] |
| Заглавие: | |
juzisound , с духането на кавала си се справил... Шшшш! Друго имах предвид! Ама с пръстите си мноого далеч - ще ти е много изкуствен кавала. Той не е със щрак-щрак клапи. Дори и да издокараш меренето на съпротивлението на кожата просто ще направиш нов електронен инструмент. - За сензорните бутони: Теоритично съпротивлението на кожата на пръстите е от 0,1 до 2-3 мегаома и е доста променливо: нали затова го мерят в детекторите на лъжата... Вместо да се бориш със смущенията можеш директно да ги ползваш: пластинката се свързва през R десетки килоома към защитен с диоди вход на CMOS шмитер. Фонът в жилищно помещение (дори без компютър и ТВ) индуктира достатъчно напрежение. В телевизорите имаше сензорен пулт работещ и на 2-та принципа: 2-е метални пластинки на около 2мм. Едната е свързана през 10Мома към около 50волта. Другата през няколко Мома отива на входа на специален шмитер - все пак в ТВ-то смущенията са доста големи. - Капацитивните датчици са друга свирка: мери се закъснението на импулс през RC група където C е пластинка (може и изолирана) до която се опират пръстите. Май внасяха около 10-30пкф при изолираната. Отива на входа на шмитер. Сензорите се сканират поотделно. Идеята е: подава се импулс и ако след около t=a.R.Co е стигнал до входа значи няма пръст. Според мен трябва да мериш отдалечеността на пръста от дупката. Има достатъчно методи - колегите ги знаят по-добре от мен. Ако искаш ползвай и лазери, особено за последната дупка P.S. не знам колко точно ще е ако мериш скоростта на въздуха през всяка дупка... Най-простият датчик е от 2-е "жици", термистори или термодвойки, едната от който се подгрява с ток. Но при всички положения само с PIC няма да минеш |
|
| Автор: | Ки4о [ Съб Дек 08, 2007 3:00 pm ] |
| Заглавие: | |
Ако може някъде да ти се изработи върху PVC фолио едни със писти и едно с контактни площадки - както при GSM-ите но вместо бутона да е на ецнат на платката да е върху фолио.Залепваш където искаш и работиш все едни имаш гъвкава клавиатура.Въпроса е от къде може да се намери
|
|
| Автор: | quad [ Съб Дек 08, 2007 3:17 pm ] |
| Заглавие: | Re: Сензори за докосване с пръстите на ръцете - идеи? |
Вариант 1. Вземаш си един светодиоден индикатор примерно от неомонтана, налепваш го и пипаш активния край с пръст. В резултат поне първия светодиод ще светне...сам си знаеш нататък, особено ако вместо светодиод има оптрон. За датчик има маломощни транзистори който са с метален корпус и корпуса е базата. Вариант 2. Казваш че имитираш кавал. В отворите на кавала слагаш на всяка дупка IR предавател и приемник. Когато пръста ти е в дупката лъчите не минават и сигнала е 0. Когато дигнеш пръста имаш 1. |
|
| Автор: | juzisound [ Съб Дек 08, 2007 6:57 pm ] |
| Заглавие: | |
Здравейте отново! Поогледах капацетивните сензори - ама май няма да свършат работа - щото поне тия 2-3 модела дето гледах имат минимално закъснение от 10мс - а това вече ще ми дойде бавно. Останах с впечатление че май всичките са с подобно закъснение - с цел избягване на грешки. освен това там има й някакви самокалибровки от време на време и т.н. За измерване разстоянието до пръста и аз мислих - ама пък става прекалено сложно - и трудно за реализация. Интересен е метода със светодиодния индикатор - и от там ми дойде още по щурава идея. Само за уточнение - то целта не е да се имитира акустичния кавал - щото тоя дето свири си е кавалджия и акустичен си има, идеята е с подобно нещо свирещия да управлява синтезатор - все едно че свири по клавиятура на пиано - малко грубо казано - ама на практика си е така. Та идеята - детектирането на пръст най вероятно ще се получи добре по резистивния метод - ама сега пък ми се прииска да мога и да разбера ако само част от пръста е надигнат - все едно е запушена половината дупка. Има такива чалъми при кавала. Та се чудя сега от чисто цивров вид - да взема малко да попремина на аналогов - тоест пак да генерирам някаква честота - обаче с нея през съпротивлението на пръста да зареждам кондензатор и да меря нивото на заряда с АДЦ-то. Канали има достатъчно. Ще видим само дали ще ми стигне бързодействието... |
|
| Страница 1 от 6 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|