Улучшение алгоритма сбора данных.

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить
Demon
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Сб янв 20, 2007 20:44:33
Откуда: Из закаулков вашей души

Улучшение алгоритма сбора данных.

Сообщение Demon »

Дано: учебная установка с двумя вращающимися валами соединенные шатуном, на каждом валу по энкодеру (1024 точки) и датчику усилий (выход до 5В). На входном валу (до 1800 об/сек) снимается угловая скорость ( выход А-энкодера), начало отсчетов (Z-выход) и усилие. На выходном валу снимается угловая скорость и направление вращения(выходы А-и В-энкодера), а также усилие. По каждому импульсу с выхода А-энкодера на выходном валу на ПК отправляются следующие данные: входная и выходная скорость, входное и выходное усилие и угол поворота выходного вала. И все это желательно передавать в реальном времени. Теперь внимание вопрос знатоки: как лучше снимать напряжение при скоростях сопоставимых или больших скоростях работы АЦП? Как можно и лучше всего в остановить потерянные данные? Как лучше сжать данные для уменьшения пакета для передачи? И прочие соображения для оптимизации и убыстрения работы. Для ориентировки и возможности симуляции считать что используется ATMEGA.
PS: Задача была решена мной путем накопления всех 1024 пакетов измерений во внешней ОЗУ, с подбором пропущенных измерений на последующих оборотах вала, с последующей отправкой всех измерений на ПК. Данный пост просто разминка для мозга и поиск умных мыслей. :))
Реклама
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Улучшение алгоритма сбора данных.

Сообщение Meteor »

Demon писал(а):как лучше снимать напряжение при скоростях сопоставимых или больших скоростях работы АЦП?
Выкинуть МК с его мультиплексированным АЦП и поставить ПЛИС с несколькими АПЦ с синхронным запуском и последовательной выдачей результатов.
Плюсом будет тот факт, что появится взаимная однозначность параметров, которые получаются одновременно, а не собираются друг за дружкой в течение периода опроса датчиков. (дальнейшая обработка должна упроститься т.к. после последовательного сбора нужно "приводить" параметры к единому временному отсчету, а это опять же вычисления)
Demon писал(а):Как можно и лучше всего в остановить потерянные данные?
Данные можно попытаться "восстановить" используя либо цифровой фильтр по каждому параметру, либо интерполируя на месте пропуска по имевшимся достоверным результатам.
Demon писал(а):Как лучше сжать данные для уменьшения пакета для передачи?
Тут все не так просто. Одним из методов является передача приращений (допустим на предыдущем интервале получили значение Xi, а на новом Xi+delta, тогда находится разность и посылается в качестве показателя). Но есть свои "заковыки", сжимать имеет смысл тогда, когда есть уверенность в том, что не будет потерь. В противном случае - грош цена всем потугам на сжимание данных, особенно если потеря происходит не единичная, а массовая (скажем подряд потеряли 150 точек).
Demon писал(а):И прочие соображения для оптимизации и убыстрения работы.
Не зная на какой скорости сейчас у Вас "валятся" данные, трудно давать совет о переходе на более быстрые интерфейсы. Вполне возможно, будет достаточно вместо FT232 использовать FT245, а может и FT2232 в режиме синхронного фифо.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Реклама
Ответить

Вернуться в «Умные мысли»