Radiohobby Forum

Интернет конференция журнала "Радиохобби"

Вы не вошли.

Объявление

Подписка на новые материалы от Николая Сухова - ролики, схемы, модели, онлайн конференции, консультации, чат.

Внимание! Почта в доменах Яндекс и Mail.ru не будет работать в профилях форумчан, из-за введённых правительством Украины санкций против этих компаний. Всем, кто ранее использовал подобную почту, для сохранения прежней функциональности форума, рекомендуется её поменять.

Огромная просьба, заливать тематические картинки и файлы в личные файловые каталоги на форуме, чтобы они не потерялись, со временем!

Ссылка "Загрузки" находится справа внизу формы набора сообщения.

Подписка на журнал "Радиохобби" прекращена. Подробности. Форум же - продолжает свою работу.

#351 21.03.2007 13:04:59

vzv
Завсегдатай
Откуда: Чернигов
Здесь с 28.09.2006
Сообщений: 812

Re: AVR для "чайников"

Xumuk пишет:

Я хочу сделать хронограф - прибор для измерения скорости полета пули

Для измерения скорости полёта пули и дробового заряда, устройство съёма информации о скорости одно, или есть отличия?

ps Простите за офтоп.

Вне форума

#352 21.03.2007 13:28:21

Jaxon
радиолюбовник
Откуда: Николаев
Здесь с 22.01.2004
Сообщений: 3,028

Re: AVR для "чайников"

есть мнение что это т.н. "Гауссганн"....
я угадал ?

Активен

#353 21.03.2007 13:52:28

Xumuk
Новичок
Откуда: Харьков
Здесь с 19.01.2007
Сообщений: 19

Re: AVR для "чайников"

Jaxon пишет:

есть мнение что это т.н. "Гауссганн"....
я угадал ?

<offTop>
     В первую очередь для страйкбола (калибр 6мм, скорость 80...150 м/с)
     Но гауссган в макетном виде у меня тоже валяется - на 5 метров стреляет big_smile
</offTop>

Вне форума

#354 21.03.2007 14:23:37

Liv
Ветеран
Откуда: Минск
Здесь с 08.02.2004
Сообщений: 1,233

Re: AVR для "чайников"

Xumuk пишет:

А какие еще прерывания по таймеру я могу использовать чтобы отмерять более короткие промежутки времени?

Можно использовать прерывание по совпадению. Когда счетчик совпадет с регистром сравнения, произойдет прерывание. Можно включить режим, когда счетчик в этот момент сбросится. Изменяя содержимое регистра сравнения можно получить любой интервал прерываний.

Xumuk пишет:

Каким образом мне можно реализовать такое измерение времени?

То, что обсуждалось выше, относится к ФОРМИРОВАНИЮ временных интервалов с помощью таймера. А ИЗМЕРЕНИЕ временных интервалов - это совсем другая задача. Для этого у таймера есть схема захвата. По внешнему сигналу содержимое счетчика копируется в регистр захвата. Тут же в прерывании это значение нужно "переложить" в память. При следующем захвате сохраняется второе значение. Разность значений и даст искомый интервал времени с дискретностью до такта таймера. Если разрядности таймера не хватит, ее можно нарастить программно, т.е. в прерывании по переполнению считать эти переполнения.

Вне форума

#355 21.03.2007 16:41:29

Xumuk
Новичок
Откуда: Харьков
Здесь с 19.01.2007
Сообщений: 19

Re: AVR для "чайников"

Liv, не могли бы вы объяснить в чем преимущество измерения временных интервалов по указанному вами методу по сравнению со  способом, в котором в обработчике таймера по прерыванию будет инкрементироваться переменная? Ведь временные интервалы в обоих случаях одинаковы. Если конечно обработка прерывания не будет занимать больше времени чем ей отводится.

Отредактировано Xumuk (22.03.2007 09:06:02)

Вне форума

#356 22.03.2007 11:51:45

Liv
Ветеран
Откуда: Минск
Здесь с 08.02.2004
Сообщений: 1,233

Re: AVR для "чайников"

Xumuk пишет:

в чем преимущество измерения временных интервалов по указанному вами методу по сравнению со  способом, в котором в обработчике таймера по прерыванию будет инкрементироваться переменная? Ведь временные интервалы в обоих случаях одинаковы.

Вы не можете сделать прерывания таймера чаще, чем процессор сможет успеть их обработать. Минимум, в обработчике понадобится десяток команд, плюс накладные расходы на вызов обработчика. Поэтому частота прерываний как минимум на порядок меньше тактовой частоты процессора. К тому же, в таком режиме процессор будет занят на 100% обработкой прерываний.

А если использовать схему захвата, прерывания будут возникать только два раза: в начале и в конце измеряемого интервала. Всё остальное время будет работать счетчик таймера, который реализован аппаратно и не загружает процессор. И работает он на тактовой часте ядра. Поэтому точность измерения будет как минимум в 10 раз выше при практически нулевой загруженности процессора.

Вне форума

#357 22.03.2007 14:31:26

Xumuk
Новичок
Откуда: Харьков
Здесь с 19.01.2007
Сообщений: 19

Re: AVR для "чайников"

Ага, осилил smile
Большое спасибо, буду дальше разбираться

Вне форума

#358 24.03.2007 20:20:43

Xumuk
Новичок
Откуда: Харьков
Здесь с 19.01.2007
Сообщений: 19

Re: AVR для "чайников"

Урррааа! Оно работает!!! big_smile
Пистолет выдает 104 м/сек гггг
Круто!
Liv, огромное спасибо за помощь в освоении AVR wink


     Пока что мой хронограф представляет собой кусок макетной платы с "месивом" из шлейфов, МК, индикатора и прочих навесных элементов. Остается довести все это дело до ума как в плане железа, так и в плане софта.

     При считывании состояния оптических датчиков, столкнулся с проблемой - даже не подключенный вывод порта выдает 011100010110011101001... т.е. мигает с неясной частотой, меняющейся даже от движения рук вблизи МК. Чего это такое с ним происходит? (Питание брал от компьютера +5v)
Проблему решил  подтягиванием вывода порта к земле через резистор 4,7 ком.
А как вообще правильно бороться с такой проблемой?

Отредактировано Xumuk (24.03.2007 20:30:23)

Вне форума

#359 24.03.2007 20:54:22

Pyku_He_oTTyda
Ветеран
Откуда: г.Великие Луки
Здесь с 23.01.2004
Сообщений: 531

Re: AVR для "чайников"

так и боротся. резисторами подтягивать (или конфигурировать как выход), выводы в воздухе ни в коем случае нельзя оставлять.
А происходит следующее, ловит наводки, так как очень высокое входное сопротивление (порядка 5 МОм).

Отредактировано Pyku_He_oTTyda (24.03.2007 20:56:39)


Андрей Смирнов

Вне форума

#360 24.03.2007 21:40:08

Liv
Ветеран
Откуда: Минск
Здесь с 08.02.2004
Сообщений: 1,233

Re: AVR для "чайников"

Xumuk пишет:

не подключенный вывод порта выдает 011100010110011101001... т.е. мигает с неясной частотой, меняющейся даже от движения рук вблизи МК. Чего это такое с ним происходит?

Скорее всего, Вы оставили висящим вход без подтягиващего резистора. Так поступать с любыми КМОП-входами нельзя. Или включите внутреннюю подтяжку записью единицы в соответствующий разряд регистра PORTx, или подключите внешний подтягивающий резистор.

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.061 сек, 7 запросов выполнено - Использовано памяти: 601.78 Кбайт (Пик: 652.15 Кбайт) ]