Улучшение точности показаний HC-SR04, или выбор другого

Roman2344
Offline
Зарегистрирован: 09.09.2015

Здравствуйте. Вопрос такой использую ультразвуковой датчик HC-SR04, за 40грн., он мне не нравится в том что погрешность у него аж 3мм, стабильность показаний хромает, то меряю рост показывает 170см, то вообще 4м.,и такие ошибки выскакивают часто, к тому же есть мёртвые зоны, я сейчас усредняю значения, может библиотеку какую прицепить( читал есть какая - то библиотека хорошая), или датчик взять типа:

US-100 US-015 US020, пишут что проблемы из - за питания, у меня датчик висит от стабилизатора Ардуино Уно, питание стабильное даже пульсации осцилом смотрел. Что лучше думаю лучше навеное US-100, или подскажите другой понадёжнее, или как лучше.

Использую такой скетч, плюс 20измерений и усреднение http://zelectro.cc/HC-SR04

axill
Offline
Зарегистрирован: 05.09.2011

Вас точность 3мм не устраивает или нестабильность показаний (то 170см, то 4м)?

Roman2344
Offline
Зарегистрирован: 09.09.2015

Больше всего меня не устраивает нестабильность показаний (то 170см, то 4м), хотя я уже пробовал больше 40 - 50мкс делать задержку на приём эхо сигнала всё равно выскакивает такая ерунда, я вообще использую этот датчик для измерения расстояния от 2 до 10см. Точность меня тоже не устраивает но это на втором месте, может пробовать играться с периодом подаваемого импульса с ардуино на излучатель, читал я что вроде 

US-100 стабильнее работает, но у него низковольтное питание 3,3Ви с 5В УНО стаивить стабилизатор на 3,3В для питания его, и во - вторых это ж прийдётся мне либо делители резистивные ставить на Триг и ЭХО этого датчика либо конвертр, ну это ладно меня интерисует лучше ли он. Или что делать?

Здесь пишут что питание у него 2,4-5,5В.

http://world.taobao.com/item/43960246737.htm?spm=a312a.7700714.0.0.iQHaG...

Roman2344
Offline
Зарегистрирован: 09.09.2015

Можеть фильтр Калмана применить, только не понятно вообще как по теории вероятности этот фильтр программно прописать формулу, может кто знает?

Duino A.R.
Offline
Зарегистрирован: 25.05.2015

В моей практике одиночные выбросы очень хорошо устранялись медианными фильтрами с апертурами 3 и 5. Если "наиболее частое значение" посчитать трудно, то можно сделать "почти медианный фильтр". Берете, например, 5 отсчетов подряд, вычисляете среднее, отсчет, максимально отличающийся от среднего, заменяете на отсчет, максимально близкий к среднему. Потом по модифицированной выборке можете сделать и усреднение. Полученное значение и считается измеренным. Поскольку измерения идут постоянно, то лучше использовать фильтр со скользящей апертурой. Разгонную пятерку набрали, а потом при каждом новом отсчете сдвигаете выборку на одну позицию и проделываете описанные выше действия. Фильтр работает довольно шустро и хорошо. Причем настроек у него, считай, что нет.

Roman2344
Offline
Зарегистрирован: 09.09.2015

Спасибо, мне бы глянуть как это прописать, а то так теоретически не много понимаю, а как должно выглядеть не очень.

Duino A.R.
Offline
Зарегистрирован: 25.05.2015

Roman2344 пишет:

Спасибо, мне бы глянуть как это прописать, а то так теоретически не много понимаю, а как должно выглядеть не очень.

Собственно программу я писал в 85-м году на ассемблере "Электроники-60". Так что глянуть сейчас некуда. :) Составте по текстовому описанию блок-схему. По блок-схеме составите программу. Там все проходимо.

ua3msi
Offline
Зарегистрирован: 07.05.2017