Infra távirányító

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

HozzászólásSzerző: Theophrast » 2012. február 28. kedd, 10:25

Szép reggelt mindenkinek
Egy olyan kérédésem lenne, hogy az infra kommunikációt mennyire befolyásolja az avr belső órajelének elállítódása?
Adott ugyanis egy Attiny85ös belső oszcillátorról ami egy távirányítóban foglal helyet és egy Atmega8 as vevővel. A problémám az hogy ha a távirányító a hideg kocsiban marad, akkor hogyan befolyásolja ez az infra kommunikációt? Ha lehet szeretném elkerülni a kvarcot (elvesztett 2 láb).

Gondoltam megkérdezem a tapasztaltabbakat mielőtt kísérletezésbe kezdenék... :P

Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

HozzászólásSzerző: kovacsna » 2012. február 28. kedd, 12:08

Milyen infra adót és vevőt használsz? Kódolás? RC5?
Az adó mennyire van meghajtva?

Milyen frekin megy a proci?
Mivel a belső RC oszcillátor nem a pontosságáról híres, így az a hidegben tovább romolhat.

Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

HozzászólásSzerző: Theophrast » 2012. február 28. kedd, 12:37

Az Atmega8 4Mhz es kvarcról jár TSOP1736 os vevővel. Az ado az emlitett Attiny85 ös -belső 1MHzről járatva egy infra ledet hajt meg.
RC5 szabvány szerinti a kommunikáció, Bascomban ezt a legegyszerübb leprogramozni.
De szívesen hajlanék más megoldások felé is...

Ha infrán nagyobb adatátviteli sebességre lenne szükségem akkor milyen alternativák adódnak? Az RC5 a maga 14bit/24,9ms értékével adatátvitelre nem a legalkalmasabb...

Szemezgettem az infra adó-vevő modulokkal -sajnos nem a legolcsóbb megoldás lenne. Esetleg egy TSOP1736 os vevővel és megfelelő programmal ki lehet facsarni nagyobb átviteli sebességet?

Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

HozzászólásSzerző: kovacsna » 2012. február 28. kedd, 13:19

A LED-et csak maga a Tiny hajtja?

Amikor hideg akkor közelebbről sem akar működni? Gondolok itt arra, hogy kevés a a fény intenzitása.
Ezeket általában rendesen túlhajtják. Épp ezért van az, hogy a TV távirányító, még elfordítva is vezérli a TV-t. A LED bőven kibírja azt a pillanatnyi nagy impulzust.

Szerintem elmászik a freki. Levegő spray-el fagyaszd le és teszteld.
Én első körben egy kristályt betennék.

A kimenetére tennék egy tranzisztoros meghajtást!
A gombokat meg az ADC-vel lehet vizsgálni!
Tehát négy láb az egész!:)

Az 36kHz-s. A típus számban a 36 mutatja!

Nem is arra lett kitalálva.:) max 2400 Bps, ahogyan az adatlap is írja!
Nem tudod nagyobb sebességre sarkalni. a

Adatátvitelre inkább kész modult érdemes venni, de ma már inkább a rádiós átvitel (Blutooth, ZigBee, stb) a preferált.

Az infra megmaradt a távirányítóknak! Meg a szúnyogoknak:)

Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

HozzászólásSzerző: Theophrast » 2012. február 28. kedd, 15:22

Köszönöm a válaszokat
bocsánat ha kicsit félreérthető voltam - a dolog még nem létezik csupán tervezem megépíteni az emlitett alkatrészekből, ehhez kérek tanácsokat

Tehát akkor nem lesz baja a lednek picit túlhajtva...
Sajnos muszáj, hogy az adatátvitel infrával történjen.
Ezek az IrDA modulok miylen frekvencián kommunikálnak (115kb/s sebesség)?

Az elképzelésem az lenne hogy marad ugyanaz a 36 kHz (ezt interrupttal állitanám elő az adó oldalon) - Ezt kellene engedélyezni/tiltani annak megfelelően hogy 1 vagy 0-t vinnék át (mindezt manchester kódolásban). A vevő voldalon TSOP1738, ha befut egy impulzus timer indit -megméri az impulzus hoszzát, ebből következtet az értékre.
A terv hogy míg az RC5 szabványban 32 impulzus alkot egy bitet, addig ebben a felállásban egy bitet jelentsen mondjuk 5 vagy 10 impulzus, így növelnénk a sebességet.

Nagyon életképtelen ötlet ? :roll:
Az IrDA adó-vevő párosban ezt hogyan oldják ezt meg?
kicsit elmentem az eredeti kérdésemtől... :)

Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

HozzászólásSzerző: kovacsna » 2012. február 28. kedd, 16:32

Nagyon szívesen!

Ezt a LED adatlapján meg kell nézni, hogy mit és meddig visel el!
Ezt nem tudom. Sok van belőlük. Adatlap a barátod:)

A 1738 az 38 kHz-es. Ne keverjük a dolgokat!:)

Az hogy mi jelent 1-et vagy 0-át az kötött a kódolásnak megfelelően!
pl: SIRC
http://www.sbprojects.com/knowledge/ir/sirc.php

Ezekben a vevőkben, a demodulátor benne van és logikai kimenetet ad. ERGO nem dönthesz szabadon, mert akkor semmi nem jön ki:)

Amit te szeretnél ahhoz , jobb lenne saját vevőt építeni. Akkor te döntöd el, mennyi impulzus mit jelent, a keretidőben!

Az IrDA is egy szabvány. Részleteiben nem ismerem, de itt, találsz bővebb infót:
http://www.muszeroldal.hu/assistance/irdaalapok.html

Amúgy a rádiós átvitel , miért nem jó? Az IR ráadásul a napfényre allergiás, meg úgy egyáltalán a környezeti fényviszonyokra!

Amúgy meg nézz szét az interneten, mert szerintem ezt már jó páran megoldották! Ne találjuk fel a csövön a lyukat. :wink:

Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

HozzászólásSzerző: Theophrast » 2012. február 28. kedd, 16:53

Értem hogy hol lesz a probléma :roll:

nem keverem én csak félreütöttött billentyű :P

Saját vevőt építeni - sok vele a gond
Igazad lesz és marad a rádiós megoldás...
Bár 10 távirányítónál már jelentősen növeli a költségeket
Majd kitörpölök valamit

még1x köszönöm a tanácsokat

Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

HozzászólásSzerző: kovacsna » 2012. február 28. kedd, 17:11

Most átolvasva, oltári hülyeséget írtam :? sorry...

Vannak ilyen IC-k (TV-ben) amik meghatározzák elve a kódolást! SAA sorozat...

A TSOP-nál a TTL kimeneten, minden impulzus kimegy...Tehát meghatározhatod, hogy mennyi legyen az 1, vagy 0. Viszont a sebességet a 36 kHz behatárolja..
Az adásnál csak azt kell megoldanod, hogy pontos legyen a frekid. A TSOP adatlapban benne van, mekkora a tolerancia!

Még egyszer, bocs félreértettem a dolgot!
Tehát helyes az elgondolásod!
Az interruptot hagyd ki a vételnél!

Mennyi gombot kell kezelni?

Nincs mit!

Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

HozzászólásSzerző: Theophrast » 2012. február 28. kedd, 17:47

Akkor van reméééény :D

Egytelen egy gombot kellene kezelni -nem itt lesz a probléma :D
Igazából ez egy komolyabb kapunyitó lenne...

A tavalyi verenyre csináltam egy intelligens kulcsot- valami hasonlót szeretnék ide is -ehhez lenne jó a minnél gyorsabb kommunikáció a kapunyitó elektronika és a távirányító között.
Infrára gondoltam mert nagyon olcsó és nagyon egyszerű BASCOMban kezelni ... Csak RC5 alapon kicsit lassú...
Mivel nemcsak saját részre lesz, ezért szeretném a lehető legolcsóbban kihozni (ezért is ragaszkodnék az infrás megoldáshoz).

Jó lenne, ha legalább duplázni lehetne sebességet...
Pontosan odáig eljutottam hogy 36kHz es 50% os kitöltésű pwm jelet elő tudok állitani.
Ahhoz kérnék segitséget hogy ezt hogyan tudom az elküldendő bitek szerint megszaggatni?
ötlet : AVR egyik lábára egy tranzisztor ami a generált 36kHz jelet szaggatja (alacsony sebességű sorosportként kezelve a lábat) -csak ez igy nem túl elegáns megoldás
Nem kiröhögni nagyon :D

Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

HozzászólásSzerző: kovacsna » 2012. február 28. kedd, 18:27

Van...Majdnem bevittelek a sűrűbe....

Értem!

A sebességet nem lehet megduplázni. 33khz. Ez max 33 000/2 impulzus.
Ha egy imp /bit et számolunk akkor értelemszerűen 16,5kbs. Remélem jól számoltam:) Ez a max. Elméletileg. Na ezt nem lehet megcsinálni!:) Max sötétben, 10 centiről, hogy ne vesszen el egy bit sem! De a TSOP max 2400-at tud. A miért az adatlapban van! Tehát ez sem igaz....
Másik kódolást nézz, mint az RC5. PL a SIRC (Sony találmány) Nem hinném, hogy pár byte adatnál többet szeretnél átvinni.

Illetve tanulmányozd át a TSOP adatlapot. Abból kiderül, hogy mikor vesz mintát a jelből, és mennyi a tolerancia! Nem akarom ide leírni ami ott van!

Másik megoldás:
Nem kell pwm.

serout a barátod!!!!:) az ő legjobb barátja a serin:)

SEROUT var , bts , port , pin, baud , parity , dbits , sbits

1200 Boud-al elég is lesz és kicsi lesz a hibaarány is!


Itt senki nem nevet ki senkit.:)

Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

HozzászólásSzerző: Theophrast » 2012. február 28. kedd, 21:08

kb 100 - 150 bit adatot kellene átvinni -ezt ha jól számoltam RC5 szerint oylan fél másodperc körül van + számítások

vajon 0,7 s még elfogadható idő egy azonosításra?

Egy kérdés:
Egyszer ugye Manchester kódolás kellene-ez még megoldható a küldött adatok transzformációjával..
A TSOP1736 adatlapjában van egy válaszjel és relativ frekvencia diagram - láma kérdés de ha csak simán sorosan kiküldjük az adatot (vivőfrekvencia nélkül) -nem lesz abból baj?
Elvileg pont azért kell a vivőfreki hogy ne legyen érzékeny a külső tényezőkre...
Holnap azért csinálok egy próbát - mostmár kíváncsi lettem :P
És köszönöm a tippet :P

Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

HozzászólásSzerző: kovacsna » 2012. február 29. szerda, 7:28

Az nem idő!:)

Bőven! Amíg nyomod a gombot az maga ~2 mp.


Kell a vivő, mert az a lelke a TSOP-nak. A vivőnek megfelelően alakul a "mintavételezés"!
Az érzéketlenség másból is adódik. Az a kódolásból!
Pl:

RC5-nél 32 impulzus egy bit. Attól függ, hogy 1 vagy 0, hogy a keretidő elején vagy végén van.

A start jelnél a vevő rászinkronizál a vivőre, és kezdődik a kiértékelés.
Akkor lesz érvényes adat (pl. 1) ha a 32. +/- X. impulzus alatt jelcsere történik a T0+32 imp időnél. Érted?

Effektíve lehet, hogy pl. a 15. és 23. impulzus kimarad. Mert valami zavarás volt. Megnyomtak egy másik távirányítót, stb. De a 32. impulzus már a helyén van.

Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

HozzászólásSzerző: nobody_hun » 2012. május 31. csütörtök, 14:52

Azt szeretném megkérdezni, hogy mi az egyszerűbb megoldás, ha nincs szükségem a 38kHz-es vivőre?

a., oldjam meg szoftverből
b., tegyek szűrőt az AVR kimenetére
c., csináljak optocsatolót IR ledből és vevőből

A feladat az lenne, hogy egy DSP-t kellene vezérelni AVR-rel megvalósított "távirányítóval".
"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 » 2012. május 31. csütörtök, 14:59

Mi a feladat/kérdés?
Mihez akarod használni?

Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

HozzászólásSzerző: nobody_hun » 2012. május 31. csütörtök, 20:45

Van egy meglevő áramkör, amelyet valamikor csak NEC kódolású távirányítóval lehetett használni.
Ezt kellene kiegészítenem úgy, hogy az AVR-rel is vezérelhető legyen.
Szoftver nem gond, már megírtam, működik is.
Hardver oldalról sem gond, két diódával összelehet hozni az AVR és az IR kocka kimenetét, de ehhez az kell, hogy az AVR ne adja ki a 38kHz-s vivőt, csak a jelsorozatot.
A legegyszerűbbnek az tűnne, hogy a IR vevő melléragasztani egy IR ledet, amit az AVR vezérel.
Csak erre, kevés a hely, ezért keresek valami más megoldást.
"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."


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