[image]

Электронное оборудование ракет - БРЭО,часть XIV

 
1 190 191 192 193 194 253

pinko

опытный

RocKI> Я так понял, что время ты в память не пишешь. Наверно это правильно, но задержка по факту все же отличается от задаваемой. Например, я брал delay=500, но время брал по факту. При распечатке там получается 525-534. Т.е. за 50сек набегает ошибка 3сек.

RocKI, я не знаю ети микроконтроллеры, но там должно быть возможност чтобы использовать прерывание аппаратного таймера для точной синхронизации. То что я делаю, похожет на то:
1. Сброс аппаратного таймера на 500 мсек
2. Запуск аппаратного таймера
3. МК делает что-то надо делает
4. МК ожидат прерывания аппаратного таймера
5. Перейти к пункту 1

Таким образом, каждый период будет равeн на 500 мсек.
   44.044.0

RocKI

опытный

pinko> RocKI, я не знаю ети микроконтроллеры, но там должно быть возможност чтобы использовать прерывание аппаратного таймера для точной синхронизации.

Да, я уже разобрался, как это сделать. Использую именно таймер и отсчитываю по нему момент снятия характеристик.
   48.0.2564.11648.0.2564.116
+
-
edit
 

fortekom

втянувшийся
RocKI> Но кнопка все-таки нужна для стирания. :)
Если не будет кнопки (у меня перемычка), то при случайном отключении или сработает ресет, может включится запись и реальный результат будет утерян.

RocKI>Только зачем писать максималку в нулевую ячейку. Может просто проверять не нулевую, а, например, десятую ячейку?
Можно и не писать максималку, тогда можно будет на одно значение больше записать :)
Но проверку я бы начал с первой записи, а в друг фальстарт.

RocKI> Я так понял, что время ты в память не пишешь. Наверно это правильно, но задержка по факту все же отличается от задаваемой. Например, я брал delay=500, но время брал по факту. При распечатке там получается 525-534. Т.е. за 50сек набегает ошибка 3сек.
Не пишу так как места мало.
delay я не использую, так как записываю один раз каждые 80 мили секунды, но можно увеличить до 20, но тогда общее время полета уменьшится.
Что бы проверить точность нужно написать программку для теста и учитывать время каждого оператора, если использовать условие или вывод на экран, то время будет каждый раз разное. Так как там используются различные задержки. И плюс в Ардуино загрузчик, а с ним тоже надо считаться.
Я использую задержку - while ((t*ttt)>(millis()-tt)) ;
Как достигается нужное время происходит запись.

В идеале нужно использовать аппаратное прерывание как предлагает pinko.
Но у меня была задача сделать чтоб ученику на ракетомодельном кружке было доступно. Даже без паяльника :)

А прерывание это следующий шаг, но если интересно то тут глянь -

Использование прерываний в Arduino (начало) | Аппаратная платформа Arduino

Использование прерываний на контроллере Arduino на микроконтроллере ATMega168. Теория и примеры // arduino.ru
 
   48.0.2564.11648.0.2564.116
+
-
edit
 

RocKI

опытный

fortekom> Я использую задержку - while ((t*ttt)>(millis()-tt)) ;

Я это уже нашел в твоем скетче, и понял. Вполне достойный вариант решения, учитывающий время на операторы. Я, честно говоря, не вижу особой разницы с прерыванием.
   48.0.2564.11648.0.2564.116
?? Gеnеral #28.02.2016 20:00
+
-
edit
 

Gеnеral

втянувшийся
Pinko> Поздравления для хорошего прогресса с этими двигателями. Какой шаг ты имел в виду когда ты сказал что его пропустил?

Спасибо, после первого теста нужно было отключить и сного включить питание платы, я это не сделал
   
+
-
edit
 

pinko

опытный

Gеnеral> Спасибо, после первого теста нужно было отключить и сного включить питание платы, я это не сделал

Понимаю, сожалею для пропущенный тест. Eсли аудио не включено, помести перемычк и прослушивай аудио индикации - ето хорошая индикация статуса.

- медленный "бип-бип" означает готов к записи
- нет "бип-бип" - нет готовность к записи - либо запись закончил или что-то не так
- быстрый "бип-бип" означает записывает
- постоянный "бип" означает низкое напряжение аккумулятора
   44.044.0
+
-
edit
 

Gеnеral

втянувшийся
pinko> Понимаю, сожалею ....

Спасибо, ни чего страшного, за то получил опыт
   33

Lioxa

втянувшийся
При последнем пуске оборвалась запись лога полета. Поэкспериментировал и понял что иногда при пережигании запала перегружается Брео, как-бы это дело пофикстаь?
Запалы подключены через мосфет с липо батарейки. Брео питается через кренку, на питании висит пару кондесаторов, может слишком маленькая емкость ?
   48.0.2564.11648.0.2564.116
+
-
edit
 

Massaraksh

аксакал
★☆
Lioxa> Запалы подключены через мосфет с липо батарейки. Брео питается через кренку, на питании висит пару кондесаторов, может слишком маленькая емкость ?
Лучше всего раздельное питание.
   45.045.0
+
-
edit
 

Lioxa

втянувшийся
Massaraksh> Лучше всего раздельное питание.

Ты имееш в виду 2 батарейки ? Места жалко, и не везде поместится.
   48.0.2564.11648.0.2564.116
+
-
edit
 

Massaraksh

аксакал
★☆
Lioxa>может слишком маленькая емкость ?
Можно попробовать посчитать время, которое конденсатор будет держать напряжение при просадке питания, если ты знаешь, сколько потребляет электроника, исходя из формулы
Т=RC, где Т-время просадки питания, R-внутреннее сопротивление электроники, C-ёмкость потребного конденсатора.
Точнее, вот так.
UC = U(1 - e-t/RC)
Но бык раздельное питание лучше .
   45.045.0
Это сообщение редактировалось 09.03.2016 в 05:36

pinko

опытный

Lioxa> Запалы подключены через мосфет с липо батарейки. Брео питается через кренку, на питании висит пару кондесаторов, может слишком маленькая емкость?
Massaraksh> Можно попробовать посчитать время, которое конденсатор будет держать напряжение при просадке питания, если ты знаешь, сколько потребляет электроника, исходя из формулы

Ето не поможет. Если напряжение упало так сильно чтобы был сброс, то надо изолировать питания для регулятора от МОП-транзистора с помощью блокирующий диод. Лучше если используется Шоттки диод потому что он иметь более низкое падение напряжения ~0,3в. Потом надо поместит електролитны конденсатор (лучше танталовы, но они стоит более) после этого диода - от 220 до 1000 микФ должно быть достаточно.

Если нет етой блокировочный диод, то напряжение на левой стороне регулятора упадет быстро ниже чем выходное напряжение регулятора потому что на правой стороне регулятора есть большая емкостная мощность - так защитной диод регулятора будет проводит в обратном направлении и МОП-транзистор будет фактически потребляет ток от тех конденсаторов, которые разместени на VCC через защитной диод. Таким образом, простое увеличение емкости конденсаторы на VCC не поможет.

Но если есть блокирующий диод (окруженный с краснем), когда воспламенитель начать потребяеть ток через МОП-транзистора, напрежение питания будет падает и напрежение на аноде етого диода будет менше чем на катоде - тоесть диод будет блокировать ток в обратном направлении и МОП-транзистора будет изолирован от всех конденсаторы после диода.
   44.044.0
Это сообщение редактировалось 09.03.2016 в 08:25

Xan

координатор

Massaraksh>> Лучше всего раздельное питание.
Lioxa> Ты имееш в виду 2 батарейки ? Места жалко, и не везде поместится.

Литиевая батарейка меньше кондюра.
Например: 80 mAh — 2.5 g, L = 32, D = 7.5 mm
Кондюр с такими размерами нифига не поможет удержать питание.
Батарейка компактнее, схема проще.

А вот большая:
650 mAh — 12.54 g, L = 46, D = 12.5 mm
Эта 10 ампер легко выдаст, что хочешь подожжёт! :)
   
+
-
edit
 

Massaraksh

аксакал
★☆
pinko> Но если есть блокирующий диод (окруженный с краснем)
Диод я, естественно, подразумевал.
   45.045.0
+
-
edit
 

round125

втянувшийся

Так выглядит эскизная реализация одного из вариантов бортового вычислителя, сейчас это поиск вариантов решения узловых элементов конструкции: комплектацию, соответствующую текущим и перспективным техническим требованиям, компоновка, способы управления работой устройства и индикация состояния, способы коммутации исполнительных устройств и, разумеется, системы предохранителей и блокировки боевых цепей, обеспечивающих безопасность при подготовке старта. Мы не копируем чьи либо варианты, хотя на Форуме есть очень достойные варианты решения подобных задач. Особо благодарю pinko за профессиональную работу и полезную информацию. У нас всё же свой путь, обусловленный возможностями и конкретными задачами.
Прикреплённые файлы:
V-002_34701.jpg (скачать) [1829x1804, 997 кБ]
 
 
   44.044.0
Это сообщение редактировалось 09.03.2016 в 22:09
RU Massaraksh #19.03.2016 11:42
+
-
edit
 

Massaraksh

аксакал
★☆
Довожу до ума сейчас блок управления ракетой, и вот какую занятную хрень обнаружил. На плате микроконтроллер atmega8 с датчиком давления. Плата запитана и неподвижно лежит на столе, меряет высоту. Два раза по 4 минуты. Но графики высоты отличаются. Кто отгадает, в чем разница, не заглядывая под спойлер?
[показать]
Прикреплённые файлы:
Screenshot_1.png (скачать) [1520x876, 88 кБ]
 
 
   45.045.0
RU Ignis Caelum #21.03.2016 00:07  @Massaraksh#19.03.2016 11:42
+
-
edit
 

Ignis Caelum

опытный

Massaraksh> Кто отгадает, в чем разница, не заглядывая под спойлер?
Попробую сыграть
ты не сказал какой датчик. это важно.
в общем случае - "прогрев" датчика после начала работы.
P.S.
И как отвечать, если спойлер в ответе видно открытым ? :)
   11.011.0
RU Massaraksh #21.03.2016 01:13  @Ignis Caelum#21.03.2016 00:07
+
-
edit
 

Massaraksh

аксакал
★☆
I.C.> И как отвечать, если спойлер в ответе видно открытым ? :)
Странно. У меня нет.
   46.046.0
RU Massaraksh #21.03.2016 16:54
+
-
edit
 

Massaraksh

аксакал
★☆
Закончил отладку контроллера управления полётом.
   46.046.0

NNV

втянувшийся

Смотрите-ка, какая забавная штука появилась в продаже — выпуск парашюта по высотомеру. Но дорогущая.

Chute Release

Chute Release lets you control the altitude your parachute opens. For model rocketry. // www.jollylogic.com
 
   
+
-
edit
 

Massaraksh

аксакал
★☆
NNV> Смотрите-ка, какая забавная штука появилась в продаже — выпуск парашюта по высотомеру. Но дорогущая.
NNV> Chute Release - Jolly Logic
Только не в апогее, а на фиксированной высоте. Может и порвать, если неправильно рассчитаешь.
   46.046.0
RU round125 #29.03.2016 00:10  @Massaraksh#28.03.2016 14:15
+
-
edit
 

round125

втянувшийся

Massaraksh> Только не в апогее, а на фиксированной высоте. Может и порвать, если неправильно рассчитаешь.

Слайдер ставится.
   45.045.0

Xan

координатор

(https://dl.dropboxusercontent.com/u/6706516/RS_and_XTEA.rar)

Вдруг кому-то интересно будет:
1. Шифровалка XTEA.
2. Корректирующие коды Рида-Соломона;

Шифровалка — в качестве примера выдрал кусок из своей проги, отрезав всё лишнее. Комментарии внутри.

А RS — "древние утерянные знания прошлых веков". :)

На их основе сначала пробовал работу алгоритма с длиной слова 4, 5 и 6 бит.
Потому что у младшего микроконтроллера сил на большее не хватало.
Теперь с Pic24 перешёл на 8-битное слово.

Теорию (про поля Галуа и пр.) каждый может поискать в гугле.

А практика такая:
Выбрав длину слова m получаем максимальную длину блока — n = 2^m - 1
Для привычных 8-битных байтов m = 8 и n = 255.
Внутри блока выделяем некоторое количество пар слов под контрольные.
Число выделенных слов должно быть чётное = 2 * t
И тогда для собственно данных остаётся вот столько слов:
k = (n - 2 * t)

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

Если число ошибок не более t, то алгоритм их всех исправляет.
Если больше, и исправить не может, то оставляет как есть, сообщая об ошибке.
Но иногда при большом числе ошибок случаются ложные исправления — алгоритм считает, что исправил, а на самом деле получилась фигня.
Это случается при небольшом числе контрольных слов.
Количество ложных исправлений не зависит от длины передаваемого блока (урезанный или полный). И, похоже, не зависит от превышения числа ошибок над t.
Для байтовых слов получается примерно так:
t = 6 — ложных исправлений около 1/1000.
t = 7 — 1/6000.
t = 8 — 1/50000.

Для приёмников часто приводят "чувствительность при частоте ошибок 1/1000".
Если есть коррекция ошибок, то можно приёмник отодвинуть на большее расстояние, ухудшившееся отношение сигнал/шум будет компенсировано коррекцией участившихся ошибок. При том же уровне ошибок 1/1000 расстояние будет больше (таблица для блока 912 бит = 114 байт):

t = 08 — 08.4 — 1.311 — 98 байтов
t = 10 — 10.6 — 1.362 — 94 байтов
t = 12 — 12.8 — 1.408 — 90 байтов
t = 17 — 18.7 — 1.512 — 80 байтов
t = 22 — 25.0 — 1.609 — 70 байтов
t = 27 — 31.5 — 1.700 — 60 байтов

Третья колонка — увеличение расстояния.
Вторая колонка — это средняя граница числа ошибок. Когда в одно слово попадает больше одной битовой ошибки, для алгоритма это всего одно испорченное слово.
   
RU SashaMaks #12.05.2016 21:13
+
-
edit
 

SashaMaks
SashaPro

аксакал

Первый баночный тест всей моей новой бортовой электроники в сборе:

БРЭО
Баночный тест бортового компьютера пройден успешно.
Прикреплённые файлы:
 
   50.0.2661.9450.0.2661.94
AD Реклама Google — средство выживания форумов :)
+
-
edit
 

Dr_Evil

новичок
Здравствуйте!)) У меня есть небольшая проблема.)) Решил собрать магнитный датчик апогея для своей ракеты по Вашей схеме. Получилось приобрести все детали, кроме самого KMZ10A1. Его нет ни в каких магазинах и ни на каких сайтах. Чем можно заменить данный датчик? Возможно подойдёт какой-нибудь определённый четырёхногий датчик Холла?)) Буду очень признателен за помощь.)) Спасибо! :)

Rinarizutakaarichi>> давайте начнем с того где у mac9mg вообще находится УЭ????
Serge77> Посмотри документацию здесь:
Serge77> Serge77 - Моя ракетная мастерская - магнитный датчик апогея
Serge77> Вообще-то смотреть нужно перед пайкой.
   50.0.2661.10250.0.2661.102
1 190 191 192 193 194 253

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