Кобра III

 
1 21 22 23 24 25 78
UA Non-conformist #11.11.2011 13:31  @Non-conformist#11.11.2011 12:58
+
-
edit
 

Non-conformist

аксакал

GOGI>> ... но вроде ПИД не увидел.

Судя по всему ПИД там не в самом коде, а в тех библиотеках, к которым он обращается при компиляции. Т.е. в этом смысле интересна среда brickOS от sourceforge, откуда, как я понимаю, и берутся эти библиотеки, и прежде всего <dmotor.h>
Skype: a_schabanow  8.08.0
UA Non-conformist #11.11.2011 13:37  @Non-conformist#11.11.2011 13:31
+
-
edit
 

Non-conformist

аксакал

А вот и те моторы, которые были применены: NXT Motor Control

Я пришёл к этому заключению на основании того, что слова "NXT", "LEGO", "Mindstorm" прекрасно гуглятся вместе, в одной фразе.

"... motor is equipped with an integrated encoder that can be used to determine the current position of the motor. The encoders have 360 counts per single revolution of the motor. A count of 180 indicates that the motor has traveled half a rotation."
Skype: a_schabanow  8.08.0
UA Non-conformist #13.11.2011 16:31  @Non-conformist#11.11.2011 13:37
+
-
edit
 

Non-conformist

аксакал

Атмосфера

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

А вот в случае с облачным небом всё выглядит гораздо проще - угловая (кажущаяся) скорость перемещения даже быстрых облаков ничтожна по сравнению со скоротечностью полёта модели, и даже если всё получится как задумано, и датчик будет пытаться следить за перемещающимися объектами, то чисто визуально, по поведению ракеты, это не будет заметно имхо.

Т.е. я предлагаю направить обскуренную мышь вертикально в рельефно-облачное небо, и настройкой фокусного расстояния попробовать добиться плавного перемещения курсора по экрану компьютера - вслед за облаками при неподвижной мыши, и наоборот - изменяя угловое положение мыши относительно облачного небосвода. Не мог бы ты повести такой эксперимент?
Skype: a_schabanow  8.08.0
UA Serge77 #13.11.2011 16:43  @Non-conformist#13.11.2011 16:31
+
-
edit
 

Serge77

модератор

Ух ты, интересная мысль - следить за облаками. Возникает вопрос - как будет реагировать мышь на приближение к облакам, картинка ведь будет меняться, увеличиваться.
UA Non-conformist #13.11.2011 17:00  @Serge77#13.11.2011 16:43
+
-
edit
 

Non-conformist

аксакал

Да, и не только при приближении - облака, даже самые статичные на вид, непрерывно изменяются, меняют форму.

Мой расчёт состоит в том, что за время активной фазы полёта эти изменения не окажутся настолько катастрофическими, чтобы "свести мышь с ума". Главное - зацепиться за картинку на время руления, типично - на какие-то доли секунды. Если получится - то может получиться вертикальный старт свободно стоящей модели.

А если у датчика получится не реагировать на изменения локальных деталей картинки, а обращать внимание исключительно на одновременное, плоско-параллельное перемещение ВСЕХ её элементов (выделять эту составляющую), то откроется практическая возможность работать в направлении соблюдения масштаба скоростей бюджетных моделей-копий. Но нужен будет лётный торцевик с приемлемой геометрией и тягой...

Приближаться вплотную к облакам, а тем более прошивать их, в мои планы не входит.
Skype: a_schabanow  8.08.0
RU GOGI #13.11.2011 17:09  @Non-conformist#13.11.2011 17:00
+
-
edit
 

GOGI

координатор
★★★
Алексей, при том многообразии копеечных акселерометров, которые предлагаются сейчас, делать что-то на мышках... Двухосевой датчик на 2g твоих малых ускорениях должен дать тебе положение ракеты без всякой хитроумной оптики.
Останется одна только голая математика.
1  8.08.0
UA Non-conformist #13.11.2011 17:43  @GOGI#13.11.2011 17:09
+
-
edit
 

Non-conformist

аксакал

ADXL335BCPZ - это три оси по три "же". Тридцать две гривны в не самой дешёвой лавке. Согласен, недорого. Но где взять "голую математику", вот в чём вопрос? Тут я как-то слышал (не от тебя ли), что мышь выдаёт готовое изменение двух координат около тысячи раз в секунду, а акселерометр выдаёт голое "же", для обработки которого требуется голая же математика, которую непонятно откуда брать. Не будешь же ты её писать?

***
А неподвижная мышь между тем НЕ обманывается протяжкой под ней прозрачной плёнки с нарисованными чёрным маркером штрихами. Т.е. она видит под собой подвижную картинку на фоне неподвижной (белого листа), и курсор стоит мёртво. Получается, что не должна она реагировать на изменения картинки. А должна - только на изменение ПОЛОЖЕНИЯ всей меняющейся картинки относительно себя. Обнадёживает вроде как?
Skype: a_schabanow  8.08.0
UA Serge77 #13.11.2011 17:56  @Non-conformist#13.11.2011 17:43
+
-
edit
 

Serge77

модератор

Математика простая.

S(n) = S(n-1) + 0/5*a*t2

где
S(n) - линейное смещение акселерометра в момент энного измерения вдоль оси измерения относительно нулевого (вертикального) положения
S(n-1) то же, но в предыдущий момент

a - показания акселерометра в момент энного измерения

t - интервал измерений

Зная линейное смещение, можешь вычислить угол поворота ракеты. А можешь и не вычислять, а рулить по смещению.
+
-
edit
 

Serge77

модератор

Акселерометр ставим в самый нос, там радиус вращения будет максимальным, а значит и измеряемое ускорение тоже, т.е. чувствительность выше.
UA Non-conformist #13.11.2011 18:03  @Serge77#13.11.2011 17:56
+
-
edit
 

Non-conformist

аксакал

По смещению, по скорости и по ускорению. Это если ПИДовским методом... Так что, проще на акселерометре? Проще. Во-первых не нужно ничего тянуть в голову и из головы, всё получается на одной плате, компактно. Во-вторых, если что - меньше дадут, потому как НЕ самонаведение. А с оптическим сенсором получается нехорошая двусмысленность.

Ну, проработаем акселерометр... Спасибо за формулу.
Skype: a_schabanow  8.08.0
UA Non-conformist #13.11.2011 18:05  @Non-conformist#13.11.2011 18:03
+
-
edit
 

Non-conformist

аксакал

Ага, всё-таки в нос... Но это небольшая проблема.
Skype: a_schabanow  8.08.0
RU Атмосфера #13.11.2011 18:06  @Non-conformist#13.11.2011 17:43
+
-
edit
 

Атмосфера

опытный

Non-conformist

Эксперимент-то проведу, однако кое-какая цель уже достигнута: творческий коллектив взбудоражен!

Плёнка со штрихами может не работать как и лакированный стол под мышью, протащи под ней простую картонку. Без штрихов.
 7.0.17.0.1
UA Non-conformist #13.11.2011 18:18  @Non-conformist#13.11.2011 18:05
+
-
edit
 

Non-conformist

аксакал

Ну ты проведи, проведи. Ибо мышка всё-таки не четыре фототранзистора, с ними вообще нехорошо получается в плане двусмысленности.

***
А что взбудоражен-то? Чтобы я реально взбудоражился, мне нужна СХЕМА, которую я буду разводить, травить и паять. И какой-то код минимальный для компиляции и прошивки. У меня есть в наличии Мега32, программатор STK-200-300 завтра-послезавтра будет готов (надеюсь). АВРСтудио стоит, ВИНАвр, КодВижн...

Что минимальное можно сделать с этим набором? Самое простое для начала, не маятниковое? Диодом помигать - считайте, что помигал. Предлагайте, буду делать.
Skype: a_schabanow  8.08.0
UA Serge77 #13.11.2011 18:19  @Non-conformist#13.11.2011 18:05
+
-
edit
 

Serge77

модератор

Non-conformist> Ага, всё-таки в нос... Но это небольшая проблема.

А, ты хотел прямо над двигателем? Это получится близко к ЦТ, а вращение ж идёт вокруг него, значит смещение и ускорение акселерометра будет маленькое.
Можно взять гироскоп (твёрдотельный конечно), его можно ставить куда угодно. Но они кажется дороговаты.
UA Serge77 #13.11.2011 18:22  @Non-conformist#13.11.2011 18:18
+
-
edit
 

Serge77

модератор

Non-conformist> У меня есть в наличии Мега32, программатор STK-200-300 завтра-послезавтра будет готов (надеюсь). АВРСтудио стоит, ВИНАвр, КодВижн...

GOGI, может ему посоветовать BASCOM?
UA Non-conformist #13.11.2011 18:26  @Serge77#13.11.2011 18:22
+
-
edit
 

Non-conformist

аксакал

Не хочу Бейсик, хочу Си. Я уже начал читать книжки, вникаю потихоньку.
Skype: a_schabanow  8.08.0
UA Non-conformist #13.11.2011 18:50  @Non-conformist#13.11.2011 18:26
+
-
edit
 

Non-conformist

аксакал

Угловые акселерометры дОроги, а модельные гироскопы я не рассматриваю вообще. Смысл проекта теряется. Думаю, что линейный акселерометр для поставленной задачи подойдёт идеально - шумность, дрейф и нестабильность здесь не помеха.

Вот только непонятно, как его отлаживать, как приводить реакцию электромотора в соответствие с данными, получаемыми с акселерометра? С оптикой понятно - смещаешь датчик линейно относительно источника, получаешь угол, милливольты, байт данных в регистре АЦП. А тут как? Мне нужно, чтобы всё можно было смоделировать практически на коленке, в чисто бытовых условиях...

Боюсь, что отладка системы с акселерометром будет сложнее, чем с фотосенсором и лампочкой. И непадающий маятник на нём не построишь.
Skype: a_schabanow  8.08.0
UA Non-conformist #13.11.2011 18:52  @Non-conformist#13.11.2011 18:50
+
-
edit
 

Non-conformist

аксакал

Мышь реагирует на нитяную петлю, протягиваемую под сенсором на фоне листа бумаги. Ты был прав.
Skype: a_schabanow  8.08.0
UA Non-conformist #13.11.2011 18:53  @Non-conformist#13.11.2011 18:52
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Мышь реагирует на нитяную петлю, протягиваемую под сенсором на фоне листа бумаги. Ты был прав.
Похоже, я сделал круг и опять пришёл к любимой крестовине с четырьмя фототранзисторами. )) Проблема с акселерометром заключается в трудности, неочевидности переноса результатов стендовых экспериментов на лётную модель. Оптика же позволяет сделать это совершенно прозрачно и безболезненно имхо...
Skype: a_schabanow  8.08.0
Это сообщение редактировалось 13.11.2011 в 19:05
+
-
edit
 

SashaPro

аксакал

Serge77> Математика простая.
Serge77> S(n) = S(n-1) + 0/5*a*t2

А 0/5 - это что такое? Умножение на ноль или 0,5? И от куда взялась эта цифра???
Почему t в квадрате?
Это сообщение редактировалось 13.11.2011 в 19:30

GOGI

координатор
★★★
Serge77> Акселерометр ставим в самый нос, там радиус вращения будет максимальным, а значит и измеряемое ускорение тоже, т.е. чувствительность выше.
Я имел ввиду измерять проекцию перегрузки двигателя по горизонтальным осям. То ускорение, про которое ты написал формулу слишком мало, чтобы его акселерометры чувствовали. Поэтому датчик надо в центре масс помещать.
1  8.08.0
RU GOGI #13.11.2011 19:37  @Non-conformist#13.11.2011 18:26
+
-
edit
 

GOGI

координатор
★★★
Non-conformist> Не хочу Бейсик, хочу Си. Я уже начал читать книжки, вникаю потихоньку.
Если уж пишешь на Си, то бери IARовский компилятор.
1  8.08.0

SashaPro

аксакал

GOGI> Я имел ввиду измерять проекцию перегрузки двигателя по горизонтальным осям.

Перегрузки двигателя? Может ракеты в целом? Когда у нас есть ускорение в принципе не важно, какая сила его вызвала, надо его просто мерить. Однако расположение датчика ускорений в ЦТ не даст полной картины движения ракеты, если он не умеет мерить ещё угловое ускорение.

GOGI> То ускорение, про которое ты написал формулу слишком мало, чтобы его акселерометры чувствовали. Поэтому датчик надо в центре масс помещать.

Если нужно измерить перегрузку именно составляющих вектора тяги, то тогда нужно не в ЦТ датчик ставить, а в точку приложения силы тяги. Но гоняться в измерениях за каждой силой целой системы сил по отдельности не точно и очень сложно...
UA Serge77 #13.11.2011 19:51  @SashaMaks#13.11.2011 19:12
+
-
edit
 

Serge77

модератор

Serge77>> S(n) = S(n-1) + 0/5*a*t2
SashaMaks> А 0/5 - это что такое? Умножение на ноль или 0,5? И от куда взялась эта цифра???

Да, опечатка. Правильно так:
S(n) = S(n-1) + 0.5*a*t2

SashaMaks> Почему t в квадрате?

Ну формула такая. Без квадрата единицы не получаются))
UA Serge77 #13.11.2011 19:52  @Non-conformist#13.11.2011 18:50
+
-
edit
 

Serge77

модератор

Non-conformist> непадающий маятник на нём не построишь.

Почему же? Тот же SegWay на них.
1 21 22 23 24 25 78

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