RFM12BP rádiós modul Integration chippel!

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
otto
DrótVégénSzéndarab
Hozzászólások: 40
Csatlakozott: 2007. július 27. péntek, 6:00
Tartózkodási hely: Budapest,XVIII.ker.
Kapcsolat:

HozzászólásSzerző: otto » 2008. december 9. kedd, 7:41

dummy írta:Ez nem a B, hanem a BP változat! Ez tényleg tudja az 500mW-ot.

Köszi,így már világos!

Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00
Tartózkodási hely: Szolnok

HozzászólásSzerző: dummy » 2008. december 12. péntek, 13:49

No, igen. FFIT lábon elvileg a beállított számú bitek vétele után kéne egy megszakításnak generálódnia, ha van érvényes vett adat. De hogy ez az IT melyik kategória, az nem derül ki (Rising, Falling, Low level). Még a Change state-et is kipróbáltam a megszakításnál, de nem történik semmi.

Rákerestem a neten, de ahogy elnézem, ezt az FFIT lábat nem igazán sikerült használnia senkinek. Marad a polling mode a vevőben. Ami valahogy nem igazán szimpatikus, de ha ló nincs...

Viszont a vevő megy, az ARSSI lábat hidegítő kondin kb. 1,15V mérhető, ha van a közelben adó. Ha az adót kikapcsolom, itt csak minimális (tized nagyságrendű) feszültség mérhető. Tehát a vevőt is sikerült feléleszteni, de még messze a megoldás. :(

Avatar
onyx
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2007. október 3. szerda, 6:00

HozzászólásSzerző: onyx » 2008. december 14. vasárnap, 4:49

dummy írta:No, igen. FFIT lábon elvileg a beállított számú bitek vétele után kéne egy megszakításnak generálódnia, ha van érvényes vett adat. De hogy ez az IT melyik kategória, az nem derül ki (Rising, Falling, Low level). Még a Change state-et is kipróbáltam a megszakításnál, de nem történik semmi.


IA4421-et hasznalok, vegul sikerult beeleszteni, mostmar gond nelkul megy. Az FFIT interruptot hasznalom, a fifo kiolvasasaval szolgalom ki. Az FFIT interrupt egy aktiv egyes interrupt, tehat alapallapotban nulla szinten van, aktiv allapotban pedig logikai 1-ben.
Atmelnel ez azt jelenti, hogy a kulso interrupt beallitasanal az interrupt jelszintjet beallito biteket 1-esre allitod:

MCUCR = (1 << ISC01) | (1 << ISC00);

Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00
Tartózkodási hely: Szolnok

HozzászólásSzerző: dummy » 2008. december 14. vasárnap, 5:11

onyx írta:MCUCR = (1 << ISC01) | (1 << ISC00);


Sorry, én nem beszélni C nyelv... :-)
De értem, miről van szó. Azt hiszem, legalábbis... :?

Ha jól értem az egyébként eléggé szűkszavú adatlapokat, akkor:

- beállítom, hogy hány bit után legyen FIFO IT

- ha van érvényes adat, és feltöltődött a FIFO az előbb megadott számú bittel, akkor lesz egy megszakítás - itt elvileg az IA4421 7-es lába (DCLK/CFIL/FFIT), ami eddig 0 szinten volt, 1-es logikai szintre vált??? Ez itt a kulcskérdés, mert nálam a modul azonos célú kivezetésén az égvilágon semmilyen szintváltozás nem történik, ez a bajom.

Meddig tartja az 1-es szintet az FFIT láb? Amíg ki nem olvasom a FIFO-t, és nem törlöm a FIFO regiszter 1. bitjét (CAxx regiszter), vagy az egész csak egy órajelnyi állapotváltozás, és a láb visszabillen 0-ba?

És nem mellesleg: ezt a kivezetést direktbe kötötted az AVR-re, vagy van rajta esetleg valamilyen passzív alkatrész is (felhúzó ellenállás esetleg, bár nem kellene papírforma szerint)?

Sokkal szimpatikusabb lenne kihasználni az FFIT láb figyelését megszakítással, mint állandóan olvasgatni a status regisztert...
Az mindenesetre eléggé ijesztő, hogy eddig nem találtam olyan forrást, amiben az FFIT-vel kezelnék a vételt, a polling mode-ot preferálja az eddig talált összes alkalmazás.

Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00
Tartózkodási hely: Szolnok

HozzászólásSzerző: dummy » 2008. december 14. vasárnap, 5:31

dummy írta:
onyx írta:MCUCR = (1 << ISC01) | (1 << ISC00);


Sorry, én nem beszélni C nyelv... :-)


Azt hiszem, hogy ez ekvivalens a Bascom-ban az alábbival:

Kód: Egész kijelölése

Config Int1 = Rising


(Nálam az FFIT láb az AVR Int1 lábára van kötve).

Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00
Tartózkodási hely: Szolnok

HozzászólásSzerző: dummy » 2008. december 14. vasárnap, 8:38

Hmm, felettéb érdekes, hogy a status bit folyamatosan 1, annak ellenére, hogy a környéken nincs működő adó. Valami nagyon nem stimmel!

Ha valakinek van működőképes, kipróbált Bascom progija a vételre, az ne sajnálja tőlünk!

(A neten eddig lelt Bascom progik nem működtek).

Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00
Tartózkodási hely: Szolnok

HozzászólásSzerző: dummy » 2008. december 14. vasárnap, 13:07

dummy írta:Ha valakinek van működőképes, kipróbált Bascom progija a vételre, az ne sajnálja tőlünk!.


Kár volt elkiabálni, már vesz valamit a bestia. Már csak az a kérdés, hogy mit? :)

Megszakítással továbbra sem megy, ám pollinggal mintha... De nem akarom elkiabálni.
Megpróbálok összedobni egy egyszerű adó-vevő párt.
Adó küld egy tesztadatot, vevő visszaküldi az adónak, adó megnézi, hogy a küldött és a vett adat egyezik-e, és ha nem, akkor az egyezésig ismétel. Ezzel lehetne a hatótávot is méregetni. Ahol már bizonytalanul megy a dolog, ott a vége a hatótávolságnak.

De szépen hangzik, már csak meg kell csinálni! 8O

Avatar
fmiklos
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2005. július 5. kedd, 6:00

HozzászólásSzerző: fmiklos » 2008. december 15. hétfő, 8:09

Sziasztok!

Én már eljutottam az RFM12B 868Mhz modullal valameddig.A files csere-bere helyre bemásoltam egy HopeRFM12B_Rs232.zip-ben. Hátha ez előbbre visz...Tulképpen 1 db Mega 8 + 1 db RFM12B adó-vevő modul + soros illesztő. Ami sokat szívatott az az illesztettlenség!!! M8 5V-ről megy a Hope meg 3,7 V-ről. A modul bemeneteit egy egy 1K ellenállással, Sdo lába - M8 Miso ra meg föld felé egy 3k3 !! Na ez szívatott sokáig. Ameddig csak direktbe kötöttem, addig 3-4 m-ig működött tök jól messzebb semmi !!! Nyilván OC kimenet?? Még most sem értem, de az ellenállással sokat javított. nIrq lába Int0-ra 4k7 felhúzó ellenállattal. Tervezem , hogy egy rendes illesztő fokozatot is teszek erre a két lábra , ha lesz időm (SN74LVC1G07DBVR)!! Amúgy így lakáson belül 1-3 falon keresztül 10-20m volt .. külső térbe 50-60m volt a kis piros dróttal amit adtak hozzá... eddig

Fmiklós

Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00
Tartózkodási hely: Szolnok

HozzászólásSzerző: dummy » 2008. december 15. hétfő, 12:36

Miklós!

Köszi a programot! Ahogy elnézem, ez a német fórumokon népszerű progi átírata, ismerősnek tűnt. :)
De legalább neked működött! És sokat vacakoltam vele, de nem sikerült szóra bírni. Főleg a polling módnál a status bit ellenőrzése nem akart valamiért menni.
Találtam egy másik forrást, amiben szintén az UART-ot használja be-/kimenetnek a program, de ez nálam nem nyerő, mert az UART-ot a saját alkalmazásomban nem akarom használni. Azt a kódot eléggé átírva, és az eddigi tapasztalatokat alkalmazva sikerült összehozni a - végre - működő programot, amit alaposan felkommentezve felteszek majd én is a csere-berébe.

Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00
Tartózkodási hely: Szolnok

HozzászólásSzerző: dummy » 2008. december 15. hétfő, 12:45

Ja, szintillesztés:

Aki él a mintaküldési lehetőséggel, melyet a gyártók kínálnak, azoknak ajánlom a 3,3V/5V probléma áthidalására:

Kimondottan I2C-hez: PCA9306
SPI, egyéb : TXB01xx
(xx= az adatvezetékek száma)

Mindkettőt a Texas Instruments gyártja, érdemes belőle rendelni, mert hobbi célra mindenképpen megfelelnek (bár, annál azért komolyabb kategória).

Antenna:

Az a kis huzaldarab, amit a modulhoz adnak, erősen felejtős. Minimum gumiantenna, SMA aljzattal. A modult hordozó nyáklap pedig legyen "GND-telifóliás"! Lényegesen jobb hatásfokot biztosít ez a két körülmény, mint az a drótdarab.

Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00
Tartózkodási hely: Szolnok

HozzászólásSzerző: dummy » 2008. december 16. kedd, 23:13

Egy könnyebben kezelhető tokozású illesztő I2C-hez: PCA9515

Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00
Tartózkodási hely: Szolnok

HozzászólásSzerző: dummy » 2008. december 16. kedd, 23:36

Feltöltöttem a csere-berébe a tesztprogramokat. (rfm12b_teszt.zip)
A két Bascom fájlon kívül van egy szövegfájl is, hasznos és fontos infókkal!
(Többek között, hogy egyáltalán mit is csinál a két program).

A programokat felkommenteztem, hogy érthetőbb legyen a működésük.

Mivel nem 100%-ig saját programokról van szó, hanem több forrásból próbáltam egy, a saját célomnak megfelelőt összehozni, így mindenki úgy használja fel, ahogy jónak látja.

Ha bármilyen kérdés lenne, azt tegyétek fel itt, és ha tudok rá válaszolni, akkor megteszem!

Update1: A feltett program bug-os, javítás alatt van! Javítás után újra felteszem! Sorry!

Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00
Tartózkodási hely: Szolnok

HozzászólásSzerző: dummy » 2008. december 27. szombat, 22:03

Feltettem a javított változatot.

A régi - hibás - fájlok már nem elérhetőek, így csak a javított tölthető le a régivel megegyező néven, a file csere-beréről:

rfm12b_teszt.zip

Avatar
SirLeslie
Pákabűvész
Hozzászólások: 247
Csatlakozott: 2005. április 14. csütörtök, 6:00
Tartózkodási hely: Zalaegerszeg
Kapcsolat:

HozzászólásSzerző: SirLeslie » 2009. augusztus 29. szombat, 6:39

dummy írta:Ha bármilyen kérdés lenne, azt tegyétek fel itt, és ha tudok rá válaszolni, akkor megteszem!


Nemsokára megpróbálkozom az rfm12b-vel, ez hatótávilag 300m-t tud (kb 150m-t kell stabilan tudnia), ez mennyire valós érték? Gondolom csak normális antennával... azt hol lehet venni konkrétan és mi a pontos típusa?

Avatar
winnerbt
Chipfüstölő
Hozzászólások: 894
Csatlakozott: 2007. március 25. vasárnap, 6:00
Tartózkodási hely: Kecskemét

RFM12BP 433MHz füstöl

HozzászólásSzerző: winnerbt » 2009. október 20. kedd, 14:28

Sziasztok!
RFM12BP furán viselkedik. Összetákoltam mindenhonnan egy programot hozzá, ami felinicializálja és megpróbál küldeni valami adatot. Először nem ment semmi ki. A TXen lábat 3.3k-val húztam +3.3V-ra, kicseréltem egy drótdarabra, elindult az adás. Azt vettem észre a tápfelvételen, hogy adáskor elkezd felvenni nagyobb áramot és a 2-ik megszólításig veszi is fel a kakót (nem mindig). Ráküldtem az innen letöltött példaprogramot, ami nagyon sűrűn ad, erre elkezdett füstölni a modul és felvett 2A-t. Egy 2.2ohm a +12V tápon kezdett szublimálni. Most csak egy megfigyelő vevő van, azon csak azt látom, hogy megy ki valami RF teljesítmény. Mi ez az eszement áramfelvétel? (tápok stabilak és jók, a M88 is 3.3V-ról megy. Ha valakinek van működő deszkamodelje ezzel a vacakkal, kölcsönözném vagy megvásárolnám, mert 2 hét múlva össze kellene tákolnom valami átvitelt.


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég