Airgun.Org.Ru
https://airgun.org.ru/forum/

ChronoAVR v2 схема, программы
https://airgun.org.ru/forum/viewtopic.php?f=35&t=38507
Страница 1 из 8

Автор:  hrundeel [ 16 авг 2010, 13:22 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

На суд общественности - очередной хрон. Схемотехника идентична хронолайту :)


Что есть:
1. База датчиков 64мм
2. 120 или 250 результатов измерения до 6553,5 м/с.
3. USB-подключение к компу, 2 кнопочки, 3 разрядный индикатор (с индикацией до 3999 м/с с запятыми для тысяч, при скорости <100 м/с индицируются и десятые доли). Ну и поддержка в эксклюзивной версии программы mironov'а :)

Принципиальная схема пока не отрисована - лень.

Элементная база:
uC: ATmega48PA-AU, ATmega88P и аналоги TQFP32
Кварц на 12мгц (минимальная скорость измерения 12м/с)
Индикатор BA56-12SRWA или BT-M51DRD.
Конденсаторы 0805 0.1uF на шины питания, электролит ~10uF после стабилизатора.
Конденсаторы 0805 18-22pF на кварц.
Токоограничительные резисторы 0805 240 Ом для индикатора.
USB-UART FT232RL.
Стабилизатор LP2950ACZ-5.0G@ONS (в крайнем случае 78L05, распиновка идентичная).

Печатные платы в Sprint Layout под корпуса G1200B (рекомендую этот) и G01B.

Если кто подсобит - буду рад :) Сейчас довольно некрасиво обрабатываются нажатия кнопок, и есть вопросы по измерению CO2, возможны косяки.

Вложение:
Комментарий к файлу: Печатные платы и программы ChronoAVR V2

ChronoAVR V2.rar [560.27 Кб]


Автор:  hrundeel [ 16 авг 2010, 21:20 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

Наконец-то полностью поправил отработку при ложных срабатывания (в том числе от CO2). Ну и по-мелочи переписал. Подсмотрел у EagleB3, и перенес на свои реалии.

Прошивка SW:2 внутри, как и прога.

Вложения:
Комментарий к файлу: Схемы и печатные платы ChronoAVR V2. SW:2.

ChronoAVR V2 16.08.2010.rar [558.26 Кб]


Автор:  nicholas89 [ 17 авг 2010, 09:04 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

интересная штука. вот бы схему ещё...
мда надо освоить програмирование атмег... кстати с СО2 нормално работает? хочу попробывать такую игрушку.

Автор:  hrundeel [ 17 авг 2010, 10:04 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

Сейчас должно нормально работать. По-крайней мере ложных срабатываний не должно быть (был косяк - не чистил раньше флаг прерывания, хотя о существовании начинал догадываться) =) Если пуля достигнет первого датчика первой (а не облако СО2), то результат даже точный будет.

Особого смысла в схеме там нет. Подключение датчиков такое же как в хронолайте, выводы под онные на плате есть. Будет время - отрисую.

Автор:  nicholas89 [ 17 авг 2010, 17:28 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

а чем проц прошить такой?

Автор:  hrundeel [ 17 авг 2010, 18:39 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

Любым avr-совместимым программатором :) Благо на плату выведены нужные сигналы в виде BLS-контактов.

Я шью USBasp:
http://easyelectronics.ru/usb-programma ... sbasp.html

Есть вообще простые программаторы, но у меня они не заработали:
http://myrobot.ru/stepbystep/mc_programmer.php
http://www.msevm.com/main/prog/simple/index.htm
http://electronics-diy.com/avr_programmer.php

Точнее, программатор для параллельного порта заработал у меня на P1-166, что позволило зашить микроконтроллер для USBasp. А дальше уже понеслось =)

Автор:  mironov [ 17 авг 2010, 18:49 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

hrundeel писал(а):
...Ну и поддержка в эксклюзивной версии программы mironov'а :)...

больше не эксклюзивной :), добавил viewtopic.php?f=35&t=21286

Автор:  hrundeel [ 17 авг 2010, 19:53 ]
Заголовок сообщения: 

:) Ну так, из занудства - поддержка там просто ChronoAVR (а не ChronoAVR V2). Протокол обмена вряд ли будет меняться, а вот версии хронографов - есть вероятность. V2 - это просто текущая модификация. V1 вообще в единственном варианте существует :) Схемотехнически отличается, а на деле - та же штука.

Автор:  mironov [ 17 авг 2010, 21:37 ]
Заголовок сообщения: 

а возможно ли менять базу при програмировании?

Автор:  hrundeel [ 18 авг 2010, 10:41 ]
Заголовок сообщения: 

Можно. base_timer прямопропорционально базе.

1. В самой программе:
#ifdef FAST
unsigned char timer_div=1; // делитель таймера, 1 - на 12мгц, 2 - 1.5мгц, 3 - 187.5кгц, 4 - 46.875кгц
unsigned long int timer_base=7680000; // база в формуле вычисления скорости - делимое
#else
unsigned char timer_div=2; // делитель таймера, 1 - на 12мгц, 2 - 1.5мгц, 3 - 187.5кгц, 4 - 46.875кгц
unsigned long int timer_base=960000; // база в формуле вычисления скорости - делимое
#endif

2. В еепром с самого начала:
eeprom unsigned char eeprom_sign; // сигнатура массива
eeprom unsigned char eeprom_timer_div; // делитель таймера
eeprom unsigned long int eeprom_timer_base; // базовое число таймера
...
т.е. ячейка 1 - делитель
2..5 - базовое число.

Автор:  MAXKIT [ 30 авг 2010, 22:48 ]
Заголовок сообщения: 

hrundeel, версию на LCD мог бы написать?

Автор:  hrundeel [ 30 авг 2010, 23:43 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

С lcd еще не возился. Пока что не до нее, в поте лица штампую эти хронографы :) Исходники есть - умным людям CVAvr в помощь ;) Впереди еще повозится с рамочными датчиками для онного, времени просто катастрофически не хватает.

Ну и вот текущее состояние печатных плат, прошивки (для mega88 теоретически могла возникать ошибка, поправил):
http://depositfiles.com/files/n8fesmstw

Автор:  nicholas89 [ 07 окт 2010, 06:39 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

hrundeel - а проблему с СО2 решили? у меня есть мысли но пока ещё не проверил. только готовлю хрон новый, на мега32-16ау, под жки. хочу трубку, и очень хочу мерить СО2. просто есть у товарища дрозд, а он прямо таки бредит как его померить хочит.

Автор:  hrundeel [ 07 окт 2010, 12:31 ]
Заголовок сообщения: 

А проблемы с CO2, в общем и не было. Был программный глюк, который мог приводить к зависанию хронографа - но еще до запуска в серию.

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

При измерении со2 пистолетов не увидел ничего необычного, по скорости было очень похоже на первый вариант сценария (daisy 5501 выдавало 103-110 м/с шариком).

Было бы очень любопытно посмотреть на ваш хрон ;) особенно на библиотечку ЖКИ и схемотехническое решение. У меня-то руки не доходят...

Автор:  nicholas89 [ 07 окт 2010, 13:41 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

думаю недельки через две появится первый сырой вариант. жки взял MT-16S2H-2YLG
просто они есть в продаже в ближайшем магазине. он с русским языком. проц 44780 совместимый. питать сеорее всего буду от лилон аккумулятора. хочу сделать маленькое устройство. труба как всегда будет из армированого полипропилен, внутринним диаметром 13мм. это отлично подходит под стволы ижмеха. про остальных пока незадумывался.
а касательно прошивки если я правельно понял, то хронолайт мерил по фронт-спаду импульс. если мерить стого по фронту то мы избавимся от зависания. и получим точный результат в случае если пуля полетит первой. интересно будет померить оцилом, разницу затемнения датчиков между летящей пулей и летящим снеговодогазом))). если она большая можно компаратор подстроить именно под пулю. но это только мысль. вобщем щас соберу основу, а там будет видно.
http://dl.dropbox.com/u/9860676/MT-16S2H-2YLG.pdf на ссылке описание к ЖКИ

Автор:  hrundeel [ 07 окт 2010, 16:20 ]
Заголовок сообщения: 

Не, у меня тоже по фронт-спаду. Просто забывал сбросить флаг прерывания перед разрешением прерываний. А это ВНЕЗАПНО могло приводить к переполнению стека под вектора прерываний со спецэффектами.

Глядя на символьные индикаторы хочется биться головой из-за размеров их печатной платы... Но интересно все-равно будет посмотреть :)

Автор:  nicholas89 [ 07 окт 2010, 17:36 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

я вот незнаю есть ли в продаже индикаторы от нокия 3310. они гораздо меньше. но с ними сложнее. русского они незнают. хотя его можно загнать руками. надо по карифанам поспрошать, которые телефоны чиняють.

Автор:  julbu [ 08 окт 2010, 11:59 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

nicholas89 писал(а):
я вот незнаю есть ли в продаже индикаторы от нокия 3310. они гораздо меньше. но с ними сложнее. русского они незнают. хотя его можно загнать руками. надо по карифанам поспрошать, которые телефоны чиняють.


Они не то что русского не знают, они вообще ничего не знают ибо тупо графические. Вот пример применения такого индикатора. Ручками шрифт в LCDicon нужно сделать, ну и программу вывода написать.

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

Автор:  hrundeel [ 08 окт 2010, 14:34 ]
Заголовок сообщения: 

Это точно :)

Код вами на чем был писан? В какой объем влезает, что бы примерно сориентироваться?

Автор:  Wisky [ 22 окт 2010, 20:15 ]
Заголовок сообщения: 

Простите, я таки не понял, а схема будет?

Автор:  hrundeel [ 22 окт 2010, 23:15 ]
Заголовок сообщения: 

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

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

Автор:  Wisky [ 23 окт 2010, 15:58 ]
Заголовок сообщения: 

hrundeel писал(а):
если поделится кто исходником схемы под хронолайт - то будет. мне лень с нуля рисовать. либо не ждите, а нарисуйте сами - и выложите на благое дело.

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


Есть схема, хронлайта на PIC, нарисованная в sPlan. Если она устроит, то забирай и редактируй. В схему внесены изменения с учетом используемых компонентов (другой дешифратор и индикатор).

На данный момент имею АTmega8535 в корпусе DIL40. а не PLCC Так же и индикатор имеет другую цоколевку. Планирую собрать этот хронограф на макетке, и поэтому лучше держать перед глазами схему, а не печатку. Слишком много различий, все в голове не удержишь.

Вложение:
cronlite.rar [4.71 Кб]


Автор:  hrundeel [ 23 окт 2010, 16:22 ]
Заголовок сообщения: 

О, спасибо. Постараюсь выкроить время, и перерисовать.

Собственно, поскольку в ChronoAVR выкинут дешифратор, транзисторы для индикатора, то схема проще и компактнее. И в программной реализации более удобная (можно сделать так, как хочется).
А благодаря переопределениям в #define, то можно вешать на любой свободный In/Out.

Для макетки - смысл в принципиальной схеме? Кварц - в типовой схеме подключения (12мгц). Подтянут ресет через 10кОм. Фильтрация питания через 0.1uF около ножек питания. 2 кнопки с подтяжкой через 10кОм по типовой же схеме (#define KEY_MODE, #define KEY_PC).

Индикатор с ОА подключается сегментами через резисторы ~200 ом, а анодами напрямую к выходам.

Светодиоды у меня подключены последовательно через резистор 180 Ом к одной из ног (#define SENSOR_LED). Фототранзисторы - с подтяжкой к земле через 1 кОм как на схеме хронолайта и к ногам SENSOR_GATE1, SENSOR_GATE2.

Дольше писать, чем паять =)
Ну да, мне стыдно, но хроноавр тупо собираю по обозначениям на печатной плате, и подглядываю в хронолайтовскую же схему. ;)

Автор:  Wisky [ 09 ноя 2010, 01:26 ]
Заголовок сообщения: 

hrundeel подскажи, где засада. "собрал" твою схему в Proteus - работает нормально. Затем сделал разводку под свой чип (ATMega88-20PU DIL28) и дисплей, преопределил в программе порты - стало показывать ерунду. Одни сегменты не высвечиваются, другие светятся, когда не надо.
Я правильно понял, что назначения портов определяются в этой части программы?

Цитата:
// порты датчиков
#define SENSOR_GATE1 PIND.2 // вход 1го датчика
#define SENSOR_GATE2 PIND.3 // вход 2го датчика
#define SENSOR_LED PORTD.4 // выход - включаем подсветку

#ifdef VERSION2
// для ChronoAVR2

// порты кнопочек
#define KEY_MODE PINC.3 // вход кнопки Mode/Clr
#define KEY_PC PINC.2 // вход кнопки PC

// порты дисплея
#define SEG7_CA0 PORTB.1
#define SEG7_CA1 PORTB.0
#define SEG7_CA2 PORTD.5
/*
#ifdef SEG7_4DIGITS
#define SEG7_CA3 PORTD.6 // временно не надо.
#endif
*/

#define SEG7_A PORTD.6
#define SEG7_B PORTB.2
#define SEG7_C PORTB.4
#define SEG7_D PORTC.0
#define SEG7_E PORTC.1
#define SEG7_F PORTD.7
#define SEG7_G PORTB.3
#define SEG7_H PORTB.5

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

Автор:  hrundeel [ 09 ноя 2010, 02:32 ]
Заголовок сообщения: 

Да. Именно там переопределения. Но нужно смотреть, определена ли VERSION2 - и соответственно в нужном разделе определения портов ввода-вывода перебивать.

И! Естесственно, надо правильно будет еще перебить в main() установки ввода-вывода. Коие, вероятно, для вас будут другими (проще перегенерировать эту часть проекта во временном проекте каком-нить).

Четвертый символ - там есть определение, отвечающее за 4сегментный - SEG7_4DIGITS. Но, поскольку кусок этот прописывался чисто теоретически - "на будущее", то вам придется разбираться самостоятельно :) В частности, вероятно, придется модифицировать функции, передающие данные в буферную переменную.

PS Можно проект в протеусе для оригинального проекта попросить? А то я в нем не разбираюсь :)

Автор:  Henk [ 09 ноя 2010, 13:46 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

Можно ли перепрошивать ChronoAVR, подключив к нему уже имеющийся FT232R по схеме Изображение
http://easyelectronics.ru/skorostnoj-avr-usb-programmator-na-ft232rl-bez-vspomogatelnogo-kontrollera.html

Кто-нибудь пробовал? Было бы удобно. И програмировать, и считывать массив по usb.

Автор:  julbu [ 09 ноя 2010, 16:16 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

В PICи некоторые можно бутлоадер закачать, у AVRов не знаю, но есть наверное тоже возможность.

Автор:  Henk [ 09 ноя 2010, 16:21 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

julbu писал(а):
В PICи некоторые можно бутлоадер закачать, у AVRов не знаю, но есть наверное тоже возможность.

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

Автор:  hrundeel [ 09 ноя 2010, 19:36 ]
Заголовок сообщения: 

Ооо, мысль хорошая, кстати. Очень хорошая. Можете попробовать навесным монтажом.

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

4 проводка - и вуа-ля. Клеево...

Основная проблема, наверное, в том, что прошивка за последние 2.5 месяца не обновлялась :)

Автор:  Wisky [ 11 ноя 2010, 01:34 ]
Заголовок сообщения:  ChronoAVR v2 схема, программы

hrundeel, держи свой хрон в протеусе.
Несколько комментов.
1. поскольку в базе данных отсутствуют некоторые элементы, то в место FT232RL подключен вируальный терминал, а фототранзисторы заменены на входящие одиночные импульсы с задержками, сответствующими, скорости 202 м/с. "Выстрел" происходит через 6 сек. после запуска эмуляции.
2 Чип в корпусе TQFF заменен на аналогичный в корпусе PDIL28. Номера выходов на индикатор изменены, в соответствии с моим дисплеем, соответственно переназначены порты в прошивке.
3. Для эмуляции работы прибора внешний кварц не нужен, поэтому он на схеме отсутствует. Частота МК устанавливается в настройках.
Вложение:
CHRONAVR.rar [73.11 Кб]


Страница 1 из 8 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/