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

Dikoy

2smalltim. Всёж, если не сложно, скиньте картинки мне в мейл. Уж больно много различий в апнотах атмела…

maloii

Купил GSM модуль, поигрался. Работает отлично, sms шлет на ура, с инетом соединяется и стабильно работает. Вот теперь думою какое ему применение можно применить кроме как в случае файл сейфа слать смс. У кого какие есть идеи?

maloii

Споял платку для бутербродика 😃. Купил карту мегафоновскую, но с ней почеу то инет гораздо медленней работает, надо на работе проверить там помощнее ловит

Олег#

с инетом соединяется и стабильно работает

а для чего он соединяется с инетом то…
и кде такая штука продаётся 😮

smalltim

>2smalltim. Всёж, если не сложно, скиньте картинки мне в мейл. Уж больно много различий в апнотах атмела…

Вот схема подключения к USB: smalltim.ru/i/schem_usb.JPG

Никакой самодеятельности, кроме Шоттки на входе - чтоб не питать компуковый питатель USB от автопилотного стабилизатора 😃
Насчет неубиваемости - не знаю. Что-то левое в разъем miniUSB засунуть трудно, а статикой мне убить автопилот пока не удалось, хоть и таскаю плату плату в рюкзаке или в кармане каждый день.

Автопилот потихоньку продвигается, кстати. Сегодня добил диалог установок включения-выключения автопилота и мигающих циферок (alarm) на телеметрической картинке (болванка диалога - вторая картинка smalltim.ru/autopilot/screenshots/), слив всего этого в плату автопилота и обратно на компук, ну и, разумеется, сохранение в набортном флеше. Использования EEPROMa, по-прежнему, успешно избегаю 😉

Заодно обнаружился интересный глюк штатного бутлодера. Если после обновления прошивки пнуть бутлодер, чтоб отресетил Мегу из DFU в обычный режим, Мега грузится в непонятно каком полуобморочном состоянии и стирает флеш, но не целиком, а как-то выборочно. Как это бутлодеру удается, не знаю. Ограничился отключением пинков бутлодера и выводом на экран просьбы отключить-подключить питание или нажать кнопочку ресета автопилота.

Кстати, то, чего так долго добивались коммунисты, грядет: поскольку символьное содержимое картинки для платы телеметрии будет формироваться на плате автопилота, через компук можно будет самостоятельно набросать раскладку циферок, стрелочек и прочих рюшечек на экране телеметрии. Ну и сдвиги для кривых очков можно будет настроить.
Всё как у взрослых людей 😃

А бедная плата телеметрии с прошивкой “под автопилот” станет тупым придатком: только сбор данных с каналов АЦП и собственно отрисовка на экране.

maloii
Олег#:

а для чего он соединяется с инетом то…
и кде такая штука продаётся 😮

  1. Говорю что есть такая возможность, сейчас обдумываю как можно это использовать. Один из вариантов передавать координаты точек полета в реальном времени через ноут. Ещё вариант в случае отказа через инет можно управлять самолетом до точки базы. Скорость не супер инета, но для указаний точек я думою выше крыши, хотя может и значение положений серв можно передовать в реальном времени, получится оля инет “rc” аппаратура, но тут надо попробовать, не уверен в стабильности и надежности инета, скорости выше крыши чтобы 8 цифр передавать, а вот стабильность под вопросом.
  2. Модуль в терре брал SIM300DZ-B12
Artie
smalltim:

А бедная плата телеметрии с прошивкой “под автопилот” станет тупым придатком: только сбор данных с каналов АЦП и собственно отрисовка на экране.

То есть, возвращаемся к истокам… 😉

Dikoy
smalltim:

Что-то левое в разъем miniUSB засунуть трудно

Мы простые крестьянские парни, у нас мини-ЮСБ не продаются… Пришлось ставить обычную маму.

smalltim:

Если после обновления прошивки пнуть бутлодер, чтоб отресетил Мегу из DFU в обычный режим, Мега грузится в непонятно каком полуобморочном состоянии и стирает флеш, но не целиком, а как-то выборочно.

То, что уходит в аут - изветсная фича. А вот чтобы стирал, я не замечал.

smalltim:

кроме Шоттки на входе

Вот про этот диодик то я и говорил. Правда, по науке, стоять он должен немного в другом месте - между VBUS и Ucc, а VBUS непосредственно соединяться с разъёмом - но и так неплохо.
А в ДШ про него ни слова. а зря…

Dikoy

Надоело экспериментировать с кеем, решил сделать свою плату!
Прошу громко но смеяццо - разводилась под утюг, из того, что было в коробушках, + ещё буду причёсывать.
А теперь спааааать.

smalltim

Только что случайно стер всю личку, целиком. Все вопросы, запросы, контакты - всё похерилось.

Коллеги, кому я что обещал - пожалуйста, стукнитесь в личку еще раз. Теперь там места дофигааа. 😦

smalltim

Гуру, а для того, чтобы SPI мастер в отсутствие активности slave’а принимал 0xff, нужно включить pull-up резистор на MISO мастера?
Я к вопросу о связи автопилота с телеметрией. Автопилот - мастер, телеметрия - slave.
Бортовая флеш-память в неактивном состоянии уводит свои выводы в высокоимпедансное состояние, с этим проблем нет. Нужно ли предпринимать какие-то телодвижения на стороне slave, т.е. платы телеметрии, чтоб коллизий не случилось?

Dikoy

Если тамошний SPI работает как слейв, то есть настроен так и задействован вывод SS, то при неактивности на SS он должен автоматически вырубаться (переходить в Z) - это стандарт SPI.
Насчёт подтяжки не помню точно, кмк. они там сами включаются. При активации SPI. Но можно и подключить для надёжности, хуже не будет. Тут проще попробовать.
Если подтяжка будет (внутренняя или внешняя) то ff гарантирован 😃

А мой программатор, сцуко, не знает AT90USB1287, так что я даже бутлодер туда залить не могу… Вот такое попадалово…

smalltim

КОЛЛЕГИ, ВНИМАНИЕ.

За все время существование телеметрии от smalltim ни одна из плат не пострадала физически, ничего не выгорело и т.д, но произошло уже 4 случая, когда слетает прошивка. Перепрошивкой лечится без проблем, но сам факт неприятен.

Точных причин я не знаю, но, судя по всему, Меги бьет статикой.
Посему прошу относиться к девайсу как подобает: это ESD-чувствительный девайс, и паять к нему свои собственные провода, натирать шерстяными свитерами и делать прочие непотребства надо аккуратнее. При перевозке антистатический пакетик от компьютерной комплектухи очень рекомендуется.
Спасибо!

>Если тамошний SPI работает как слейв, то есть настроен так и задействован вывод SS, то при неактивности на SS он должен автоматически вырубаться (переходить в Z) - это стандарт SPI.

SS не распаян, отсюда все вопросы.

baychi
smalltim:

КОЛЛЕГИ, ВНИМАНИЕ.

За все время существование телеметрии от smalltim ни одна из плат не пострадала физически, ничего не выгорело и т.д, но произошло уже 4 случая, когда слетает прошивка. Перепрошивкой лечится без проблем, но сам факт неприятен.

Точных причин я не знаю, но, судя по всему, Меги бьет статикой.

Тимофей, а ВЧ наводка не могла привести к слету прошивки?
У меня было так: менял видео-передатчк с 1.2 (1 Вт) на 2.4 ГГц (0.5 Вт) и одновременно переставлял в другую модель. В новой модели передатчик в аллюминиевом экране находился под платой телеметрии, штырь антенны шел ортогонально плоскости платы с выносом в несколько сантиметров.
Первый раз новая сборка включилась нормально, затем я заметил одну ошибку в компоновке, разобрал сборку и собрал ее снова. Телеметрия более не отзывалась. Разумеется, это могла быть статика при перемонтаже, но и мощный RF сигнал тоже не исключается.

Dikoy
smalltim:

SS не распаян, отсюда все вопросы.

Тогда надо ручками переводить SPI слейва в Z. Если одна из лап будет в нуле, это приведёт к КЗ для флешки, а ток её выхода в ДШ скромно умолчали. Подозреваю, что очень маленький.
В общем, надо выдумывать арбитраж. Атмегам пофиг - у них пины ограничены по току. А вот флешку на занятую линию пускать нельзя…

ПС. Статикой врядли - каждый пин защищён диодами. Можно попробовать всунуть стабилитрон на 5,1-5,6 В между питанием меги и землёй, на 0,25W или меньше, чтоб на нём рассасывались разряды…

С чипом справился! Ура мне и памятник.

smalltim

>С чипом справился! Ура мне и памятник.
Как именно?

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

Пара пояснений:
[H] - иконка базы, вертится вместе с изменением курса
~045 и ~1150 - скорость высота по бародатчикам (если установлены)
085 и 1277 - скорость и высота по GPS

Текущий курс:
–N—NE—
^

Вот эти штучки не плавно вверх-вниз ползают, а прыгают по одной строке (Если памяти хватит, то по полстроки):

|
>1300
|
|

Наклонная линия авиагоризонта рисуется в окошке 5х3 символа псевдографикой.
Ну а остальное и так понятно.

Dikoy
smalltim:

Как именно?

Элементарно! (с)
Бутлодер там, оказывается, с завода идёт. А я не знал…
Фьюзы, в принципе, как надо настроены. Разьве что JTAG я бы отключил, но у меня всё равно эти лапы не используются.
Чип залочен, прошить программатором можно только полностью его сотря, но внутрях бутлодер версии 101, такой же как в последних кеях. И этот бутлодер не слетает со временем (я не заметил), а вот бутлодер 100, который в старых кеях и который лежит на их сайте, имеет свойство к самоубиванию. По этому я не стал перепрошивать чип а оставил всё как есть.
Пока только ПЛЛ перенастроил на 16 МГц, прошивка отзывается (энумерируется). Вечером буду переделывать задержки и т.д. под новый кварц (не вставил дефайнов, лошарик…).

Ну а к программатору скачал последнюю программу, обновил фирмварю и всё заработало.

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

smalltim

Если кому-то интересно, залил текущую версию компукового приложения для автопилота: smalltim.ru/f/smalltim_ap_pc_client.rar
Далеко не всё еще готово, и без самой платы мало что получится проверить, ибо плата существует пока в единственном экземпляре, у меня любимого, но можно полазить по менюшкам, потыкать кнопки и посмотреть как всё будет выглядеть.
Рюшек-плюшек, красивостей да картинок пока нет, да и вряд ли будут.
Всё, что нужно для работы программки - эти 3 файла в архиве и еще нужен будет драйвер для Атмег в DFU режиме.
Просмотровщик полетных логов с клевыми графопостроительными возможностями как бы готов, но еще не прикручен к коду.

Гляньте, может быть, какие-нибудь интересные идеи возникнут. Например, что думаете насчет пресетов для типовых моделей и визарда или “Мастера настроек” для… хм… самых ленивых любителей FPV?

Заодно можно пнуть меня, если вдруг вылезут какие-то глюки. Например, на 64-битных осях это вообще не проверялось. На 32-битных ХР/Vista проверялось, работает.

>И в режиме стабилизации, микс элероны-флапы(тормоза), тоесть поймет ли контролеер такую комбинацию из двух серв сигналов на них?

Это очень-очень критично? В принципе, можно такое приколхозить, ибо помимо 4 входов-выходов РРМ (элероны, РН, РВ, газ) у автопилота есть 5й вход РРМ (только вход!) для управления режимами. Можно этот 5й вход заиспользовать.
Вы только простите меня, грешного, но я моделей с флаперонами никогда в жизни не имел, поэтому не уверен, что на 100% правильно понимаю, как оно построено.
Какая там раскладка сигналов по каналам? Т. е. что как миксуется на передатчике, на модели, сколько серв, как подключены и как стоят? Сами понимаете, если нужно, то замиксовать как угодно какие угодно каналы на плате автопилота - ваще нивапрос.

Brandvik

Как я уже сказал дело даже не в самих флапах-тормозах а в наличии двух каналов для двух машинок. Собственно работает это просто. В крыле две машинки и каждая подключена на свой канал, миксирование происходит в передатчике. Сбственно от стабилизатора требуется пропустить через себя эти два канла в режиме стабилизации выдавать сигналы по двум выходам на каждый элерон отдельно. В режиме тормоза оба элерона идут вверх практически до упора соответственно, стабилизатор работает как и прежде только он не должен превышать эти углы отклонения вверх (или вниз, кто как и зачем использует) что собственно уже заложено как я понимаю. Но как я понял, уже все занято и организовать еще один РРМ вход-выход нельзя.
На самом деле это не критично. Но жаль 😃 Можно через бортовой V микшер можно будет огранизовать эту же функцию, просто больше гемора и “лишних” девайсов на борту .

Dikoy

smalltim, а кварц в Вашем автопилоте на 16?
Кроме PLL что-нибудь перенастраивалось?
У меня странный глюк при переносе прошивки с кея. Энумерация проходит успешно, чип определяется, даже специальный светодиодик загорается. Но первое же сообщение отправавляет чип в аут. Коммуникация падает, но чип не зависает…
Не могу понять в чём фишка. Пока только перенастроил PLL на другой кварц:
PLLCSR = ( ( (1<<PLLP2) | (0<<PLLP1) | (1<<PLLP0) ) | (1<<PLLE) )
Причём если сделать по ДШ, ( (1<<PLLP2) | (1<<PLLP1) | (0<<PLLP0) ), то нихрена не работает.
Может, Вам приходилось с таким сталкиваться?