(лесният начин) Как да вържем SBUS и FrSky smart port телеметрия на Omnibus F4 (или друг F4)

Rust

Редовен Потребител
В тази тема ще разгледаме как да вържете телеметрия към полетен контролер Omnibus F4, но теоретично методът би работил на всеки друг полетен контролер с STM32 F4 процесор. Ключовата дума тук е именно F4, защото този чип, макар и значително по-бърз от F3 е по-стар хронологично и няма вградени инвертори на серийните (UART) портове. FrSky използват инвертори в ресивърите си не само за SBUS, но и при телеметрията.

Omnibus F4 има допълнително добавен инвертор към SBUS входа си, затова там не е нужно да правите нищо специално. За телеметрията обаче, сигналът трябва да бъде инвертиран по някакъв начин за да „потече“ успешно.

Първият начин това да се случи беше да „хакнем“ ресивъра като вземем от него сигнал преди да бъде инвертиран и го вържем към свободен UART на полетния контолер. За този метод може да научите тук.

В по-новите версии на BetaFlight обаче има и по-лесен начин, който не изисква интервенции по ресивъра, не отнема хардуерен UART и също работи безотказно.

Списък на стъпките:

1) Връзвате s.port към мотор пин 6.
An2oM9s.png


2) Отваряте betaflight configurator и включвате feature – softserial и telemetry.

hrREHdJ.png


3) В ports tab избирате smartport на softserial1. Не забравяйте да натискате save след всяка стъпка!
*(ако не ви се появяват SOFTSERIAL портове на този етап, направете стъпка 4) и след това се върнене на стъпка 3) )
GTCzTQM.png

4) В CLI пишете:
resource motor 6 none
resource serial_tx 11 a08
save

Това прави пин "мотор 6" да бъде назначен към softserial 1 tx. Повече за командата RESOURCE и как с нея да променяте места на пинове може да научите в това видео.

5) Това е. Ако сте изпълнили всичко остава само да отидете в телеметричното меню на вашия TARANIS и да цъкнете върху Discover Sensors, докато дронът е включен. Това автоматично ще намери всички предавани сензори по вече работещата телеметрия :)

*според използваната версия може да се наложи да напишете и "set telemetry_inversion=on", но по време на писане на това упътване това става автоматично.

Връзване на SBUS:

1) Вържете SBUS :)
An2oM9s.png

2) Изберете Serial RX на UART1.

nBmOvrf.png


3) Изберете Serial-based recevier и SBUS на receiver mode/provider.
jy2hr76.png


4) Не забравяйте да натиснете save :)

За кои приемници може да бъде използван този метод:
- По-новата серия приемници на FrSky използват т.нар s.port телеметрия (smart port). Това са всички от X серията като X4R, XSR, X8R, X6R.

- По-старата D серия като D4R-II и D8R използват т.нар frsky телеметрия, но този метод теоретично би проработил и за тях, макар при рейсинг дрони едва ли да бихте искали да използвате PPM, което тези приемници предлагат.

Полезен трик:
Ако в менюто на вашия TARANIS намалите броят на предаваните канали на 1-8, вместо 1-16. Така ще бъде предаван по един 9ms фрейм, вместо по два. С други думи – 2 пъти по-малко закъснение ;-)

Успех!
 
Последна промяна:

zoSo

Новодошъл
@Rust : Адмирации!

Благодаря на колегата @bateray , затова че ми обърна внимание. Става въпрос за неинвертиран sbus хардуерен хак.
 
Последна промяна:

bateray

Редовен Потребител
На картинката правило си пише че от пин А може да се вземе неинвертиран SBUS сигнал и тва е тествано. А ако искаш не инвертиран smartport се взима от другаде... Ето картинка
a9510979-189-x4r-sb%20uninverted.jpg
 

zoSo

Новодошъл
[snip]
Полезен трик:
Ако в менюто на вашия TARANIS намалите броят на предаваните канали на 1-8, вместо 1-16. Така ще бъде предаван по един 9ms фрейм, вместо по два. С други думи – 2 пъти по-малко закъснение ;-)

Успех!
Щеше да бъде хубаво, но осцилоскопа показа друго :(. Ма все пак нещо не ми харесва този как провежда нАучния експеримент. Май не измерва всички 16 канала, а само първите 8 от първия фрейм.
 
Последна промяна:

Rust

Редовен Потребител
Краят на видеото му е много як :). Но има шанс и да не е прав, защото мери един фрейм и в 2-та случая. Идеята е че при 1-8 имаш един 9мс фрейм и после нов. Докато при 1-16 имаш един 9мс фрейм за първите 8 канала, после още един 9мс фрейм за вторите 8 канала и чак тогава нов. Идеята е да се спести вторият :) По спомен можеше да се види и на блекбокс лог.
 
Последна промяна:

zoSo

Новодошъл
Точно така се оказа. Гледа само първия фрейм. Човека си пусна "втора серия". Там пък изскочиха още по-интересни неща...
 
Нагоре