Fórum témák

» Több friss téma
Fórum » MSP430 mikrovezérlők
 
Témaindító: gomzito, idő: Ápr 21, 2006
Témakörök:
Lapozás: OK   89 / 139
(#) szitko válasza icserny hozzászólására (») Dec 18, 2012 /
 
Idézet:
„Ez hogy fér össze a min. 1.8V-os tápfeszültség specifikációval?”

Egy TPS61221 segítségével, 3,3V lesz az 1,2V-ból. (ez kimaradt. elnézést) A mikrovezérlő figyeli, hogy a TPS61221 bemenetére mekkora fesz. megy, és ez alapján engedélyezi, vagy nem, a további ADC-t, és a kijelzést.
Idézet:
„Hát a szoftveres UART-ot akkor ki fogja megcsinálni?”

Ez az amit nem értek. Tehát azt szerettem volna, hogy az SW UART RX ébressze fel a mikrovezérlőt, de csak egy AD konverziót kellene csináljon, és SW UART TX-en elküldeni az eredményt. A főprogram nem kell, hogy lefusson.
De úgy látom, hogy itt az alapokat nem értem!
Bekapcsolom az energiatakarékos módot:
  1. int main(){
  2.   x
  3.   y
  4.   __low_power_mode_4();            // vezérlő ki
  5. }
  6. #pragma vector=TIMER0_A1_VECTOR
  7. __interrupt void Timer(void){
  8.  
  9.   Itt még energiatakarékos módban van a mikrovezérlő?
  10.   Az input capture mód nem tudja felébreszteni a vezérlőt LPM4 módból?
  11.  
  12.   __low_power_mode_off_on_exit();
  13. }


(#) icserny válasza szitko hozzászólására (») Dec 18, 2012 /
 
Idézet:
„Egy TPS61221 segítségével, 3,3V lesz az 1,2V-ból.”
Ez mennyire energiatakerékos? Az ember azt gondolná, hogy egy DC-DC konverter akkor is eszi az áramot, amikor a CPU alszik. De a konkrét paramétereket nem ismerem, tehát lehet, hogy tévedek.
Idézet:
„Itt még energiatakarékos módban van a mikrovezérlő?”
Tudomásom szerint megszakításkor automatikusan törlődnek az "energiatakarékossági" bitek (talán egy kivétel van, de az most nem lényeges). Ez azt jelenti, hogy a megszakítás kiszolgálása idejére felfüggesztésre kerül az energiatakarékos mód, csak a visszatéréskor alszik vissza a CPU: az SR regiszter helyreállításakor visszaíródnak az "energiatakarékossági" bitek a főprogramban beállított értékükre. A __low_power_mode_off_on_exit(); beépített függvény pont ezt a helyreállítást akadályozza meg azzal, hogy a veremtárban elmentett SR értékét megbabrálja (nullázza az "energiatakarékossági" biteket.

A TIMER0_A1_VECTOR megszakítás természetesen fel tudja ébreszteni a vezérlőt, csak azt nem tudom, hogy LPM4 módban, amikor nincs semmilyen órajel, keletkezik-e egyáltalán ilyen megszakítás?

Idézet:
„azt szerettem volna, hogy az SW UART RX ébressze fel a mikrovezérlőt”
Ennek nem látom akadályát. A hozzá tartozó bemenetet konfigurálhatod lefutó élre érzékenyített bemenetenek, csak a bejövő megszakítás után tiltsd le, amíg a vétel zajlik, nehogy minden olyan bitre, ami 1->0 átmenet megszakítást csináljon!
(#) szitko válasza icserny hozzászólására (») Dec 18, 2012 /
 
Idézet:
„Ez mennyire energiatakarékos?”

Elméletileg és "gyakorlatilag" (méréseim szerint) igen. A nyugalmi áramfelvétele ~6uA. A méréseim alapján, ha a uC LPM4 módban van, T= ~26-27°C, U=3,256V, akkor a teljes áramkör áramfelvétele, kevesebb mint 80uA. (ebben benne van egy fényérzékelő is) A műszer amivel mértem, MX25-506, nem a legpontosabb műszerek közé tartozik.
Idézet:
„csak azt nem tudom, hogy LPM4 módban, amikor nincs semmilyen órajel, keletkezik-e egyáltalán ilyen megszakítás?”

Erre lettem volna kíváncsi, mert nem találtam róla semmit. És amire tulajdonképpen választ is kaptam, hogy a megszakításból mindenképp ki kell lépjek, hogy visszatérjen a uC LPM4-es módba.

Köszönöm a segítséget.
(#) szitko hozzászólása Dec 19, 2012 /
 
Sziasztok.

MSP430g2553 QFN 32-nél a DVCC AVCC illetve a DVSS AVSS összeköthető? Mi a különbség? Gondolom az egyik az analóg, a másik a digitális tápfesz.
Az adatlap nem ír semmit.
(#) icserny válasza szitko hozzászólására (») Dec 19, 2012 /
 
Igen, valahol össze kell kötni. Azért van külön kihozva, hogy a digitális rész árama ne rángassa az analóg rész földjét, illetve tápfeszültségét.
(#) szitko válasza icserny hozzászólására (») Dec 19, 2012 /
 
Köszi.
Akkor elég egy 100nF-s kondi is? Vagy inkább külön-külön, és utána kössem össze?
A "Pad"-et meg a Vss-re. Ezt megtaláltam az adatlapban.
(#) icserny válasza szitko hozzászólására (») Dec 19, 2012 /
 
Inkább külön-külön 100 nF, s lehetőleg a tápfesz bejöveteli pontjánál (ahol a kártyára bejön) kösd össze!
(#) szitko válasza icserny hozzászólására (») Dec 19, 2012 /
 
Köszi szépen!

Így néz ki.
(#) icserny válasza szitko hozzászólására (») Dec 19, 2012 /
 
Izgalmas lesz a beforrasztása.
(#) szitko válasza icserny hozzászólására (») Dec 19, 2012 /
 
Az első QFN forrasztásomnál szenvedtem eleget, aztán ráéreztem a mikéntjére. Azóta egyszerűen, és gyorsan megy a dolog. Az előkészület több időt vesz igénybe, mint a forrasztás.
(#) szitko válasza icserny hozzászólására (») Dec 19, 2012 /
 
Kész, és elsőre úgy tűnik, hogy jó is. Igaz a perifériákat nem teszteltem, csak az I/O "ki/be" kapcsolásokat. Mind a három port jól megy.

Egy kicsit ronda lett, mert elfogyott a lakkom, és csipesszel kellett beigazítani a helyére, na meg elkapkodtam a nyákkészítést, meg mindent.

Egy kis videó a működésről.
(#) moderboy válasza szitko hozzászólására (») Dec 20, 2012 /
 
Jól néz ki, gratulálok hozzá! Hogy oldod meg, hogy ne mozogjon el az IC forrasztás közben? Nekem az szokott lenni a legnagyobb baj vele, egyébként tényleg csak rá kell érezni
(#) szitko válasza moderboy hozzászólására (») Dec 20, 2012 /
 
Erre a célra kiválóan alkalmas a ~100Ft-os iratcsipesz. De én úgy szoktam csinálni, ha megvan hozzá minden, hogy az IC helyét letakarom egy pl. papírdarabbal (pontosan kimérve!!!), körbefújom lakkal a nyákot, a kitakart részt vastagon bekenem fluxal, és levegős pákával forrasztom be. Ilyenkor nem kell törődni vele, hogy a helyén van-e az alkatrész, mert ahogy melegítem, láthatóan a "helyére ugrik". Ha viszont nincs lakk, akkor marad a csipesz, mert akkor elfolyik az ón a vezetősávokon. De ez már másik topikba tartozik!
(#) DecebaL válasza szitko hozzászólására (») Dec 20, 2012 /
 
Betyár jó, gratulálok.
(#) szitko válasza DecebaL hozzászólására (») Dec 20, 2012 /
 
Köszi.
Bár ahogy írtam, eléggé elkapkodtam az elkészítést, de ez úgyis csak egy "teszt" panelnek készült, hogy a "dugdosós" próbanyákban tudjam tesztelni, az erre a típusra írt programokat.
(#) szitko hozzászólása Dec 22, 2012 /
 
Sziasztok.

ULN2003A-t vagy ULN2803A-t, hogyan lehet a legegyszerűbben g2553-al összekötni, úgy, hogy csak 3,3V és 12V áll a rendelkezésre? (5V nincs!)
(#) icserny válasza szitko hozzászólására (») Dec 22, 2012 /
 
Nem tudom, hogy van-e egyszerű lehetőség az összekötésre, mert az adatlap szerint Vin minimum 3,5 V kell, hogy legyen.
(#) DecebaL válasza szitko hozzászólására (») Dec 22, 2012 /
 
Nyugodtan összekötheted menni fog. Én 3,3V -al hajtottam az MSP-t és az MSP- kimenő bitjeire tettem 1K ellenállást és úgy kötöttem össze ULN2803 -al még most is működik gond nélkül. 12V 280mA kapcsolok vele csatornánként.
A hozzászólás módosítva: Dec 22, 2012
(#) szitko válasza DecebaL hozzászólására (») Dec 23, 2012 /
 
Köszönöm a válaszokat.

Menet közben találtam egy leírást.
Az uln2003A-t próbáltam már én is léptető motor vezérlésben, de stabilan akkor működött, ha 5V-ot kapott. Ha csak 3,3V-t kapott, sok volt a lépésvesztés.
Ha más nem lesz, szerzek a Texas-tól egy uln2003LV-t, az megy 3,3V-ról!
A hozzászólás módosítva: Dec 23, 2012
(#) hotau hozzászólása Dec 23, 2012 /
 
Szép estét!
Azt szeretném megkérdezni ,hogy találtam ezt az oldalt ahol lehet INGYEN rendelni mikrovezérlőket és ennek van e rejtett költsége pl. postaköltség stb. és ha rendelek akkor hogy jut el hozzám postán vagy máshogy?
A válaszokat előre is köszönöm.
(#) exorcist válasza hotau hozzászólására (») Dec 23, 2012 /
 
Hello! Nincs semmilyen járulékos/rejtett költség, a TI tényleg ingyen küld mintákat, postán fogod megkapni, bubis borítékban
(#) szitko hozzászólása Dec 26, 2012 /
 
Sziasztok, és boldog karácsonyt mindenkinek!

Találtam, egy uln2003lv-t itthon (nyomtatóban). Léptetőmotort szeretnék meghajtani vele. Egy g2553 vezérelné. Az lenne a kérdésem, hogy az uln fel nem használt csatornáira ha relét kötök, nem zavar be a motornak, vagy a mikrovezérlőnek?
(#) DecebaL válasza szitko hozzászólására (») Dec 27, 2012 /
 
Szia!

Használj védődiódát és a relé táp lábaira feltétlen tegyél egy 100nF-10µF kondit, és nem fog akkor zavarni.
(#) mechanika hozzászólása Dec 28, 2012 /
 
Sziasztok!

Az Impulzus-szélesség moduláció, 2_pwm_led példáját alapul véve állítok elő pwm jelet.
A célom az lenne, hogy hogy a kilépő pwm jelet három különböző lábra felváltva tudjam irányítani.
Egyelőre sikertelenül próbálkoztam, ha valakinek van ötlete, kérem ossza meg velem!

Köszi!
(#) icserny válasza mechanika hozzászólására (») Dec 28, 2012 /
 
Nem tudom, hogy "menet közben" van-e erre lehetőség, de így próbáld:
1. Induláskor a P2SEL és P2SEL2 regiszterben állítsd be a P2.6 és P2.7 lábakat digitális I/O-nak! (Ezek alapértelmezetten az órajel generátor funkcióban vannak)
2. Menet közben a P1DIR, P1SEL, P1DIR, P2SEL regiszterek megfelelő bitjébe írj 1-et, ha oda akarod irányítani a kimenetet. TimerA0 CCR1 csatornájának kimenete (TA0.1) a P1.2, P1.6 és P2.6 kimenetekre irányítható.
3. Biztonság kedvéért vedd le az RX/TX átkötéseket!

4. Írd meg, hogy mire jutottál, hogy mi is okuljunk belőle!

(#) kisedison hozzászólása Dec 29, 2012 /
 
Üdv!

Lenne egy nagyon alap kérdésem. Készítek egy időzítőt, szépen lassan mert még nem nagyon tudok programozni...

  1. #include "msp430g2452.h"
  2.  
  3. int a = BIT0;                                                           //Controll A on P1.0
  4. int b = BIT1;                                                           //Controll B on P1.1
  5. int c = BIT2;                                                           //Controll C on P1.2
  6. int d = BIT3;                                                           //Controll D on P1.3
  7. int DIGIT1 = BIT4;                                                      //1. Digit on P1.4
  8. int DIGIT2 = BIT5;                                                      //2. Digit on P1.5
  9. int DIGIT3 = BIT6;                                                      //3. Digit on P1.6
  10. int DIGIT4 = BIT7;                                                      //4. Digit on P1.7
  11. int SZAM1 = BIT0;                                                       //Hétszegmens 1-es
  12. int SZAM2 = BIT1;                                                       //Hétszegmens 2-es
  13. int SZAM3 = BIT0 + BIT1;                                                //Hétszegmens 3-as
  14. int SZAM4 = BIT2;                                                       //Hétszegmens 4-es
  15. int SZAM5 = BIT0 + BIT2;                                                //Hétszegmens 5-ös
  16. int SZAM6 = BIT1 + BIT2;                                                //Hétszegmens 6-os
  17. int SZAM7 = BIT0 + BIT1 + BIT2;                                         //Hétszegmens 7-es
  18. int SZAM8 = BIT3;                                                       //Hétszegmens 8-as
  19. int SZAM9 = BIT0 + BIT3;                                                //Hétszegmens 9-es
  20. int GOMB- =   ???        //idot lefelé állíto gomb, a P2.1-en van
  21. int GOMB+ =   ???        //idot felfelé állíto gomb, a P2.2-n van
  22. int START =   ???        //visszaszámlálást indító start gomb, P2.3-an van
  23. // A fenti összes dolog (a ledkijelzo  vezérlése) P1-en van, de a gombok P2-n és nem tudom hogyan
  24. //írjam mögé. Valaki tudja ezt? Nézegettem az adatlapot is, de nem bírtam rájönni...
(#) kisedison hozzászólása Dec 30, 2012 /
 
A kérdés benne van a kód végén
(#) icserny válasza kisedison hozzászólására (») Dec 30, 2012 /
 
Őszintén szólva nem érthető, hogy mit akarsz valójában.

Az "int" kulcsszóval változót deklarálunk (helyet fogalalunk valamilyen adatnak a RAM memóriában). A BITx kontansokat pedig inkább #define direktívákkal szoktuk olvasható nevekhez rendelni.
(#) kisedison válasza icserny hozzászólására (») Dec 30, 2012 /
 
Sejtettem hogy az úgy nem kóser (pedig a Texas oldaláról szedtem). Azokat átírom akkor #define -re. A kérdésem az lenne hogy amikor definiálom például azt hogy kapcsolo = BIT0 akkor az a P1-re vonatkozik, hogyan tudnám a nyomógombokat a P2-höz definiálni? A gombok a P2.1-től P2.3-ig vannak. A hétszegmens kijelző vezérlése van a P1-en, amit teljes egészében le is foglal. (4 digit multiplex meghajtással, BCD kóddal vezérelve). Ezért Kéne nekem a P2.
(#) VaZso8 válasza kisedison hozzászólására (») Dec 30, 2012 /
 
Nem egészen.
Amikor definiállod, hogy mondjuk SZAM3 = BIT0 + BIT1, akkor annak értéke 0x01 + 0x02, vagyis 0x03 lesz - define esetén a fordító SZAM3 esetén ezt fogja behelyettesíteni, ez szimplán egy szám... tehát nem vonatkozik sem P1-hez, sem pedig P2-höz.

Közöttük a P1IN/P1OUT és P2IN/P2OUT teremt kapcsolatot, helyesebben ezeknek az adott bitjeit kell bebillentened/kioltanod, ill. lekérdezned.

...de olvasd el icserny cikkeit, hogy képet kapj arról, miről is van szó.
Ha végigmész a cikksorozaton és megérted, már tisztában leszel ezekkel a dolgokkal is.
Innen indulva megtalálsz mindent.

Szerk.: Az msp430 header-fileok olvasgatása is érdekes lehet.
A hozzászólás módosítva: Dec 30, 2012
Következő: »»   89 / 139
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