Fórum témák
» Több friss téma |
Hát szerintem mindkét esetben kell neked mind a két láb....ez van...
A státus regisztertereket különben nem éred el. És az nSel lábat is be kell kötni a pic-be...meg nIRQ-t.
Hello mindenkinek
Sikerult befejezzem az RFM12B radio modul mukodtetesehez szukseges szoftot egy PIC24FJ32GA002 mikrokontrollerhez ![]() Mivel a PIC24F csaladban levo mikrokontrollerek nagyon hasonlitanak egymashoz, ezert a kod eleg hordozhato szerintem, es eleg konnyen adaptalhato mas mikrokontollerekhez is a PIC24F csaladbol. Az implementacio eleg egyszeru, sima kuldes es sima pollingos (status regiszter kiolvasos) fogadas. A kodot csatolom. Barmilyen javaslatot szivesen fogadok es barmilyen kerdesre szivesen valaszolok, ha tudok ![]() Es szeretnem megkerdezni, hogy valakinek sikerult-e megoldani az interruptos fogadast. En nem igazan boldogulok vele. Eleg erdekes dolgokat tapasztaltam. Mig a kod (amit csatoltam) fut, addig szepen mozognak az nIRQ es az FFIT/RGIT labak, ugy ahogy azt az adatlap is irja, minden kapott byte utan (mivel 8 bit re allitottam a FIFO interruptot). De ha beallitok egy interruptot arra a pinre ahova az FFIT-t kotottem es a foprogramban a vegtelen ciklusbol kiveszem a kiolvasasi eljarasokat, annak remenyeben, hogy a FFIT lab mozogni fog es akkor majd az ISR ben megoldom a kiolvasast, de a lab nem mozog ha a foprogramban nincs semmilyen kiolvasas, es igy az ISR em sem hivodik meg, szoval igy nem megy nekem az olvasas ![]() Ha esetleg sikerult valakinek megoldani a kiolvasast interruptokkal akkor szivesen fogadom a tanacsait Elore is koszi. Udv, Gabor.
Üdv!
Én is gondolkodok egy pár RF12B modul megvásárlásán. Olvastam Topi mester Vezeték nélküli kommunikáció 434MHz-es (433,92 MHz) modulokkal című írását. Ha jól értettem akkor az ott bemutatott modullal csak annyi a teendő, hogy a bemenetére kötök 5 voltot. (meg a helyükre a tápfeszt és az antennát) És ekkor a vevő kimenetén logikai 1 es azaz magas szint lesz egy rövid ideig. Az RF12B modul használata viszont nem ilyen egyszerű: az adatlapból azt vettem ki, hogy ehhez vannak ilyen commandok amikkel lehet állítani bizonyos paramétereit. Az adatlap 32. oldalán látszik, hogy a modul egy PICcel történő kommunikációhoz 5 lábat használ. A kérésem az lenne, hogy valaki írja már le nekem legyen szíves azt, hogy melyik láb( melyik paraméter) mire való és, hogy a program szempontjából hogyan kell beállítani! ![]() A programozási tudásomról annyit, hogy csak Assemblyben tudok és abban is elég alap szinten, de ha csak az elvét elmagyarázná valaki akkor szerintem meg tudnám oldani. A válaszokat előre is köszönöm! Üdv: gabi!
Hello
A téma címében lévő modulokat szeretném feléleszteni, adatlapot már átolvasgattam. A FIFO az végülis a receiver pufferja? És mit jelent az, hogy 1-16 bites? Ha 16 bitre állítom, akkor 2 bájt után lesz valami? Üdv.
Sziasztok!
Van egy ilyenem Ennek nem tudom, hogy hová kell tenni az antennát, valamint, még hogy hány centis antenna lenne a legideálisabb a működéséhez. Segítségeteket előre is köszi! Üdv: Oszkar3
Szia!
Az adatlap "Pin Definition" képén láthatod az antenna helyét. Az antennaméretezési témakörben van külön topik: Nyák antenna 868MHz-re
Sziasztok. Próbálta már valaki ezt a modult 16F-es PIC-kel hardveres SPI-vel?
Szia!
Én egy PIC16F1827-el kapcsoltam össze a RFM12B-t, és HW SPI-t használok, egyenlőre csak pollingolok, interruptot nem használok, és még csak addig jutottam, hogy a config működik rendesen, most a status regisztert próbálnám olvasni, s ezt már interrupttal szeretném megoldani.
Ahha értem. És annyit szeretnék még kérdezni, hogy 8 bit adat kiküldése után a chip selectet fel kell emelni utána mehet a 16bitből az alsó 8 bit? Vagy 16 bit után kell a chip selectet emelni?
![]()
Én úgy csinálom, hogy a küldés előtt CS=0 (vagyis kiválasztom az RFM12B-t) aztán csak akkor állítom (CS=1) vissza magasra, ha végeztem a teljes adatmennyiség kiküldésével. pl az RF modul inicializálásakor 14 x 16 bitet küldök ki és csak ezután állítom a CS-et 1-re.
Ahha értem. Hát én még csak ott tartok a programmal, hogy az SPI modult felélesztettem (remélem). Egyelőre csak LED-ek vannak az SPI clock-on meg az SDO-n és azok szerintem megfelelően villognak. Még sok mindent nem értek az RFM 12 adatlapjában így még tanulmányozom egy darabig és utána próbálkozom.
Ha van egy frekimérős multid vagy esetleg scope akkor javasolnám hogy az órajel kimeneten vizsgáld az SPI kommunikáció helyességét. Beállítasz katalógusból egy értéket és ha a kimeneten is megjelenik akkor minden ok.
Tanulmányozd a IA4421 adatlapját is. De ha nem muszáj ne használd ezt a rádiót, megbízhatatlan.
Hát sajnos nincs semmi komoly cuccom. Semmi műszer. Még most kezdtem el dolgozni eddig tanultam, így nem nagyon volt pénz ilyesmire.
Megbízhatatlan? Ez alatt mit értesz? Mit ajánlanál akkor helyette? üdv:Balázs
Nem megfelelő sorrendbe konfigurálod be, akkor a végfok kiakad benne, ezt csak elemes táplálás esetén észlelhető amikor úgy megrántja a tápot hogy az MCU is resetel. Nem elég érzéketlen a tranziensekre ezért szintén kiakad néha. Időnként összeszedi a kósza jeleket amivel az MCU-t terheli. Elemes táplálásnál ez gondot okoz.
Egy rádiós szobatermosztátban használom, most már két éve, nagyon jól működik, de a háttérben azért csinál furcsaságokat a rádió. Használd esetleg az MRF24J40-es modult (Microchip) vagy AWP24S (MSC Bp.)
A táp rántást nem fognám az RF modulra, szerintem ez teljese normális jelenség, nem ismerem a HW-ed kiépítést, de én ezt HW tervezési problémának gondolnám, véleménynem szerint a táp pufferelését nem oldottad meg megfelelően (mondom még egyszer ezt a HW-ed ismerete nélkül mondom).
Sajnos arról nincs információm, hogy a HopeRF RFM12B termékébe kinek a chipjét integrálták ugyanis hasonló (talán teljesen ugyanolyan) tulajdonságokkal több RF chip is fellelhető a piacon. Nem rég találtam ebben a topicban a Microchip MRF49XA termékét. Ajánlom, hogy ezt adatlapot olvasgassátok az IA4421 vagy HopeRF specifikációja helyett. Vissza térve a táp beesése okozta resetre, a MRF adatlapja pl. 3db kondenzátort ajánl a tápra, 868MHz-es modul esetén: 2,2uF, 10nF, 47pF. Ezek közül a 2,2µF a táp rángások kiküszöböléséhez szükséges, még a másik kettő a vezetett zavarok elnyomását hivatott csökkenteni.
Helló
Összekötöttem rfm12bp és PIC 16F877 ,és raktam rá kijelzőt hogy lássam a frekit. De nemlehet léptetni a frekit mindig csak 873 Mhz környékén ad. Vki tud benne segiteni mit rontottam el ? Előre is köszi. ![]()
IA4421 van benne (katalógus készítés CTRL+c => CTRL+V), és rossz sorrend esetén néha kifekszik az adó végfok, az érzékeny reset-nek köszönhetően meg nem ég le a két akkumulátortól. 80-100mA-ek szaladgálnak ilyenkor amíg meg nem szakítod.
DRKonor: írtad, hogy rossz konfigurációs sorrend esetén kifekszik, el tudnád küldeni a helyes konfigurációs sorrendet? És milyen frekin használod, ahol összeszed kósza jeleket?
Francért ilyen bonyolult ez. Eddig is lassan haladtam mert nem birom kibogarászni az adatlapból, hogy hogy lehet a vevő oldalon kiolvasni az érkező jelet. És még ez is.
Szia!
Bele néztem a kódba, elsőre jónak tűnik viszont a pergés mentesítés nekem kicsit fura pl. az 1. és a 6. gomb esetén, miért a funkció végén vársz 200ms-et? Hisz ebben az esetben ha csak egy véletlen impulzus volt a bemeneten akkor is le fogja futtatni a csökkentést vagy a növelést. Én úgy csinálnám, hogy ha gomb meg lett nyomva akkor elindítanék egy számlálót, majd ha lejárt akkor megnézném, hogy még mindig meg van-e nyomva, ha igen akkor le lehet futtatni a gomb nyomáshoz tartozó kódot. A 873MHz elég fura érték, szerintem elsőnek ellenőrizd le, hogy az RF modul konfigurációja végbe megy-e, ezt legegyszerűbben úgy tudod meg tenni, hogy a clock out frekvenciát megváltoztatod, ehhez kell egy freki mérő, ha nincs freki mérő akkor konfigold, be valamilyen frekire mérd meg, hogy hány volt van a lábon, ha 1V felett mérsz akkor valami jel van azon a lábon, majd letiltod a clock out kimenetet és akkor 0V-ot kell mérned.
Én azt a sorrendet használom ahogy az adatlapban van, 1. a Configuration Setting Command
.. utolsó a Low Duty-Cycle Command Így én nem tapasztaltam hibás működést a konfigurálás miatt.
az utolsó nem a low duty cycle hanem a low battery detector
Csatoltam a konfigot. Egyesével adtam be a parancsot és amikor az eszköz kijelzője teljesen elhalványult, felfedte a bűnös kilétét. Egy pár 100mA tápnál lehet észre se vennéd, de nálam elemes táplálás, kis fogyasztás a lényeg.
868MHz-en használom, fél évig vevőként teszteltem és egy LCD-re kiírattam a vett adatokat. Kb egy nap 2 krikszkrakszot beszedett, ezalatt adót nem üzemeltettem, csak a vevő stabilitását teszteltem.
Valaki le tudná nekem írni, hogy hogy lehet a fogadott adatot a legkönnyebben kivenni a vevőből?
![]() Mindössze egy 8bites csomagot szeretnék küldeni. ![]()
Hali
Megmértem scóppal a CLK frekvenciát és elég érdekes dolgot tapasztaltam. Mikor Low Battery Detector and Microcontroller Clock Divider Command ami alap értékben C000 volt igy elég szép jelet mértem rajta ,és ahogy növeltem a frekit ugy lett egyre kisebb az amplitúdója mire felvittem 10 Mhz re C0E0 addigra a jel elég kicsi lett. Eléggé hajlok arra hogy kicseréljem a rádiót,de elég körülményes lenne.Kikapcsolni nem tudtam C208 átállítottam C209 re.
Hi!
Hát az amplitúdó csökkenésére esetleges magyarázat, hogy beterheled a CLK kimenetet a mérőfejjel, vagy esetleg a mérőfej átviteli karakterisztikájával van valami probléma. Kikapcsolni viszont a C2xy commanddal nem tudod a C2 az a Data Filter Command. A 82xy, Power Management Command-dal tudod átállítani, dc bit. Én a következő konfigurációt használom CLK engedélyezésére: 825C ha kikapcsolom akkor pedig 825D.
Hali
Igen ezt elírtam ,nálam 8209 kapcsolja ki ,de itt nem kapcsolódik ki semmi. A scopom nem valami atom az fix ![]() Pontosan 874,08 Mhz ad. Az érdekes ha nem irok be freki set commandot akkor is. Egyszerüen nemértem.
Mivel méred az adó frekit?
Vagy a 874,08MHz az amit a kijelző kiír?
Építettem IA4221-ből 1 vevőt ami méri a térerőt. Azzal mértem mértem meg. A kijelző az rendesen kiírja a változtatást az adón ,csak az a baj úgy írtam meg a pogit ,hogy külön változót használ a kijelzőre és külön a frekvencia commandnak .Ráadásul most vettem észre kiírattam vele a assembly listáját ,és észre vettem 1-2 furcsaságot. Erre assemblybe belejavítottam a frekvenciába ,és már így nem is ad. Valószínű rádió csere,és nekiállok újat írni.
![]() |
Bejelentkezés
Hirdetés |