Специальные цены   новые товары
Закрытая тема
Страница 4 из 58 ПерваяПервая ... 2 3 4 5 6 14 ... ПоследняяПоследняя
Показано с 121 по 160 из 2313

OSD на ATmega1281

Тема раздела Самодельная электроника, компьютерные программы в категории Общие вопросы; Сообщение от msv Конечно с коэффициетом усиления 1000, можно всяких чудес ожидать Вот по этому я и перешёл на цифру... ...

  1. #121

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    36
    Сообщений
    1,217
    Цитата Сообщение от msv Посмотреть сообщение
    Конечно с коэффициетом усиления 1000, можно всяких чудес ожидать
    Вот по этому я и перешёл на цифру... Шлейф от сенсоров 30 см, из которых 10 в башне толкающего винта вперемешку с силовыми проводами, и хоть бы хрен.
    А если отношение цепи ОС ОУ уменьшить раз так в 10? Поставить 100 ом и 100к.
    Если у ОУ на входе полевики, а не биполярники, а всё на то указывает, то снижением сопротивления помехи можно сбить ниже порога шума АЦП.
    Кондёр тут мало поможет, ИМХО. Вход и так имеет затворную ёмкость, которая и набирает потенциал от свободной энергии. Добавление ёмкости только ухудшит ИМХО. А детектор там могут образовывать защитные диоды по входу +.
    Ещё, в порядке бреда, зашунтировать датчики керамикой. Дабы коротнуть переменку.

  2.  
  3. #122
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Вот по этому я и перешёл на цифру...
    У Вас бюджет не ограничен..
    Ну с помехами от силовых проводов еще более-менее получается бороться... А вот с 0.5W 1гГц... Уже жаловался, что так и не победил наводки на термодатчик несмотря на глухое экранирование...
    А детектор там могут образовывать защитные диоды....
    ...Дабы коротнуть переменку.
    Я и надеялся, что наводки идут на термодатчики, проводники их соединяющие и детектируются защитными диодами, поэтому была робкая надежда конденсатором прямо на ножке операционника ее прибить... Почему может быть хуже не понял, но и лучше не стало.. что в общем-то не особо удивило, тк.
    Вход и так имеет затворную ёмкость
    Тут, дальше в лес... Вдруг обнаружил, что при включении передатчика начинают подзуживать все сервы. Даже в FailSave, когда телеметрия гонит абсолютно неизменные значения! Если бы сходил с ума тайминг меги, это было бы видно на картинке OSD, но там все чисто.. Значит опять наводка на шлейф и на вход сервы.. Колечки не помогают, вообще мне показалось, что на гГц ферриты не эффективны. Если подносить руку, сервы маленько гуляют, а одна совсем при определенных положениях сходит с ума.. Самое забавное (и весьма радует), что передатчик абсолютно не влияет на чутье приемника и GPS..
    В общем принял героическое решение полностью менять компоновку и разместить передатчик максимально далеко от всей остальной электроники на конце консоли крыла. Шлейф к нему перед самим передатчиком скрутить в катушку без всякого феррита. Очень большое желание разместить антенну тоже в крыле, дабы не вносить аэродинамическую асимметрию. Может кто знает, как там с диэлектрической проницаемостью у потолочки и скотча?
    ЗЫ Не сгорел бы мотор, так бы и летал себе спокойненько не обращая внимания на блох.. А тут от скуки, всякой фигней приходится заниматься..

  4. #123

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    36
    Сообщений
    1,217
    Цитата Сообщение от msv Посмотреть сообщение
    У Вас бюджет не ограничен..
    ???
    http://search.digikey.com/scripts/Dk...0614ESF-BAA-ND
    от 100 по 8 баксов, это 12 головок всего. В минус ОУ, кучка пассива, кое что из которого должно иметь хотя бы 1% допуск, плата уже односторонняя. Примерно тож на тож.
    Посмотрите на второй автопилот от FMA - они тоже цифру поставили и судя по всему эти http://search.digikey.com/scripts/Dk...560&k=MLX90615

    Цитата Сообщение от msv Посмотреть сообщение
    поэтому была робкая надежда конденсатором прямо на ножке операционника ее прибить
    А шунтирование сенсоров кондёром помогло?
    Я бы поставил 0,1 и что-то около 470пФ в параллель.

    Перепаять цепочку на ОУ не пробовали? Хотя бы ради эксперимента.

    Цитата Сообщение от msv Посмотреть сообщение
    Я и надеялся, что наводки идут на термодатчики,
    ИМХО проблема не в наводке, и 1 ГГц прекрасно душится ёмкостью входа ОУ, а проблема в свободной энергии. Той, которой раньше питались детекторные приёмники с детекторами из угля Она создаёт потенциал на входе. Т.к. природа у неё переменная, то задушить можно капацитором. Только ёмкость надо подобрать, в GPS приёмниках обычно ставят параллельно 33 пФ и 470 пФ, там 1,5 ГГц. Вместе с ёмкостью входа режет наводку на раз.

    Цитата Сообщение от msv Посмотреть сообщение
    Колечки не помогают, вообще мне показалось, что на гГц ферриты не эффективны.
    Надо просто брать фербиды, настроеные на опр. частоту среза, а не простые колечки. Тем более, что советские достаточно низкочастотны, а китайские ориентированы на домегагерцовые частоты импульсников.
    Например, для того же ЖПС есть BLM15HD102SN1, наверняка есть и на другие частоты. Надо порыть у мураты и ей подобных производителей.

    Цитата Сообщение от msv Посмотреть сообщение
    Вдруг обнаружил, что при включении передатчика начинают подзуживать все сервы.
    А вот тут достатиочно зарубить добротность антенны (провода) включив последовательно с сигналом резистор. Я до 47к вставлял, серва сигнал принимает. Но достатчно 470-510 ом. Разумеется лучше у самой сервы.
    Более радикальный метод - 510 впослед и 100к к земле. У самой сервы. Чтобы рассосать потенциал более чем достаточно.
    Наконец, если серва управляется АВРкой, можно прям на плате телемерии поставить резюк 510ом (или больше, определить экспериментально пороговое значение) к земле . Чтобы снизить выходное сопротивление.
    Но даже тут причина не в частоте передатчика, а в его мощьности. Свободная энергия поднимает порог КМОП входа сервы.
    В общем, победимо, надо просто попробовать разные варианты.

  5. #124
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Не стал взрывать себе моск в попытках связать термодинамику (свободная энергия вроде-бы оттуда?) с электромагнитной наводками... Убедился что уже на расстоянии 30см передатчика от всего остального оборудования все барабашки пропадают и буду в крыло передатчик монтировать. Фильтр-пробку, как и хотел, сделал простой катушкой, работает хорошо.
    Нажмите на изображение для увеличения
Название: tv_tx.JPG
Просмотров: 360
Размер:	88.7 Кб
ID:	350371

  6.  
  7. #125

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    36
    Сообщений
    1,217
    Не, это то, что остаётся после детектирования радиосигнала. Ток, который возникает в антенне. Чтобы наловить достаточно энергии для запитки наушников антенна должна быть несколько десятков метров в длину, но т.к. у вас передатчик рядом, то длины проводов хватает.
    Вот, по теме:
    http://electroscheme.org/498-radiopr...-jenergii.html
    http://freeenergyengines.ru/svobodna...nnom-mire.html

  8. #126
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Вспомнил, что этой ветке последнее видео так невесело закончилось. Можно подумать, что не этом проект и закончился... Ан- нет! Давно уже летаю, правда далеко и высоко пока не рискую... Вот крайний полет:

    До этого регулятор автопилота был только с "П"-ветвью. Выводил на базу довольно точно, но как-то раздражало, что все время недоворачивает на цель. Добавил "И"-ветвь и появилась вполне предсказуемая раскачка. Инерция самолета, запаздывание GPS-данных, время интеграции И-ветви... Что-то не соображу как все это увязать, и демпфировать раскачку.

  9. #127
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Люди, а кто как борется с дрожанием камеры? Камера у меня поворачивается только по вертикали прямым приводом от сервы. Во первых у сервы небольшой люфт, и от вибрации двигов камеру потряхивает. Во вторых серва сама в некоторых положениях зудит. Причем если механически пытаться демпфировать для уменьшения дрожания от первого пункта, то растет проявление второго..
    Или это лечится только какой-нибудь дорогучей цифровой сервой?

  10.  
  11. #128

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    msv

    Расскажите, плз, как у Вас устроен видеовывод - в частности те самые "золотые" три инструкции и сопряжение ассемблера с Си

    Кста, схему можно немного удешавить/упростить - видеозахват замечательно работает со встроенным в Мегу компаратором.

  12. #129
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Код вывода строки сделан "в лоб" и не отличается особым изяществом:
    Код:
    ;
    ;gNumLine++
        MOV  R26,gNumLineL
        MOV  R27,gNumLineH
        ADIW R26,1
        MOV  gNumLineL,R26
        MOV  gNumLineH,R27
    ;if(gNumLine>=TOPLINE_SCR && gNumLine<TOPLINE_SCR+VSIZE_SCR)
        CPI  R26,LOW(TOPLINE_SCR)
        LDI  R16,HIGH(TOPLINE_SCR)
        CPC  R27,R16    
    	BRLT _end1        
        CPI  R26,LOW(TOPLINE_SCR+VSIZE_SCR)
        LDI  R16,HIGH(TOPLINE_SCR+VSIZE_SCR)
        CPC  R27,R16    
    	BRLT _con1
        BRNE _end1
        LDI  R16,1
        MOV  f_work,R16
    _end1:
    	RJMP _USART_RX
    ; pause    
    _con1:
        LDI  R16,WAIT_START_OUT
    _pause:	
    	DEC	 R16
    	BRNE _pause
    ; out string    
      	MOV	 R27,gScrBuffPointH
    	MOV	 R26,gScrBuffPointL  
        LDI  R16,BYTES_FROM_STRING
        LD   R18,X+
    _out_ch:
        MOV  R17,R18    
        OUT  V_PORT,R17	;1
    	NOP
    	NOP
    	LSR	 R17
        OUT  V_PORT,R17	;2
    	NOP
    	NOP
    	LSR	 R17
        OUT  V_PORT,R17	;3
    	NOP
    	NOP
    	LSR	 R17
        OUT  V_PORT,R17	;4
    	NOP
    	NOP
    	LSR	 R17
        OUT  V_PORT,R17	;5
    	NOP
    	NOP
    	LSR	 R17
        OUT  V_PORT,R17	;6
        LD   R18,X+
    	LSR	 R17
        OUT  V_PORT,R17	;7
    	LSR	 R17
    	DEC  R16
    	NOP
        OUT  V_PORT,R17	;8
        brne _out_ch
        LDI  R17,0
        NOP
        OUT  V_PORT,R17	;8
        SBIW R26, 1
        MOV	 gScrBuffPointL,R26	
        MOV	 gScrBuffPointH,R27

  13. #130

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    Пасиб.

    Если здесь:
    LDI R16,BYTES_FROM_STRING
    LD R18,X+
    убрать плюс, то в конце можно будет убрать всю инструкцию:
    SBIW R26, 1
    Мелочь, а приятно )


    Пишу в IAR, и всю голову поломал - как красиво передать ассемблерной части адрес на видеобуфер.
    Как у вас это получилось - так и не понял. Или gScrBuffPoint задан вручную? (как и размещение видеобуфера в опертивке)

  14. #131

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    Сорри, ошибся, не все так просто.

  15. #132
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    ..как красиво передать ассемблерной части адрес на видеобуфер
    Не уверен, что это красиво, но у меня так:
    Код:
    register unsigned char* gScrBuffPoint @5;
    #asm (".def gScrBuffPointL=R5")
    #asm (".def gScrBuffPointH=R6")
    Инициализация в прерывании от КСИ:
    Код:
    interrupt [INT0] void ext_int0_isr(void)
    { // КСИ
    gNumLine=0;
    gScrBuffPoint=gScrBuff;
    }

  16. #133

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    Что-то и топикстартер молчит и окружающие не интересуюццо..

    Появилась мысля как увеличить точность измерения тока - ставим в меге источником опорного внутренние 2.56 вольта - и при нулевом токе (через датчик) считываем значение порядка 950.
    И работаем на отрицательной ветви токового датчика - т.е. при растущем токе значение с АЦП будет падать до нуля.
    Даст повышение точности в два раза.

    /*
    еще немного мыслей просто из записной книжки:
    Ток и напряжение лучше мерить тинькой в режиме ADC noise reduction, с полной обвязкой АЦП и как можно ближе к датчику - результат будет чище и лучше.
    Работаем на пониженной частоте АЦП.
    Имеет смысл вставить RC фильтр от помех между датчиком и мегой
    Датчик чувствителен в магнитному полю - ставим рядом катушку, включаем, измеряем ток, отключаем, измеряем ток, усредняем два измерения - это неопробовано, неизвестно что из этого получится, неоправданно...
    */

  17. #134
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Да, народ не слишком активен.. Может по результатам сезона выложу hex (от НАСA похоже не дождусь предложения на приобретение проекта ). Может активность увеличится.. Хотя финальной печатки нет (то что у меня, уже можно считать макеткой+кучка платок апгрейда, слишком много поменялось, от начальной идеи), поэтому на повальный интерес по повторению не рассчитываю..
    Сейчас играюсь с управляющими алгоритмами автопилота. Правда пока чем мудренее алгоритм, тем обычно хуже все в реале, хотя в модели на ПК, все отрабатывается идеально. Видать слишком "хороша" модель, но сделать ее более правдоподобной, задачка посложнее чем саму управляющую программу..
    Добавил режим, похожий на настоящий АП- если в режиме стабилизации щелкнуть доп. тумблер- АП начинает удерживать текущий курс и высоту (такого вроде бы нет у "конкурентов"). При выключении этого режима, устанавливаются нули сенсоров горизонта (для этого, автокалибровки, чес. говоря этот режим и задумывался).
    Еще не испытал..

    Цитата Сообщение от a_freeman Посмотреть сообщение
    внутренние 2.56 вольта - и при нулевом токе (через датчик) считываем значение порядка 950.
    И работаем на отрицательной ветви токового датчика
    Именно так у меня и сделано. Правда не столько ради увеличения разрешения, а больше ради упрощения схемы (не нужен свой источник напряжения, и даже ставить делитель напряженияне надо).
    Цитата Сообщение от a_freeman Посмотреть сообщение
    Имеет смысл вставить RC фильтр от помех между датчиком и мегой
    Практика показала, что это обязательно. Датчик слишком быстродействующий и выдает все пульсации на силовом проводе.
    Остальное, по вкусу.. Надо считать какую точность хотите получить, достаточно ли мала погрешность самого датчика, дабы ее обеспечить, ну и нужна ли она..
    Последний раз редактировалось msv; 20.08.2010 в 17:39.

  18. #135

    Регистрация
    08.12.2008
    Адрес
    Москва, ЮЗАО, Ленинский пр-т
    Возраст
    54
    Сообщений
    436
    Цитата Сообщение от msv Посмотреть сообщение
    Да, народ не слишком активен..
    Лето, жара, отпуска, ДАЧА!!
    Цитата Сообщение от msv Посмотреть сообщение
    поэтому на повальный интерес по повторению не рассчитываю..
    ..
    IMHO, большинству из тех, кто следит за этой темой интереснее направление по развитию, чем простой повтор конструкции. Поэтому куски исходников( раз уж нет желания выложить полный проект), наверное, будут более интересны, чем HEX...

  19. #136

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    36
    Сообщений
    1,217
    Цитата Сообщение от a_freeman Посмотреть сообщение
    как красиво передать ассемблерной части адрес на видеобуфер.
    Обычно так и делают - вешают буфер по известному адресу (только не в самом начале:
    signed char array [BUFFER] @0xC0;
    И обращаются хоть из Си по указателю, хоть из асма. Если буфер небольшой, можно упихать в регистры как у автора. Будет ещё быстрее. Но тут надо в ассме посмотреть, сколько регистров компилер сохраняет. ИАР вообще ассм недолюбливает, и склонность к гонянию регистров из ОЗУ и обратно имеет. То есть разместив буфер в регистрах можно всё равно получить лишнее сохранение/вызов.

  20. #137

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    У меня были ошибки в получении адреса, поэтому спрашивал
    Сейчас без указания конкретного адреса все работает прекрасно.

    Но все равно спасибо.

  21. #138
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Если буфер небольшой, можно упихать в регистры как у автора.
    Какая разница какой размер буфера? У меня в регистрах указатель на него, хоть все ОЗУ адресуй.
    Сейчас без указания конкретного адреса все работает прекрасно.
    Так поделитесь, как решили задачку?...

  22. #139

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    Вобсчем вот основа всего OSD. Может кому интересно будет:

    http://narod.ru/disk/24027327000/OSD_demo.rar.html

    писал в IAR

  23. #140
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Глянул Вашу заготовку OSD. Попиксельный вывод строк символов скорее всего получится слишком тормозной. Можно не успеть обновить все надписи за межкадровый интервал. Мне пришлось оптимизировать вывод строки сразу в одной функции и на асме. Использовать встроенный компаратор для определения синхроимпульсов, мысль хорошая. А в железе уже проверили работу?

  24. #141

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    Да, скриншоты в архиве это кадры с уже реального железа. Картинку захватывал такой железякой: http://www.nix.ru/autocatalog/miro/S...deo_86320.html
    Кстати, телевизор, на котором я проверял качество картиники надежно устранял все факелы - так что "удешевленное" подмешивание тоже жизнеспособно.

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

    if (task++>T) task=0;
    if (task==0) {compass(ang);}
    if (task==1) {alt_ruler(); speed_ruler();}
    if (task==2) {discharge(cap);}

    Примерно так. Мой GPS приемник отдает данные вообще раз в секунду - поэтому смысла перерисовывать координаты/высоту/скорость/etc в каждом кадре нет.

  25. #142
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Уже писАл выше, что у меня вывод графики в каждом условно нечетном полукадре (25Гц, реже -не будет плавности), а вывод текстовой информации в четном, тоже как у Вас, поочередно группами. Хоть GPS у меня 5-ти герцовый, но для получения плавных движений шкал пришлось интерполировать получаемые значения на 25Гц, иначе картинка стробит.
    Проблема с факелами у меня началась, когда начал пытаться рисовать тени..

  26. #143

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    Я поражаюсь с этого чувака: http://www.rowlhouse.co.uk/main.html

    На странице конечно много всего, но больше мне понравился RC-симулятор с автопилотом! Более того, этот товарищ выложил все исходники! (I've written a flight simulator for R/C model gliders)

    Если посмотреть остальные проекты, остается сказать только "Во дает!" ибо это действительно сильно!

    Не удивлюсь если он уже работает в НАСА..

  27. #144

    Регистрация
    15.05.2005
    Адрес
    Санкт-Петербург
    Возраст
    52
    Сообщений
    167
    Цитата Сообщение от a_freeman Посмотреть сообщение
    Вобсчем вот основа всего OSD. Может кому интересно будет
    Вывод строки пикселей по 3 цикла процессора на пиксель вместо четырех ( тогда в строку вроде влезет 32 символа вместо 24 ). Это если в Ваш проект, содержательная часть video_driver.asm
    Может, кому интересно будет.

    P.S. Реально это не проверял, могут быть ошибки.

    Код:
        LDI  R16,WAIT
    _pause:	
        DEC	 R16
        BRNE _pause
          ; Загружаем указатель из оперативки в регистровую пару X:
        LDS	 R27,gScrBuffPointH   
        LDS	 R26,gScrBuffPointL
    
        LDI  R16,STR_LENGTH      ; Загружаем длину строки в счетчик
    
          ;  Остальные биты порта - могут использоваться для чего-то полезного
          ; ( например, для ввода цифровых сигналов ), и на всякий случай сохраняем
          ; исходное состояние порта ( для входов - подключен ли к нему внутренний
          ; подтягивающий резистор; это м.б. важно ):
        IN   R17,VIDPORT         ; Начальное состояние порта: в конце - восстановим
          ;  Входим в цикл, экономя на RJMP ( первый раз - будет холостой вывод
          ; из R17 в порт того же, что только что ввели оттуда ).
    
    _out_ch:  ; Сюда приходим при продолжении цикла
        OUT  VIDPORT,R17	     ; Выводим 8-й пиксель от предыдущего
          ; Начинаем вывод 8 пикселей следующего символа:
        LD   R18,X+                   ; Загружаем данные из оперативки в регистр
        OUT  VIDPORT,R18          ; 1
          ;  Пока что - переносим 8-й пиксель из R18 в 0-й бит R17, откуда его
          ; в итоге и выведем:
        BST  R18,7		     ; 8-й пиксель - в T ( это бит в SREG )
        LSR	 R18
        OUT  VIDPORT,R18         ; 2
        BLD  R17,0               ; 8-й пиксель - в 0-й бит R17 ( из T )
        LSR	 R18
        OUT  VIDPORT,R18	     ; 3
        NOP
        LSR  R18
        OUT  VIDPORT,R18	     ; 4
        NOP
        LSR	 R18
        OUT  VIDPORT,R18	     ; 5
        NOP
        LSR	 R18
        OUT  VIDPORT,R18	     ; 6
        LSR	 R18
        DEC  R16                 ; Уменьшаем счетчик оставшихся символов
        OUT  VIDPORT,R18	     ; 7
        BRNE _out_ch             ; Если в R16 не ноль - продолжаем
          ; Иначе - это конец строки:
        NOP
        OUT  VIDPORT,R17	     ; 8 последнего символа
        NOP
        ANDI R17,0xFE            ; Сбрасываем 0-й бит в R17 ( чистим пин на выходе )
        OUT  VIDPORT,R17	     ; Чистим пин на выходе
    
        STS	 gScrBuffPointL,R26  ; Обратно в оперативку
        STS	 gScrBuffPointH,R27

  28. #145

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    Все работает "из коробки"!
    Снимаю перед вами шляпу! ©

    Да, пиксель стал квадратный - это здорово

  29. #146

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    Мысля: взять кристалл с большим количеством оперативки, и на нем собрать "видеокарту".
    И не сваливать всю работу на один контроллер - это неудобно

    Появляется вопрос: как общаться с этим контроллерами? И целесообразно-ли это вообще?

  30. #147
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Александр, еще раз, теперь публично, громадное спасибо! Честно говоря, я так и не попробовал этот код, когда Вы прислали мне его в личку. Слишком увлекся на тот момент алгоритмами управления..
    Кстати по последнему, уже спрашивал, как грамотно получить диф. составляюшую для ПИД-регулятора. Классическое дифференцирование первого порядка d=x[n]-x[n-1] мало пригодно из за слишком малого разрешения. Для уточнения результата с постоянной времени дифференцирования хотя бы 1 сек, приходится буферировать все промежуточные зачения хотя бы за 1/2 сек. Может есть рекурентный алгоритм для целочисленки, позволяющий повысить точность расчета менее варварским способом?
    Мысля: взять кристалл с большим количеством оперативки, и на нем собрать "видеокарту". И не сваливать всю работу на один контроллер - это неудобно Появляется вопрос: как общаться с этим контроллерами? И целесообразно-ли это вообще?
    Так все и делают.. Но мое мнение- это не спортивно..
    PS. Сегодня классно полетали, спасибо Сергей (ubd)! Реализовал свою мечту, пробил 2км ( я скромняга, и мечты соответствующие ). Проверил режим стабилизации курса/высоты- набрал какую хочешь высоту, выбрал курс, включил и наслаждайся красотами. Ну и АП подтвердил свое предназначение, тоже можно было не вглядываться нервно в экран, а покурить.. Короче, все работает!.. Но поиграться с с коэффициентами ПИД-регуляторов (а их аж 4) еще можно...
    Последний раз редактировалось msv; 27.08.2010 в 20:22.

  31. #148
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Не могу не поделиться впечатлением от крайней полетушки.. На основе режима стабилизации курса/высоты, реализовал автопилот. Четыре полноценных PID-регулятора теперь позволяют реализовать следующие режимы полетов:
    1. Ручной. Классика, стиками задаётся положение серв.
    2. Режим стабилизации крена/тангажа. Ручками передатчика определяются целевые крен/тангаж, система стабилизации их отрабатывает. Газ задается вручную, но для того, чтобы при уменьшении газа при нейтральных ручках самолет не переходил в парашютирование/сваливание, при уменьшении газа меньше некоторого значения, корректируется в сторону увеличения ноль тангажа обратно пропорционально значению канала газа.
    3. (New!) Режим стабилизации курса/высоты. По сути полноценный автопилот. Стиками можно менять целевые курс/высоту со скоростью, пропорционально отклонению ручек от нейтрали. Газ устанавливается автоматически от значения тангажа.
    4. Возврат домой. Подобно 3, только курс определяется положением базы, а высота просчитывается от высоты и удаления при включения режима и конфигурируемой конечной высоты. По текущему расстоянию в каждой точке линейно определяется необходимая в данной точке высота, в соответсвии с этим корректируется тангаж. В реале самолет выдерживает точную глиссаду.
    Впечатления от нового 3-го режима, самые положительные. Полетав на нем минут 5, переключился на 2-й и вдруг понял, как это тяжело, почти невозможно.. Ведь самолет тримирован не идеально, да еще не слабым ветерком сдувается, надо постоянно следить за высотой/курсом.. Первый режим вообще включаю только на взлете с визуальным (не FPV) управлением. Боюсь, что по FPV в этом режиме "убьюсь" через несколько секунд полета..
    ЗЫ Как люди летают по FPV не только без систем стабилизации но и даже без OSD - вообще ума не приложу.. При полете в новом месте, свое авто узнаю уже подлетев по приборам метров на 100.

  32. #149

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    Вы хоть видео штоле покажите..

  33. #150

    Регистрация
    18.10.2008
    Адрес
    Москва
    Возраст
    56
    Сообщений
    11,332
    Записей в дневнике
    8
    Цитата Сообщение от msv Посмотреть сообщение
    ЗЫ Как люди летают по FPV не только без систем стабилизации но и даже без OSD - вообще ума не приложу..
    Дикие нравы. Кстати, для полноты картины возможен еще один режим, между Вашим первым и вторым, когда стики задают скорость поворота модели по крену или тангажу (как в обычном полете), но стабилизация при этом работает. Это должно быть похоже на использование гироскопа без режима удержания. Но какая от этого может быть практическая польза - не скажу.

  34. #151
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Боюсь, что видео произведет меньше впечатления, чем мое красочное описание.. Традиционно низкое качество, самолет шатает ветром, летит кривенько (забыл триммировать пироголову, хотя делается это полуавтоматически, досточно было щелкнуть тумблером. и слишком "зажал" "И"-ветвь регулятора курс->крен).

  35. #152
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Продолжу отчет о проделанной работе.
    Тк. есть задумка на след. сезон оставить одну камеру S10 (сейчас иногда катаю ее второй, а передача картинки на землю с CCTV-камерки). Шансов, что S10 по каким-то причинам зависнит, много больше, а в этом случае все "мозги" самолета умрут, тк абсолютно вся работа привязана к ССИ прерываниям. Поэтому теперь вывод OSD сделан по прерыванию внутреннего таймера, а внешние ССИ прерывания используются для его ФАПЧ. Так сложно пришлось сделать, тк. посчитал, что надо быть готовым не только к полному пропаданию синхронизации, но и появлению неадекватного шума. КСИ тоже синхронизируют OSD только если их частота близка к 50Гц. Наверное если сильно-сильно подумать, можно найти возможность при пропадании внешней синхронизации сделать генерацию своей. Это было бы совсем здорово, но пока представляется сложновато, да и железо опять перепахивать лениво.
    Решил заняться трекером антенны приемника или, как сейчас модно говорить, Ground Station. Уже реализован в OSD вывод цифровых данных (правда пока без собственно данных, ну это минутное дело..).
    Ну а сам трекер по задумке должен:
    1. Собственно трекать антенну.
    2. Выдавать все полученные данные по RS232 в ноут мин. для логирования, макс. для отображения на карте в реалтайме.
    3. Подмешивать к этим данным свои (локальные), как мин RSSI и напругу батареи.
    4. Видеосплиттер.
    Пока нарисовалась такая схемка:
    Нажмите на изображение для увеличения
Название: GroundSt.GIF
Просмотров: 464
Размер:	20.3 Кб
ID:	420147
    Буду рад конструктивным замечаниям и даже вопросам..

  36. #153

    Регистрация
    22.03.2004
    Адрес
    Кемерово
    Возраст
    44
    Сообщений
    3,123
    Записей в дневнике
    19
    я предлагал завести данные вниз через аудио канал передатчика. два "байком" модема, точнее наверху передатчик, внизу приемник.

  37. #154

    Регистрация
    14.10.2008
    Адрес
    Омск
    Возраст
    41
    Сообщений
    3,257
    Записей в дневнике
    3
    Цитата Сообщение от abalex Посмотреть сообщение
    DEC R16 ; Уменьшаем счетчик оставшихся символов
    OUT VIDPORT,R18 ; 7
    BRNE _out_ch
    Вот оно че! (с)
    А я голову ломаю, как они в 3 такта влезли без искажений...
    Утащили дек в предыдущий такт вместо нопа!
    У меня макрос был dec + brne , а это уже 4 веселых такта в конце байта

  38. #155
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Цитата Сообщение от RW9UAO Посмотреть сообщение
    я предлагал завести данные вниз через аудио канал передатчика.
    Нее.. Аудиоканал хочется оставить для его прямого назначения. Иной раз забуду перед взлетом включить в микшере микрофонный вход, так через некоторое время, когда уже самолет вне зоны прямой видимости, начинаю испытывать дискомфорт от полной тишины и лихорадочно включаю звук. А ведь там у меня кроме рыкы двигателей еще алармы пикают, что тоже весьма удобно.
    ЗЫ Про звук вспомнилась история.. Практически каждый раз на поле выходил с новой прошивкой, и все обходилось. И в АП настолько уже поверил, что не особо контролировал его после влючения. В один (не самый счастливый) день еще в июне отлетел метров на 500 что-то проверяя, потом включил АП. Через некоторое время понял, что что-то не то творится... Оказалось из-за ошибки в проге самолет вместо возвращения стал удалятся переменными галсами. Пока понял, что надо брать контроль в свои руки, успел только выключить двиги, и самолет влетает в крону дерева.. Сидим, смотрим на экран бука... Отличная картинка, красивый вид, птички поют (это к звуку!... ) и какие-то большие летают туда-сюда (рядом гнездо оказалось). Вижу, расстояние до базы 800м.. Недалеко относительно, осталось сообразить только на какой опушке это дерево... Метнулся к ближайшей, а она на земле оказалась гораздо больше, чем казалась с воздуха.. Ну в общем все закончилось хорошо, успокоились, внимательно отсмотрели записанное видео и пеленгом видео нашли и опушку и дерево и самолет на самой макушке метров на 20. Сбросить тоже удалось почти без потерь (ну как сбрасывали, это отдельная история..)..

  39. #156
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Кому совсем скучно, посмотрите кусочек видео крайнего полета (правда уже давненько это было, больше не позволяло отсутствие свободного времени или погода). Датчик тока отвалился, заметил уже после старта, решил продолжать полет.. Ветерок можно оценить по скоростям "туда" и "обратно". В нашей котловине он если есть - всегда порывистый. Практически весь полет в режимах стабилизации курса/высоты (LockCourse) и автовозвращения (Autopilot). Треугольнички/стрелочки на горизонтальной шкале компаса и вертикальной шкале высоты показывают целевые значения. Для режима LockCourse этими стрелочками можно управлять с пульта.

  40. #157

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    36
    Сообщений
    1,217
    Надеюсь, никого не обижу и не потесню если запощу пару ссылок по своему чуду
    Общий вид последней версии: http://www.dikoy44.narod.ru/projects/UAV_berkuchi.htm
    Статейка: http://www.dikoy44.narod.ru/projects/pyroavtopilot.htm
    Поругайте

  41. #158

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    // - у меня сегодня экзамен, поругайте меня.
    // - да такое х_йло хоть с самого утра!
    // ©

    Круто, блин! То, что все открыто - вдвойне вкусней
    Алгоритмы работы автопилота расширять не собираетесь?
    Тот-же полет по маршруту - ИМХО самая интересная и самая недостающая часть

  42. #159

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    36
    Сообщений
    1,217
    Я 3 дня назад кандидатку защитил, пока я ничего вообще не собираюсь делать )))
    Потом посмотрим. Тут с профильными журналами проблема ИМХО. Радио, он немного не тот... И круг читателей у него не тот. А чисто на сайт выкладывать не очень хочется - расползётся по комерческим шарагам, а нахаляву всё равно останется шиш. Да и авторство какое-никакое хочется закрепить.

  43. #160

    Регистрация
    17.07.2009
    Адрес
    Москва
    Возраст
    32
    Сообщений
    66
    Кандидатскую именно по этой разработке?
    Вообще конечно верно, выкладывать серьезные вещи жалко

Закрытая тема

Похожие темы

  1. Обзор Eagletree OSD Pro
    от R_K в разделе Полеты по камере, телеметрия
    Ответов: 5817
    Последнее сообщение: 23.06.2018, 20:51
  2. Eagle Tree Video OSD Expander
    от _Олег_ в разделе Полеты по камере, телеметрия
    Ответов: 14
    Последнее сообщение: 08.06.2009, 01:09
  3. RV OSD g2 vs IF Dragon OSD что лучше?
    от Шифт в разделе Полеты по камере, телеметрия
    Ответов: 1
    Последнее сообщение: 03.04.2009, 20:44
  4. OSD Expander + EagleTree v.3
    от sf73 в разделе Фото и видеосъемка, системы стабилизации
    Ответов: 3
    Последнее сообщение: 03.04.2009, 03:15
  5. Супер-камера с osd на Tricon'е и дельталете
    от Prikupets в разделе Электролеты. Общие вопросы
    Ответов: 2
    Последнее сообщение: 02.08.2006, 15:54

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения