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

 
1 79 80 81 82 83 88
UA Non-conformist #23.04.2012 20:18  @Ckona#23.04.2012 20:14
+
-
edit
 

Non-conformist

аксакал

Ckona>>> Весь один мегабайт.
Non-conformist>> Там 128 кБ всего.
Ckona> Так ты ж в начале страницы сам признал, что в 1 мегабайт !
Там один мегаБИТ с копейками. Делишь его (с копейками) на восемь, и получаешь ровно 128 килоБАЙТ.
Skype: a_schabanow  
UA Non-conformist #23.04.2012 20:20  @Ckona#23.04.2012 20:14
+
-
edit
 

Non-conformist

аксакал

Ckona> Выдержат ли ключи ток 5 А на протяжении 1/3 секунды ?
Да выдержат они хоть десять секунд имхо. Что такое пять ампер для такой чушки!
Skype: a_schabanow  

Ckona

опытный
★☆
GOGI> Вся память измеряется в мегабитах.
Ой-ой, спасибо за поправку. Non-Conformist прав.
 

Ckona

опытный
★☆
shadowjack>> Видимо, где-то в реализации кроется косяк, поэтому и выводится только одна строка.
Ckona> Можно ли изменить(упростить) код таким образом, чтобы выводилось все содержимое, записанное в память ? Весь один мегабайт.
Ckona> Пусть "ориентиром" будет текущее время контроллера micros().
Ckona> Надо как-то "сдвинуться" с "памятной отметки", чтоб "телеметрия" тоже работала.

Переношу "базополагающее" сообщение на эту страницу,
а также сообщаю о некотором продвижении проекта в железячном направлении.

Уважительное отношение к идеям Чучхэ по части упорства привело к появлению настоящего токарного угольника !

И вот уже вытачиваются фигурные втулки для рабочих клапанов, через которые будут присоединяться пневмоаккумуляторы.
В центре кадра - заглушка с латунным соплом, на заднем плане - экспериментальный пневмоклапан.
Прикреплённые файлы:
 
 
UA Non-conformist #25.04.2012 22:58  @Ckona#25.04.2012 20:50
+
-
edit
 

Non-conformist

аксакал

Ckona> Уважительное отношение к идеям Чучхэ по части упорства привело к появлению настоящего токарного угольника !

!

Прикреплённые файлы:
 
Skype: a_schabanow  
+
-
edit
 

Ckona

опытный
★☆
shadowjack> Видимо, где-то в реализации кроется косяк, поэтому и выводится только одна строка.

Придумал "ход конем" (хотя, скорее, "коровой") для обеспечения записи в память.
Для этого надо, чтобы контроллер работал не только до приземления, но и далее - до подключения к компьютеру.
Поскольку оперативная память не задействована полностью, можно наобъявлять переменных (а может, и массив) и записывать отдельные данные (может, после обработки) - чтобы иметь хоть какое-то представление о параметрах полета. Это примерно 70...90 чисел.
Подключив Ардоскоп к ноутбуку, нажимаем на кнопочку - и программа Ксаныча сотворяет файл.

А вот уже точно "ход конем" - это краспицы на стержне маятника.
Грузы там 0,6 и 1,2 килограмма, стержень восьмимиллиметровый.
От толчка (т.н. "корректирующего импульса") начинаются изгибные колебания с периодом 0,8 секунды, которые портят всю картину.
Поставил краспицы и оттяжки - все стало жесткое, пихается без изгибных колебаний.
 
UA Non-conformist #27.04.2012 16:18  @Ckona#27.04.2012 15:59
+
-
edit
 

Non-conformist

аксакал

Неужели никто из компетентных участников форума так и не поможет отладить запись данных в нормальную память? Писать в оперативку... Может лучше вообще на механический вычислитель откатиться? ))
Skype: a_schabanow  
UA Ckona #27.04.2012 16:25  @Non-conformist#27.04.2012 16:18
+
-
edit
 

Ckona

опытный
★☆
Non-conformist> Может лучше вообще на механический вычислитель откатиться? ))
Он у меня есть, но с ним ракета не взлетит.
Вполне взлетит с Ардоскопом без телеметрии, но это некузяво.

Впереди майские праздники. Ни в какие походы не еду. Будет время ковырять софт.
Конечно, тяжко копаться в коде, но очень увлекательно.
 
UA Non-conformist #27.04.2012 16:38  @Ckona#27.04.2012 16:25
+
-
edit
 

Non-conformist

аксакал

Ckona> Вполне взлетит с Ардоскопом без телеметрии, но это некузяво.
Т.е. ты хочешь сказать, что алгоритм балансирования у тебя уже есть?
Skype: a_schabanow  
UA Ckona #27.04.2012 17:07  @Non-conformist#27.04.2012 16:38
+
-
edit
 

Ckona

опытный
★☆
Ckona>> Вполне взлетит с Ардоскопом без телеметрии, но это некузяво.
Non-conformist> Т.е. ты хочешь сказать, что алгоритм балансирования у тебя уже есть?

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

Система окажется неработоспособной, если возмущения окажутся очень сильными, или корректирующие импульсы очень слабые. Пока такого не наблюдал. Расчетное возмущение - до 30 градусов в секунду.
По проведенным запускам, за время от старта до запуска второй ступени может быть одна или две коррекции в каждом из четырех направлений.

Теперь об экспериментах, что надо будет делать.
1) тщательно пересчитать пороговые величины из градусов в "попугаи".
2) Еще раз проверить пищалкой срабатывание на пороговых углах и угл.скоростях. Все предыдущие проверки были на "абы каком" маятнике. Сейчас маятник отображает реальную угловую инерцию. Совсем другое дело (важно так, солидно качается), просто так его не отклонишь.
3) Запрограммировать.
4) Электромагниты под управлением твоих ключей успешно щелкают, теперь надо доделать клапана и пшикать.
5) главный эксперимент: четыре бутылки под давлением на маятнике, он сбалансирован на ноль (как отклонишь, так и остается за счет трения), перекосить маятник под 20 градусов и кнопкой(твоей) сымитировать старт. "Оно" должно выправить угол на вертикальный и держать его "в пределах", пока не кончится давление.

В штатном режиме старт определяется по ускорению.

Четвертую бутылку из-под молока я уже выпил (без пива), возможно, придется переделывать подвеску Ардоскопа, чтоб не подрагивала. Нужна более жесткая.
 
UA Non-conformist #27.04.2012 17:26  @Ckona#27.04.2012 17:07
+
-
edit
 

Non-conformist

аксакал

Да, проделанная работа впечатляет. Так ты говоришь, работают соленоиды? А как ты ими рулишь? Просто 0/1, или модулируешь токи притягивания/удерживания? Или импульсы совсем короткие для таких заморочек?
Skype: a_schabanow  
UA Ckona #27.04.2012 17:39  @Non-conformist#27.04.2012 17:26
+
-
edit
 

Ckona

опытный
★☆
Non-conformist> Да, проделанная работа впечатляет. Так ты говоришь, работают соленоиды?

Да никакой работы еще не проделано. Тыкаюсь.
Взял электромагнит, припаял диод, подключил, написал прогу со счетчиком на 5 включений продолжительностью 0,3 секунды с интервалом 1 секунды. Второй канал - со сдвигом на полсекунды. (еще два электромагнита не собраны) Включил: получилось т-р-р-р-р-р. Все.

Электромагнит в сборе: обмотка, магнитопровод, задняя стенка, передняя стенка, якорь, пружина на гайке.
Клапан в сборе: электромагнит, корпус, заглушка с соплом, резинодержатель (он же упор для пружины).

Занимаясь самотужки всей этой затеей, начинаю еще больше уважать дедов, которые делали ракеты на стыке 40-х...50-х.
 
UA Ckona #27.04.2012 17:46  @Non-conformist#27.04.2012 17:26
+
-
edit
 

Ckona

опытный
★☆
Non-conformist> А как ты ими рулишь? Просто 0/1, или модулируешь токи притягивания/удерживания?
Ток течет - клапан открыт. ток не течет: пружина срывает намагниченный якорь, давление прижимает резинку к седлу сопла. Время пребывания в открытом состоянии - 0,25...0,3 секунды.

Резерв для управления на будущее: менять продолжительность открытого состояния.
Твое предложение - модулировать ток - блестящая и прекрасная идея !
Действительно, большой (30 А/кв.мм.) ток нужен только для открывания клапана, но отнюдь не для удержания.
 
UA Non-conformist #27.04.2012 19:30  @Ckona#27.04.2012 17:46
+
-
edit
 

Non-conformist

аксакал

Ckona> Твое предложение - модулировать ток - блестящая и прекрасная идея !
Если кодом (ШИМ) не сможешь, то такую модуляцию имхо можно будет сделать аппаратно: в силовую цепь каждого соленоида врезать по последовательному электролиту на пару тысяч микрофарад (подобрать экспериментально), зашунтированному резистором тока удержания. Так имхо можно неплохо сэкономить на батарейках.
Skype: a_schabanow  
+
-
edit
 

shadowjack

втянувшийся
Ckona> Пусть "ориентиром" будет текущее время контроллера micros().
Ckona> Надо как-то "сдвинуться" с "памятной отметки", чтоб "телеметрия" тоже работала.
Извините за задержку, вот версия с (отключаемой) функцией дампа всей памяти (т.е. если исправить FULL_DUMP с 1 на 0 - будет старая логика работы).
Также инвертировал лог. уровни кнопки (т.к. походу у нас HIGH - кнопка отпущена, LOW - нажата). Добавил отладочную печать - временную метку событий "нажатие кнопки" и отпускание кнопки.
К сожалению, память удаленно отладить сложно, а моя ардуиновская плата задействована в проекте, и в ближайшую пару месяцев не освободится. Поэтому будем потихоньку двигаться к цели в удаленно-распределенном режиме.
Прикреплённые файлы:
 
 8.08.0
+
-
edit
 

Ckona

опытный
★☆
shadowjack> будем потихоньку двигаться к цели
Подхватываю !
Код успешно перекачал.
 
Это сообщение редактировалось 30.04.2012 в 23:00

Ckona

опытный
★☆
Ckona> Подхватываю !
Версия V2 обеспечивает переход от режима ожидания (IDLE) в режим записи (RECORD) и обратно, если не исчерпано 20 секунд.

По завершении 20-секундного периода записи (это очень правильно сделано ! , нашел соответствующее место в коде) программа "зависает".

Вызвать режим "считывание данных в СОМ-порт" не удается, в том числе и до завершения 20 секунд.
Кнопку держу 3-4 секунды - ни фига.

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

Configuring L3G4200D
Configuring LIS331D
Generating magic ... 40046
9750 Button down
9751 Button up
Short press
state -> RECORD
Generating magic ... 20931
......16717 Button down
16718 Button up
Short press

state -> IDLE
22735 Button down
22736 Button up
Short press
state -> RECORD
Generating magic ... 2431
...............37929 Button down
37931 Button up
Short press

state -> IDLE
41520 Button down
41521 Button up
Short press
state -> RECORD
Generating magic ... 25887
....................
 

Ckona

опытный
★☆
Ckona> отмести "аппаратные подозрения"

Трудно будет это сделать !

Режим IDLE (ожидание).
ВСЕГДА одно короткое нажатие на кнопку вызывает режим RECORD.

Режим RECORD.
В среднем требуется 8 раз нажать на кнопку короткими нажатиями, чтобы перевести программу в режим IDLE.

Напрашивается вывод, что контроллер, занятый обработкой потока данных, не замечает краткий миг пребывания кнопки в нулевом состоянии.

Попробую заняться длинными нажатиями.
 
UA Non-conformist #01.05.2012 14:47  @Ckona#01.05.2012 14:43
+
-
edit
 

Non-conformist

аксакал

Ckona> Напрашивается вывод, что контроллер, занятый обработкой потока данных, не замечает краткий миг пребывания кнопки в нулевом состоянии.
Попробуй заменить обсуждавшийся выше конденсатор на u68.
Skype: a_schabanow  

Ckona

опытный
★☆
Ckona> Попробую заняться длинными нажатиями.

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

А что если написать отдельную программу, которая, будучи загруженной, один раз выкачивает данные из памяти в СОM-порт и останавливается ?
 
UA Ckona #01.05.2012 14:56  @Non-conformist#01.05.2012 14:47
+
-
edit
 

Ckona

опытный
★☆
Non-conformist> Попробуй заменить обсуждавшийся выше конденсатор на u68.
Думал об этом. Очень неохота разбирать Ардоскоп, а с наружной стороны это все недоступно.
Подумаю еще, как это можно сделать.
В любом случае, первые "догадки" нельзя считать основанием для серьезных выводов.

Подумал и придумал. Завтра у меня возможен осциллограф и паяльник для доступа к "горячему" выводу кнопки" с наружной стороны. Конденсатор жестко припаяю на площадку межплатного штыря D4, а на кнопку - тонкой проволочкой.
 
Это сообщение редактировалось 01.05.2012 в 15:07

Ckona

опытный
★☆
Ckona> По завершении 20-секундного периода записи программа "зависает".
Если есть возможность, предлагаю в первую очередь "разрулить" это зависание.
С аппаратными нюансами точно никак не связано.
 
+
-
edit
 

shadowjack

втянувшийся
Итак, ясно - "антидребезг" ограничивает время нажатия 1-2 мс. Неудобно. Длинных нажатий, значит, не будет. По этой же причине происходят пропуски события "кнопка нажата" в режиме записи.
Попробую сделать активацию режима сброса данных по команде с ком-порта.
 11.011.0
+
-
edit
 

shadowjack

втянувшийся
Ckona> Если есть возможность, предлагаю в первую очередь "разрулить" это зависание.
Есть большой шанс, что этот багфикс поможет - см. новую версию во вложении.
Прикреплённые файлы:
 
 11.011.0
RU shadowjack #01.05.2012 18:01  @shadowjack#01.05.2012 17:54
+
-
edit
 

shadowjack

втянувшийся
shadowjack> Есть большой шанс, что этот багфикс поможет - см. новую версию во вложении.
А это версия с активацией режима сброса данных черес последовательный порт. Нужно послать символ 'd' (только из режима IDLE).
Прикреплённые файлы:
 
 11.011.0
1 79 80 81 82 83 88

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