Fórum témák
» Több friss téma |
WinAVR / GCC alapszabályok: 1. Ha ISR-ben használsz globális változót, az legyen "volatile" 2. Soha ne érjen véget a main() függvény 3. UART/USART hibák 99,9% a rossz órajel miatt van 4. Kerüld el a -O0 optimalizációs beállítást minden áron 5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás 6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et Bővebben: AVR-libc FAQ
Gsm modul egy sima Siemens M35i mobiltelefon.
Sziasztok!
Van egy ilyen Bluetooth-TTL modulom: BT-TTL Modul A mikrokontrollerhez történő illesztésével kapcsolatban lenne egy kérdésem. Az világos a mellékelt linken lévő ábráról, hogy a modulnak 3,3V és GND kell. De abban nem vagyok biztos hogy a mikrovezérlőről a modul RX pinjére érkező 0V és 5V-os TTL jeleket is illesztenem kell-e (át kell konvertálni az 5V-ot 3.3V-ra), és hogy a TX-ről a mikrovezérlő felé menő jeleket is illesztenem kell-e. Hogyan lehetne azt kideriteni, hogy a BT modul 0 és 3.3V-os, vagy 0 és 5V-os jelszintekkel kommunikál? Köszi, Gábor
Szerintem át kell konvertálni a ki és bemenő jelet is, kivéve ha külön kiemelik, hogy nem.
Egy btm-112-höz használom ezt a konvertert. Én a 5->3,3 -hoz is a FETeset választottam és eddig még vette az akadályokat.
megtaláltam a hibát bár még nem tudom komunikációra birni az avr-rel, de rajta vagyok a dolgon!
Remek! További jó munkát és kitartást! Aztán majd írj a tapasztalataidról.
Idézet: „Hogyan lehetne azt kideriteni, hogy a BT modul 0 és 3.3V-os, vagy 0 és 5V-os jelszintekkel kommunikál?” Az adatlapból. Nem láttam a linken. Fellelhető valahol az adatlapja? Nagy valószínűséggel 5V toleránsak, de az adatlap biztosan megmondja majd. A mikrokontroller nem mehet 3.3V-ról?
Köszönöm a jókívánságokat!
A kapcsolást a mellékelt kép szerint módosítottam. Ha a pc csati-ra pc-t kötök a gsm-re a telefont akkor tökéletes kommunikációt eredményez a pc és a gsm között! Ha a gsm-re pc-t rakok akkor az m8 a bascom szimulátora szerint tökéletesen működik és hajtja végre a programot. De az M8 és a gsm nem kommunikál! Ez egy kicsit érdekes hiba. Valakinek valami ötlet
A GSM és az AVR közé nem kell szintillesztés, csak a PC-AVR, GSM közé kell, a rajzodon pont fordítva van.
Gondolom a GSM modulod nem 12V-ról megy, hanem 5V-ról vagy 3.3V-ról, igaz? Tehát ekkora jelszinttel is dolgozik.
Az a biztos, ha ránézel szkóppal.
A kristaly kornyeken kereamiakat kellene alkalmazni elektrolit helyett! Ugyanugy a 100nF kondinak is keramianak kell lennie!
C3, C4, C5, C7 es C9 ertekei hianyoznak! De ami a lenyeg: Nem forditva kellene lennie? Ketlem, hogy a Siemens modulod kimenete RS232 lenne, ott en TTL jelszintre gyanakodnek inkabb. Magyaran a PC fele kellene a transceiver, es a GSM fele pedig vagy nem kell szint illeszto, vagy valami mas kellene oda. PC-vel hogyan kototted ossze azt a mobilt?
C3, C4, C5, C7 es C9 ertekei 1uF
a Pc -s a telefon összekötése mellékelve
Nem kommunikál direktbe sem a telefonnal!
Szerintem viszont kell a szintillesztés abban az esetben ha az AVR nem 3,3V-ról megy. Mivel a telefon aksija kb. 3,6V-os, a kimenő jelszint nem sima hanem 3,3V-os TTL. Az AVR-től a GSM felé menő vonalat egy ellenállás + 3,3V-os zener párossal kellene illeszteni.
A GSM-től az AVR felé jövő vonalat viszont nem biztos, hogy kell mivel a 3,3V-os jelszint elegendő az AVR láb H állapotához. Ha a telefon akkuról megy, akkor elképzelhető, hogy a feszültségszint nem éri el a 3,3V-ot. Ebben az esetben erre a vonalra én tennék egy 74HCT245 (vagy hasonló) buffert, aminek a billenési szintje alacsonyabb így tud működni alacsonyabb feszültségszintről is.
Rendelek egy ilyen buffer-t és kipróbálom!
OK, tehat van egy 3V-os illesztes, amit ket zener kepvsel ezen a kapcsolason. De en nem tudom, hogy ez igy szerencses-e, nincs aram korlatozo ellenallas, es nem tudom a zener mennyire gyors.
Na mindegy, tehat szint illesztes kell mindenkepp.
Sziasztok! ATmega8 - ban levő watchdog timerel van problémám. Úgy állítottam be, hogy kb. 2,1 másodperc után resetelje a CPU - t, ha a WDT nincs törölve.
Az a probléma, hogy miután engedélyezem a WDT - t, akkor azonnal resetel a CPU anélkül hogy várakozna 2,1 másodpercet. Így állítottam be a WDT - t: wdr ldi temp,0x0F out WDTCR,temp Ez így jó?
A programozó leírásában a 3. oldalon megtalálod az ISP csatlakozó bekötését. Ha külön adsz tápot az avr-nek akkor a TVCC és GND láb nemkell, a többit kell bekötni. Hogy hova azt az adott mikrovezérlő dokumentációjában megtalálod. ( reset sck mosi miso )
Köszönöm. Tehát minden AVR-nél elég ezt a hat lábát a programozóhoz kötni?
Húha! Kicsit kezdem elveszíteni a fonalat. Csak a tisztánlátás kedvéért:
Szintillesztés:szint az AVR RX,Tx kimenetén: 0V = low (false) ill. 5V = high (true). Ebből először invertál egyet a MAX232 majd ami true = -3...-25V és ami low az +3...+25V tartományba kerül. MAX232 esetén ez valahol +/-9 Voltot jelent. És mindezt úgy teszi ez az ic, hogy aszimmetrikus +5V tápfeszültségre van szüksége. Mivel egy belső feszültségduplázó állít elő szimmetrikus feszültséget ami RS232 tartományba "hozza" a kimenetet. Ennek figyelembevételével kicsit értetlenül állok a tápfeszültség és szintillesztés közötti bármely párhuzam vonása előtt. A PC RS232 tartományú jelet ad ki, ez valódi soros porton magasabb, újabb gépeken esetleg usb-s soros porton esetenként akár +/-4V-ig is leesik. Majd ezt továbbítjuk a káblelen (max. 15m) és itt visszaalakítjuk TTL szintre. Ezekután pláne nem értem ezt a dolgot: Idézet: „Ha a pc csati-ra pc-t kötök a gsm-re a telefont akkor tökéletes kommunikációt eredményez a pc és a gsm között!” Kábel:PC-X35, a tápot a PC soros portjáról veszi. 6-os, 7-es láb. Ebből állítja elő a 78L05 az ic-nek a szükséges 5V-tápfeszültséget. Illetve a 4-6 és 7-8 össze van kötve. (gyanitom nem a kábelben). Hogyha Te csak simán az AVR-re kötöd akkor nem kap tápot az összekötő kábelben levő ic. Az hogy ott még két zener levágja ezt az jelen esetben nem érdekes. Én a következőt javaslom: 1. mégegyszer ellenőrizd, hogy ez a kapcsolásod tökéletesen működik PC-AVR kapcsolatban. Adás, vétel egyaránt. 2. Kösd be a kábelt a GSM portodba: 2,3,5-ös lábat. 3. Majd adj neki külső tápot a 7,5 lábon. Kb. +7 volt felettit. Megjegyzés: ha jól látom a GSM 2-es lábát a kábel 3-as lábára kellene kötni. És 3-as,2-es esetén is fordítani. Mert amire figyelni kell: ami az adó oldalon Rx az a vevő oldalon Tx és fordítva. Ezért figyelni kell, hogy toldó vagy hosszabító kábelt használunk-e mert az egyikben van 2-es,3-as ér fordítás míg a másikban nincs. Illetve egyiknek azonos csatlakozó van a végeiken (mama) a másik nem (papa-mama) Bocs a hosszúság miatt.
Sziasztok!
Jelenleg egy ilyen programozót használok: stk200 compatible Szeretnék egy kicsit fejleszteni, (főleg a kábelhossz a bajom) a HE-n is megtalálható USB programozóra gondoltam. A kérdésem az lenne, hogy a jelenlegi stk200-ommal fel tudom-e programozni az stk500 vezérlőjét? Elméleti akadályát nem látom, de gondoltam jobb, ha rákérdezek. Egy atmega8-16PU-m lenne a feladatra, úgy néztem az pont meg is felel Előre is köszönöm!
Köszönöm. Rengeteget segítettél.
Laci
Köszönöm a válaszod.
Tehát az egész kapcsolás - beleértve a max232-es szintillesztést is - egy próbapanelen van összarekva. 7805 adja a tápfeszt az AVR-nek és a max232-nek is. a max232 kimenetei és a bemenetei egy-egy d9 csatira vannak kivezetve.Igy lehet ellenőrizni hogy hol lehet a baj.A bascom terminalprogija tökéletesen szimulálja az AVR működését és manuálisan lehet ugye megadni neki hogy mit válaszol a képzeletbeli telefon. A max232 szintillesztőt is lehet próbálni a SIMCO progival! Ez is megfelelően kezeli a telefont! Viszont ha a telefont összekötöm a max232 illesztőn keresztül az AVR-rel akkor semmi komunikáció nincs köztük! És ez az én problémám!
Sziasztok
Mivel jócskámn megfertőztetek AVR-el kéne egy kis gyógyszer. Csak magamnak, hogy értsem kigondoltam egy programot, ami semmi mást nem csinál, mint a beolvasott potencióméter feszültségét PWM-ként visszaadja egy másik lábon. A mellékelt dolog jött ki. Sajna csak a levegővételben nem vagyok kezdő, így hát kell egy kis segítség. Előre is köszönöm.. (Ja... Attyny45) |
Bejelentkezés
Hirdetés |