Quantcast
Channel: Леонид Каганов
Viewing all articles
Browse latest Browse all 2992

2017/05/03 - Подскажите про алгоритм

$
0
0

Сижу, занимаюсь ерундой — пришла из Китая электрическая личинка дверного замка, пытаюсь с помощью чипа ESP8266 обучить ее грамотно открывать замок:

Научил ESP8266 рисовать вебстраничку с эпюрами — измеряет, собственно, ток мотора во время хода:

Выше на фотке два прогона мотора туда и обратно, сверху — на 9 вольт (медленнее ехал), снизу на 12 вольт. В момент старта мотора, соответственно идет всплеск мощности, а в конце пути мотор упирается и застревает, и там тоже зашкал. А вот по пути в каждую из сторон (не важно, закрывается замок или открывается) должны быть два отчетливых пика, потому что замок на два оборота, и мотору приходится в эти моменты двигать стержни, что тоже для него работа про сравнению с прогулочным холостым ходом. Я обозначил эти пики стрелочками.

Задача: как программно определять эти пики? Делать это надо в момент их появления (на крайняк — в момент окончания) — чтобы уметь останавливать мотор на одном обороте. Время их появления может немного различаться — в зависимости от плавающего напряжения питания и конструкции замка. В конце концов, поворотов может быть три в каком-то другом замке. Ну и величина их тоже сильно плавающая штука — зависит от сопротивления проводов и запыленности/разработанности замка. Например, через месяц работы параметры могут поплыть.

Есть идея, каким алгоритмом находить эти пики?

Идея ставить константы мне не нравится. Идея время от времени проводить тестовый прогон замка с автоматической юстировкой и записью констант тоже не кажется умной. Что посоветуете?

PS: Кому интересно, скетч для ESP8266 с графиками:

[ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ]


Viewing all articles
Browse latest Browse all 2992

Trending Articles