Airgun.Org.Ru

Всероссийское Общество любителей пневматического оружия
Текущее время: 24 апр 2024, 15:03

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 134 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Хронограф - открытый проект
СообщениеДобавлено: 08 дек 2007, 17:58 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Вот, собрал конструкцию. "Нашшша прелесссть"...

Хотел перекрасить. Передумал. Пусть остается гламурно-розовым. :)


Вложения:
My_Chron_0_100.jpg
My_Chron_0_100.jpg [ 50.76 Кб | ]


Последний раз редактировалось EagleB3 08 дек 2007, 18:08, всего редактировалось 3 раз(а).
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 дек 2007, 17:58 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Спасибо Julbu и Up за советы и идеи.

У моего хронографа пока есть вот что:

Измерительная часть, которая получает внешнее питание и за это выдает старт и стоп импульсы в уровнях TTL . Оптопары собраны на PIN-фотодиодах, время переключения 5 нС;
Преобразователь на ATMEGA8535, который:
- измеряет промежуток между старт и стоп импульсами, и преобразовывает к значению скорости, которое выводит на индикатор;
- может выводить информацию о происходящем в COM-порт он-лайново (номер выстрела, посчитанная скорость, измеренное значение временного интервала. Это значение можете делить сами и получать результат с желаемой точностью. Кроме того он пишет об ошибках, неполадках и еще кое-о чем);
- может сохранять результаты у себя в памяти (память на 250 значений);
- может выливать измеренное в COM-порт по команде из меню;
- может сохранить в памяти сделанную Вами "метку" (Вы поменяли пули, или перезадули резервуар, или сменили винтовку);
- делает сброс (затирание) хранимого в памяти через меню;
- проверяет состояния оптопар при включении и по ходу дела;
- выполняет звуковую индикацию беспорядков и нажатия кнопок (громкость регулируется);
- от 4-х аккумуляторов размера AA (можно и от двух, но надо будет взять другую микросхему в преобразователь питания) или от внешнего стабилизированного источника питания +5V работает сам и питает измерительную часть;
- отключает оптопары ("засыпает") после 2-х минутного ожидания, чтобы не сажать батареи. Выход из режима "сна" - кнопкой меню;
- имеет довольно недурственную (КМК) структуру меню и достаточно развитую (КМК же) индикацию.

Преобразователь и измерительная часть соединены кабелем.

Вообще этот преобразователь должен работать с разными измерительными частями (надульник, рамка), и распознавать их самостоятельно. Но пока я рамку еще не делал.

Чего он не умеет:
1) Он не переключается в режимы CO, PCP, ППП.
2) Помещаться в жилетный карман. Как человек, уже более 20 лет не слезающий с машины и не шляющийся с винтовкой по лесам, я не стремился к микроминиатюризации. К тому же у меня - "лабораторный" вариант, я хотел оставить место под всяческие заделы, устранение огрехов и дальнейшее развитие. Но, в принципе, можно и спрессовать все в ЧИП-корпуса и сделать этажерки из печатных плат.

Я выкладываю схемы (здесь) и исходники программы (чуть ниже).
Я не выкладываю разводку печатной платы. Вряд ли у повторяющего мой хронограф (если таковой вообще найдется) будет желание запихать его в такой же корпус; к тому же я оставлял на плате места "под будущие фичи". Например, под внешнюю FLASH-память. Оно Вам надо? Но если кто-то вдруг захочет - пишите, выложу.

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

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

Сразу говорю - себестоимость этого хронографа выше, чем стоимость хронографов SO и ИБХ (точно я не считал; может быть и не выше, но наверняка соизмерима), но делался он не за-ради экономии средств, а для души. Кроме того, этот дивайс - некоторая база, которую можно превратить во что угодно. В стрелковый таймер, например. Или еще во что-то. Можно поставить не 3-хразрядный семисегментный индикатор, а ЖКИ. Можно расширять клавиатуру (хотя 4 кнопки, КМК - куда уж больше). Можно убрать из конструкции кабель, сделав связь по радиоканалу. Можно... Все можно.
Повторять его имеет смысл людям, которые хотят сделать хронограф с такими функциями, которых нет у готово-покупных, и в том случае, если они готовы написать эти функции сами.

P.S. Старый анекдот:
Заказчик приходит к портному, узнает, что его заказ почти готов, но закончен будет через 2 дня. И начинает ругаться:
- Да вы мастер или кто? Господь Бог весь мир сотворил за 7 дней, а Вы какие-то несчастные штаны мне шьете уже месяц! И они все еще не готовы!
- Ах, молодой человек! Да ви же посмотрите на этот мир!... Да? И Ви же посмотрите ж на ЭТИ БРУКИ!!! :old:


Вложения:
Комментарий к файлу: Схема хронографа

Schema.zip [188.23 Кб]



Последний раз редактировалось EagleB3 09 дек 2007, 11:41, всего редактировалось 10 раз(а).
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 дек 2007, 18:02 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Надульник сделан из дюралевой трубки, наружный диаметр 14мм, внутренний диаметр 8мм. Для всевозможных переходников (три из них выложены на фотографии выше - на резьбу 12х1, на ствол диам.13мм и на модератор диам. 26мм) проточена резьба 14х1. Трубка спереди не обрезана в торец с передней стенкой специально - с таким "носиком" можно быть точно уверенным, что пуля войдет в пулеуловитель (он у меня он "П"-образный из отрезков водопроводных труб 3/4").

Подиумы под детали оптопар вылеплены из "Быстрой Бронзы" (Tuff Bronze от Hi-Gear, покупабельна в автозапчастях. Имеется близкий аналог "Быстрая Сталь". Те подиумы, что отваливались от трубки, были заново приклеены к ней на циакриновый "Момент". После этого больше никто не отваливался. В подиумах нарезана резьба под винты крепления плат излучателей и платы оптоприемников. Сначала сверлилась трубка (расстояния между оптическими осями =100мм, диаметр не то 1,5мм, не то 2мм. Давно сверлил...), потом в отверстия каждой оптопары насквозь вставлялась зубочистка, лепился подиум, потом зубочистка извлекалась. После отверждения "бронзы" канал рассверливался под датчик/излучатель и сверлились (по месту) отверстия под винты крепления плат. В отверстиях под винты крепления плат нарезалась резьба М2.

Диоды внутрь трубки не выступают - отстрелить их невозможно (КМК). Для чистки излучателя (каждого) надо вывернуть 2 винтика, для чистки приемников (всех) надо отвернуть 2 винтика. Засветить оптоприемники мне не удалось никакими поворотами трубки в летний полдень - ни на солнце, ни наискосок. Никак.

Предняя и задняя стенки наклеены на "поксипол". Толщина каждой - 8мм, за-ради возможности просверлить отверстия под винты М2..M3 для крепления кожуха.

Кожух сделан из аэрозольного баллона (алюминиевый, бесшовный, наружный диаметр 45мм).

Соединительный кабель имеет разъемы по 8 контактов. Можно использовать разъемы витой пары - они имеют фиксаторы, что есть очень хорошо. Но сейчас используются не все 8 контактов, а только 5. Остальные - под дальнейшее расширение (раздельное управление старт и стоп излучателями, информация о типе измерительной части (чтобы можно было определить значение базы, которое должно использоваться в расчетах скорости) или еще что-нибудь).


Вложения:
Nad_Open_150.jpg
Nad_Open_150.jpg [ 36.09 Кб | ]
Podium_150.jpg
Podium_150.jpg [ 53.49 Кб | ]


Последний раз редактировалось EagleB3 09 дек 2007, 11:49, всего редактировалось 11 раз(а).
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 дек 2007, 18:10 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Преобразователь напряжения для аккумуляторов - вещь полезная. Позволяет "высосать" аккумуляторы. Сделан отдельным модулем, очень маленьким по габаритам. Вы можете применить его в самых разных батарейных или аккумуляторных конструкциях. Например, перевести свой Chronolite (http://www.airgun.org.ru/forum/viewtopic.php?t=14100) с "кроны" на акуумуляторы размера AA или AAA.

Для прибора на 4-х батарейках в самый раз преобразователь на микросхеме ADP1111.
Если конструкция питается от 2-х батареек, лучше использовать микросхему ADP1110.

Есть близкие аналоги, например, MAX856.

Дроссель для преобразователя, возможно, удастся найти готовый. Я наматывал сам. Вот чертеж каркаса катушки и рисунок печатной платы. Отверстий для крепления на печатной плате преобразователя нет - я наклеил ее на основную плату.


Вложения:
Катушка.png
Катушка.png [ 7.32 Кб | ]
ADP1111.png
ADP1111.png [ 2.78 Кб | ]


Последний раз редактировалось EagleB3 08 дек 2007, 20:06, всего редактировалось 5 раз(а).
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 дек 2007, 18:11 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Исходники компилировались в CodeVision AVR C v.1.25.7.

Код:
#define GudwinDebug
- это включение вывода данных в отладочный интерфейс SPI (программатор AVRIsp/stk500, http://gudwin.embedders.org/ ). Если его при компилляции не включать, то вывод пойдет в COM-порт, проинициализированный на скорость 19200 бод.

Старался комментировать все, что можно; может быть даже излишне подробно.
Исходники написаны так, что можно компилироваться и под ATMEGA8535 (на котором и собран хронограф), и под AT90S8535.
Достаточно закомментировать строчку
Код:
#define ChipMega

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

При программировании кристалла надо включить (запрограммировать) биты BODEN, BODLEVEL, SUT1 и распрограммировать (сбросить в "1") SUT0.

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


Вложения:
Комментарий к файлу: Исходные коды. Язык C (под CV AVR C).

Source.zip [14.16 Кб]



Последний раз редактировалось EagleB3 09 дек 2007, 00:37, всего редактировалось 11 раз(а).
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 09 дек 2007, 13:23 
Аватара пользователя

Регистрация: 10.07.2006
Сообщений: 284
Откуда: Москва
Дим, поздравляю! "Нашшша прелесссть" - эт я уже видел!

А вот теперь, перечитай свои посты, и напиши, пожалуйста еще один текст. Для простых смертных :) Типа "Основные технические характеристики" Но без ТЕХНИЧЕСКИХ подробностей :)

_________________
Мышки плакали, кололись, но... продолжали жрать кактус


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 09 дек 2007, 17:42 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
А какие характеристики интересны?

Ну, допустим, точность. Погрешность вносимая методологией измерений (подсчет времени заполнением интервала; у меня 1 тик таймера = 54,2нС) зависит от скорости пули и длины базы; на моей базе в 100мм:
- для скорости 200 м/с это 2см/с или 0,01%;
- для скорости 300 м/с это 5см/с или 0,015%.
КМК, даже для исследовательских целей это погрешность "никакая".
С учетом того, что с ростом длины базы погрешность уменьшается прямо пропорционально, и того, что исходный код открыт, можно совершенно свободно увеличивать базу (сделать ее 1м - точность улучшится в 10 раз), и откалибровать прибор можно тоже без труда.

Погрешности от загрязнения фотодиодов (в том числе и от того, что старт-пара и стоп-пара загрязнены по-разному) я оценить не могу. Не знаю как. Ну, допустим, что стартовая пара так сильно запачкалась, что время переключения увеличилось в пять (целых пять!) раз. А стоповая пара - чиста как первый снег зимой. Тогда задержка составит 20нс, а это - меньше половины погрешности от одного тика таймера, или
- для скорости 200 м/с это не более 1см/с или 0,004%;
- для скорости 300 м/с это не более 2см/с или 0,007%.
Может быть, более правильно оценить эту погрешность сможет Julbu. Вдруг картина вовсе не такая радужная, как это представляется мне.

Погрешности от изменения температуры... Да пропади они пропадом! Я просто не верю, что все это стадо погрешностей во всей их сумме вылезет за 0,1%, а точность округления результата (для отображения на 3-х разрядном индикаторе) =0,3% - это для скорости 330м/с.

Другие характеристики? Какие?
Масса/габариты, КМК, изрядно всем по барабану; да и зависят они от особенностей реализации. При желании можно сделать базу хоть 25мм, а индикатор и кнопки не ставить вообще - все выдавать в COM-порт. При этом за пару часов из USB-шнурка для мобильного телефона делается переходник на этот хронограф. И этот преходник, во-первых, организует работу с компьютером (палмом, ноутом) у которого нет COM-порта и, во-вторых, запитает хронограф от того USB-порта. И батареи с преобразователем напряжения тоже становятся не нужны.

Но лучше бы, конечно, не полагаться на изготовителя того USB-переходника, а сделать такой переходник самостоятельно. Это совсем не сложно; если кому-то будет интересно - могу выложить описание конструкции.

Могу структуру меню нарисовать. Если это кому-нибудь интересно.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 апр 2008, 17:31 
Аватара пользователя

Регистрация: 17.05.2006
Сообщений: 77
Откуда: Area 22
Арсенал: MR-512GR & Leapers 3-9x40
ИЖ-38п
Цитата:
Могу структуру меню нарисовать. Если это кому-нибудь интересно.

Нарисуй, интересно.

_________________
Пошёл в конструктора поиграть.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 24 апр 2008, 14:03 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Sky писал(а):
Нарисуй, интересно.

Пожалуйста!

Очень извиняюсь за то, что PNG такой специфисский. Вот так вот SnagIt вывод графики из Ворда перехватывает... :roll:
Я еще на всякий случай добавил схему в формате XML.


Вложения:
Комментарий к файлу: Схема меню в формате XML

MyBeauty_MenuXML.zip [9.11 Кб]

Комментарий к файлу: Схема меню в формате PNG (странно инвертированная)

MyBeauty_MenuPNG.zip [26.35 Кб]

Комментарий к файлу: Схема меню в формате WinWord

MyBeauty_Menu.zip [8.38 Кб]

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 24 апр 2008, 17:30 
Аватара пользователя

Регистрация: 17.05.2006
Сообщений: 77
Откуда: Area 22
Арсенал: MR-512GR & Leapers 3-9x40
ИЖ-38п
Цитата:
Очень извиняюсь за то, что PNG такой специфисский. Вот так вот SnagIt вывод графики из Ворда перехватывает...
Я еще на всякий случай добавил схему в формате XML.

Намана :)
А LCD не хотел к нему прицепить?

_________________
Пошёл в конструктора поиграть.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 25 апр 2008, 09:35 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Да у меня первый/отладочный вариант был с ЖКИ. Я еще туда замутил ручную корректировку базы (в тиках таймера). С тех же 4-х кнопок - выбор первого множителя (-10000, -1000.... +1000,+10000), потом выбор второго множителя (1...9); таким образом набиралась дельта (например, -73852), и потом дельта плюсовалась к текущему значению базы.

Просто у меня давно лежал без дела этот приемник - отлично подходящий по размерам корпус с батарейным отсеком под 4 батарейки "АА". Но в него отлично вписывался именно трехразрядный семисегментник.

А перевернуться на ЖКИ - элементарно. Есть, конечно свои особенности в динамической индикации и в индикации на ЖКИ, но...
Могу выложить проект с тем отладочным вариантом на ЖКИ, но только причесывать/оптимизировать я его уж не буду, сорри. Найду в архивах (должен он где-то быть...) и положу как есть. Но там тоже все с комментариями. ;)
Была там и живая модель; можно в Протеусе кнопки потыкать, по меню погулять, базу порегулировать.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 09 май 2008, 14:36 

Регистрация: 28.03.2008
Сообщений: 6
2 EagleB3
Собрал хрон по приведенной Вашей схеме в варианте LSD. Прошил прошивкой BaseLCD_chron.asm. Все заработало, правда пока без нормальных датчиков. Но как я понял, частота кварца изменена с 18.432 мГц до 11.059 мГц.
У меня к сожалению есть только 18.432. Не могли-бы Вы подсказать какие коэффициенты надо поменять чтобы восстановить 18 мгц частоту? Заранее благодарен.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 10 май 2008, 13:47 

Регистрация: 28.03.2008
Сообщений: 6
А еще несколько расстроило отсутствие моя родная русский язык. Я понимаю, что не на всех ЖКИ есть кириллица, но там где есть (ну в частности я использовал МЭЛТ MT–16S2R, со второй кодовой страницей. Немного помучался (я совсем недавно начал заниматься контроллерами), и вот родил корявый кусок прораммы который переключает кодовую страницу.
$asm
Declare Sub Waitt
LDI R20, 1000
ldi R16, &B00100000
ldi R17, &B00100100
ldi R18, &B10100000
ldi R19, &B10100100
Out Portc , R17
Call Waitt
Out Portc , R16
Call Waitt
Out Portc , R18
Call Waitt
Out Portc , R19
Call Waitt
Out Portc , R18
Call Waitt
jmp en

Waitt:
Dec R20
tst R20
brpl WAITT
ret

En:
$end Asm

В третьей строке в R20 загоняется задержка для кварца 5000000гц (пока отладка - поставил такой).


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 12 май 2008, 10:36 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
sgarris61 писал(а):
2 EagleB3
У меня к сожалению есть только 18.432. Не могли-бы Вы подсказать какие коэффициенты надо поменять чтобы восстановить 18 мгц частоту? Заранее благодарен.
У... Даже и не знаю что сказать. Я писал на Си, в среде CVAVR. И в какие константы ASM они выливаются - даже и не скажу. И исходника-то даже у меня под руками сейчас нет.
Ежели "на вскидку", то должны измениться:
- настройки UART;
- настройки процедур временных задержек (SUBOPT_);
- настройки таймера;
- коэффициент базы (дефаултный).

Мне кажется, проще и разумнее скачать/установить дистрибутив CVAVR (например, отсюда: http://www.roboforum.ru/viewtopic.php?f=2&t=1070) и работать с сишным исходником.

P.S. Нашел исходники. Править довольно много, КМК.
Главная муторность в том, что подбиралось "на ощупь" (цитирую сишный текст):
Код:
#define KbdScanAtt 0x05       //Делитель прерывания сканирования клавиатуры, 0x05h=86,398КГц при 11,059МГц
#define KbdScanFrq 0x53       //Частота сканирования клавиатуры, 0x53h=500Гц при 86,398КГц/11,059МГц

#define ShortBeep 100         //Количество полупериодов сигнала бипера
#define MiddleBeep 400        //Количество полупериодов сигнала бипера
#define LongBeep 1000         //Количество полупериодов сигнала бипера
#define BeepFRQ 100           //Длительность полупериода меандра бипера

eeprom long EEBaseVirt = 1105843;
const long BaseVirtInit = 1105843;


А в остальном... Странно, но изменения настроек частоты в CVAVR привели к очень малым отличиям в ASM. Для изменения с 11,059 на 18,432 надо:
Код:
строка 2439: LDI  R30,LOW(35) заменить на LDI  R30,LOW(59)
строка 3167: __DELAY_USW 0xACD заменить на __DELAY_USW 0x1200


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 12 май 2008, 11:30 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Как-то странно тут на форуме работает возможность редактировать свои посты... По таймауту? Поэтому предыдущий мой пост можно (и даже хорошо бы) не читать, а читать надо вот это:

sgarris61 писал(а):
2 EagleB3
У меня к сожалению есть только 18.432. Не могли-бы Вы подсказать какие коэффициенты надо поменять чтобы восстановить 18 мгц частоту? Заранее благодарен.
У... Даже и не знаю что сказать. Я писал на Си, в среде CVAVR. И в какие константы ASM они выливаются - не интересовался.

Главная муторность в том, что подбиралось "на ощупь" (цитирую сишный текст):
Код:
#define KbdScanAtt 0x05       //Делитель прерывания сканирования клавиатуры, 0x05h=86,398КГц при 11,059МГц
#define KbdScanFrq 0x53       //Частота сканирования клавиатуры, 0x53h=500Гц при 86,398КГц/11,059МГц

#define ShortBeep 100         //Количество полупериодов сигнала бипера
#define MiddleBeep 400        //Количество полупериодов сигнала бипера
#define LongBeep 1000         //Количество полупериодов сигнала бипера
#define BeepFRQ 100           //Длительность полупериода меандра бипера

Придется пересчитать/изменить начальное-дефаултное значение коэффициента базы
Код:
eeprom long EEBaseVirt = 1105843;
const long BaseVirtInit = 1105843;

Возможно (но весьма маловероятно) что на повышенной частоте кварца будет возникать переполнение таймера (при текущих установках). Думаю, достаточно будет всего лишь поправить эти BaseVirt.

А в остальном... Странно, но изменения настроек частоты в CVAVR привели к очень малым отличиям в ASM. Для изменения с 11,059 на 18,432 надо:
Код:
строка 2439: LDI  R30,LOW(35) заменить на LDI  R30,LOW(59)
строка 3167: __DELAY_USW 0xACD заменить на __DELAY_USW 0x1200

Может быть, половина тех коэффициентов, что перечислены в первом отрывке кода впоследствии перестала эксплуатироваться? Тогда бы CVAVR выдавал предупреждения...

Вот собранный в кучку проект, пересобранный на 18,432МГц. Но ничего не проверял. Просто заменил частоту в настройках компилятора и UART. Без гарантий запуска. В комплекте все, что потребно (КМК) для отладки в AVRStudio (включая *.COF).

Мне кажется, проще и разумнее скачать/установить дистрибутив CVAVR (например, отсюда: http://www.roboforum.ru/viewtopic.php?f=2&t=1070) и работать с сишным исходником. Заодно и с руссификацией/латинизацией дисплея будет попроще.


Вложения:
Комментарий к файлу: Переделано на 18,432. Но "на скорую руку", не тестировалось. Может быть заработает...

18.zip [89.24 Кб]

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 14 май 2008, 22:37 

Регистрация: 28.03.2008
Сообщений: 6
2 EagleB3
Спасибо. Буду пробовать. По результатам обязательно отпишусь. Хотя я в С дуб дубом, поэтому для меня Асм понагляднее будет. Сейчас пробую писАть прошивку на Bascom-AVR. Критичные ко времени функции можно оформлять вставками на Асме.
Обошел сегодня весь Митинский (правда приехал уже под занавес-многие уже закрылись), нигде не нашел "оригинальных" фото и ИК диодов. Взял какие-то китайские ИК излучатели на 40мВт и отечественные фототранзисторы ФТ-1 и ФТ-8. Хочу попробовать запараллелить фотоприемники чтоб получить бОльшую рабочую зону.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 15 май 2008, 10:15 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
sgarris61 писал(а):
Хотя я в С дуб дубом, поэтому для меня Асм понагляднее будет.
Дык, не вижу препятствий! Даже наоборот! Скомпилируйся на Си - получишь АСМ. И уже этот АСМ можешь отлаживать/править.

Цитата:
Критичные ко времени функции можно оформлять вставками на Асме.
Я об том задумывался. В конечном итоге я просто проверил ассемблерный текст, который сгенерировал компиллятор, не нашел там ничего предосудительного (впрочем, я не настолько хорошо знаю ассемблер) и успокоился. В конечном итоге, КМК, главное не то, чтобы вставка работала быстро, а то, чтобы она работала стабильно (без влияния внешних событий). Ну и чем меньше "стоповый" кусок быдет отличаться от "стартового" - тем лучше. "Синхронные" куски взамовычтутся из времени замера, а "не синхронные" - дадут постоянную погрешность.

Цитата:
нигде не нашел "оригинальных" фото и ИК диодов.
Я их тогда покупал в http://www.radel.ru.

Цитата:
Хочу попробовать запараллелить фотоприемники чтоб получить бОльшую рабочую зону.
Ты собираешься сделать рамочный датчик? Я над этим думал. Собирался сделать его на PIN-фотодиоде с широким углом, поставив на него щелевую бленду. И/или закрепив его по диагонали. Тогда одна шторка (при удаче... Экспериментировать надо...) будет образована одной парой диодов (или двумя парами). Схему можно попробовать взять Куэнтовскую, а еще лучше - Julbu'вскую (он делал, и нормально работала шторка на одной паре). Ее и прилагаю.


Вложения:
scheme.zip [141.82 Кб]

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 17 май 2008, 20:44 

Регистрация: 28.03.2008
Сообщений: 6
Спасибо за схемку. (Вот еще-б и прошивочку, а то лежит у меня похожий ЖК-индикатор...).
Только что приехал с Митино, взял аналог кр1056уп1 - TBA2800. Уже грею паяльник =).
Если с процессорной частью у меня особых проблем нет, то те датчики которые я пробовал, работают ненадежно.
Так что с датчиками еще придется поэксперементировать. Хочу опробовать идейку о применении в датчике лазера от указки, причем и фотоприемник и лазер стоят в одном направлении, а луч лазера должен отражаться от зеркала и попадать в фотоприемник.
Вот тут kuente выложил схемку viewtopic.php?f=35&t=23345, так у него вообще по пять фототранзисторов на каждый датчик. А щель, как мне думается - необходима, по крайней мере она будет снижать паразитную засветку.
Все, паяльник разогрелся...


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 19 май 2008, 11:45 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
sgarris61 писал(а):
Спасибо за схемку. (Вот еще-б и прошивочку, а то лежит у меня похожий ЖК-индикатор...).
Попробуй спросить у Julbu. И если есть вопросы по применению TBA2800 - его же. Его дивайс. Фото готового дивайса, которое он публиковал, я в ветке chronolyte выложил.

Цитата:
Вот тут kuente выложил схемку https://airgun.org.ru/forum/viewtopic.php?f=35&t=23345, так у него вообще по пять фототранзисторов на каждый датчик.
;) Есть еще одна ветка по куэнтовской схеме: http://talks.guns.ru/forummessage/24/319476.html. И судя по вопросам в той ветке, а самое главное - по ответам, с той схемой не все просто и не все гладко.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 20 май 2008, 13:39 

Регистрация: 28.03.2008
Сообщений: 6
Хорошо, попробую постучать Julbu в ПМ, может поделится прошивочкой. ;)

А с ТБА2800 вроде-б пока все понятно. Быстренько слепил референс схемку, вместо ИК-фотодиода воткнул ФТ-1. Импульс формирует на ура при разнесении датчика и излучателя до 30мм. Но все-же подключать надо именно фотодиод. При максимальном расстоянии (>=30) между излучателем и ФТ наблюдается дребезг на фронтах выходного импульса, а при подключении какого-то безымянного фотодиода такого явления не наблюдалось. КМК это связано с более пологой переходной хар-кой фототранзистора.

EagleB3 писал(а):
Есть еще одна ветка по куэнтовской схеме: http://talks.guns.ru/forummessage/24/319476.html. И судя по вопросам в той ветке, а самое главное - по ответам, с той схемой не все просто и не все гладко.

Ну там и не может быть гладко. Это-же рамочный датчик "для бедных" :) . (Там только количество фототранзисторов впечатляет, но никак не способ их подключения.) По уму на каждый датчик потребно ставить свой усилитель или логический элемент с ТШ вроде 555ТЛ2. А по выходам объеденять через диоды или использовать логику с ОК на выходе (ЛА8).
За выходные спаял Chronolite, благо при поездке на Митинский прикупил парочку ПИКов. Остальное нашлось в "закромах". Ну вобщем то-же хрон "для бедных". Заработал сразу, датчик на него слепил из бумажной трубки на сопливом клею . (Это от нетерпения, все хотелось как следует скорости своего Крокодила померять. :kalash: )
А хрон на Атмеге - это для души. Покопавшись все в тех-же "закромах", нашел DS18B20. Прикрутил к свободному порту, теперь он у меня еще и температуру меряет. Единственно в программе пока сумбур, не могу толком сообразить как лучше организовать меню и алгоритм работы.
Пока только вот что вырисовывается: (+-реализовано, *-еще нет)
Включение(+ :D )->Самотестирование(*)(причем на ИКсветодиоды подать два коротких отключающих импульса, разнесенных по времени для определенной базы - например для базы 100мм и НСП 200м/с - интервал 500мкс . Дисплей должен высветить - 200 мысов)->измерение температуры (+)и часов реального времени(* - но часовой кварц прикупил) и вывод их показаний в верхнюю строку->
->переход в режим измерения скорости (+)(пока сделал на внешних прерываниях - первый датчик прикручен к INT0 и запускает Таймер1, второй к INT1 - останавливает таймер.->при переполнении таймера - вывод сообщения об ошибке типа "Не сработал второй датчик" , а при отработке ИНТ1 без ИНТ0 - "Не сработал первый датчик"(+частично)->Если все в порядке то вывод номера измерения и скорости на дисплей(+)->Запись результата в ЕЕПРОМ(*)->Опять самотестирование, но уже сообщение выводится только при ошибке датчиков(*)->Обновление температуры и времени-> ну и опять переход в режим измерения скорости.
Может я чего упустил?
Да, еще я пока не понял как реализовать таймер реального времени на отдельном кварце. Вроде такая возможность у 8535 есть, но к каким выводам подключать часовой кварц?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 20 май 2008, 17:42 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Упустить - да нет, вроде все на месте.

sgarris61 писал(а):
->Самотестирование(*)(причем на ИКсветодиоды подать два коротких отключающих импульса, разнесенных по времени для определенной базы - например для базы 100мм и НСП 200м/с - интервал 500мкс . Дисплей должен высветить - 200 мысов)
Но при правильном железе я не вижу в этом смысла. Про это я уже писал. http://talks.guns.ru/forummessage/24/270209-0.html Но сделать, конечно, можно. Только вот... Что он будет мерять? Идеологически: он своими тиками задает промежуток гашения (реально - измеряет количество тиков), и своими же тиками измеряет продолжительность этого промежутка (реально - измеряет количество тиков)? Что он покажет? Погрешность преобразователей старт/стоп импульсов? Правильное железо - и нет смысла мерять. Это раз. И два - С какой точностью будет измеряна эта погрешность? КМК, она все равно раствориться в округлении до целого значения м/с .

sgarris61 писал(а):
часовой кварц прикупил) и вывод их показаний в верхнюю строку->

Да, еще я пока не понял как реализовать таймер реального времени на отдельном кварце. Вроде такая возможность у 8535 есть, но к каким выводам подключать часовой кварц?
Я не знаю такой возможности для 8535 (правда я не так уж хорошо знаю возможности 8535..) кроме как через выделение для этого отдельного таймера, с прерыванием и т.п. От такой реализациии (прерывание от часов во время счета скорости?!) пострадает точность измерения. Тогда уж лучше, КМК, добавить в схему DS1307 и опрашивать его по необходимости.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 02 июн 2008, 17:25 

Регистрация: 28.03.2008
Сообщений: 6
2 EagleB3
За наводку на ДС1307 спасибо (а то как-то отстал от жизни). Появилось свободное время, опять занялся Атмегой. Прикупил 1307, прикрутил - работает! Теперь осталось определиться с программным
обеспечением, ну в смысле на чем пИсать. Bascom-бейсик отличная вещь для быстрого опробования идей, прогу для опроса 1307 слепил за 10мин. с кофем и перекуром. Но конечный код выдает очень громоздкий. Дизассемблировал свою основную прогу(там уже прикручены процедуры опроса всей перефирии), и ужаснулся - раза четыре повторяется последовательность push-pop
r0...r31. Конечно можно "причесать" бейсиковый код, вот только он при при процедуре нех->дизассемблер->ассемблер перестает работать :shock: . На голом ассемблере, долго (довольно поверхностно я его знаю). Вот счас опробую CodeVision. Сразу-же первый затык. При создании проекта, определил порт ЖКИ.
Вывел в него стандартное Hello. Прошиваю - облом. Полдня ковырялся пока не догадался в ассемблерный листинг глянуть. Оказывается в стандартной процедуре Вижена ипользуется чтение из порта ЖКИ, а у меня вывод RW всю жизнь на земле сидел. Понравилось что Си выдает довольно компактный код, скорее всего остановлюсь на нем, тем более стандартных процедур на нем туева хуча. Вообщем сплошной копипаст.
Вот еще будет функция измерения скорострельности, правда отдельно от скорости (по срабатыванию только одного датчика). Пригодится наверное владельцам Дроздов и всяким-разным
пейнтболистам :D .
Еще такой вопрос. Владельцам ПСП нужен какой-то особый режим для настройки, только я не понял какой?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 02 июн 2008, 22:29 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
sgarris61 писал(а):
Еще такой вопрос. Владельцам ПСП нужен какой-то особый режим для настройки, только я не понял какой?
КМК, особый режим - не для ПЦП, а для СО. ПЦП от ППП отличается разве что более высокой (как правило) скорострельностью.

А вот в СО-пневме расширяющийся газ охлаждается. В результате водяной пар, имеющийся в воздухе, конденсируется. Это туманное (снеговое?) облако может искажать показания хронографа. Но как и на сколько - не знаю. Никогда не экспериментировал.

Опять же, если делать не надульник, а рамку - оно не критично.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 05 авг 2008, 20:53 
Аватара пользователя

Регистрация: 07.05.2008
Сообщений: 29
Откуда: Харьков
Арсенал: МР654К UP; Crosman 1377 UP,МР661К UP
EagleB3 писал(а):
Вот собранный в кучку проект, пересобранный на 18,432МГц. Но ничего не проверял. Просто заменил частоту в настройках компилятора и UART. Без гарантий запуска. В комплекте все, что потребно (КМК) для отладки в AVRStudio (включая *.COF).


Сегодня прошили мне его в железо.при включении без датчиков выдает " uu"(сегментыF,G,B),иногда ,при дребезге питания -"uuu"
:cry: .Клавиатура не опрашивается ,на выводах 37-40 нули. Нули также на входах датчиков (подтяжка к питанию через резистор ничего не меняет в индикации) ,низкий уровень на выходе управления светодиодами :) .На выходе RS232-высокий постоянно.
В конструкции стоит кварц 18.432М,светодиодный индикатор и Атмега 8535 (DIP-40).Я буферировал выходы Sound_ctrl и 0-Led_ctrl транисторными ключами.
В связи с этим вопросы:
1.Прошивка "18.зип" - под светодиодный индикатор?
2.Какие еще настройки устанавливать при прошивке,кроме перечисленных? компилировалось IAR и CVavr,прошивалось ПониПрогом.
3.Ток потребления -около 100 мА,Нужно ли устанавливать последовательно с коллекторами транзисторов анодов индикатора ограничительные резисторы?
EagleB3 ,откликнись,нуждаюсь в твоей помощи(это вообще мой первый опыт работы с Атмегой :oops: )!

Чтобы поддержать проект ,выкладываю рисунок ПП (в SprintLayout4)для покупного корпуса 100х62х25 мм.Индикатор- А553Е,стабилизатор внешний,Разьем СОМ используется как для подключения внешнего датчика,так и для пeредачи данных по RS232


Вложения:
Комментарий к файлу: печатная плата в SprintLayout.

beauty_chrono.rar [16.73 Кб]

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 06 авг 2008, 16:10 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Glok23 писал(а):
В связи с этим вопросы:
1.Прошивка "18.зип" - под светодиодный индикатор?
2.Какие еще настройки устанавливать при прошивке,кроме перечисленных? компилировалось IAR и CVavr,прошивалось ПониПрогом.
3.Ток потребления -около 100 мА,Нужно ли устанавливать последовательно с коллекторами транзисторов анодов индикатора ограничительные резисторы?


1. Нет, под ЖКИ 16x2 44780-совместимый. Я не расчитывал, что конструкцию будут повторять "как есть" и готовую прошивку под мою схему выложить не догадался. Ну, постараюсь сегодня же слить прошивку прямо с хронографа и выложить сюда.
2. Да вроде больше ничего такого. Или оно для меня настолько очевидно, что я его считаю не достойным упоминания. Тогда это самый тяжелый вид бага, его можно искать долго... ;)
3. Не обязательно. Хотя и можно. Но в любом случае - на ток потребления тут ориентироваться не следует. Ток потребляют все, а речь ты ведешь только об индикаторе. Самое простое - посмотри по даташиту номинальный ток через твой индикатор (там указан ток через отдельный сегмент), подключи один сегмент индикатора (любой... лучше точку - если где-то ошибешься и сожжешь ее - не будет обидно, ибо точки в "прелести" не используются) через миллиамперметр + переменный резистор и увеличивай ток до номинала. Оцени яркость свечения сегмента. И сравни с тем, что есть у тебя при работе хронографа.

У меня, например, (субъективно!) яркость при индикации раза в 4 меньше, чем при номинальном токе. Без дополнительных резисторов. Если беспокоишься, то в исходнике, кажется, есть закомментированный блок "супердинамической" индикации (одновременно включено не более одного сегмента на всем индикаторе). Тогда меняя время индикации одного сегмента ты сможешь менять яркость. В некоторых пределах - пока индикатор будет работать в режиме импульсного тока через сегмент, ты будешь регулировать ширину импульса. Выведешь ширину за этот режим - получишь скачкообразное увеличение яркости.

Да! Коли зашла речь про индикацию. На время замера (в обработчике прерывания от старт-импульса) можно отключать индикацию вообще. И включать после окончания замера (в обработчике прерывания от стоп-импульса и в обработчике прерывания по переполнению таймера). Если этого не делать, то иногда будет возникать эффект повышенной яркости свечения одного из сегментов в индицируемом числе (вот как раз из-за выхода ширины импульса за "импульсный режим" - импульс будет удлиннен на время счета).


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 06 авг 2008, 22:50 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Вот прошивка и расстановка фузов. В архиве:
- flash.hex = файл для прошивки ROM;
- eeprom.eep = файл для прошивки EEPROM;
- FuseBits.png = два скриншота с пояснениями.

Если Вы будете программировать микроконтроллер из интерфейса CVAVR, то советую работать в такой последовательности:
- Прочитать Fuse Bits из микроконтроллера (Read -> Fuse Bits). Если в контроллере еще никто не ковырялся, там будет фабричная установка. Пример результата - левое окошко на скриншоте;
- Скопировать прочитанное в установки (нажать кнопочку "Yes" - на левом скриншоте);
- Фузы, обведенные зеленой рамкой у Вас, скорее всего, будут точно такими же, как на моем правом скриншоте. Если нет, то ОЧЕНЬ СОВЕТУЮ поставить их по моему образцу.
- Поставить фузы (обведенные на правом скриншоте синей рамкой) по моему образцу;
- Запрограммировать фузы (Program -> Fuse Bits). Это достаточно сделать всего один раз.
- Загрузить в оболочку ROM (File -> Load FLASH);
- Загрузить в оболочку EEPROM (File -> Load EEPROM);
- Запрограммировать микроконтроллер (Program -> All. Или Program -> FLASH, а затем Programm -> EEPROM).

Если что-то вызывает сомнения, можно проверить результат:
- прочитать ROM из камня (Read -> FLASH);
- сохранить ROM в файл (File -> Save FLASH);
- прочитать EEPROM из камня (Read -> EEPROM);
- сохранить EEPROM в файл (File -> Save EEPROM)
- сравнить (любым способом, например, с помощью утилиты fc.exe, которая имеется в микрософтовских ОС еще со времен MS DOS) попарно то, что вы заливали в микроконтроллер и то, что из него потом прочиталось.

Примечание: если Вы сами компилируете программу в CVAVR, то в результате компиляции будет создано не два файла (*.hex и *.eep), а один только *.hex. Он содержит в себе и FLASH, и EEPROM. Заливать его можно через "File -> Load FLASH" + "Program -> FLASH".


Вложения:
Комментарий к файлу: Прошивка для микроконтроллера и расстановка фузов

proshivka.zip [53.86 Кб]

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 авг 2008, 10:36 
Аватара пользователя

Регистрация: 07.05.2008
Сообщений: 29
Откуда: Харьков
Арсенал: МР654К UP; Crosman 1377 UP,МР661К UP
Попробовал подключить "световую шторку".На входах 16 и 20 атмеги осциллографом видны положительные импульсы амплитудой 3,,,4В, длительностью приметно 0,2,,,0,5 мс с затянутым до 2,,,3 мс спадом - сигналы пулек (проверялось стрельбой непрозрачными пластиковыми шариками 6 мм из китайского игрушечного пневмата :) ).Хрон их не видит.Собрал имитатор импульсов- на полоске фольгиированного гетинакса 2 поперечные дорожки шириной 5 мм с расстоянием между ними 10мм,быстро провожу зачищенным плюсовым проводником через дорожки- хрон не видит и такие ,достаточно уверенные импульсы с "прямыми"фронтами.В связи с этим вопросы:
1.Можете предложить имитатор сигналов датчика ,для проверки входных цепей хронографа?Какой должна быть примерно длительность и период следования импульсов?
2.При включении на индикаторе появляется "n-n", при нажатии любой из кнопок появляется "-SP".Хрон готов к измерениям?
3.Предусмотрена ли индикация об ошибках?непересечение неиспровность датчиков,вроде бы тут об этом писалось,а я ничего так и не увидел :(
Пробовалась прошивка предыдущая и (сегодня) была прошита новая.
Обе прошивки не увидели сигналы имитатора.
4.Какую минимальную скорость может измерять хрон? Может ,я не смог превысить некий порог ,выше которого хрон начинает мерять?
Надеюсь на Ваши ответы :)


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 авг 2008, 17:50 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Как много вопросов... И все такие разные...
1. Во-первых, имитатор ОБЯЗАТЕЛЬНО должен корректно имитировать отключение излучателей.
Во-вторых, насчет временных характеристик могу только предложить почитать даташит на микроконтроллер. Там описаны характеристики компаратора входов внешних прерываний. У меня таких проблем не возникало. Я для отладки просто понижал частоту счета таймера и у меня измерялось "нечто" при падении сквозь надульник кусочка латунного стержня.
В-третьих, насчет времен - хрон расчитан на измерение от 1 до 65535 тиков, а один тик = 1/18432000 секунды (величина, обратная частоте кварца ). Так что измеряются интервалы времени от 0,54 микросекунды до 3,556 миллисекунды.
Изменение уровня фиксируется, если изменение сохраняется в течение 4-х тиков (это к вопросу о длительности импульса; минимальная длительность, стало быть, = 4*0,54 микросекунды).
Просто из опыта эксплуатации: Как-то после сборки "мурка" у меня зверски дизельнула и хрон показал больше 600 м/с (кажется, 624 или 634).
2."n-n" - что-то инвалидное. Похоже на "Постоянная засветка" (т.е. нет спада на старт-стоп входах при гашении излучателей в ходе самопроверки). Но даже в этом случае индикация должна быть немножко другая. "-Sp" - при нажатии любой кнопки нормально. Посмотри на описание структуры меню - я ее выкладывал. Еще это "n-n"похоже на "Паразитная засветка соседом".
3. Загляни в исходники, точнее - в файл symbolset.c Все описано там. А еще лучше - собери программатор, включи
Код:
#define DBG_Check_L2

- и хрон тебе всю контрольно-отладочную информацию выдаст по RS232 в терминал на чистом русском языке (см. исходник checks.c).
4. Минимальная скорость - порядка 28 м/с. На этой скорости (или меньшей) произойдет переполнение 16-ти битного счетчика. Индикатор покажет "OFL" (OverFLow).

Вообще по поводу "готов / не готов" - самопроверка оптопар идет если не после каждого выстрела (сейчас уже не помню), то после каждого входа в режим измерений - обязательно. Если в ходе самопроверки есть ошибка - в режим измерения хронограф не пойдет. Просто не будет включать излучатели, чтобы попусту не сажать батареи. Следующая проверка будет при входе в меню, выборе режима "-Sp" (SPeed) и нажатии кнопки Enter. Самопроверка элементарная - когда зажгли излучатели, приемник должен дать высокий выход; погасили излучатели - низкий. Проверка ведется раздельно для старт- и стоп-пары, но излучатели зажигаются/гасятся всегда оба одновременно - в нынешней модификации они у меня включены последовательно. Поэтому я даже выдачу ошибки "засветка соседом" вроде как исключил. Во всяком случае, собирался исключить. Но именно ВЫДАЧУ ошибки, а не символ этой ошибки из EEPROM.

Хочешь сымитировать надульник при проверках - возьми оптроны, и включи так, чтобы про включенном излучателе был высокий выход, а при выключенном - низкий. И управляй излучателями оптронов от хрона.
Но ежели по-человечески - то программно проверить/настроить хрон - это детские игрушки. Правишь код - и вся любовь. Например, чтобы отключить режим самопроверок, достаточно раскомментировать строчку
Код:
//#define No_OptoCheck       //Не проводить проверку оптопар


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 авг 2008, 18:03 
Аватара пользователя

Регистрация: 16.09.2006
Сообщений: 306
Откуда: Москва, РФ
Glok23 писал(а):
Попробовал подключить "световую шторку".На входах 16 и 20 атмеги осциллографом видны положительные импульсы амплитудой 3,,,4В
Мииинуточчччку.... "3,,,4В" - это что? Высокий 4В, низкий (при пролете пули) 3В?
На это ATmega даже не почешется, КМК. Ты ей дай честные TTL уровни...
Или кури даташит. Может быть там как-то и можно настроить компаратор на 3,5В, но я этого этого делать никогда не пробовал и как это сделать - не знаю...

Есть книга Евстифеева "Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL", ISBN 5-94120-053-6. По сути это переведенный даташит. Очень не плохая книга! Можно найти в сети в формате DJVU. Во, вот тут есть: http://lord-n.narod.ru/walla.html


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 авг 2008, 20:27 
Аватара пользователя

Регистрация: 07.05.2008
Сообщений: 29
Откуда: Харьков
Арсенал: МР654К UP; Crosman 1377 UP,МР661К UP
EagleB3 писал(а):
Как много вопросов... И все такие разные...
Я для отладки просто понижал частоту счета таймера и у меня измерялось "нечто" при падении сквозь надульник кусочка латунного стержня.

А можно просто понизить частоту кварца,запаяв на время ,например,4МГц кварц?Просто программатор у меня на работе,а попаду я туда в понедельник только... :)
EagleB3 писал(а):
Самопроверка элементарная - когда зажгли излучатели, приемник должен дать высокий выход; погасили излучатели - низкий. Проверка ведется раздельно для старт- и стоп-пары, но излучатели зажигаются/гасятся всегда оба одновременно - в нынешней модификации они у меня включены последовательно.

Теперь многое проясняется.Я вчера в спешке подключил излучатели напрямую к питанию,не через ключ-они светили постоянно.Кроме того ,использовался прямой(не инверсный )выход ТВА2800,а там даже при хорошей засветке висит низкий уровень.Тогда возможно,ошибка при самопроверке и "зарубает" мне режим измерения.Мне видимо ,будет проще отключить самопроверку ,как Вы предлагаете ,посколько выходной сигнал ТВА (даже инверсный,не важно) появляется синхронно с включением питания ,и не зависит от того,есть постоянная засветка фотодиодов или нет.Или коммутировать питание ТВА синхронно с запиткой излучателей :) .Всё это проделаю в понедельник.
EagleB3 писал(а):
Ты ей дай честные TTL уровни... .

Пожалуй ,поставлю компаратор,подобный Вашему,который у Вас стоит после усилителей фотодатчиков,мне самому эти слишком затянутые спады не нравятся.Но прежде попробую покрутить обвязку ТВА ,может ,удастся что-то сделать.Насчет 3...4В - имелась в виду амплитуда положительного одиночного импульса при пересечении световой шторки непрозрачным предметом.Ведь ,повторюсь,в ТВА у меня был использован неинверсный выход.
Спасибо за помощь,за подробные ответы- надеюсь,еще кому пригодятся :) .
P/S.Вот так выглядит индикация моего хрона при подаче питания,с неподключенными датчиками .Вероятно.это индикация ошибки засветки фотоприемников?поскольку в описании меню такой вид индикации неупоминается...


Вложения:
Комментарий к файлу: Получилось лучше,чем псевдографикой :-)

EIndication.jpg
EIndication.jpg [ 8.49 Кб | ]
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 134 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

Перейти:  
POWERED_BY
Русская поддержка phpBB