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   769 / 840
(#) Béla 66 hozzászólása Ápr 8, 2017 /
 
Sziasztok!
Szeretnék egy ATiny2313-t felprogramozni. A beírandó program meg van! De az eeprom (bootloader)
ezt nem tudom honnan betölteni. Ez az első programozásom Atiny-vel, (ATMEL). ISP programmerrel programoznám fel, LPT porton.
A képen látható elérési utak csak példa, a netről mentettem.
Remélem jó helyen teszem fel a kérdést.
Üdv. Béla
A hozzászólás módosítva: Ápr 8, 2017

1.jpg
    
(#) TavIR-AVR válasza Béla 66 hozzászólására (») Ápr 9, 2017 /
 
2313-hoz nincs bootloader.

EEP a program része, vagy pedig lehet hogy nincs is (pl. LED villogtató sem használ EEPROM-ot)
(#) Béla 66 válasza TavIR-AVR hozzászólására (») Ápr 9, 2017 /
 
Szia!
Akkor csak ennyi lenne, ahogy a mellékelt képeken látszik?
Ezek már a saját képek.
(#) akosnagy hozzászólása Ápr 9, 2017 /
 
Sziasztok!

Segítség kellene. A mellékelt (jav.png) képen látható az alap kapcsolás. Motorvez.png-n kiemelve a kritikus, illetve nem működő rész mérésekkel. Egy alap multiméterem van, biztosan van mérési pontatlanság, mert nem tudja eléggyorsan követni a változásokat, de nagyságrendileg biztosan jók az értékek. A harmadik kép lábkiosztása alapján kötöttem be az IRL540N-ekent.

A program:
  1. /*
  2. #define F_CPU 20000000
  3.  
  4. #include <avr/io.h>
  5. #include <util/delay.h>
  6.  
  7. int main(void)
  8. {
  9.         DDRD |= (1 << PORTD6);
  10.         OCR0A = 0;
  11.         TCCR0A |= (1 << COM0A1);
  12.         TCCR0A |= (1 << WGM01) | (1 <<WGM00);
  13.         TCCR0B |= (1 << CS01);
  14.        
  15.     while (1)
  16.     {
  17.                 for(int i=0;i<255;i++)
  18.                 {
  19.                         OCR0A = i;
  20.                         _delay_ms(1);
  21.                 }
  22.                 for(int i=255;i>0;i--)
  23.                 {
  24.                         OCR0A = i;
  25.                         _delay_ms(1);
  26.                 }
  27.  
  28.     }
  29. }


A probléma, hogy az E-D ponton egy 6-8,4V-ig működő motor lesz és a jelenleg leadott fesz nagyon kevés. Mit rontottam el?
(#) Bakman válasza akosnagy hozzászólására (») Ápr 9, 2017 /
 
Van valami az E - D pontok között vagy csak lógnak a levegőben?
(#) akosnagy válasza Bakman hozzászólására (») Ápr 9, 2017 /
 
Az a DC motor csatlakozása. 6-8,4V között működik a motor.
(#) Bakman válasza akosnagy hozzászólására (») Ápr 9, 2017 /
 
Eddig értem. Mérés közben volt ott valami terhelés? Mellesleg oszcilloszkóp nélkül csak egy határozott talánra futja a mérési eredmények tükrében.
(#) akosnagy válasza Bakman hozzászólására (») Ápr 9, 2017 /
 
Mérés közben nem volt fent a motor. Cdak a két kivezetést mértem. Oszcilloszkóp nincs a repertoáromban sajnos. Tudom, hogy a pwm a frekvenciával mahinál és jó lenne látni az eredményt, de erre nincs lehetőségem.
(#) Bakman válasza akosnagy hozzászólására (») Ápr 9, 2017 /
 
Tegyél oda valamilyen terhelést. A FET-en átfolyó áram függ attól is, mekkora a rákapcsolt feszültség. A műszer kb. összezavar minent.
(#) akosnagy válasza Bakman hozzászólására (») Ápr 9, 2017 /
 
Köszönöm. Megnézem a motorral.
(#) akosnagy válasza Bakman hozzászólására (») Ápr 9, 2017 /
 
Felkötött motorral 0,1 mV. Gyakorlatilag nulla.
(#) dokidoki válasza akosnagy hozzászólására (») Ápr 10, 2017 /
 
Ez a kérdés addig terjedne ide, míg ellenőrzöd, hogy az AVR PWM kimenetén megjelenik a kívánt vezérlő jel. Ez multival is ellenőrizhető.A többi, hogy a mérésed alapján, kapcsol vagy nem kapcsol a FET az nem AVR téma, vagy hiba. A kapcsoláson jól - egy logikai meghajtású fet szerepel. Remélhetjük, de nem tudhatjuk, hogy tényleg olyat használsz, és jól kötötted -e be. Mellette, ha a motor az áramkörben van, és tápfeszültség alatt is van, akkor a fet - motor kombónak el kellene indulnia, ha a fet bemenetére (gate láb) bármilyen pozitívba ugró feszültség kerül. Egy darab ellenállás, a G -D közé, és ugrik a motor.
(#) kiborg válasza akosnagy hozzászólására (») Ápr 10, 2017 /
 
Szia!

A jav.png-n nekem úgy tűnik, mintha a fet-ek a 7,4V tápot zárnák rövidre, ha vezérlést kapnak. (Drain - 7,4V, Source - GND).És ha rövidre van zárva a táp,akkor leesik a mikrovezérlő tápja is...
Másrészt meg a 7805-nek a kevés a 2,4V plusz feszültség, minimum 9V kell neki a stabil működéshez.
A motorvezérlőből meg vedd ki onnan azt a zenerdiódát és úgy próbáld ki. Mit keres ott egy Zener dióda ? Oda egy supresszor kell, ha kell valami.(Amennyiben esetleg valaha működött volna előtét ellenállás nélkül a zener,akkor tönkrement rövidzárba és azért mérhetsz ott 0V-t)
A hozzászólás módosítva: Ápr 10, 2017
(#) akosnagy válasza kiborg hozzászólására (») Ápr 10, 2017 /
 
jav.png: a rajzon LED-ek vannak bent, mert nem találtam az EAGEL-ben motort. Lehet én vagyok a balfék. Tehát ott lesznek a motorok.
7805: ha rámérek a kimenetre, akkor fixen mérem az 5V-ot. Ez így nem jó?
A zéner dióda a motor visszarúgását hivatott elnyelni, hogy az áramkör többi része ne sérüljön.

Tévedek? Hiányos valahol a tudásom?
(#) RoliNyh válasza akosnagy hozzászólására (») Ápr 10, 2017 /
 
Én még mindig arra volnék kíváncsi első körben
(mint ahogy már korábban is kérdeztem, de nem válaszoltál rá),
hogy kapcsolóként működik -e a vezérlés, tehát nem PWM meghajtással, hanem átteszed egy digitális kimenetre, és ott be tudod -e kapcsolni a motort a processzorról vezérelve?
Esetleg proci nélkül csak simán a kapcsolófokozatot kipróbáltad már, működik egyáltalán???
A FET "él" még egyáltalán?
(#) csatti2 válasza akosnagy hozzászólására (») Ápr 10, 2017 /
 
A jav.png valóban hülyeség (nézd át jobban). A zener helyett nagy sebességű hagyományos diódát használj (a zener lassú, meg értelmetlen is oda), pl. UF4001 vagy hasonló. A 2,4V extra bőven elegendő a 7805-ös sorozatnak (2V körül van a dropja 1A-nál).
(#) akosnagy válasza RoliNyh hozzászólására (») Ápr 10, 2017 /
 
Bocsánat, asszem ez elkerülte a figyelmem.
Szerintem már 2 FET-et kinyírtam a 4-ből. Ha olyan helyre kötöm a motort, ahol van FET, de nincs vezérelve, akkor szépen felpörög. Amint vezérlést teszek rá meghal. Amelyik FET-et vezérelni próbáltam már, azon a kimeneten (E-D) már nincs meg a 6V se.

Kapcsolóként még nem próbáltam a vezérlést, viszont mivel ott max 5V jön le, a motornak meg minimum 6V kell, elvileg nem indul. Viszont, ha rámérek a lábra, akkor (jelenleg) 1V jön rajta.
(#) vargham válasza akosnagy hozzászólására (») Ápr 10, 2017 /
 
"Kapcsolóként még nem próbáltam a vezérlést, viszont mivel ott max 5V jön le"
Nem direktbe kötve a motort az MCUra. Hanem a FETet PWM nélkül kapcsolgatni ki/be.
(#) akosnagy válasza vargham hozzászólására (») Ápr 10, 2017 /
 
Eszembe se jutott, viszont nem is tudom hogyan. Kössék rá 5V-ot aztán meg ne?
(#) akosnagy válasza csatti2 hozzászólására (») Ápr 10, 2017 /
 
Való igaz. Itt a javitott kapcsolás (jav.png). Bekötve így van, csak a rajz volt rossz. Remélem mindent kijavítottam.

jav.png
    
(#) RoliNyh válasza akosnagy hozzászólására (») Ápr 10, 2017 /
 
Akkor kezdjük előről, mert nekem ez kicsit magas...

1. Szóval nem tudom milyen FET-et használsz, de először töltsd le annak az adatlapját, és nézd meg ott a lábkiosztást. (Nem mindegyik FET lábkiosztása azonos.)

2. Építsd meg a feketefehér képen látható kapcsolófokozatot. Diódának shottky diódát használj, a zénernek semmi keresnivalója ott. Ha nincs kéznél shottky dióda, ideiglenesen elhagyható.

3. A FET S lábát tedd a tápegység testre, a motor tápvezetkére (V+ pont) adj 12V -ot. A motor ilyenkor nem foroghat, ha mégis, hibás a FET.

4. A FET G lábára tegyél egy aránylag kis értékű ellenállást pl 10-100Ω közöti értékben. Az S lába és az ellenálláson keresztül a G lábra adj 5V -ot, ekkor a motornak forogni kell, ha nem forog, lehet hibás a FET, vagy nem logikai típusu. Próbálj ugyanide 12V ot adni, ha forog a motor, akkor a FET NEM üzemeltethető logikai szinttel. Ha nem megy 5V ról, próbáld ki úgy is, hogy a G lábról elhagyod az ellenállást...

Ha kiderítetted minden rendben van e a kapcsolófokozattal, próbálhatod a procihoz illeszteni a következő módon, de csak akkor, ha működik az áramkör 5V -os vezérléssel:

1. A kapcsolófokozat test pontját kösd rá az arduino test pontjára, a motoron (V+ ponton) marad a 12V.

2. A FET G lábát a kis értékű ellenálláson keresztül kösd rá egy digitális kimenetre, programból vezérelj ki rá alacsony/magas szintet felváltva mondjuk 1mp -ként. Így a motornak ki/be kell kapcsolgatnia. Ha nem megy, megpróbálhatod ismét elhagyni a G lábon lévő ellenállást, vagy/és a FET G és test közé beköthetsz egy nagy értékű ellenállást pl 10KΩ-100KΩ.

3. Ha sikerül vezérelni a motort a procival, a megfelelő kapcsolási elrendezést tedd át egy PWM kimenetre. Szoftverből add ki rá a 100% -os PWM jelet, és ellenőrizd, hogy megy -e a motor, ekkor teljes fordulaton mennie kell.

4. Szabályozd valamivel a kitöltési tényezőt, akár programból, vagy akár egy potméterről.

Ha még ezek után sem működik, próbálj ki egy másik PWM kimenetet, vagy/és növelld meg a PWM jel alapfrekvenciáját.

A PWM jelet ellenőrizheted egy arra alkalmas frekvenciamérős multiméterrel. Ha nincs, köss a PWM kimenetre egy LED -et ellenálláson keresztül, és szabályozd a kitöltési tényezőt, ekkor a lednek halványodni, világosodni kell, ebből tudod, hogy az aktuális PWM kimenet működik...
(#) csatti2 válasza RoliNyh hozzászólására (») Ápr 10, 2017 /
 
Schottky felesleges oda, nincs szükség különösebben kicsi nyitófeszre. A kapcsolási sebesség sokkal fontosabb. A dióda nem elhanyagolható induktív terhelés esetén még rövid időre sem, mert pukkan a FET. A rajzban IRL540 szerepel, ami jó választás 5V-os logikai szinthez. A gate letestelése nagy értékű ellenállással viszont jó ötlet, nincsenek furcsa motorindítások így ha vmiért töltés maradt a FET kapuján és a kimenetet még nem inicializálta a szoftver.
(#) RoliNyh válasza csatti2 hozzászólására (») Ápr 10, 2017 /
 
Igen a gyors kapcsoló diódára gondoltam én is, nem tudom pontosan mi a megnevezése...
(#) csatti2 válasza RoliNyh hozzászólására (») Ápr 10, 2017 /
 
Hát angolul ultra / superfast recovery diode, magyarul passz.
(#) akosnagy válasza RoliNyh hozzászólására (») Ápr 10, 2017 /
 
1. IRL540N a FET. A feketefehér képen lévő módon van bekötve.

2. A dióda SF28.

3. 3 FET-nél rögtön felpörög a motor, a 4. nem. (A motor földje a FET D-n)

4. Így egyik FET-ről se megy.

Ezekszerint szétcsaptam az öszeset? Lehet ezt forrasztás közben? Túl melegíthettem?
(#) csatti2 válasza akosnagy hozzászólására (») Ápr 10, 2017 /
 
Akár tapogatással is tönkre tehetted. A MOSFET-ek elég érzékenyek a statikus kisülésre is. Persze ha megfőzted forrasztáskor attól is tönkre mehetett.

Ha viszont lebeg a gate, akkor az is lehet, hogy töltés van rajta. Próbálj a gate és a föld közé forrasztani egy 100k-s ellenállást.
A hozzászólás módosítva: Ápr 10, 2017
(#) akosnagy válasza csatti2 hozzászólására (») Ápr 10, 2017 /
 
Remek! Köszönöm mindenkinek!
Megyek a bolba
(#) RoliNyh válasza akosnagy hozzászólására (») Ápr 10, 2017 /
 
Idézet:
„...(A motor földje a FET D-n)...”
Ezt meg hogy???

A FET S(ubstrate) lába megy a földre!!!! A D(rain) lábára a motorra kapcsolódik!!!
A Motor másik pólusa 12V!!!
A feketefehér képeden is így van ahogy itt leírtam! Most akkor te fordítva kötötted be???
A hozzászólás módosítva: Ápr 10, 2017
(#) akosnagy válasza RoliNyh hozzászólására (») Ápr 10, 2017 /
 
Így ahogy írod. Pontosan így van/volt kötve. Én fogalmaztam hülyén.
(#) RoliNyh válasza akosnagy hozzászólására (») Ápr 10, 2017 /
 
Akkor nem szóltam...
Csak egy javaslat még, csavarozd fel egy hűtőbordára mielőtt forrasztod, legalább úgy nem sütöd meg...
A hozzászólás módosítva: Ápr 10, 2017
Következő: »»   769 / 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