Fórum témák

» Több friss téma
Fórum » RFM12BS
 
Témaindító: Thowra, idő: Márc 6, 2009
Lapozás: OK   4 / 12
(#) (Felhasználó 4577) válasza NickE hozzászólására (») Máj 5, 2010 /
 
Nekem válaszoltak, én 2db mintát akartam volna rendelni, de a postaköltség nem ingyenes és valószínű többe kerülne, mint a boltban.
(#) NickE válasza (Felhasználó 4577) hozzászólására (») Máj 5, 2010 /
 
Tegnapelőtt írtam nekik, hátha kapok még választ.
(#) NickE hozzászólása Máj 5, 2010 /
 
Egyébként van még más cég, ami hasonló transceiver modult gyárt, árban vetekszik a HopeRF-el és még beszerezhető is?
(#) (Felhasználó 4577) válasza NickE hozzászólására (») Máj 5, 2010 /
 
Nem tudok róla.
De olvass vissza a téma elejére, van szó arról, hogy milyen chip-ek vannak az RFM12-ben.
(#) pipi válasza NickE hozzászólására (») Máj 5, 2010 /
 
kérdezd meg itt a laptetején a HESTORE-t, Soselectronic-ot,
esetleg a tme.eu/hu -t, hátha ők rendelnek (Vásároltam már mást náluk)
(#) (Felhasználó 4577) válasza pipi hozzászólására (») Máj 5, 2010 /
 
A HEStore-ban csak RFM12B, van, ami csak 3.3V-os, NickE-nek 5V-os kell.
Nekem is az kellett volna, de én megoldottam úgy, hogy a projekt többi részét is átterveztem 3.3V-osra.
(#) NickE hozzászólása Máj 16, 2010 /
 
Végül RFM12B lett a vége. Válaszoltak a HopeRF-esek, azt írták, hogy az 5V verzió kifutó termék, nem javasolják a használatát. Tegnap összedrótoztam 7407-es szintillesztéssel ma pedig az adatlapban található szoftvert próbáltam ki, csak át kellett kicsit írni, mert nem ugyanazt a C környezetet használtam, meg egyelőre kihagytam a checksum részt. Sikerült néhány bakit elkövetnem, ugyhogy ültem felette pár órát, de most sikerült beindítani.

Nem is olyan rossz teljesítmény 1 nap alatt, pedig már most estére kezdtem kétségbe esni, hogy fog összejönni.

Méteres kőfalat átviszi hiba nélkül, nem rossz kis cucc.
(#) (Felhasználó 4577) válasza NickE hozzászólására (») Máj 16, 2010 /
 
Idézet:
„Sikerült néhány bakit elkövetnem, ugyhogy ültem felette pár órát, de most sikerült beindítani.”
Nekem mondod.
Én is sokat szívtam vele, de végül Boldivi segítségével sikerült.
Nekem is működött 114 nagy lépésig, tovább nem mentem el, mert vége volt a kertnek.
(#) szmgabor hozzászólása Jún 4, 2010 /
 
Udv mindenkinek,

Nemreg kezdtem el hasznalni ezeket a modulokat es mivel kezdo vagyok nem mennek annyira siman a dolgok


PIC24FJGA002 mikrokontrollerekhez csatlakoztattam a modulokat es a softot mar megirtam, de nem igazan mukodik. Arra gyanakszom, hogy az SPI kommunikacioval van valami gond es a nem jutnak el a beallitasaim a regiszterekhez. Hardware SPI-t hasznalok es oszcilloszkoppal megvizsgalva jonak tunnek a jelek amiket kuldok. Ennek ellenere eleg gyanusan viselkedik az RFM12B modul. Peldaul az oszcillatort ki tudom kapcsolni (elkuldve a 0x8238 parancsot, ami be is kapcsolja az adot) de az oszcillator frekvenciajan nem tudok valtoztatni (elkuldve a 0xC0E0 parancsot ami 10 MHz re kellene allitsa az oszcillatort, de a frekvencia 1 MHz-n marad). Vajon mi lehet a gond ? Es egy masik erdekesseg, ha inicializalas utan vegtelen ciklusban olvasom ki a statusz regisztert akkor nem mindig kuldi ugyanazt a valaszt. Altalaban ket tipusu valaszt kuld, amik kozott egy bit a kulonbseg. Emellett meg azt vettem eszre, hogy szamit a frekvencia is, par 100 KHz-nel mar nem megy a SPI kommunikacio (nem tudom kikapcsolni az oszcillator, ezert gondolom, hogy nem megy, pedig az adatlap szerint ennel sokkal nagyobb frekvenciat is kellene tudjon az SPI), illetve mas frekvenciaju SPI, mas ertekeket olvasok ki a statusz regiszterbol is. Ja es az utolso problemam az nIRQ val kapcsolatos, neha beragad "1"re es olyankor nem tudok kuldeni, mert ugye a kuldesben van egy olyan hogy while(nIRQ);.

Szoval a kerdesem az lenne, hogy mikent tudnam letesztelni az SPI kommunikacio helyesseget, esetleg ha meg tudnatok mondani, hogy mi kellene legyen a statusz regiszter erteke a kovetkezo inicializalas utan:
  1. SPI1Write(0x80E7);             
  2.         SPI1Write(0x8238);             
  3.         SPI1Write(0xA640);             
  4.         SPI1Write(0xC646);             
  5.         SPI1Write(0x94A0);             
  6.         SPI1Write(0xC2AC);             
  7.         SPI1Write(0xCA81);             
  8.         SPI1Write(0xCED4);             
  9.         SPI1Write(0xC483);             
  10.         SPI1Write(0x9850);             
  11.         SPI1Write(0xCC17);             
  12.         SPI1Write(0xE000);             
  13.         SPI1Write(0xC800);             
  14.         SPI1Write(0xC0E0);

ez a klasszikus inicializalas, szinte minden peldaprogramban ez szerepel

Elore is koszonom a segitseget.

Gabor.
(#) attila2 válasza szmgabor hozzászólására (») Jún 5, 2010 /
 
szia szmgabor !

Már azt hittem csak én vagyok új a témában. A helyzet az hogy én a 01 és 02 modulokat használom, ami nagymértékben hasonlít a 12b-re. Az hardveres SPI-t felejtsd el mert nem kompatibilis a chippel!
Nézd át az adatlapot (SI4421) és főleg az idő diagramokat. minden kérdésedre megtalálod a választ!

Ha további segítség kellene, privátban keress meg!
(#) attila2 válasza attila2 hozzászólására (») Jún 5, 2010 /
 
példa az initre (SPI)

init.zip
    
(#) szmgabor válasza attila2 hozzászólására (») Jún 7, 2010 /
 
Vegulis sikerult megoldjam a SPI kommunikaciot hardwaresen
Par ora oszcilloszkopozas utan eszrevettem, hogy a SlaveSelect tul hamar visszament "1"re es emiatt nem vette figyelembe az uzenet veget

Ha meglesz a vegleges kodom feltoltom, hogy legyen egy PIC-es mukodo implementacio is, ha esetleg szuksege lesz majd ra valakinek.

Meg 1x koszi a valaszokat

Udv, Gabor.
(#) szmgabor válasza attila2 hozzászólására (») Jún 10, 2010 /
 
Szoval a kuldesem azt hiszem meg lenne.
Esetleg ha volna ideje megnezni valakinek, hogy rendben van-e?

A koddal kapcsolatban csak annyit, hogy az SPI-m ugy gondolom, hogy mukodik, mint mar emlitettem, ha modositom a modul frekvenciajat akkor a clock output-on levo frekvencia is modosul. A vegtelen ciklus elejen a 0x8100 erteket olvasom ki a status regiszterbol. Ami azt jelentene, hogy:
- TX register is ready to receive the next byte
- Antenna tuning circuit detected strong enough RF signal
Kozben a nIRQ is mozog, gondolom azert mert:
- The TX register is ready to receive the next byte (RGIT)

Tehat nekem ugy tunik, hogy jo, kivancsi vagyok a ti velemenyetekre is.

A vevo kodjat is megirtam, de valamilyen okbol nem kapok semmit Itt is a status regisztert olvasom ki, es a FFIT bit 1 kellene legyen ha kapott valamit, de soha nem lesz 1. A kiolvasott ertek vagy 0x01A0, vagy 0x0120, ami azt jelenti, hogy:
- The strength of the incoming signal is above the pre-programmed limit
- Data quality detector output
- Toggling in each AFC cycle (?)

A vevohoz a kovetkezo kodot irtam:
  1. // Inicializalas
  2.         SPI1Write(0x80E7);             
  3.         SPI1Write(0x8298);      
  4.         SPI1Write(0xA640);      
  5.         SPI1Write(0xC646);      
  6.         SPI1Write(0x94A0);      
  7.         SPI1Write(0xC2AC);      
  8.         SPI1Write(0xCA81);      
  9.         SPI1Write(0xCED4);      
  10.         SPI1Write(0xC483);      
  11.         SPI1Write(0x9850);      
  12.         SPI1Write(0xCC17);      
  13.         SPI1Write(0xE000);      
  14.         SPI1Write(0xC800);      
  15.         SPI1Write(0xC0C0);
  16.  
  17.         // Foprogramban
  18.         while (1)
  19.         {
  20.                 status[sIndex] = RFM12BReadStatus();
  21.                 sIndex++;
  22.                
  23.                 if (sIndex > 1020)
  24.                 {
  25.                         sIndex = 0;
  26.                 }      
  27.         }


Elore is koszi a valaszokat.

Udv, Gabor.

main.c
    
(#) attila2 válasza szmgabor hozzászólására (») Jún 10, 2010 /
 
Most nem nagyon van időm boncolgatni, de ha pesti vagy akkor a referencia vevőt adok ami tuti működik!
(#) szmgabor válasza attila2 hozzászólására (») Jún 11, 2010 /
 
Nem vagyok pesti de azert koszi.
Akkor meg szenvedek vele egy kicsit, hatha osszejon valami

Udv, Gabor
(#) attila2 válasza szmgabor hozzászólására (») Jún 11, 2010 /
 
tudtad hogy más néven a chip neve TRC102 vagy MRF49xx ?
(#) szmgabor válasza attila2 hozzászólására (») Jún 11, 2010 /
 
Igen, megtalatalm a microchip-es adatlapot is, az valamivel erthetobb mint a kinai verzio
(#) (Felhasználó 4577) hozzászólása Jún 18, 2010 /
 
Sziasztok!

Van két RFM12B-m. A kommunikáció tökéletesen működik, de sajnos csak egy irányba.
Valami rejtélyes oknál fogva az egyik modult nem tudom vételbe kapcsolni, míg a a másikat adásba és vételbe is tudom kapcsolni.

A forráskódom a következő:
  1. void rf12_init (unsigned short channel, unsigned char speed) {
  2.         _delay_ms(100);
  3.         rfxx_wrt_cmd(0x80e7);
  4.         rfxx_wrt_cmd(0x8239);   // *8239 for Tx, 82D9 for Rx (+4 eb, LowBattEn)
  5.         rfxx_wrt_cmd(0xa640);   // Frequency Setting Command    /96-3903/
  6.         rfxx_wrt_cmd(0xc647);   // Data Rate Command            /kbps/
  7.         rfxx_wrt_cmd(0x94a0);   // Receiver Control Command     /BandWidth/
  8.         rfxx_wrt_cmd(0xc2ac);   // Data Filter Command 0xc2ac
  9.         rfxx_wrt_cmd(0xca81);
  10.         rfxx_wrt_cmd(0xced4);
  11.         rfxx_wrt_cmd(0xc483);   // AFC 0xc483
  12.         rfxx_wrt_cmd(0x9850);   // Tx Control Command           /deviation/
  13.         rfxx_wrt_cmd(0xcc17);
  14.         rfxx_wrt_cmd(0xe000);
  15.         rfxx_wrt_cmd(0xc800);
  16.         rfxx_wrt_cmd(0xc040);
  17.  
  18.         if(channel > 386)
  19.                 channel = 386;
  20.         channel *= 10;
  21.         rfxx_wrt_cmd( (0xa640 & 0xf000) | channel );    // Frequency Setting Command 868band: Fc=860+F*0.0050 MHz 36-3903 0.0050MHZ lépés
  22.  
  23.         unsigned char i, m;
  24.  
  25.         if(speed > 0x08) { i = 0xc0; m = 0x20; }
  26.         if(speed > 0x04 && speed < 0x09) { i = 0xa0; m = 0x50; }
  27.         if(speed < 0x03) { i = 0x80; m = 0x70; }
  28.  
  29.         rfxx_wrt_cmd(0xc600 | (speed & 0x7f));                          // Data Rate Command
  30.         rfxx_wrt_cmd( (0x94a0 & 0b1111111100011111) | i );              //Receiver Control Command      /BandWidth/
  31.         rfxx_wrt_cmd( (0x9850 & 0xff0f) | m);                           //Tx Control Command            /deviation/
  32.         _delay_ms(1);
  33. }
  34.  
  35. unsigned char receive_frame()
  36. {
  37.         int data;
  38.         unsigned short crc;
  39.  
  40.         rx_mode();
  41.         rfxx_wrt_cmd(0xCA81);
  42.         _delay_ms(10);
  43.         rfxx_wrt_cmd(0xCA83);           // Enable FIFO
  44.         data = rf12_recv();     // Receive DATA
  45.         crc = 0x3b << 8;
  46.         crc = (crc & 0xff00) + 0x3a;
  47.         crc = rf12_recv();                      // Rcv CRCH
  48.         crc = (crc & 0xff00) + rf12_recv();     // Rcv CRCL
  49.         rfxx_wrt_cmd(0xCA81);           // Disable FIFO
  50.         rf12_off();
  51.         if(crc16_ccitt(0x32,1) == crc)
  52.                 return data;
  53.         else
  54.                 return 0;
  55. }


Vajon miért nem kapcsolja ugyan az a forráskód vételbe az egyik modult, ami a másikat vételbe kapcsolja?
(#) komlosi hozzászólása Jún 28, 2010 /
 
Helló!

Van valaki Debrecen közelében aki esetleg használ RFM12B adó-vevőt? Mert ami nekem van nem tudom életre kelteni.

Esetleg tudnánk tartani egy konzultációt, valamint ki is próbálnánk az enyém, hogy egyáltalán jó-e.

Üdv.:
Komlósi
(#) Lucifer válasza komlosi hozzászólására (») Jún 28, 2010 /
 
Én anno használtam AVR-el. Breadboardon hánytam össze, a raszteres tüskecsatik azóta is rajta vannak a modulon, szóval ha nagyon kell reprodukálhatom.
(#) (Felhasználó 4577) hozzászólása Júl 2, 2010 /
 
Sziasztok!

Újra nem világos valami.
Eddig 3.3V-ról működtettem a modulomat.

http://www.hoperf.com/upfile/RFM12B.pdf
2. oldal legalja: Positive power supply max. 6V.
1. oldal: 2.2V – 3.8V power supply

Akkor ez most hogy is van?

Az egyik adót még mindig nem sikerült vételbe kapcsolni.
(#) jym válasza (Felhasználó 4577) hozzászólására (») Júl 2, 2010 /
 
Szia!

Ajánlott 2.2V - 3.8V között.

De akár 6V-ot is kibír, ott már nem működik a modul, de nem füstöl el. Ha újból visszaveszed a tápot az előbbi tartományra, akkor újból működni fog. Ha 6V fölé mész, akkor jó esélyed van, hogy leadja az utolsó füstjelét.

Imi.
(#) (Felhasználó 4577) válasza jym hozzászólására (») Júl 2, 2010 /
 
Köszönöm!
Örültem volna, ha mégis megy 5V-ról, de akkor marad 3.3V-on minden.
(#) Gatery válasza (Felhasználó 4577) hozzászólására (») Júl 7, 2010 /
 
Szia!

Egy lehetséges ok lehet a portok beállítása, hogy ugye adás vagy vételi üzemmódban nem ugyanazok a lábak...
Illetve érdemes az init -nél a nRES lábat állítani, hogy a modul regiszterei biztosan törlődjenek.


Nekem is lenne egy kérdésem:
Nagyon szépen megy a küldés fogadás, DE
Valimért egyszerre csak 8 bytot tudok átküldeni!

Esetleg tudja valaki ennek az okát?
(#) (Felhasználó 4577) válasza Gatery hozzászólására (») Júl 7, 2010 /
 
Szia!

Idézet:
„Egy lehetséges ok lehet a portok beállítása, hogy ugye adás vagy vételi üzemmódban nem ugyanazok a lábak...”

Azt hogy érted, hogy adás-vételnél nem ugyan azok a lábak?
(#) Gatery válasza (Felhasználó 4577) hozzászólására (») Júl 7, 2010 /
 
Az adatlapban amikor odaírják a láb nevét mutatják, hogy DI/DO vagy esetleg még több funkciót is végezhet. pl ilyen az nINT/ VDI láb amit ugye pfogramból tudsz állítani hogy mi legyen.

Nem hiszem hogy ez lenne a probléma, mert ha azt mondod egyikkel megy de fordítva nem....hát...de hátha
(#) (Felhasználó 4577) válasza Gatery hozzászólására (») Júl 7, 2010 /
 
Szerintem se ez a probléma, hiszen mindkét panel teljesen egyforma és ugyan az a szoftver az egyiket vételbe tudja kapcsolni, a másikat pedig nem.
(#) Tony hozzászólása Júl 22, 2010 /
 
Sziasztok!
Ez a RFM12BS képes saját magának küldeni adatokat?
Vagyis teszteléshez elég egy darab is?
(#) Gatery válasza Tony hozzászólására (») Júl 23, 2010 /
 
Szia!

Sajnos a modul csak half-duplex üzemre képes.
Azaz az üzemmódok között (adás-vétel) kapcsolgatni kell.
A kapcsolás ideje kb120us.

Szóval két modul kell a teszteléshez.

A modulhoz sok sikert!
(#) Tony válasza Gatery hozzászólására (») Júl 23, 2010 /
 
Köszönöm már 1éve megvan a fiókomban.

Még egy kérdésem lenne ha csak küldeni akarok akkor nem kell nekem mind a 2 láb SDI meg SDO vagy tévedek?
Vagyis elég az SDI küldésre?
Fogadásnál meg elég az SDO?
A kérdés az hogy hol lehet spórolni mind az 5 láb kell a kütyühöz?

Csak mert 8 lábú PIC-re akarnám ott meg kéne egy láb másra is
Következő: »»   4 / 12
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem