roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 18:19

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Хронограф - помогите, плиз
СообщениеДобавлено: 10 фев 2010, 16:20 
Не в сети
Аватара пользователя

Зарегистрирован: 25 сен 2006, 20:56
Сообщения: 185
Откуда: Можайск
Skype: rtt1971
прог. языки: Java, C++
ФИО: АВ
Делаю хронограф (для измерения скорости пули пневматического оружия).
Хочу сделать на Atmega 8.
Нашел схему рамочного датчика.
Есть вопрос:
1. Можно ли выход датчика присоединить напрямую к входу прерывания?


Вложения:
Ramka.jpg
Ramka.jpg [ 176.89 КиБ | Просмотров: 2658 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 10 фев 2010, 16:24 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Можно конечно, но ИМХО лучше через токоограничительное сопротивление делай (100-200 Ом)

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 10 фев 2010, 16:45 
Не в сети
Аватара пользователя

Зарегистрирован: 25 сен 2006, 20:56
Сообщения: 185
Откуда: Можайск
Skype: rtt1971
прог. языки: Java, C++
ФИО: АВ
Тогда алгоритмический вопрос - 2 рамки, 2 прерывания.
Чтобы не было ограничения на направление стрельбы имхо:
Есть переменная status. Она false если отсчета нет.
По любому прерыванию проверить состояние переменной status.
Если false, то стартуем внутренний таймер и делаем переменную true.
если true, то стопим таймер и записываем его показания во flash как результат измерения.

Чтобы не было зависаний сделать перрывание по переполнению таймера с индикацией ошибки и записью во flash значениея FFFF (типа ошибка).

Правилен ли алгоритмический подход?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 10 фев 2010, 16:58 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Сходу вороде бы да, практически виднее будет

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 10 фев 2010, 17:23 
Не в сети
Аватара пользователя

Зарегистрирован: 25 сен 2006, 20:56
Сообщения: 185
Откуда: Можайск
Skype: rtt1971
прог. языки: Java, C++
ФИО: АВ
Прикинул - при базе 10 см (между датчиками) и таймере с частотой 1МГц можно ловить скорости до 1000 м/с.
В АВР формула 0,1/переменная*константа будет считаться?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 10 фев 2010, 18:26 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Лучше сначала выполнять все умножения а потом минимум делений

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 10 фев 2010, 19:34 
Не в сети
Аватара пользователя

Зарегистрирован: 25 сен 2006, 20:56
Сообщения: 185
Откуда: Можайск
Skype: rtt1971
прог. языки: Java, C++
ФИО: АВ
Как в атмеге8 реализовать таймер частотой 1Мгц при тактовой частоте 8Мгц ?
Плюс прерывание по его переполнению.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 10 фев 2010, 20:54 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
Для четкого определения интервала вне зависимости от того, чем там занята прога (небось и индикация предполагается?) я бы использовал Input Capture. Таймер молотит с определенной частотой (1 или 8 МГц) непрерывно, а датчик висит на входе compare (у меги8 это ICP0, он же PB0), по которому также настроено прерывание. По приходу прерывания смотрим переменую статус, если там false - переписываем ICR1 в переменную time1 (типа uint_16) и ставим status=true. Если уже true - достаем ICR1, вычитаем из него time1 и получаем время пролета пули в тиках, дальше делаем с ним что хотим. За счет 16-разрядного вычитания переполнение учтется автоматом. Ну и где-то отдельно можно повесить отдельный таймер - если status сильно долго висит в true - снести его в false и индицировать ошибку, это значит один импульс потерялся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 10 фев 2010, 21:28 
Не в сети

Зарегистрирован: 08 сен 2009, 20:13
Сообщения: 128
Откуда: Екатеринбург
На фототранзисторах не слишком медленно будет? У меня тоже подобная идея есть я правда думаю сделать контактные рамки из фольги алюминиевой с зазором и две рамки на расстоянии 0.5 м располагать. А с фототранзисторами я делал, пуля у меня правда посерьезней будет (18х45), располагал два фотодатчика в трубке на расстоянии 100 мм и замерял время пролета, датчик оказался одноразовым :D после выстрела вся конструкция вместе с дачиком МК и индикатором улетела на метр оборвав все провода.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 11 фев 2010, 12:56 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
а надо смотреть характеристики конкретных транзисторов. Будет медленно - делать на фотодиодах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 11 фев 2010, 13:35 
Не в сети
Аватара пользователя

Зарегистрирован: 20 сен 2007, 11:44
Сообщения: 491
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич
[quote="Широкий"]...при тактовой частоте 8Мгц ?...quote]
Внутренний RC не используй - плыть будет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 11 фев 2010, 13:44 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Фотодиод и фототранзистор одно и тоже, полюбому базовую ногу фототранзистора никто не юзает.
Внутренний кварц не юзать - поддерживаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 11 фев 2010, 14:24 
Не в сети
Аватара пользователя

Зарегистрирован: 25 сен 2006, 20:56
Сообщения: 185
Откуда: Можайск
Skype: rtt1971
прог. языки: Java, C++
ФИО: АВ
Вот потому и рамочный. В него стрелять можно с расстояния (главное попасть куда надо).

Хотел бы найти схему индукционного датчика - было бы ещё кошернее. Толь чтобы рамка индукционная была не меньше чем 20 на 20 см...

По поводу программирования - я думал стартовать таймер если статус 0. А если статус 1 брать его показания. А по переполнению (16 бит) - выдавать ошибку. Так одним 16-битным таймером можно обойтись. Переполнение возникнет (при частоте таймера 1 Мгц) через 0,8 секунды примерно. Что есть гут.

В ППЗУ писать количество тиков таймера замеренное. Пересчитывать при выдаче на индикатор.

По поводу индикатора - у меня валяются 3 принтера старых лазерных. У них ЖК 2 строчки вроде - думал его и примостырить.

Кроме того дома лежит ардуино - на нем прошивку буду тестить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 11 фев 2010, 21:34 
Не в сети

Зарегистрирован: 08 сен 2009, 20:13
Сообщения: 128
Откуда: Екатеринбург
Victorovych писал(а):
Широкий писал(а):
...при тактовой частоте 8Мгц ?...quote]
Внутренний RC не используй - плыть будет
Вы его в воду не пускайте, он и не уплывет :) а если серьезно, то для такой задачи особая стабильность не нужна, я часы делал с использованием внутреннего генератора (у него кстати стабильность почти как у керамического резонатора) так уход был порядка 1-2 сек в сутки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хронограф - помогите, плиз
СообщениеДобавлено: 11 фев 2010, 23:57 
Не в сети
Аватара пользователя

Зарегистрирован: 25 сен 2006, 20:56
Сообщения: 185
Откуда: Можайск
Skype: rtt1971
прог. языки: Java, C++
ФИО: АВ
Пуля при скорости 300 м/с пролетает расстояние 0,1 м за 0,00033 сеунды. Так что тактовая частота пороговая касательно минимальной погрешности на менее 500Кгц.


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

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


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

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


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

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