Измеритель длины.

Sasha84
Offline
Зарегистрирован: 06.09.2018

Ребята кто может помочь в написании скетча? Для измерителья длины. Миханическую часть собрал а вот с электроникой немного не получается. Вернее со скетчам.

man9913
Offline
Зарегистрирован: 19.03.2016
Sasha84
Offline
Зарегистрирован: 06.09.2018

https://youtu.be/OgAHcQ-aSp8 я брал за основу все с этого видео. Но у меня не получилось при быстром вращении цыфры скачать не в попад. Может из за того что у меня не энкодер а индуктивный датчики.
Файл можно получить по ссылке:
2018-11-18 10-41-30.JPG
https://yadi.sk/i/PL8OYKIgKDNFkg

sadman41
Offline
Зарегистрирован: 19.10.2016

А кто вас надоумил напрямую менять энкодер на два индуктивника? В скетче-то меняли хоть что-то или так оставили?

Sasha84
Offline
Зарегистрирован: 06.09.2018

Нет не чего не менял! Поэтому прошу помощи в написании скетча. Я за основу взял все из этого видео. В написании я не взуб ногой.

sadman41
Offline
Зарегистрирован: 19.10.2016

Измерять нужно в одну сторону? Судя по фотографии конструктива работать он будет одинаково, куда не крути.

inspiritus
Offline
Зарегистрирован: 17.12.2012

Ну расстояния между метками и датчиками все равно не точные, так что один раньше другого. 

Похоже это элемент протяжки ленты для штамповки. Там лента в одну сторону идет при работе.

для начала один датчик завести на прерывание и считать.

еще интересно : какие датчики, сколько проводов, что выдают на выходе?

Sasha84
Offline
Зарегистрирован: 06.09.2018

В оба напровления. Если вдруг перемотал что-бы можно было вернуть оттянув назад. Измеряется будет молния для одежды. Протяжка в ручную.

Sasha84
Offline
Зарегистрирован: 06.09.2018

Этот элемент протяжка я сам спроэктировал выточил на ЧПУ.

Sasha84
Offline
Зарегистрирован: 06.09.2018

Датчики китайские нормально открытые выдают на выходе 5в питаются от платы ардуино.

sadman41
Offline
Зарегистрирован: 19.10.2016

inspiritus пишет:

Ну расстояния между метками и датчиками все равно не точные, так что один раньше другого. 

То, что расстояния неравные - дополнительный гемор. А алгоритм достоверного определения направления вращения при такой частой посадке сигнальных элементов я не представляю. 

Sasha84
Offline
Зарегистрирован: 06.09.2018

Я не совсем понимаю о чем вы говорите. Датчик срабатывает один раньше другова. Потом обо в нуле. В обратную сторону уже другой датчик. Первым срабатывает.

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

Sasha84 пишет:
Я не совсем понимаю о чем вы говорите. Датчик срабатывает один раньше другова. Потом обо в нуле. В обратную сторону уже другой датчик. Первым срабатывает.

простой пример для иллюстрации проблемы

.....ьматьматьматьматьм....

что тут написано - мать-мать-мать или тьма-тьма-тьма....?

Вот и с вашими датчиками - при быстром вращении невозможно определить, какой срабатывает первым, какой вторым. Поэтому и направление неизвестно

Sasha84
Offline
Зарегистрирован: 06.09.2018

b707 пишет:

Sasha84 пишет:
Я не совсем понимаю о чем вы говорите. Датчик срабатывает один раньше другова. Потом обо в нуле. В обратную сторону уже другой датчик. Первым срабатывает.

простой пример для иллюстрации проблемы

.....ьматьматьматьматьм....

что тут написано - мать-мать-мать или тьма-тьма-тьма....?

Вот и с вашими датчиками - при быстром вращении невозможно определить, какой срабатывает первым, какой вторым. Поэтому и направление неизвестно


Есть ли варианты исправить ситуацию?

Onkel
Offline
Зарегистрирован: 22.02.2016

Вряд ли механика работает быстрее электроники. Хорошо бы посмотреть осциллограмму. Думаю, что программа тоже может быть тонким местом, особенно если она написана на Arduino IDE - код можете показать?   А микроконтроллер потянет - если написать фрагменты обработки прерываний от сенсоров на честном С, то можно корректно считать и в микросекундном диапазоне, с частотами вращения сотни тысяч импульсов в секунду. Я делал энкодеры для систем прецезионного движения, с частотами 10^5/мин, по 8 каналам (4 оси) и никаких проблем не имел. Пишите ydom@mail.ru  поможем, а если нужно сделать и сделаем. 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

sadman41 пишет:

inspiritus пишет:

Ну расстояния между метками и датчиками все равно не точные, так что один раньше другого. 

То, что расстояния неравные - дополнительный гемор. А алгоритм достоверного определения направления вращения при такой частой посадке сигнальных элементов я не представляю. 

Правильно!
Для определения направления вращения нужно чтобы сигналы имели зону перекрытия-
зону когда сработали оба.
И потом смотря какой первым  разомкнулся можно сделать вывод куда закрутился.

Но сделать это на индуктивных датчиках по моему механическая проблема проблема :
магнитные поля будут искривляться соседним датчиком.

Onkel
Offline
Зарегистрирован: 22.02.2016

Для того, чтобы регистрировать направление вращения, нужно систему регистрации с пересекающейся зоной чувствительности двух сенсоров, при этом они не обязательно должны быть рядом, просто угловое расстояние может быть некратно  углу между магнитами.
 

Onkel
Offline
Зарегистрирован: 22.02.2016

Нет, не проблема - датчики можно поставить хоть на противоположных сторонах диска, главное чтобы зоны чувствительности правильно были расположены.

 

Sasha84
Offline
Зарегистрирован: 06.09.2018

Onkel пишет:

Для того, чтобы регистрировать направление вращения, нужно систему регистрации с пересекающейся зоной чувствительности двух сенсоров, при этом они не обязательно должны быть рядом, просто угловое расстояние может быть некратно  углу между магнитами.
 


У меня все так и есть. Заходит один датчик следом второй они оба в зоне сработки потом по очереди выходят и поподают оба в ноль.

inspiritus
Offline
Зарегистрирован: 17.12.2012

В любом случае точность зависит от расстояния между метками. То , что видно на фото я оцениваю плюс/минус пять сантиметров.

а Вы на какую точность расчитываете?

Onkel
Offline
Зарегистрирован: 22.02.2016

Значит надо закрутить и посмотреть осциллограмму, справляются ли. Можно просто частотомером померить пропорциональность выходной частоты скорости вращения. Или сделать эмулятор - генератор, подать на электронику и проверить, тянет ли электроника по времени. А заочно советов можно много накидать.

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Sasha84 пишет:
Onkel пишет:

Для того, чтобы регистрировать направление вращения, нужно систему регистрации с пересекающейся зоной чувствительности двух сенсоров, при этом они не обязательно должны быть рядом, просто угловое расстояние может быть некратно  углу между магнитами.
 

У меня все так и есть. Заходит один датчик следом второй они оба в зоне сработки потом по очереди выходят и поподают оба в ноль.

Тогда возьмите библиотеку энкодэра и запустите пример для проверки.

Недавно менял подшипники в оптическом  Z энкодэре от мотора  на 1024 импульса.
И чтобы снова его собрать (выставить  расстояние от датчиков до фотопластинки)
пришлось крутить этим примером туда-сюда на десятки оборотов
и проверять возврат к нулю.
Пришлось на токарном станке задавливать диск до достижения стабильного счёта.
Как впрочем и разобрать без такарного станка невозможно.

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

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

sadman41
Offline
Зарегистрирован: 19.10.2016

trembo пишет:

Тогда возьмите библиотеку энкодэра и запустите пример для проверки

Он с алгоритмом энкодера и пробует. На высокой скорости проблемы начинаются. Так что тут еще разбираться надо - физика мешает считать или неправильно примененный код.

Sasha84
Offline
Зарегистрирован: 06.09.2018

В этом вся и суть что в библиотеках я не селен вовсе!
Где её взять?

Sasha84
Offline
Зарегистрирован: 06.09.2018

Код неправильный однозначный я в первом сообщении кидал ссылку на видео которое я взял за основу там код написан на энкодер а у меня индуктивный датчики. Суть моего обращения чтобы разъяснили или написали код для индуктивный датчиков естественно не бесплатно!

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Sasha84 пишет:
в библиотеках я не селен

И не бром, и не фтор, и не ртуть.

sadman41
Offline
Зарегистрирован: 19.10.2016

Тут онкель прав, несмотря на свой честный Си - начать лучше с осциллографа. Может там вообще никакая супербыстрая библиотека не поможет

Sasha84
Offline
Зарегистрирован: 06.09.2018

Че грамотный такой???

Sasha84
Offline
Зарегистрирован: 06.09.2018

sadman41 пишет:

Тут онкель прав, несмотря на свой честный Си - начать лучше с осциллографа. Может там вообще никакая супербыстрая библиотека не поможет


Но видео же есть в ютубе вроде бы у них работает.

Sasha84
Offline
Зарегистрирован: 06.09.2018

inspiritus пишет:

В любом случае точность зависит от расстояния между метками. То , что видно на фото я оцениваю плюс/минус пять сантиметров.

а Вы на какую точность расчитываете?


Расчёт идёт на 3 см окружность колеса 24 см. У меня 8 точек.

sadman41
Offline
Зарегистрирован: 19.10.2016

Sasha84 пишет:
sadman41 пишет:

Тут онкель прав, несмотря на свой честный Си - начать лучше с осциллографа. Может там вообще никакая супербыстрая библиотека не поможет

Но видео же есть в ютубе вроде бы у них работает.

Вы определитесь - нужно чтобы работало или "вроде бы работало". Тут вон люди по ютубу делали поливалку для цветов - потом пришли домой с работы, а у них озеро на полу и утки крякают.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

sadman41 пишет:

trembo пишет:

Тогда возьмите библиотеку энкодэра и запустите пример для проверки

Он с алгоритмом энкодера и пробует. На высокой скорости проблемы начинаются. Так что тут еще разбираться надо - физика мешает считать или неправильно примененный код.

Может быть инерционность датчиков мешает?
Они работают по принципу изменения частоты с изменением индуктивности.
Наверно внутри есть фильтр от резких изменений.
Обычно они как концевики используются....

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

sadman41 пишет:

Тут онкель прав, несмотря на свой честный Си - начать лучше с осциллографа. Может там вообще никакая супербыстрая библиотека не поможет

А лучше начать с Saleae......

Onkel
Offline
Зарегистрирован: 22.02.2016

Ну если бы у ТС была Saleae он бы не задавал таких вопросов.

Можно звуковой картой.

Sasha84
Offline
Зарегистрирован: 06.09.2018

trembo пишет:

sadman41 пишет:

trembo пишет:

Тогда возьмите библиотеку энкодэра и запустите пример для проверки

Он с алгоритмом энкодера и пробует. На высокой скорости проблемы начинаются. Так что тут еще разбираться надо - физика мешает считать или неправильно примененный код.

Может быть инерционность датчиков мешает?
Они работают по принципу изменения частоты с изменением индуктивности.
Наверно внутри есть фильтр от резких изменений.
Обычно они как концевики используются....


Я смотрел в магазине провод мотали датчики обсалютно одинаковые.

Onkel
Offline
Зарегистрирован: 22.02.2016

Ну Вам уже указали на все возможные причины.
1. Механика - вряд ли датчики, в АСУТП не делают оченьхреновых датчиков, даже в китае. Есть маза что питания, снятого с ардуино нехватает и датчики лезгинят, но это надо смотреть  прибором. Можно поставить кондер посильнее. Есть еще возможность неправильного подключения или конфигурации датчиков, например забыли подтяжку, а датчик имеет выход открытый коллектор.
2. Если Вы используете библиотечную функцию, то ее можно неправильно сконфигурировать, или может быть конфликт с другими библиотечными функциями - причин может быть множество, и разбираться даже знающим людям можно часами.

Вот и все. Чтобы понять, какая причина в Вашем случае нужно смотреть - слушать наушником, смотреть осциллографом или saеаe. Или пишите договоримся о платной услуге.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Sasha84 пишет:
Че грамотный такой???

А ты с какого раёна, пацанчик?

Sasha84
Offline
Зарегистрирован: 06.09.2018

DIYMan пишет:

Sasha84 пишет:
Че грамотный такой???

А ты с какого раёна, пацанчик?


С Ленинского.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Ты с какова ПТУ, пацанчик?