Счётчик шагов на STM32

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Счётчик шагов на STM32

Сообщение MX_Master »

stm32_steps_counter.png (3105 просмотров) <a class='original' href='./download/file.php?id=176423&mode=view' target=_blank>Загрузить оригинал (213.54 КБ)</a>
Двум ЧПУшникам из солнечного Казахстана одновременно понадобилась интересная приспособа. Эта приспособа должна проверять вывод шагов с ЧПУ контроллера на длинных УП. Логический анализатор в данном случае не подойдёт. Если УП выполняется часами, нужно что-то другое. Скорее всего, это должен быть микроконтроллер. Возможно даже STM32. Вощем, любые синие пилюли (blue pill) и прочие дискавери платы с USB должны подойти.

Что требуется от устройства? Во-первых, оно должно запитываться от USB кабеля. Во-вторых, оно должно считать все шаги согласно направлению (т.е. полноценный step/dir счётчик). Ну и наконец, должно по USB кабелю передавать данные о позиции осей в шагах с визуальным отображением на экране.

Всё это дело можем оформить в виде открытого проекта, возможно, кому-то ещё пригодится. Вот сижу размышляю, что бы такое сделать универсальное, чтобы данные показывало под разными ОС - на винде, под linux и, возможно, даже на андроиде. Кто что подскажет? :)

Одна из идей была - сделать так, чтоб устройство представлялось компу обычной флэшкой (ramdisk), на которой бы лежал постоянно обновляемый HTML файл с координатами. Открыв такой файл в браузере мы бы могли наблюдать на экране текущие координаты с частотой обновления в 1 сек.

Исходники проекта - закрыты, автор наелся этим open-source до полного отвращения
Последний раз редактировалось MX_Master 07 апр 2020, 10:14, всего редактировалось 3 раза.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение selenur »

А не проще подключить обычный дисплейчик? И на нем выводить информацию, без компьютера.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение Serg »

MX_Master писал(а):Одна из идей была - сделать так, чтоб устройство представлялось компу обычной флэшкой (ramdisk), на которой бы лежал постоянно обновляемый HTML файл с координатами. Открыв такой файл в браузере мы бы могли наблюдать на экране текущие координаты с частотой обновления в 1 сек.
Эмулятор COM порта и просто слать текстовые данные. Можно ещё сделать полноценный диалог для возможности настройки/управления.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
bolek4321
Мастер
Сообщения: 217
Зарегистрирован: 27 сен 2014, 07:59
Репутация: 38
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение bolek4321 »

selenur писал(а):А не проще подключить обычный дисплейчик?
Присоединяюсь. Компьютер, планшет или телефон будут явно тяжелее и менее удобны.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение MX_Master »

selenur писал(а):А не проще подключить обычный дисплейчик? И на нем выводить информацию, без компьютера.
Даже не знаю, по-моему это офигенски усложнит такой простой проект :hehehe: К тому же, запитывать всё равно придётся от USB. Это канеш, может быть и зарядка. Но повесить на соплях ещё и дисплей на плату, это как-то таво.. Вот, если б, на продажу нужны были эти штуки, тогда п дисплей ещё вкорячился. А если по бырому для себя, то экран это лишнее.
UAVpilot писал(а):Эмулятор COM порта и просто слать текстовые данные. Можно ещё сделать полноценный диалог для возможности настройки/управления.
Это самое очевидное :) Однако, под андройдами придётся извращаться с установкой дополнительного софта

Нужно какое-то очень простое решение, чтоб никуда не лезть за доп. софтом и настройками.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение Serg »

На андроидах сначала придётся поупражнятся в покупке правильного устройства с USB-host и соотв. переходника... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение solo »

я может шота не то скажу но на андроид есть приложения в которых есть куча виджетов
https://play.google.com/store/apps/deta ... uino&hl=ru
с ардуинкой все стыкуется легко по ком порту
вот здесь об этом раскрываю https://forum.flprog.ru/viewtopic.php?f ... 1becbed6b8
может будет полезно :thinking:
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение MX_Master »

UAVpilot писал(а):На андроидах сначала придётся поупражнятся в покупке правильного устройства с USB-host и соотв. переходника...
Я уже проверил на своём ZTE китайце с андройдом 5.1. По крайней мере, питание подаётся стабильно. Под рукой было всё.
IMG_20200207_212138.jpg (3223 просмотра) <a class='original' href='./download/file.php?id=176393&mode=view' target=_blank>Загрузить оригинал (3.24 МБ)</a>
solo писал(а):с ардуинкой все стыкуется легко по ком порту
к сожалению и счастью, я не ардуинщик :D
Vitalii
Опытный
Сообщения: 164
Зарегистрирован: 08 янв 2017, 05:18
Репутация: 77
Настоящее имя: Vitaliy
Откуда: Россия, Ульяновск
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение Vitalii »

А что с полученными значениями заказчики будут делать потом?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение MX_Master »

Какие ещё заказчики? :hehehe: Мне и Афтаеву сие изобретение нужно для проверки устройств, в которых мы не совсем уверены. Я буду проверять вывод шагов на Orange Pi, ну а Саня будет проверять всё, что ему в данный момент нужно. Когда прошивка будет готова, то и любой другой человек сможет это бесплатно использовать в своих целях.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение Serg »

MX_Master писал(а):Я уже проверил на своём ZTE китайце с андройдом 5.1. По крайней мере, питание подаётся стабильно. Под рукой было всё.
Samsung S5 mini - питание подается, но как хост он не работает...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение aftaev »

MX_Master, пусть питается от USB.
Выводить можно на какой нибудь TM1637. У него 4ре знака 9999 степов. При шаге 0,001мм = 10мм. То есть если потеряется 9999шагов, то смещение по осям будет 10мм. Что дофига, и для тестов более чем. Ну если совсем жирно хочется то MAX7219 на 8 индикаторов.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение selenur »

Можно взять например такой экран: https://www.aliexpress.com/item/32896971385.html
Для подключения нужно всего 4 провода:
2020-02-08_015029.png (3166 просмотров) <a class='original' href='./download/file.php?id=176412&mode=view' target=_blank>Загрузить оригинал (165.26 КБ)</a>
Количество выводимой информации по идее должно быть достаточно.

Если я правильно понял в итоге нужно сравнить координаты которые в управляющей программе, и координаты которые могли-бы получиться, при том количестве управляющих сигналов step и dir, что были посланы, не учитывая тот момент что по ряду причин реальное положение может отличаться (драйвер не распознал импульс, соединяющая муфта между мотором и валом не была хорошо закреплена, и др...)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение Serg »

А почему-бы для подсчёта шагов не использовать свободные пины arisc.gpio?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
wldev
Мастер
Сообщения: 1650
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение wldev »

aftaev писал(а):MX_Master, пусть питается от USB.
Выводить можно на какой нибудь TM1637. У него 4ре знака 9999 степов. При шаге 0,001мм = 10мм. То есть если потеряется 9999шагов, то смещение по осям будет 10мм. Что дофига, и для тестов более чем. Ну если совсем жирно хочется то MAX7219 на 8 индикаторов.
Действительно. На самом деле не важно какое расхождение, а его наличие.
Тогда на этой плате есть диод, который может об этом сообщить. Если есть не ноль хотя бы у одной оси.
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение Serg »

Bender писал(а):Если есть не ноль хотя бы у одной оси.
А с чем сравнивать измеренное количество шагов? :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
wldev
Мастер
Сообщения: 1650
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение wldev »

UAVpilot писал(а):
Bender писал(а):Если есть не ноль хотя бы у одной оси.
А с чем сравнивать измеренное количество шагов? :)
С тем ,что при возвращении в положение сброса, счётчик импульсов должен вернутся в ноль.
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
nevkon
Почётный участник
Почётный участник
Сообщения: 2471
Зарегистрирован: 17 июл 2015, 10:25
Репутация: 310
Настоящее имя: Константин
Откуда: Балаково (Саратовская обл.)
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение nevkon »

Габаритный размер решения имеет значение? Конечно можно использовать stm, кнопку сброса и светодиод расхождения (пока горит значит в "0" не вернулись). А можно использовать аппаратное решение. Счетчик на К561ИЕ11 (надо будет несколько микросхем по максимальному числу шагов в одном направлении), элемент массового "И", светодиод и кнопка сброса.
зы. Тут подумал - даже "И" не надо, просто на каждый разряд повесить по светику, заодно можно будет узнать итоговое расхождение импульсов.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение MX_Master »

UAVpilot писал(а):Samsung S5 mini - питание подается, но как хост он не работает...
Жаль. Ну что ж, будем иметь ввиду, что от телефона можно только запитать. Переключимся тогда на мини дисплеи..
UAVpilot писал(а):А почему-бы для подсчёта шагов не использовать свободные пины arisc.gpio?..
Можно, но лучше юзать независимое устройство. Так будет надёжнее. Этот счётчик можно запитать, к примеру, от повербанка. Тогда результат будет независим даже от скачков питания.
selenur писал(а):Можно взять например такой экран: https://www.aliexpress.com/item/32896971385.html
Для подключения нужно всего 4 провода:
Хороший вариант. Этот малыш даже в местных магазинах есть. Там же продаются синие пилюли с STM32. Для моих задах нужен счётчик хотя бы на 4 оси ;) Так что этот малыш вполне подойдёт. В дальнейшем можем добавить поддержку и для других экранов, однострочных, многострочных, SPI, ...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Счётчик шагов на STM32

Сообщение Сергей Саныч »

Вообще-то без учета особенностей конкретных драйверов ШД такой счетчик сможет отлавливать только наиболее грубые ошибки, типа неправильного количества импульсов "туда" и "обратно". Реальные драйверы могут иметь разные тонкие глюки.
Например, могут отрабатывать лишний шаг при переключении сигнала DIR при определенном состоянии STEP, что может на определенных УП приводить к накоплению ошибки. Поскольку наш счетчик, скорее всего, будет "честно" считать STEPы, то эта ошибка останется незамеченной.
я уж не говорю об аналоговых нюансах из-за медленных входных оптронов драйвера.
Чудес не бывает. Бывают фокусы.
Ответить

Вернуться в «Электроника»