Smalltim OSD and autopilot (часть 2)

Oliver
smalltim:

Компактный - да, в 8к столько запихать - подвиг. А вот красивый - ммээээ…

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

НО! Вот тут мне непонятно:
Смотрю прошивку 252, это одна из последних перед переходом с утюжной платы на мини-телеметрию. Код, где считаем амперы. Комментарий говорит сам за себя:
; 100A corresponds to 4.5V of current sensor output, 0A is 2.5V
; it means 32768 samples for 0A and 65536*4.5/5=58982 samples for 100A
; full range is 58982-32768=26214 samples or 0.003814697265625 A per sample
; to get Ampers (*100 because I want 2 decimal digits) I have to multiply samples * 0.005086 A per sample and * 100,
; it gives Current = samples * 0.003814697265625, or Current = samples * 25000 / 65536;
Вот только по схеме и по плате напряжение с датчика ADC6 проходит через делитель 1/3. Что это и как? Ведь вроде прошивка работала и платы летали… Проверил у себя, показания врут в три раза… Или была хитрость и нижнее плечо выпаивали?

smalltim:

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

Тимофей, на сайте в нижнем меню не работает ссылка “Телемерия - Прошивки”. Поправьте. Строка “smalltim.ru/production/autopilot/…/firmwares/#"

aviaks

Добавление полёта по точкам это хорошо конечно, но почему только 3?

smalltim
Oliver:

Или была хитрость и нижнее плечо выпаивали?

Да, выпаивали.

aviaks:

Добавление полёта по точкам это хорошо конечно, но почему только 3?

Чтоб халява не была безбрежной. Еще и ограничение на дальность будет.

Oliver

Отчитываюсь.

На прошлой неделе воодушевленный успехами Zinchenko раскопал в закромах спаяную почти год назад на макетке телеметрию. Использована мега в диповом корпусе. После нескольких проверок и восстановления в памяти доделок/недоделок мега была прошита. Но первый запуск успехом не увенчался. После нескольких часов колдовства все запустилось. Первое, что сделал - выпял и впаял новую LM1881, не помогло. Затем выяснилось - на ноге питания LM1881 после указанного на схеме резистора в 4.7ком появлялось не 5в, а 2,4в. Резистор замкнул, изображение появилось. Много криков УРА!!! Но тяга к истине заставила выпаять LM1881 еще раз. Ну и дурак. Убедился, что первая LM-ка действительно была мертвой (или к этому привела выпайка-впайка). По даташитам различий между диповой и сотовой LM1881 быть не должно, однако сейчас телеметрия работает только с непосредственной подачей +5в на ногу питания.

Но смотреть на изображение телеметрии, где смысл несут только две цифры - напряжения питающих двух банок - скучно. 😃 Поэтому был расковырян сгоревший год назад древнейший CompactFlash GPS. Год назад было выяснено, что реально сгорел только контроллер CF, а сам модуль, с возможностью питания как +3.3 так и +5в (грамотно сделано, на модуле два разъема под разное питание с разной распиновкой, не ошибешься и в то же время универсально). Завел GPS, пошел на “рыбалку”. Но с подоконника ничего не наловил. На следующий день под чистым солнечным небом улов был намного лучше. GPS принес 9 спутников, телеметрия оживилась новыми циферками и шевелениями значочков.

Следующим шагом стали датчики. Датчик температуры проблем не представлял, в продаже их полно, стоит не безбожных денег (если не покупать в чипедипе). Был распаян, засунут подмышку. Через 5 минут показывал 36.2С. То, что доктор прописал. 😃
Датчик тока мне достался ACS758-50B. По даташиту - различий со штатным никаких, кроме тока. Было очевидно, что придется что-то править. Но, спасибо Тимофею, исходники пары версий есть. Но после того, как датчик был припаян к разъемам, укутан в термоусадку и вообще начал радовать глаз, выяснилось, что подключать его некуда! Да! Просто некуда! У диповой меги на два ADC меньше! Срочно напряглись затылочные мышцы, пин для третьей банки был выпаян за ненадобностью, на ADC2 заведен датчик тока (бародатчики планируются, поэтому входы для них в резерве). Дело встало за программой.

Во-первых, надо было сменить коэффициент при расчете ампер, т.к. диапазон датчика в два раза меньше. Это было сделано очень быстро благодаря очень подробным комментариям в исходниках. Сперва сделал некрасиво, прямо в месте расчета, потом вывел коэффициент в начло программы в константы. Теперь скомпилить прошивку по свой датчик тока себе сможет даже школьник (требований три - ноль тока=Vcc/2, ратиометрический, симметричный).
Во-вторых, надо было сменить порт, значения которого закреплены за датчиком тока. Или наоборот. Это заняло немного больше времени, т.к. потребовалось почитать немного хелпа по асму меги. (Заметьте, первую задачу я выполнил ВООБЩЕ не зная ничего о командах меги. Только благодаря комментариям Тимофея). Основную привязку в цикле опроса поменял быстро, потом подумал, и сделал еще быстрее и проще, просто перекинув третью банку на ADC6, а ток - на ее место. Еще выяснилось, что забыл поменять в том месте, где датчик калибруется. Почитал хелп по асму, понял назначения регистров и битовых масок, сделал, но выяснилось, что:
В-третьих, надо вернуть обязательную калибровку датчика тока при старте, т.к. ручную калибровку организовать мешает отсутствие ADC7. Было уже поздно ночью, поэтому просто изменил места пары меток перехода оставив в тылу горку неиспользуемого кода, в который программа никогда не зайдет. Стыдно, но пока ладно. В планах сделать ручную калибровку, через скажем порт датчика температуры. Т.е. снимаем датчик, замыкаем его порт, калибруем ток, выключаемся ,ставим датчик на место.

В планах попробовать покупку бародатчиков не таких, которые указаны в схеме штатно, а более поздних аналогов. Скажем MPXA6115 сейчас намного доступнее и дешевле, чем 4115, а по даташиту - он же. Посмотрим, что из этого выйдет. Продолжение следует.

ЗЫ: Фото выкладывать наверное смысла нет, т.к. диповая телеметрия на макетке - это зрелише не для слабонервных. Прошивку под датчик тока могу подготовить, когда появятся исходники версии посвежее. Вроде Тимофей в просьбе об их предоставлении не отказал, за что ему еще раз “ку”.

ЗЗЫ: По весу сейчас макетка - 23г., все в сборе с датчиками тока и температуры и с GPS - 52г. Что в принципе очень неплохо для такого безобразия.

avisenja

В схеме усё правильно, это вы чуть промахнулись.
4R7 - 4,7 Ом ! Я поставил 10R и усё - ОК!

В некоторых ГОСТах СССР и Европы, даже есть такая маркировка
4Е7 что есть те-же - 4,7 Ом !

Для общего понимания
R47 - 0,47 Ом
Е47 - 0,47 Ом

Oliver
avisenja:

В схеме усё правильно, это вы чуть промахнулись. 4R7 - 4,7 Ом ! Я поставил 10R и усё - ОК!

Ох ты йолки! Видимо ошибся еще год назад… Спасибо!

Oliver

Тимофей, я конечно понимаю, что мини-телеметрия вещь уже достаточно коммерческая. Но если в общем исходники открыты, то может быть есть возможность показать кусок схемы по формированию буковок с тенями? Вроде на заре их появления говорилось, что при желании можно соплями навесить вокруг старой схемы… 😒

how-eee
smalltim:

Еще и ограничение на дальность будет.

и сколько?

Smalltim, я на прошлой странице спрашивал как откалибровать магнитный компас на новой плате. помогите пжлста.

aviaks
smalltim:

Чтоб халява не была безбрежной. Еще и ограничение на дальность будет.

Ну если из-за этого, то тогда понятно…

avisenja

Oliver *кусок схемы по формированию буковок с тенями * --> (соседняя ветка)😮

Кстати, не менее навороченный проект!

Oliver
avisenja:

кусок схемы по формированию буковок с тенями * --> (соседняя ветка)

ГДЕ? Ну НЕ ВИЖУ! Перелопатил по две-три страницы всех непрочитанных веток с первой страницы темы, ушел на вторую. Научите ТАК пользоваться поиском. 😃
За схему спасибо, куда ведет ниточка с подстроечника?

avisenja

😲
жмём на мордашку

подстроечник идёт на ножку меги - которая рисует текст

Prodigy

У меня такое впечатление, что я сам с собой разговариваю… куда то в пустоту всё уходит…
пост #1049, #950…

fenix

Если пишет неизвестное устройство, надо звякнуть USB и ноги контроллера 3 и 4 - это USB. Сопротивление должно быть 30 - 50 ом. Ну и посмотреть питание контроллера 3,3 вольта на ножках 21,52. И еще 3 и 8 ноги контроллера должны звонится с контактом питания разъема USB, как через диод.

SGordon
Oliver:

ЗЗЫ: По весу сейчас макетка - 23г., все в сборе с датчиками тока и температуры и с GPS - 52г. Что в принципе очень неплохо для такого безобразия.

Полетаете, отчитайтесь о наводках на радиотракт , есть у меня похожая телеметрия…

Prodigy
fenix:

Если пишет неизвестное устройство, надо звякнуть USB и ноги контроллера 3 и 4 - это USB. Сопротивление должно быть 30 - 50 ом.

У меня две платы АП, одна исправная и одна с замененным 90USB1287
По даташиту 4 и 5 USB ноги, на них бескончное сопротивление, на обоих платах.

Питание идет на 3,8,21,52,64 ноги, на исправной плате 4,95 вольт, на неработающей 5,05 вольт.
Питание подавал от одного и того же USB шнура.

fenix

Примерно вот так должно выглядеть :

И еще вроде питание на контроллере должно быть 3,3 вольта!
Завтра на работе проверю, у меня вся электроника там.

Prodigy
fenix:

И еще вроде питание на контроллере должно быть 3,3 вольта!

Насколько я помню, при 3,3 вольт генератор работает до 8 Мгц, при 5 вольт до 16 МГц

в даташите так
Maximum Frequency
– 8 MHz at 2.7V - Industrial range
– 16 MHz at 4.5V - Industrial range

smalltim
Prodigy:

У меня такое впечатление, что я сам с собой разговариваю… куда то в пустоту всё уходит… пост #1049, #950…

Мастера вы, ребята, руки выкручивать.

Слева 2 конденсатора - один из них ставится по желанию: или надо усиленный сигнал для детектирования синхроимпульсов ЛМкой, или не усиленный. Дальше, надеюсь, сами разберетесь?