Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
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
Lapozás: OK   328 / 840
(#) sgt válasza Topi hozzászólására (») Máj 30, 2011 /
 
Ha programozás közben ér le testre akkor is jelzi?

Egyik LED sem világít ha feldugom USB-re. 12V-nál nagyobb feszültséggel pedig nem ügyködtem, de azzal is csak tranyón keresztül, és más lábbal. Az USB csatlakozó mellett a sarokban van egy négyszögletes valami (szerintem tekercs), és az melegszik mint a fene, ha rajta van USB-n. Most jelenleg még a kábel sincs rajta.

Igen azt néztem, hogy az IC-n belül minden kimenet/bemenet diódázva van.

Amit még elfelejtettem írni, hogy amikor meghalt, akkor a gép rögtön kikapcsolt. A gépen az USB-nek nem esett baja.
(#) Topi válasza sgt hozzászólására (») Máj 30, 2011 /
 
Akkor USB rövidzár.
Akkor a táp része halt meg. Ez már egy viszonylag nagyobb probléma.

Mérd ki még a tantálokat, néha azok is okozhatják. Ha pl a kimeneti puffer tantálnak lett átvezetése, akkor emiatt melegedhet az induktivitás.
(#) sgt válasza Topi hozzászólására (») Máj 30, 2011 /
 
Ha a tantálok így néznek ki, akkor meg van a hiba, mert kettő van, és mindkettő rövidzár lett. Rajz szerint mindkettő 6V, egyik 47uF, másik 10uF.
(#) Reggie válasza sgt hozzászólására (») Máj 30, 2011 /
 
Igen, a kepen tantalok vannak. Viszont azert forraszd ki, es ugy allapitsd meg a rovidzart, mert ha igenyesek voltak, akkor akar tranziens szupresszor is lehet az aramkorben, ami koztudottan rovidzarkent hal meg.
(#) vagnerjazon hozzászólása Jún 1, 2011 /
 
Lehetséges megoldani azt, hogy egy 12V-os akkumulátor feszültségét az AVR 1:2 arányú feszültségosztón figyeli ADC-n, és ennek megfelelően ad ki egy olyan kitöltési tényezőjű PWM jelet egy FET-nek, így állítva elő 5V-ot (vagy 6V-ot, attól függ, melyik kell)?
És az AVR mehet is erről az 5V-ról amit saját maga állít elő?
Az a helyzet, hogy nem szeretnék feszültségstabilizátort használni a nagy veszteség miatt, és azért kéne folyton figyelni az akkut, mert ha rendesen fel van töltve, akkor 13-13,5V is lehet, és az lenne jó ha 5V lenne.
Ha lehetséges, akkor milyen FET-tel kéne csinálnom (kb. 6-8A-t kéne tudnia minimum, de nem baj ha nagyobb a FET)? És azt hogyan kell bekötni (az a helyzet hogy eddig csak sima tranzisztort használtam)?
Köszönöm.
(#) Reggie válasza vagnerjazon hozzászólására (») Jún 1, 2011 /
 
Az ilyen eszkozoket hivjak kapcsolouzemu tapegysegnek. Viszont nem eleg a fet, kell bele tekercs es kondi is. Szerintem cel IC-t hasznalj.
(#) vagnerjazon válasza Reggie hozzászólására (») Jún 1, 2011 /
 
És például milyen típusú cél IC-t ajánlasz? Mint leírtam, 12V körüli feszültségből kéne 5V és 6V.
(#) sikolymester válasza vagnerjazon hozzászólására (») Jún 1, 2011 /
 
Hát ezzel csak egy baj lenne, mégpedig az, hogy ugyan Münchhausen báró kitudta magát húzni a mocsárból a hajánál fogva, de ezt mások nem nagyon tudták még utánozni.

Hogy érthetően fogalmazzak. Hogyha az AVR kimeneti jele szabályozza a tápfeszültségét, akkor amíg nincsen tápfeszültsége, mivel nincsen kimeneti jele, hogyan indul el az egész folyamat?

Persze mondhatod azt, hogy te cseles leszel és egy zéner diódás, netán fesz stabos áramkörrel adod először a tápot, majd utána ha feláll az avr, akkor egy elektromos kapcsolóval(tranzisztor, FET...) kilövöd ezt a fesz stabot. Mindezek utána pedig indítod a szabályzóköröd.

Ebben az esetben elméletileg persze működhet a dolog, habár nem biztos, hogy triviális lesz az áramköröd összeállítása, mert egy LC áramkör javasolt egy "buck konverternél", az pedig, hogy ez pontosan milyen alkatrészekből álljon, hogy igazán szép legyen a kimeneti feszültség már művészet (nem azt mondom, hogy nem jó bármelyik tekercs + kondi, de azért van nagy különbség az eredményben, ha tudod mit csinálsz).

Jó hír, hogy bizonyos AVR-k ben van egy belső referencia fesz, az Atmega8-nál ez ~1,1V. Ezt rá tudod kötni az ADC bemenetre. Referencia meg ugye a tápfesz lesz. Ily módon tudod mérni a tápfeszültségét az AVR-nek és tudod szabályozni a "buck konvertered".

Én nagyon javaslom a tesztelésnél, hogy legyen egy zéner diódás biztosításod, arra, hogy ne menjen a feszültség 5,5V fölé, mert akkor meghal az AVR elég nagy eséllyel. Egy megfelelően terhelhető zéner dióda, vagy egy "crowbar" áramkör jó lesz erre.

Én bátorítalak arra azért, hogy jelezd vissza, hogy sikerült e megcsinálnod ezt, mert engem érdekel.
(#) Reggie válasza vagnerjazon hozzászólására (») Jún 2, 2011 /
 
LTC3727-tel jok a tapasztalataim, szerintem jo lesz neked is.
(#) sikolymester válasza vagnerjazon hozzászólására (») Jún 2, 2011 /
 
Ha konkrét IC-t szeretnél, akkor hadd javasoljak én is egyet:

TI tl2575

Van belőle változtatható feszültség kimenetű is. Nem akarom a kolléga által ajánlottat kritizálni, de ennek a használata egy kicsit egyszerűbb.
(#) Reggie válasza sikolymester hozzászólására (») Jún 2, 2011 /
 
Jogos a kritika, ebben teljesen igazad van. Amit te ajalnlottal, az azert nem jo, mert 6-8A-re van szuksege.
(#) sikolymester válasza Reggie hozzászólására (») Jún 2, 2011 /
 
Elnézést, nem olvastam vissza alaposan.
Igazad van!
(#) vagnerjazon válasza sikolymester hozzászólására (») Jún 3, 2011 /
 
Közben rendeződött egy-két dolog, így csak 5V kell, 6V nem, és csak kb. 3-3,5A, de ettől még valahogy így szeretném megoldani.

Viszont arra gondoltam, hogy mi lenne, ha a PWM-mel nem 5V-ra szabályoznék, hanem 7V körülire, és arra meg feszültségstabilizátor menne, így lenne ugyan veszteség, de sokkal kevesebb, mintha 12V-ból csinálna 5V-ot. És így akkor talán nem is lenne olyan fontos, hogy nagyon szép legyen a kimeneti feszültség. Mondjuk egy nagy elko meg egy kerámia rá és mehet is a feszstabra.

Vélemény esetleg?
(#) samu003 válasza sikolymester hozzászólására (») Jún 3, 2011 /
 
Hali!

Tökéletes megoldás! És megy is minden rendben. Csak még egy kis segítség kellene. Most egy freki mérés kellene. Vagyis inkább olyan időzítés kellene ami a INT0 láb magas jel között eltelt időt kellene megmérnem. Tehát a kérdés: hogyan tudom beállítani a megszakítást hogy az eltelt időt ki tudjam olvasni valahonnan. mx freki 5khz minimum pedig 60 hz.Ha már kapok egy long értéket az nekem tökéletes!
Köszönöm!
(#) Reggie válasza vagnerjazon hozzászólására (») Jún 3, 2011 /
 
Igen, ezt a megoldast nem ritkan szoktak alkalmazni, amikor tapzajra erzekeny eszkozoknek kell visszonylag hatekonyan tapfeszultseget eloallitani.
(#) yoman917 hozzászólása Jún 4, 2011 /
 
Sziasztok
Termisztoros hőmérőt szeretnék attiny 2313-al csinálni. Olyan kérdésem lenne, hogy egy 10K termisztort szemeltem ki, a datasheeten rajta van, hogyan lehet kiszámolni a hőmérséklet függvényében az ellenállást, illetve az ellenállás függvényében a hőmérsékletet. Melyiket lenne célszerű használni, és ezt hogyan tudnám beleirni a programba?
Üdv,
yoman
(#) trudnai válasza vagnerjazon hozzászólására (») Jún 4, 2011 /
 
Nekem meg mindig nem vilagos, hogy miert nem hasznalsz inkabb egy MCP1703-at, 2uA veszteseggel dolgozik, ezt megfejeled egy teljesitmeny tranyoval / FET-tel es keszen is vagy... Nincs melegedes, minimalis veszteseg, ossze forrasztos 2 perc alatt...
(#) vagnerjazon válasza trudnai hozzászólására (») Jún 4, 2011 /
 
Mármint hogy érted hogy megfejelem egy tranyoval/FET-tel? Nem értem. Azt hova kéne kötni? Az MCP1703-ból kijön az 5V 250mA terhelhetőséggel, és azzal mit csinálok? Mondjuk azt sem értem hogy hogyan kell beállítani hogy 5V-ot adjon.
(#) Hooligan01 válasza yoman917 hozzászólására (») Jún 4, 2011 /
 
Szia!

Az Attiny2313-ban nincs ADC...
Ezt gondold át egy kicsit.
(#) gabi20 válasza yoman917 hozzászólására (») Jún 4, 2011 /
 
Használj inkább LM35 és Attiny13 - at. Ezekkel többre mész :yes:
(#) trudnai válasza vagnerjazon hozzászólására (») Jún 4, 2011 /
 
Ez nagyon off tema itt, de egy emitter koveto kapcsolast teszel ra. A 1703-at tulajdonkepp referencia feszultsegnek hasznalod es azzal hajtod meg a vegfokot (bazisra vagy gate-re kotod a megfelelo ellenallassal, kb ilyen egyszeru). Amugy ebbol az ICbol gyarilag beallitott feszultsegek kozul lehet valasztani, es nyilvan egy 5V-osat kell neked valasztanod. De lehet jobb lenne masik topikban folytatni ezt, mert ennek semmi koze nincs az AVR-ekhez.
(#) sikolymester válasza samu003 hozzászólására (») Jún 4, 2011 /
 
Olyat kell csinálnod, hogy az egyik timert, ami szabad elkezded járatni. Amikor az int0 magasra interruptot ad, akkor kiolvasod, hogy mennyi idő telt el a timer szerint, és az feljegyzed, majd a timert nullázod.
(#) vagnerjazon válasza trudnai hozzászólására (») Jún 4, 2011 /
 
Jó, akkor átmegyek a "Kezdő kérdések"-be, és rögtön kérdezek is.
(#) Sanyi87 hozzászólása Jún 5, 2011 /
 
Üdv mindenkinek!
Valaki tapasztalt olyat, hogy eeprom.h file használatakor kifagy az AVR Studio? Egyszerűen már akkor kifagy, ha beillesztem az include sorok közé a header file-t. Ezek után a projektet sem tudom már megnyitni.
köszönöm
(#) sikolymester válasza Sanyi87 hozzászólására (») Jún 5, 2011 /
 
Fontos lenne tudni, hogy mégis melyik verziót használod. A build verziószámát mondd meg.
(#) Sanyi87 válasza sikolymester hozzászólására (») Jún 5, 2011 /
 
Hali
version 4.12
build 460
(#) sikolymester válasza Sanyi87 hozzászólására (») Jún 5, 2011 /
 
Nos, akkor hadd javasoljam a legújabb AVR Studio használatát. Ami Version 4.18 build 716, vagyis a service pack 3 a 4.18-as verzióra.

Lefogadom, hogy ezzel nem lesz gondod.
(#) Sanyi87 válasza sikolymester hozzászólására (») Jún 5, 2011 /
 
Hali
Köszi, megpróbálom.
(#) pintad hozzászólása Jún 6, 2011 /
 
Sziasztok. Nem olvastam végig 326 oldalt, így nem tudhatom hogy volt-e már kérdés.
A problémám az, hogy ATMega16-os processzort 16Mhz-es kvarccal használva sehogy se tudok kommunikálni vele. (programozás során) Minden esetben ezt a választ kapom:
  1. avrdude.exe: Device signature = 0x000102
  2. avrdude.exe: Expected signature for ATMEGA16 is 1E 94 03
  3.              Double check chip, or use -F to override this check.

Arra gondoltam, hogy lehetséges, hogy a nem bufferelt stk200-as programozóm (illetve az LPT portom) lassúsága a probléma oka? Ha nem, akkor mi?
(több ATMega16-al és több kristállyal is próbáltam, 12Mhz-en mindegyik szépen működik, 16Mhz-en meg ezt adja)
(#) sikolymester válasza pintad hozzászólására (») Jún 6, 2011 /
 
Hacsak nem Atmega16L típussal próbálkoztál, aminek a max sebessége 8 Mhz, akkor én azt mondom, hogy a programozóban van a hiba. Vagyis vagy az lpt portod nem megfelelő, vagy az stk200-as hardvered.

Én emlékezetem szerint sikeresen programoztam az én stk200 -as programozómmal 16Mhz-en ketyegő Atmega16-okat.
Következő: »»   328 / 840
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