BH1415F FM Transmitter

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

BH1415F FM Transmitter

HozzászólásSzerző: nobody_hun » 2011. szeptember 26. hétfő, 19:13

FM transmitter vezérlése AVR-rel

Nem régiben vásároltam pár alkatrészt a neten és megakadt a szemem ezen a kis áramkörön, így rendeltem belőle (3db=15USD), gondoltam a szabad hétvégéken majd jól elszórakozom vele.

Kép

A kis nyákon komplett megtalálható a BH1415F minden kiszolgáló alkatrésze, csupán +5V táp kell neki, sztereo jelforrás és egy antennaként szolgáló drót darab.

Az IC-t 3 vezetékes soros protokollal, 16 biten vezérelhetjük:
- az első 10 bit a hangolni kívánt frekvenciát tartalmazza, tizedesvessző nélkül, 100 kHz-es felbontásban: például 100,2 MHz = 1002
- a következő bit a sztereo/mono működést jelzi
- a következő két bit a "charge pump" kimenetet vezérli
- az utolsó két bit pedig a teszt bit, normál használtnál 01

Ehhez mérten a végleges vezérlőkód is meglehetősen spártai lett:

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

'BH1415F FM transmitter
Config Portc.4 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Config Portc.5 = Output

Fmt_sda Alias Portc.5
Fmt_mute Alias Portc.4
Fmt_scl Alias Portc.3
Fmt_csx Alias Portc.2

'Universal variables
Dim Dataword As Integer

Dataword = 875

Set Dataword.11                                             '1=Stereo; 0=Mono
Reset Dataword.12                                           'Phase detector PD0
Reset Dataword.13                                           'Phase detector PD1
Set Dataword.14                                             'Test bit T0
Reset Dataword.15                                           'Test bit T1

Set Fmt_mute

Reset Fmt_scl
Set Fmt_csx
Shiftout Fmt_sda , Fmt_scl , Dataword , 3 , 16 , 20         'LSB, CLK high
Reset Fmt_csx

Reset Fmt_mute


A port beállítása után a Dataword változóban tároljuk a hangolni kívánt frekvenciát.
A Dataword változó bitjeinek állításával beállítjuk az egyéb vezérlést szolgáló paramétereket.

Elnémítjuk az adót a MUTE láb 1-re állításával, majd a Shiftout utasítás segítségével kiküldjük a Dataword változóban levő értéket.

Az adatlap szerint az órajel változások közötti szünetnek nagyobbnak kell lennie, mint 1,5 mikroszekundum, ezért a Shiftout parancsnak 20 lett szünetként beállítva. Így nagyobb AVR órajelnél is biztonságosan írhatjuk ki az adatot.

Ezután kikapcsoljuk a némítást és az adó működésre kész.

Keressünk egy -lehetőleg frekvenciakijelzős- rádiókészüléket, hangoljuk a beállított frekvenciára és gyönyörküdjünk a remekművünkben!

Tapasztalatok, buktatók:
Eltérően a megszokottaktól, az IC vezérlése fordítva működik. Itt például arra gondolok, hogy a Chip select logikai 1 esetén aktív, eltérően a megszokott 0-tól.
Az adatbeírás is az órajel felfutó élénél történik meg. A Shiftout egyik kellemetlen mellékhatása, hogy ha nem állítjuk be előzőleg a láb állapotát, akkor egy plusz órajelet generál azelőtt, mielőtt a tényleges kiírás megtörténik. Ezért van a kódban a Set Fmt_csx parancs a Shiftout előtt.

Kiegészítő áramkör nélkül az adó teljesítménye meglehetősen kicsi (<10mW).
Rövid számítást követően az antennaként funkcionáló vezeték hosszát 88cm-ben állapítottam meg (képlet=soxor 8, az 88). A hatótávolság így kb. 3 méter légüres térben.
Nektek elárulom, hogy azért rákötöttem próbából egy 0,5W-os RF booster-re, azzal már szépen ment falakon keresztül is, megfelelő antennával.
Természetesen ez az EU területén, így hazánkban is illegális tevékenység, a törvény minden erejével üldözi és különben is sérti az erkölcs hatásait.

Ugyanez az IC található meg az egy-két ezer forintért kapható FM transzmitterekben is, itthoni forgalmazónál külön az IC-t nem találtam.[/u]
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9990
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. szeptember 27. kedd, 4:12

Kicsit bővítve, ez a cikk már a versenybe is mehetne :P

Avatar
SIMONSEN
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2010. szeptember 30. csütörtök, 6:00
Tartózkodási hely: Szombathely

Bh1415F programozás

HozzászólásSzerző: SIMONSEN » 2012. január 9. hétfő, 16:59

Érdeklődnénk mik a tapasztalatok ha 66-mhz től indul a programozás esetleg 146mhz ig meg eszi a programot??

Mik A TAPASZTALATOK A tsa5511 nél?? eredetileg egy 16f84 el 55mhz től 1300mhz ig működne de nekem ez sehogy sem vált be nem működött :(

Ami jól működik az RDVV panel egyik változata mivel azok is tele vannak hibákkal viszont a freki átfogása annak is csekély 88-108mhz.
Szerintem egy program cserével az is ki terjesztehető lehetne.

Nekem ami miatt érdekes lehetne a kicsi teljesítménye miatt szignál generátorként használni.

Üdv Simonsen.


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