Например TDA7294

Форум РадиоКот • Просмотр темы - Емкостной сенсор на МК + светодиод (ШИМ)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср дек 17, 2025 16:42:32

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 34 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Вт янв 15, 2013 20:16:04 
Встал на лапы

Зарегистрирован: Вт июл 17, 2012 17:45:46
Сообщений: 85
Откуда: Тольятти
Рейтинг сообщения: 0
Не могу ничего сделать. Proteus не хочет с моей восьмой виндой работать. Будь она не ладна....

_________________
Боишься? Сиди дома!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Вт янв 15, 2013 21:24:59 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 12
Рейтинг сообщений: 67
Зарегистрирован: Пт авг 27, 2010 05:57:06
Сообщений: 2482
Откуда: Тюмень
Рейтинг сообщения: 0
Да не нужно в протеусе тогда, просто схему картинкой можно в SPLAN довольно удобно сделать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Чт янв 17, 2013 17:41:07 
Встал на лапы

Зарегистрирован: Вт июл 17, 2012 17:45:46
Сообщений: 85
Откуда: Тольятти
Рейтинг сообщения: 0
Ага. Вот. Не SPLAN конечно,. но тоже ничего :)
Ничего сверхестественного...
Схема во вложении.


Вложения:
Sxema.jpg [35.43 KiB]
Скачиваний: 409

_________________
Боишься? Сиди дома!
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Пт янв 18, 2013 19:06:15 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 12
Рейтинг сообщений: 67
Зарегистрирован: Пт авг 27, 2010 05:57:06
Сообщений: 2482
Откуда: Тюмень
Рейтинг сообщения: 0
Внутри проект протеуса и codevisionAVR проверял в протеуссе, вроде есть реакция на нажатие, нужно проверять в железе и отработать функции короткого и длинного нажатия.
Функция определения длинны нажатия вроде нормально отрабатывает.


Вложения:
Комментарий к файлу: Вот то, о чем я говорил, пока что код сырой.
Led_light_control.rar [62.95 KiB]
Скачиваний: 227
Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Вс янв 20, 2013 20:54:31 
Встал на лапы

Зарегистрирован: Вт июл 17, 2012 17:45:46
Сообщений: 85
Откуда: Тольятти
Рейтинг сообщения: 0
Хорошо. Завтра прошью в железо отпишусь что как. Спасибо!

_________________
Боишься? Сиди дома!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Пн янв 21, 2013 20:03:55 
Встал на лапы

Зарегистрирован: Вт июл 17, 2012 17:45:46
Сообщений: 85
Откуда: Тольятти
Рейтинг сообщения: 0
Прошил.
Не работает нифига.
Во-первых: любое прикосновение отрабатывается очень не четко. Как будто я на кнопку механическую давлю а там жуткий дребезг контактов. Чувствительность сенсора очень слабая - срабатывает только когда берусь за общий провод.
Во-вторых: Отработки длинного и короткого нажатия я так и не увидел. Светодиод либо включается либо выключается. Плавно загараться он так и не попытался.
Вобщем надо допиливать. Я думаю нужно править переменные.
Только по своей програмистской неграмотности я еще не могу до конца в вашей проге разобраться, хоть и закомментирована она хорошо(за что отдельное спасибо).

//Процедура обработки короткого нажатия
void long_pressing(void)
{static uint8_t forward=1;
PORTB.1=1;
PORTB.2=0;
if(flag_PWM){
if(OCR0A<PWM_MIN){forward=1;}
if(OCR0A>=PWM_MAX){forward=2;}
switch (forward){
case 1:OCR0A++;break;
case 2:OCR0B--;break;
default:OCR0A++;break;
}
if(!led){DDRB.1=0;TCCR0A=0x83;}
flag_PWM=0;
}
}

Почему в case 2 вы отнимаете OCR0B? а не OCR0A?

temp3=((temp3<<8)|temp2)-temp1; //вернули число тиков счетчика

Объясните пожалуйста как работает выделенный фрагмент. Побитовые операции - это для меня пока сложно....
Спасибо!

_________________
Боишься? Сиди дома!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Пн янв 21, 2013 23:05:17 
Друг Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 267
Зарегистрирован: Ср сен 27, 2006 16:18:57
Сообщений: 3459
Рейтинг сообщения: 0
Мне так кажется, что Вам, для начала, надо отделить мух от котлет. Сначала отработайте длинное нажатие, потом сенсор. А потом уже всё вместе.
Когда Вы начали свою тему, я как раз пытался решать аналогичную задачку. И в учебных целях написал некую демонстрационную программулину. Тока она работает не с сенсором, а с обычной кнопкой. Длинное нажатие - управление ШИМ. Короткое - вкл/выкл. Если интересно, могу выложить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Пн янв 21, 2013 23:17:36 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 12
Рейтинг сообщений: 67
Зарегистрирован: Пт авг 27, 2010 05:57:06
Сообщений: 2482
Откуда: Тюмень
Рейтинг сообщения: 0
DerMeister писал(а):
Почему в case 2 вы отнимаете OCR0B? а не OCR0A?
Копипаст меня подвел.:)) Я же сказал код сырой, в проте пытался проверить, только там как то странно все происходит.
Процедуры long_pressing(void) и short_pressing(void) нужно дорабатывать о чем я честно и признался.
DerMeister писал(а):
temp3=((temp3<<8)|temp2)-temp1; //вернули число тиков счетчика
Объясните пожалуйста как работает выделенный фрагмент.

Тут все просто аналог этих вычислений (temp3*255+temp2-temp1);
1 берем переменную temp3 помещаем ее в два регистра пусть r16 и r17
2 сдвигаем переменную влево 8 раз( равноценно умножению на 255, а так как у нас счетчик считает до 255 он становится старшим байтом числа int.)
на асме компилятор скорее всего скопирует r17 и r16 и обнулит r17
3 берем temp2 и делаем побитовое или с переменной в r17 и r16 так как в младшем байте у нас нуль, получается результат аналогичный сложению.
4 отнимаем из переменной temp1 ну тут я думаю особенно комментировать не нужно
отмечу только, что в temp1 хранятся показания счетчика на момент отсчета.

DerMeister писал(а):
Во-вторых: Отработки длинного и короткого нажатия я так и не увидел.

Отработка длинного и короткого нажатия спрятана тут
Код:
 status = time_of_button(pressed());
    switch(status)
        {
        case  1:{short_pressing(); break;}
        case  2:{long_pressing(); break; }
        default: break;
        }//end of switch(status)  
а про эти функции я уже написал.
DerMeister писал(а):
хоть и закомментирована она хорошо(за что отдельное спасибо).
Блин а я наоборот думал мало комментариев в основном ваши и остались :))
DerMeister писал(а):
Я думаю нужно править переменные.
Не переменные, а константы
В общем можно сделать небольшой гистерезис если кнопка была нажата.
Вообще по коду подразумевается, что короткое нажатие это нажал- отпустил и тогда только действие иначе при каждой регулировке бы мелькал диод.
Константы, как вы, наверное, уже поняли,находятся тут:
Код:
#define DEF_TIME 50              //порог срабатывания
#define DEF_LONG 150             //время длительного нажатия
#define TIME_DREBEZG 20          //время дребезга
#define PWM_MIN  30              //минимальное значение яркости
#define PWM_MAX 254              //максимальное значение яркости  


Барсик писал(а):
Мне так кажется, что Вам, для начала, надо отделить мух от котлет.
Точно. Выкладывайте свой код тоже :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Пн янв 21, 2013 23:42:50 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 12
Рейтинг сообщений: 67
Зарегистрирован: Пт авг 27, 2010 05:57:06
Сообщений: 2482
Откуда: Тюмень
Рейтинг сообщения: 0
Все таки мне еще кажется для уверенного определения нажатия нужно все же усреднять хотя бы 8 значений, потому что если первое измерение произошло в момент помехи или еще чего нибудь такого остальные все нажатия могут неправильно отрабатываться.
Сейчас смоделировал с видоизмененный кодом - нормально отрабатываются нажатия.
В реальном устройстве только константы подобрать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Вт янв 22, 2013 14:10:40 
Друг Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 267
Зарегистрирован: Ср сен 27, 2006 16:18:57
Сообщений: 3459
Рейтинг сообщения: 0
vitalik_1984 писал(а):
Выкладывайте свой код тоже. :))

Выкладываю:


Вложения:
1k_pwm.c [10.09 KiB]
Скачиваний: 679
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Вт янв 22, 2013 14:24:38 
Сверлит текстолит когтями
Аватар пользователя

Карма: 22
Рейтинг сообщений: 81
Зарегистрирован: Пн дек 08, 2008 10:58:48
Сообщений: 1262
Откуда: Винница
Рейтинг сообщения: 0
Я думаю, что будут прыжки яркости при регулировке.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Вт янв 22, 2013 19:37:40 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 12
Рейтинг сообщений: 67
Зарегистрирован: Пт авг 27, 2010 05:57:06
Сообщений: 2482
Откуда: Тюмень
Рейтинг сообщения: 0
Отработал свою часть кода от и до срабатывают короткие и длинные нажатия,правда в схеме идеализированная модель сенсора и работает у меня в 30 раз медленнее,чем реальное время.
осталось настроить правильно таймер и подобрать для реального устройства.
urry писал(а):
Я думаю, что будут прыжки яркости при регулировке.
Стоило тратить сообщение для такой короткой реплики? Подскажите лучше как правильно настроить, и регулировать. У меня с таймером мало опыта работы, с ШИМ вообще почти ноль.


Вложения:
Led_light_control.rar [63.51 KiB]
Скачиваний: 195
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Ср янв 23, 2013 16:53:18 
Встал на лапы

Зарегистрирован: Вт июл 17, 2012 17:45:46
Сообщений: 85
Откуда: Тольятти
Рейтинг сообщения: 0
Цитата:
Отработка длинного и короткого нажатия спрятана тут

:) я имел ввиду в работе не увидел такого. Не отличает короткие и длинные.
Цитата:
Не переменные, а константы

Да, да. Конечно же Вы правы.
Цитата:
Тут все просто аналог этих вычислений (temp3*255+temp2-temp1);

Спасибо большое! Вроде понял. Правда не знаю на долго ли... :)
Цитата:
нужно все же усреднять хотя бы 8 значений

Я не претендую на абсолютную правоту. Просто говорю то, что видел сам: с усреднением работало у меня даже чуть хуже чем без усреднения. Правда я не разбирался почему.

Ну хорошо, будем домучивать эту гадость значит до конца! Сегодня постараюсь прошить - отпишусь.


Цитата:
я как раз пытался решать аналогичную задачку


Спасибо за примерчик! Будем разбираться.

_________________
Боишься? Сиди дома!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Емкостной сенсор на МК + светодиод (ШИМ)
СообщениеДобавлено: Ср янв 23, 2013 19:27:24 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 12
Рейтинг сообщений: 67
Зарегистрирован: Пт авг 27, 2010 05:57:06
Сообщений: 2482
Откуда: Тюмень
Рейтинг сообщения: 0
Усреднение предполагалось на этапе калибровки и еще желательно запускать перекалибровку при уменьшении значения сенсора больше, чем 5-10% так как если при включении палец будет на площадке, то мы можем вообще никаких эмоций не увидеть. :))

Цитата:
я имел ввиду в работе не увидел такого. Не отличает короткие и длинные.
такое могло быть из-за того, что функции отработки неправильно организованы или от того, что настройка порога срабатывания не верна длинные нажатия срываются и получаются как короткие.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 34 ]    , 2

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


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y