Cum generez ppm din adc si trimitere pe radio
#1
Postat 02 January 2015 - 10:27 PM
de vreo jumatate de an am inceput un proiect care consta in constructia unui quadcopter, pt prototip am decis sa merg cu niste esc-uri simonk si motoare cf2822, cadrul este un F450.
Lucrand in domeniul software/hardware am zis ca detin suficiente cunostinte de programare incat sa-mi dezvolt propria platforma de zbor, folosind un mcu stm32f407 (discovery f4 board).
Dupa ce am reusit sa pun la punct sistemul de orientare, m-am apucat de constructia telecomenzii... fiind un proiect mai mult de dragul diy, pe viitor poate il voi extinde catre ceva orientat spre FPV.
Din pacate, experienta mea cu semnale PPM este ZERO.
Din ce am cautat pe net, am dedus ca in principal este vorba de grupuri formate din impulsuri cu latime variabila intre de 1ms - 2ms, trimise in frame-uri de 20ms, respectiv 50HZ. Pana aici este ok am cam inteles, fiecare canal cu impulsul lui.
Esc-urile am vazut ca la 1 ms au trottle 0, iar la 2 ms trottle maxim. ok
Telecomanda am decis s-o construiesc cu un mcu stm32f103 , iar pentru partea de wireless rf folosesc deocamdata niste module nr24lf01 cu PA/LNA + antena
Din lipsa de experienta cu encoding-ul ppm va intreb pe voi :)
Pe telecomanda am 4 adc-uri de pe care citesc valori, cu aceste valori teoretic in software le-as putea folosi ca pe niste valori in us ( 0 - 2000 us) cam exact cat imi trebuie pentru generarea unui impuls ppm, apoi le incarc in timer.
Dar daca generez sa zicem 4 astfel de semnale cum le trimit catre emisie? Se foloseste formatul hexadecimal? Se trimit sub forma de bytes? Trebuie o anumita valoare in hex? Aici este gaura neagra pentru mine...
Va multumesc
#2
Postat 03 January 2015 - 03:42 PM
Succes!
Aceasta postare a fost editata de GigiGL: 03 January 2015 - 03:44 PM
Rascal 1940mm fs.61 nitro
Rascal 120 DLE 30
U Can Do .46 nitro .52, 2T
Beaver 1520
Maule 1500
Helios 2545
... Taranis X9D plus / ACCST / AFHDS
#3
Postat 03 January 2015 - 03:55 PM
Rascal 1940mm fs.61 nitro
Rascal 120 DLE 30
U Can Do .46 nitro .52, 2T
Beaver 1520
Maule 1500
Helios 2545
... Taranis X9D plus / ACCST / AFHDS
#4
Postat 03 January 2015 - 04:09 PM
moro696, la 02 January 2015 - 10:27 PM, a spus:
1. Din pacate, experienta mea cu semnale PPM este ZERO.
...
Din lipsa de experienta cu encoding-ul ppm va intreb pe voi :)
...
2. Telecomanda am decis s-o construiesc cu un mcu stm32f103 , iar pentru partea de wireless rf folosesc deocamdata niste module nr24lf01 cu PA/LNA + antena
Pe telecomanda am 4 adc-uri de pe care citesc valori, cu aceste valori teoretic in software le-as putea folosi ca pe niste valori in us ( 0 - 2000 us) cam exact cat imi trebuie pentru generarea unui impuls ppm, apoi le incarc in timer.
Dar daca generez sa zicem 4 astfel de semnale cum le trimit catre emisie? Se foloseste formatul hexadecimal? Se trimit sub forma de bytes? Trebuie o anumita valoare in hex? Aici este gaura neagra pentru mine...
Va multumesc
1: Practic nu ai nevoie absoluta de PPM decat daca vrei sa te interfatezi cu un sistem standard de module receptoare dezvoltat de alta firma. Sau vrei sa scoti un flux PPM pe mufa de trainer.
2: Daca iti construiesti propria statie ca un ecosistem inchis, inclusiv partea de RF, poti trimite din MCU direct in modulul RF valoarea in hexa a canalului. Cam toate sistemele RF ale statiilor comerciale sunt niste radio modem-uri care transmit fluxuri de numere, nimic mai mult, fiecare cu propria codificare.
Ulterior poti face separat o placutza de sinteza PPM, daca vrei sa scoti semnal de trainer. Nu are rost sa consumi timp si resurse ca sa faci aceasta dubla conversie digital-PPM si inapoi la digital pentru modemul RF, nu face decat sa consume timp si sa iti strice rezolutia.
Cateva resurse care te-ar putea ajuta in acest proiect ar fi:
- schema statiei Taranis, realizata tot cu stm32f103
- proiectul openLRS, unde ai codul complet pentru controlul transmisiei/receptiei cu module RFM22, care se gasesc si in tara
- partea de implementare a protocolului PXX din OpenTx, unde poti vedea o implementare de protocol proprietar alternativa la PPM, pentru mai mult de 8 canale
Aceasta postare a fost editata de renatoa: 03 January 2015 - 04:09 PM
#5
Postat 04 January 2015 - 11:51 PM
In principal sistemul se vrea a fi un "echo sistem inchis" , initial ma gandisem sa trimit un buffer de 20bytes prin aer catre drona, care sa includa info pt 4 adc-uri ( cele doua joystick-uri cu potentiometre pe x si y) si ceva statusuri.
Pana acum asa am testat pe modulele wireless.
Am adus in discutie PPM-ul pentru ca vazusem pe undeva niste discutii ca PPM-ul ar fi mai rezistent la interferente.
As mai avea o intrebare, pe viitor ma gandesc sa construiesc wirelessul folosind cc1120 + PA/LNA cc1190 de la texas instruments. Varianta asta lucreaza pe 868MHZ si poate debita pana la 27dbm / 0.5Watt pe TX, cam cat de legal sa zic asa e sa emit la o astfel de putere? Norma europeana ETSI EN 300 220-1 V2.3.1 se aplica si in romania (dansii vad ca permit 500mw /27dbm maxim)?
Ma intereseaza pentru ca dupa ce reusesc sa fac toata nebunia sa zboare, vreau sa fac un FHSS cu c1120+c1190 .
Vreau sa merg pe 868MHZ/869MHZ pt ca in domeniul 2.4ghz parca am o ezitare, tinand cont de multimea wireless-urilor in zilele noastre
#6
Postat 05 January 2015 - 08:57 AM
Nu are nici o legatura, PPM-ul nici macar nu ajunge "in aer"
> As mai avea o intrebare, pe viitor ma gandesc sa construiesc wirelessul folosind cc1120 + PA/LNA cc1190 de la texas instruments.
La varianta RFM22 te-ai uitat? E placutza gata facuta, sub 10$, si mie imi place sa migalesc, dar pana la un nivel... :)
> Varianta asta lucreaza pe 868MHZ si poate debita pana la 27dbm / 0.5Watt pe TX, cam cat de legal sa zic asa e sa emit la o astfel de putere? Norma europeana ETSI EN 300 220-1 V2.3.1 se aplica si in romania (dansii vad ca permit 500mw /27dbm maxim)?
Se aplica, dar 500mW numai cu licenta, la liber maxim 10mW cu duty cycle 10%. Iti ajunge pentru zbor LOS.
> Ma intereseaza pentru ca dupa ce reusesc sa fac toata nebunia sa zboare, vreau sa fac un FHSS cu c1120+c1190 .
Ai codul de hopping in OpenLRS, nu mai reinventa apa calda :)
> Vreau sa merg pe 868MHZ/869MHZ pt ca in domeniul 2.4ghz parca am o ezitare, tinand cont de multimea wireless-urilor in zilele noastre
He,he... aici deja esti privit ca un ciudat, si multi o sa jure ce bine le merge si putini o sa te inteleaga, pentru ca nu au vazut vreodata un analizor de trafic sa vada cate pachete se pierd.
Dar ai dreptate, un RC in 868M ar fi optimal, la cat de curata e banda. Doar ca vei avea antene un pic mai lungi, vreo 80mm...
#7
Postat 05 January 2015 - 07:10 PM
renatoa, la 05 January 2015 - 08:57 AM, a spus:
Ce inseamna sa emit cu duty cycle 10% ?
Ca tot veni vorba de 10mw, cam ce raza poate avea o telecomanda cu astfel de putere ? Stiu ca in functie de frecventa variaza pt aceasi putere de emisie
Aceasta postare a fost editata de moro696: 05 January 2015 - 07:10 PM
#8
Postat 05 January 2015 - 07:29 PM
#9
Postat 05 January 2015 - 08:58 PM
Pentru 2.4G maximul permis este 20db eirp, adica 18dB cu antena stock de 2 db, adica aprox 80mW.
La o sensibilitatea egala cu a unui Rx 2.4G de top, de aprox -110dB, unul in 868M ar avea range de aprox 2.8x mai mare.
Deoarece distanta este proportionala cu patratul puterii, iar 2.8^2 = 8, rezulta ca 10mW in 868M bate cat 80mW in 2.4G, repet, la sensibilitati egale ale receptoarelor.
10% duty cycle inseamna ca 1ms emiti si 9ms taci. Sau alte combinatii.
Ma mir ca nu ai gasit asta in specificatiile echipamentelor de 868M... in general in toate fisele lor gasesti notite de genul:
"While ... is capable of transmitting continuously, this will be in contravention of the sub-band restrictions. Units operating in the high power 869.4-869.65MHz sub-band are limited to 10% maximum transmit duty cycle. It is the responsibility of the user to ensure that this restriction is complied with. Alternatively, the user may wish to implement a listen-before-talk protocol (using the RSSI output). See EN300-220 for further details..."
#10
Postat 05 January 2015 - 09:58 PM
CC1120 am vazut ca poate chiar -127db in rx. Eu voi fericit daca in aia 10mw duce 3-4 km in camp deschis
Astazi am pus si comanda pt integrate, urmeaza sa proiectez/execut pcb-ul.
Va tin la curent cu intreg proiectul, pana acum ce a fost mai greu am reusit sa fac, respectiv orientarea in spatiu folosind quaternioni si extended kalman filter, am pus
un filmulet pt cine e mai curios.
https://www.youtube....h?v=3Cv6xaDy4Qk