Спасибо за толкование. С массивом да, не проверну математику, решать буду в лоб, систему из трех уравнений окружности.
"Или 150 - диаметр, а 40 толщина?" Да, чтоп пуля 5,6 не гнула мишень. Ина образующей поместился пьезик. С ними тоже придется эксперементировать. Чтоп успел фронт дать нужной длительности.
А Вы для начала массив просто выводите в сериал, посмотрите на него в блокноте, думаю сразу и поймете с чего начинать его обработку.
Я глянул дизассемблер, там немного сложней получится. Из за особеностей системы команд за три такта выполнятся только первые 64 отсчета. Потом компилятор начинает "мудрить". Ассемблерные команды asm volatile (" IN r24, 6"); asm volatile ("ST Y+, r24"); вместо *p=PINC;p++; избавят от такого. Наверно лучше все это оформить ассемблерной вставкой.
Вот не можешь ты, чтобы всем не лизнуть. ))))))))))))))))
Цитата:
но хорошо бы иметь таймеры с несколькими, по числу датчиков + 1, каналами захвата. Соотвественно, для трех датчиков потребуется четыре канала.
Колпак клоунский одень! Нахрен там 4 канала не нужны! И диоды тоже нахрен не нужны! Учи матчасть! ))))))))
Цитата:
Прелесть данной схемы в том, что все действия выполняются аппаратно и точность зависит только от точности задающего генератора, тактирующего МК. Нет проблемы и с тем, если сигналы приходит с нескольких датчиков одновременно. Каналы у таймера автономные и им пофиг, что там происходит где-то еще. Появился фронт импульса, логика канала переписывает значение счетчика таймера в свой регистр. Все, время события зафиксировано.
Управляющая программа только запускает таймер и ждет, когда тот сообщит, что все данные захвачены. Остается считать полученные значения и произвести необходимые расчеты.
А вот это похвально! Только программа нахрен ничего не должна ждать! Входной импульс от любого датчика запустит таймер. По переполнению можем вытаскивать данные. Прога ваще в пустом вечном цикле крутиться может.
Использование DMA не дает здесь существенных выгод. Если бы нужно было отследить попадание очереди из какого-нибудь "Узи", то еще куда ни шло, а пульки из винтовки считать, МК и так будет большую часть времени пустые циклы гонять.
Действительно нахрен не нужно, но по другой причине. Ну разве что если Ф4 прикрутить, да и то - фигня всё это!
Только сначала лоб зелёнкой себе намажь! ))))))))))))))))))
Цитата:
На STM с аналогичным подходом через DMA можно и выше цифры сделать
Ну сделай, посмеёмся! )))))))))))))))
Цитата:
На таймерах думаю малоперспективно делать, запуск таймеров нужно обеспечить при первом импульсе от любого датчика, а это логику снаружи паять, и таймера по числу датчиков надо.
"Логика у Логика в отсутствии логики!"(с). ))))))))))))))))
На Меге - ДА! На СТМ32 или СТМ8 - как два пальца! И логику паять не надо, и таймера одного хватит!
Из за особеностей системы команд за три такта выполнятся только первые 64 отсчета. Потом компилятор начинает "мудрить". Ассемблерные команды asm volatile (" IN r24, 6"); asm volatile ("ST Y+, r24"); вместо *p=PINC;p++; избавят от такого. Наверно лучше все это оформить ассемблерной вставкой.
Да, спой и спляши сам! А ещё лучше сразу в машинных кодах писать! ))))))))))))))
Как у автора дела с электронным тиром?
Тоже давно такой хочу сделать. Но споткнулся пока об аналоговую часть с датчиками PKGS-90LD-R.
Если продвинуться дальше то можно сделать очень удобную систему:
Ардуино с простейшим http сервером который отдает html и js файл, и по определнному адресу json с тремя задержками от четырех датчиков (скажу потом почему 4). Планшет полученым js-ом определяет точку попадания итерационным алгоритмом (проверено в excel - работает) и рисует мишеньку с точкой попадания и прочую статистику и циклически опрашивает сервер. Мощи у нынешних планшетов для этого более чем достаточно.
А четыре датчика нужны чтобы уйти от еще одной неизвестной (и переменной) - скорости звука в данном образце стали. Итерационный алгоритм находит и скорость.
Logik,
Спасибо за толкование. С массивом да, не проверну математику, решать буду в лоб, систему из трех уравнений окружности.
"Или 150 - диаметр, а 40 толщина?" Да, чтоп пуля 5,6 не гнула мишень. Ина образующей поместился пьезик. С ними тоже придется эксперементировать. Чтоп успел фронт дать нужной длительности.
мишень как раз круглая. Ф150х40
Отраженка пофиг, она придет позже, отсчет по первому фронту.
А Вы для начала массив просто выводите в сериал, посмотрите на него в блокноте, думаю сразу и поймете с чего начинать его обработку.
Я глянул дизассемблер, там немного сложней получится. Из за особеностей системы команд за три такта выполнятся только первые 64 отсчета. Потом компилятор начинает "мудрить". Ассемблерные команды asm volatile (" IN r24, 6"); asm volatile ("ST Y+, r24"); вместо *p=PINC;p++; избавят от такого. Наверно лучше все это оформить ассемблерной вставкой.
Отраженка пофиг, она придет позже, отсчет по первому фронту.
Это понятно, надо просто учесть отражения, чтоб не перезапускало по ним заново работу, а то каша получится
мишень как раз круглая. Ф150х40
Отраженка пофиг, она придет позже, отсчет по первому фронту. Потом прога не пасет таймера, а решает уравнения
"Это понятно, надо просто учесть отражения, чтоб не перезапускало по ним заново работу, а то каша получится"
Ясно, Спасибо.
Сейчас жду мозги, у нас тут ваще только электролиты и IRF48 в продаже есть. Маленький город, хуле...
Али и Бангуд рулят.
Дружище, если у Тебя есть ватсап, буду рад пообщаться в личке там. Ибо тут не нашел "личных сообщений"
=79247329980. Павел. МСК+7.
Без разницы какой МК использовать
Вот не можешь ты, чтобы всем не лизнуть. ))))))))))))))))
но хорошо бы иметь таймеры с несколькими, по числу датчиков + 1, каналами захвата. Соотвественно, для трех датчиков потребуется четыре канала.
Колпак клоунский одень! Нахрен там 4 канала не нужны! И диоды тоже нахрен не нужны! Учи матчасть! ))))))))
Прелесть данной схемы в том, что все действия выполняются аппаратно и точность зависит только от точности задающего генератора, тактирующего МК. Нет проблемы и с тем, если сигналы приходит с нескольких датчиков одновременно. Каналы у таймера автономные и им пофиг, что там происходит где-то еще. Появился фронт импульса, логика канала переписывает значение счетчика таймера в свой регистр. Все, время события зафиксировано.
Управляющая программа только запускает таймер и ждет, когда тот сообщит, что все данные захвачены. Остается считать полученные значения и произвести необходимые расчеты.
А вот это похвально! Только программа нахрен ничего не должна ждать! Входной импульс от любого датчика запустит таймер. По переполнению можем вытаскивать данные. Прога ваще в пустом вечном цикле крутиться может.
Использование DMA не дает здесь существенных выгод. Если бы нужно было отследить попадание очереди из какого-нибудь "Узи", то еще куда ни шло, а пульки из винтовки считать, МК и так будет большую часть времени пустые циклы гонять.
Действительно нахрен не нужно, но по другой причине. Ну разве что если Ф4 прикрутить, да и то - фигня всё это!
Я бы делал просто в лоб.
Только сначала лоб зелёнкой себе намажь! ))))))))))))))))))
На STM с аналогичным подходом через DMA можно и выше цифры сделать
Ну сделай, посмеёмся! )))))))))))))))
На таймерах думаю малоперспективно делать, запуск таймеров нужно обеспечить при первом импульсе от любого датчика, а это логику снаружи паять, и таймера по числу датчиков надо.
"Логика у Логика в отсутствии логики!"(с). ))))))))))))))))
На Меге - ДА! На СТМ32 или СТМ8 - как два пальца! И логику паять не надо, и таймера одного хватит!
Из за особеностей системы команд за три такта выполнятся только первые 64 отсчета. Потом компилятор начинает "мудрить". Ассемблерные команды asm volatile (" IN r24, 6"); asm volatile ("ST Y+, r24"); вместо *p=PINC;p++; избавят от такого. Наверно лучше все это оформить ассемблерной вставкой.
Да, спой и спляши сам! А ещё лучше сразу в машинных кодах писать! ))))))))))))))
Как у автора дела с электронным тиром?
Тоже давно такой хочу сделать. Но споткнулся пока об аналоговую часть с датчиками PKGS-90LD-R.
Если продвинуться дальше то можно сделать очень удобную систему:
Ардуино с простейшим http сервером который отдает html и js файл, и по определнному адресу json с тремя задержками от четырех датчиков (скажу потом почему 4). Планшет полученым js-ом определяет точку попадания итерационным алгоритмом (проверено в excel - работает) и рисует мишеньку с точкой попадания и прочую статистику и циклически опрашивает сервер. Мощи у нынешних планшетов для этого более чем достаточно.
А четыре датчика нужны чтобы уйти от еще одной неизвестной (и переменной) - скорости звука в данном образце стали. Итерационный алгоритм находит и скорость.