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
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.
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.
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.
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.
Az ilyen eszkozoket hivjak kapcsolouzemu tapegysegnek. Viszont nem eleg a fet, kell bele tekercs es kondi is. Szerintem cel IC-t hasznalj.
É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.
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.
LTC3727-tel jok a tapasztalataim, szerintem jo lesz neked is.
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.
Jogos a kritika, ebben teljesen igazad van. Amit te ajalnlottal, az azert nem jo, mert 6-8A-re van szuksege.
Elnézést, nem olvastam vissza alaposan.
Igazad van!
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?
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!
Igen, ezt a megoldast nem ritkan szoktak alkalmazni, amikor tapzajra erzekeny eszkozoknek kell visszonylag hatekonyan tapfeszultseget eloallitani.
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
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...
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.
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.
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.
Jó, akkor átmegyek a "Kezdő kérdések"-be, és rögtön kérdezek is.
Ü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
Fontos lenne tudni, hogy mégis melyik verziót használod. A build verziószámát mondd meg.
Hali
version 4.12 build 460
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.
Hali
Köszi, megpróbálom.
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:
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)
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. |
Bejelentkezés
Hirdetés |