Реклама
Страница 33 из 57 ПерваяПервая ... 23313233343543 ... ПоследняяПоследняя
Показано с 321 по 330 из 564

Тема: Запуски ракет и испытания двигателей

  1. #321
    Постоянный пользователь Аватар для LEVSHA_

    Регистрация
    06.04.2015
    Сообщений
    1,314
    Вес репутации
    17
    Цитата Сообщение от Дмiтро Посмотреть сообщение
    Мне кажется что срабатывание вышибного немного ранее, такое впечатление, что ракета еще продолжает набор высоты.
    Какой датчик использовался для определения апогея?
    Какой алгоритм работы между датчиком и системой выброса парашюта?
    Кстати очень ровный полет!

  2. #322
    Постоянный пользователь Аватар для Дмiтро

    Регистрация
    09.03.2018
    Сообщений
    130
    Вес репутации
    8
    Завязано всё на датчике ВМР 180. Все прописано в коде, а код походу написан при помощи какой то среды, для меня там тяжело отследить алгоритм.

  3. #323
    красная линия на графике - это напряжение на воспламенителе?
    действительно рано подано напряжение, непонятно, на что сработал датчик

  4. #324
    Постоянный пользователь Аватар для Дмiтро

    Регистрация
    09.03.2018
    Сообщений
    130
    Вес репутации
    8
    Сейчас попробую сделать скрин с Exel с данными и попробую код вставить

    - - - Добавлено - - -

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

Название:	горизонт.jpg 
Просмотров:	106 
Размер:	344.9 Кб 
ID:	297030
    А это код

    #include <Wire.h>
    #include <SPI.h>
    #include <SD.h>
    #include <BMP085.h>
    File _sd1DF;
    String _sd1TS;

    BMP085 _bmp085 = BMP085();
    long _bmp085A = 0;

    long _FLPArray43228430[5];
    long _FLPArray56316734[3];
    int _SUETFLPATemp = 0;
    bool _trgrt2 = 0;
    bool _trgrt2I = 0;
    bool _pzs2OES = 0;
    bool _gen2I = 0;
    bool _gen2O = 0;
    unsigned long _gen2P = 0UL;
    bool _SFLPAS1;
    bool _gen4I = 0;
    bool _gen4O = 0;
    unsigned long _gen4P = 0UL;
    bool _tim1I = 0;
    bool _tim1O = 0;
    unsigned long _tim1P = 0UL;
    bool _SFLPAS2;
    bool _trgr1 = 0;
    bool _gen1I = 0;
    bool _gen1O = 0;
    unsigned long _gen1P = 0UL;
    long _SUETFLPA1;
    bool _sd1SVOS1 = 0;
    bool _trgr3 = 0;
    void setup()
    {
    Wire.begin();
    _bmp085.init(MODE_ULTRA_LOW_POWER, 0, true);
    pinMode(7, INPUT);
    digitalWrite(7, HIGH);
    pinMode(1, OUTPUT);
    pinMode(0, OUTPUT);
    pinMode(2, OUTPUT);
    pinMode(8, OUTPUT);
    pinMode(6, OUTPUT);

    SD.begin(4);
    SPI.begin();
    pinMode(10, OUTPUT);
    }
    void loop()
    { if (_trgrt2) {
    _bmp085.getAltitude(&_bmp085A);
    }



    if (0) _trgr1 = 0;
    if (!( (digitalRead (7)))) _trgr1 = 1;
    if (1) {
    if (! _gen2I) {
    _gen2I = 1;
    _gen2O = 1;
    _gen2P = millis();
    }
    } else {
    _gen2I = 0 ;
    _gen2O = 0;
    }
    if (_gen2I) {
    if ( _isTimer ( _gen2P , 100 )) {
    _gen2P = millis();
    _gen2O = ! _gen2O;
    }
    }
    if (( (_gen2O) && (_trgr1) ))
    {
    if ((!_pzs2OES)) {
    tone(3, 1000);
    _pzs2OES = 1;
    }
    } else {
    if (_pzs2OES) {
    noTone(3);
    _pzs2OES = 0;
    }
    }
    if (0) _trgr3 = 0;
    if (( (((_SUETFLPA1) / (5)) < ((_FLPArray56316734[0]))) && (((_SUETFLPA1) / (5)) >= (300)) )) _trgr3 = 1;
    if (_trgr3) {
    if (! _gen1I) {
    _gen1I = 1;
    _gen1O = 1;
    _gen1P = millis();
    }
    } else {
    _gen1I = 0 ;
    _gen1O = 0;
    } if (_gen1I && _gen1O) _gen1O = !( _isTimer( _gen1P , 1000 ));
    if (((_SUETFLPA1) / (5)) >= (300)) {
    _tim1O = 1;
    _tim1I = 1;
    } else {
    if (_tim1I) {
    _tim1I = 0;
    _tim1P = millis();
    } else {
    if (_tim1O) {
    if ( _isTimer(_tim1P, 1000)) _tim1O = 0;
    }
    }
    }
    if (( (_trgrt2) && (_tim1O) ))
    { if (! _sd1SVOS1) {
    _sd1TS = "bmp180;";
    _sd1TS += "LongInteger;"; _sd1TS += ";";
    _sd1TS += (String((_SUETFLPA1) / (5)));
    _sd1TS += ";";
    _sd1TS += ((String("cm ")) + ((String((byte(_gen1O))))));
    _sd1TS += ";";
    _sd1DF = SD.open("test.csv", FILE_WRITE);
    if (_sd1DF) {
    _sd1DF.println(_sd1TS);
    _sd1DF.close();
    }
    _sd1SVOS1 = 1;
    }
    }
    else
    {
    if ( _sd1SVOS1) {
    _sd1SVOS1 = 0;
    }
    }
    if (1) {
    if (! _gen4I) {
    _gen4I = 1;
    _gen4O = 1;
    _gen4P = millis();
    }
    } else {
    _gen4I = 0 ;
    _gen4O = 0;
    }
    if (_gen4I) {
    if ( _isTimer ( _gen4P , 25 )) {
    _gen4P = millis();
    _gen4O = ! _gen4O;
    }
    }
    if (_gen4O) {
    if (_trgrt2I) {
    _trgrt2 = 0;
    } else {
    _trgrt2 = 1;
    _trgrt2I = 1;
    }
    } else {
    _trgrt2 = 0;
    _trgrt2I = 0;
    };
    digitalWrite(2, !(( (_gen2O) && (_trgr1) )));
    digitalWrite(8, _trgr1);
    if (_trgrt2) {
    if (!_SFLPAS2) {
    _SFLPAS2 = 1;
    for (_SUETFLPATemp = 0; _SUETFLPATemp < 2; _SUETFLPATemp = _SUETFLPATemp + 1 ) {
    _FLPArray56316734[_SUETFLPATemp ] = _FLPArray56316734[_SUETFLPATemp + 1];
    } _FLPArray56316734[2] = (_SUETFLPA1) / (5);
    }
    } else {
    _SFLPAS2 = 0;
    }
    digitalWrite(0, !(_gen1O));
    digitalWrite(6, _gen1O);
    if (_trgrt2) {
    if (!_SFLPAS1) {
    _SFLPAS1 = 1;
    for (_SUETFLPATemp = 0; _SUETFLPATemp < 4; _SUETFLPATemp = _SUETFLPATemp + 1 ) {
    _FLPArray43228430[_SUETFLPATemp ] = _FLPArray43228430[_SUETFLPATemp + 1];
    } _FLPArray43228430[4] = _bmp085A;
    }
    } else {
    _SFLPAS1 = 0;
    }
    _SUETFLPA1 = 0;
    for (_SUETFLPATemp = 0; _SUETFLPATemp < 5; _SUETFLPATemp = _SUETFLPATemp + 1) {
    _SUETFLPA1 = _SUETFLPA1 + _FLPArray43228430[_SUETFLPATemp];
    }
    digitalWrite(1, !(( (_trgrt2) && (_tim1O) )));




    }
    bool _isTimer(unsigned long startTime, unsigned long period )
    {
    unsigned long currentTime;
    currentTime = millis();
    if (currentTime >= startTime) {
    return (currentTime >= (startTime + period));
    } else {
    return (currentTime >= (4294967295 - startTime + period));
    }
    }

    - - - Добавлено - - -

    У меня сложилось впечатление, что при выбросе парашюта, ракета по инерции делает оборот вокруг него, а если прикинуть что длинна строп от датчика составляет порядка 2 метра. То на то и выходит (после активации резкое снижение, а потом возрастаное высоты, как бы описывание круга вокруг парашюта)
    Я не шарю как закинуть полный файл Exel и код.

  5. #325
    код не нужен, никто в нём не разберётся
    дело не в кувыркании
    вопрос в том, на какое событие отреагировал датчик апогея?
    обычно барометрический датчик определяет, что высота начала уменьшаться, и выбрасывает парашют
    а здесь парашют выброшен раньше, чем высота начала уменьшаться
    почему?

  6. #326
    Постоянный пользователь Аватар для Дмiтро

    Регистрация
    09.03.2018
    Сообщений
    130
    Вес репутации
    8
    Как раз всё наоборот, только высота ушла в минус, и сработал вышибной.
    Мне кажется все таки дело в самом датчике, так как у него довольна большая погрешность, если память не изменяет+- 0,7 метра. На большой скорости значения не успевают уйти в отрицательную сторону от пред идущих, но вот если разница в значениях уменьшается из - за уменьшения скорости подъема, то в определенный момент система регистрирует падение, хотя всё устройство еще продолжает подниматься.
    Я думаю вся проблема в датчике BMP180. Хотя если учесть отсутствие в необходимости хирургическую точности и довольна простую конструкцию считаю, что в общем все работает в допуске.

    А вообще обращусь наверное к создателю кода, чтобы помог в корректировке параметров.

  7. #327
    если код написан так, что он реагирует на единичный случайный шум, то это плохой код
    должно быть усреднение и правильный алгоритм
    высота ведь медленно изменяется не только около апогея, но и на старте
    значит парашют может вылететь и здесь

  8. #328
    Постоянный пользователь Аватар для Дмiтро

    Регистрация
    09.03.2018
    Сообщений
    130
    Вес репутации
    8
    Нет.
    Запись и контроль высоты начинается с 3 метров (эти значения высоты регулируются). А на высоте 3 метра скорость уже довольно приличная. Это высотомер мне предоставил Александр Бражинков, её он разрабатывал с несколькими единомышлиниками, с ним я связался через Авиабазу. После тестов я обнаружил некоторые проблемы с записью данных и он их поправил. Так что используемую ССР считаю довольна таки качественной, но все же есть место для корректировки.

  9. #329
    хорошо, что разработчик отзывается, значит все недочёты можно устранить
    успешных новых полётов!)

  10. #330
    Постоянный пользователь Аватар для Дмiтро

    Регистрация
    09.03.2018
    Сообщений
    130
    Вес репутации
    8
    Продолжаем летать .

    https://youtu.be/7M_Okamcc58

    В рамках эксперимента изначально было сделано два двигателя одинаковой длинны.
    Первый был изготовлен в бессопловом исполнении, второй с соплом (длинна канала меньше на 2,5 см. так как это расстояние было занято соплом). Двигателя были заправлены топливом одной партии. Запуск проводился почти при одинаковых погодных условиях. Вчера был лёгенький сквознячек.

    Из запусков стало ясно , что наличие сопла даёт нормальный прирост в подъеме, при меньшем объеме топлива.
    * бессопловик поднял на высоту 560 метров, с соплом 640 метров.

    Нажмите на изображение для увеличения. 

Название:	сопло_бессопловик_.jpg 
Просмотров:	90 
Размер:	172.7 Кб 
ID:	297471

    небольшая поправка, на графике указал длину канала 17,5. Истина - 17см.

TEST

Страница 33 из 57 ПерваяПервая ... 23313233343543 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Испытания Flymentor 3D helicopter stabilisation System краткий отчет
    от Александр 1-й в разделе ВЕРТОЛЕТЫ
    Ответов: 19
    Последнее сообщение: 29.09.2010, 01:04
  2. Прошу Прокомменитровать Испытания
    от olegtur77 в разделе ЭЛЕКТРОМОТОРЫ
    Ответов: 3
    Последнее сообщение: 24.09.2008, 09:29
  3. Испытания Бк На Хх
    от gennady в разделе ЭЛЕКТРОМОТОРЫ
    Ответов: 13
    Последнее сообщение: 11.04.2008, 15:40

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Информация:
Приветствуем Вас на самом крупном в Украине модельном портале. Советуем Вам зарегистрироваться, после чего вы сможете читать и писать сообщения.
Полезные ссылки
www.modelka.com.ua
www.icar.com.ua
www.magiya.com.ua
Free Photobank torange.biz
Присоединяйтесь