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   57 / 139
(#) DecebaL válasza icserny hozzászólására (») Máj 21, 2012 /
 
Ez csak elméleti kérdés volt, lehet hardver hiba is csak az érdekelne, hogy mik a lehetőségek, ha újra kell indítani. Vagy ha lefagy bármilyen oknál fogva hogyan lehetne kézi beavatkozás nélkül újraindítani.
(#) icserny válasza DecebaL hozzászólására (») Máj 21, 2012 /
 
watchdog - újraindítja a CPU-t, ha a beállított időn belül nem törlöd a számlálóját.

RESET vagy ki/bekapcsolás - ehhez már építeni kel valami áramkört, ami aktivizálódik, ha mondjuk adott időn belül nem kap valamilyen jelzést a mikrovezérlőtől.
(#) hayes987 hozzászólása Máj 21, 2012 /
 
Üdv!

Szeretnék egy kis segítséget kérni! Egy msp430 launchpad és egy L293 D segítségével szeretnék meghajtani két kis dc motort (3V-osak).
Néztem hozzá többféle kapcsolási rajzot, de nem tudom eldönteni hogy melyiket lenne érdemes összerakni.

A lényeg az lenne első lépésben hogy a két motor egymástól függetlenül tudjon forogni előre és hátra. Később pedig jönne hozzá egy szoftveres pwm fordulatszám szabályozás.

Ha tud valaki linkeljen már be olyan kapcs. rajzot, ami megoldást nyújt a problémámra és biztosan működik.

Előre is kösz,
Hayes
(#) DecebaL válasza icserny hozzászólására (») Máj 21, 2012 /
 
Szétnézek az 555 IC kapcsolások közt hátha alkalmas a feladatra.
(#) Grebi válasza DecebaL hozzászólására (») Máj 21, 2012 /
 
Úgy tudom hogy beállítható egy olyan funkció a WatchDog-nak hogy megszakítást kérelmezzen, ne pedig Resetet.
(#) Grebi válasza hayes987 hozzászólására (») Máj 21, 2012 /
 
Ami az adatlapban szerepel az biztosan működő kapcsolás Ahogy elnézem elég egyértelmű. Javasolni személyem szerint azt tudom.
(#) szitko válasza Grebi hozzászólására (») Máj 21, 2012 /
 
Annyi kiegészítést azért hozzátennék (ha nem gond), hogy az l293d 4,5-36 voltos határok között van a müködési feszültsége. De ha a 3V-os motort PWM-el vezérli, akkor nem okozhat gondot.
(#) putr4 hozzászólása Máj 23, 2012 /
 
Sziasztok!

Írtam egy elég egyszerű programot adc-re.G2231-re készült és egy 10k ohmos potméterrel szabályozható led2 a launchpadon.
Az adc beállítása csak a mintavételezési idő kiszámítása miatt volt kacifántos. John Davies könyvében írt példát vettem alapul és mivel 5 és 10k ohmos ellenállásokat használtam a feszültségosztóhoz így egy kicsit eltért a mintavételezés az övétől. Mivel a felső referencia feszültséggel nem bajlódtam, így 0 és 682 között vesz fel értéket adcmem. Ennek alapján választottam pwm frekvenciát led2-höz. Minden más megtalálható icserny cikkjében.
Annyi problémám van, hogy akármilyen potmétert használok a 10bit már annyira pontos, hogy észrevehető a led fényerejének ugrálása, bár ez inkább alacsony fényerőnél integrálódik ki. Ezt ugye multiméterrel nem tudom kimérni mivel átlagol, de a mért érték ugrálásának biztos, hogy köze van a potméterhez, mert egyszerű kábellel kevésbé teszi ezt.
Arra gondoltam a mért értékek hatványait veszem és ehhez állítom a pwm-et, de 681 négyzete már jóval túl lő compare/capture számlálóregiszterén. Lehet, hogy lekéne butítanom 8 bit-re? Olyan 4 LSD-s ugrálások vannak. Lehet ilyet tenni? Elképzelhető, hogy defektes a próbapanelom?

  1. #include "io430.h"
  2. #include "stdint.h"
  3.  
  4.  
  5. int main( void )
  6. {
  7.  
  8.   WDTCTL = WDTPW + WDTHOLD;
  9.   ADC10CTL0=ADC10SHT_1+ADC10ON;
  10.   ADC10CTL1=INCH_1+SHS_0+ADC10SSEL_0+CONSEQ_0;
  11.   ADC10AE0=BIT1;
  12.   P1DIR=BIT6;
  13.   P1SEL=BIT6;
  14.   TACCR0=700;
  15.   TACCR1=0;
  16.   TACTL=MC_1+TASSEL_2+TACLR;
  17.   TACCTL1=OUTMOD_7;
  18.  
  19.   while(1){
  20.    
  21.     ADC10CTL0 |=ENC+ADC10SC;
  22.     while (ADC10CTL1_bit.ADC10BUSY == 1);
  23.     TACCR1=ADC10MEM;
  24.    
  25.   }
  26. }
(#) szitko válasza putr4 hozzászólására (») Máj 23, 2012 /
 
Ezt a feszültség osztós dolgot nem értem. Ha egy 10K potit ráraksz a (jelen esetben) P1.1-re, és az ADC ref, a VCC GND, akkor 0-1023-ig kellene legyen a mért érték, mivel 10bites az ADC.
(#) putr4 válasza szitko hozzászólására (») Máj 23, 2012 /
 
Én úgy tudom, (de lehet rosszul) hogy az adc a referencia feszültségek közti különbséget osztja fel 1024 részre. Mivel a 10k ohmon eső legnagyobb feszültség kb 2,5V ebből arányosan jött ki a kb 680.

kapocs.png
    
(#) szitko válasza putr4 hozzászólására (») Máj 23, 2012 /
 
Így már értem. Próbáld meg a kép szerint bekötni a potit.
Amúgy, szerintem ha emeled a frekit, (DCO) mondjuk a kalibrált 8MHz-re, akkor megszűnik az "ugrálás".

adc.jpg
    
(#) putr4 válasza szitko hozzászólására (») Máj 23, 2012 /
 
Hát persze ez így sokkal egyszerűbb, viszont így is "pattogni" fog mivel az LSB nem változik.
(#) szitko válasza putr4 hozzászólására (») Máj 23, 2012 /
 
Kiváncsiságból beraktam a progidat, és valóban nincs valami rendben vele.
Próbáld ki az alábbi progit, azzal szépen lehet szabályozni.

main.c
    
(#) putr4 válasza szitko hozzászólására (») Máj 23, 2012 /
 
Kösz. Beraktam és ennél is ugrál nálam. Viszont ez a 2 sor szemet szúrt:
  1. BCSCTL1 = CALBC1_8MHZ;        // A gyárilag kalibrált 1 MHz
  2. DCOCTL = CALDCO_8MHZ;         // DCO frekvencia beállítása


Ki kellett hagynom, mert 2231nél nincs gyárilag kalibrált 8Mhz.
Arra gondolok, hogy mikor elkezdi az átalakítást, vagy a mintavételezést kicsit rángatja a tápot (kb 10mV-nyit ugrál). 1.4es launchpadom van.
(#) szitko válasza putr4 hozzászólására (») Máj 23, 2012 / 1
 
Idézet:
„Ki kellett hagynom, mert 2231nél nincs gyárilag kalibrált 8Mhz.”

Ha berakod a header fájlba, akkor van, csak azt elfelejtettem leírni, hogy én belepiszkáltam. Bocsi.
(#) DecebaL hozzászólása Máj 26, 2012 /
 
Ennél a procinál a DVCC -t az AVCC -vel és a DVSS -t az AVSS -el összeköthetem? Vagy hagyjam szabadon a DVCC és DVSS lábakat?
(#) icserny válasza DecebaL hozzászólására (») Máj 26, 2012 /
 
MINDEN digitális és analóg táplábat be kell kötni!
Össze kell kötni az analóg és digitális tápvonalakat, de rád van bízva, hogy hol alakítod ki a közös pontot.

Célszerű mindjárt a tápfesz bejöveteli pontjánál különválasztani ezeket, hogy a digitális rész árama ne folyjon át az analóg áramkörök tápvonalán.
(#) ZsoltiD hozzászólása Máj 28, 2012 /
 
Egy MSP430G2553-at programoztam fel egy riasztóközpontnak.
A szirénához a P1.0-át használom kimenetnek.
  1. P1DIR = 0x01;                        
  2. P1OUT = 0xFE;
  3. P1REN = 0x0A;

Amikor géppel tesztelem, működik frankón minden esetben, de amikor élesbe megy a dolog (tehát jumpereket leszedem, és külső tápot kap), akkor a következő a baj:
Ha ráadom a tápot, riasztásnál nem működik a kimenet.
De van olyan eset is, amikor ha leszedem, majd vissza a tápot, működik. Tehát ha egyszer működik, és utána nem bántom a tápot, akkor addig jól szuperál, amíg el nem megy az áram, ha viszont újra vissza jön, és már az elején nem működik kimenetnek, akkor továbbra sem.
Valaki érti ezt? (Gépen meg szuperál rendesen...:S)

Most ott tartok, hogy akárhányszor kapcsoltam be a kütyüt, sohasem működik az 1.0 kimenetként...
(#) szitko válasza ZsoltiD hozzászólására (») Máj 28, 2012 /
 
Nézd meg Icserny cikkében, "Az I/O portok kezelése" című részt.
  1. P1DIR ki, vagy be?= valami;                        
  2. P1REN |= valami;
  3. P1OUT fel, vagy le? = valami;
(#) ZsoltiD válasza szitko hozzászólására (») Máj 28, 2012 /
 
Onnan néztem a portkezelést, de nem tudom, hogy mit csinálhattam rosszul
(#) icserny válasza ZsoltiD hozzászólására (») Máj 28, 2012 /
 
Hogy néz ki a kapcsolás?
(#) ZsoltiD válasza icserny hozzászólására (») Máj 28, 2012 /
 
A uc-t ezen a launchpad-on hagytam, csak a jumpereket vettem le, és külső tápot adok neki. Multiplexelt billentyűzetet és LCD kijelzőt illesztettem hozzá a cikk segítségével.
(#) kardexcsaba hozzászólása Máj 28, 2012 /
 
Sziasztok.
A következőt szeretném megvalósítani(egy msp430g2452 uC es egy quectel l50 GPS modul segitségével szeretném megtudni az autó sebességét amit egy nagyobb projekthez kell felhasználnom), de már az elején elakadtam. Átolvástam a GPS modul adatlapját, de számomra nem igazán derült ki, hogy hogyan tudom atküldeni s sebességet. Ha valaki foglalkozott már hasonló dologgal akkor megkérem segítsen...nagyon fontos lenne.
Csatolom a quectel adatlapját is és előre is nagyon köszönöm.
(#) DecebaL válasza ZsoltiD hozzászólására (») Máj 28, 2012 /
 
Nekem akkor volt ilyen problémám mikor, kapcsoló üzemű tápot kapcsoltam rá, mikor megnéztem elég "zajos volt". Nálam egy 220 µF és 100 nF megoldotta a problémát. Másik tápegységgel próbáltad?
(#) DecebaL válasza kardexcsaba hozzászólására (») Máj 28, 2012 /
 
Én inkább 2553-al illeszteném mert abban van hardveres UART és I2C. Könnyebben tudod kezelni. És ha jól láttam az adatlapján UART és I2C illesztési lehetőség van.
(#) DecebaL válasza kardexcsaba hozzászólására (») Máj 28, 2012 /
 
Nézd át ezt az adatlapot is ebben legalább benne van az i2c címe is.
(#) colosseum válasza DecebaL hozzászólására (») Máj 28, 2012 /
 
elvileg még az sem kell neki mert hogy feláll magától nyomja kifelé a szokásos adatokat.

pickit2 klónt használtunk mint "debugger" és szépen jött rá az adat magátol.
(#) kardexcsaba hozzászólása Máj 28, 2012 /
 
Köszönöm a gyors segítséget. A gond az, hogy nincs 2553- asom, csak ez amit írtam. Sokkal nehezebb ezzel megoldani(mert még kezdő vagyok)?, mert ha igen akkor inkább rendelek egyet a 2553-asbol. El tudnád magyarázni nagyvonalakban miből is állna a kommunikáció, mert nem igazán értem ezt az UART vagy I2C-t. Ismét köszönet.
(#) colosseum válasza colosseum hozzászólására (») Máj 28, 2012 /
 
Azt még azért hozzá tenném, hogy magától uart-on.

Azt le kell kezelni természetesen.
Mindenféle képpen olyan kell amiben van hw-s uart-t
(#) ZsoltiD válasza DecebaL hozzászólására (») Máj 28, 2012 /
 
Előtte 12V-os adaptert használtam, ami nem volt stabil, most zselés akksiról megy.
Mindkettőt a táp, és a föld közé rakjam (kondit), miért nem elég csak az egyik?

Köszi!

Zsolti
Következő: »»   57 / 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