Стабилизация Активная - часть II

 
1 76 77 78 79 80 88
+
-
edit
 

shadowjack

втянувшийся
shadowjack>> В данном случае нужно писать d.accel_x
Ckona> Ага. Понял.
Ckona> Это профессиональный эквивалент обезьянолюбительского:
Ckona> void destruct(struct imu_data *d) {
Ckona> Wx=d->accel_x;
Ckona> Wy=d->accel_y;
Ckona> Wz=d->accel_z;
Ckona> }
Это будет работать, только если Wx и др. - глобальные. Так делать не нужно.
Можно в теле loop написать для понятности:
int Wx, Wy, Wz;
Wx = d.accel_x;
Wy = d.accel_y;
Wz = d.accel_z;
Ckona> В принципе, оно и не сильно надо, "летный" диапазон должен быть 8G - вопрос из любопытства.
См. setupLIS331DL - writeRegister(LIS331DL_I2C_ADDR, LIS331DL_CTRL_REG1, 0b01000111);
Третий бит слева - как раз и отвечает за 2/8G. Я так понимаю, что сейчас стоит 2G. Для 8G нужно поставить 0b01100111.
 11.011.0
UA Non-conformist #02.04.2012 12:47  @shadowjack#02.04.2012 12:34
+
-
edit
 

Non-conformist

аксакал

А что, шестиосевую писалку уже проехали? Я что-то пропустил?
Skype: a_schabanow  
UA Ckona #02.04.2012 14:27  @Non-conformist#02.04.2012 12:47
+
-
edit
 

Ckona

опытный

Non-conformist> А что, шестиосевую писалку уже проехали? Я что-то пропустил?

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

Курочка клюет по зернышку - сейчас завершается определение перекоса стартовой направляющей.
К вечеру я сформулирую, что планируется дальше, в том числе с угловыми скоростями.
 
Это сообщение редактировалось 02.04.2012 в 14:36
+
-
edit
 

Ckona

опытный

shadowjack> Третий бит слева - как раз и отвечает за 2/8G. Я так понимаю, что сейчас стоит 2G.
Восемь двоичных разрядов - это ±128, на ±1G дает отсчет ±57. Действительно, установлено 2G.
 
UA Non-conformist #02.04.2012 15:12  @Ckona#02.04.2012 14:27
+
-
edit
 

Non-conformist

аксакал

Ckona> ... затухающие колебания ...
Ты их в бортовую память писал или в монитор?
Skype: a_schabanow  
UA Ckona #02.04.2012 16:05  @Non-conformist#02.04.2012 15:12
+
-
edit
 

Ckona

опытный

Ckona>> ... затухающие колебания ...
Non-conformist> Ты их в бортовую память писал или в монитор?

В монитор. Память не щупал еще.
 
UA Non-conformist #02.04.2012 16:45  @Ckona#02.04.2012 16:05
+
-
edit
 

Non-conformist

аксакал

Да я знаю, что в монитор. Вопрос изначально был наводящий, и не к тебе. ))
Skype: a_schabanow  

Ckona

опытный

Ckona> К вечеру я сформулирую, что планируется дальшe

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

Рядом с компьютером, на котором правится софт, будет установлен вентилятор.
На верхушку "маятникового стержня" - обтекаемый парус. Воздушный или пенопластовый шарик с хвостом.
"Маятник" должен обладать моментом инерции, как у настоящего "Пеликана".
Шарнир - почти в центре тяжести. Почти - чтоб оно все-таки "висело" не переворачиваясь.

Включив удаленный вентилятор, можно имитировать медленное отклонение от вертикальной траектории.
Включив близкий вентилятор, можно имитировать внезапную угловую скорость.
Запустив систему при отклоненном маятнике, имитируем наклонный старт, должны наблюдать выравнивание.

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

Благодаря умелым и своевременным рекомендациям ShadowJack'a, думаю, софтверных проблем не будет.
Прикреплённые файлы:
As it'll be.jpg (скачать) [87,13 кбайт, 16 загрузок] [attach=273005]
 
 
 

Ckona

опытный

Ckona> Момент инерции J= (1/12)*7(кГ)*1,8**2(кв.м.) = 2 (кГ*кв.м).
...
Ckona> остановить вращение корректирующим импульсом с рычагом r = 0,5 м,

Представил ракету в виде двенадцати элементов с различными массами и рассчитал момент инерции и положение ЦТ.
Получилось (в зависимости от расходования массы в первой ступени) J=0,98 ... 0,75 кГ*кв.м, а рычаг r = 0,48 ... 0,7 м.
Успокоен - импульса хватит.
Теперь можно не вслепую вешать грузы на штангу.
 

CATO

втянувшийся

Ckona> Ардоскоп один.
АРДОСКОП не один)))
Может пригодится? -Инерциальный датчик 5DOF IMU Sensor
Как говорил покойный адмирал Нахимов: «Лучше пидор на рее, чем акула в трюме»  7.07.0

Ckona

опытный

!
Запустил пищалку и проверил все каналы управления электромагнитами.
До-о-о-олго возился, пока не сообразил соединить перемычкой "слаботочный" и "сильноточный" общие провода.
Теперь буду "прописывать логику" и устанавливать вентилятор.
Хотя трение в притертом шарнире такое, что отклонить стержень можно, просто дунув на его верхний конец.

Ну, еще одна мелкая проверка - питание от батарейки (пока через USB).
Тут еще не продумал - какое напряжение выбрать - 6 вольт согласно схеме Ардоскопа, разработанной Non-Conformist'ом, или "с запасом" - ну там 9 или 12 вольт от маленькой батарейки.
 

Ckona

опытный

Ckona> Теперь буду "прописывать логику"

Ну, первая "проба пера" успешная !
Сижу... ничего не делаю... тишина.
Отклоняю стержень в сторону. Пороговое значение - 10 градусов. ПИ-И-И-И-И !
Жена (вяло и любя): Заткнись !

Нажимаю второй рукой на кнопку RESET. ... тишина.
Отпускаю стержень, он возвращается в исходное положение - ПИ-И-И-И-И-И-И !
Жена (звонко и яростно): Заткнись ! Я не могу заснуть !

Тут я обнаруживаю, что перепутал в коде цифровые отсчеты и градусы в секунду: один отсчет равен 0,07 градуса в секунду.

... тишина.
 
07.04.2012 01:23, -VMK-: +1: За стилно и емоционално описание на работния процес!

Ckona

опытный

Ckona> ... тишина.
Все-таки, насколько цифровая обработка тупее аналогового реального мира.
1) чтобы не работать с плавающей точкой, принимаем один дискрет по времени равный 1, хотя реально это 0,05 с. В результате углы как интегралы от угловой скорости получаются численно в 20 раз больше, чем их реальноые значения в градусах.
2) чтобы не учитывать цену одного разряда (0,07 углового градуса в секунду), переходим к "условным" единицам измерения угловой скорости: одна единица равна весу одного разряда, это в 14,3 раза меньше, чем один градус в секунду.
3) В результате пороговому значению угла в 5,00 градусов соответствует значение безразмерной "цифровой хрени" 5[градусов]*14,3[разрядов/градус/с]х20[отсчетов/с] = 1429 .

Зато вычислений - никаких: складываем значения угловой скорости, пока сумма не достигнет 1429.
Примечание: объявлен порог 2 градуса в секунду, ниже которого угловая скорость считается нулевой.
 
Это сообщение редактировалось 07.04.2012 в 09:25
RU Андрей Суворов #07.04.2012 09:52  @Ckona#07.04.2012 09:16
+
-
edit
 

Андрей Суворов

координатор

Ckona>> ... тишина.
Ckona> Все-таки, насколько цифровая обработка тупее аналогового реального мира.
Ckona> 1) чтобы не работать с плавающей точкой, принимаем один дискрет по времени равный 1, хотя реально это 0,05 с. В результате углы как интегралы от угловой скорости получаются численно в 20 раз больше, чем их реальноые значения в градусах.

И в три раза меньше, чем их реальные значения в минутах! Вопрос - в чём мерять, в каких попугаях!

Ckona> 2) чтобы не учитывать цену одного разряда (0,07 углового градуса в секунду), переходим к "условным" единицам измерения угловой скорости: одна единица равна весу одного разряда, это в 14,3 раза меньше, чем один градус в секунду.

Общепринятые и привычные единицы тоже условные, может, радиан ещё имеет под собой какие-то обоснования, а градусы - никаких.

Ckona> 3) В результате пороговому значению угла в 5,00 градусов соответствует значение безразмерной "цифровой хрени" 5[градусов]*14,3[разрядов/градус/с]х20[отсчетов/с] = 1429 .
Ckona> Зато вычислений - никаких: складываем значения угловой скорости, пока сумма не достигнет 1429.

А вот это - непонятно и нелогично. Правильнее было бы определить среднюю величину шума угловой скорости в покое, и отталкиваться от неё. "три сигма" - вот это разумно и законно.

Ckona> Примечание: объявлен порог 2 градуса в секунду, ниже которого угловая скорость считается нулевой.

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

Так что в то время в нормировке я собаку съел. Но и сейчас много чего помню.

У ракеты 15А30 - первой советской МБР с БЦВМ - тоже не было плавающей точки, да и объём памяти был невелик по всем меркам. И там нормировка имела важнейшее значение. И очень понятно, за что военные любят миллирадианы, любовно называя их "тысячными".
 8.08.0
UA Ckona #07.04.2012 10:05  @Андрей Суворов#07.04.2012 09:52
+
-
edit
 

Ckona

опытный

А.С.> Правильнее было бы определить среднюю величину шума угловой скорости в покое, и отталкиваться от неё. "три сигма" - вот это разумно и законно.
:-)
Это первое, что я сделал !
Сигма - 9 разрядов. 28 разрядов - это 2 градуса в секунду.

Подожди чуток, у меня сейчас технические затруднения. Не вижу сложения, коим представлен интеграл от угловой скорости. Где-то в коде напортачил. Да и на работу пора.
 
RU Андрей Суворов #07.04.2012 10:22  @Ckona#07.04.2012 10:05
+
-
edit
 

Андрей Суворов

координатор

А.С.>> Правильнее было бы определить среднюю величину шума угловой скорости в покое, и отталкиваться от неё. "три сигма" - вот это разумно и законно.
Ckona> :-)
Ckona> Это первое, что я сделал !
Ckona> Сигма - 9 разрядов.

В смысле, единиц младшего разряда? LSB по-американски. Это пиковый или среднеквадратический?

Ckona> 28 разрядов - это 2 градуса в секунду.

Даже если это среднеквадратический - четыре сигма грубовато. Если же пиковый, непростительно грубо :)

Там ещё это зависит от быстродействия рулевых машин и прочих фазовых проблем.

А вообще - успехов, очень здорово!
 8.08.0
UA Ckona #07.04.2012 10:47  @Андрей Суворов#07.04.2012 10:22
+
-
edit
 

Ckona

опытный

Ckona>> Сигма - 9 разрядов.
А.С.> В смысле, единиц младшего разряда? LSB по-американски. Это пиковый или среднеквадратический?
Записал выборку за несколько секунд.
Обработал с гипотезой, что распределение нормальное.
Вычисленное значение СКО - 9 единиц младшего разряда.

А.С.> Даже если это среднеквадратический - четыре сигма грубовато.
3х9=27
4х9=36
:-)
 
RU Андрей Суворов #07.04.2012 11:37  @Ckona#07.04.2012 10:47
+
-
edit
 

Андрей Суворов

координатор

Ckona>>> Сигма - 9 разрядов.

Да, тогда всё по науке! респект!

А.С.>> Даже если это среднеквадратический - четыре сигма грубовато.
Ckona> 3х9=27
Ckona> 4х9=36
Ckona> :-)

Да, чего это я...
 8.08.0
+
-
edit
 

lincoln

опытный

Подробное описание технического решения стабилизации ракеты: с чертежами, схемами, фото-видео.

Attitude Stability Unit

Last year we launched our 2-stage Super-ARLISS twice. The Super-ARLISS is a big and slow rocket intended to carry payloads to 30,000 feet. We launched it at Mavericks 2008 with a very long inter-stage delay (8-seconds) and at XPRS with a short (1-second) delay. Both times it was significantly affected by the winds aloft. After the second flight, we decided that we needed to do something to dynamically compensate for crosswind. This project is to build a device that can dynamically compensate for wind and other flight perturbations and keep a rocket flying straight up. // Дальше — www.feretich.com
 
 11.011.0
UA Non-conformist #07.04.2012 14:48  @lincoln#07.04.2012 13:59
+
-
edit
 

Non-conformist

аксакал

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

Две рулевых плоскости наводят на мысль о совмещении каналов тангажа и рысканья через поворот на 90 градусов по крену, как у немецкой X-4. Всего получается два электропривода: тангаж_рысканье и крен. Нормальное, рациональное решение.

Жаль, что нет исходников.
Skype: a_schabanow  
UA Ckona #07.04.2012 16:51  @Non-conformist#07.04.2012 14:48
+
-
edit
 

Ckona

опытный

Non-conformist> Т.е. люди работают в контакте с ВУЗами.


А также на ВУЗовских ресурсах.
 
UA Non-conformist #07.04.2012 17:34  @Non-conformist#07.04.2012 14:48
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Всего получается два электропривода: тангаж_рысканье и крен.
А можно было вообще один привод на тангаж и рысканье поделить, без крена - проворот по крену обеспечить стационарной закруткой перьев хвостового стабилизатора.
Skype: a_schabanow  
RU lincoln #07.04.2012 19:49  @Non-conformist#07.04.2012 14:48
+
-
edit
 

lincoln

опытный

Non-conformist> Нормальное, рациональное решение.
Если у вас своя разработка, то копировать конечно смысла нет, но может что полезное почерпнуть.
Non-conformist> Жаль, что нет исходников.
Если принципиально нужно, то написать, может поделятся.))
 11.011.0
RU shadowjack #07.04.2012 21:58
+
-
edit
 

shadowjack

втянувшийся
Ckona, вот шестиосевая писалка. По крайней мере, должна писать.
У программы 3 режима - ожидание, запись, сброс данных.
При включении - в режиме ожидания. Короткое нажатие на кнопку - переключение запись/ожидание (новая запись затирает старую). Длинное (более 1 сек) нажатие на кнопку - сброс данных на ком-порт. После сброса переключается в режим ожидания.
Индикации пока нет, только отладочная печать на ком-порт.
Кнопка настроена на 4-ю ногу (у нас так)? Исправь наверху #define BUTTON_PIN 4 на нужный при необходимости.
Поэкспериментируй пожалуста.
Прикреплённые файлы:
ardoscope_eeprom.zip (скачать) [6,49 кбайт, 19 загрузок] [attach=273873]
 
 
 11.011.0
AD Реклама Google — средство выживания форумов :)
+
-
edit
 

Ckona

опытный

shadowjack> Ckona, вот шестиосевая писалка.
Сколько 8-разрядных слов (байт) может быть записано ?
С какой скоростью ведется запись ?
Какую нужно устанавливать скорость считывания записанного через сом-порт ?
 
1 76 77 78 79 80 88

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