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   128 / 139
(#) icserny válasza lorylaci hozzászólására (») Jún 29, 2014 /
 
Már csak az a kérdés, hogy egy motorvezérlő dsPIC33-mal (pl. dsPIC33FJ64MC802) nem jártál-e volna jobban?
(#) lorylaci válasza icserny hozzászólására (») Jún 29, 2014 /
 
1. Habár 7 évesen már Pascalban tudtam programozni, a C-hez még mindig nagyon béna vagyok.
2. MSP430-an is gyenge a tudásom, de a PICen totál 0. MSP430-at kezdtem el megtanulni, most akkor tanuljak meg egy teljesen más dolgot?
3. Örültem, hogy eddig eljutottam, és ami most van az már kb jobb, mint a CMOS áramkör.
4. Legolcsóbb dsPIC33F is háromszor annyiba kerül, mint az MSP430G2553 TSSOP-28 tokban.

De ha valaki vállalkozik rá, hogy megtanít dsPIC33-ra, akko rén belevágok...
(#) ih.he válasza lorylaci hozzászólására (») Jún 30, 2014 /
 

További elnézést az offtopicért...
-Az egy kicsit nem világos, miért kell 4046 PLL IC meg VCO órajelgeneráláshoz, arra tippelek, hogy szabályzást akarsz, nem csak vezérlést, tehát visszacsatolás van a motorról a VCO-ra, jól tippelek?
-Az 50-300kHz az A, B, -A, -B jelek ismétlődési frekvenciája? Nem sok az egy motorhoz?
-Holtidő nálam fix, és az osztólánc bekötése miatt alakul ki, ezért írtam a 40-60% kitöltési tényezőt, 40% ON, 60% OFF, a két jel időbeli eltolódása miatt mindig 10% a holtidő két kimenet változása között és ehhez nem kell semmilyen plusz alkatrész. Persze így nem lehet állítani, viszont bolondbiztos. A %-ok mértéke csak a számlánc hosszától és a bekötéstől függ.
-Gate meghajtó... ha HCT CMOS-t használsz, arra szerintem lehet push-pull bipoláris végfokot akasztani, mert az már terhelhető...
-De nem az MCU ellen beszélek, csak kiváncsi voltam-vagyok a körülményekre kicsit mélyebben... amúgy én éjjel nappal ARM-t programozom C-ben, csak néha tele van a ... a mikroprocesszorokkal már. Persze nem motorvezérlés szint, az általam gondozott programok nagyságrendileg 250 000 sort tartalmaznak C-ben. Ez csak a teteje, van belefordítva C SDK, C++ Foundation Class, és mindkettő forrásában szoktam hibát is keresni... néha őszülök.
(#) lorylaci válasza ih.he hozzászólására (») Jún 30, 2014 /
 
Idézet:
„-Az egy kicsit nem világos, miért kell 4046 PLL IC meg VCO órajelgeneráláshoz, arra tippelek, hogy szabályzást akarsz, nem csak vezérlést, tehát visszacsatolás van a motorról a VCO-ra, jól tippelek?”

A PLL-t nem használom, de a VCO-t igen. A visszacsatolás optója egyszerűen ráment a VCO bemenetre, így variálta a frekvencián.
Idézet:
„-Az 50-300kHz az A, B, -A, -B jelek ismétlődési frekvenciája? Nem sok az egy motorhoz?”

Nem motor, hanem ez egy kétfázisú LLC konverter. LLC konverterekről ebben a cikkemben olvashatsz. A két fázis azért kell, mert így a kimeneten nagyban lecsökken az áram hullámossága, és sokkal kevesebb LOW-ESR elkó kell. Mellesleg vannak még egyéb pikantériák is...
Idézet:
„-Gate meghajtó... ha HCT CMOS-t használsz, arra szerintem lehet push-pull bipoláris végfokot akasztani, mert az már terhelhető...”

Az eddig gyors CMOS-ok is meghülyültek, ha nem volt mindkét oldalt teliföld. Ezek alapján nem szívesen alkalmaznál még gyorsabb CMOS-okat. Ráadásul ezekkel is ugyanúgy problémás lenne a holtidő beállítás.

MCU-val meg tudnék oldalni egy plusz funkció: holtidő változtatása a frekvencia szerint. Ezeken kívül lennének még egyéb plusz funkciók. Például alacsony terhelésnél ki kellene kapcsolni az egyik fázist, sőt oylan speciális burst módra is szükség lehet, ahol felváltva mennek. Ezt megcsinálni mind CMOS-al eszméletlen bonyolult.
Ha a visszacatolás megvan az MCU-ra, egy AD olvassa, a kimenetek rendben vannak, akkor az MCU-val ez már csak program kérdése.
(#) ih.he válasza lorylaci hozzászólására (») Jún 30, 2014 /
 
Ja, bocs, bamba voltam, tényleg irtad is az LLC-t, én meg később valamiért léptetőmotorra asszociáltam...
Hát ekkora igényeket már tényleg csak procival érdemes megvalósítani.
(#) bedoweb hozzászólása Júl 1, 2014 /
 
Sziasztok!

Egy g2452-es belső hőmérőjét szeretném használni. Indulásképpen icserny Tényleg nincs királyi út? I. rész című cikkéből használtam a belső hőmérős mintaprogramot, de rögtön gondom akadt. Bármely energia álltal támogatott ic-t raktam launchpadba, internal1v5-höz viszonyítva konstans 1023 a hőmérő értéke. 2v5-el már működik, de jön két újabb probléma, hogy ha 2.5 vref-el átszámolom az egyenletet, akkor 200 fok körüli érték jön ki, továbbá az adc nyers értéke 725 és 728 között mozog, bármennyire lehűtöm, vagy felmelegítem az egészet (értsd hajszárító/hűtő).

Valaki találkozot tmár ezzel a problémával, és esetleg van rá megoldása?
A válaszokat előre is köszi.
üdv, Bence
(#) icserny válasza bedoweb hozzászólására (») Júl 1, 2014 /
 
Csak G2553 volt kéznél, de a jelenség ezzel is hasonló, ha a legújabb Energiát használom. A kettővel korábbi kiadású Energiával viszont jól működik - attól eltekintve, hogy 3-4 fokkal melegebbet mutat a hőmérő. Gyors megoldásként rakd fel az Energia-0101E0010 kiadást is, és ehhez a projekthez használd azt!
(#) icserny válasza icserny hozzászólására (») Júl 1, 2014 /
 
Végül működik az Energia-0101E0012 kiadással is, de TEMPSENSOR helyett 138-at írj!:
  1. val = analogRead(138); //a hőmérő leolvasása


Magyarázat: A legújabb kiadású Energia wiring_analog.c állományában azt feltételezik, hogy a beépített csatornák sorszáma 128-cal el van tolva. A TEMPSENSOR viszont hagyományos módon 10-nek van definiálva (10 + 128 helyett).
A hozzászólás módosítva: Júl 1, 2014
(#) icserny válasza icserny hozzászólására (») Júl 1, 2014 /
 
Még egy megjegyzés: Ha ki akarjuk javítani TEMPSENSOR hibás definícióját, akkor az c:\energia-0101E0012\hardware\msp430\variants\ könyvtárban az összes kártyára vonatkozó alkönyvtárban módosítanunk kell a pins_energia.h állományt. A helyes definíció:

  1. static const uint8_t TEMPSENSOR = 138; /* Internal ADC channel */


Kivétel az MSP430FR5969 Launchpad kártya, amelynél nem 10-nek, hanem 30-nak van definiálva a TEMPSENSOR. Hogy ehelyett mit kell írni, azt nem tudom, de ezen főjön azoknak a feje, akik rendelkeznek ilyen kártyával...
(#) kicsicsira hozzászólása Júl 3, 2014 /
 
Sziasztok,
szeretnék egy random szám generátort amely két érték közt generál egy számot. Rengeteget olvastam utána de számomra használható információt nem találtam, tudna esetleg valaki segíteni? (g2211)
(#) lorylaci válasza kicsicsira hozzászólására (») Júl 3, 2014 /
 
Mennyire kell véletlen szám?
A legegyszerűbb megoldás, ha elindítasz egy timer continous módban, az órajelre.
A timert a véletlenszám kérése pillanatában leállítod, majd kiolvasod a timer számlálóját. Ha a véletlenszám kérése viszonylag véletlen időközönként (tehát mondjuk nem 100 órajel taktusonként) történik, akkor viszonylag jó véletlenszámot kapsz.
Kicsit véletlenné teheted ha nem a fő órajelre működik a timer, hanem egy külső órajelre. Legtutibb ha ez a külső órajel jó zajos, vagy megbizhatatlan (például egy CMOS oszcillátor).

Ha a véletlenszám kérésére nem tudod garantálni, hogy véletlenszerűen érkezik, akkor az AD konvertert használd. Az AD konverter bemenetére pedig köss valami zajforrást. Innentől jezdve a zajforrásodtól függ a véletlenszám véletlensége. Ha a neten rákeresel találni fogsz több zajgenerátort (például itt van egy)
(#) kicsicsira válasza lorylaci hozzászólására (») Júl 3, 2014 /
 
Köszi szépen, viszont mindenképp belső megoldás kell, mivel mind a 10 i/o fel lesz használva.
(#) bedoweb válasza icserny hozzászólására (») Júl 3, 2014 /
 
Köszönöm a gyors és teljes mértékben hiánytalan választ
(#) lorylaci válasza kicsicsira hozzászólására (») Júl 3, 2014 /
 
Lehet kreálni mindenféle bonyolult függvényeket, amik egy lineáris számszorból egy véletlennek tűnő számot generálnak, de gondolj arra, hogy a véletlenszámhoz valami input kell. A PC-nél az algoritmusok leggyakrabban a dátum-időt használják fel, mert mindig változik.
Szóval valamelyik timer lesz jó neked (talán a watchdog is használható, de ehhez én már nem értek).
(#) kicsicsira válasza lorylaci hozzászólására (») Júl 3, 2014 /
 
Egyenlőre addig jutottam, hogy kimondott függvényt erre nem találtam, viszont elméletben ha a vlo órajelét hazsnálva futtatok egy változót a megadott tartományban és vlo frekvenciaosztását néha változtatom akkor viszonylag véletlenszerű lesz a számsor, mivel a megszakítás külső (emberi).
Ha időm engedi és egy jól működő kódot sikerül alkotni akkor megosztom.
(#) ktamas66 válasza kicsicsira hozzászólására (») Júl 3, 2014 /
 
A TI ajánlásából hátha ki tudsz hámozni valamit itt.
(#) ZsoltiD hozzászólása Júl 8, 2014 /
 
Sziasztok!

Pár napja elkezdtem csinálni egy kis programot (MSP430G2553), aminél keypad (3x4) segítségével 3db hétszegmenses kijelzőn szeretném megjeleníteni a beütött számhármast.
A kijelző része már működik is. (Ezt most nem megszakítással csináltam, az majd a következő lépés)

A gomblenyomás érzékelése nem akar működni valamiért. 3 gomb egymás utáni lenyomásával 'készítem' a háromjegyű számot. Valamikor a helyes kombináció lesz a végeredmény ( pl.: 524 ), de sokszor csak két gombot nyomok le, és már 3 számot érzékel. Amikor debugolok, akkor látszólag jó eredményt kapok.

Élesben olyan, mintha pergés probléma lenne, pedig a lenyomás, és felengedés után is várok szerintem megfelelő időt. Sajnos nincs itthon oszcilloszkópom, nem tudom megnézni a jelalakot.

Rá tudnátok nézni erre a rövid kis kódra, hátha a pergésmentesítésnél rontottam el valamit?
A 'while(n==-1)'-ben kéne kinyerni a háromjegyű n helyes értékét, mielőtt kilépne a ciklusból.

Zsolti
A hozzászólás módosítva: Júl 8, 2014

main.cpp
    
(#) ZsoltiD válasza ZsoltiD hozzászólására (») Júl 9, 2014 /
 
Közben rájöttem a megoldásra.
Szokás szerint túlbonyolítottam a dolgokat.

Csatolom a javított verziót, hátha másnak is jól jön, illetve tanul belőle.

Zsolti

main.cpp
    
(#) H2opok hozzászólása Júl 13, 2014 /
 
Üdv
Egy kis segitség kellene.
Lenne egy project,amiben egy ilyen vezérlőt használnak. Mivel egyáltalán nem ismerjük még ezt,ezért kellene a segitség. Talán egy közös megvalósitás is lehetne,pl. a nyákok gyártását megoldom egy céggel,ez nem probléma. Persze csak akkor ha egy hozzáértő azt mondja,hogy megoldható a project,és a programozás,stb.
A forrás link.
Bővebben: Link

Köszi
A hozzászólás módosítva: Júl 13, 2014
(#) icserny válasza H2opok hozzászólására (») Júl 13, 2014 /
 
Itt készen is megkapod (nem kell a NYÁK gyártással és leszabással bajlódni).
(#) kocsgab002 válasza icserny hozzászólására (») Júl 13, 2014 /
 
És akkor hol marad az építés öröme
Egyébként mindennel együtt 20ezer körül jönne ki. Szerintem mi ezt H2opok barátommal olcsóbban is ki tudjuk hozni..Csak ismerkedni kellene ezekkel az MSP vezérlőkkel. Milyen környezetben lehet ezeket programozni? Az MSP430-ról szóló cikkek olvasgatása még csak most jön..
(#) H2opok válasza icserny hozzászólására (») Júl 13, 2014 /
 
Nyákgyártó cégnél vagyok lassan 10 éve. Szóval ne fizessek már a nyákért is ha töredék árban legyártom 1nap alatt. A másik pedig, lehet mást is érdekelhet,amihez persze a nyákot biztositanám a nekem akciós minimális összegért. Igy lehet 10ből kijönne,és még bütykölhetünk is vele.
A hozzászólás módosítva: Júl 13, 2014
(#) icserny válasza H2opok hozzászólására (») Júl 13, 2014 /
 
A kiindulási projekt több változatban készült. Itt található a második verzió leírása, a program forrása is letölthető. Valószínűleg mspgcc-vel fordítható, a "fejlesztői környezet" pedig alighanem egy Linux parancsablak volt, és a jó öreg joe szövegszerkesztő. A programon dokumentáció nélkül nem könnyű kiigazodni. Nem sokkal lesz könnyebb, mint megérteni, és nulláról kiindulva megírni.

Az MSP430G2553 mikrovezérlő is nagy kihívás, mert a RAM hiánya (összesen 512 bájt áll rendelkezésre, s ebben kell összeállítani a kiírandó adatsort és itt helyezkedik el a veremtár is!) az ilyen projekteknél komoly nehézségek elé állítja a programozót. Viszont a tervek ehhez készültek...
(#) kocsgab002 válasza icserny hozzászólására (») Júl 13, 2014 /
 
Valóban elég kevés a RAM ebben a vezérlőben, ezt a szerző is belátta a harmadik verzióban. Ezért is váltott át msp430g2955-re, de sajnos QFN40 tokban, amit nem egyszerű forrasztani. Bár a harmadik verziónál még nem tett közzé forráskódot.
(#) H2opok válasza kocsgab002 hozzászólására (») Júl 13, 2014 /
 
Ez a tokozás nem probléma, cégnél beültetik.
A kérdés az,hogy a 3. verzió publikus lesz e. ?
(#) kocsgab002 válasza H2opok hozzászólására (») Júl 13, 2014 /
 
Ennek járok most utána.
De ha nem, az sem baj, a kettes verzió is szerintem jó, utánaépíthető.
(#) icserny hozzászólása Júl 15, 2014 /
 
Az MSP43FR5969 Launchpad kártya most 35 %-os árkedvezménnyel kapható (fizetéskor a FRAMLP kupon kódot kell megadni). A hétfőn kezdődött akció állítólag 2 hétig tart. Bővebben: Link

Megjegyzés: ha valaki a 430BOOST-SHARP96 kijelzőt is meg szeretné venni, akkor olcsóbb az kártya + kijelző kombót egyben megvenni, mint külön-külön.
(#) bbb hozzászólása Júl 16, 2014 /
 
Sziasztok!

OKI C301dn nyomtatómban a fekete (utánygyártott) tonerhez való chipben meglepődve ismertem rá egy MSP430G2452-re. A kérdésem, hogy esetleg valaki tudja milyen kód futhat benne? Ki lehet rimánkodni belőle valahogyan? Igazából csak az a gond, hogy én megtölteném a tonert, de ugye a chip nélkül nem érek semmit vele. Elvileg lehet kapni utángyártott tonert (csak a boltokban a megrendelt darabot sorra lemondják, hogy nincs!), az eredeti meg természetesen vetekszik a nyomtató árával... Arról nem is beszélve, hogy itthon a chip is 3000+ magyar forintba kerül hozzá (rablás), míg a nagy falon túlról feleennyibe se, csak győzzem kivárni, míg ideér.
(#) bbb válasza bbb hozzászólására (») Júl 18, 2014 /
 
Sziasztok!

Dunakeszi közelében nincs véletlenül valaki, akinek van MSP430-ashoz FET-je, amivel megpróbálkozhatnánk kiolvasni az előző hozzászólásomban említett MSP430G2452-est? Nekem sajnos csak egy TIVA launchpad van a birtokomban, ami viszont úgy tűnik nem alkalmas rá (vagy, ha valaki tudja hogyan lehetne felhasználni erre a célra, az megoszthatná velem is).
(#) icserny válasza bbb hozzászólására (») Júl 18, 2014 /
 
Idézet:
„csak egy TIVA launchpad van a birtokomban”
Az nem alkalmas rá.
Következő: »»   128 / 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