Страница 1 из 2

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

Добавлено: 07 фев 2020, 15:59
MX_Master
stm32_steps_counter.png (3104 просмотра) <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 до полного отвращения

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

Добавлено: 07 фев 2020, 16:03
selenur
А не проще подключить обычный дисплейчик? И на нем выводить информацию, без компьютера.

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

Добавлено: 07 фев 2020, 16:59
Serg
MX_Master писал(а):Одна из идей была - сделать так, чтоб устройство представлялось компу обычной флэшкой (ramdisk), на которой бы лежал постоянно обновляемый HTML файл с координатами. Открыв такой файл в браузере мы бы могли наблюдать на экране текущие координаты с частотой обновления в 1 сек.
Эмулятор COM порта и просто слать текстовые данные. Можно ещё сделать полноценный диалог для возможности настройки/управления.

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

Добавлено: 07 фев 2020, 17:20
bolek4321
selenur писал(а):А не проще подключить обычный дисплейчик?
Присоединяюсь. Компьютер, планшет или телефон будут явно тяжелее и менее удобны.

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

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

Нужно какое-то очень простое решение, чтоб никуда не лезть за доп. софтом и настройками.

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

Добавлено: 07 фев 2020, 17:38
Serg
На андроидах сначала придётся поупражнятся в покупке правильного устройства с USB-host и соотв. переходника... :)

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

Добавлено: 07 фев 2020, 18:04
solo
я может шота не то скажу но на андроид есть приложения в которых есть куча виджетов
https://play.google.com/store/apps/deta ... uino&hl=ru
с ардуинкой все стыкуется легко по ком порту
вот здесь об этом раскрываю https://forum.flprog.ru/viewtopic.php?f ... 1becbed6b8
может будет полезно :thinking:

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

Добавлено: 07 фев 2020, 18:27
MX_Master
UAVpilot писал(а):На андроидах сначала придётся поупражнятся в покупке правильного устройства с USB-host и соотв. переходника...
Я уже проверил на своём ZTE китайце с андройдом 5.1. По крайней мере, питание подаётся стабильно. Под рукой было всё.
IMG_20200207_212138.jpg (3222 просмотра) <a class='original' href='./download/file.php?id=176393&mode=view' target=_blank>Загрузить оригинал (3.24 МБ)</a>
solo писал(а):с ардуинкой все стыкуется легко по ком порту
к сожалению и счастью, я не ардуинщик :D

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

Добавлено: 07 фев 2020, 20:15
Vitalii
А что с полученными значениями заказчики будут делать потом?

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

Добавлено: 07 фев 2020, 20:50
MX_Master
Какие ещё заказчики? :hehehe: Мне и Афтаеву сие изобретение нужно для проверки устройств, в которых мы не совсем уверены. Я буду проверять вывод шагов на Orange Pi, ну а Саня будет проверять всё, что ему в данный момент нужно. Когда прошивка будет готова, то и любой другой человек сможет это бесплатно использовать в своих целях.

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

Добавлено: 07 фев 2020, 22:59
Serg
MX_Master писал(а):Я уже проверил на своём ZTE китайце с андройдом 5.1. По крайней мере, питание подаётся стабильно. Под рукой было всё.
Samsung S5 mini - питание подается, но как хост он не работает...

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

Добавлено: 07 фев 2020, 23:16
aftaev
MX_Master, пусть питается от USB.
Выводить можно на какой нибудь TM1637. У него 4ре знака 9999 степов. При шаге 0,001мм = 10мм. То есть если потеряется 9999шагов, то смещение по осям будет 10мм. Что дофига, и для тестов более чем. Ну если совсем жирно хочется то MAX7219 на 8 индикаторов.

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

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

Если я правильно понял в итоге нужно сравнить координаты которые в управляющей программе, и координаты которые могли-бы получиться, при том количестве управляющих сигналов step и dir, что были посланы, не учитывая тот момент что по ряду причин реальное положение может отличаться (драйвер не распознал импульс, соединяющая муфта между мотором и валом не была хорошо закреплена, и др...)

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

Добавлено: 08 фев 2020, 02:20
Serg
А почему-бы для подсчёта шагов не использовать свободные пины arisc.gpio?..

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

Добавлено: 08 фев 2020, 04:07
wldev
aftaev писал(а):MX_Master, пусть питается от USB.
Выводить можно на какой нибудь TM1637. У него 4ре знака 9999 степов. При шаге 0,001мм = 10мм. То есть если потеряется 9999шагов, то смещение по осям будет 10мм. Что дофига, и для тестов более чем. Ну если совсем жирно хочется то MAX7219 на 8 индикаторов.
Действительно. На самом деле не важно какое расхождение, а его наличие.
Тогда на этой плате есть диод, который может об этом сообщить. Если есть не ноль хотя бы у одной оси.

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

Добавлено: 08 фев 2020, 04:23
Serg
Bender писал(а):Если есть не ноль хотя бы у одной оси.
А с чем сравнивать измеренное количество шагов? :)

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

Добавлено: 08 фев 2020, 04:29
wldev
UAVpilot писал(а):
Bender писал(а):Если есть не ноль хотя бы у одной оси.
А с чем сравнивать измеренное количество шагов? :)
С тем ,что при возвращении в положение сброса, счётчик импульсов должен вернутся в ноль.

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

Добавлено: 08 фев 2020, 06:23
nevkon
Габаритный размер решения имеет значение? Конечно можно использовать stm, кнопку сброса и светодиод расхождения (пока горит значит в "0" не вернулись). А можно использовать аппаратное решение. Счетчик на К561ИЕ11 (надо будет несколько микросхем по максимальному числу шагов в одном направлении), элемент массового "И", светодиод и кнопка сброса.
зы. Тут подумал - даже "И" не надо, просто на каждый разряд повесить по светику, заодно можно будет узнать итоговое расхождение импульсов.

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

Добавлено: 08 фев 2020, 07:27
MX_Master
UAVpilot писал(а):Samsung S5 mini - питание подается, но как хост он не работает...
Жаль. Ну что ж, будем иметь ввиду, что от телефона можно только запитать. Переключимся тогда на мини дисплеи..
UAVpilot писал(а):А почему-бы для подсчёта шагов не использовать свободные пины arisc.gpio?..
Можно, но лучше юзать независимое устройство. Так будет надёжнее. Этот счётчик можно запитать, к примеру, от повербанка. Тогда результат будет независим даже от скачков питания.
selenur писал(а):Можно взять например такой экран: https://www.aliexpress.com/item/32896971385.html
Для подключения нужно всего 4 провода:
Хороший вариант. Этот малыш даже в местных магазинах есть. Там же продаются синие пилюли с STM32. Для моих задах нужен счётчик хотя бы на 4 оси ;) Так что этот малыш вполне подойдёт. В дальнейшем можем добавить поддержку и для других экранов, однострочных, многострочных, SPI, ...

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

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