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   142 / 840
(#) Topi válasza roleeka hozzászólására (») Aug 16, 2009 /
 
Idézet:
„Azzal szerintetek megy a programozó?”


Nagyon konkrét a kérdés. Melyik programozó?
(#) roleeka válasza Topi hozzászólására (») Aug 16, 2009 /
 
hopp a lényeg lemaradt

Az oldalon fellelhető programozó, hestore-ból rendelni is lehet, azthiszem a cikket te írtad épp
(#) Topi válasza roleeka hozzászólására (») Aug 17, 2009 /
 
Igen, az új driverekkel már megy Win7-en (x32).
(#) gtk hozzászólása Aug 17, 2009 /
 
Sziasztok !

ADCnel, ha kulso referencia van, kell-e szurni induktivitassal az AVCC-t ?
Koszi.
(#) wg_kezdo hozzászólása Aug 19, 2009 /
 
Egy ATTiny45-el szeretnék egy erősebb motort vezérelni.
BD682-es tranyót használnék erre a célra és 4db ceruza elemet.
Ha jól gondolom akkor ahogy beindítja a motort reset vagy egyéb esemény váltódik ki mivel 800mA-t vesz vel terhelés alatt a motor 5V-on.
Erre keresek megoldást, hogy ne két külön áramkörről menjen. (Most optocsatolóval oldottam meg, de túl sok helyet foglal).
Ilyen kapcsolást találtam

A fenti kapcsolás elvileg ad nekem stabil 5V-ot (bár én 3,3V-al fogok üzemelni), de nem tudom kibírja-e azt a terhelést amire szükségem van.
(#) Topi válasza wg_kezdo hozzászólására (») Aug 19, 2009 /
 
Pufferelni kell, csillagpontosan osztani a tápot, soros diódát kell beiktatni puffer elé. Reset lábat RC taggal szűrni.
Processzor tápját pedig LC alul áteresztő taggal szűrni. Párhuzamos C és a kettő között + tápon egy soros L.
(#) mhorpheus hozzászólása Aug 19, 2009 /
 
Üdv!

Kezdő vagyok ebben a témában, és ugy gondoltam hogy gyakorlásként reprodukálok virtuálisan egy pár kapcsolást amit itt az oldalon találtam. Konkrétan a Rendörségi villogó ATTiny13-al kapcsolását szeretném elkészíteni, Eagel-ben. (a legtöbben ezt ajánlották) Azonban megakadtam ott hogy AT TINY 13-20PU! Ilyet nem találtam. Elkolbászoltam az oldalára az eagel-nek és ott le is szedtem az avr lbr-eket de egyikben sincs benne ilyen. A legközelebbi amit találtam az 13-20M1 viszont ennek más a tokozása (a kis pálcikák nem ott vannak mint ahol azoknak lennie kéne )Ehhez szeretnék segítséget kérni, hogy van-e rá mód hogy leszedjem máshonnan, vagy már kéne tudnom h mivel lehet helyettesíteni?
Előre is thx
Mhorph.
(#) ddr válasza mhorpheus hozzászólására (») Aug 19, 2009 /
 
Nekem benne van. Próbáld igy keresni: tiny13*
(#) mhorpheus válasza ddr hozzászólására (») Aug 19, 2009 /
 
Üdv!

Nyilván ott kerestem mivel a keresett elem az egyik alelem, de nekem nincs benne. Minden avr lbr-t megnéztem.
(#) ddr válasza mhorpheus hozzászólására (») Aug 19, 2009 /
 
Tessék, ebben benne kell legyen

atmel.lbr
    
(#) wg_kezdo válasza Topi hozzászólására (») Aug 19, 2009 /
 
Őőőőő, akkor azt hiszem marad a külön táp és az opto csatoló

Azért köszönöm.
(#) mhorpheus válasza ddr hozzászólására (») Aug 19, 2009 /
 
Köszönöm, ebben már megtaláltam, viszont járatlanságom újfennt kiütközött, ugyanis a szám egyezik de a lábak elhelyezése nem. A kapcsolási rajzon a 4. és a 8. láb az ellentétes oldalon van! Ez jelent valamit?(nyilván jelent, de ez a kérdés áll legközelebb..)
(#) ddr válasza mhorpheus hozzászólására (») Aug 19, 2009 /
 
Nem az zavar meg, hogy az eagle tükrözve mutatja az alkatrészeket?
Úgy kell nézni, mintha felülről néznéd a nyákot, az alkatrészoldal felől.
(#) mhorpheus válasza ddr hozzászólására (») Aug 19, 2009 /
 
Igazság szerint passz...
Az alábbi linken található rajzot igyexem lemásolni, sztem nekem ugyanigy kellene kinéznie.Nem?
(#) ddr válasza mhorpheus hozzászólására (») Aug 19, 2009 /
 
Itt csak el van forgatva az ic szerintem. Vagy te is elforgattad és fordítva van kötve ugy is ?
Bár én kétlem hogy nem lenne jó az alkatrész.
(#) mhorpheus válasza ddr hozzászólására (») Aug 19, 2009 /
 
Üdv!

csináltam egy képet mert úgy látszik nem tudom elmondani.
Kép
(#) ddr válasza mhorpheus hozzászólására (») Aug 19, 2009 /
 
Várjál már, ez még csak a kapcs. rajz
Itt tök mindegy hogy állnak a lábak, ez csak sematikus ábra (nem ezt fogod felvasalni a nyákra).

Ha majd átváltasz a board nézetre, ott számít, merre állnak a lábak.
(#) mhorpheus válasza ddr hozzászólására (») Aug 19, 2009 /
 
ja, de igyexem tökéletesen lemásolni a rajzot , és nem értem hogy itt mi a hiba?! A szám stimmel akkor mért tér el?
(#) ddr válasza mhorpheus hozzászólására (») Aug 19, 2009 /
 
Nincs semmilyen hiba, csak más csinálta ezt az alkatrészt és máshogy rajzolta le az ábráját.
(#) mhorpheus válasza ddr hozzászólására (») Aug 19, 2009 /
 
Szóval az történhetett hogy az illető aki a leírás készítette magának alkotta meg ezt az alkatrészt és ő így helyezte el a lábakat rajta?
(#) ddr válasza mhorpheus hozzászólására (») Aug 19, 2009 /
 
Nem, ő egy másik library-ból szedte az övét. Van jópár AVR library és eltérnek. De ez teljesen mindegy, a számozás a lényeg hogy jó legyen.
Ez itt már kezd erősen off téma lenni, inkább a "Nyák készítés kérdések" topicban folytassuk.
(#) mhorpheus válasza ddr hozzászólására (») Aug 19, 2009 /
 
Köszi de nem szükséges, ezzel megtudtam amit szerettem volna, köszöntem a segítséget.
(#) roleeka válasza mhorpheus hozzászólására (») Aug 20, 2009 /
 
Eagelhez engem is érdekelne egy normális AVR library. régen valahonnan leszedtem de már nincs meg és a cadsoft oldalán nem az a verzió van
(#) MaSTeRFoXX válasza roleeka hozzászólására (») Aug 20, 2009 /
 
Pedig van egy rakat AVR-es library a cadsoft oldalán, az egyikben biztos találsz megfelelőt, csak keresni kell
(#) Sir-Nyeteg hozzászólása Aug 20, 2009 /
 
Régen írtam egy rakás programot magamnak AVR-re, de a gépem sikeresen tönkrement.. azaz a winyó...
Megvan a felprogramozott proci: AVRStudióval, és Topi programozójával ki tudom olvasni a prociból a hexát maradéktalanul?
Fuse biteket is kiolvasom, és így lényegében másolható a programom/ukontrollerem?
(#) MaSTeRFoXX válasza Sir-Nyeteg hozzászólására (») Aug 21, 2009 /
 
Ha nem védted le a kódodat az AVRben akkor igen, megoldható. Másoltam már AVR-t
(#) Sir-Nyeteg válasza MaSTeRFoXX hozzászólására (») Aug 21, 2009 /
 
Köszi! Sajnos... ezekután szerencsére ...még nem jutottam el odáig, hogy ilyenkkel próbálkozzam.
(#) zolee1209 válasza wg_kezdo hozzászólására (») Aug 21, 2009 /
 
Vagy beállítasz egy megfelelő BOR értéket... A képen látható, az ATtiny45 milyen feszültségszinteknél resetelhet.Megméred, meddig esik a feszültség induláskor, és aszerint kiválasztod a neked megfelelő értéket. Illetve alkalmazod, amit Topi javasolt. :yes:

Névtelen.jpg
    
(#) Sir-Nyeteg hozzászólása Aug 21, 2009 /
 
Üdv!
Attiny13 elvileg ugyebár 20MHz-ig pöröghet, belső oszc 9.6MHz-es lehet max. Ezek szerint csak külső kvarccal mehet a 20MHz?

Összedobtam egy kis "kapcsoló üzemű tápot", lényegében choppertáp:
A belső analóg komparátor egy külső referenciafeszültséget hasonlít össze egy ellenálláson eső feszültséggel(jelenleg ezt egy leddel helyettesítettem).
A tápfeszültséget lekapcsolja az AVR egy fettel, ha a referenciánál nagyobb feszültség jelenik meg a leden. Jelenleg ez nem nagyon akar működni 5V-ot kap a led egyfolytában, azaz a kimenet mindig be van kapcsolva. Szabályozni sem tudom a referenciával a ledet
Tudna valaki segíteni, hogy rontottam el?
  1. #include <avr\io.h>      
  2. #include <avr\interrupt.h>  
  3.  
  4. #define AIN0pin PB1
  5. #define AIN1pin PB0
  6. #define OUT PB2
  7.  
  8. void Init(){
  9.  
  10.         DDRB&=~(1<<AIN0pin)|(1<<AIN1pin);//bemenetek inicializálása
  11.  
  12.         PORTB&=~(1<<AIN0pin)|(1<<AIN1pin);//felhúzó ellenállások kikapcsolva
  13.  
  14.         DDRB|=(1<<OUT); //kimenetek inicializálása
  15.  
  16.         PORTB&=~(1<<OUT);//OUT kikapcsolva
  17.  
  18.         ADCSRB&=~(1<<ACME);//multiplexer kikapcsolása, AIN1 bemenet
  19.  
  20.         ADCSRA&=~(1<<ADEN);//ADC kikapcsolása, AIN1 bemenet
  21.  
  22.         ACSR|=
  23.  
  24.         (0<<ACD)|       //komparátor bekapcsolása
  25.  
  26.         (0<<ACBG)|      //nem a referenciafeszt vesszük alapul(1.23V), AIN0 bemenet
  27.  
  28.         (1<<ACIE)|      //komparátor megszakítás engedélyezése
  29.  
  30.         (1<<ACIS1)| //megszakítás lehetőségei+
  31.  
  32.         (1<<ACIS0); //felfutó él
  33.  
  34.         sei();//megszakítás engedélyezése
  35.  
  36. }
  37.  
  38.  
  39. // ***********************************************************
  40.  
  41. //megszakítás
  42.  
  43.  
  44. ISR(ANA_COMP_vect) {
  45.  
  46.         PORTB&=~(1<<OUT);//OUT kikapcsolása
  47. }
  48.  
  49. // ***********************************************************
  50.  
  51.  
  52. int main(void) {
  53.  
  54.      Init();
  55.          int a=1000;
  56.  
  57.          while(1)
  58.          {
  59.                 PORTB |=(1<<OUT);//OUT bekapcsolása
  60. //              asm volatile("nop"); //várunk picit,
  61.          }
  62.  
  63. }
(#) zaik válasza Sir-Nyeteg hozzászólására (») Aug 21, 2009 /
 
Hali,
ez mit is csinál pontosan:
  1. ACSR|= (0(kacsacsőrkacsacsőr)ACD)
?
Bit értéknek szeretnél 0-t adni?
Bár programozásban nem vagyok nagyon jó, de bit értékét nem így állítjuk 0-ba ( nekem még nem sikerült így).
Sokkal inkább így, pl:
  1. DDRD &= ~(1(kacsacsőrkacsacsőr)PD2);

Kicsit érdemes átgondolni. Többi hibát nem kerestem tovább.
Következő: »»   142 / 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