Fórum témák
» Több friss téma |
Mi az a program, amit éjszakára abbahagy, de nappal folytat és nem indulhat újra ?!
Egy, a végletekig leegyszerűsített hőmérő (DS18b20), ami menti és UART-on küldi az adatokat. A küldést csak egy androidos applikáció fogadja.
Azt nem mondtam, hogy nem indulhat újra a program, de a mentés miatt így egyszerűbb. Egy tartályos napkollektor víz hőmérsékletét figyelem a mikrovezérlővel.
Találtam egy elméleti megoldást, ami remélhetőleg a gyakorlatban is működni fog.
A napelem 6V-ot termel, ha szépen süt a nap. 4V-ot leosztok ell.osztóval 1,8V-ra. Ezt egy I/O bemenetre kötöm, ami megszakítás okoz és felkelti a mikrovezérlőt. Gyakorlatilag, ha a napelemek többet termelnek 4V-nál, akkor az MCU bemenete már magas szintet érzékel és futhat a program tovább.
Sziasztok! Szokás szerint ismét itt vagyok tarhálni. Keresgéltem, de nem találtam könyvtárat az MSP430 launchpad (2553-as IC-vel) és a MAX6675 ic összekötésére Energia platform alatt. A dolgomat (szerintem) az is nehezíti, hogy mindezek mellett egy NOKIA LCD kijelző is (PCD8544, 84*48pont) is a rendszer része, ami szintén SPI buszos. Önállóan a kijelzőt sikerült életre kelteni icserny fórumtársunk cikkjei és leírásai alapján, használom is már, de kettő egymás mellett még egy kicsit nagy falat. Ha valaki tud egy-két linket szellemi fejlődésem elősegítése céljából, nagyon megköszönném. Google barátunkat megkérdeztem, jópár óra keresés és próbálkozás már van a hátam mögött a témában, de sajnos eddig csak kudarc kövezte utamat.....
Lövésem sincs a MAX6675-ről, de az Arduino könyvtár adaptálásával próbálkoznék.... Bővebben: Link
A két SPI eszköz szétválasztásához csak az kell, hogy külön-külön kiválasztó vonaluk legyen (a CE vagy CS jelű lábra gondolok).
Köszönöm. Keresgéltem különféle verziójú Arduinora írodott MAX6675 könyvtárak között. Hosszas keresgélés után találtam olyat, amelyik legalább "befordítódott" hiba nélkül. Most már csak össze kell ütnöm egy SO8-DIP panelocskát, hogy megnézzem, tényleg működik, vagy maradok az analóg műveleti erősítős megközelítésnél...
Sziasztok.
CCS V6.01-ben, hol tudom megnézni a lefordított program méretét?
Ha más nincs, a projekted Debug mappájában a .map állományból kisilabizálható (.text, .const és .cinit szekció memória kezdőcíme és mérete kiolvasható)
Ez így elég körülményes... Azt hittem van egyszerűbb megoldás.
Más! Energia környezetben szeretném az I2C-t, Wire könyvtárat, és az SPI könyvtárat egyszerre használni, de sajna nem megy. Ha az SPI MISO lábat (I2C SCL) bekötöm az eszközbe, az I2C eszköz leáll. Lehet erre valami megoldást találni? IAR-al csináltam már ilyesmit sikerrel, de most Energia alól szeretném.
Lehet, hogy a Wire.begin(), illetve SPI.begin() hívásokat minden váltásnál ki kell adni? Én nem csináltam még ilyet, hanem szoftveres I2C-t használtam (SoftwareWire library)
Hardveres probléma van. Gondoltam kapcsolgatom egy tranyóval a MISO vonalat, de inkább marad a szoftveres I2C.
Sziasztok!
Adott egy MSP430F5438 amelybe valamilyen programot töltöttek azóta nem lehet törölni a tartalmat. Előfordulhat, hogy valamilyen védelmet raktak rá? Nem akarom kiolvasni a tartalmat hanem egyszerűen csak törölni akarom, hogy újra tudjam írni. Mi lehet a hiba és hogyan tudom orvosolni hogy törölni tudja a MSP430F5438-at. Köszi Idézet: „Előfordulhat, hogy valamilyen védelmet raktak rá?” Előfordulhat. Hacsak ebből a fórumból vagy a SLAU320 dokumentumból nem tudsz valami okosságot kisilabizálni, akkor ki is hajíthatod.
Sziasztok.
Egy MFRC522-es modullal szenvedek, illetve csak egy részével. A kipróbálási fázishoz az innen letöltött Energia könyvtárat használom. A problémám csak annyi, hogy nem tudom bekapcsolni a megszakítást a MFRC522-n. A modulon ki van vezetve az IRQ láb, de az ide tartozó regiszterek beállításával nem történik semmi.
Azt szeretném elérni, hogy a kártya "elhúzásával" megszakítást generáljon a MFRC522.
Nem ismerem ezt a modult, de a mikrovezérlő megszakítása engedélyezve van? Legalább egy AttachInterrupt() vagy hasonló kellene. Bővebben: Link
Azzal nincs gond.
Sajnos a MFRC522 adatlapja elég kevés infót ad az IRQ pin beállításáról, és arról, hogy a négy regisztert miként kell beállítani...
Bocsi ez lemaradt. Energia program ide tartozó része:
Valami kód védelemről ír mi letiltja a jtag-ot ezért nem lehet elérni a procit. Meg valami BSL területet ír amit ha felül tudunk írni akkor ujra elérhető jtag-on keresztül a mikrovezérlő. Ez nekem már magas. Akkor kuka. Köszi!
Üdv,
Előre is elnézést, ha rossz helyre írok. Segítséget szeretnék kérni. MCU-t keresek, leginkább a TI-tól, ami kezeli az I2C-t, és analóg 4-20mA-es kimenettel is rendelkezik, jó árfekvésben, ha egyáltalán létezik ilyen..Nagyon megköszönném, ha valaki tudna segíteni a típusválasztásban.. A hozzászólás módosítva: Aug 11, 2015
Van itt egy jó kis cikk távadóról (Ezúton is köszönet érte): Bővebben: Link
TI MCU=MSP430 Bővebben: Link A hozzászólás módosítva: Aug 12, 2015
Sziasztok!
Olyan kérdésem lenne hogy tud valaki olyan leírást amivel ps2/-őn MSP430-at használva elhitetem a géppel, hogy lenyomtam pl a "p" gombot? A billentyűzetet szeretném kiterjeszteni. Előre is köszi...
Texas Instruments "Felhő Szerszámok" szolgáltatás (TI Cloud Tools)
Angyali ötlet - felhő alapú szolgáltatás, webböngészőből használható fejlesztői környezet a TI Launchpad kártyákhoz való alkalmazások fejlesztéséhez. Link: Ti Cloud Tools Alkalmazások: Explorer: mintaprojektek, adatlapok, dokumentáció elérése PinMux: periféria kivezetések hozzárendelése MSP432, TM4C, F28x, CC3200, AMxxx mikrovezérlőkhöz CCS IDE: Code Composer Studio fejlesztői környezet (C/C++ és Energia/Wiring) A TI Cloud Agent telepítése után a támogatott Launchpad kártyákra a lefordított program letölthető, illetve hardveres nyomkövetés is lehetséges. Linux esetén a 32 bites könyvtárakra is szükség lesz. Ubuntu 14.04: sudo apt-get install lib32stdc++6 libc6-i386 libusb-1.0-0-dev:i386 Korlátozás: MSP430G2 Launchpad kártyák esetén csak Windows alatt működik a nyomkövetés.
Bár nem pont MSP430 mikrovezérlő de azért hasonló. A Launchpad C2000-nél hogyan kell értelmezni a táp-jumpereket? Melyiket kell rajta hagyni ha USB-ről megy, és hová kötöm az 5V-ot ha külső áramforrást használok?
Itt a leírás a 7. oldalon de nem értem: Bővebben: Link
a. JP1, JP2 és JP3 legyen fenn, ha USB-ről (a JTAG áramkörtől) jön a tápfeszültség.
b. Mindhárom jumper legyen levéve, ha galvanikusan le akarod választani a JTAG áramkört a mikrovezérlőtől. c. Legalább JP1 legyen levéve, ha külön tápról akarod járatni a mikrovezérlőt. Én úgy látom, hogy a +5V csak a J5 tüskesorra megy át. A TMS320F28027PT mikrovezérlő a kapcsolási rajz szerint csak a +3V3 jelzésű ponttal van kapcsolatban (J1-1, illetve JP1-2), ide lehet kívülről 3,3 V-ot betáplálni. Külső 5 V-os táplálásra nem látok lehetőséget (csak a JTAG áramköri részben látok 3,3 V-os stabilizátort).
Köszi, de még sok kérdésem merült fel.
Engem nem zavar ha a JTAG rész is áram alatt lenne (vagy ez probléma lehet?). Ha a JP3 jumper 2-es lábára csatlakozok 5V-al akkor a mikrovezérlő is meg fogja kapni a működéséhez szükséges 3,3V-ot nem? A JP1-et miért kell bármikor is leszedni ha a vele párhuzamosan kötött R21 ellenállása 0 ohm? Mire jó ha le tudom választani galvanikusan a JTAG áramkört a mikrovezérlőtöl? Idézet: „Ha a JP3 jumper 2-es lábára csatlakozok 5V-al akkor a mikrovezérlő is meg fogja kapni a működéséhez szükséges 3,3V-ot nem?” Nem, a JP3-1 lábra kell adni 5V-os betáplálást (az USB csatlakozó ekkor ne legyen összekötve a számítógéppel vagy más tápforrással) és a másik két jumper legyen csatlakoztatva. Ennél egyszerűbb szerintem JP3 helyett egy USB töltőfejhez csatlakozni (de stabilizált legyen, max. 5.1 V!!!) Idézet: A jumperek használatának értelemszerű feltétele, hogy velük párhuzamosan nincs beforrasztva rövidzár.„A JP1-et miért kell bármikor is leszedni ha a vele párhuzamosan kötött R21 ellenállása 0 Ω?” Idézet: „Mire jó ha le tudom választani galvanikusan a JTAG áramkört a mikrovezérlőtöl?” A leválasztás csak speciális esetekben kell: - A számítógép ne zavarja a mikrovezérlőhöz kötött áramköröket (zajcsökkentés). - A számítógépet nem akarod veszélyeztetni a mikrovezérlőhöz kötött áramkörökkel. A hozzászólás módosítva: Okt 8, 2015
Vettem egy Launchpad C2000-et a 12bites ADC-je miatt, de elakadtam.
Annyit szeretnék, hogy az egyik lábra érkező 0-3V-os jelet átalakítsa egy számmá és ezt kiírja egy 2x16-os LCD-re. Van ehhez valakinek egy mintaprogramja? Már az első felével sem tudok megbirkózni, hogy legalább az Energia Serial Monitorján tudjam követni a jelet: Eddig annyit csináltam hogy a példaprogramok közül betöltöttem a ReadAnalogVoltage programot és átírtam az A3-as lábat AA3-ra. A SerialMonitor szépen hozott egy 4-5-ös értéket, de hiába kötöttem be egy feszültségosztós 10k-s potit, nem történt semmi.
Ha az összes ADC képes lábat lekérdezem akkor az alábbi kép fogad.
Úgy tűnik sikerült megoldani pár problémát. Az ADC működik, és az LCD-s hello world mintaprogit is sikerült lefuttatni. Azt viszont nem értem miért lehet az hogy a hello worldös mintaprogi nem bootol be magától, ha áram alá helyezem a kártyát? Az egyszerű LED blinkes mintaprogi szépen lefut ha a flash bootot beállítom a dip kapcsolókkal, a "hello world" vsizont nem.
Végül sikerült összehozni ezt.
Sikerült rájönni hogy mi az a programban ami feltöltve lefut, de ha flash bootot nyomok akkor nem. Nos ez a sor: LiquidCrystal lcd(12, 11, 5, 4, 3, 2); Ha a headerben nem definiáltam a pineket, és helyette a setupban meg a loopban inicializáltam minden egyes alkalommal, akkor zavaróan villódzott a kijelző. Végül így sikerül megoldani: Headerben: LiquidCrystal* lcd=0; Majd a setupban: lcd = new LiquidCrystal(12, 11, 5, 4, 3, 2); Ezzel már hajlandó bebootolni is és a kijelző is szépen működik. Valamint voltak gondjaim az ADC-vel. Az első az az, hogy nem volt stabil, de ezt sikerült megoldani úgy, hogy beolvasott 100 értéket az egyik lábról, átlagolta, majd 100 értéket a másik lábról és azt is átlagolta. (Ugyanis az sem volt igazán jó ha felváltva olvasta be a 100-100 értéket a két lábról, nem pedig először az egyiket és utána a másikat). A másik pedig hogy nagy eltérés volt a Launchpad által mért és a valós (tehát az általam mért feszültség között). 0V esetében a Launchpad +224mV-ot mért, 2.850V ráadott feszültség esetében pedig csak 2,52V-ot ami már 340mV-al alatta van a valósnak. Végül bekalibráltam mert lineáris összefüggés szerint tért el, de zavar hogy ennyire félremért az eszköz. Esetleg impedancia problémák lehetnek? A 0-10V-os jelet egy 34,8k+15,0k-s feszültségosztó osztja le 0-3V-ra. Másnak is volt ilyennel problémája? |
Bejelentkezés
Hirdetés |