Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

PIC Manchesteri kodeering 433 MHz RF moodulite

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    PIC Manchesteri kodeering 433 MHz RF moodulite

    Tere,
    Kasutades neid kõige odavamaid 433.92 MHz mooduleid (u. 1 dollar Tx/Rx paari eest ebayst), on tihti suurim probleem sobiva andmeside programmeerimine, ilma milleta on need moodulid üsna kasutud. Teine iseärasus mida need moodulid omavad on see, et nad vajavad suhteliselt balanseeritud bittide jada (0-d ja 1-d peaksid olema enam-vähem tasakaalus), mille saavutamiseks on üks parimaid mooduseid Manchesteri kodeering. Kolmas iseärasus on see, et Rx pool vajab päist (headerit), et oma võimsus paika sättida.
    Ise kasutasin Manchesteri kodeeringu saatmiseks PIC12F675 ja vastuvõtuks PIC16F628A-d, kirjutamiseks C-keelt ja kompileerimiseks SDCC-d. Kood saadab 3-baidilise paketi, millest esimene on päis, järgmised kaks tükki andmed. Rx pool vilgutab LED-i kui õiged andmed tulevad.

    Modige, katsetage, täiendage. Kui leiate vigu, siis seda võite teada anda.

    Linnas sain signaali ulatust 30m läbi mitme palkseina. Antenn oli algul veerandlainepikkuse oma koos kunstliku maa tasandiga. Paari tellisseina lisandumisel aga vandus see alla, nii et tegin saatjale ja vastuvõtjale poollainepikkuse dipooli (otste vahe 328mm) koos balun-iga (228mm rg 58 koaksiaalkaablist keeratud balun), siis töötas jälle. Sellest võin ehk tulevikus pildi-kaks üles panna.

    Koodi koos näiteprogrammide ja skeemidega olen üles pannud https://github.com/marti184/PIC433

    #2
    Vs: PIC Manchesteri kodeering 433 MHz RF moodulite

    Tänud. Vaatan, uurin.
    Ise olin mõni aeg tagasi samasuguse jama ees, kus üritasin seriali sealt läbi lasta. Ei õnnestunud.
    Elu on nagu lintmakilt muusika kuulamine. Mida lõpupoole, seda kiiremini hakkab linti äraandev ketas pöörlema...

    Comment


      #3
      Vs: PIC Manchesteri kodeering 433 MHz RF moodulite

      Serial võiks küll teoreetiliselt läbi minna aga praktikas on see väga raske: Rx moodul vajab mingit mõistlikku päise infot, et oma tundlikkus paika tuunida (slicer), mida tavaliselt teeb päis (minu koodis 1111 1110 ehk 0xfe, mille viimane null tähistab päise lõppu ja info algust). Minu tehtud koodis võib edastust püüda parandada, saates kaks baiti päisena: 1111 1111 ja 1111 1110, aga siis peab sanity check'i kah täiendama, sest praegu ei viitsi Rx pool nii palju ühtesid ära oodata ja lõpetab ära.

      Serialiga võiks sama teha, aga siis peab ka päis olemas olema ja mingi päise lõputingimus, mida Rx tuvastada saab (et "siit alates hakkab info"). Samuti peab baudrate olema väga madal.


      Panin ka mingi jutu antennide kohta kirja (ka githubis). Jutt on järgmine:

      Näitan kahte antennikonfiguratsiooni, mida kasutasin ja mis mõlemad olid päris head.

      Lihtsam, odavam, kuid pisut kehvem on 1/4-laine monopool. Juhtme pikkus on

      1/4 * c/f * vf= 1/4 * 299792458[m/s] / 433.92E6[Hz] * 0.951 = 0.164 [m],

      kus c on valguse kiirus, f on sagedus, vf on kiirusfaktor(?), mis näitab kui palju aeglasemalt kui valguse kiirus liigub info juhtmes. Hea oleks lisada maa tasand (kunstlik maa, aparaadi metallkorpus vms) kah u. sama ulatusega kui on antennil pikkust. Hea oleks kui see oleks antenni allotsaga tasa.
      NB! Juhtme isolatsioon tuleks ära võtta, see muudab vf-i!
      Click image for larger version

Name:	quarter-wave-monopole.jpg
Views:	1
Size:	294,0 KB
ID:	869567




      Keerukam, kuid parem on poollaine dipool, täielik pikkus (otsast otsani!) on 2*0.164 = 0.328 [m]. See vajab balun-it (see koaksiaalkaabli rõngas pildil), mis hilistab signaali teisele antennipoolele pool lainepikkust ( https://en.wikipedia.org/wiki/Balun ). Koaksiaali keskjuhe läheb antenni auku, välisjuhe GND-i. Baluni pikkus on niisiis pool lainepikkust, aga see on koaksiaalis, kus info liigub aeglasemalt

      1/2 * c/f * vf = 1/2 * 299792458[m/s] / 433.92E6[Hz] * 0.66 = 0.228 [m]

      Võib kasutada suvalist 50-oomist koaksiaalkaablit, mina kasutasin RG 58 C/U-d, kuid sellel on suur sumbuvus.
      NB! kiirusfaktor RG 58-l on vf = 0.66
      NB! Tee koaksiaal nii lühike kui võimalik, selle sumbuvus on suur!
      NB! Minu RG 58-l oli väline juhe üsna võimatu tinutamiseks, nii et keerasin selle punti ja pundi ümber vaskkiu

      Click image for larger version

Name:	half-wave-dipole.jpg
Views:	1
Size:	28,7 KB
ID:	869568

      balun ühendatakse järgnevalt:

      Comment

      Working...
      X