Прошу помощи в создании ПО для Ардуино.

Хотел бы вот такое устройство и программу...
Mikchail
Рядовой
Сообщения: 8
Зарегистрирован: 19.04.2023{, 04:36}
Репутация: 0
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#1

Сообщение Mikchail » 19.04.2023{, 05:33}

Доброго времени суток.
Обращаюсь к специалистам, у кого есть желание и возможность написать программу на FLProg или на C. Конечно на коммерческой основе.
Есть китайские цифровые линейки Shahe. Разрешение 0,01 мм. В линейке встроенный чип, который выдает данные своим протоколом, скорее SSI.
Информацию по применению этих линеек в связке с Ардуино нашел в Интернете. Есть видео ролик.
https://yandex.ru/video/preview/4267199194278533614
Так же у человека который разработал этот проект, в свободном доступе выложен исходный проект с описанием пути как он пришел к этому решению.
С моим уровнем знаний в этом проекте не разобраться, что бы переделать его под свою задачу.
У меня задача такая. Нужно что бы Ардуино принял данные с двух линеек и приготовил для передачи по интерфейсу RS485.
По протоколу Modbus RTU. С заданными параметрами протокола - скорость, длина данных, стоп бит, сетевой адрес, адрес регистра хранения данных и т. д.
Во вложенном файле исходный проект который скачал из Интернета.
PS. Обращался напрямую к этому человеку с таким предложением. Ответа никакого не дождался...

Отправлено спустя 3 часа 39 минут 34 секунды:
Мне не нужен такой проект как в исходном файле, с кнопками, с дисплеем, с о встроенной eeprom. Нужно просто принять данные с линейки и отправить их на порт RS485.
Вложения
ArduinoDRO-master.rar
(4.61 МБ) 20 скачиваний

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Прошу помощи в создании ПО для Ардуино.

#2

Сообщение ecoins » 19.04.2023{, 10:19}

Mikchail писал(а):
19.04.2023{, 09:12}
Мне не нужен такой проект как в исходном файле, с кнопками, с дисплеем, с о встроенной eeprom. Нужно просто принять данные с линейки и отправить их на порт RS485.
Посмотрел ролик. В нем и у Вас в явной форме не сформулировано требование к быстродействию обработки данных с линеек. Если это не для контроля положения, а для управления быстрым устройством (стол и прочее), то Modbus RS-485 не лучшая идея.

Mikchail
Рядовой
Сообщения: 8
Зарегистрирован: 19.04.2023{, 04:36}
Репутация: 0
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#3

Сообщение Mikchail » 19.04.2023{, 10:27}

Скорость перемещения контролируемого узла в пределах 0,1 мм/ сек.

Отправлено спустя 2 минуты 11 секунд:
То есть как раз для контроля положения узла.

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Прошу помощи в создании ПО для Ардуино.

#4

Сообщение ecoins » 19.04.2023{, 11:53}

Mikchail писал(а):
19.04.2023{, 10:29}
Скорость перемещения контролируемого узла в пределах 0,1 мм/ сек.
Это для чего-то вроде цифрового микроскопа или контроля?
Тема интересная. Насколько Вы технически готовы к её реализации - есть оборудование, узлы и пр.?
По требованию к софту наверное понятно.
Не понятно следующее - эти узлы (линейки) так далеко удалены от контроллера?
Не проще ли просто передавать данные по UART в контроллер?
С уважением, Энвер?

Mikchail
Рядовой
Сообщения: 8
Зарегистрирован: 19.04.2023{, 04:36}
Репутация: 0
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#5

Сообщение Mikchail » 19.04.2023{, 12:29}

Оборудование стоит и работает. Это валы каландров. Контролировать нужно зазор между валами. Линейки стоят в 1,5 м. от пульта управления. Как передать с линеек по UART если в чипе линеек свой протокол. Последовательный синхронный интерфейс. В приложенном файле есть папка DOCS. Там есть картинка подхвата протокола. А в исходнике программы есть программный блок на С, с комментариями, как подхватывается и обрабатывается этот протокол Ардуино. Для меня это сложновато, а для человека который хорошо знает язык С, всё должно быть понятно...

Отправлено спустя 16 минут 39 секунд:
Роль Ардуино здесь принять данные с измерительных линеек и просто передать на порт RS485.
Вложения
Захват протокола.png
Захват протокола.png (8.02 КБ) 1228 просмотров

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Прошу помощи в создании ПО для Ардуино.

#6

Сообщение ecoins » 19.04.2023{, 13:26}

Mikchail писал(а):
19.04.2023{, 12:45}
Роль Ардуино здесь принять данные с измерительных линеек и просто передать на порт RS485.
Посмотрел файлы. Программа написана хорошо, с комментариями.
Очень примерно увидел где идет обработка данных.
В явной форме не увидел описание протокола - он есть?
Задача любопытная, но может кого-то она заинтересует? Давайте подождем.
С уважением, Энвер.

Mikchail
Рядовой
Сообщения: 8
Зарегистрирован: 19.04.2023{, 04:36}
Репутация: 0
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#7

Сообщение Mikchail » 19.04.2023{, 14:32}

Протокол, судя по комментариям в видеоролике, должен быть не сложный. Тактирующие импульсы (синхронизация, верхняя осциллограмма на картинке) инициализирует сам чип на линейке. Без запроса с устройства. Нижняя осциллограмма непосредственно данные.

Цитата: "В явной форме не увидел описание протокола - он есть?
Очень примерно увидел где идет обработка данных."

А если внимательно разобрать программный блок обработки данных, наверное можно понять как обрабатывается протокол самим Ардуино?

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Прошу помощи в создании ПО для Ардуино.

#8

Сообщение ecoins » 19.04.2023{, 14:39}

Mikchail писал(а):
19.04.2023{, 14:32}
А если внимательно разобрать программный блок обработки данных, наверное можно понять как обрабатывается протокол самим Ардуино?
Так и есть, я думал что где-то есть описание? А производитель линеек не может что-то написать, ответить?
И еще, для тестирования дешевую линейку как-то можно приобрести где-нибудь?
----
А готовое решение с дистанционным выходом не подойдет?
https://aliexpress.ru/item/32856015738. ... 4aa6Qu694h

Mikchail
Рядовой
Сообщения: 8
Зарегистрирован: 19.04.2023{, 04:36}
Репутация: 0
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#9

Сообщение Mikchail » 19.04.2023{, 14:49}

Линейки эти и есть. Со своим пультом. Но мне нужно передать информацию дальше, для дальнейшей обработки.

MM33
Рядовой
Сообщения: 41
Зарегистрирован: 23.06.2021{, 11:52}
Репутация: 7
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#10

Сообщение MM33 » 19.04.2023{, 15:28}


Тот же самый протокол.
Это точно не SSI.
По моему между удлиненными "единицами" в тактовой посылке в канале дата передается двоичный код по-разрядно.
По переднему фронту синхронизации сдвигается место в регистре по заднему заносится в это место значение 0 или 1.

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Прошу помощи в создании ПО для Ардуино.

#11

Сообщение ecoins » 19.04.2023{, 15:37}

Mikchail писал(а):
19.04.2023{, 14:49}
Линейки эти и есть. Со своим пультом. Но мне нужно передать информацию дальше, для дальнейшей обработки.
4. Удаленное считывание дисплея удобно для чтения и работы (из описания) - я думал у дисплей есть выход.
MM33 писал(а):
19.04.2023{, 15:28}
Тот же самый протокол.
Это точно не SSI.
По моему между удлиненными "единицами" в тактовой посылке в канале дата передается двоичный код по-разрядно.
По переднему фронту синхронизации сдвигается место в регистре по заднему заносится в это место значение 0 или 1.
А вот здесь побольше конкретной информации и код вроде выделен нужный в скетч.
----
Похоже задача интересная и полезная для FLProg, давайте совместными усилиями попробуем её "поднять".
Нам для начало работы нужно исходное устройство. Или где можно что-то снять - как из штангеля вытащить пока не очень понятно, но наверное можно.
А отдельно на ali линейки есть?

Mikchail
Рядовой
Сообщения: 8
Зарегистрирован: 19.04.2023{, 04:36}
Репутация: 0
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#12

Сообщение Mikchail » 19.04.2023{, 16:02}

MM33 писал(а):
19.04.2023{, 15:28}

Тот же самый протокол.
Это точно не SSI.
По моему между удлиненными "единицами" в тактовой посылке в канале дата передается двоичный код по-разрядно.
По переднему фронту синхронизации сдвигается место в регистре по заднему заносится в это место значение 0 или 1.
За ссылку на видео спасибо.Таких видео в интернете я просмотрел достаточно много. И естественно, нигде не увидел полного программного кода. Кто же выложит свои труды за бесплатно на всеобщее обозрение...
Поэтому я и запросил здесь помощь у специалистов. Кто способен реализовать полноценный работающий проект по моим данным которые я предварительно описал?

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 677
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 49
Имя: Виктор

Прошу помощи в создании ПО для Ардуино.

#13

Сообщение ViktorPetrov » 19.04.2023{, 18:38}

Вспомнил,тоже интересовался для штангенциркуля ,спс за подсказку,блоки посмотрите готовые в теме:viewtopic.php?f=112&t=8035

Mikchail
Рядовой
Сообщения: 8
Зарегистрирован: 19.04.2023{, 04:36}
Репутация: 0
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#14

Сообщение Mikchail » 20.04.2023{, 17:17}

ViktorPetrov писал(а):
19.04.2023{, 18:38}
Вспомнил,тоже интересовался для штангенциркуля ,спс за подсказку,блоки посмотрите готовые в теме:viewtopic.php?f=112&t=8035
Просмотре Ваши ссылки. Очень полезная информация. Стоит подумать над тем что со штангелем может быстрее и проще получиться.
Спасибо за помощь!

MihailK
Сержант
Сообщения: 104
Зарегистрирован: 05.12.2020{, 23:42}
Репутация: 11
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#15

Сообщение MihailK » 21.04.2023{, 23:21}

В станках применяют оптические линейные энкодеры. Точность до 1мкм. с подключением проблем нет. https://aliexpress.ru/item/32848997310. ... 4aa6YQm5hr

Mikchail
Рядовой
Сообщения: 8
Зарегистрирован: 19.04.2023{, 04:36}
Репутация: 0
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#16

Сообщение Mikchail » 23.04.2023{, 17:25}

MihailK писал(а):
21.04.2023{, 23:21}
с подключением проблем нет. https://aliexpress.ru/item/32848997310. ... 4aa6YQm5hr
Можно поподробней про подключение?

MihailK
Сержант
Сообщения: 104
Зарегистрирован: 05.12.2020{, 23:42}
Репутация: 11
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#17

Сообщение MihailK » 25.04.2023{, 21:01}

Я не подключал. Изделие промышленное сигналы выходные у всех думаю стандартные. Здесь есть более подробное описание https://skbis.ru/catalog/linear/sealed/lir-8m

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Прошу помощи в создании ПО для Ардуино.

#18

Сообщение Dryundel » 26.04.2023{, 07:24}

MihailK писал(а):
25.04.2023{, 21:01}
сигналы выходные у всех думаю стандартные
Нет.

MM33
Рядовой
Сообщения: 41
Зарегистрирован: 23.06.2021{, 11:52}
Репутация: 7
Имя: Михаил

Прошу помощи в создании ПО для Ардуино.

#19

Сообщение MM33 » 26.04.2023{, 10:45}

В лировских линейках на выходе стандартный квадратурный сигнал А/А,В/В,Z/Z.
После преобразования диф сигнала в потенциальный можно заводить на блок от Drundel PRO Encoder. Только при хорошем разрешении (допустим микрон) и большой скорости перемещения ардуино может не пройти по граничной частоте. Андрей приводил предел 127кГц.

Отправлено спустя 7 минут 33 секунды:
Линейка должна быть с выходными сигналами уровня ТТЛ

promiks111
Рядовой
Сообщения: 19
Зарегистрирован: 14.04.2018{, 18:50}
Репутация: 4
Имя: Артур

Прошу помощи в создании ПО для Ардуино.

#20

Сообщение promiks111 » 27.04.2023{, 15:33}

Добрый день. Делал проект на этой линейке для считывания вывода показаний на 7 сегм 6 разр. индикатор на тм1637.Линейка стоит на рейсмусовом деревообрабатывающем станке. Особенностью прошивки является коррекция показаний линейки путем прибавления константы, так как нет возможности сомкнуть линейку в ноль и произвести обнуление( подвижный стол станка не позволяет)
Разрабатывалось в версии FLP7.3.8 проект рабочий на NANO.
viewtopic.php?f=112&t=8035&p=114647&hilit=dro#p114647
Вложения
DRO_SHAHE_2021_1.flp
(1.07 МБ) 18 скачиваний

Ответить

Вернуться в «Прием заказов»