Автор Тема: Оцифровать сельсин  (Прочитано 21737 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн UA9FAD

  • Ветеран
  • *****
  • Сообщений: 9454
  • Репутация: +1674/-107
  • QRA: LO88AA
Re: Оцифровать сельсин
« Ответ #45 : 19 Январь 2022, 18:20:53 »
Справится ли Атмега?
А что тут такого тяжелого может быть?

Таблица через одну десятую  градуса, да еще математика.
Victor Виктор

Оффлайн RC3UE

  • Ветеран
  • *****
  • Сообщений: 1515
  • Репутация: +282/-72
  • 13 el F9FT/21 el F9FT
  • QRA: LO07NG
Re: Оцифровать сельсин
« Ответ #46 : 19 Январь 2022, 19:01:02 »
как то сложновато всё, или есть сельсин,и буду мучать его и убивать дрогоценное время ,
дельное решение прям на первой странице (Может распотрошить сельсин и установить в него энкодер)
Это решение может быть хорошо только на этапе проектирования.
А то, что предлагает Виталий, более подходит к этапу модернизации уже установленного и работающего.
Что имеет место быть у меня, например. И предполагаю, не только у меня.
Правда, как уже и писал, я пошел другим путем. Более сложным. Но результатом доволен.
Справится ли Атмега?
А что тут такого тяжелого может быть?

Таблица через одну десятую  градуса, да еще математика.

Гм.. И как много таких сельсинов (из доступных простому смертному), которые могут обеспечить дискретность в десятую градуса?
Ну вот такой вот я поклонник Станиславского - не верю в такие чудеса. :)
73! Александр RC3UE (ex RA3UJ, UA3UES)

Оффлайн R2GKH Виталий

  • Ветеран
  • *****
  • Сообщений: 4440
  • Репутация: +608/-357
  • the Truth is out There...
    • Мысли вслух :)
  • QRA: KO92GP
Re: Оцифровать сельсин
« Ответ #47 : 19 Январь 2022, 20:50:00 »
А главное, как я понял, этот вариант в схеме "гибкий вал" будет работать только с заторможенным ротором сельсина-приемника.

Немножко не понял, что такое "заторможенный ротор сельсина-приемника"?
Изначально есть интерес преобразовать сигнал сельсина в цифровой вид. Что и удается помаленьку.   
Ну а если интегрировать данный алгоритм в существующую систему, то тормозить ничего не надо, даже вредно.
Измерение трех напряжений остается без изменения. Но запуск измерения не по бесконечному циклу, как сейчас, а по прерыванию. Видится оптрон, светодиод которого подключен через резистор к обмотке возбуждения, а с оптотранзистора снимается сигнал на внешнее прерывание микроконтроллера. По прерыванию отсчитывается четверть периода питания сельсина, и сразу замер трех напряжений. Конечно, нужно еще: 1) что бы статорные обмотки ни с чем не контактировали. 2) делить напряжение до _+2,3 Вольта амплитудного значения, а от идентичности делителей будет зависеть точность измерения.
 То есть, есть над чем подумать, на то и коллективный разум :)


 


Мы стояли на плоскости,
                  С переменным углом отражения...

Оффлайн R2GKH Виталий

  • Ветеран
  • *****
  • Сообщений: 4440
  • Репутация: +608/-357
  • the Truth is out There...
    • Мысли вслух :)
  • QRA: KO92GP
Re: Оцифровать сельсин
« Ответ #48 : 19 Январь 2022, 20:59:34 »
Таблица через одну десятую  градуса, да еще математика.

Виктор, теоретически контроллер потянет. Алгоритм прост, как пять копеек. Несложно и на STM32 перетянуть, что и есть в отдаленных планах. Но боюсь, что на точность лучше 1 градуса рассчитывать не приходится. Да и не нужно. По роду своей работы периодически сталкиваюсь с необходимостью измерения углов с точностью до десятков угловых секунд. Везде используются безлюфтовые передачи. Да и от сельсинов отказались еще в далеких 80-х. Хотя "Сименс" и "Феникс-Контакт" еще производят модули для применения сельсинов в современных системах автоматизации.... но цены, как на современные ВЧ-вольтметры :)   

Думаю, что 1 градус для этой реализации - достаточное бюджетное решение.
Мы стояли на плоскости,
                  С переменным углом отражения...

Оффлайн ua4fkd Сергей

  • Ветеран
  • *****
  • Сообщений: 2815
  • Репутация: +233/-67
  • QRA: LO13HL
Re: Оцифровать сельсин
« Ответ #49 : 19 Январь 2022, 21:50:35 »
Здр Сергей! А где подробнее почитать об этом...?
пришли пустое письмо, отвечу .
https://disk.yandex.ru/d/tStqJhi7p4ubVg   досье на меня

https://www.instagram.com/ua4fkd  ЗАБЛОКИРОВАН НЕЗАКОННЫМИ ДЕЙСТВИЯМИ  США

Оффлайн R2GKH Виталий

  • Ветеран
  • *****
  • Сообщений: 4440
  • Репутация: +608/-357
  • the Truth is out There...
    • Мысли вслух :)
  • QRA: KO92GP
Re: Оцифровать сельсин
« Ответ #50 : 19 Январь 2022, 22:04:24 »
отвечу .

Сергей, пара вопросов: 1) формат пакета передачи данных на комп? 2) есть-ли отдельно "виджет" индикации азимута под Дельфи(7)?
Мы стояли на плоскости,
                  С переменным углом отражения...

Оффлайн RC3UE

  • Ветеран
  • *****
  • Сообщений: 1515
  • Репутация: +282/-72
  • 13 el F9FT/21 el F9FT
  • QRA: LO07NG
Re: Оцифровать сельсин
« Ответ #51 : 20 Январь 2022, 09:38:22 »
Немножко не понял, что такое "заторможенный ротор сельсина-приемника"?
Изначально есть интерес преобразовать сигнал сельсина в цифровой вид. Что и удается помаленьку.   
Ну а если интегрировать данный алгоритм в существующую систему, то тормозить ничего не надо, даже вредно.
Измерение трех напряжений остается без изменения.
Похоже, я перепутал этот метод с вариантом вычисления абсолютного угла по сдвигу фаз. Трансформаторная схема включения.
Там ротор сельсина-приемника должен быть заторможен.
Ну вот типа такого.

1) формат пакета передачи данных на комп? 2) есть-ли отдельно "виджет" индикации азимута под Дельфи(7)?
Судя по тому, что используется RotorCraft, это  Yaesu GS-232A.
Кстати, именно этот протокол и программу я использовал у себя в варианте с AS5600.
Протоколо простой до безобразия, а RotorCraft на все 100 удовлетворяет всем моим потребностям работы с повороткой.
Компилируется как для Windows, так и для Linux. У меня linux Mint 20.
Насчет виджета. Может я не совсем понял, но RotorCraft вроде бы как и с этой ролью неплохо справляется.
В трее висит иконка с текущим азимутом (обведено на картинке).
Или вам нужно для андроида на смартфоне?
« Последнее редактирование: 20 Январь 2022, 09:47:05 от RC3UE »
73! Александр RC3UE (ex RA3UJ, UA3UES)

Оффлайн R2GKH Виталий

  • Ветеран
  • *****
  • Сообщений: 4440
  • Репутация: +608/-357
  • the Truth is out There...
    • Мысли вслух :)
  • QRA: KO92GP
Re: Оцифровать сельсин
« Ответ #52 : 20 Январь 2022, 09:59:20 »
Ну вот типа такого.
Да, Александр, я рассматривал эту и подобные схемы. К своему стыду, так и не разобрался с логикой.
Для меня "камень преткновения" - сдвиг фаз в сельсине. Ну нет его там! Есть три обмотки, амплитудное значение напряжение на которых однозначно указывает на положение ротора. В сельсине-приемнике ротор выполняет обратное действие - пытается занять положение с таким соотношением амплитуд, что бы результирующий ток был равен нулю. От этого я и пляшу.

   
Протоколо простой до безобразия,

Хорошо, попробую найти и скачать программу, далее посмотрю.
 "Виджет" я подразумевал как "компонент", встраиваемый в среду программирования. Т.е. идея фикс - на столе нет никакой индикации, вся на компьютере. С него же идут команды на ручное и(или) автоматическое управление положением антенны. И есть желание сделать ГРАФИЧЕСКОЙ индикацию положения антенны. Две цели - управление шеком через удаленный рабочий стол и удаление оптимизация рабочего места в шеке.
Т.е. простенькая программка на дельфи, которая берет на себя все функции по контролю и управлению приводами АФХ.   
Мы стояли на плоскости,
                  С переменным углом отражения...

Оффлайн RC3UE

  • Ветеран
  • *****
  • Сообщений: 1515
  • Репутация: +282/-72
  • 13 el F9FT/21 el F9FT
  • QRA: LO07NG
Re: Оцифровать сельсин
« Ответ #53 : 20 Январь 2022, 10:13:27 »
рассматривал эту и подобные схемы. К своему стыду, так и не разобрался с логикой.
А я никак не могу разобраться с логикой вашего варианта.. Вернее, никак не въеду, как сие изложить в коде, чтобы собрать все на столе и потрогать вживую..
Есть некоторые сомнения..
Для меня "камень преткновения" - сдвиг фаз в сельсине. Ну нет его там
...и я не вижу, а он есть! :) Именно тогда, когда сельсины находятся в состоянии "рассинхрона". В трансформаторной схеме, когда ротор сельсина-приемника заторможен.
И вот этот вариант - когда нет "механического указателя" - меня и не устраивает.
"Виджет" я подразумевал как "компонент", встраиваемый в среду программирования. Т.е. идея фикс - на столе нет никакой индикации, вся на компьютере. С него же идут команды на ручное и(или) автоматическое управление положением антенны. И есть желание сделать ГРАФИЧЕСКОЙ индикацию положения антенны. Две цели - управление шеком через удаленный рабочий стол и удаление оптимизация рабочего места в шеке.
Так именно все это и реализовывает RotorCraft. Я выложил картинку как раз с "удаленного компа".
Правда "на столе" тоже все имеется: и управление и индикация в двух видах - стрелкой сельсина и цифрой на LED экранчике.
"Запасной дублирующий вариант", так сказать. ;) На случай, если вдруг откажет "электроника".

Но мы отклонились от темы..
« Последнее редактирование: 20 Январь 2022, 10:24:39 от RC3UE »
73! Александр RC3UE (ex RA3UJ, UA3UES)

Оффлайн R2GKH Виталий

  • Ветеран
  • *****
  • Сообщений: 4440
  • Репутация: +608/-357
  • the Truth is out There...
    • Мысли вслух :)
  • QRA: KO92GP
Re: Оцифровать сельсин
« Ответ #54 : 20 Январь 2022, 10:44:46 »
А я никак не могу разобраться с логикой вашего варианта..

А в чем вопрос? За исходную модель взят патент (во вложении).
Отличие лишь в том, что в патенте внешнее возбуждение (и от него прерывание), а я формирую его сам.

Вот алгоритм действий:
1) считываем значение напряжений на трех входах (A1,B1,C1). Они должны быть около 512 единиц. Условно начальное напряжение.
2) На выходе формируем возбуждающий импульс (+Vcc) на обмотке якоря.
3) Через некоторое фиксированное время  (1...5mc)снова считываем значение напряжений на трех аналоговых входах (A2,B2,C2).
4)И отключаем напряжение с обмотки якоря, за ненадобностью.
5) Подготовка данных для формулы расчета угла: A=A2-A1;B=B2-B1;C=C2-C1. Числа A,B и C - Знаковые! (Integer).
6) A,B и C загоняем в формулу из патента L=arctg(sqrt(3)*(C-B)/(2*A-B-C)).  и преобразуем радианы в градусы.
7) Делаем со значением угла L что хотим :)

У меня относительно сложно в проге из-за того, что формула не может считать углы -180 и 180 градусов.
Поэтому я делаю замеры три раза, каждый раз смещая по кругу аналоговые входы.
Далее из трех значений формирую одно, отсекая ложные. С чем и застрял.     
« Последнее редактирование: 20 Январь 2022, 11:01:54 от R2GKH Виталий »
Мы стояли на плоскости,
                  С переменным углом отражения...

Оффлайн RC3UE

  • Ветеран
  • *****
  • Сообщений: 1515
  • Репутация: +282/-72
  • 13 el F9FT/21 el F9FT
  • QRA: LO07NG
Re: Оцифровать сельсин
« Ответ #55 : 20 Январь 2022, 11:17:08 »
А в чем вопрос?
никак не въеду, как сие изложить в коде,
Ну не умею я этого, хотя и неоднократно пытался "суметь".. :(
Разобраться в готовом "чужом" коде, "присобачить" его в свои хотелки - это всегда пожалуйста!
А вот "создать шедевр" самостоятельно - увы.. Не данО..
Плюс ко всему - в юности прогулял азы высшей математики в школе, а другого образования жизнь получить не позволила..
Отсюда большие проблемы с пониманием
... L=arctg(sqrt(3)*(C-B)/(2*A-B-C)).  и преобразуем радианы в градусы.
А если нет понимания, то и нет продвижения..
Именно поэтому, я и просил вариант кода в си (arduino IDE). Ну не люблю я пролетариат васик, делфи и прочие "надстройки над разумом". :)
В си тоже плаваю далеко не в первых рядах, но хоть как-то..

Кстати.. Вот на это -
4)И отключаем напряжение с обмотки якоря, за ненадобностью.
- я пойтить не могу! Не хочу терять "аварийное дублирование".
73! Александр RC3UE (ex RA3UJ, UA3UES)

Оффлайн RU7L

  • Silent KEY (SK)
  • Ветеран
  • *
  • Сообщений: 2214
  • Репутация: +242/-33
  • Геннадий RU7L
  • QRA: KN97LN
Re: Оцифровать сельсин
« Ответ #56 : 20 Январь 2022, 11:38:19 »
пришли пустое письмо, отвечу .
Послал
Геннадий RU7L, ex RN6MT

Оффлайн R2GKH Виталий

  • Ветеран
  • *****
  • Сообщений: 4440
  • Репутация: +608/-357
  • the Truth is out There...
    • Мысли вслух :)
  • QRA: KO92GP
Re: Оцифровать сельсин
« Ответ #57 : 20 Январь 2022, 12:27:06 »
Кстати.. Вот на это - Цитата: R2GKH Виталий от Сегодня в 10:44:464)И отключаем напряжение с обмотки якоря, за ненадобностью.  - я пойтить не могу! Не хочу терять "аварийное дублирование".

В этом случае внимательно прочтите патент. Там именно ваш случай.
Как отследить переход синусоиды через максимум? А никак. Достаточно отследить переход через ноль, отсчитать время в четверть периода (5 мс. для 50 Гц или 0,625 мс. для 400 Гц.) и считать значения A,B,C.

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

Оффлайн RC3UE

  • Ветеран
  • *****
  • Сообщений: 1515
  • Репутация: +282/-72
  • 13 el F9FT/21 el F9FT
  • QRA: LO07NG
Re: Оцифровать сельсин
« Ответ #58 : 20 Январь 2022, 14:42:55 »
Как отследить переход синусоиды через максимум? А никак. Достаточно отследить переход через ноль, отсчитать время в четверть периода (5 мс. для 50 Гц или 0,625 мс. для 400 Гц.) и считать значения A,B,C.
А вот это уже не есть гут, учитывая нестабильность "внешнего генератора" - сети 50 Гц в данном случае (ну или 400Гц - не суть) и отсутствие синхронизации с ним.
Ну это, возможно, решаемо. Не буду утверждать. Да и на данном этапе сие не есть главное.
Хотя... Вы даже не поняли, что означает процитированная вами строка.
Четвертый пункт - это действие, противоположное второму пункту приведенном мной алгоритма.
Это да, совсем не так понял.
Осталось понять самое непостижимое (для меня) -
формула не может считать углы -180 и 180 градусов.
Что означает угол -180 град.? Относительно какого "0"?
Какое число (угол) и с каким знаком выдаст эта "математика" при абсолютном положении ротора сельсина в след. точках:
1. 0 град.
2. 1 град.
3. 90 град.
4. 179 град.
5. 180 град.
6. 270 град.
7. 359 град.
Поможете уяснить?
73! Александр RC3UE (ex RA3UJ, UA3UES)

Оффлайн R2GKH Виталий

  • Ветеран
  • *****
  • Сообщений: 4440
  • Репутация: +608/-357
  • the Truth is out There...
    • Мысли вслух :)
  • QRA: KO92GP
Re: Оцифровать сельсин
« Ответ #59 : 20 Январь 2022, 15:07:27 »
А вот это уже не есть гут, учитывая нестабильность "внешнего генератора" - сети 50 Гц в данном случае (ну или 400Гц - не суть) и отсутствие синхронизации с ним.
Синхронизацию как раз и обеспечивает внешнее прерывание. Даже если нестабильность 1Гц от 50, то плевать. на максимуме огибающей изменение напряжения по времени минимально - таковы уж свойства синусоидального сигнала.
 
Что означает угол -180 град.? Относительно какого "0"?
Уффф... тут надо рисовать много.
Вкратце: формула может расчитывать углы от -89 до 89 градусов, такого свойство функции арктангенса. Верхний полукруг относительно оси Х будет вычислен, если добавить 90 градусов.

Далее, по знаку коэффициента А в формуле
 L=arctg(sqrt(3)*(C-B)/(2*A-B-C))
вычисляется, верхняя или нижняя полусфера высчитывается. Если нижняя, то к формуле еще добавляется число 180 градусов.
 У нас получается либо от 1 до 179, либо от 181 до 355 градусов.
0 и 180 пропадают.

Как я писал выше, и видно из текста программы, для случаев 0 и 180  (полюс-минус 10градусов кажись) я беру 
угол, вычисленный при условии, что А является уже напряжением с другой обмотки. Другой угол смещен относительно исходного на 120 градусов, поэтому к нему нужно добавить 240, и если получившееся значение больше 360, то эти 360 вычесть.

Уффф... Александр, ну не поленитесь, поройтесь в программе, перенесите ее на Ардуино.   
Мы стояли на плоскости,
                  С переменным углом отражения...