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
Szerintem túl nagy áram fog folyni a zéner diódán és az ellenálláson, nagyon melegedni fog és nem valami energiatakarékos... De majd a hozzáértők megmondják, hogy jó-e.
Én is osztom vegyészmérnök véleményét. Máshogy szokták megoldani. A hálózati feszültséget egy 220nF/1000V jóminőségű fólia kondin engeded át, egyenirányítod, zenerrel behatárolod, majd egy 220µF puffer kondit teszel be végül. kb.50mA tudsz levenni belőle.
és hogy kell akkor ezt a verziót progizni?
Én úgy programozom hogy a JTAG és az SPI a nyákon ki van vezetve egy tüskesorra, és azon keresztül in circuit hogy úgy mondjam. Pl az atmega128-asomon van JTAG, rádugom az ICE debugger és úgy fejesztem a programot. Amikor kész, akkor SPI programozóval beleírom és kész. Ha meg nem akarod ezeket kivezetni, akkor valamit barkácsolni kell.
Köszönöm a válaszokat!
Igen sok energiát elfűtene, de 10k-ra cserélve az 1k-t, már kedvezőbb lenne a dolog. Az avr-nel elvileg 5mA is elég lehet, power down módban pedig mikroampereket eszik. A lényeg végülis az lenne, hogy szeretnék egy infra vezérelt kapcsolót építni, ami pl. lámpa foglalata mellett elhelyehető. TSOP lenne a vevő, a nagyfesz rész meg optikailag leválaszva + triak. Lehetőleg gyufásdoboz méretben. (Természetesen a mega8-nál kisebb mikrovezérlőt használnék). A soros kondi jó ötlet, de végülis bizonyos szempontból ugyanaz mint az ellenállás (kapacitív reaktencia). Vagyis energiapocsékolás. A Proteusban szimulátam, egyutas egyenirányítás mellett nem is müködik, mert a kondi nem tud kisülni. Vagy csak a progi nem pontos? Szóval várok minden ötletet, hogy lehetne ezt a legjobban megoldani. Üdv
Hidd el ezt a módszert régóta használják, többek között én is. Az ellenállással több energiát fogsz elpazarolni, már én is próbáltam régebben. Nagyon fog melegedni.
A kapcsolások/pic/fényerőszabályzónál ezt a kondis módszert használtam.
A kondi cucc a proteusban ezért nem mükődik mert az ideális alkatrészekkel dolgozik. Nekünk a valóságban meg vannak veszteségek. És a veszteségek miatt világít a kondi után kötőtt led.
Gory,ha nem zavarok..: korabban emlitetted az AVR ICE DEBUGGER -t.Ennek kapcs. rajzat honnan lehet letolteni?
Ezt nem teljesen értem.
A Proteus elvileg számol a veszteségekkel. 470 nF-os kondival teszteltem: fázis, kondi, árammérő, nullavezeték. Így 35 mA-t mértem, amin nagyjából egyezik a 220V és a 6,7k körli reaktencia hányadásával. A Proteus 25 mA körül mutatta. Majd betettem egy diódát a kondi után. A mérés eredménye: AC és DC áram is nulla. A Proteusban először megugrott, majd szintén 0-ra állt be. Graez híd esetén (a kondi sorosan az AC rendszerben) helyes értékeket adott. Ezekből gondolom, hogy 1 diódás egyenirányítás mellet a kondi nem megoldás áramkorlátozásra, mert feltöltődik, de kisülni már nem tud (dioda nem engedi). Kérdés: honnan tudom egy kondinak a teljesítményét, vagyis mekkora AC áram folyhat át rajta max a felrobbanása nélkül? Üdv Idézet: „ Ezekből gondolom, hogy 1 diódás egyenirányítás mellet a kondi nem megoldás áramkorlátozásra, mert feltöltődik, de kisülni már nem tud (dioda nem engedi). ” Es ha biztositanad a kisulest egy ellenallassal?(M.ohm -ra gondoltam;vagy az megenne az aram joreszet?) Idézet: „Kérdés: honnan tudom egy kondinak a teljesítményét, vagyis mekkora AC áram folyhat át rajta max a felrobbanása nélkül?” Egy kondenzátornál nem a rajta átfolyó áram a lényeges paraméter, hanem az a potenciálkülönbség ami a lemezek között felléphet az átütés veszélye nélkül. Visszavezetve akkora áram folyhat át a kondin, aminek hatására az elektródák poteciálkülönbsége nem haladja meg a névleges értéket. A kondi reaktanciája pedig a körfrekvencia függvénye. AC áramot egyenáramú kondin ne vezess át, ez elkó esetén kiemelten érvényes. Proteus esetén használj valós generátort váltóáramú táplálásra... minden más csal. Szóval a kondi akkor durran el, ha a feszültsége eléri a gyárilag megadott átütési feszültséget. HALI!
Köszönöm a választ.
Ok, tehát ezért durrant el egy elkom Szóval ha a fesz ok és nem egyenáramú a kondi akkor nem lehet gond. A Proteusban analog sinusjel generátort használtam, nem tudom, hogy ez ideális vagy valós fesz. forrás. Mit állítasz be, hogy valós legyen a tápod? Gtk: Kösz az ötletet, szerintem müködne, majd kipróbálom. Üdv
Sehol nem lehet megtalálni, de nekem megvan Közzé is teszem. A PCB mappában lévő kapcsolást kell megépíteni. A tápot a céláramkörből nyeri. Én atmeg16-al építettem. Olvassátok el az original doc mappában lévő dolgokat és a miez.txt fájlt.
Az alkatrészek között talász valami olyasmit, hogy virtuális alkatrészek (pontosan nem tudom, mert ahoz át kéne állnom a másik oprendszerre). Van itt pl. kondenzátor ami más színű lesz, ha aktív, meg ilyen okosságok. Szóval itt vannak a valós generátorok is. Van itt többek közt szinuszos generátor (úgy néz ki ahogy azt rajzolni szoktuk... karika benne a ~ jel, és két kivezetés - ezzel akár 3 fázisú rendszer is szimulálható a fázistolás beállításával).
A bal oldali eszköztárban lévőkkel az a gond, hogy a referenciapont hibás. Szóval, ha beteszel egy földpontot, akkor az ugyebár 0 lesz, de ez után minden egyes berakott földpont arra a potenciálra kerül. Továbbá a beépített műszerek nullpontja is az lesz. Ezenfelül az eszköztárban lévő generátorok csak a 0 felett, vagy alatt állítanak elő szinusz hullámot, vagyis az nem valós váltófesz. Váltóáramú eszközök (kapcsolások) vizsgálatához ezt a virtuális alkatrészt kell használni. Én is sokat szívtam vele egy nullátmenet kapcsoló tervezésekor, mire végül rájöttem, hogy mi a hiba. Azóta minden okés és a beépített szkópon is szépen látható a nullátmenetnél kiadott tűimpulzus.
Kösz a választ!
Meglepődtem azon, amit irtál, hogy probléma van a beépített referenciaponttal. Nem tudom azonos-e a verziónk, de kipróbáltam a következőt: bal oldalról sinus generátor, ofset 0V. Egy dioda, ellenállás, föld. A dióda és az ellenállás között oszcilloszkóppal nézve helyes képet adott: poz ága a sin-nak, félhullám szünet, majd ismét poz. Ezek szerint valódi AC-t szimulál, van null átmenet. Üdv
Gory, koszi szepen! Es nagyon tetszik a leiras is!
Udv!
Sziasztok
van egy kis gondom egy AVR JTAG ICE vel: letoltottem egy kapcsilasi rajzot, megepetittem, felprogramoztam a ATmaega 16t es behelyeztem a JTEG ICE be, a WinAVR rel frissitettem a firmwaret. Aztan csatlakoztattam a cel ICt is, szinten Atmega16 ot, es a Studio ayt irja, hogz detektalta a JTEG t de nem latja cel ICt, mi lehet a gond? tud valaki segiteni, elore is koszonom.
Szia!
Nekem nagyon hasonló probléma volt az ICD2-mel (természetesen Pic-hez építettem). Amit javasolnék, hogy nézd át nincs-e benne rejtett érintkezési hiba, vagy rövidzár. Ha ez ok, akkor esetleg nézz utána, hogy az általad letöltött rajz jó-e. Fuse bitek helyesen vannak-e beállítva, mindkét mikrovezérlő hibátlanul müködik-e? Most ennyi jutott eszembe, remélem meglesz a hiba. Bbatka: Kösz a tippet, pont ilyesmire gondoltam. Üdv
Már átnéztem 1000szer, de semmi, most igazábol nem tudom, hogy a cél hardwareval van e gond vagy a programozóval.
Az eredeti leiras szerint, ATmega 163 kell bele, de azt már nem lehet kepni, de egy oldalon olvastam, hogy elvileg jó a 16 it. Az egészet ugy készult, hogy párhuzamos poron letöltöttem egy BOOT progit a 0x1C00 vektortol kezdve, amit az SCH oldalán találtam, a kapcsolási rajzal együtt, a fuse biteket ugy allitottam, hogy a 0x1C00 résztől induljon, es a VIN AVR rel frissitettem a firmwaret, majd a párhuzamos programozoval visszaállitottam a kezdő cimet 0x0000ra, aztán vissza a JTAG ICE be és mér mükodott is, vagyis majdnem. Még egy kérdes: a JTAG portjat az eredeti datasheet szerint felhuzo ellenállásokat kell hasznalni, ezt nem találtam ezen a kapcs rajzon, ez nem lehet gond? A harmadik, a MISO t a MISO val, MOSI t MOSI val, stb kell osszekotni az emulator es cel IC kozott, a nev alapjan igy, de már semmiben sem vagyok biztos. Koszi a tippeket, ha esetleg sikerül feleleszteni, szivesen megosztom a szükséges adatokat az elkeszitesehez (ha valaki nem talalna meg)!
Nezd meg az elozo oldalon ezt a hozzaszolast! #34380
Toltsd le es a miez.txt file-t olvasd el,abban Gory leirja,hogy hogy is kell eleszteni ezt a dolgot. O is mega16 -al csinalta. Udv.
Sziasztok!
Lenne egy kerdesem AVR- programozassal kapcsolatosan. 8 LEDet szeretnek meghajtani mega8 -al. Az PB -n csak 6 lab szabad mert ott van az XTAL,a PD- n sincs szabad 8 lab mert hasznalom az INT-et. Hogy lehet azt megoldani,hogy 8 bit egyik felet kiirom egyik portra,masik felet masik portra? Koszonom.
Az Atmelt azt nem ismerem, de kiirod amit kitudsz az egyik portra majd elforgatod annyit, hogy egy regiszterbe kerüljőn a maradék pár bit és azt meg a másik portra írod ki. Ha ott a többi bitet használod akkor a kettőt úgy maszkolod össze, hogy a bitek ne változzanak.
Az elforgatasnal a jobbra/balra tolasra gondolsz?
Koszi.
Fogod a byteot és kimaszkolod úgy, hogy az egyik portra ki tudjad irni. Aztán a másik felét fogod (amit nem tudtál kiirni) azt meg elforgatod annyit, hogy egy másik portra ki tudd irni.
Ha a másik port felső része (MSB)már foglalt (másra használod) akkor értelem szerüen balra forgatsz ha meg az LSB foglalt akkor meg jobra forgatsz . És úgy irod ki az eredményt a portra, hogy a port bitjeivel csinálsz egy VAGY kapcsolatot. Mert így nem fogod a port eddig bálított bitjeit bántani. Ha meg legközelebb irsz akkor meg 0-ra álítod azokat a port biteket aminek a helyére (forgatás után) akarsz irni. A VAGY kapcsolatban nem vagyok biztos. Idézet: „És úgy irod ki az eredményt a portra, hogy a port bitjeivel csinálsz egy VAGY kapcsolatot. Mert így nem fogod a port eddig bálított bitjeit bántani.” Pontosan erre voltam kivancsi! Hogy ez nekem nem jutott eszembe?? Igen ,szerintem is VAGY muvelet! Koszi!
Én valahogy így csinálnám:
(egyik része a port felső négy bitjeére megy a másik port alsó négy bitjére) B = ledek állása PORTB &= 0x0F; //kinullázod az felső négy bitet PORTB |= (B <<4); vagy PORTB |=(B & 0xF0) természetesen az alsónégy bitnél fordul a forgatás iránya Valahogy íg gondolom >>
Hello!
Bascom Avr-hez keresek at_emulator.lbx-et . Véletlen nem találkozott vele valaki ? |
Bejelentkezés
Hirdetés |