Comparator последовательных данных
-
- Рядовой
- Сообщения: 74
- Зарегистрирован: 03 янв 2016, 13:11
- Откуда: г.Курганинск, Краснодарский край
- Имя: Александр
Comparator последовательных данных
Здравствуйте товарищи! Мне достаточно много лет, увлекся постройкой ракет, причем пневмогидравлических!Есть необходимость в высотомере, причем простом, который может собрать каждый.
Спецы-программисты игриво брались за задачу, но быстро сдулись! Я не
программист, но имею отношение к радиотехнике. Используя уроки, за 3 дня на FLP собрал программу для высотомера, причем работает! Уперся в одну проблему, необходимо
определить апогей, то есть нужна схема типа Comparator, только необходимо сравнивать сигнал не с двух входов, а последовательные данные датчика BMP180, дабы определить точку перегиба. Возможно,ли подобное реализовать в FLP! Спасибо!
Спецы-программисты игриво брались за задачу, но быстро сдулись! Я не
программист, но имею отношение к радиотехнике. Используя уроки, за 3 дня на FLP собрал программу для высотомера, причем работает! Уперся в одну проблему, необходимо
определить апогей, то есть нужна схема типа Comparator, только необходимо сравнивать сигнал не с двух входов, а последовательные данные датчика BMP180, дабы определить точку перегиба. Возможно,ли подобное реализовать в FLP! Спасибо!
Последний раз редактировалось Брат 16 янв 2016, 18:15, всего редактировалось 1 раз.
Comparator последовательных данных
Я думаю сделать можно так - значение записывать в ЕЕПРОМ например раз в секунду и текущее значение сравнивать со значением из ЕЕПРОМ (оно будет предыдущим). Количество циклов записи чтения в ЕЕПРОМ гарантируется до 100000, но я думаю, что ракеты у вас не круглосуточно летают, так что это несущественно.
Comparator последовательных данных
А зачем ЕЕПРОМ напрягать? Хватит обычной памяти ОЗУ. К тому же и быстрее будет.
-
- Рядовой
- Сообщения: 74
- Зарегистрирован: 03 янв 2016, 13:11
- Откуда: г.Курганинск, Краснодарский край
- Имя: Александр
Comparator последовательных данных
Спасибо за подсказки, меня радует, что Вы правильно поняли обозначенную мной задачу! Меня поразили возможности FLP, но вот некоторые пояснения ввели в суппорт! Оказывается pin9, это не 9 вывод Аурдуино, а адрес D9, или «сравнение двух аналоговых сигналов», при этом по факту цифровых. Очень скудно описано функциональное назначение элементов, или совсем не понятно. Да для обращения к EEPROM есть инструмент, а как обратиться к ОЗУ? Не нашел я и регистров сдвига, возможно ответ в «Строках» или «Массивах».
Возможно, все уляжется, за 3 дня не въедешь, но если можно, подскажите ближе к телу!
Возможно, все уляжется, за 3 дня не въедешь, но если можно, подскажите ближе к телу!

Последний раз редактировалось Брат 16 янв 2016, 19:24, всего редактировалось 1 раз.
Comparator последовательных данных
Насчет ОЗУ. В переменной можно поставить вход разрешения записи, а чтение из переменной происходит все время. Может вам подойдет такой вариант, не супер точный, но простой.
На первый вход компаратора подается сигнал c датчика, на второй сигнал с датчика, но уже через переменную.
В переменной есть вход разрешения записи и сигнал на него идет с симметричного мультивибратора.
Получается что в тот период когда уровень высокий, то показания одинаковые, если низкий, то на это время в переменной хранится старое значение. Так-как в компараторе стоит сравнение на меньше, то когда ракета начнет спускаться компаратор сработает.
Период в мультивибраторе сейчас стоит 500 мс, чтобы проверить работу поднимая датчик руками, а для точности можно уменьшать на сколько необходимо.
Слов написал много, на самом деле все просто, проект в приложении.
На первый вход компаратора подается сигнал c датчика, на второй сигнал с датчика, но уже через переменную.
В переменной есть вход разрешения записи и сигнал на него идет с симметричного мультивибратора.
Получается что в тот период когда уровень высокий, то показания одинаковые, если низкий, то на это время в переменной хранится старое значение. Так-как в компараторе стоит сравнение на меньше, то когда ракета начнет спускаться компаратор сработает.
Период в мультивибраторе сейчас стоит 500 мс, чтобы проверить работу поднимая датчик руками, а для точности можно уменьшать на сколько необходимо.
Слов написал много, на самом деле все просто, проект в приложении.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Олег 16 янв 2016, 22:36, всего редактировалось 1 раз.
-
- Рядовой
- Сообщения: 74
- Зарегистрирован: 03 янв 2016, 13:11
- Откуда: г.Курганинск, Краснодарский край
- Имя: Александр
Comparator последовательных данных
---------------------------------------------
триггера, реализовал сложные алгоритмы выброса парашютов, но есть проблемы,
причем они касаются всех. Давно заметил, что подав на вход переменной Integen, на выходе получаем несколько иное значение, то есть примерно то, но далеко не всегда это же число. По этой причине отказался проект делить на платы, ведь соединения между плат при помощи неадекватных переменных! Проект большой, спасли именованные соединения. Кстати, подобный эффект заметил еще один участник форума, но его сообщение не нашел. Может, я чего-то недопонимаю, но проблема более чем серьезная. Безусловно, при необходимости представлю доказательство, а может об этом знают все?
Построил свой высотомер, проблему решил подав на разрешающий вход переменной сигнал с ТТОлег писал(а):В переменной есть вход разрешения записи и сигнал на него идет с симметричного мультивибратора.
триггера, реализовал сложные алгоритмы выброса парашютов, но есть проблемы,
причем они касаются всех. Давно заметил, что подав на вход переменной Integen, на выходе получаем несколько иное значение, то есть примерно то, но далеко не всегда это же число. По этой причине отказался проект делить на платы, ведь соединения между плат при помощи неадекватных переменных! Проект большой, спасли именованные соединения. Кстати, подобный эффект заметил еще один участник форума, но его сообщение не нашел. Может, я чего-то недопонимаю, но проблема более чем серьезная. Безусловно, при необходимости представлю доказательство, а может об этом знают все?
Последний раз редактировалось Брат 25 май 2016, 18:08, всего редактировалось 1 раз.
Comparator последовательных данных
Не совсем понял, как это? У меня есть проекты по 20 плат, одна и та-же переменная может использоваться не однократно в любом месте, но ничего такого не замечал. Может пока вы сравниаваете значение переменной оно успевает поменяться?Брат писал(а):Давно заметил, что подав на вход переменной Integen, на выходе получаем несколько иное значение, то есть примерно то, но далеко не всегда это же число
Последний раз редактировалось Олег 25 май 2016, 18:18, всего редактировалось 1 раз.
-
- Рядовой
- Сообщения: 74
- Зарегистрирован: 03 янв 2016, 13:11
- Откуда: г.Курганинск, Краснодарский край
- Имя: Александр
Comparator последовательных данных
Может быть,торопиться не будем, немного погодя предоставлю конкретную информацию, внучкаОлег писал(а):Не совсем понял, как это?
пришла!
Последний раз редактировалось Брат 25 май 2016, 18:26, всего редактировалось 1 раз.
- Rovki
- Полковник
- Сообщения: 5746
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Comparator последовательных данных
Я делал для таких целей макросы на ПР - они ищут экстремум сигнала на входе и запоминают его.Находил два экстремума -мин. и макс.
Для вещественных и целочисленных данных ...
Для вещественных и целочисленных данных ...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Rovki 25 май 2016, 18:52, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
-
- Рядовой
- Сообщения: 74
- Зарегистрирован: 03 янв 2016, 13:11
- Откуда: г.Курганинск, Краснодарский край
- Имя: Александр
Comparator последовательных данных
Вот такая схемка. Данные ВМР180 прогоняем через переменную, опрос датчика в каждом цикле,Брат писал(а):немного погодя предоставлю конкретную информацию
записываем на SD как Comment. Также записываем на SD прямые показания датчика. Должны быть данные одинаковыми?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Брат 25 май 2016, 18:43, всего редактировалось 1 раз.
Comparator последовательных данных
При большой скорости изменения показаний датчика только разработчик скажет какой алгоритм будет при обработке данной схемы. Вполне может быть, что сначала берется значение из переменной 1, записанное в прошлом цикле и пишется на SD карту, а только потом присваивается новое значение. А вот показания датчика уже берутся из этого цикла.
- Rovki
- Полковник
- Сообщения: 5746
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Comparator последовательных данных
В моей схеме определяется изменении числа ,при каждом изменении анализируется предыдущее значение и новое ,если был подьем функции то на подьеме значение не обновляется ,как только функция идет на убывание происходит изменение значения на выходе -находим максимум ,аналогично находим минимум ...
Электронщик до мозга костей и не только
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Comparator последовательных данных
А зачем генератор. Вот по этой схеме наверное проще будет.
В переменной Максимум будет максимальное значение. Ну а потом уже используете эту переменную как надо.
Для сброса используется такая схема
В переменной Максимум будет максимальное значение. Ну а потом уже используете эту переменную как надо.
Для сброса используется такая схема
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автор программы FLProg.
- Rovki
- Полковник
- Сообщения: 5746
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Comparator последовательных данных
Для одного экстремума пойдетsupport писал(а):Вот по этой схеме наверное проще будет.
Электронщик до мозга костей и не только
-
- Рядовой
- Сообщения: 74
- Зарегистрирован: 03 янв 2016, 13:11
- Откуда: г.Курганинск, Краснодарский край
- Имя: Александр
Comparator последовательных данных
Да одинэкстремум и нужен, но с оговоркой, что отметка должна быть немного дальшеRovki писал(а):Для одного экстремума пойдет
апогея, ведь датчик сильно шумит, да и возможны небольшие паразитные скачки давления,
что может приводить к ложным срабатываниям!Но главный вопрос,что происходит с соединением по переменной? Сейчас загнал схему и получил для
наглядности результат в виде графика Excel. Как видим на выходе (красным) и входе (синим)данные отличаются, причем существенно! Хорошо, допустим причина в датчике.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Rovki
- Полковник
- Сообщения: 5746
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Comparator последовательных данных
Нужно сначала отфильтровать сигнал от помех ,например фильтром по методу скользящего окна ..Брат писал(а):ведь датчик сильно шумит,
Электронщик до мозга костей и не только
-
- Рядовой
- Сообщения: 74
- Зарегистрирован: 03 янв 2016, 13:11
- Откуда: г.Курганинск, Краснодарский край
- Имя: Александр
Comparator последовательных данных
А я пришел вот к этой схеме, почему в ней все работает идеально! Изменяя размер массива могу
смещать данные на любое количество циклов, то есть не только находить апогей,
но и задавать любое значение чувствительности! Да, но данные с того же датчика, а результат
один в один! Получается, что дело не в датчике и соединение через переменную не
равнозначно перемычке! На мой взгляд есть повод задуматься!
Добавлено (25.05.2016, 22:47)
---------------------------------------------
фильтрую при помощи аналогового фильтра, который есть на нашем форуме (пользовательский блок)! Интересно, если использовать режим внутреннего усреднения датчика, то падает количество циклов опроса, а если использовать внешний фильтр, то при одном результате сглаживания количество циклов не уменьшается!
смещать данные на любое количество циклов, то есть не только находить апогей,
но и задавать любое значение чувствительности! Да, но данные с того же датчика, а результат
один в один! Получается, что дело не в датчике и соединение через переменную не
равнозначно перемычке! На мой взгляд есть повод задуматься!
Добавлено (25.05.2016, 22:47)
---------------------------------------------
Безусловно! Я использую датчик в режиме ULTRA_LOW_POWER, то есть без внутреннего усреднения, затемRovki писал(а):Нужно сначала отфильтровать сигнал от помех ,например фильтром по методу скользящего окна ..
фильтрую при помощи аналогового фильтра, который есть на нашем форуме (пользовательский блок)! Интересно, если использовать режим внутреннего усреднения датчика, то падает количество циклов опроса, а если использовать внешний фильтр, то при одном результате сглаживания количество циклов не уменьшается!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Брат 25 май 2016, 22:50, всего редактировалось 1 раз.
-
- Рядовой
- Сообщения: 74
- Зарегистрирован: 03 янв 2016, 13:11
- Откуда: г.Курганинск, Краснодарский край
- Имя: Александр
Comparator последовательных данных
Сегодня еще раз проверил нюансы в работе переменной, но числа загонял с генератора, дабы исключить непонятки! Если через переменную прогонять одинаковые числа или Byte, то все нормально. А если случайные числа, то полная неадекватность! То есть, использовать переменную в качестве межплатных соединений нужно очень осторожно! На мой взгляд, необходимо и соединения между платами выполнять по принципу именных !
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Брат 26 май 2016, 12:01, всего редактировалось 1 раз.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Comparator последовательных данных
Так и делайте замеры в одном цикле для всех.Брат писал(а):опрос датчика в каждом цикле,
[spoiler=Спойлер][/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя