Требуется написать скетч

weller
Offline
Зарегистрирован: 10.08.2019

Требуется написать скетч для ардуино.

Железо: Arduino usb  ATTINY85 модуль + акселерометр ADXL345+ фоторезистор

Задачи: Два выхода на реле. Реле №1 срабатывает при наборе скорости >5км/ч перемещении акселирометра, при остановке реле отключается через 15с. Реле №2 включается при появлении сумерек на фоторезисторе.

ссылки на железо:

https://ru.aliexpress.com/item/32697283942.html?spm=a2g0s.9042311.0.0.27...

https://ru.aliexpress.com/item/32912111683.html?spm=a2g0s.9042311.0.0.27...

nik182
Offline
Зарегистрирован: 04.05.2015

Акселерометр скорость не измеряет. Ему всё равно с 20 до 25 км ускорились или с 0 до 5. Надо какой нибудь другой набор оборудования использовать. С этим задача не решаема.

qbit
Offline
Зарегистрирован: 18.03.2019

nik182 пишет:
...С этим задача не решаема.

Решаема. В любой момент времени: V(t)=Vo+a*dt, где Vo-начальная скорость, a-ускорение, dt-интервал времени. При условии, что ускорение a=const за время dt.

Т.е. частоту измерений ускорения выбрать в зависимости от характера перемещения. Достаточно если |(a(i)-a(i-1))/a(i)|<=1..5%.

Т.к. вычислений будет много и скорее всего с float, то плату с TYNY - в корзину. Взять помощнее, например Blue Pill на stm32f103.

weller
Offline
Зарегистрирован: 10.08.2019

Есть ТЗ и условия. Предложите железо и решение, озвучьте, какой гонорар...

Gas311
Gas311 аватар
Offline
Зарегистрирован: 06.12.2018

Вот железо.

https://ru.aliexpress.com/item/32891495224.html?spm=a2g0v.search0302.3.2...

Решение - за гонорар.

b707
Offline
Зарегистрирован: 26.05.2017

Qbit - расчетный путь хорош при прямолинейном и желательно горизонтальном перемещении. Кроме того, он дает лишь относительное изменение скорости, ане саму скорость. В реальных условиях резких изменений направления в трех плоскостях, думаю, накапливаемая ошибка быстро превысит 100 %
ТС - соглашусь с nick182 - акселерометр для измерения скорости не подходит

nik182
Offline
Зарегистрирован: 04.05.2015

qbit пишет:

nik182 пишет:
...С этим задача не решаема.

Решаема. В любой момент времени: V(t)=Vo+a*dt, где Vo-начальная скорость, a-ускорение, dt-интервал времени. При условии, что ускорение a=const за время dt.

Т.е. частоту измерений ускорения выбрать в зависимости от характера перемещения. Достаточно если |(a(i)-a(i-1))/a(i)|<=1..5%.

Т.к. вычислений будет много и скорее всего с float, то плату с TYNY - в корзину. Взять помощнее, например Blue Pill на stm32f103.


Отнюдь. В Ваших рассуждениях всё верно. Но проблема в Vo. Нет гарантии, что про запуске она будет равна нулю. А про ошибки и накопление погрешности уже сказали. Кроме того, никто не гарантирует, что ускорение будет линейным. И если цифровым, дискретным, способом считывать ускорение то интеграл даже за несколько секунд тряски в руке никогда не занулится. Как определить, что скорость стала нулевой? Во всех навигационных системах инерционный канал всегда тарируется регулярно по датчику скорости. По крайней мере интеграл принудительно обнуляется при скорости ноль. Хотя бы кнопочка нужна для этого, руками сказать сейчас ноль. И опыт мой работы с "бытовыми" акселерометрами говорит, что даже у лежашего на столе и не движущегося датчика при интегрировании скорость будет меняться и нулевой не останется.

qbit
Offline
Зарегистрирован: 18.03.2019

weller пишет:

...Предложите железо и решение, озвучьте, какой гонорар...

Вариант железа и решение Вам даны, причем бесплатно. Ещё бесплатная подсказка. Данные от акселерометра получаются в векторном виде и для получения полного вектора ускорения в текущий момент времени надо извлечь вкадратный корень из суммы квадратов проекций ускорений: a(t) = sqrt (ax^2+ay^2 + az^2). Со скоростью аналогично.

Ценник от 60kp. Если не отпугивает, присылаете ТЗ на info собака qbit.su

nik182
Offline
Зарегистрирован: 04.05.2015

qbit пишет:

weller пишет:

...Предложите железо и решение, озвучьте, какой гонорар...

Вариант железа и решение Вам даны, причем бесплатно. Ещё бесплатная подсказка. Данные от акселерометра получаются в векторном виде и для получения полного вектора ускорения в текущий момент времени надо извлечь вкадратный корень из суммы квадратов проекций ускорений: a(t) = sqrt (ax^2+ay^2 + az^2). Со скоростью аналогично.

Ценник от 60kp. Если не отпугивает, присылаете ТЗ на info собака qbit.su


Вобще то лучше молчать чем говорить. Я по моей военноучетной специальности два года слушал лекции о системах навигации и все формулы там приводили. И формулу полного ускорения то же. Вот только прямо её использовать нельзя. Ускорение всегда получается положительным и интегрируя его для получения скорости получим бескончно большую скорость. Ещё предложения по использования акселерометра будут?
ТС не озвучил для чего устройство. Если для помещений, то GPS не подойдёт. Если на машине, то проще по CAN получить скорость и использовать. Если на модели с колёсиками то можно взять скорость с колеса, поставив датчик. Вариантов полно и они сильно зависят от области применения.

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

fridgetester пишет:

мало-мальски грамотным людям известно что с одним только акселерометром задачу поставленную ТС никак не решить. 

Об этом было сказано еще в #1.

Ну а тот, кто предложил 60к, мошт он сверхграмотный и знает то, что не знаем мы, отсюдова и цена.  Никто не сможет, а он сможет.  Я не исполнитель и не закащик, мне пофиг, ну и няхай делает. 

Если есть кто-то, кто решит задачу ТС за 1000, пусть попытаеца. 

karamzin01
Offline
Зарегистрирован: 08.03.2018

Р е а л и з у е м о - maslachenko767@mail.ru , консультации, подбор компонентов бесплатно, гарантии имеются