Modelism - RHC Forum: Cum generez ppm din adc si trimitere pe radio - Modelism - RHC Forum

Salt la continut

Pagina 1 din 1

Cum generez ppm din adc si trimitere pe radio

#1 Useril este offline   moro696 

  • Membru
  • PipPipPipPip
  • Grup: Members
  • Postari: 170
  • Inregistrat: 01-January 15
  • Gender:Male
  • Location:Timisoara

Postat 02 January 2015 - 10:27 PM

Buna seara,
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
0

#2 Useril este offline   GigiGL 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 2109
  • Inregistrat: 10-March 11
  • Gender:Male
  • Location:Galati
  • Interests:Aero

Postat 03 January 2015 - 03:42 PM

Salut! In functie de numarul "N" de canale pe care doresti sa le transmiti, ai acelasi numar "N" de impulsuri pe care trebuie sa le generezi in salva. Latimea standard a impulsului pentru comanda pe intervalul -100%-0-100% este 1,5ms pentru "0", -0,4ms/+0,4ms, adica 1,1ms pentru -100% si 1,9ms pentru +100%. Intervalul dintre doua impulsuri consecutive din acelasi tren cu frecventa de repetitie 20ms este de 2,0ms, pornind de la frontul crescator al primului impuls. Este nevoie de un mic gol intre trenuri pentru ca decoderul sa stie care va fi comanda primului canal. Impulsurile dintr-un tren sunt transmise in ordine crescatoare: primul impuls - canal 1, al doilea - canal 2, samd pana la ultimul, dupa care la 20ms se repeta trenul in aceeasi ordine. Pentru mai mult de 9 canale se foloseste transmisia digitala PCM. Ca idee, pentru sistemele actuale rc exista la receptie un delay initial de 20 ms, timp in care decoderul receptorului bazat pe microcontroller compara trenul curent de impulsuri receptionate cu trenul anterior de impulsuri, memorat digital intr-o memorie tampon temporara. In cazul in care mai mult de un impuls de canal difera ca pozitie/durata sau/si impulsurile pe celelalte canale difera cu mai mult de cateva procente(cazul actionarii unui switch sau cazul manevrarii stickurilor proportionale), in raport cu trenul anterior receptionat, trenul curent este ignorat si este repetat cel anterior deja executat, pana la sosirea urmatorului tren de impulsuri. Sistemul este necesar pentru eliminarea perturbatiilor/ interferentelor posibile datorita prezentei mai multor transmitatoare radio in aceeasi frecventa la un moment dat. Actual se foloseste pentru comunicatia radio banda de 2,4 GHz, mai multe canale baleiate in diverse moduri ce tin de producatorul sistemului emitator/receptor. Avand in vedere ca fiecare tren este transmis pe alt canal, iar saltul se face de pe un canal radio pe altul dupa un cod prestabilit la imperecherea emitatorului cu receptorul (bind), sansa ca urmatorul tren sa fie perturbat este minima. Pentru utilizator perturbatia este practic insesizabila prin acest sistem de transmisie multicanal, asa cum lucreaza astazi sistemele rc in 2,4GHz.
Succes!

Aceasta postare a fost editata de GigiGL: 03 January 2015 - 03:44 PM

Gigi Sterian
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
0

#3 Useril este offline   GigiGL 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 2109
  • Inregistrat: 10-March 11
  • Gender:Male
  • Location:Galati
  • Interests:Aero

Postat 03 January 2015 - 03:55 PM

In ceea ce priveste purtatoarea radio, modulatia folosita este FM care elimina in foarte mare masura perturbatiile, datorita sistemului de amplificare/limitare folosit la receptie. Informatia transmisa spre receptor este chiar trenul de impulsuri descris in postul anterior care are de la 1 la 9 impulsuri succesive repetate la 20ms in functie de numarul de canale folosite.
Gigi Sterian
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
0

#4 Useril este offline   renatoa 

  • Sky Sapiens
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 19177
  • Inregistrat: 28-April 05
  • Gender:Male

Postat 03 January 2015 - 04:09 PM

Vezi postareamoro696, 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

... cu picioarele pe pamant ...
0

#5 Useril este offline   moro696 

  • Membru
  • PipPipPipPip
  • Grup: Members
  • Postari: 170
  • Inregistrat: 01-January 15
  • Gender:Male
  • Location:Timisoara

Postat 04 January 2015 - 11:51 PM

Va multumesc mult pentru raspunsuri.

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
0

#6 Useril este offline   renatoa 

  • Sky Sapiens
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 19177
  • Inregistrat: 28-April 05
  • Gender:Male

Postat 05 January 2015 - 08:57 AM

> Am adus in discutie PPM-ul pentru ca vazusem pe undeva niste discutii ca PPM-ul ar fi mai rezistent la interferente.

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...
... cu picioarele pe pamant ...
0

#7 Useril este offline   moro696 

  • Membru
  • PipPipPipPip
  • Grup: Members
  • Postari: 170
  • Inregistrat: 01-January 15
  • Gender:Male
  • Location:Timisoara

Postat 05 January 2015 - 07:10 PM

Vezi postarearenatoa, la 05 January 2015 - 08:57 AM, a spus:

Se aplica, dar 500mW numai cu licenta, la liber maxim 10mW cu duty cycle 10%. Iti ajunge pentru zbor LOS.




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

0

#8 Useril este offline   dan_mitea 

  • nick anterior:Se poate si asa
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 9331
  • Inregistrat: 26-October 03
  • Gender:Male
  • Location:Laval, Canada

Postat 05 January 2015 - 07:29 PM

Un radio in 2.4GHz, la 10mW este full range. Asta inseamna ca ai legatua cat vezi modelul cu ochiul liber. Si asta este ceva pentru un model mare.
0

#9 Useril este offline   renatoa 

  • Sky Sapiens
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 19177
  • Inregistrat: 28-April 05
  • Gender:Male

Postat 05 January 2015 - 08:58 PM

Raza e foarte relativa, depinde de sensibilitatea receptorului.

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..."
... cu picioarele pe pamant ...
0

#10 Useril este offline   moro696 

  • Membru
  • PipPipPipPip
  • Grup: Members
  • Postari: 170
  • Inregistrat: 01-January 15
  • Gender:Male
  • Location:Timisoara

Postat 05 January 2015 - 09:58 PM

Multumeeeesc, Acum am inteles care-i faza si cu 10% duty.
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
0

Arata acest topic


Pagina 1 din 1

1 useri citesc topicul
0 membri, 1 vizitatori, 0 utilizatori anonimi

RcTrade.eu