roboforum.ru

Технический форум по робототехнике.
Текущее время: 28 фев 2025, 04:29

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Емкостный датчик касания на ORduino
СообщениеДобавлено: 23 янв 2011, 21:16 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Всем привет,

Делаю датчик касания, схема описана на хабре: http://habrahabr.ru/blogs/DIY/111679/. У меня от пина на VCC резистор 2МОм, от пина к датчику конденсатор 0,1мкФ (маркировка 104).

Вот скетч:

Код:
#define SENS47K 7
#define SENS10K 3
#define SENS1M  4

void setup()
{
Serial.begin(115200);
}

void loop()
{
  unsigned int j;
  unsigned int ave;

  pinMode(SENS47K,OUTPUT);
  pinMode(SENS10K,OUTPUT);
  pinMode(SENS1M,OUTPUT);
 
  digitalWrite(SENS47K,LOW);
  digitalWrite(SENS10K,LOW);
  digitalWrite(SENS1M,LOW);
 
  delay(1);

  pinMode(SENS47K,INPUT);
  digitalWrite(SENS47K,LOW);


  for ( j = 0; j < 50000; j++) {
    if ( digitalRead(SENS47K) ) break;
  }


  //ave = ave*3/4+j/4;
 
  Serial.print("47K = ");
  Serial.println(j,DEC);


  delay(200);
}


Почему-то только каждое 6-е чтение нормальное. Пробовал усреднять:

Код:
ave = ave*3/4+j/4;


Результат поверг меня в еще большее смущение, ничего особо не меняется... То ли не так усредняю, то ли еще что...

Код:
47K = 6
47K = 6
47K = 6
47K = 6
47K = 6
47K = 6
47K = 6
47K = 6
47K = 6
47K = 6
// ПРИМЕЧАНИЕ - вот в этот момент касаемся сенсора
47K = 2110
47K = 17
47K = 11
47K = 10
47K = 10
47K = 25
47K = 1912
47K = 22
47K = 12
47K = 8
47K = 9
47K = 11
47K = 22
47K = 1903
47K = 19
47K = 13
47K = 10
47K = 10
47K = 18
47K = 1927
47K = 22
47K = 14
47K = 14
47K = 13
47K = 18
47K = 37
47K = 1765
47K = 26
47K = 17
47K = 13
47K = 14
47K = 25
47K = 2119

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 23 янв 2011, 21:24 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Что-то там на схеме половины ардуино нету - RX/TX вообще свободные, а в реальной Ардуино они ни разу не свободы :pardon:

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 23 янв 2011, 21:28 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Эээээ, ну если присмотреться к скетчу, то можно сделать вывод, что я читаю данные с 7-го пина. Он, вроде, к РХ/ТХ отношения не имеет...

Да и потом - я ж просто принцип реализую в том железе, что у меня есть. Схема - я имею ввиду схему подключения датчика, сорри, если непонятно написал...

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 23 янв 2011, 21:44 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Упс, не присмотрелся, сразу в схему полез :) тогда нет идей. Осциком бы глянуть...
Может delay(1) маловат

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 23 янв 2011, 22:46 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
1.
Чел на хабре не догоняет про емкость - это НЕ емкостной датчик. Этот датчик меряет наводки на тело, а не емкость.

2. Вы с емкостью конденсатора ошиблись на несколько порядков. Я бы емкость не ставил вообще. Если ставить, то очень-очень маленькую - ну может быть десятки _ПИКО_фарад.

3.
Емкостные датчики я делал - это не сложно. Чтобы этот датчик стал емкостным, на площадку нужно наклеить кусок пластика с хорошей диэлектрической проницаемостью. Подойдет скотч. Хорошо бы его наклеить без пузырей.

По временам - не знаю что там у вас в коде, я просто считал такты в коротком цикле... безо всяких делэев. усреднял за 20 миллисекунд (чтобы подавить наводки от сети 50 Гц).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 23 янв 2011, 23:35 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Опять эээээ. Переделал схему на PIC-е. Датчик сделан по-другому (просто площадка сенсорная). Начинаю заряжать себя любимого, прикоснувшегося к сенсору, через 50 мкс запускаю АЦП. ВОт выход:

Код:
36 = 128
37 = 0
38 = 0
39 = 17
40 = 126
41 = 198
42 = 0
43 = 0
44 = 0
45 = 41
46 = 173
47 = 98
48 = 0
49 = 0
50 = 0
51 = 98
52 = 194


Здесь закономерность не такая как на ардуине, но она есть!!!!!!!!!!!!
Похоже правда какие-то наводки (скорее всего от сети) - давно заметил, что когда беру в руки осциллограф, он синусоиду рисует с частотой 50 герц.

Так, сейчас буду осмысливать предыдущий ответ.

Добавлено спустя 1 минуту 8 секунд:
Michael_K писал(а):
2. Вы с емкостью конденсатора ошиблись на несколько порядков. Я бы емкость не ставил вообще. Если ставить, то очень-очень маленькую - ну может быть десятки _ПИКО_фарад.


Ставил "резонаторные" кондеры - 39пФ. Все то же, только меньше отсчеты.

Добавлено спустя 2 минуты 27 секунд:
Слушайте, а помните я для товарища собрал серво-контроллер на НЕ555? Так вот там немножко гуляла длительность импульса на сервомашинку. Очень пилообразно гуляла.

И тут, посмотрите на отсчеты:
Код:
377 = 213
378 = 224
379 = 247
380 = 213
381 = 226
382 = 239
383 = 203
384 = 227
385 = 245
386 = 212
387 = 217
388 = 248
389 = 209


Совпадение?

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 23 янв 2011, 23:44 
Не в сети
Аватара пользователя

Зарегистрирован: 21 май 2007, 22:57
Сообщения: 600
Откуда: Калининград
прог. языки: C++
а если ещё уменьшить скорость работы Serial?

_________________
RoboCraft.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 23 янв 2011, 23:51 
Не в сети
Аватара пользователя

Зарегистрирован: 21 май 2007, 22:57
Сообщения: 600
Откуда: Калининград
прог. языки: C++
dccharacter писал(а):
Добавлено спустя 1 минуту 4 секунды:
noonv писал(а):
а если ещё уменьшить скорость работы Serial?

ЕЩЕ уменьшить? И так 115200, куда же еще уменьшать?

в сторону уменьшения, естественно :))))

_________________
RoboCraft.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 24 янв 2011, 00:34 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
dccharacter писал(а):
ЕЩЕ уменьшить? И так 115200, куда же еще уменьшать?

отключить вобще и оставить только моргающий светодиод :)

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 24 янв 2011, 00:41 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Если бы не инертность глаза - без проблем!

Добавлено спустя 3 минуты 21 секунду:
Сделал довольно-таки робастный датчик на ПИКе, но он очень контактный. Даже очень близкое приближение пальца не меняет показаний. Наверное это тоже не емкостный а "на наводках". Но развлечение интересное.

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 24 янв 2011, 00:44 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
тут главное определиться с целью. одно дело самому покодить и схемку сделать. другое взять недорогую спец микру и не мучаться + разгрузить немного проц


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 24 янв 2011, 00:50 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Цели у меня нет. С нового года не отпускает аппатия. На фоне этого прикрутил к ардуине контроллер от плейстейшна - мега вещь (два аналоговых джойстика, 15 цифровых кнопок и вибрация), вот слабал сенсорный датчик.

Уже отупение наступает. Вот скоро придут мосфетики для согласования уровней 5/3,3В i2c - поиграюсь с акселерометрами. А так - зачем и нафига оно нужно - не могу себе на вопрос ответить...

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 24 янв 2011, 02:19 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
dccharacter писал(а):
Сделал довольно-таки робастный датчик на ПИКе, но он очень контактный. Даже очень близкое приближение пальца не меняет показаний. Наверное это тоже не емкостный а "на наводках". Но развлечение интересное.

Так и должно быть. Емкость будет большая, если диэлектрик будет хороший. Если воздух есть - емкость резко падает.
Вот тачпад на ноутах емкостной - он тоже на расстоянии не чувствует.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 24 янв 2011, 08:52 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
dccharacter писал(а):
Цели у меня нет.

Предлагаю вам цель - сделать модуль акселя+гиро 6 осей, под продажу :)
Наверное сразу с МК на борту, типа ATMega168.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Емкостный датчик касания на ORduino
СообщениеДобавлено: 24 янв 2011, 11:34 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Года за три осилю. Часы вон все никак не доделаю из винта, уже три драйвера спалил, вот жду компоненты на четвертый-шестой драйвера.

Это про то, где "требуется прошивка" с фильтром Калмана? Там там же на АРМе просят. У меня, кстати, и евал-борда есть с этим процем. Только как-то это вроде неинтересно. Я абсолютно не в теме, а поэтому даже постановка проблемы мне не ясна. А решать непонятно какой вопрос... Или тиражируемый модуль для Open Robotics???

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO