PS: Задача была решена мной путем накопления всех 1024 пакетов измерений во внешней ОЗУ, с подбором пропущенных измерений на последующих оборотах вала, с последующей отправкой всех измерений на ПК. Данный пост просто разминка для мозга и поиск умных мыслей.
Улучшение алгоритма сбора данных.
-
Demon
- Нашел транзистор. Понюхал.
- Сообщения: 164
- Зарегистрирован: Сб янв 20, 2007 20:44:33
- Откуда: Из закаулков вашей души
Улучшение алгоритма сбора данных.
Дано: учебная установка с двумя вращающимися валами соединенные шатуном, на каждом валу по энкодеру (1024 точки) и датчику усилий (выход до 5В). На входном валу (до 1800 об/сек) снимается угловая скорость ( выход А-энкодера), начало отсчетов (Z-выход) и усилие. На выходном валу снимается угловая скорость и направление вращения(выходы А-и В-энкодера), а также усилие. По каждому импульсу с выхода А-энкодера на выходном валу на ПК отправляются следующие данные: входная и выходная скорость, входное и выходное усилие и угол поворота выходного вала. И все это желательно передавать в реальном времени. Теперь внимание вопрос знатоки: как лучше снимать напряжение при скоростях сопоставимых или больших скоростях работы АЦП? Как можно и лучше всего в остановить потерянные данные? Как лучше сжать данные для уменьшения пакета для передачи? И прочие соображения для оптимизации и убыстрения работы. Для ориентировки и возможности симуляции считать что используется ATMEGA.
PS: Задача была решена мной путем накопления всех 1024 пакетов измерений во внешней ОЗУ, с подбором пропущенных измерений на последующих оборотах вала, с последующей отправкой всех измерений на ПК. Данный пост просто разминка для мозга и поиск умных мыслей.
PS: Задача была решена мной путем накопления всех 1024 пакетов измерений во внешней ОЗУ, с подбором пропущенных измерений на последующих оборотах вала, с последующей отправкой всех измерений на ПК. Данный пост просто разминка для мозга и поиск умных мыслей.
- Реклама
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Улучшение алгоритма сбора данных.
Выкинуть МК с его мультиплексированным АЦП и поставить ПЛИС с несколькими АПЦ с синхронным запуском и последовательной выдачей результатов.Demon писал(а):как лучше снимать напряжение при скоростях сопоставимых или больших скоростях работы АЦП?
Плюсом будет тот факт, что появится взаимная однозначность параметров, которые получаются одновременно, а не собираются друг за дружкой в течение периода опроса датчиков. (дальнейшая обработка должна упроститься т.к. после последовательного сбора нужно "приводить" параметры к единому временному отсчету, а это опять же вычисления)
Данные можно попытаться "восстановить" используя либо цифровой фильтр по каждому параметру, либо интерполируя на месте пропуска по имевшимся достоверным результатам.Demon писал(а):Как можно и лучше всего в остановить потерянные данные?
Тут все не так просто. Одним из методов является передача приращений (допустим на предыдущем интервале получили значение Xi, а на новом Xi+delta, тогда находится разность и посылается в качестве показателя). Но есть свои "заковыки", сжимать имеет смысл тогда, когда есть уверенность в том, что не будет потерь. В противном случае - грош цена всем потугам на сжимание данных, особенно если потеря происходит не единичная, а массовая (скажем подряд потеряли 150 точек).Demon писал(а):Как лучше сжать данные для уменьшения пакета для передачи?
Не зная на какой скорости сейчас у Вас "валятся" данные, трудно давать совет о переходе на более быстрые интерфейсы. Вполне возможно, будет достаточно вместо FT232 использовать FT245, а может и FT2232 в режиме синхронного фифо.Demon писал(а):И прочие соображения для оптимизации и убыстрения работы.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
