Создание собственной системы стабилизации

mataor

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

SergDoc
SergDoc:

эта фигня генерит system_stm32f3xx.c если что…

mataor:

так там давно уже с 2.2 версии

ну вот тут не так 😦 и довольно глубоко зарыто… дело в том что сделано то оно под naze32 а там один усарт, а второй переключаемый: либо входа от приёмника, либо gps, либо s.bus, или же спектрумовское извращение…
у меня то драйвер сделан на 3 порта - 1-й телеметрия, 3-й gps, 2-й остальная лабуда…

mataor

хммм а в чем проблема?
по сути сделано все довольно просто - вместо одного буфера имеем столько, сколько у нас уартов + инкременируемая переменная для чтения текущего буфера…
наскок помню у меня переделка кода с 2.1 на 2.2 в этом месте заняла не более пары часов

П.С. сам пока отошел от программинга - делаю себе ФПВ шлем на 5.6 матрице 1280х800 (шлем выклеил, жду 28-й день саму матрицу - почта рассеи как всегда тупит) + рисую в солидворке (как раз и его осваиваю) себе складную раму наподобии рамы Сушки

oleg70
mataor:

делаю себе ФПВ шлем на 5.6 матрице 1280х800

Чуть подробнее, если можно… (че за матрица)

mataor

VGA-HDMI-AV-Audio-Ypbpr-USB-Optional-of-LCDdriver-board-support-5-6-inch-LCD-modules - 120$ за все удовольствия… если быть точным - матрица + контроллер с HDMI/VGA/RCA входом…
потом думаю прикупить андроид стик и впихнуть его в шлем для полного счастья)))) чтоб не ток FPV, но и фильмаки в нем по вайфаю смотреть

VitaliyRU

сори за ОФФ, нужна помощь зала. Ктонибудь прошивал ардуиновский bootloader в атмеги?
стукнитесь в личку плиз, что бы тут не мусорить - есть пара простых вопросов(не получилось прошить)

SergDoc

Шил ардуиной когдато через LPT

SergDoc:

Если комуто интересно - в ардуине бутлоадер можно залить и простым “пять проводков” программатором и STK200 в файле hardware\arduino\programmers.txt нужно прописать

stk200.name=STK200
stk200.protocol=stk200

и он появится в меню а самое главное работает…

фьюзы выставляет само проблем небыло…

была когда-то шняга, даже с Кальманутым фильтром сражалась по двум осям:

померла геройски - остатки переехали на STM а часть на работе программатором служит…
всё это где-то в начале темы 😦

VitaliyRU

мы пробовали вот так

по вот этой камасутре
arduino.cc/en/Tutorial/ArduinoISP
через “burn bootloader” из ардуино айд, т.е. самым лашпетным методом 😃
Но ругается что атмега не та, пытались прошить atmega8a

SergDoc

так в настройках выбрать плату на 8й атмеге не?

VitaliyRU

ну конечно выбирали и вообще все попробовали 😃
Я просто не знаю где взять hex этого bootloadera что бы попробовать avr studio прошить вот и пробовали так…

SergDoc

где-то я что-то другое видел, может ошибаюсь, но берётся всё с ft232 и кидается на spi, типа можно даже саму себя прошить как через stk500, может чего путаю?
искать по словам “Bit-Bang программатор” freeduino.ru/arduino/isp.html

VitaliyRU:

Я просто не знаю где взять hex этого bootloadera

в ардуине в программуле где-то лежит готовый hex…

VitaliyRU
SergDoc:

где-то я что-то другое видел, может ошибаюсь, но берётся всё с ft232 и кидается на spi, типа можно даже саму себя прошить как через stk500, может чего путаю?

Я не очень в этом разбираюсь, по этому и прошу помощи. А кстати если авр студио выкачать весь “код” из ардуины и попытаться прошить, проканает же наверно?
еще у меня есть такая хрень

Это и есть ISP programmer? Просто он дома, а дело было на работе, не пробовали пока.

SergDoc

ну да подключить его и ардуиной(программкой) шить только выбрать нужный тип программатора и микросхемы, если шить другой программулиной то фьюзы надо самому выставлять…
из 168 328 в 8-ю не проканает 😦 у них это фамилии разные 48 88 168 328, а 8-я бедный родственник 😦

VitaliyRU
SergDoc:

из 168 328 в 8-ю не проканает

Ой да, спасибо. Я просто забыл спросить, канает ли bootloader из 168й в 8ю.
Спасибо еще раз, в понедельник попробуем.

okan_vitaliy
SergDoc:

Ну вот, вроде всё работает без костыля github.com/SergDoc/…/drv_uart.c затронут ещё main.c , так что требуется перекомпиляция проекта, надеюсь 100 микросекунд никого не убъёт?

Наконец то добрался до своей платы, изменил код и все осталось как и прежде. 100 мкс это очень много для вывода одного байта. Задержка цикла считывания датчиков достигает 20 мс. Летать страшно и даже очень. Без задержки 100 мкс обмен по уарту не работает. Може я чето не понял, но зачем эти 100 мкс после вывода каждого байта.

SergDoc

есть одна мысль - проверю, вообще да dma и usart долны работать отдельно от проца и не должны никак влиять на цикл… возможно проблема где-то в библиотеках, т.к. всё что пересмотрел либо просто задержка, либо цикл грёбаный проверки DMA…

oleg70

Победил, все же, RF модуль (!)… “моноплата” теперь из двух склеенных частей с разделением “землей” (типа многослойки), кроме того стала немного меньше и легче (выкинул SMA разъем - понты…).
Теперь предстоят эксперименты по дальности и надежности связи. Ток потребления (почти без нагрузки) двух STM: ~ 80 мА, но LM5805, почему то, довольно сильно греется … (собака 😃)

Sir_Alex
oleg70:

LM5805, почему то, довольно сильно греется …

А какую напругу вы на нее подаете? Обычно они греются сильно, если подать больше чем необходимо (или на гране верхнего диапазона).

oleg70
Sir_Alex:

какую напругу вы на нее подаете?

напруга 12 вольт… (“аналог” 3-х банок LiPo)

Sir_Alex
oleg70:

напруга 12 вольт… (“аналог” 3-х банок LiPo)

Не делайте так 😉 Подавайте на нее 6В от отдельного BEC. Либо используйте 2S батарею отдельно для мозгоф.

mataor

а мне такая - PSR1-7805 - штука нравится… правда дорогая зараза, зато мелкая и для проца с периферией вполне хватает выше крыши… (на работе используем, так что мне нахаляву несколько штук досталось)

а на питание от 3S использовать линейный стаб - верх кощунства! печка в виде стаба обеспечена