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   90 / 840
(#) vzoole válasza sprofan hozzászólására (») Jan 3, 2009 /
 
A felső is... de ha nem stabil (programozás közbe megáll, hibát jelez), akkor az alsó ajánlott.
(#) sprofan válasza vzoole hozzászólására (») Jan 3, 2009 /
 
Oké, köszönöm nektek
(#) ppeterka hozzászólása Jan 3, 2009 /
 
Sziasztok!

A cikksorozatban megismert uC-k nagyon felkeltették a figyelmemet, és el is kezdtem töprengeni, tervezgetni - egyelőre még csak "szárazon" - IC-k, sőt programozó nélkül, némi AVRStudio-ATmega128 gyakorlattal a hátam mögött...

Remélem nem teszek fel unalomig ismételt kérdéseket, de sajnos - vagy hál'istennek - elég hosszú ez a topik is, hát még a többi...

Némi ötletelés után abba a problémába ütköztem, hogy hogyan lehetne kapcsolatonként 2 port használatával egy 2313-ast és sima 13-asokat összekötni, úgy, hogy a 2313 USB-n is kommunikál... USB illesztéshez annyi a kódminta, hogy csak na, de ilyen "talpas-soros" bitkurkász megoldást nem találtam - de lehet, hogy eleve rossz az elgondolás...

Ti hogy oldanátok meg ezt a dolgot?

Előre is köszi!
ppeterka
(#) TavIR-AVR válasza ppeterka hozzászólására (») Jan 3, 2009 /
 
RS485 busz...
75176-os IC-kel...
De ehhez javasolt a HW-es sorosport....

Én azért nagyobb IC-kel kezdenék (ATMega8 család).
(#) labu01wx hozzászólása Jan 4, 2009 /
 
Sziasztok!
Az a gondom, hogy nem megy a programozás avr studióban, pedig mindent úgy csináltam ahogy Topi írta, de mégis a programming flash résznél a vége elött megszakad és azt írja ki, amit a magas frekinél szokott. Eddig 2 programozás sikerült(sima ledvillogó) a min 20-ból. A szalagkábel kb. 10cm(de sikeres programozásokat 30cm-es kábellel csináltam).
A segítséget előre is köszönöm.
(#) kiborg hozzászólása Jan 4, 2009 /
 
Hali Mindenkinek!

Olyan kérdéssel fordulnék a C-ben programozó kollégák felé, hogy a mellékletben csatolt program hogy műxik ?
Különösen a véletlen szám generálására lennék kíváncsi és hogy hogyan lehetne azt átültetni ASM-re.
C-hez egyáltalán nem értek, így nem boldogulok vele


Üdv Kiborg

Random.c
    
(#) Topi válasza kiborg hozzászólására (») Jan 4, 2009 /
 
Én egyszer úgy írtam ASM-ben random szám generátort, hogy szépen szekvenciálisan olvastam végig a processzor saját program memóriáját.
Először kiolvasod az első bájtot, majd ha kell mégegy szám akkor a másodikat, és így tovább.
Ez ugye csak álvéletlen. De az alkalmazások 99%-ához bőven elegendő.
Z regiszterbe töltve a pointert tudod visszaolvasni saját magát.
(#) kiborg válasza Topi hozzászólására (») Jan 4, 2009 /
 
Ezt értem.

DE, az a legnagyobb bajom, hogy többszöri bekapcsolás után mindig azonos mintát fog adni, mert a program memória nem változik.
Ez a problémám.

Most ne egy dobókockára gondolj, hanem vegyük alapul egy autó mozgását.
Ott ugye a lassulás v. gyorsulás mértéke a véletlen változó. Az lenne a lényeg, hogy ne ismétlődjön meg kétszer egymás után a gyorsulás/lassulás minta.

Ezért lenne szükségem egy igazi random generátorra.

Üdv Kiborg

Ezeken gondolkodom, de itt az a baj, hogy külső eszközt használ, bár ahogy látom ha igazi véletlent akarok, akkor nem kerülhetem meg a külső eszköz használatát:
egyszerű
bonyolult
(#) gtk válasza kiborg hozzászólására (») Jan 4, 2009 /
 
De otletes az egyszeru. A white noise generator reszet nem tudom felfogni. De ez itt off is lenne, talan.
(#) ppeterka válasza TavIR-AVR hozzászólására (») Jan 4, 2009 /
 
Köszi a gyors választ - nem hittem volna, hogy ennyire hamar kapok

Közben töprengtem a dolgon, és rájöttem, hogy mivel nem akarok teljesen univerzális kommunikációt - néhány fix "kérdésre" kell válaszolnia a másik uC-nek, amire kitaláltam egy egyszerűt... Az egyik láb CLK lenne (kellően lassú, pár kHz-es), a másik meg az adat, a "master" adná a CLK-t, a lekérdezés bitjei a CLK magas szintjénél lennének érvényesek. A lekérdezés bitjei után a "master" Inputra tenné a portját (ugye ilyenkor Hi-Z-be kerül?), a "slave" meg elküldené a választ. Ez talán a legegyszerűbb megoldás - ha nem rossz a gondolatmenet...
(#) labu01wx hozzászólása Jan 4, 2009 /
 
Valaki legyenszíves válaszoljon az én kérdésemre.
(#) Grebi hozzászólása Jan 4, 2009 /
 
Üdv!

Kérdésem kiterjedne arra a témára hogy én leszedtem az AVR studiot is meg a WINAvr-t is.Még kezdő vagyok a témában de mind a kettővel lehet programozni, valamint mien nyelven? Láttam a WINAvr-ben hogy ott van egy jó pár prognyelv felsorolva és most akkor azaoknak a szintaktikáját és parancsait használhatom hogy megirjam a programot? Mert nekem a programozás meg Pascal Delphi , vagy feltétlenül muszály hozzá az assembli vagy a C?

Kezdő vagyok nagyon, nézzétek el nekem Előre is kössz a segitséget!
(#) ppeterka válasza labu01wx hozzászólására (») Jan 4, 2009 /
 
Hát, amikor Atmega128-cal dolgoztam, akkor párszor megesett, hogy néhányszor neki kellett futni a programozásnak (soros portos JTAG programozóval volt ez), AvrStudio és WinAVR-rel. Megeshet, hogy csak pikkel rád a cucc...
(#) ppeterka válasza Grebi hozzászólására (») Jan 4, 2009 /
 
Hát, rossz hír... De ha Pascallal elvagy, az egyszerűbb C dolgok nem lesznek kínaiak. Fejtsd meg a cikkekben leírt kódokat részről részre, nem lesz gáz szerintem, mire komolyabb dolgokhoz érsz, szerintem belejössz.

De van valami Bascom, BASIC-es móka AVR-hez, ha végképp sehogy nem megy a C.
(#) labu01wx válasza ppeterka hozzászólására (») Jan 4, 2009 /
 
Miután levágtam a kábelből rosszul kötöttem be(nem tudom hogy elötte miért voltak gondok), miután visszacseréltem még mindig nem volt jó, találomra kicseréltem a 74hc126 ic-t(véletlen 2 volt a csomagban), a csere után az első programozás sikerült(led villogó) kipróbáltam működött. 2. programozás egy tapsra csipogó gép lett volna de szerintem a biztonsági biteknél rontottam el vmit olyan hibaüzenetet kaptam, hogy "entering programming mode..FAILED" eddigi ismereteim szerint ezt egy segéd órajel generátorral lehetne megoldani amihez nincs anyagom .
Érdeklődnék, hogy melyik programban lehet pascalban avr-t programozni, mert a mikropascal nem hexbe fordít a programozója meg nem ismeri fel a programozóm.
(#) Istike88 válasza labu01wx hozzászólására (») Jan 4, 2009 /
 
nekem hex-be fordít a mikropascal

és sikerült felprogizni AVR studioval
(#) labu01wx válasza Istike88 hozzászólására (») Jan 4, 2009 /
 
Tényleg hex-be fordít. Én azt hittem hogy .mppav-ba de kiderült hogy az a project fájl.
(#) labu01wx hozzászólása Jan 4, 2009 /
 
Sziasztok!
Érdeklődnék, hogy egy ATiny45-t lehet-e táplálni egy 350w codegen pc tápról? A táp 5v: 4,85-5,1 12v:12-12,25 között ingadozik.
(#) TavIR-AVR válasza labu01wx hozzászólására (») Jan 4, 2009 /
 
Igen....
(#) zoner válasza Grebi hozzászólására (») Jan 5, 2009 /
 
A Pascal után csak egy kis lépés a C
(#) zoner hozzászólása Jan 5, 2009 /
 
Sziasztok!

Nezegettem az AVR-es kapcsolasokat es szuksegem lenne az RC szervos megoldasra (drag motor folytoszelepehez), a kerdesem az a tapasztaltabbakhoz, hogy ez mennyire gyorsan mozog? pl 0.2s alatt megtesz 90 fokot?

Az RC motorok adatlapja szerint valoban 1-2kg-os motorok ezek? ugy ertem meg tudna emelni 1kg-ot?
(#) wg_kezdo hozzászólása Jan 5, 2009 /
 
Memóriát szeretnék illeszteni AVR-hez.
Találtam egy ilyet: AT45DB041D-SU

Ha jól látom van egy órajel lába meg egy Input és egy Output.
Az órajelet ezek szerint nekem kéne szolgáltatnom.
Próbáltam átrágni magam az adatlapján, de még nem értem a végére viszont van pár kérdésem amit szerintem a tapasztaltabbak egyből tudhatnak .

Az órajel fix mondjuk 1Mhz kell, hogy legyen vagy lehet olyat is, hogy mondjuk folyamatosan változik? (pl, ha 1-2ms-re leakad a proci akkor mi történik?)
(elsőre úgy képzelem a működését, hogy amikor adok órajelet neki akkor végrehajtja a köv. műveletet, de lehet, hogy nagyon nagy hülyeséget írok).
Ha jól látom vezérlő byte-ok vannak amivel bizonyos műveleteket tudok végezni. Ezeket bitenként sorba kell küldeni az input lábon.
Mennyire fix feszültség kell neki?
(#) Sallala válasza zoner hozzászólására (») Jan 5, 2009 /
 
A szervó nyomatékát egy cm-es erőkarra vetítve adják meg. A sebességüket pedig jellemzően 60fok-os kitéréshez szükséges idővel adják meg, és 5V tápfeszre.

A golysocsapágyas szervók mégerősebbek, a fémfogaskereskesek meg még annál is erősebbek. Körömnyi mérettől az öklömnyi méretig gyártják őket. A gyenge láncszem nem a motor, hanem a fogaskerék jelemzően. Az szokott eltörni, ha túterheled.

Hogy lehet-e hinni a gyári paramétereknek nem tudom, még sosem mértem meg. De erősnek erősek a nagy áttétel miatt az biztos.
Sokféle szervót vehetsz pl. itt:
http://www.rcpanda.hu/
(#) Sir-Nyeteg hozzászólása Jan 5, 2009 /
 
Üdv!
Egy kis segítséget kérnék:
Erősen gondolkodtam hogy megrendelem a HEStore-ból az avr isp programozót, mivel elég olcsó, és megbízható.
Csakhogy, sajna ez most nincs raktáron, és emailben irták, hogy akár heteket is kell rá várni.
Na most én addig nem bírom ki avr programozó nélkül Már a szoftverek is fel vannak telepítve
Nem tud küldeni nekem valaki felprogramozott prockót hozzá? Hagyományos, smd is megfelelne. SMD-vel foglalkozom munkahelyemen, így az nem fog ki rajtam, csakhogy nem tudok programozni lpt, meg soros port híján. Nyák készítés sem akadály, egyedül a prociba égetett program lenne a gond.
Komplett kit, vagy kész kapcsolás is érdekelne!
Nagyjából reális áron
Ha valaki segít nekem, ígérem, hogy bevállalok minden ilyen jellegű segítséget mások iránt!

Budapest környékiek előnyben, de a postázás a legjobb szerintem.
(#) Topi válasza Sir-Nyeteg hozzászólására (») Jan 5, 2009 /
 
Én most utánnatelefonálgattam. Van még AVR-ISP raktáron. Rendeld meg nyugodtan, szerintem itt valami más difi van. A napokban jött meg egy halom újabb nyák. Kizárt hogy ne legyen.

Beszélek velük holnap.
(#) Sir-Nyeteg válasza Topi hozzászólására (») Jan 5, 2009 /
 
Hiába: Topi a Császár, az Isten, a Guru, a Nyáklapok Védőszentje, a Tranzisztorok Szíve-lelke, a Kezdők Lelki Támasza!
Igérem, ha legközelebb pákával égetem meg magam, azt a könnycseppet érted fogom elmorzsolni
Sokmillió köszönet!
(#) trudnai válasza kiborg hozzászólására (») Jan 6, 2009 /
 
Idézet:
„Most ne egy dobókockára gondolj, hanem vegyük alapul egy autó mozgását.
Ott ugye a lassulás v. gyorsulás mértéke a véletlen változó. Az lenne a lényeg, hogy ne ismétlődjön meg kétszer egymás után a gyorsulás/lassulás minta.”


En mindenkeppen algoritmusos, un pseudo random generatorban gondolkodnek. Pl. ha a felhasznalonak kell neha gonbot nyomnia, akkor az lehet alapja egy free-run timer segitsegevel. Ezt meg lehetne fejelni egy hasonlo modszerrel amit Topi is leirt - mondjuk en kifejezetten erre a celra letarolnek egy random-seed-et amibol taplalkozhat, ezt szoroznam vagy xorolnam a timerrel es ebbol szmaitanek indexet is a kovetkezo veletlenhez. A timernek pedig ilyenkor kifejezetten jo, ha egy homerseklettol ill mas dolgoktol fuggo oscija van, igy joval kevesebb az esely, hogy a veletlen megismetlodhessen.
(#) kiborg válasza trudnai hozzászólására (») Jan 6, 2009 /
 
Szia!

Baj a következő: egy teljesen automata cucc lenne, emberi érintés nélkül.
Viszont kvarc pontosság kell az időzítésekhez, teház az órajelet quartz adja, így hőfokfüggőség is kilőve.

kiborg
(#) szilva válasza kiborg hozzászólására (») Jan 6, 2009 /
 
Ilyenekre szoktak direkt analóg zajgenerátorokat építeni, amiből időnként lehet venni mintát mondjuk A/D-vel, és azzal még megbolondítani egy pszeudo-random algoritmikus számsorozatot.
(#) killbill válasza wg_kezdo hozzászólására (») Jan 6, 2009 /
 
> Memóriát szeretnék illeszteni AVR-hez.
> Találtam egy ilyet: AT45DB041D-SU Ha jól látom van egy
> órajel lába meg egy Input és egy Output.

Jól látod. De ha jobban megnézed, akkor oda van írva, hogy SPI modes 0 and 3 kompatibilis busz. Az SPI az egy szabványos, kétirányú, soros busz (a Motorola fejlesztette ki), és a legtöbb AVR rendelkezik vele. Tehát nem kell külön foglalkoznod az órajellel meg adatok bitekre szedésével, mert az AVR ezt megcsinálja, ráadásul gyorsan. Viszont van még egy CS lába is, ami ugyanolyan fontos, mint az általad említett másik három.

Ettől függetlenül: az órajel frekvencia vátlozhat 0 és 33MHz között, bizonyos esetekben max. 66MHz. Az órajelet csak akkor kell adni, amikor az SPI buszon adatot viszel át.

> Mennyire fix feszültség kell neki?

Annyira kell neki fix feszültség, amennyire az adatlap írja. Azon kívül ne menjen. És persze hidegítő kondi a tápon, közveltlenül az IC mellett, 100nF multilayer vagy kerámia. Egy 3.3V-os stabilizátorról biztosan menni fog, nem fogyaszt sokat.

A bemenetei elviselik az 5 voltot, de a kimenete nyilván csak max. 3.3 voltig megy fel. Ez pl. egy 5 voltrol müködő ATmega8 bemenetén még elég a logikai H szinthez, de ha alacsonyabb tápról akarod járatni a flash-t, akkor erre figyelni kell.
Következő: »»   90 / 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