Top.Mail.Ru
Уведомления
Очистить все

Создаю щелевой датчик - ВС мотор - энкодерный диск и компаратор LM393 - STM32 - Tim1_encoder

Страница 1 / 2
Serg812
(@serg812)
Level 2

Пример перед глазами - струйные принтеры: компактные габариты, цена и точность.
Энкодерный диск на фото: разрешение 2 градуса - первый круг, второй круг - 1 градус, есть противофаза, и 3-й круг - 90 градусов - нуль-параметр и центр диска.
Возник ряд вопросов, может кто-то сталкивался и подскажет:

  • нужна ли модуляция входящего сигнала на IR диод?
  • какой частоты?
  • как реагирует компаратор LM393?

Параллельно к его использованию в DS есть соединение для ZCD (точка пересечения нуля). Это важно для управления нагрузкой AC, в том числе индукционной (реле и моторами переменного тока с короткозамкнутым ротором). Буду признателен, если поделитесь опытом. 

По энкодерному датчику есть несколько соображений: ширина щели (параллельно линии радиуса 0,2 мм), предполагаю 0,12 мм - толщина лезвия; 0,39 мм - малый канцелярский нож. Материал - алюминиевая фольга из-под пивной банки. Половинку лезвия можно использовать как шаблон, чтобы подогнуть края щели длиной 10 мм. Для соосности, пластинку из фольги сложить пополам. Верхняя щель послужит шаблоном для прорези - нижней.

Сам энкодерный диск диаметром 120 мм, первый круг (тор) - 110-120мм, разрешение 2 градуса;  второй - 100-110 мм, разрешение 1 градус. Можно печатать на струйном принтере на прозрачном диске без фольги, снимается при слабом нагреве, на пленке - филм.

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

Благодарности:
- вдохновил Тим Уилмерхерст, с. 229, 252, Разработка встроенных систем с помощью микроконтроллеров PIC;
- администрации ресурса за поддержку начинающих ( и меня тоже =) ) разработчиков;
- участникам форума за творческую атмосферу на канале, можно испить чашечку кофе по традиции Java - разработчиков )

Encoder 2deg 1deg chnl
Цитата
Topic starter Размещено : 16.02.2023 19:59
Тэги темы
Serg812
(@serg812)
Level 2

Дело учит мастера - немецкая пословица (Ubung macht den Meister)
 Подключаем ИК диод - белую линзу к питанию по этой схеме с NPN транзистором - 2n2222A, с рабочей частотой 200 МГц. Подбираем свои параметры -  RC -  тайминга и напряжений, силы тока на базе. Полностью автономно. Бережем ресурсы mcu. А принимать будем через компаратор - аналоговый сигнал, тоже через транзистор.
Схема для подключения модулятора - генератора импульсов. 

 

 NPN 2n 2222 A PulseWidth 10us

 

ОтветитьЦитата
Topic starter Размещено : 17.02.2023 17:29
Эдуард
(@eduard)
Level 3 Moderator

@serg812 Может стоит использовать какое то готовое устройство считывания линий, что бы давало сразу 1 или 0. Или использовать компаратор?

На транзисторах как то странно уже смотрится. При таком развитии различных датчиков.

ОтветитьЦитата
Размещено : 17.02.2023 20:51
Serg812
(@serg812)
Level 2

@eduard Добрый день!) LM393 (встроенный компаратор), TSOP1738 (демодулятор 38 кГц) - на выходе - низкочастотные управляющие импульсы. Подходит для приема - передачи - пачками байтов. Внешний компаратор - 20 шт за 70 руб. LM393 - заказал на АЕ. 

Но это и интересно, встроенный компаратор - прочитает - ноль точки, инвертирует сигнал, выведет на Таймер и тот посчитает количество импульсов - в секунду или минуту. 

Спасибо за вопрос, т.к. параллельно (готовые устройства) - появляется несколько "тем".
1) Прием-передача  "пачек" данных - в один байт. Аппаратурное и программное решение есть у Микрочипа TB0095:

2) Последовательная передача байта через один Пин - методом сдвига. Решение есть у Мазиди с.180-182 (  ПИК микроконтроллеры и встроенные системы с использованием ассемблера и С для ПИК18). Передача по TB0085 -  по 4-е бита, можно модифицировать - под 9 бит, для старт-стоп - битов, идет 9-битный импульс, потом пропуск на это количество тиков, следующий импульс...

i

     

ОтветитьЦитата
Topic starter Размещено : 17.02.2023 21:46
Serg812
(@serg812)
Level 2

 Hi  everybogy)))
-  Рисунок выше - на транзисторе и конденсаторе - модулятор IR - сигнала излучающего диода 200 кц. - У него нет цифровых функций.

 В порядке разработки проекта. Изучаю(-ем) базовые уроки:
- Компаратор + Таймер - для анализа щелевого датчика. Также изучаю побитовую передачу данных через Pin Out. В связи с этим изучаю функцию Спп  перевода рабочей переменной из десятичного в двоичный формат.
-Создам два демо-проекта -  1)CCom + Tim; 2) BCD (Decimal for Binary) 8 Bit Data.

Изучаю аппаратную часть модуляцию исходящего сигнала byte-code - STM32 + TL3843 (до 500kHz)  +  прием на внешний компаратор  LM393 + STM232.

Для модуляции IR  излучения щелевого датчика - можно поставить самые простые и не дорогие детали. И за одно познакомится с ними. Транзистор NPN 2n 2222a -  схема выше - дает частоту 200 mHz. Вполне успешно может работать с кварцем 433 mHz -  автомобильный диапазон, модулируя передачу чигнала по  UART. 

Кстати, наш проект предполагает развитие - размещение  Rx & Tx на борту Master and Slave -  для инфракрасной связи на частотах 200 kHz  до 1 мГц. 

Кстати на картинке выше -  PWM 200ns, т.е. 0,2 микросекунды. Частота, соответственно 1/0,2 мкр.с. = 5 мГц. Очень даже неплохо. Конечно  TL3843  отдыхает, и PWM модуляцией придется сигнала с такой несущей частотой придется заниматься на борту  STM32F051R8T6, с которым я развлекаюсь. И дальше работать в диапазоне 433 mgz - как в оптическом так и в радиоволновом видах связи.  

На картинке  снизу - показана схема работы  PWM преобразователя с обратной (!!!) связью с цифровым датчиком темепературы. Характеристики mcp1630 -  внешний осцилятор 1 мГц, PWM -0,1us  ( т.е. 10 мГц), аналог TL3843P.

PWM mcp1630 с цифровой обратной связью

   

ОтветитьЦитата
Topic starter Размещено : 18.02.2023 22:41
Serg812
(@serg812)
Level 2

@eduard Рация устанавливается на танке!) И причем тут транзистор;))))))))))

 ИК сигнала   излучения LM393 Arduino
ОтветитьЦитата
Topic starter Размещено : 18.02.2023 23:48
Serg812
(@serg812)
Level 2

@eduard  Кстати, хороший вопрос. 
Рассчитал полосовые фильтры:

ФВЧ  159,24 кГц (R 10k), C (100pf); ФНЧ (132.7 кГц)  R1200 om/C 1 nf

ФНЧ=15.92 kHz, R= 100 ohm; C= 100 nf; |||| ФИЧ = 31.85 kHz, R= 1000 Ohm, C= 5 nf .

И вот такой вопрос: - модулируем  PWM MCU несущую частоту Коллектора  (NPN  - к плюсу), на которой стоит кварц 38 кГц (через базу второго транзистора) - питание линии с несущей частотой...

(Все же полезная штука - этот ФОРУМ. Эффект муравейника. Срабатывает. Дух состязательности подталкивает вперед. Это радует...))

Все это, в итоге, интересно проверить через логический анализатор ( он меня заждался) и,или через осциллограф - тоже ... пылится. Хорошего - времени суток! 

ОтветитьЦитата
Topic starter Размещено : 19.02.2023 02:45
Эдуард
(@eduard)
Level 3 Moderator

@serg812 Я конечно всё понимаю. Но может не стоит стремиться к такой уж дешевизне?

Можно использовать готовые модули. Они настолько дёшевы, что аж смешно становится.

https://microtechnics.ru/profilegrid_blogs/prikormochnyj-korablik-zarodysh-korablika-dlya-podkormki/#more-18628

Вот пример. Он у меня на столе с проводами работал. Плату под него разрабатывать не стал. Если и буду воплощать в жизнь, то на STM и рассыпухой, а не модулями.

Сейчас разрабатываю взаимодействие 5ти NRF24L01+. Причём модули не буду использовать. Сами приёмопередатчики будут разведены на основной плате.

ОтветитьЦитата
Размещено : 19.02.2023 10:15
Serg812
(@serg812)
Level 2

Мне очень понравился проект. И нравится идея творчества. На ГитХабе есть возможность  - covorking and fork (clone of the project). - Как-то так. И конечно - слова  и в душе - благодарность за внимание и совет.
 А знаете, Эд ( можно так?), знаете, что самое главное в этом - моем проекте? - Логика проекта, его алгоритмы (об этом проекте). И, кстати модули, - уменьшаются в количестве, - когда знаешь что делать.
- Рассчитал частоту  и период - для несущего сигнала и для PWM 1-10 Duty Cycle. И все встало на свои места.
- Так же рассчитал  простенький алгоритм ввода данных (multi dataу enter), - когда нам надо ввести несколько цифр, например географические координаты объекта - доставки "прикормки";
- построил алгоритм ИК-связи с мультибайовым вводом и передачей данных, с применением встроенного ассемблера - передача данных через 1 пин;

- построил алгоритм цифрового замка с ИК интерфейсом и шифрованием 32-битного пароля - для числа 4294967296. Побор пароля - это n! факториал перестановок.  Для 9 битого числа 429 n! -  число перестановок 5,3364 Е+944. Для нашего числа 4 триллиона 294 миллиарда - мой деск-топовский калькулятор не смог просчитать - факториал.      

   А это системеа сигнализации  - с вашей темой  NRF  в качестве автомобильной и коммерческой сигнализации доступа - на объект, к кнопке пуск компьютера и пр. - это актуально.  Хотя пароли подбирают, зная примерно системное время генерации пароля. Но можно вместо системного времени для генерации  RAND применить другие последовательности - последовательность знаков в абзаце Вашей любимой книги KOI8, с перестройкой в последовательность Фибоначи, для стартового числа Криптографии. Можно применять генерацию  Java -  криптографии с открытым (исходящее шифрование) и закрытым (дешифрация) ключами. В том числе доступ к файлу. Правда - немного усложним его структуру, т.к. сейчас, например в файлах  WORD открытые ключи.

- А, кстати, у меня два котика - два найденыша, уже подросли. А Ваша аватарка напоминает мне их боевого друга Барсика - точная копия... Друзья среди нас. Да, кстати, а что "можно засунуть из модулей" в энкодер? Синяя платка - щелевого датчика с АЭ - копейки, но там коротки "рога" и щель широкая и шифрование ИК сигнала - нет - надо все равно PWM - модулировать на пин и усиливать сигнал через транзистор. Там стоит встроенный компаратор, - да, хорошо, но в таком раскладе, приходим к компаратору на борту - с таймер - gate. 

Тут понятно. Будет электронная ось - с индикатором положения центров - (ноль- точки) и рабочей точки, Таких оси три. Одна клавиатура. Можно поставить сдвиговый регистр 74HC595/165  - чтобы с одного пина - читать информацию поочередно с каждой оси. - Ведь интересно?! 
- Не то слово.
Нет, не  I2C расширитель порта, а именно - сдвиговый регистр. 

Кстати ваш проект с джойстиком - там тоже он должен быть? - или я ошибаюсь. - Поделитесь, о.к.? - Спасибо за идеи!!!!!!!    

ОтветитьЦитата
Topic starter Размещено : 19.02.2023 16:08
Serg812
(@serg812)
Level 2

Созданы друг для друга
1) пары IR LED 5мм – посадочное – 5,7мм диаметр 5мм, напряжение 1,6 в, для 2х2АА 1.2+1.2 = 2.4в.

 линза под ИК Диод 5.7 посадочное
 диоды 5мм 940 нм ток 100 ма

Токоограничивающий резистор 0,8в\120ма = 6,6 Ом, мощность 0,5 вт.

Цена 42,71руб за 10 пар. Счастье есть!)))))) Доставка  - бесплатно.

2)Плосковыпуклые линзы (ниже).

Кстати ИК излучатель уже оборудован конденсорной линзой – и пригоден для щелевого датчика в отверстие 5мм. Мощность сигнала позволит преодолеть отверстие 0,12мм - - через щелевую диафрагму, сам диод – обернуть в фольгу с «воротничком» - с запасом для выхода по отверстию и достичь через такой же 5мм – светодиод – черного цвета, приемник. Отверстие под диод – окрасить в черный цвет.

Частоту порта рассчитать под 30 мГц, частоту генерации сигнала под 25 мгц. Мы получим высокоскоростную беспроводную систему связи для обработки синлаов от фотодатчиков – доплерометрия, стробоскопия – тахометрия – турбинных лопаток и пр., - акустических датчиков – в том числе контрбатарейного радара, для регистрации разности хода – акустической волны от выстрела/полета боеприпаса.

    

Плосковыпуклая линза – 20мм большой диаметр, посадочное под диод 5,7мм, высота линзы 11м. , угол 5 градусов цена 16,57 руб., 10 штук.

ОтветитьЦитата
Topic starter Размещено : 21.02.2023 20:04
Serg812
(@serg812)
Level 2

Оптическая система из трех линз для сжатия ик-сигнала

 плосковыпуклые линзы плюс Третья

 

ОтветитьЦитата
Topic starter Размещено : 22.02.2023 03:07
Serg812
(@serg812)
Level 2

@eduard Неделя ушла на поиск подходящей аппаратурной части - ИК связь, 868,7 мГц, 433 мГц.
Вспомнил и Ваш проект - 2,4 гГц. - дальность - десятки метров. По прямой видимости. - Понятно, что дкакую задачу поставили - так и сделали. - А связь на 10 км? - Интересно - в гражданских диапазонах и мощности передатчика? - Мне стало интересно. Кое-что набралось. 
- По ИК связи TSOP4638 (38кГц) - считыватель сигнала, 0,1. Модулируем на резонаторе - базу транзистора - для щелевого датчика - непрерывный сигнал.
-Для иК связи - базу транзистора 2 с модулятором подключаем на первый транзистор по питанию, - а базу первого - резистор и вывод сигнала GPIO, пачками с прерываниями от таймера. Выход на ИК-излучатель. Так в общих чертах.

Проект не забросил. Будем  создавать - разработки под брендом Микротекник!)))   

ОтветитьЦитата
Topic starter Размещено : 27.02.2023 14:57
Serg812
(@serg812)
Level 2

KiCad -  знакомое всем слово. Принципиальная электрическая схема - будет создаваться в этом редакторе. - Разрабатываемого модуля щелевого датчика.

Почему нам необходима прежде всего - принципиальная электрическая схема?!
Есть готовые модули, монтируй, пиши код и все просто. - Не так все просто, дьявол кроется в деталях.

Рассмотрим подробнее модуль на ИК паре - датчик скорости XD-51  на компараторе  LM393. - При детальном рассмотрение схемы - мы видим, какая   полоса пропускания сигнала - излучатель - генерирует сигналя с частотой выше 159,24 Гц - фильтр верхних  частот, приемник - согласно фильтра нижних фильтра частот - принимает сигналы ниже 796,18 Гц.  При таких частотах возможна засветка ИК диода случайными бликами. Предпочтительна полоса пропускания сигнала Излучателя 38 кГц, Приемника в интервале 35 - 40 кГц. Прерывание сигнала будет означать - прохождение риски энкодерного диска в створе оптической оси -щелевого датчика  0,12мм. 
Излучатель Pw 0,120ma  запитывается отдельно от источника питания ( ни в коем случае - ни от  Vdd  микроконтроллера  0,025 mA). На сайте https://www.snapeda.com/parts/STM32F051R8T6/STMicroelectronics/view-part/?ref=search&t=STM32F051R8     можно, после несложной регистрации и подтверждения по e-m, скачать cad -symbols and footprint своего микроконтроллера, в данном случаем  STM32F051R8 и импортировать его в библиотеку проекта.  Хорошего дня, друзья!

XD 51 Щелевой датчик скорости LM393 характеристики
 ФНЧ Датчик скорости на компараторе LM393

 

 

ОтветитьЦитата
Topic starter Размещено : 02.03.2023 18:42
Эдуард
(@eduard)
Level 3 Moderator

@serg812 А теперь сравниваем то, что есть там

с тем что должно быть

Чипы немного разные, но сути не меняет.

 

ОтветитьЦитата
Размещено : 02.03.2023 19:02
Serg812
(@serg812)
Level 2

@eduard Эх, Семен Семенович, опять лечим гланды  - "долгим путем")))
- Первая Ваша картинка с размытым изображением - это как бы "ярлык" - Ваша копия части экрана. Необходимо произвести регистрацию и скачать файл библиотеки для MCU, а не скопировать копию экрана. Есть такая функция  "download", извините, в этом контексте - прозвучало как ругательство, вместо привычного  "CopyPaste"))))))))))))))))))))
После немногих манипуляций, вот что получилось в KiCad, сравниваем с даташит номера Пинов с 58 по 64 (колонки: LQFP64 и  PinName -  подкрашены маркером)))))))))))))))))))))

STM32F051R8T6 KiCad v5 19
Pins 58 64 STM32F051R8T6  datasheet

 

ОтветитьЦитата
Topic starter Размещено : 03.03.2023 00:07
Страница 1 / 2
Поделиться: