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   128 / 840
(#) ATtiny válasza szovhoz hozzászólására (») Jún 6, 2009 /
 
Egy motor pontos pozítciójának meghatározása teljesen állatlános feladat. Melyre már nagyon régóta pozítció szenzorokat használnak. Ha neked fontos a pontosság, akkor sokkal egyszerűbb ha veszel egy Encodert Bővebben: Link. Ezekkel igen pontos tized fokos pozícionálást lehet elérni. Ráadásul könnyen illeszthetők mikrokontrollerhez. A te reed relés rendszeredben egyszerüen túl sokat mozog a motor olyan tartományban ahol fogalmad nincs hol van pontosan a tengely. A te módszered csak akkor működik, ha mindíg abban a pozítcióban álsz meg a motorral, ahol a reed jelez. Mivel ekkor tudod, hogy hol van a motor. Minden egyébb esetben csak sejtheted pl. az előző reed impulzus óta eltelt időből, hogy hol van kb. a motor. Ez sosem lesz pontos.
(#) Tomi20 hozzászólása Jún 7, 2009 /
 
Sziasztok

Most szeretném kezdeni az AVR-ekkel való ismerkedést, első lépésként rendeltem innen a HEStore-ból AVR programozót (AVR-ISP). A gondom a driver telepítéssel van, a gépemen 64bites windows7 van, és egyik driverrel sem működik. Szerintem a 64bites Vista driverrel működnie kellene, csak szerintem ami fent van itt az oldalon Vista driver az 32 bitesé, mert kiírta, hogy a driver nem erre a platformra készült. Remélem tud valaki segíteni, ezért nem szeretném visszarakni az XP-t.
(#) Topi válasza Tomi20 hozzászólására (») Jún 7, 2009 /
 
Amíg a Windows7 csak RC, addig nem fogok neki semmilyen driver készítésnek.

Használd HID módban AVRDude-al. De 64 bites Vista drivernek jónak kell lennie.
(#) zombee válasza Tomi20 hozzászólására (») Jún 7, 2009 /
 
Hello!

Első körben a nyomtatóportos ISP-t tudom javasolni neked. Sajna AVR-Studio nem áll szóba vele, de a PonyProg igen. Ez utóbbi nagyon egyszerű program, természetesen segíthetek ott ahol tudok.

Nekem még assemblerben kezdték tanítani az AVR-t itt az egyetemen, végül viszonzott szerelem lett belőle , azóta sem tudok leállni a dolgokkal. Egy darabig C-ben is toltam, de a mostani alkalmazáshoz(induktivitásmérő) sajna elrontja az időzítést, ezért több mint egy év után újra elővettem az assemblert, és hipphopp kész lett a frekimérő rész. Már csak aritmetikázni kell kicsit...

Nah, lényeg a kezdéshez, én is így kezdtem. Ami kell:
ATMEGA16 v. ATMEGA8 v. ATTINY2313
Breadboard
pár darab 7805-ös kocka
mobiltöltő
Soksok LED, lehetőleg forraszd a lábukra a 470-es ellenállást.
Jósok UTP patch kábel, lényeg hogy a drót kemény legyen, azt tudod dugdosni a breadboardban.
Egy darab centronics, 25 tűs apa csatlakozó, melybe be kell forrasztanod 6 vezetéket v. szalagkábelt. Ehhez kell egy 6-os tüskesor, és elkészítheted életed első ISP programozóját.

És egy kis reklám:
Adhatok JTAG-et, ez együttműködik az AVR Studio-val, soros portra megy, és driver se kell. Jelenleg én is ilyennel égetek.
Van még USB-s ISP programozóm, ez is együttműködik az AVRStudioval, de ehhez 3 féle programot/drivert fel kell tenni, persze ebben is segíthetek.
(#) Topi válasza Topi hozzászólására (») Jún 7, 2009 /
 
Külön 64bitre fordított. Próbáld ki:
(#) Tomi20 válasza Topi hozzászólására (») Jún 7, 2009 /
 
Ez meg digitális aláírás miatt nyavajog. Esetleg ezt a biztonsági hülyeséget nem lehet valahogy kikapcsolni? Ha minden kötél szakad, akkor holnap felrakom a 32 bitest(csak akkor nem látja az összes RAM-omat), ahhoz elvileg jónak kell lennie a Vista drivernek.
(#) Tomi20 válasza zombee hozzászólására (») Jún 7, 2009 /
 
Köszönöm, de sajnos a laptopomon már nincs LPT port, ezért lenne jó az USB. Suliban én C++-t tanulok, ezért gondoltam, hogy talán lesz esélyem a mikrokontrollerek világában. Mostantól rendszeres látogatója leszek ennek a topicnak(is) de előbb nekiveselkedek a végigolvasásának.
(#) Norberto válasza Tomi20 hozzászólására (») Jún 7, 2009 /
 
Hidd el, jelen pillanatban, ilyen téren jobban jársz, hiszen ez a topik csak negyedakkora hosszúságú, mint a PIC-es
(#) zombee válasza Tomi20 hozzászólására (») Jún 7, 2009 /
 
Az előttem hozzászólóhoz még reagálva, szerintem nem a topik hossza ami miatt jobb választás lehet egy kezdőnek az Atmel.

Az igazi előny az az egyszerűség, amivel ANSI C nyelven máris a lovak közé csaphat, széles palettájú hardver és szoftver támogatással rendelkezik, nem kell hozzá 15-20e Ft-os égető(bár egyes PIC-ekhez sem kell már), ja és nem utolsó szempont hogy egy AVR-t sokkal nehezebb kinyírni(fordított tápfesz, félreprogramozás, túlterhelt port, stb...).

A neten megtalálható kapcsolások nagy részét megépítették, kipróbálták. Bár tény, hogy kis hazánkban a PIC az elterjedtebb, ehhez van a legtöbb magyar nyelvű leírás, remélem az ehhez hasonló topikok kicsit változtatnak majd az arányon. Pl. várható számomra egy állásajánlat, de lehet hogy megkötés lesz: "csak PIC", amihez még nem értek.
(#) vtsoftware hozzászólása Jún 7, 2009 /
 
Sziasztok

Volna egy olyan kérdésem hogy szerintetek az AVR-Doperbe elég-e 3,3V-os zener D3 diódának 3,6-os helyett?

Köszi szépen
(#) zombee válasza vtsoftware hozzászólására (») Jún 7, 2009 /
 
ha USB-t akarsz, akkor inkább jobb ha nem térsz el a 3.6V - tól... :no:
(#) Topi válasza vtsoftware hozzászólására (») Jún 7, 2009 /
 
Hát elvileg jó a 3V3-as is. A kis áramok miatti letörés miatt volt benne 3V6. Baja az USB-nek nem lesz a 3V3-astól, meg igazából működnie is kell.
(#) Topi válasza Tomi20 hozzászólására (») Jún 7, 2009 / 4
 
Aláírás nyavalygásra megoldás:
1. Szedd le: "Driver Signature Enforcement Overrider" nevű kis progit.
http://www.ngohq.com/home.php?page=dseo
2. Indítsd el, válaszd a listából a "Sign a System File"-t.
3. Válaszd ki a sys fájlt. Klikkeld végig.

3. Indítsd el újra, válaszd ismét a "Sign a System File"-t és most válaszd ki az inf fájlt.

4. Indítsd el megint és válaszd az "Enable Testmode"-ot. Majd klikkelgesd ezt is végig.

Ezután adj egy restartot a gépnek. Mennie kell, Win7 alatt is!
(#) wg_kezdo hozzászólása Jún 7, 2009 /
 
A napelem teljesítéményét szeretném mérni AVR-el.
A feszültség ahogy méregettem nagyon keveset változik, de az áramerősség nagyon ingadozik így a kettő szorzata is.
Vagyis az eredeti elképzelésem, hogy csak a feszültségét mérem az analóg bemenettel nem ér semmit. Még árnyékban is nagy a feszültsége, de az áramerősség 40mA-ről 4-5-re megy le.

Sajnos kevés a tudásom ahhoz, hogy megoldjam a fenti problémát, az angol nyelvű honlapokkal nem mentem semmire, ha elég lett volna akkor nem teszem fel ide a kérdést.
(#) Topi válasza wg_kezdo hozzászólására (») Jún 7, 2009 /
 
A feszültsége azért tűnik állandónak, mert nincs terhelés rajta. A napelemet egy több MOhm esetleg egy több tíz MOhm belső ellenállású műszerrel mérve egyáltalán nem terheled le. Már megfelelő lesz a mérés, ha pl egy 47-100K-s ellenállással párhuzamosan méred a napelem kimenetét. Minden féle képpen, terhelni kell a kimenetét!

Terhelés után pedig elég csak feszültséget mérni asszimetrikusan. Napelem Föld = ADC föld.
(#) zolee1209 válasza zombee hozzászólására (») Jún 7, 2009 /
 
PIC-kel még nem volt dolgom, csak egyet kettőt felprogramoztam. Nagyon az elején állok még a dolgoknak, én assemblyben próbálkozom, mert magas szintű nyelvet még nem tanultam. Az AVR "tűrőképességét" meg tudom erősíteni, többször előfordult már, hogy ATmega32-re fordított tápfesz került, illetve rosszul raktam be a foglalatba és bekapcsoltam a tápot! Még most is ketyeg rendesen! :yes:
(#) Tomi20 válasza Topi hozzászólására (») Jún 7, 2009 /
 
Üdv.

Tökéletesen működik a programozó, mostmár semmi sem állhat az utamba.
Köszönöm a segítséget.
(#) san398 hozzászólása Jún 7, 2009 /
 
Egy ASM file-hoz kérném a segítséget. A mellékelt asm file egy órának a forrása ami az idő mellett kijelzi a hőmérsékletet is.Az időt jeleníti meg kb 5mp-ig majd a hőmérsékletet 5mp-ig, majd megint az időt és így tovább.A segítség abban kellene hogy mit kellene módosítani ahhoz hogy csak az időt mutassa. Az forrás egy AT89C2051 processzorhoz tartozik amihez egy DS1307 van kapcsolva.A forrás valószínűleg oroszul van kommentezve ezért a sok furcsa karakter. Minden segítséget szívesen fogadok és nagyon megköszönöm.

main.asm
    
(#) kendre256 válasza wg_kezdo hozzászólására (») Jún 7, 2009 /
 
Ebben a hozzászólásomban már leírtam, hogyan lehet a napsugárzást napelemmel mérni.
Magyarul...
(#) gtk válasza san398 hozzászólására (») Jún 7, 2009 /
 
Igy elso ranezesre :
  1. INDIC:
  2.       JB FLAG,INDIC_TERM;
  3.       JMP INDIC_TIME;

modositod erre:

  1. INDIC:
  2.       JMP INDIC_TIME;

Persze ujra kell forditani. (Meg sok mindent ki lehetne szedni belole ami a homeressel kapcsolatos...)
(#) zombee hozzászólása Jún 7, 2009 /
 
Üdv mindenkinek.

Építettem egy LC mérőt ATMEGA16 köré, bár jelenleg még csak induktivitást mér.
Szerintem elég pontos. Ha a frekvenciamérőjét nézzük, akkor az 1H-s környezetben is 5% alatt marad a pontatlanság.
Az aritmetikai rész még nem teljesen tökéletes, még nem állít méréshatárt a szorzóknál. A frekvenciát amúgy 64-el leosztom a négyzetreemelés előtt, hogy ne fusson ki a 32 bitből. Emiatt 2kHz környékén(500mH) már nem annyira pontos, de azért nagyjából elmegy.

A rezgőkör jelenleg a rajzzal ellentétben egy 10nF-os kondiból és egy 47uH-s tekercsből áll. A tekercs cseppentett alakú, nem a 0.125W-os ellenállás-kivitelű. Érdemes hangolható tekercset rátenni, hogy rövidrezárásnál 0uH-ra be lehessen állítani, ugyanis a műszer jelenleg uH-ban fejezi ki az értéket.

A tekercs bekötése: a földelt végén meg kell szakítani, és beszúrni a mérőfejet. Az eredmény magáért beszél.

Érdemes 2 soros kijelzőt használni. Az első sorba a frekvenciát, a másodikba a mért induktivitást írja ki.
A módválasztó relé, és a hangszóró még nincs leprogramozva, az elhagyható. Lehet hogy relé helyett kapcsolót használok majd, ahogy a PIC-es változatnál.
(#) zombee hozzászólása Jún 8, 2009 /
 
Közben elővettem az USBTiny eszközömet, gondolom ismerős pár embernek. Bővebben: Link

Felismeri, villogtat, még a FUSE biteket is láthatom vele, de nem nagyon akar programozni.
Connect után hibaüzenetet kapok, hogy firmware-t kéne frissíteni(???), égetéskor meg elcseszi...

A probléma bővebb leírása itt található.Bővebben: Link
(#) san398 válasza gtk hozzászólására (») Jún 8, 2009 /
 
Köszönet a segítségért!
(#) Magor hozzászólása Jún 9, 2009 /
 
Sziasztok!

Szeretném a segítségeteket kérni. Már régóta tervezek és programozok PIC mikrovezérlőket és most arra gondoltam, hogy kipróbálom az AVR-eket, ezért beszereztem egy ATMEGA16-ost.

Szeretnék építeni hozzá egy kis devboatdot. A kérdésem az lenne, hogy az AREF lábra milyen feszültséget kössek(GND vagy +5V), ha 0-5V-ig akarom rákötni a potmétert.

Segítségeteket köszönöm előre is!
(#) Tomi20 hozzászólása Jún 9, 2009 /
 
Üdv

C-ben szeretnék AVR-t programozni, és olyan problémám van, hogy a fordítás után mindig marad egy ilyen figyelmeztetés:
Idézet:
„c:/winavr-20090313/lib/gcc/../../avr/include/util/delay.h:85:3: warning: #warning "F_CPU not defined for

Ugyan lefordul a program, de nem tudom ez befolyásolja-e a működést. WINAVR-t felraktam a GCC miatt, de AVRStudo-ban fordítom. Atmega16 belső oszcillátor 1MHz.
(#) zombee válasza Tomi20 hozzászólására (») Jún 9, 2009 /
 
Hali.

A "delay.h" kéri nagyon szigorúan, ugyanis szoftveres időzítő lévén hogyan késleltessen, ha nem tudja mekkora az órajel?

2 megoldás:
a programkód elején beállítod: #define F_CPU 1000000
vagy a Project Options résznél hasonló helyen 1 milkát beírsz
(#) Tomi20 válasza zombee hozzászólására (») Jún 9, 2009 /
 
köszi
(#) GTI válasza Magor hozzászólására (») Jún 9, 2009 /
 
Szia

Az AREF láb az ADC referencia feszültsége, így ha 5V kötöl rá akkor 0-tól 5V fog mérni az ADC, ha pl csak 3V kötöl rá akkor csak 0-tól 3V mér, stb.

Úgyhogy az 5V ajánlom
(#) Magor válasza GTI hozzászólására (») Jún 9, 2009 /
 
Köszi a segítséget!
(#) tibi0531 válasza GTI hozzászólására (») Jún 9, 2009 /
 
Szia!
Szerintem, meg hagyd szabadon és köss rá egy 100nF-os kondenzátort. Így a megfelelő konfigurálással tudod használni a 2,56V-os belső referenciát és a tápfeszültséget is. Ezenfelül hagyhatsz rövid kivezetést is,amire ha keli, köthetsz egyéb feszültséget is.
Következő: »»   128 / 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