[image]

Кобра

 
1 15 16 17 18 19 20 21
RU termostat #24.10.2008 14:54  @Non-conformist#24.10.2008 14:02
+
-
edit
 

termostat

аксакал

Non-conformist> В тот момент, когда световое пятно не будет освещать ни тот, ни другой сенсор (ситуация совершенно стандартная)

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

Non-conformist> закроются ОБА фототранзистора, и выход твоего "тандема" примет неопределенное состояние, зависящее от разброса темновых параметров фототранзисторов

Ну решение то очевидно - просто зашунтировать фототранзисторы одинаковыми высокоомными резисторами. Тогда без света на вход АЦП поступит половина питания.

Non-conformist> Все детали в наличии есть, никаких проблем...
Просто раз ты решился использовать МК то почему бы не использовать его по максимуму ?

В любом случае тебе решать как делать, я просто помочь постараюсь.
   7.07.0
UA Non-conformist #24.10.2008 20:02
+
-
edit
 

Non-conformist

аксакал

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

По микроконтроллеру. Пока мы не можем найти даже исходник для двухканального ПИД-регулятора. Я правильно понимаю ситуацию? О каком же максимальном использовании МК может идти речь в этом случае? Я вообще возобновил эту тему только потому, что у меня есть аналоговая альтернатива, которую по крайней мере можно хотя бы довести до состояния экспериментальной установки. Кстати, где это говорилось о том, как соотносятся номиналы RC-цепей с численными значениями коэффициентов регулирования? Я такого не припоминаю, тыкни пальцем.
   
RU termostat #24.10.2008 20:12  @Non-conformist#24.10.2008 20:02
+
-
edit
 

termostat

аксакал

Non-conformist> Пока мы не можем найти даже исходник для двухканального ПИД-регулятора.

Я ж выше тебе написал - что функция регулятора ОБЫЧНО одна в проге просто ее вызывают по очереди разные каналы регулирования.

Но и написать в проге два раза одну и туже функцию ПИД просто С РАЗНЫМИ названиями (свое для каждого канала регулирования) тоже очень просто.
   7.07.0
UA Non-conformist #24.10.2008 20:47
+
-
edit
 

Non-conformist

аксакал

> Я ж выше тебе написал - что функция регулятора ОБЫЧНО одна в проге просто ее вызывают по очереди разные каналы регулирования.

Таки писал, но как-то неопределенно. Т.е. с прошивкой вообще нет принципиальных проблем?
   
RU termostat #24.10.2008 21:01  @Non-conformist#24.10.2008 20:47
+
-
edit
 

termostat

аксакал

Non-conformist> Т.е. с прошивкой вообще нет принципиальных проблем?
Надеюсь что не будет. Главное иметь четкое описание входных и выходных сигналов для МК и описание органов управления. Хорошо бы текущее описание публиковать где то на страничке в интернете, чтоб взглянуть можно было в любой момент.
Ты МК купил ? под какой планировать ? Под ATmega16 (ИМХО предпотительно) или -8 или -32 ?
   7.07.0
Это сообщение редактировалось 24.10.2008 в 21:53
RU termostat #24.10.2008 21:52
+
-
edit
 

termostat

аксакал

Заметь !!! Программа в МК не меняется ни как от того как устроен датчик - по твоему или по моему. Все равно 2 входа АЦП для датчика и половина питания - это "сет поинт" (к чему стремится) для PID.

Напомни какой выход ШИМ нужен ? 1 ШИМ на канал и ШИМ 50% это нейтраль ? Или выход ШИМ и выход направления на каждый канал ?
   7.07.0
UA Non-conformist #24.10.2008 22:28
+
-
edit
 

Non-conformist

аксакал

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

Насчет МК: минимально необходимый, максимально компактный, в т.ч. по цене. Понятное дело, с возможностью многократного перепрограммирования и необходимыми примочками для выносного пульта, как ты писал. Кроме того - порт на вышибной заряд парашюта (таймер от момента прекращения работы двигателя, г-свич). Этим же портом можно будет управлять отсечкой питания системы УВТ, чтобы не садить батареи вышедшими на упор активаторами, да и сами активаторы чтобы не спалить. Кроме того - порт на включение маршевого мотора и одновременную подачу питания на систему УВТ (таймер от момента срабатывания вышибного заряда ТПК).

Тут уж тебе выбирать, какой МК подойдет лучше. Как отправную точку имхо логично использовать атмеловский аналог примененного в микрочиповском апноуте, чтобы только портов на два канала хватило. И быстродействия, наверное...
   
RU termostat #24.10.2008 22:37
+
-
edit
 

termostat

аксакал

Ну тогда ATmega16 пока. Ты объясни - у тебя какие сигналы управляли мощными драйверами - по одному ШИМ на канал (на 1 драйвер актуатора) ?
   7.07.0
UA Non-conformist #24.10.2008 22:42  @termostat#24.10.2008 21:52
+
-
edit
 

Non-conformist

аксакал

termostat> Напомни какой выход ШИМ нужен ? 1 ШИМ на канал и ШИМ 50% это нейтраль ? Или выход ШИМ и выход направления на каждый канал ?

Я не знаю, как будет задаваться направление вращения в твоей программе. В аналоговом варианте этим делом заведует ШИМ-модулятор UC2637, который раскладывает входной аналоговый сигнал с некоей "нулевой" средней точкой на две ШИМ-последовательности, которые идут на входы драйвера, а потом на диагонали Н-моста.

Если ты про вариант руления мотором в самой set-point, то делай максимально жесткий вариант, без дед-тайма. Этими "мелочами" пускай занимается умный драйвер - хай Фрискейл себя проявит...
   
RU termostat #24.10.2008 22:53  @Non-conformist#24.10.2008 22:42
+
-
edit
 

termostat

аксакал

Non-conformist> Я не знаю, как будет задаваться направление вращения в твоей программе.

Пргограммы еще нет. Как надо тебе так и будет задаваться. я потому и выясняю.

Non-conformist> В аналоговом варианте этим делом заведует ШИМ-модулятор UC2637, который раскладывает входной аналоговый сигнал с некоей "нулевой" средней точкой на две ШИМ-последовательности, которые идут на входы драйвера, а потом на диагонали Н-моста.

Т.е. нужно 2 ШИМ сигнала - когда один "1" другой "0" - когда они по 50 % усилие актуатора нулевое. Т.е. я сделаю 1 аппаратный ШИМ с МК на каждый актуатор, а комплементарный 2-й ШИМ получим инвертором типа 74hc14 - все равно эти буферы пригодятся в системе - из 6 в корпусе одном.

Non-conformist> без дед-тайма. Этими "мелочами" пускай занимается умный драйвер - хай Фрискейл себя проявит...
Это верно.

Non-conformist> Насчет описания органов управления не понял. Физические параметры?
Ну переменники, кнопочки - как на пульте ТВ. То что ты выше написал уже.

Найди время - заведи страничку где будет лежать свежая версия описания твоего окружения МК и линки на схему драйверов мотсов и все что будет сделано.

Потому что бегать по страничкам конфы - гимор полнейший.
   7.07.0
UA Non-conformist #24.10.2008 23:11  @termostat#24.10.2008 22:53
+
-
edit
 

Non-conformist

аксакал

termostat> Найди время - заведи страничку где будет лежать свежая версия описания твоего окружения МК и линки на схему драйверов мотсов и все что будет сделано.
termostat> Потому что бегать по страничкам конфы - гимор полнейший.

Заготовка странички уже есть. Ссылка на мой "сайт" как раз под бородой, статья "Фаворит". Сделаю подстраничку по МК-варианту, как будет что туда выкладывать. А пока сосредоточусь на голове.
   
UA Non-conformist #26.10.2008 09:49  @Non-conformist#24.10.2008 23:11
+
-
edit
 

Non-conformist

аксакал

Очередная порция рассуждений-пожеланий.

В качестве помянутого выше Г-свича судя по всему целесообразно применить интегральный акселерометр типа ADXL (кстати - имеется в наличии). Алгоритм работы бортовой электроники таков:

1. Срабатывание вышибного заряда - БАХ! Акселерометр фиксирует момент толчка, МК просыпается и подает питание на датчик и силовую часть системы УВТ. Однако на период от момента толчка изделия вышибным зарядом в трубе ТПК до точки запуска маршевого двигателя, данные с датчика ПОДМЕНЯЮТСЯ "нулями" (координатами setpoint - мотор соосен с корпусом ракеты). Т.е. на участке катапультирования вся система УВТ уже включена (в том числе и ее силовая часть), все переходные процессы закончились - для нормальной ее работы не хватает только сигнала с датчика. Сигнал этот блокируется (подменяется "нулями") затем, чтобы предотвратить перегрузку электромоторов активаторов - без тяги маршевого двигателя, т.е. без замыкания петли ОС, они моментально выйдут на упор, и начнется соревнование "кто-кого": щеточные аппараты электромоторов или батарея питания. Если батарея будет хорошая, то соревнование это будет сопровождаться дымком и легким ароматом горелой электрики.

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

2. Вертикальная скорость восходящей ветви траектории катапультирования плавно уменьшается до некоторого значения, записанного в памяти МК. Как только это значение совпадет с показаниями акселерометра, МК выдает импульс на включение маршевого двигателя, и одновременно "открывает ворота" для сигнала с солнечного датчика. В этот момент система УВТ оживает - ее датчик увидел Солнце. Легкий пируэт кормой, и полет начался!

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

Ну вот так... В общих чертах. Так же просто, как 1,2,3...
   
UA Serge77 #26.10.2008 09:59  @Non-conformist#26.10.2008 09:49
+
-
edit
 

Serge77

модератор

Non-conformist> без тяги маршевого двигателя, т.е. без замыкания петли ОС, они моментально выйдут на упор, и начнется соревнование "кто-кого"

Может поставить концевики, чтобы в такой ситуации питание моторов отключалось?
   3.03.0
UA Non-conformist #26.10.2008 10:06  @Serge77#26.10.2008 09:59
+
-
edit
 

Non-conformist

аксакал

Non-conformist>> без тяги маршевого двигателя, т.е. без замыкания петли ОС, они моментально выйдут на упор, и начнется соревнование "кто-кого"
Serge77> Может поставить концевики, чтобы в такой ситуации питание моторов отключалось?

Получится электромеханический генератор, типа "когерера" Попова. Источник мощной помехи по питанию.
   
UA Serge77 #26.10.2008 10:36  @Non-conformist#26.10.2008 10:06
+
-
edit
 

Serge77

модератор

Non-conformist> Получится электромеханический генератор, типа "когерера" Попова. Источник мощной помехи по питанию.

Это если концевики механические или при любых концевиках, например на датчике Холла?
   3.03.0
UA Non-conformist #26.10.2008 10:54  @Serge77#26.10.2008 10:36
+
-
edit
 

Non-conformist

аксакал

Non-conformist>> Получится электромеханический генератор, типа "когерера" Попова. Источник мощной помехи по питанию.
Serge77> Это если концевики механические или при любых концевиках, например на датчике Холла?

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

Кстати, по поводу типа руления моторами в setpoint. Если сделать максимально жесткий вариант, как я говорил Термостату выше, то этот режим имхо будет мало чем отличаться от режима зашкала с поданным питанием. Утешает одно - вся работа УВТ длится всего-то три-четыре секунды максимум (в случае натриевой карамели).
   
UA Serge77 #26.10.2008 11:13  @Non-conformist#26.10.2008 10:54
+
-
edit
 

Serge77

модератор

Non-conformist> Имхо суть-то не изменится: в зоне действия концевика питание выключается, вступают в действие упругие деформации, выходим из зоны концевика, питание включается, входим в зону...

Это ты мыслишь по привычке аналоговой схемой, а надо мыслить алгоритмом МК.
Здесь алгоритм другой.
Доходим до концевика, отключаем питание мотора и запоминаем в МК (говорят выставляем флаг) - мотор на упоре. После этого, если с фотодатчика приходит сигнал "двигать ещё дальше" - не двигаем. А если пришёл сигнал "двигать к центру" - двигаем и убираем флаг. После этого будет разрешено и двигать к краю.
   3.03.0
UA Non-conformist #26.10.2008 18:17
+
-
edit
 

Non-conformist

аксакал

Если так, то можно поставить. Просто ты написал концевик, вот я и мыслю категорией концевика. А то, что ты описал, лучше наверное назвать датчиком крайнего положения, который сам по себе ничего в силовой цепи не размыкает и не замыкает, а только информирует схему управления о том, что привод вышел на упор.

А если чуть доработать, и поставить не дискретный датчик (вкл/выкл), а именно бесконтактный датчик положения, то можно организовать ОС по положению органов управления, и совать туда управляющий сигнал с Земли. Только это будет уже другая ракета.

Кстати, в память можно записать не только "нули", но и простейшую тестовую программку - некоторый набор сигналов, отрабатывая которые привод УВТ будет выполнять определенные фигуры движком. Перед стартом эту тестовую программку можно будет запускать с выносного пульта, о котором говорил Термостат.
   
RU termostat #26.10.2008 19:58  @Serge77#26.10.2008 11:13
+
-
edit
 

termostat

аксакал

Serge77> надо мыслить алгоритмом МК.
Serge77> Здесь алгоритм другой.
Serge77> Доходим до концевика, отключаем питание мотора и запоминаем в МК (говорят выставляем флаг) - мотор на упоре. После этого, если с фотодатчика приходит сигнал "двигать ещё дальше" - не двигаем. А если пришёл сигнал "двигать к центру" - двигаем и убираем флаг. После этого будет разрешено и двигать к краю.

Эх радует меня Serge77 ! Вот так ПРОСТО взял растолковал что такое ПСЕВДОКОД ! Теперь это можно записать хоть на АСМ-е хоть на Бэйсике хоть на Си.
   7.07.0
UA Serge77 #26.10.2008 20:08  @termostat#26.10.2008 19:58
+
-
edit
 

Serge77

модератор

termostat> Эх радует меня Serge77 ! Вот так ПРОСТО взял растолковал что такое ПСЕВДОКОД !

Это был псевдокод? Не знал ;^))
   3.03.0
UA Non-conformist #26.10.2008 20:44  @Serge77#26.10.2008 20:08
+
-
edit
 

Non-conformist

аксакал

Вот что я имел в виду, когда говорил о типе руления мотором в точке равновесия (setpoint):

Case A Zero Deadtime (Equal voltage on Pin 9 and Pin 11)
In this configuration, maximum holding torque or stiffness
and position accuracy is achieved. However, the power input
into the motor is increased. Figure 3A shows this configuration.

Case B Small Deadtime (Voltage on Pin 9 > Pin 11)
A small differential voltage between Pin 9 and 11 provides
the necessary time delay to reduce the chances of momentary
short circuit in the output stage during transitions,
especially where power-amplifiers are used. Refer to
Figure 3B.

Case C Increased Deadtime and Deadband Mode
(Voltage on Pin 9 > Pin 11)
With the reduction of stiffness and position accuracy, the
power input into the motor around the null point of the
servo loop can be reduced or eliminated by widening the
window of the comparator circuit to a degree of acceptance.
Where position accuracy and mechanical stiffness
is unimportant, deadband operation can be used. This is
shown in Figure 3C.

Взято из даташита ШИМ-модулятора UC2637. Мне кажется, что надо использовать самый жесткий вариант, с максимальным энергопотреблением. Время работы незначительно, перегреться и сгореть ничего имхо просто не успеет.
Прикреплённые файлы:
 
   
UA Non-conformist #27.10.2008 10:42  @Non-conformist#26.10.2008 20:44
+
-
edit
 

Non-conformist

аксакал

> Время работы незначительно, перегреться и сгореть ничего имхо просто не успеет.

... а подмена сигнала солнечного датчика "нулем" нужна, чтобы уменьшить переходный процесс регулирования в момент пуска маршевого двигателя в воздухе. Одно дело, когда двигатель запустится на максимальном угле разворота относительно корпуса, и другое дело, когда он начнет давать тягу строго вдоль продольной оси ракеты: угловая скорость первого колебания переходного процесса в этом случае будет намного ниже, что должно существенно облегчить задачу системе УВТ и снизить амплитуду переходного процесса.

Кстати, для этого тоже нужно предусмотреть небольшую задержку: сигнал с солнечного датчика подавать не ОДНОВРЕМЕННО с импульсом на воспламенитель маршевого двигателя, а лишь ПО ФАКТУ НАЧАЛА ВЫХОДА НА РЕЖИМ - по достижении маршевым двигателем 1/5 .. 1/4 своей номинальной тяги. Эта задержка необходима для того, чтобы не загнать привод на упор на временном промежутке от нулевой тяги до той тяги, которая уже будет способна разворачивать ракету (балансировать солнечный датчик). Эта задержка может сыграть свою роль в алгоритме снижения интенсивности переходного процесса регулирования при запуске маршевого двигателя в воздухе. И организовывать эту задержку следует НИКАК не таймером! Нужно просто "спросить", когда же открывать путь сигналу солнечного датчика (активировать систему УВТ) - опять-таки у того же АКСЕЛЕРОМЕТРА! В этом случае перестает быть критичной строгая повторяемость динамики выхода маршевого двигателя на режим. А в нашем положении это немаловажно.
   
UA Non-conformist #27.10.2008 10:57  @Non-conformist#27.10.2008 10:42
+
-
edit
 

Non-conformist

аксакал

Дополнительной мерой по снижению интенсивности переходного процесса регулирования УВТ при запуске маршевого двигателя в воздухе может стать применение заряда с УМЕРЕННО выраженным прогрессивным профилем тяги. Увлекаться прогрессивностью не стОит, поскольку возможен "провал" ракеты с расчетной траектории и потеря Солнца датчиком УВТ.
   
RU termostat #27.10.2008 11:02
+
-
edit
 

termostat

аксакал

Вот и проблемка ... я ( в России ) не могу принимать участие в изготовлении изделия ЯВНО двойного назначения да еще публично, у нас по стране уже процессы гремят ... людей судят уже за высказывания в интернете.

Давай ка я буду делать прогу для МК для перевернутого маятника, а ты ее модифицируешь уже как захочешь.

Просто у вас в Украине закон УК совсем другой, как мы уже обсуждали на форуме, у вас по УК можно оружие и взрывчатку хранить безнаказано если нет умысла, а у нас в России нельзя не зависимо от мыслей. Твоя ракета выстреливаемая из контейнера по нашему закону об оружии яное огнестрельное оружие - так как метается из ствола газами от горения "палива" и уверен энергия этого снаряда бужет больше чем у травмтической "ОСЫ"

Так что я только с прогой ПИД для МК под маятник могу помочь.
   7.07.0
UA Non-conformist #27.10.2008 11:28  @termostat#27.10.2008 11:02
+
-
edit
 

Non-conformist

аксакал

Удалено автором.
   
Это сообщение редактировалось 27.10.2008 в 12:24
1 15 16 17 18 19 20 21

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru