Специальные цены   новые товары
Закрытая тема
Страница 10 из 50 ПерваяПервая ... 8 9 10 11 12 20 ... ПоследняяПоследняя
Показано с 361 по 400 из 2000

Телеметрия (часть 1)

Тема раздела Полеты по камере, телеметрия в категории Cамолёты - Общий; Сообщение от smalltim Нужно два датчика: 1. Датчик скорости: MPXV5010DP... Спасибо! А чем, кроме цены, отличаются MPXV5010DP PBF и MPXV5010DP? ...

  1. #361

    Регистрация
    20.04.2005
    Адрес
    Miensk, Belarus
    Сообщений
    72
    Цитата Сообщение от smalltim Посмотреть сообщение
    Нужно два датчика:
    1. Датчик скорости: MPXV5010DP...
    Спасибо! А чем, кроме цены, отличаются MPXV5010DP PBF и MPXV5010DP? В ЧипДипе они 910 и 550р соответсвенно.

  2.  
  3. #362

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Выложите пожалуйста кто ни будь схему подключения камеры к меге, тоесть вход выход сигнала.

  4. #363

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Поправьте меня если я не прав. Я должен на одну из ног запрограммированную на вход получить PAL сигнал. Перед этим согласовав каскады с помощью сопротивления (тут же вопрос сколько ом?). Другую ногу запрограммировать на выход и через повышающий транзистор опять согласовать каскады (тут же вопрос какой транзистор, если он конечно нужен?). В программе меги в главном цикле получать сигнал с одной ноги, обрабатывать его подмешивая в него буковки. Полученный сигнал выкидывать на ногу выхода.

  5. #364

    Регистрация
    10.09.2007
    Адрес
    СПб
    Сообщений
    6
    Цитата Сообщение от maloii Посмотреть сообщение
    Выложите пожалуйста кто ни будь схему подключения камеры к меге, тоесть вход выход сигнала.
    в схеме smalltim'а все нарисовано. Камеру к меге подключать не нужно, нужно всего лишь подцепить "видеовыход" схемы к проводу "камера-видеопередатчик" паралельно

  6.  
  7. #365

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    А есть где почетать про алгоритм генерации изображения в PAL сигнал, на примере генерации букв или точек?

  8. #366

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    Вкину свои 5 капель.
    Для датчика скорости лучше подойдёт MPX5004. Шкала уже, дискретность меньше.
    В своих поделках я использовал АЦП AD7799 о 24 битах. Удобна она тем, что имеет 3 канала с диф входами (я мерил две оси компаса и алитиметр/спидометр через коммутатор), отлычный PGA с усилением до 128 и аппаратный филтр скользящего среднего. Работает превосходно - чистые 16 бит с соответстсвующим разрешением.

    Насчёт GPS, не надо искать диносавров а-ля лассены!!!!!!!
    Отличный модуль: LEA-4H! Имеет UART, USB, афигительную чувствительность и много фичей. Продаёт http://www.efo.ru/ , сам ю-блокс: http://www.u-blox.com/shop/index.html .

    Ещё стоит обратить внимание на 5 серию, хоть она и дороже в 2 раза:
    LEA-5H - http://www.u-blox.com/products/lea_5h.html
    NEO-5Q - http://www.u-blox.com/products/neo_5q.html

    Серия NEO, это вообще песня в плане массо-габарита. Есть нео 4 серии

    Антену лучше брать пассивную спиральную. Плоские тяжелы, массивны и... требуют под собой полигона земляного 55-75 см квадратных
    Вот примеры антен:
    GeoHelix-SMP - http://shop.efo.ru/cgi-bin/shop.pl?categor...p;mh=50&a=1

    Активная: GeoHelix-S – http://shop.efo.ru/cgi-bin/shop.pl?categor...p;mh=50&a=1
    Хотя для самолёта пассивная за глаза и за уши…


    Цитата Сообщение от LowAmper Посмотреть сообщение
    Спасибо! А чем, кроме цены, отличаются MPXV5010DP PBF и MPXV5010DP? В ЧипДипе они 910 и 550р соответсвенно.
    Насколько понимаю, свинцовая и безсвинцовая технология производства. С т. зрения качества работы - пофиг. Одинаковые они.
    Но я могу ошибаться! Читайте даташит!

    А вообще, нафига чиподип? Заходим на фрискейл и, потратив гиг траффика на их скоростном сайте, оформляем запрос сампла на требуемы датчики (в тех корпусах, что нужны нам, а не есть). Датчики обойдутся бесплатно, потребуется только оплатьть 22 бакса за пересылку федексом. Через неделю-две посылку припрёт курьер надом.
    И того, за цену 1 датчика вы получаете 4, в нужных корпусах и непосредственно от производителя.

  9. #367

    Регистрация
    20.04.2005
    Адрес
    Miensk, Belarus
    Сообщений
    72
    Цитата Сообщение от Dikoy Посмотреть сообщение
    Через неделю-две посылку припрёт курьер надом.
    Через неделю-две начнется гемор с таможней, которая расположена в аэропорту в 50км от города: "Бесплатно?! А ну-ка дай десять справок и напиши десять заявлений и заплати пошлину, сумму мы счас придумаем."
    Увы, живу я в заповеднике коммунизма. Но это тема не для этой ветки. Спасибо за оригинальную идею. Вы её уже осуществили на практике?

  10.  
  11. #368

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    Цитата Сообщение от LowAmper Посмотреть сообщение
    Спасибо за оригинальную идею. Вы её уже осуществили на практике?
    Это про что?

    Про коммунизм сочувствую... У нас только с упсом могу быть проблемы. Федекс проходит всегда без проблем.

  12. #369

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    to All
    Почитал сайт папарацци. Интересная штука.
    И возникла идея - а почему бы не замутить аналогичный проект, только в россии и открытый?
    Я не разделяю некоторые решения, которые они применили. Например, пирометры. Нафига было извращаться с аналоговыыми по 18 баксов, когда за 25 можно купить цифровые и тарированные?..
    Радиоканал у них никакой...

    У меня есть опыт в построении оборудования для самолётиков. Миниатюрные дуплексные радиоканалы на 4 км., куча кодов обработки GPS и вычислений нав. параметров. То есть часть, которая работает с GPS и отвечает за управление, у меня есть.
    Пирометры приделать не проблема.
    Видеокамеры тут уже побороли.

    То есть сделать ИК аппаратуру управления самолётом по камере проблемы не составляет. Я сваяю блок управления, кто-то блок наложения картинки, связь по UART.

    Если есть желающие поучаствовать, можно сделать. Один я этим заниматься не буду.
    Так же у меня нет возможности тестить, по этому могу генерить только платы/схемы/коды. проверять придётся кому то другому
    Есть желающие? Эта железяка кому-нибудь нужна?

  13. #370

    Регистрация
    29.06.2007
    Адрес
    Москва
    Возраст
    65
    Сообщений
    3,925
    [quote=Dikoy;750270]
    to All
    Почитал сайт папарацци. Интересная штука.
    И возникла идея - а почему бы не замутить аналогичный проект, только в россии и открытый?


    Скажите: а где можно увидеть что- то из "наваянного" Вами?
    Вот Smallltim- никого не призывал на подвиги, а взял да и сделал телеметрию (простенькую, но со вкусом) и выложил ее на форуме...
    А Ваши благие намерения чем то подкреплены?
    Народ- сумлевается

  14. #371

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    >То есть часть, которая работает с GPS и отвечает за управление, у меня есть.

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

  15. #372

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    [quote=foxfly;750346]
    [quote=Dikoy;750270]
    to All
    Почитал сайт папарацци. Интересная штука.
    И возникла идея - а почему бы не замутить аналогичный проект, только в россии и открытый?


    Скажите: а где можно увидеть что- то из "наваянного" Вами?


    Нами, например, тут: http://dikoy44.narod.ru
    Авионики там нет, т.к. все проекты были коммерческими.



    Вот Smallltim- никого не призывал на подвиги, а взял да и сделал телеметрию (простенькую, но со вкусом) и выложил ее на форуме...


    А я предлагаю сделать то же самое, но предупреждаю, что один не справлюсь. Да и нет у меня интереса делать то, что никому не нужно. Если интерес у людей будет, имеет смысл тратить на это время. А ничто не укрепляет веру в интерес так, как реальная помощь



    А Ваши благие намерения чем то подкреплены?


    Интересом разобраться с пирометрами. Я с ними дела не имел, но прочитав статью http://www.eganfamily.id.au/archive30nov20...Bristol2003.pdf загорелся.
    По мотивам парацци подобрал даже пирометр - MLX90614 от http://www.melexis.com/

  16. #373

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    Цитата Сообщение от smalltim Посмотреть сообщение
    Было бы здорово сделать добавочную платку к моей телеметрии: на добавочной плате на Атмеге - математика GPS, навигация и т.д., а вывод на экран и датчики скорости-высоты-батареек-температуры с их математикой - на существующей платке. Интерфейс между платами - какой угодно, у Атмег полно протоколов общения.
    Только вот я сейчас на две недели паузу беру. На работе загрузка сильная.
    Я так и думал. У моей меги свободен один UART, могу передавать данные либо в АНСИ, либо цифрами - как удобно. Вы выводите из в видеосигнал.

    Насчёт времени - я с пирометрами быстрее не разберусь, а покупать их ещё дольше. Так что, 2 недели терпит
    Главное не пропадайте, чтобы не получилось так, что я сделаю несовместимо с вами.

  17. #374

    Регистрация
    29.06.2007
    Адрес
    Москва
    Возраст
    65
    Сообщений
    3,925
    Нами, например, тут: http://dikoy44.narod.ru
    Авионики там нет, т.к. все проекты были коммерческими.



    Ну, насчет "коммерческими"- это явно крутовато
    Пищалка, которая гудит при открывании двери если включены габариты- это 1 корпус 561ЛА7, плюс пара диодов и пара сопротивлений......
    До авионики оттуда настолько далеко, что и не видно.
    Кстати: датчики у Папаррацев стоЯт- DST60, да и не делают они сами эти платы- у FMA-Direct покупают.
    А вы себе представляете сумму, в которую выливается разработка подобной системы?
    Если учесть, что цены на ДПЛА начинаются от 40000$?
    Я то все это уже сделал, поэтому несколько удивлен таким оптимизмом

  18. #375

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    Ну, насчет "коммерческими"- это явно крутовато


    Простите, вы не представились. Могу я увидеть Ваши труды?



    Пищалка, которая гудит при открывании двери если включены габариты- это 1 корпус 561ЛА7, плюс пара диодов и пара сопротивлений......


    Это 1 диод и одно реле. Как сделано у нексии. А ещё можно посадить китайца, который одновременно будет выполнять функции АКПП. Но вот беда... Небыло в коробушке китайца, из того, что было пришлось делать.
    +У 561 серии нет защитных диодов по входам Да и одним оставшимся элементом ЗП-19 не раскачаешь. Нужна пара, а лучше 4, причём ЛН2.
    Такая штука работает на инжекторной девятке. На тазиках сей аппарат дохнет. Точнее дох, пока я не поставил 7809 и стабилитроны по входам.
    Плюс, никогда небыло страсти к китайской технике. Предпочитаю делать заведомо рабочие вещи и не загонять элементы в пределы по токам и напряжениям. 70 вольт 561 серия не держит, к сожалению.


    Кстати: датчики у Папаррацев стоЯт- DST60,


    Они предлагают варианты, в т.ч. и MLX90247.



    А вы себе представляете сумму, в которую выливается разработка подобной системы?


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



    Если учесть, что цены на ДПЛА начинаются от 40000$?


    Автору статьи это не помешало смастерить пироавтопилот для статьи. А футабе сделать оптику за 50 долларей. Или вы не понимаете разницы между коммерческим продуктом с сопровождением и домашней поделкой?

    Вот по этому я не люблю писать свой возраст в форумах. Уж слишком много сверхчеловеков на него выползает.

  19. #376

    Регистрация
    10.09.2007
    Адрес
    СПб
    Сообщений
    6
    Почитал про сложную обработку данных по высоте у smalltim и других создателей телеметрий, почитал про "плавающие окна", про хитрые форумлы и т.п. Не понял ни слова
    У меня такой вопрос - к чему такие сложности? В своих экспериментах я тупо опрашивал АЦП 20 раз, суммировал результат и делил на 20, после чего выводил на экран После устранения нескольких багов в коде, альтиметр с разрешением 1 метр показывает высоту четко, без шумов вообще. Вариометр с разрешением 0.5 м/c вел себя так же

  20. #377

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    Цитата Сообщение от idono Посмотреть сообщение
    Почитал про сложную обработку данных по высоте у smalltim и других создателей телеметрий, почитал про "плавающие окна", про хитрые форумлы и т.п. Не понял ни слова
    У меня такой вопрос - к чему такие сложности? В своих экспериментах я тупо опрашивал АЦП 20 раз, суммировал результат и делил на 20, после чего выводил на экран После устранения нескольких багов в коде, альтиметр с разрешением 1 метр показывает высоту четко, без шумов вообще. Вариометр с разрешением 0.5 м/c вел себя так же
    С плавающим окном ты бы имел то же самое, но получал данные в 20 раз быстрее. то есть не терял бы 20 выборок.

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

    Ещё его называют алгоритмом скользящего среднего.

  21. #378

    Регистрация
    01.11.2004
    Адрес
    Санкт-Петербург
    Возраст
    31
    Сообщений
    1,007
    Спасибо, после вашего объяснения все стало понятно!
    (это я под другим аккаунтом заходил)

  22. #379

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Цитата Сообщение от idono Посмотреть сообщение
    в схеме smalltim'а все нарисовано. Камеру к меге подключать не нужно, нужно всего лишь подцепить "видеовыход" схемы к проводу "камера-видеопередатчик" паралельно
    Можно чучуть поподробней. У меня камера KX171 c rangvideo.com http://www.rangevideo.com/index.php?main_p...4340692c73566d6

    на неё идёт 12 вольт и жолтый провод сигнала. Если я правлено понял то мне нужно ноль от схемы кинуть на минус а сигнал на жолтый провод. Ещё вопрос, какое напряжение должно быть на выходе сигнала, тоесть если я тестером замерю, ноль это минус а сигнал плюс. Я понимаю что это аналоговый сигнал, просто осциллографа у меня нет а сровнять каскады как то нужно. Таким способом я померел выход с приёмника от rangevideo там примерно 3 вольта, а у меня 1,5 с платы выходит . А если на камере мерю, тоесть минус на минус, а плюс на сигнал, то вообще 0 вольт кажет, хотя камера работает нармуль

  23. #380

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Вот ещё, поправьте если я неправильно понимаю (просто разобраться охото во всём). Я цепляю сигнал на разъём V-IN чипа LM1881N (как я понял прошивать его не надо он сразу всё умеет). Выходы HSYNC и VSYNC кидаю на ноги Atmega8. Этот LM1881N раскладывает сигнал на вертикальные и горизонтальные составляющие и дёргает эти ноги по достижению переходов по линиям или точкам линии. В программе Atmega8 описываю прерывания этих ног на которые я подал HSYNC и VSYNC. Ввожу переменные строки и точки в строке, отсчитываю нужную мне точку и на некую ножку кидаю 1. Эту ножку на которую выкидываю 1 я соединяю на выход PAL. В итоге вход и выход это один провод, разделяются только сопротивлениями, на вход 510 ом и кодёр на 0,1 микро фарад, на выход 120 ом. В итоге сверху на сигнал накладываю белые пиксели.

  24. #381

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    2All
    Народ, а насколько необходимо отображать в телеметрии потребляемый от акков ток?..
    ИМХО вполне достаточно знать напряжения силового и аппаратурного акка (ну либо одного общего).
    А то мне тут советуют датчик тока сделать... Но это ж шунт лепить на плату, и всё равно точность +-лапоть, не считая нагрева... :-/ Проводов, опять же, больше. Что скажете?

  25. #382

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    Цитата Сообщение от Dikoy Посмотреть сообщение
    2All
    Народ, а насколько необходимо отображать в телеметрии потребляемый от акков ток?..
    ИМХО вполне достаточно знать напряжения силового и аппаратурного акка (ну либо одного общего).
    А то мне тут советуют датчик тока сделать... Но это ж шунт лепить на плату, и всё равно точность +-лапоть, не считая нагрева... :-/ Проводов, опять же, больше. Что скажете?
    Я не стал связываться, знать ток, конечно, интересно, но индикации напряжения и так достаточно.


    maloii:

    Ага, всё так, только прерывания от лм1881 - не точки и строки, а моменты перехода к новому кадру/новой строке.

  26. #383

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Ох, не выходит чтото каменный цветок. Подскажите гуру, где я неправильно что сделал.

    Подключил всё как у smalltim. Диод только свето поставил. Прошиваю, всё ок, пробую, эран немного тускнеет, делаю в строчке заместо 1 на PORTD.7 ставлю 0, экран светлеет обратно и вообще как бы ничего и не происходило. А по сути должна линия белая показаться как я понимаю.


    попробовал прошить прошивкой smalltim, но у меня датчики не подключенны к меге, стали белые полоски прыгать по экрану .

    Код:
    #incl*ude <mega8.h>
    #incl*ude <delay.h>  
    			   
    
    int i=0;
    
    // External Interrupt 0 service routine
    interrupt [EXT_INT0] void ext_int0_isr(void)
    {			  
    		if(i>100 && i<200){			   
    				PORTD.7 = 1;		  
    		}
    		i++;	
    }
    
    // External Interrupt 1 service routine
    interrupt [EXT_INT1] void ext_int1_isr(void)
    {
    		i=0;
    }
    
    // Declare your global variables here
    
    void main(void)
    {
    // Declare your local variables here
    
    // Input/Output Ports initialization
    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTB=0x00;
    DDRB=0x00;
    
    // Port C initialization
    // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTC=0x00;
    DDRC=0x00;
    
    // Port D initialization
    // Func7=Out Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=1 State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTD=0x80;
    DDRD=0x80;
    
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    TCCR0=0x00;
    TCNT0=0x00;
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer 1 Stopped
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer 2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    // External Interrupt(s) initialization
    // INT0: On
    // INT0 Mode: Any change
    // INT1: On
    // INT1 Mode: Any change
    GICR|=0xC0;
    MCUCR=0x05;
    GIFR=0xC0;
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    // Global enable interrupts
    #asm("sei")
    
    while (1)
    	  {
    	  // Place your code here
    
    	  };
    }

  27. #384

    Регистрация
    27.03.2007
    Адрес
    Москва, Измайлово
    Возраст
    45
    Сообщений
    2,130
    Цитата Сообщение от maloii Посмотреть сообщение
    А по сути должна линия белая показаться как я понимаю.
    Забыли обнуление PORTD.7.

  28. #385

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    щас стали показываться, но както не супер. всё дёрается и точки явно длинные. Должно получится две малюсьникие полокси, а получается 2 длиноватые полоски и ещё и дёргаются

    Код:
    #incl*ude <mega8.h>
    #incl*ude <delay.h>  
    			   
    
    int i=0; 
    int t=0;
    
    int start_line=100;   
    
    // External Interrupt 0 service routine
    interrupt [EXT_INT0] void ext_int0_isr(void)
    {		   
    		   
    		if (i>start_line && i<start_line+2)  {
    				t=30;
    				while(t--) { #asm("nop"); }				
    				PORTD.7 = 1;
    				PORTD.7 = 1;
    				PORTD.7 = 0;
    				PORTD.7 = 0;
    				PORTD.7 = 1;
    				PORTD.7 = 1;
    				PORTD.7 = 0;
    			   
    		  }
    		i++;	
    }
    
    // External Interrupt 1 service routine
    interrupt [EXT_INT1] void ext_int1_isr(void)
    {
    		i=0;
    }
    
    // Declare your global variables here
    
    void main(void)
    {
    // Declare your local variables here
    
    // Input/Output Ports initialization
    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTB=0x00;
    DDRB=0x00;
    
    // Port C initialization
    // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTC=0x00;
    DDRC=0x00;
    
    // Port D initialization
    // Func7=Out Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=1 State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTD=0x80;
    DDRD=0x80;
    
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    TCCR0=0x00;
    TCNT0=0x00;
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer 1 Stopped
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer 2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    // External Interrupt(s) initialization
    // INT0: On
    // INT0 Mode: Any change
    // INT1: On
    // INT1 Mode: Any change
    GICR|=0xC0;
    MCUCR=0x05;
    GIFR=0xC0;
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    // Global enable interrupts
    #asm("sei")
    
    }

  29. #386

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    >щас стали показываться, но както не супер. всё дёрается и точки явно длинные. Должно получится
    >две малюсьникие полокси, а получается 2 длиноватые полоски и ещё и дёргаются

    А частота процессора какая?
    А кто будет отправлять процессор баиньки после обработки прерывания? Меня учили, что без баиньки время реакции на прерывание может раз от раза отличаться на несколько тактов.

  30. #387

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    33
    Сообщений
    1,193
    щас стали показываться, но както не супер. всё дёрается и точки явно длинные. Должно получится две малюсьникие полокси, а получается 2 длиноватые полоски и ещё и дёргаются

    Посмотри ассемблерный листинг, имхо компилер
    PORTD.7 = 1;
    PORTD.7 = 1;
    PORTD.7 = 0;
    PORTD.7 = 0;
    PORTD.7 = 1;
    PORTD.7 = 1;
    PORTD.7 = 0;
    оптимизирует. Причём только ту часть, которая обнуляется, превращая в одну команду CLR.

    #incl*ude <mega8.h>
    #incl*ude <delay.h>
    А что за инклюды такие?..

    И фьюзы менялись? Может, мега от встроенного на 1 МГц молотит?

  31. #388

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    кварц поставил на 16 мГц. А как проц в баиньки отправлять?

    Программирую с помощью ARV Studio программатором AT AVR ISP2 http://www.chip-dip.ru/product0/751853999.aspx. Могу ли я с помощью него проверить на какой частоте работает проц и на сколько он загружен? Просто может у меня кварц не пашит

    фьюзы не менял, а какие нужно ставить?

  32. #389

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    >А как проц в баиньки отправлять?

    asm sleep в бесконечном цикле в главной функции


    >фьюзы не менял

    Понятно. 1 МГц от встроенного генератора. См тему телеметрия на несколько страниц ранее, я прикладывал скриншот с фьюзами.

  33. #390

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Чтото уже более осмысленное стало выводится но не до конца. По логике вещей должна вывестись одна линия, но выводится 2, плюс они очень реагируют на внешние факторы, видео прилагаю. http://sale-music.com/MPEG0002.AVI

    Код:
    #incl*ude <mega8.h>
    #incl*ude <delay.h>  
    			   
    
    int i=0; 
    
    int start_line=200;	// íà÷èíàåì âûâîä ñ ëèíèè íîìåð 100
    
    // ñàì òåñòîâûé ñèìâîë (íàðèñîâàí 0 åäèíè÷êàìè)
    
    // External Interrupt 0 service routine
    interrupt [EXT_INT0] void ext_int0_isr(void)
    {				 
    		if (i>start_line && i<start_line+90)  {  
    				delay_us(20); 
    				PORTD.7 = 1;
    				PORTD.7 = 1;  
    				PORTD.7 = 1;
    				PORTD.7 = 1;
    				PORTD.7 = 0;  
    		  }
    		i++;	
    }
    
    // External Interrupt 1 service routine
    interrupt [EXT_INT1] void ext_int1_isr(void)
    {
    		i=0; 
    }
    
    // Declare your global variables here
    
    void main(void)
    {
    // Declare your local variables here
    
    // Input/Output Ports initialization
    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTB=0x00;
    DDRB=0x00;
    
    // Port C initialization
    // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTC=0x00;
    DDRC=0x00;
    
    // Port D initialization
    // Func7=Out Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=1 State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTD=0x80;
    DDRD=0x80;
    
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    TCCR0=0x00;
    TCNT0=0x00;
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer 1 Stopped
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer 2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    // External Interrupt(s) initialization
    // INT0: On
    // INT0 Mode: Any change
    // INT1: On
    // INT1 Mode: Any change
    GICR|=0xC0;
    MCUCR=0x05;
    GIFR=0xC0;
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    // Global enable interrupts
    #asm("sei")
    PORTD.7 = 0;
    while (1)
    {	
    	  #asm("sleep")
    };
    }

  34. #391

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Разобрался, диод на выходе тупой был. там простой светодиод я поставил, щас поставил BAS16 и нармуль стало всё. Только лини всёравно 2

  35. #392

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Фух, разобрался, только чтото оптимизация никуда у codeVisoinAVR с C , выводит медленно и печально. smalltim, выложите пожалуйста если можно кусочек кода на ассемблере вывода строк. Я в ассемблере слаб и всю Вашу прошивку не осилил , так сказать всё от туда выкинуть кроме вывода пару цифорок. Буду очень признателен.

  36. #393

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    Всё оттуда выкинуть кроме пары циферок не получится.

    Общая суть действий такова:

    1. Кушаем в регистр А 8-битовое значение, которое есть горизонтальное сечение битовой матрицы символа 8х8
    2. Выводим старший бит регистра в порт D.7
    3. Сдвигаем регистр А влево
    4. Идем на шаг 2.

    Так выводится одна восьмая часть одного символа.

    >выводит медленно и печально
    Так заведите ж проц на 16 МГц.
    Залейте мою тестовую прошивку, чтоб по тому, что творится на экране, проверить частоту.

  37. #394

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Цитата Сообщение от smalltim Посмотреть сообщение
    Так заведите ж проц на 16 МГц.
    Залейте мою тестовую прошивку, чтоб по том, что творится на экране, проверить частоту.
    По вашим тестовым прошивкам всё откалибровал. Работает изумительно. буковки и цыфорки маленькие и окуратненькие кажет, а как пишу на С в codeVisionAVR так один бит не очень похож на пиксель, а похож на продолговатую линию. Вот тут читаю, ребята так же парятся http://electronix.ru/forum/index.php?showt...=41013&st=0.

  38. #395

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    // INT0: On
    // INT0 Mode: Any change
    // INT1: On
    // INT1 Mode: Any change

    Стоп, а вот это что такое?
    У Вас прерывания возникают и по нарастающему и по спадающему фронту сигнала с лм1881, отсюда и 2 полосы, и каждая строка как две считается. Поставьте, чтоб прерывания только по спадающему фронту возникали.

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


    >попробовал прошить прошивкой smalltim, но у меня датчики не подключенны к меге, стали белые полоски прыгать по экрану

    Не, что-то у Вас было не так. Без датчиков высота-скорость-температура будут нули, но всё остальное должно быть как обычно.
    Но я так понимаю, сейчас у Вас мои прошивки нормально заработали.

    В общем, правильнее всего, как и ожидалось, писать всё на C со вставками ассемблера в критических местах. У меня лицензионной среды с С нету, так что обхожусь ассемблером...

  39. #396

    Регистрация
    03.06.2007
    Адрес
    Москва
    Возраст
    35
    Сообщений
    3,288
    Спасибо, буду разбираться с прерываниями, я ведь только учюсь, а настройки мне codeVisionAVR сгенерила

  40. #397

    Регистрация
    10.07.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    3,554
    Записей в дневнике
    1
    Про пирометры: я и раньше скептически к ним относился - а ну как поведет себя самолетик если будет пролетать мимо деревьев и домов? Крениться?

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

  41. #398

    Регистрация
    09.12.2004
    Адрес
    г. Железнодорожный
    Возраст
    45
    Сообщений
    1,645
    Записей в дневнике
    570
    Цитата Сообщение от smalltim Посмотреть сообщение
    Про пирометры: я и раньше скептически к ним относился - а ну как поведет себя самолетик если будет пролетать мимо деревьев и домов? Крениться?
    Самолет можно будет сбивать зеркальцем, как жители Сиракуз римские корабли.

    Тут где-то обсуждается тема про цифровые магнитные компасы. Что если поставить трехосевой датчик, откалибровать его перед запуском, и он будет выяснять положение самолета относительно вектора Магнитного Поля Земли в данный момент полета. А от вектора МПЗ через калибровочные углы переходим к положению относительно горизонта. Ну и выравниваем, чтобы он был горизонтален. А азимутальную составляющую результатов компаса можно выводить на OSD

  42. #399

    Регистрация
    02.06.2005
    Адрес
    Ростов Великий
    Возраст
    53
    Сообщений
    556
    Цитата Сообщение от Prikupets Посмотреть сообщение
    Что если поставить трехосевой датчик, откалибровать его перед запуском, и он будет выяснять положение самолета относительно вектора Магнитного Поля Земли в данный момент полета.
    К сожалению, не получится однозначно определять положение. Представим ситуацию, когда одна ось датчика параллельна вектору магниного поля. Две другие оси будут выдавать нули. При этом получается неопределенность - можно вращать модель вокруг первой оси на 360 градусов, а выходы датчиков будут одинаковыми.
    Я даже пытался испытывать такую систему, пока не напоролся на эти очевидные грабли.

    Что касается пирометров. Если на них стоят ИК фильтры на 8-14 мкм, то Солнца они не увидят.

  43. #400

    Регистрация
    01.11.2004
    Адрес
    Санкт-Петербург
    Возраст
    31
    Сообщений
    1,007
    maloii, в компиляторе Си нужно поставить оптимизацию по скорости (в cvAVR по умолчанию стоит оптимизация по размеру).
    Project -> configure -> c compiler -> optimize for: speed

    после этого вывод станет в 2 раза быстрее

    Цитата Сообщение от maloii Посмотреть сообщение
    Вот тут читаю, ребята так же парятся http://electronix.ru/forum/index.php?showt...=41013&st=0.
    Это как раз я там и парился Почитайте ту тему до конца, там все ответы есть, я дошел до вывода нормальных циферок

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

Похожие темы

  1. Ответов: 89
    Последнее сообщение: 28.09.2010, 23:24
  2. Smalltim OSD and autopilot (часть 1)
    от kulikof в разделе Полеты по камере, телеметрия
    Ответов: 1999
    Последнее сообщение: 24.08.2010, 21:48
  3. E-Revo 1:16 (часть 1)
    от Вовчик в разделе Минимодели масштаба 1:14 - 1:22
    Ответов: 1999
    Последнее сообщение: 22.07.2010, 12:37

Ваши права

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