Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nem feltetlen belyegeznem maradinak aki regebbi, jol bevalt modszert/software-t/rendszert hasznal valamire
![]() Sok objektiv szempont mellett egyeni, szubjektiv okai is lehetnek.
Ha használni akarom a régi mla-kat - és ugyan miért ne akarnám használni a már kiforrott kódjaimat - azt az X nem eszi meg. Halom sok hibaüzenet a vége. A harmony-ról pedig egyenlőre nagyon sok panaszt látok, miközben az mla-val deka problémába nem futottam még bele. Szívesen újraírok én mindent, de ha csak halom sok probléma a vége, azért minek?
Na a "maradi", az fájt! ![]()
Az MPLABX - et használom már az 1.20- as verzió óta és sokkal kényelmesebb használni mint a régebbi MPLAB-ot. Mondjuk nekem még nem volt gondom a régi projektjeimmel amiket átvittem az X- be, az is igaz csak assemblyben programozok. Lehet hogy C-ben már sokkal körülményesebb lehet átvinni X-be a projekteket.
Asm-ben valójában teljesen lényegtelen, melyik környezetet használod. A probléma a high lvl libekkel kezdődik (usb generic / msd filter, ethernet, sd stb). Amíg azok nem pöpecek harmony alatt, részemről kicsit úgy érzem, hátrébb lennék vele, mint előrébb.
Nem tudom neked miért nem, nekem simán fordul minden a régi C18-al az X alatt is.
Akkor jöhet némi szívás, ha a C18 nem kezeli az adott újabb kiadású PIC-et, de arra meg nem nagyon van régi MPLAB alatt írt kód, azaz tiszta lappal indulhatunk XC alatt. Más az XC (microchip szégyene), ez tény, de ezt is meg lehet szokni, mint annyi mindent korábban... A hozzászólás módosítva: Máj 20, 2016
„Sziasztok!
Én mikroc-ben szeretnék programozni egy pic16f877-est az alábbi kondíciókkal: PIC16F877 4Mhz 5db DS18B20 hőmérő 5db digitális bemenet úszókapcsolók jeleinek érzékelésére 4db digitális relés kimenet Az összeépített vezérlőnek hőmérsékletet, valamint úszókapcsolókat kell figyelnie, melyeket LCD-re is ki kell írnia. Az LCD-vel egyidejűleg a soros portra is be kell küldenie, mért hőmérsékleti adatokat, valamint a portról fogadnia kell bekapcsolási parancsot a relék meghúzásához. A mikroc helpje alapján összeraktam a kódot,de most tanácstalan vagyok hogy miért nem küldi megfelelően az adatokat.(lásd csatolt kép)
Sziasztok!
Keresgéltem a Microchip oldalán a projektemhez PIC-eket, de sajnos nincs olyan jó szűrője. Nem szeretnék olyan mikrokontrollerbe belefutni, ami tele van hibával. Egyedül a dspic családban találtam olyat, ami megfelelő, de nagyon hosszú volt az errata-já. ![]() Leírnám, hogy mire van szükségem. Tudnátok ajánlani hozzá egy jól bevált, újabb (>2010) mikrokontrollert? Egy motorvezérlés lesz. PWM csak a kijelző háttérvilágításához kell. Mágneskapcsolókkal lesz megoldva a motor kapcsolása. - 5Vos tápról mennyen - EEPROM ha lenne benne, az előny - minimum 2 de 3 vagy 4 UART jó lenne - ADC - 1db PWM kimenet, de ha nincs megoldom anélkül - 1db 16 bites Timer - minimum 4db külső megszakítás bemenet (INTx) - minimum 40MHz-ről járjon - ha van benne naptár funkció az előny, ha nincs akkor külső - a lábszám 65 és 80 között legyen, TQFP tokozású legyen
Van Microchip part selector kotorászni, elleszel vele egy kicsit. A feltétel rendszered egyébként üres halmaz. Túl sokat akarsz egyben. Főleg annyi minden az 5 voltos pic-eken tipikusan nincsen, még a 3 voltosak közül is az mz családot kell előszedni hozzá a 32-esek közül, de azokat nem mondanám teljesen kiforrott daraboknak.
Talán több pic-et kellene láncba kapcsolnod mondjuk i2c-vel, vagy egy központi pic köré szedni a többit spi-vel.
Nem hinnem hogy feltetlenul szukseges dspic. Szerintem az az enhanced 8 bites is megfelelo amivel epp dolgozom. Van benne minden ADC, DAC, PWM, 2 EUSART, 2 I2C, 2SPI, 4db 16 bites timer, 1k EEPROM, 5V-os, 64MHz akar belso oszcirol, 3 kulso interrupt, 4programozhato interrupt-on-change, interrupt priority, stb stb. 28 pin QFN tok. Ja es van benne 1 full es 2 half bridge ECCP, ha mar motorhajtasrol volt szo. Ez mind egy tokban maga a 18F26K22
![]()
Nem jó. Írtam hogy mennyi pinre van szükségem. A maps-ot ismerem. Elég sok felesleges dologra lehet szűrni, fontosakra pedig nem.
A 3,3V az ADC miatt nem jó. 5V-os referencia fesz kell. Én legszívesebben 32mx vagy mzt raknék bele. Valakinek esetleg egyéb ajánlása van? A hozzászólás módosítva: Jún 5, 2016
Nuvoton ARM Cortex-M0 mikrovezérlők között nézz szét inkább! (A ChipCAD kínálatában...)
Annyira nem ismerem. A PIC-nél szeretnék maradni, esetleg AVR is szóbajöhet.
Aminek annyi pin-je van, pic-ek közül egyik sem 5V-os. Talán más gyártók termékei között kellene szétnézned.
A pic32-esek között már nem találsz 5V-ost. A leguccsó 5V-os darabokat a Pic30-asok között találod, azok 16 bitesek, és szintén nincs annyi mindenük. Használhatsz szintillesztő logikákat, de a tokok száma miatt nem leszel előrébb, mint több olcsó 5V-os pic összekötögetésével. A nagyobb órajellel is inkább azt csinálnám, hogy szétosztanám a feladatokat több pic-re, és elég úgy a kevesebb is. A hozzászólás módosítva: Jún 5, 2016
A gond az, hogy az AD konverter referencia feszültsége miatt kell az 5V-os. A tápfeszt szeretném referencia feszültségnek használni.
Én szívem szerint PIC32MZ vagy MX-el csinálnám meg, de az adatlapban úgy láttam, hogy a tápfesztől csak néhány száz mV-al lehet nagyobb az AD konverter referencia feszültsége. Most küldő AD-ket nézegetek, de azt nem szívesen használnék, de ha nincs más...
Szerintem az ADC-nél neked valami nem tiszta. Ha a tápfeszt használod referencia feszültségnek, minden zajt bele fogsz mérni, ami az 5V-on megjelenik. Használj bármilyen más referenciát, pl TL431 2.5V-ját. Írod: 100mVctal lehet magasabb a bemenő feszültség az ADC-n: persze, mert egy dióda van a VCC felé. Használni kellene feszültség osztót, és akkor nem 5V lenne a maximális feszültség, amit mérni tudsz...
Elég nehéz bármit is ajánlani, mert nem tudjuk hogy pontosan mik a céljaid, elvárásaid, mit részesítesz előnyben, milyen kompromisszumokat kötnél. Én még akkor is gondban vagyok, amikor magamnak kell keresni valamit, mert nagyon sok szempontot kell figyelembe venni, és nincs olyan eszköz, ami tökéletesen jó lenne.
Én ezeket ajánlanám így elsőre: dsPIC30F5011 vagy 5013 (Kiforrottságról nem tudok mit mondani.) Egyébként a 40MHz miért kell? Csak mert pl. a 16MIPS sebességet egy PIC18-nál 64MHz, míg PIC24-nél 32MHz külső órajellel lehet elérni. Az 5V-os tápfeszből előállított referencia kritériumát sem értem.
Gondold végig, hogy mivel jár a feszültség osztó. Nem ez az első ilyen áramköröm...
Most úgy néz ki sikerült megalkudnom a 3.3V-os tápfesszel. Mivel itt lesz GSM modul is, ezért még gondolkozom, hogy külső legyen-e. 3.3V-osban hirtelen nem találtam. Egy rakás áramkörünkben a tápfeszt használjuk referenciafeszültségnek.
Idézet: „Nem ez az első ilyen áramköröm...” Szerintem akkor már magadtól is megtudnád oldani a problémát...
A PIC32MX795F512-nek nézegetem az RTCC részét.
Érdekes, hogy nincs neki Vbat bemenete, tehát ha nem kap tápot a mikrokontroller akkor elszállnak a dátum és idő adatok.
Ezt inkább nem kommentálom. Privátban szívesen kifejtem neked a véleményemet.
Nem minden RTC használ külön elem bemenetet. Más módon is megoldható a folyamatos tápellátás. Pl. használhatsz több tápforrást egymástól diódával elválasztva. Egy példa SuperCap használatára:
Én is egy nagy kondit fogok használni.
Külső RTC lesz a vége így. Egy másik kérdés: Használt már valaki FRAM-ot? Mik a tapasztalatok? A 10^12-10^14 irás/olvasási ciklust tényleg tudja? Én üzemórát fogok vele számolni. Fogok csinálni egy RAM teszt programot, amivel leszimulálok 30 évnyi írási olvasási ciklust egy rekeszre. Azzal is fogom tesztelni, hogy a külső mágneses tér vajon mennyire befolyásolja.
Az említett PIC32 esetén figyeled a tápfeszültséget, és ha az elér egy kritikus (minimum) szintet, akkor a belső RTC kivételével mindent lekapcsolsz és IDLE módba váltasz. Így kíméled az elemet vagy kondit. Az ébresztést pedig a táp visszaadása végzi.
Ha ez neked nem jó, akkor használj külső RTC-t, ott több a lehetőség! A hozzászólás módosítva: Jún 5, 2016
Külső lesz. Elég sok kritikus dolgot kell elvégeznie a PIC-nek.
Egy feszültségosztó semmi problémával nem jár, és sokkal nagyobb pontosságot lehet elérni vele és külső referenciával, mint a tápfeszültséget referenciaként használva, osztó nélkül. Azért leírhatnád, hogy mi a bajod az osztóval, érdekelne.
Elmondom, de az elején tisztázzuk, hogy ki nem állhatom a lekezelő számonkérő stílust.
A feszültségosztóval leosztott tápfeszültség referenciafeszültségnek ugyan úgy változik lineárisan ahogy a tápfeszültség, csak a feszültség változást a feszültségosztó tovább osztja. Létezik terheletlen és terhelt feszültségosztó. Az AD konverter referencia feszültsége úgy mint az AD konverter bemenete terheli a feszültség osztót. Ahogy az AD konverter bemenetére a referencia feszültségre sem szabad kötni közvetlenül feszültség osztót, hanem közbe kell iktatni egy 1-es erősítésű műveleti erősítőt. Az 1-es erősítő műveleti erősítőnek nagyon nagy a bemeneti ellenállása, így nem terheli a feszültség osztót, de a kimenete már terhelhető. Amikor az AD konverter bemenetére feszültség osztót teszünk akkor nem csak egy 1-es erősítésű OPA-t kell bekötni, hanem a mérési pontatlanság is nő, mert leosztottam a feszültséget. Én pont ezt akarom elkerülni, mert kritikus. Ha otthon csinálsz valamit oda persze nem kell OPA csak simán rákötöd, de nem lesz annyira pontos. Vannak olyan alkalmazások amikor nem engedhető meg, hogy rossz vagy kevésbé stabil, nem 100%-os munkát adjunk ki a kezünk alól. Többféle kár keletkezhet, anyagi, imidzs, stb. Lásd pl autóipar. Egy légzsákvezérlő elektronika sem hibásodhat meg.
Ha ragaszkodsz azokhoz a tulajdonságokhoz, amelyekkel a Microchip mikrovezérlőknek csak a 3,3 V-os példányai rendelkeznek akkor muszáj lesz leosztani az ADC bemenőjelét.
Számomra már nem kérdés, valamit valamiért. A mérések nem lesznek annyira pontosak, de legalább megoldódik egy csomó nagyobb gond.
Egy kontrolleren a referencia fesz. bemenet, vagy egy A/D bemenet mennyire terhel, hogy mindenképpen kell az 1x -es erősítésű műveleti erősítő? Szerintem ezzel a pontatlanság nő, mert a tápfeszültségek közelében már nem az igazi egyik OPA sem, hiába rail-to-rail. Esetleg ha kettős tápot kap az OPA, csak kérdés, érdemes-e ennyit rászánni, mert lehet, hogy a linearitás hibája többet ront rajta, mintha azzal a pár uA-rel terhelnéd a fesz. osztót. Nem?
Sok kontrollernek van belső referencia feszültsége, de külsőt is lehet használni, azok egy - két uA-től (lehet, hogy sokat mondok) nem fognak elmászni. A hozzászólás módosítva: Jún 5, 2016
A terhelt feszültségosztó problémáján kívül az összes egyéb eltörpül a táp pontatlanságában. A PIC viszont állandó árammal terheli az osztót, így az kalibrálható. Ha a tápot is akarod figyelni, a belső referencia nagy előny.
A 8 bites sorozatban is van nagy lábszámú, ez kb. megfelel a minimum követelményeknek: PIC18F87K90 |
Bejelentkezés
Hirdetés |