Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1208 / 1320
(#) pajti2 válasza Wezuv hozzászólására (») Jan 1, 2016 /
 
@Wezuv:
Igen, és meg is köszöntem, mert sikerült teljesen körüljárni a kérdést, és az a fontos. A többi már csak részletkérdés, azzal biztosan elboldogulok magam is. Oké, szószátyárságban különben vita nélkül bűnös vagyok, a bocsánatotokat kérem érte Kicsit túlterheltek az ünnepek érzelmileg, és kimerültebb vagyok az átlagosnál.

@killbill:
Nem 1W, hanem 1V. Kapocsfeszültség stabilan előreszámítható kezeléséről volt szó.
(#) AZoli válasza pajti2 hozzászólására (») Jan 1, 2016 /
 
Idézet:
„Jelen esetben nem merem hűtés nélkül hagyni,”

150mA * (5V-3,3V) = 0,255W az sok egy SO8 toknak? A DPak nem kapcsolható.
(#) pajti2 válasza AZoli hozzászólására (») Jan 3, 2016 /
 
Próbálok ráhagyásokkal tervezni mindent. Betű szerint nem sok ugyan az sem, amit számoltál, de azok mögött a számok mögött analóg mennyiségek vannak, és nem csak azonnali elpukkanási határérték létezik, hanem áramköri használódás is. Amit jelenleg hozzáadtam ahhoz a negyed watthoz, és az so8 hűtőpad nélküli 140 k / w hőellenállásához, az egy munkagép hőkisugárzása a nyári melegben, mint környezet. Rossz esetben napsugárzás is. A cucc műanyag dobozban lesz ugyan, de az is csak át tud hevülni. Még a pic32-t is csak 24mhz-ig hajtom ki, hogy alacsonyan tudjam tartani a hőmérsékletét rossz esetben is. Már amennyire az egyáltalán lehetséges. Ha így is rossz lesz, hát így is rossz lett, de legalább nem azon szúrtam el, hogy még a sorsot is kihívtam magam ellen.
(#) Hp41C hozzászólása Jan 6, 2016 /
 
Érdemes ellátogatni a Microchip oldalára! Érdekes dolgokra bukkankat a látogató:
MpLabX IDE download: MPLAB® X IDE v3.15 letöltése a 3.20 verziót tölti le....
Sajnos a 3.15 és ez a verzió IPE sem kezeli jól a dsPIC33EP64GS502 -t (sárga a LED).
Minden kapcsolódásra az a válasz jön, hogy a kiolvasott 0x0 azonosító nem egyezik a várt 0x4E210000 -gyel. Ugyanazzal a panelkével a PICkit2 -n szépen bele tudta programozni a PE -t és ki tudja olvasni a program memóriát....
(#) Beles válasza Hp41C hozzászólására (») Jan 9, 2016 /
 
Csak én érzem úgy, hogy nagyon elkapkodja a microchip a dolgokat? Mostanában meggyűlt a bajom elég sokszor amióta az újjab termékeiket használam. Csak egy pár példa:
- PIC32MZ széria, alapvető funkciók hibásak az errata szerint is, de nem javítják ki, pedig eltelt egy-két év már, és nem jön új verzió, REV3-nál tartunk csak...
- MPLAB Harmony: a dokumenctáció hiányos, a weboldalon "coming soon" felirat réges rég óta...
- MPLAB Harmony kódban USB OTG-ben egy >= jel helyett csak a > jel volt egy if részben, sokat szívtam mire megtaláltam
- MPLAB Harmony konfigurator a TIMER-ek beállításait nem menti el rendesen, mindíg újra be kell állítanom ha módosítani szeretnék valamin
- MPLAB X IDE problémák.... nekem sokszor eldobja az ICD3-at pl. és sorolhatnám még
Mindeközben már valami nagyon új miktrokontrollert akarnak piacra dobni, vagy talán már piacon is van? PIC16-PIC18 szériával sosem voltak ilyen gondjaim MPLAB 8 alatt.
(#) norbiv8 válasza Beles hozzászólására (») Jan 9, 2016 /
 
A PIC16 sem jobb, bár nem sokat használom, de az MCC-vel futottam bele olyanba, hogy a PWM nem ment mert nem a beállított értéket töltötte bele a generált kód, hanem fix 0-t. De ezen nem kell csodálkozni az után, hogy az egyik adatlapban találtam egy hibát, amit részletesen leírtam és elküldtem a microchip-nek, majd hónapokkal később jött az olvasási visszaigazolás, hogy olvasatlanul törölve lett a levél...
(#) Wezuv válasza Beles hozzászólására (») Jan 9, 2016 /
 
Szia! Én most egy 32MX-el dolgozom. Mindig mindent gyalog állítok be, így elég kevés a probléma vele. Igaz nem használok túl sok perifériát a mostani projectben csak a párhuzamos portot, soros portot, SPI-t, I2C-t. Az ICD3-at nekem nem dobálja el az X 3.10, nem lehet, hogy az újabb kiadás hibás és azt használod? Sok panasz érkezett rá itt is.
(#) killbill válasza Beles hozzászólására (») Jan 9, 2016 /
 
Ez pont ilyen f@s volt mar 2009-ben is. Az USB stack-ben is javitottam hibakat, a TCP/IP-ben is. Es kozben forgott a gyomrom attól, amit láttam. Rettentő nagy gány az egész. A mikrocsip mindig is ilyen volt, mar a 16Cxx sorozattol kezdve. És ha megvesznek egy céget, akkor többnyire azt is csak elrontják, lásd mikrocsip WiFi modul. Olyanok, mint a mikrofos.
(#) potyo válasza killbill hozzászólására (») Jan 9, 2016 /
 
Én most kerültem szembe a Harmonyval, az RMII csatornát nem tudta konfigurálni, hogy az alternatív lábakon legyen. Viszont kézzel átírva a konfig fájlt, utána egyből volt hálózat, ami viszont pozitív

De ezzel az MPLABX-el nem tudok kibékülni. Rengeteg memóriát eszik, bár ezt részben a Java hibájának tekintem. Másrészt egy Reset láb oda-vissza billentés a programozó eszközön keresztül ne tartson már 8-10 másodpercig...
A hozzászólás módosítva: Jan 9, 2016
(#) pajti2 válasza potyo hozzászólására (») Jan 15, 2016 /
 
Én egyenlőre át sem tértem sem az mz-re, sem a harmony-ra, és továbbra sem használom az mplab-ot sem. Maradtam az mx-nél, meg a kézzel gyártott fordító scripteknél (nálam minden egy klikkre fordul 2 másodperc alatt bibii ). Minden másban annyi a hiba, hogy azzal roncsolja csak az idegrendszerét, aki akarja - én eddig nem akartam, és remélem, mire muszáj lesz, addigra csak emberibb állapotok lesznek az mz környékén is.

Feldobtam a kérdést mc-nek még január 3.-án, hogy olvastam az mz / da család előzetes doksijait, és kíváncsi lennék rá, van-e bármilyen tervezett public release date. Azóta ülnek rajta. Valami nagyon bonyolultat kérdezhettem
A hozzászólás módosítva: Jan 15, 2016
(#) Hp41C válasza pajti2 hozzászólására (») Jan 15, 2016 /
 
Még a 60001361B.pdf -et is eltüntették... Sikeresen programozom a 32MZ1xx, 32MX2xx , 32MZ -kel PICkit2 -vel mindenféle firmware csere nélkül.
(#) Wezuv hozzászólása Jan 20, 2016 /
 
Sziasztok! Valaki használt már SQI-t SD kártyához PIC32-vel? Keresgéltem librari-t, nem találtam.
A hozzászólás módosítva: Jan 20, 2016
(#) pajti2 válasza Wezuv hozzászólására (») Jan 22, 2016 /
 
Az az sqi az sd kártyák saját protokoljának a neve ?
(#) Droot válasza pajti2 hozzászólására (») Jan 22, 2016 /
 
Csak a PIC periféria neve.
(#) Attila86 hozzászólása Jan 23, 2016 /
 
Sziasztok!
Adott egy 50% kitöltési tényezőjű, néhány kHz-es PWM jel. Ebből kellene előállítani egy ugyan ilyen, de 0°-180° közt (legalább fokonként) állítható fázistolású jelet. Van erre esetleg ötlete valakinek? Van egy gyanúm hogy a 16 bites PIC-ek timer és OC perifériáival, esetleg az input capture-rel meg lehet oldani valahogy de még nem jöttem rá a magoldásra.

Az egyik OC-t össze kellene kapcsolni valamelyik timerral. Az OC-nek "Single Compare mode"-ban kellene mennie és így a fázistolás egyszerűen az OCxR regiszter állításával változtatható. A timert pedig kapuzni kellene az alapjellel, így akkor indulna el amikor jön a H szint. Azért pedig hogy mindig nulláról induljon, be kell állítani egy megszakítást a bemenő jel lefutó élére, és ott nullázni a timert.
Ennek két hibája van; az egyik hogy a timer mivel kapuzva van ezért csak addig pörög míg a jel magas szintű. A timer kapuzásnak valahogy arretálnia kellene. A másik probléma pedig hogy az OC modul a "Single Compare mode"-ban felezi a frekvenciát. Ha "Double Compare Continuous Pulse mode"-ban menne, akkor jó lenne a frekvencia, csak így az OCxR-en felül az OCxRS-t is mindig át kell állítani, a konstans 50% kitöltési tényező megtartásához.

Ja, amúgy az alapjelet a PIC is előállíthatja, ez lehet hogy megkönnyíti esetleg a dolgot.
(#) benjami válasza Attila86 hozzászólására (») Jan 23, 2016 /
 
Csak egy ötlet, nem néztem meg az adatlapot, nem tudom megvalósítható-e:
A két PWM kimenetet két külön timer-el hajtod meg. A timer-ek ugyanazzal a frekvenciával járnak, a kitöltési tényező is azonosra legyen beállítva. Amikor a fázist akarod beállítani kiolvasod az egyik timer aktuális értékét, és a kiolvasott értéket a kívánt fázistolás értékével megnövelve beírod a másik timer-be. A 16bites timernél így a 0-val megnövelt érték lesz a 0fok, a 32768-al megnövelt érték lesz a 180fok.
(#) Attila86 válasza benjami hozzászólására (») Jan 23, 2016 /
 
Nem rossz ötlet! Nem értem miért akartam én túlbonyolítani...
Közben eszembe jutott egy még egyszerűbb, ehhez csak egy timer (és két OC) kell: a timer közös mindkét jelnél, "Single Compare" módban mennek a compare modulok , az egyiknek az OCxR-je fixen nulla, a másiknak a fázistolását pedig az ő OCxR-jével lehet állítani.
(#) Droot válasza Wezuv hozzászólására (») Jan 24, 2016 /
 
Szia!

Jutottál valamire?
Most én is ezt tervezem. Az azonos lábak egy az egyben összeköthetőek (Vcc=3.3V mindkettőnél)?
A CMD lábat úgy gondolom egy szabadon választható portra köthető. Ha jól értelmezem ezzel lehet kiválasztani, hogy Command/Response vagyis parancsot adok ki vagy választ akarok.
Felhúzó ellenállások sem kellenek?
(#) Wezuv válasza Droot hozzászólására (») Jan 25, 2016 /
 
Még nem volt időm.
A lábak összeköthetők.
Igen, külön lábra, stb.
Kellenek a felhúzók, sőt, nézz körül, mert találni nagy sebességhez mindenféle ajánlást.
pl: AN10911
(#) Droot válasza Wezuv hozzászólására (») Jan 25, 2016 /
 
Köszi!
Ebben csak ESD védelemre találtam utalást és sima mezei 10-100K-s ellenállást láttam. Vagy elkerülte a figyelmem?
(#) Wezuv válasza Droot hozzászólására (») Jan 25, 2016 /
 
Inkább én értettem félre, tényleg ESD-re gyúrtak itt.
(#) Attila86 válasza Attila86 hozzászólására (») Jan 25, 2016 /
 
És hogyan oldanátok meg azt, ha nem két hanem három jelre lenne szükség? A másodiknak az elsőhöz képest 0°-180°-közti, a harmadiknak a másodikhoz képest pedig szintén 0°-180°-közti fázistolást kellene tudni beállítani. Mindhárom jel kitöltési tényezője 50%.
(#) ktamas66 válasza Attila86 hozzászólására (») Jan 25, 2016 /
 
Ha fix 50%-os kitöltés kell, használhatod a Toggle módot. Ahol 180°-nál nagyobb eltérés kell az alapállapotot kell megváltoztatni (ez lehet csak a modul megállításával és újraindításával lehetséges, ki kell próbálni).
(#) pajti2 válasza Droot hozzászólására (») Jan 27, 2016 /
 
Csupán kíváncsiság gyanánt, mi a pláne az egészben? Az spi miért nem jó?
(#) Zsora válasza pajti2 hozzászólására (») Jan 27, 2016 / 1
 
A pláne a (jóval) nagyobb sebesség, ill. olyan dolgok amik SPI módban nem elérhetők.
(Tudom hogy nem engem kérdeztél.)
A hozzászólás módosítva: Jan 27, 2016
(#) Attila86 hozzászólása Feb 2, 2016 /
 
dsPIC33EP512MC502-vel próbálok PWM jelet előállítania következőképpen: A timer5-öt és az OC1-et összekapcsolom, az OC1 kimenetét pedig kiteszem egy lábra (az RP38-ra, azaz az RB6-ra). A timer5 nullától 3499-ig számol (PR5=3499) belső órajelről, mindenféle osztás nélkül. Az OC1 pedig "Double Compare Continoous Pulse" módban megy, azaz ha a TMR5 egyenlő az OC1R-rel, akkor magas szintre vált a kimenet, ha pedig a TMR5 egyenlő az OC1RS-sel, akkor pedig alacsony szintre. Az OC1R=0, az OC1RS pedig 1749. Ennek végeredménye elméletileg egy 50% kitöltési tényezőjű négyszögjel lenne, a gyakorlatban azonban stabil L szintet mérek a lábon. Mit ronthattam el?
  1. TRISBbits.TRISB6=0;
  2.     RPOR2bits.RP38R=0b010000;       //Az RP38 lesz az OC1
  3.     //Timer5:
  4.     T5CONbits.TON=1;            //timer5 bekapcsolva
  5.     T5CONbits.TSIDL=0;          //idle módban is fusson
  6.     T5CONbits.TGATE=0;          //
  7.     T5CONbits.TCKPS=0b00;       //1:1-es előosztó
  8.     T5CONbits.TCS=0;            //belső órajelről menjen
  9.     PR5 = 3499;                //3499-ig számol
  10.     //OC1:
  11.     OC1CON1bits.OCM=0b101;      //"Double Compare Continoous Pulse" mód
  12.     OC1CON1bits.OCTSEL=0b011;   //az OC1 modul órajele a timer5
  13.     OC1CON1bits.ENFLTB=0;       //hiba-bemenet tiltva
  14.     OC1CON1bits.ENFLTA=0;       //hiba-bemenet tiltva
  15.     OC1R=0;                  //
  16.     OC1RS=1749;                  //
  17.     OC1CON2bits.SYNCSEL=0b01111;    //a timer5 szinkronizál
(#) AZoli válasza Attila86 hozzászólására (») Feb 2, 2016 /
 
Nem tudom hogy ennél a kontrollernél is úgy van-e, de a 24EP512... amikkel dolgoztam, ott minden OCx perifériának saját OCxTMR számlálója van, és a TMR5 -öt max ennek az OCxTMR órajelének választhatod, tehát amikor TMR5 megszakítást okoz, akkor lép OCxTMR.
Tehát azt akarom mondani, hogy nem TMR5 = OC1R és OC1RS, hanem OC1TMR = OC1R és OC1RS. Elég sokat szívtam vele.
(#) AZoli válasza AZoli hozzászólására (») Feb 2, 2016 /
 
Már nem tudtam módosítani előző hsz.-t.
Rosszul emlékeztem, nem TMRx megszakítás lépteti OCyTMR-t, hanem közös órajelet választhatsz. De az igaz, hogy nem TMRx és OCyR / OCyRS egyezés az esemény, hanem OCyTMR és OCyR / OCyRS.
(#) ktamas66 válasza Attila86 hozzászólására (») Feb 2, 2016 /
 
Talán az első és utolsó sorok megszívlelendők.
(#) Zsolt2 válasza Attila86 hozzászólására (») Feb 3, 2016 /
 
A timer szinkronizalasnak akkor van szerepe, ha tobb OC modult akarsz egymas kozott szinkronizalni, elleknezo esetben nem szukseges hasznalni. Minden OC mudulnak sajat timere van, ahogy AZoli is irta. Az OCM regisztertol fuggoen meg tudod adni, hogy az OC1R es OC1RS mit allitson.
A te kododban az a hiba, hogy az orajelt is a timer5 adja (vagyis mikor tullepi a beallitott erteket, akkor lepteti egyel az OC timeret) es szinkronizalod is ugyanarra a timmerre (vagyis mikor tullepi a timer5 a beallitott erteket reset jelet ad az OC belso timerenek).
Csatolok egy peldat egy egyszru beallitashoz:
  1. OC1CON1bits.OCTSEL = 0b111; //clock source for peripheral clock
  2.     OC1CON1bits.OCM = 0b110; //edge aligned PWM
  3.     OC1CON2bits.SYNCSEL = 0b11111; //no sync or trigger source for OCx
  4.     RPOR2bits.RP38R=0b010000;
  5.     OC1RS = 0xFFF;
  6. OC1R = 0x7FF;
A hozzászólás módosítva: Feb 3, 2016
Következő: »»   1208 / 1320
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