Страница 1 из 1
ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 13:01:18
9219k
Ув.Господа, прошу, только не кидайте в меня камнями за, возможно, некорректный вопрос...
Имеется в наличии устройство, позволяющее отслеживать состояние 8 датчиков (кнопок) и выводить все это дело на экран компьютера. В настоящее время датчики заведены через оптроны на компьютерную клавиатуру и написана программа на делфи, которая показывает какие датчики сработаны, а какие нет. Все, в принципе, прекрасно работает, но вот совесть не дает покоя... Хочеться переделать этот агрегат так, чтобы он был независим от клавиатуры (чтобы и датчики отслеживались и клавиатурой можно было по назначению пользоваться).
Имею большой опыт в паянии, но не имею абсолютно никакого опыта в работе с контроллерами. Так же имею в наличии ATmega8 (1 шт.), желание и ровные руки.
Требуется:
1. Отслеживание 8-10 датчиков (кнопок)
2. Возможность одновременного срабатывания всех кнопок
3. Высокая частота опроса кнопок
4. Связь с компом по USB
Прошу пнуть меня в нужном направлении (может какие наработки есть, а то что-то гугл мне конкретно по этому вопросу ничего толком не дал)
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 13:07:22
ploop
Если больше ничего делать не надо, я бы советовал такую конфигурацию:
FT232RL для связи по USB (софтовый вариант не советую)
Скорость опроса будет явно выше, чем можно передать через UART.
10 свободных пинов у вас будет. Заводите так же, через оптотроны. Программа простейшая. Начинайте делать, там поможем.
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 13:22:01
Мастер Ломастер
для начала надо определиться с термином "высокая частота опроса кнопок". высокая - это сколько раз в секунду? миллион? пять миллионов? или пять раз?
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 13:29:40
ploop
В настоящее время датчики заведены через оптроны на компьютерную клавиатуру
Как думаешь, какая частота?
Может человеку 5 герц - уже высокая

Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 13:37:07
Мастер Ломастер
ploop писал(а):В настоящее время датчики заведены через оптроны на компьютерную клавиатуру
Как думаешь, какая частота?
Может человеку 5 герц - уже высокая

я потому и сказал, что нужно уточнить, чтобы избавиться от догадок "может".
а затем можно задуматься и об остальных критериях...
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 14:50:17
9219k
Частота пусть будет 1000 раз в секунду для каждого датчика. То есть, если датчиков 10, то 10000 герц.
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 14:52:43
ploop
1. Программа на ПК не обработает такой поток данных в реальном времени.
2. Что за датчики? Механические по определению не смогут с такой скоростью работать.
3. МК справится легко. Но что делать дальше? Может как-то анализировать и выдавать результат?
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 14:57:29
Мастер Ломастер
9219k писал(а):Частота пусть будет 1000 раз в секунду для каждого датчика. То есть, если датчиков 10, то 10000 герц.
если датчиков 10, то с чего частота вдруг удесятеряется? они же практически одновременно опрашиваться будут? 1000 раз в секунду вы будете отправлять в ПК по 2 байта данных плюс пару-тройку служебных байтов для синхронизации, т.е. всего 5-6 байт, то есть получается поток 50000 байт в секунду или 500000 бит в секунду: для стандартного СОМ-порта эта скорость недостижима, однозначно необходима упомянутая ранее микросхема FT232RL или МК с аппаратной поддержкой USB на борту - я бы предпочел последнее (дешевле будет намного).
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 15:00:43
Мастер Ломастер
ploop писал(а):1. Программа на ПК не обработает такой поток данных в реальном времени.
3. МК справится легко. Но что делать дальше? Может как-то анализировать и выдавать результат?
как-то странно: МК с таким потоком справится (при быстродействии 20 МИПС максимум), а ПК с быстродействием много больше 1000 МИПС не справится

смешно. 100 мегабит стека работает в фоне и даже незаметно, что она работает - а тут жалкие пол-мегабита и на тебе: программа не обработает...
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 15:01:41
ploop
Да, сюда какую-нибудь stm'ку...
Но я думаю автор преувеличивает. Зачем такой поток? Ну например нужно контролировать замыкание одного из датчиков. Как сработал - послать сигнал. МК вполне справится.
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 15:03:36
ploop
как-то странно: МК с таким потоком справится (при быстродействии 20 МИПС максимум), а ПК с быстродействием много больше 1000 МИПС не справится
Именно так.
1. Скорость порта.
2. Рассказать про многозадачность ОС? Могут быть потери данных.
Я имею ввиду не скорость обработки, а именно реакцию на события.
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 15:03:49
МитяРа
Отправлять-то надо всего 1 байт (8 бит), 1бит=1 кнопке, раз в 1мСек..
Пусть не 1, а 2 байта.. разве это много?
Какие там к мышам мегабайтные потоки данных..

Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 15:06:00
Мастер Ломастер
ploop писал(а):Именно так.
1. Скорость порта.
2. Рассказать про многозадачность ОС? Могут быть потери данных.
Я имею ввиду не скорость обработки, а именно реакцию на события.
ой, только не надо про ОС

если реакция будет типа "зажигания лампочки" - вполне успеет обработать. во всяком случае, чисто визуально - успеет однозначно.
Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 15:08:44
ploop
Ну так я и пытаюсь у автора выпытать, что у него там... Может, он софт для управления АЭС пишет. А то насоветуем тут

Re: ATmega8 опрос 8 датчиков
Добавлено: Пн янв 16, 2012 15:14:44
Мастер Ломастер
МитяРа писал(а):Какие там к мышам мегабайтные потоки данных..

прикидочный расчет я представил - мегабайтами там не пахнет, полумегаб
итом - вполне
