[image]

Кобра

 
1 13 14 15 16 17 21
+
-
edit
 

umbriel

опытный

Incubus> Ночью скинул "Solid rocket thrust vector control (NASA, 1974)" на ящик rakety на gmail.com

А можно ее как-нить почитать? :)
   
RU Incubus #26.09.2008 09:49  @Oxandrolone#15.09.2008 16:52
+
-
edit
 

Incubus

втянувшийся

umbriel> А можно ее как-нить почитать? :)

Можно)
Ящик этот является неформальным файловым архивом данного форума. Поищи в темах, уже несколько раз сообщали пароль к этому ящику.
   3.0.23.0.2
UA Non-conformist #21.10.2008 13:42
+
-
edit
 

Non-conformist

аксакал

Нашел нормального управленца, наконец! Это тот самый К.Ю. Поляков, ссылку на сайт которого я дал в микроконтроллерном топике. Отвечает на письма, оценил мою ёрзалку. Я уже получил ценные сведения: оказывается, перевернутый маятник стабилизируется не ПИД, а ПД-регулятором! Интегральный сигнал не то что не нужен, а противопоказан. Экономится один чип на плате, упрощается разводка. Вроде завязалась переписка, попробую раскрутить его на матмодель Кобры, чтобы получить примерные коэффициенты, от которых плясать. Интересно, а каким образом они соотносятся с номиналами RC-цепей в ОС усилителей... Надо будет тоже попытаться выяснить...
   
RU termostat #22.10.2008 11:49  @Non-conformist#21.10.2008 13:42
+
-
edit
 

termostat

аксакал

Non-conformist> оказывается, перевернутый маятник стабилизируется не ПИД, а ПД-регулятором!

Ну ты вАААААААще ... ИМХО очевидно что ПД это ПИД где И=0

Однако известные тебе маятники ОЧЕВИДНО стабилизируются и с И - дело в том что И обеспечивает точность установки (достижение заданого положения) когда она нужна.
   7.07.0
RU termostat #22.10.2008 11:50  @Non-conformist#21.10.2008 13:42
+
-
edit
 

termostat

аксакал

Non-conformist> каким образом они соотносятся с номиналами RC-цепей в ОС усилителей...

Написано в апноуте микрочипа который тут упоминался наверно несколько раз про "ПИД на ОУ"
   7.07.0
UA Non-conformist #22.10.2008 12:06
+
-
edit
 

Non-conformist

аксакал

Это-то я смекнул, что "ПД" = "П И=0 Д". Я другому удивился, что "И", типа, не нужно и даже мешает... Поднял AN964 от Microchip - дак там все на сто восемьдесят градусов наоборот. Отправил теоретику письмо прямо с куском текста (описанием настройки ТРЕХ коэффициентов), и приложил файл апноута. Который я, помнится, по твоей ссылке скачал, кстати.


> известные тебе маятники

И ты туда же... ПЕРЕВЕРНУТЫЙ МАЯТНИК, блин - ОН ОДИН! Который стоит, зараза, и не падает, даже если ты его насильно выводишь из равновесия. Или я что-то не так понимаю??? Имхо налицо противоречие официальных точек зрения кафедры судовой автоматики сПБ университета и фирмы Микрочип... Битва титанов, спешите видеть! :F
   
Это сообщение редактировалось 22.10.2008 в 12:52

Ckona

опытный
★☆
Простейшая "одномерная" модель маятника (с массой, сосредоточенной в верхней точке) в первом приближении все прояснит !
   6.06.0
UA Non-conformist #22.10.2008 13:03  @Ckona#22.10.2008 12:44
+
-
edit
 

Non-conformist

аксакал

Ckona> Простейшая "одномерная" модель маятника (с массой, сосредоточенной в верхней точке) в первом приближении все прояснит!

В студию!


***
А что, Сережка, может хорош нам балду пинать? Скачал исходник сабжа на Си. Как его переделать, чтобы он рулил двумями каналами сразу? Ну, и под АВР это дело перевести, чтобы нам в твоей "железной" струе остаться?
Прикреплённые файлы:
 
   
Это сообщение редактировалось 22.10.2008 в 13:10
RU termostat #22.10.2008 13:34  @Non-conformist#22.10.2008 13:03
+
-
edit
 

termostat

аксакал

Non-conformist> Как его переделать, чтобы он рулил двумями каналами сразу ? Ну, и под АВР это дело перевести

Есть же на AVR ! проекту университетские студенческие на ATmega32 (наверняка и на мега16 будет работать).



Spring 2003 первый - "Inverted Pendulum Balancer"

Appendix I: Program Listing
Motor tester code: test_motor.c
Sensor tester code: test_sensor.c | test_sensor2.c
Controller code without PID: controller.c
Controller code with PID: balancer.c

У них Ki=0 и Kd микроскопический (balancer.c) - потому и не балансирует нифига ИМХО. (там видео 8 сек)

\\\\\\\\

Вот еще балансировщик маятника с ФОТО ДАТЧИКОМ на ATmega163



=========
Вот совсем простенькая функция для балансирования - 40 раз в сек пересчитывает. (в прицепе)
 
   7.07.0
Это сообщение редактировалось 22.10.2008 в 13:59
UA Non-conformist #22.10.2008 14:03
+
-
edit
 

Non-conformist

аксакал

> Есть же на AVR! проекту университетские студенческие на ATmega32 (наверняка и на мега16 будет работать).

Ты мой вопрос внимательно прочитал? Это одноосевой маятник, нам это не подойдет. Двухколесные балансеры тоже не прокатывают, это всё одноосевые маятники. Нужен ДВУХканальный. Или исходник редактировать - если мозгов хватит, или второй контроллер ставить с такой же программой, или вообще вернуться к аналоговой системе. Это если что-то пытаться делать. :)
   
Это сообщение редактировалось 22.10.2008 в 14:13
RU termostat #22.10.2008 14:09  @Non-conformist#22.10.2008 14:03
+
-
edit
 

termostat

аксакал

>> Есть же на AVR! проекту университетские студенческие на ATmega32 (наверняка и на мега16 будет работать).
Non-conformist> Ты мой вопрос внимательно прочитал? Это одноосевой маятник, нам это не подойдет. Это уже обсуждалось.

Я понимаю, но почему же нельзя сделать 2 аналогичные оси. ИМХО они не зависимы достаточно. Естетсвенно код надо модифицировать чтобы добавить вторую ось. Скорей всего функция ПИД будет одна, а вызывать ее будут 2 канала регулирования.

На время настройки разумно ограничить одну степень качания - парой струн например и фиксацией одного привода.

============= вот документы к твоим исходникам на ПИК
AN964 "Software PID Control of an Inverted Pendulum Using the PIC16F684"
PID ПИД перевернутый маятник с регулировкой коэф. ПИД переменными резисторами и методика настройки ПИД регулятора. microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en021807
   7.07.0
RU termostat #22.10.2008 14:19
+
-
edit
 

termostat

аксакал

Напомни пожалуйста (проект не мой и я позабыл уже все) - какие сигналы дают твои датчики ? Например в центральном положении и при отклонении на 10 (или на сколько то) градусов - в вольтах или в ШИМ (частота ккая?)

Какой сигнал управления нужен ? "ШИМ и направление" или "только ШИМ" - тогда 50% это нейтральное усилие активатора.

Как будут вводится коэфы ? переменниками ? Какие то кнопки, светодиоды нужны еще ?
   7.07.0
UA Non-conformist #22.10.2008 14:22
+
-
edit
 

Non-conformist

аксакал

> Естетсвенно код надо модифицировать чтобы добавить вторую ось.

Код - в студию!! Бля буду, за железом дело не станет! (рвет на себе рубашку) Вместо оптического валкодера - гелиостатовский датчик с парой дифусилителей. Может, от него плясать начать? Или лучше сначала код подправить и как-то проверить на симуляторе? Хотя так или иначе датчик ведь не претерпит никаких изменений... Совершенно независимый узел имхо... Что, датчик что-ли сделать?


> Скорей всего...

:F (нагло)
   
UA Non-conformist #22.10.2008 14:26
+
-
edit
 

Non-conformist

аксакал

> какие сигналы

Да никаких не дает, датчик еще сделать надо. Чтобы со встроенным двухканальным дифусилителем. Тот, что ерзал - не в счет, там только голые четыре фототранзистора, и места нет. И угол захвата меня не устраивает, по моим прикидкам.

Короче, я наверное созрел.

Вот схемка. Если использовать однополярное питание, то физически сбалансированное состояние датчика (равная освещенность фототранзисторов) будет соответствовать половине напряжения питания на его выходе. Напруга будет увеличиваться/уменьшаться пропорционально углу наклона датчика, т.е. выход будет плясать от этого среднего значения (половины напряжения питания).
Прикреплённые файлы:
 
   
Это сообщение редактировалось 22.10.2008 в 14:59
RU termostat #22.10.2008 14:37  @Non-conformist#22.10.2008 14:26
+
-
edit
 

termostat

аксакал

Non-conformist> Короче, я наверное созрел.

Может по современному сделать - маленький модуль - наверху платы фотоприемники, а внизу ATmega8 в маленьком корпусе 9х9 мм (можно и в ДИПе обычном) и с модуля выходят сигналы ШИМ управления - 50% это середина "ни куда не двигать" - прямо на силовые модули. Питание.

Подключаются по надобности: Выход UART передает данные с датчиков, и отладочные параметры постоянно. Вход UART принимает команды настроек с ПК (оболочку можно простую написать в бэйсике встроеном в Word Exel или взять от какого нибудь апноута по электропривода). Разъем прошивания - 5 контактов или площадок просто.

Фотодиоды (а может все же светодиоды ? они как бы интеграторы сразу - они ведь медленней фотодиодов) можно прямо ко входам АЦП подключить и резисторами к питанию подтянуть.
   7.07.0
RU termostat #22.10.2008 14:41  @Non-conformist#22.10.2008 14:26
+
-
edit
 

termostat

аксакал

Non-conformist> Напруга будет увеличиваться/уменьшаться пропорционально углу наклона датчика от этого среднего значения (половины напряжения питания).

INA2321 - Instrumentation Amplifier - Single Supply - INA321 - TI.com
=========

Лучше с транзисторов прямо на АЦП ATmega подать ! и только резисторы вниз оставить. Ну этот аналог НАФИГ !
   7.07.0
UA Non-conformist #22.10.2008 14:45
+
-
edit
 

Non-conformist

аксакал

Могу выдать точную зависимость милливольты/угол. Крепим датчик на резцедержателе токарного станка, на нужной высоте над ним вешаем неподвижную лампочку. Подачами изменяем положение датчика по двум осям в горизонтальной плоскости, триангуляцией определяем угол отклонения от нормали на лампочку. Так что можешь рассчитывать на график. Если, конечно, это необходимо.
   
UA Non-conformist #22.10.2008 14:56
+
-
edit
 

Non-conformist

аксакал

> Лучше

Возможно. Возможно это моя "аналоговая" инерция мышления. Однако... Таким образом я вообще-то хотел улучшить сотношение сигнал/шум. Кроме того, дифусилитель дает чистый разностный сигнал: Синфазная Составляющая (если источник света - лампа накаливания) подавляется на много-много децибел (КОСС). Стоит ли фильтрацией СС грузить МК? Хотелось бы по максимуму предусмотреть разные подлянки.

Я, наверное, сделаю пока слесарную часть - корпус, конус под линзу, тубус с крестовиной и экраном...
   
RU termostat #22.10.2008 15:28
+
-
edit
 

termostat

аксакал

А может транзистор над транзистором поставить и среднюю точку на АЦП подать ? тоже диф. получится подавляющий пульсацию света. Токограничительные резисторы конечно добавить 2 последовательно по 510 Ом наверно.

   7.07.0
Это сообщение редактировалось 22.10.2008 в 15:35
UA Non-conformist #22.10.2008 15:48
+
-
edit
 

Non-conformist

аксакал

Стоит ли изобретать велосипед? ХХ говорят, что для того, чтобы хорошо подавить СС, нужен именно дифусилитель с охренительно подогнанными резисторами. Его можно сделать и дискретно - если есть такие резисторы. Смысл? Нам больше нечем заняться? INA2321 есть у меня в наличии, только паяй. Нужен один корпус на весь датчик, на два канала.

И насчет светодиодов. Зачем искуственно тупить чувствительность сабжа? Солнце - солнцем, а ведь "Кобра" должна будет балансировать под совсем небольшой лампочкой, хрен знает где на дереве подвешенной. Кстати, синфазная помеха - это вовсе не только сетевые пульсации, но и паразитная засветка всех четырех сенсоров дневным-вечерним светом. Нет, буду я ставить то, что собирался. А экспериментировать мы лучше будем с коэффициентами.
   
RU termostat #22.10.2008 15:59
+
-
edit
 

termostat

аксакал

Хорошо. А как ты относишься к добавке 5-го датчика на дне узкой трубочки "колодца" - такой датчик будет засвечиваться только при направлении точно на источник света - т.е. может быть опрой для автокалибровки 4 других датчиков на среднее положение.
   7.07.0
UA Non-conformist #22.10.2008 16:11
+
-
edit
 

Non-conformist

аксакал

> Как будут вводится коэфы? Переменниками?

Да, это самое удобное. Рассчитываем на условно-полевые (огородные) условия. Три ручки, наверное с лимбами. Кнопка перезапуска, наверное, и два (пока) выключателя питания: "датчик и логика" и "силовая часть". Источники питания раздельные. В дальнейшем можно будет сделать один выключатель и две релюхи.

***
Да, тут подумалось... Смотрел-смотрел я на микрочиповский апноут... Там четвертая ручка - оффсет, типа ей можно двигать-катать балансирующий маятник по кругу. А что, если и нам что-то такое предусмотреть? Сдвинуть уровень сигнала вверх на каком-то одном (или двух?) сенсоре из четырех. Чтобы уравновесить датчик, ракета должна будет отвернуть этот сенсор от света. Нельзя ли таким образом добиться вертикального, гелиостатически стабилизированного медленного старта свободно стоящей модели-копии? Отсутствие стабилизации по крену зарубает всю идею на корню... Жаль.
   
RU termostat #22.10.2008 16:16  @Non-conformist#22.10.2008 16:11
+
-
edit
 

termostat

аксакал

>> Как будут вводится коэфы? Переменниками?
Non-conformist> Да, это самое удобное. Рассчитываем на условно-полевые (огородные) условия. Три ручки, наверное с лимбами. Кнопка перезапуска, наверное, и два (пока) выключателя питания: "датчик и логика" и "силовая часть". Источники питания раздельные.

Доавить бы LCD индикатор простенький - 2 строки или строку на 16 символов например - чтоб коэфы показывали при кручении ручек.

Или хотя бы 3 индикатора по 7 сегментов как в задаче avr123.nm.ru/z09b.htm планировали. Уже коэфы можно было бы отображать как 3 значное число, последовательно выводя их по кругу с меткой какой первый идет. Нужна кнопка запоминания настройки наверно нескольких наборов и выбора какой включить.

Non-conformist> Там четвертая ручка - оффсет, типа ей можно двигать-катать балансирующий маятник по кругу. А что, если и нам что-то такое предусмотреть? Сдвинуть уровень сигнала вверх на каком-то одном (или двух?) сенсоре из четырех. Чтобы уравновесить датчик, ракета должна будет отвернуть этот сенсор от света. Нельзя ли таким образом добиться вертикального, гелиостатически стабилизированного медленного старта свободно стоящей модели-копии?

Я пока идею не понял, но у тебя должно быть 2 регулятора "офсета" - т.е. какое положение система должна считать правильным для 2 плоскостей качания.
   7.07.0
Это сообщение редактировалось 22.10.2008 в 16:27
UA Non-conformist #22.10.2008 16:35  @termostat#22.10.2008 15:59
+
-
edit
 

Non-conformist

аксакал

termostat> Хорошо. А как ты относишься к добавке 5-го датчика на дне узкой трубочки "колодца" - такой датчик будет засвечиваться только при направлении точно на источник света

Просто максимально жестко крепим сенсоры на плату, и делителями производим юстировку датчика. Раз и навсегда, безо всяких "автокалибровок на лету". Например, вот по такой методике:

***
"Диаметр и высота корпуса оптического датчика направления выбираются из условия надежного захвата изображения Солнца в полупрозрачный экран, с которого оно должно быть воспринято фотосенсорами. Максимальный угол места Солнца на широте Чернигова в период летнего солнцестояния составляет чуть более 60 градусов. Таким образом, при вертикальном катапультировании изделия из ТПК, угол между продольной осью ракеты и направлением на светило будет равен 30 градусам. С учетом того, что в датчике применена линза с фокусным расстоянием 40 мм, диаметр полупрозрачного экрана должен быть не менее 30 мм: экспериментально установлено, что в этом случае, при отклонении продольной оси датчика (корпуса ракеты) от направления на Солнце на 30 градусов, изображение Солнца находится примерно на двух третях радиуса экрана, считая от его центра. Таким образом обеспечивается тридцатипроцентный запас системы ориентации по углу захвата.

Поскольку обратная связь по положению органов регулирования (штоков активаторов) в автомате УВТ не предусмотрена — это продиктовано самой концепцией проекта — юстировка оптического датчика направления выполняется следующим образом. Вместо маршевого РДТТ в карданном подвесе крепится его габаритный макет, у которого на месте соплового блока расположен узел крепления. С помощью трех винтов М4 макет жестко фиксируется на неподвижном горизонтальном основании. При этом корпус ракеты, вместе с установленным в головном обтекателе оптическим датчиком направления, оказывается шарнирно подвешенным на неподвижной опоре, т.е. при работе автомата УВТ в данном случае отклоняется не двигатель, а корпус ракеты. Тем самым достигается замыкание петли механической обратной связи в отсутствие каких бы то ни было датчиков положения органов регулирования.

Следует отметить, что данная конфигурация пригодна лишь для настройки соосности оптического датчика направления и корпуса ракеты. Подбирать коэффициенты ПИД-регулятора автомата УВТ таким путем не представляется возможным, поскольку массы и моменты инерции корпуса ракеты и ее двигателя различны. Кроме того, чтобы не перегружать электродвигатели активаторов, юстировку датчика необходимо выполнять на предельно облегченном корпусе. В момент настройки датчика автомат УВТ качает трубу корпуса, головной обтекатель с установленным в нем датчиком, и, наконец, сам себя. При этом бортовая батарея питания вынесена за пределы корпуса - электропитание на схему подается с помощью гибкого шлейфа.

Сам процесс настройки соосности датчика и корпуса ракеты заключается в подборе делителей напряжения в цепях фотосенсоров – таким путем удается избежать трудоемкой и ненадежной механической настройки. В качестве источника света используется небольшая лампа накаливания с диафрагмированным светорассеивающим экраном из тонкой белой бумаги. Контроль направления продольной оси корпуса ракеты на источник света производится с помощью простейшего приспособления на основе лазерной указки."

***
Одна из прелестей дифусилителя как раз в том и состоит, что на его выходе мы имеем дело именно с РАЗНОСТНЫМ сигналом, в очень большом диапазоне освещенности НЕ ЗАВИСЯЩИМ от уровня этой самой освещенности. Светит ли в датчик солнце, светит ли фонарик - на выходе, грубо говоря, имеем практически ОДНИ И ТЕ ЖЕ МИЛЛИВОЛЬТЫ! Утрирую, конечно, но совсем немного. Степень достоверности подобного высказывания зависит лишь от динамического диапазона, КОСС применяемого дифусилителя, и качества оптического тракта датчика (отсутствие бликования и т.п.). Но ведь мы не собираемся с одними и теми же настройками лететь на солнце и танцевать под фонариком! Для этого есть светофильтры, однако. Не нужен там никакой пятый сенсор, он окажется просто пятым колесом в телеге.
   
UA Non-conformist #22.10.2008 16:45
+
-
edit
 

Non-conformist

аксакал

> Я пока идею не понял

Солнце поднялось на 60 градусов над горизонтом. Ракету ставим свободно-вертикально, и делителями настройки сенсоров датчика предустанавливаем выход датчика так, чтобы на нем был ноль (на двух каналах). И стреляем. Все бы сработало, да вот только стабилизации по крену нет - вращаться будет ракета вокруг продольной оси, и съедет крыша у нашей системы управления.
   
1 13 14 15 16 17 21

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru