CNC alapok

A CNC (Computer Numerical Control) egy olyan szerszám, amit számítógép vezérel. Segítségével akár század milliméter pontossággal is megmunkálhatjuk munkadarabunkat. Ebben a cikkben a fent említett géphez kapcsolódó alapfogalmakkal ismerkedünk meg. Bővebben…

Pickit2 HOWTO

Mire jó ez az eszköz?

  • Tud Microchip IC-ket programozni (nem csak pic, akár számítógép nélkül)
  • PIC-eket debugolni MPLAB alól
  • 11LC, 24LC, 25LC I2C buszos EEPROMokat írni/olvasni
  • van benne 1 MHz maximális mintavételezési frekvenciával működő logikai analizátor
  • soros portot emulálni 300-38400 BAUD-al
  • Egyszerű logikai ki/bemenetnek is lehet használni (3 IO, 1 out)
  • Miniatűr szabályozható tápegység
  • AVRISP emulálás

Mint programozó

MPLAB alól
MPLAB alól csak PIC mikorvezérlőket tudunk programozni. Használatához csak kiválasztjuk a Programmer menüpontból a Pickit2-őt, majd megjelennek a toolbar-on a szükséges ikonok. Sajnos egy fontos parancs a tápfeszültség ki/bekapcsolása kimaradt, ezt a Programmer/Settings menüben keressük. Az eszköz (ha nem nyúltunk a beállításaihoz) automatikusan megnézi, hogy kap-e tápfeszültséget a mikrovezérlő. Ha 0V-ot mér, akkor az adatlapban előírt optimális feszültséget kapcsolja a kimenetére. Erre figyeljünk oda, mert ha 5V-os IC van kiválasztva, de 3,3V-ról üzemeltetjük mert van mellette más nem 5V-os IC akkor abban kárt tehet, mert 5V-ot kapcsol a kimenetére. A Programmer/Settings menüben be lehet állítani, hogy mindig a külső tápfeszültséget használja, ne adjon ő az áramkörnek.
Pickit2 “külső” program alól
Van egy nagyon egyszerű .net-ben íródott „standalone” program, amivel tudunk mikrovezérlőket programozni. Használata egyszerű: csatlakoztassuk az eszközt az USB portra, indítsuk el ezt a programot (A legfrissebb jelen pillanatban a PICkit 2 v2.61, indításkor megpróbálja azonosítani a mikrovezérlőt ha tudja, figyeljünk oda rá, mert a jobboldalon utoljára beállított tápfeszültséget rákapcsolja a mikrovezérlőre, ha nem talál külső tápot, illetve ha utoljára más családból használtunk mikrovezérlőt aminek nagyobb programozófeszültség kell (pl 12V baseline esetén, 3,6V dsPicnél) akkor tönkreteheti a céleszközt), válasszuk ki a mikrovezérlő családját (ekkor megint keresni fogja a mikrovezérlőt), töltsünk be egy HEX-fájlt a File/Import Hex menüpontal (és igen megint próbál kommunikálni a céleszközzel) majd kattintsunk a Write gombra. Tanulság: ne csatlakoztassuk a céleszközt addig, amíg nem választottuk ki a mikrokontroller családját. Lehetőség van arra, hogy automatán felprogramozza a kontrollert, ha változást észlel a HEX fájlban. Ezt a módot a jobb alul lévő Auto Import Hex + Write Devide gombra kattintva érhetjük el. Ha a programozólábakon esetleg nagyobb terhelés van és nemsikerül a programozás, akkor lehetőség van lassítani a Tools/Fast Programming előtti pipa kivételével. Lehetőség van „erőltetni” azt, hogy külső tápfeszültséget használjon a Tools/Target VDD source menüpontban.
Pickit2CMD
Ez egy kis keresztplatformos (Windows, Linux, Mac) program, amivel konzolból tudjuk használni az eszközt
Programmer to go
Ez a funkció arra való, hogy számítógép nélkül a Pickit2 eepromjába égetett HEX fájlal felprogramozzunk mikrovezérlőket. MPLAB alól (tudtommal) nincs lehetőség ennek a használatára. A külső „standalone” programmal a Programmer/Pickit 2 Programmer-to-go menüponttal tudjuk használni ezt a módot. Kiválasztjuk a beégetendő hex fájlt, célmikrovezérlő típusát majd a program áttölti a hex fájlt a pickit2 saját eepromjába. A sárga led villogása jelzi ezt a módot. Ebből a módból úgy lehet kihozni, hogy csatlakoztatjuk újra egy számítógéphez, és elindítjuk a standalone programot, vagy ha már fut akkor a Tools/Check Communication menüpont aktiválásával. Ha bent van az eeprom-ban a hex, akkor usb-n keresztül tápot kell adni a programozónak (nem, nem tud a programozáshoz használt csatlakozóról tápot venni) és meg kell nyomni rajta a gombot a programozás elindításához.

PIC-ek debugolása MPLAB alól
Nagyon egyszerű, válasszuk ki a Debuggers menüpontból a Pickit2-őt és kész vagyunk. Csak olyan PIC-ekkel működik, amelyekben van debugolást segítő hardver.

EEPROM-ok írása / olvasása
A standalone programot, vagy a PICKIT2CMD-ot használhatjuk erre a célra. A standalone programban Device Family alatt kiválasztjuk az EEPROMS menüpontból a nekünk kellőt, importáljuk a fájlt amit bele akarunk égetni, majd Write gombra kattintással beletöltjük.

Logikai analizátor / logikai ki/bemenet
A standalone programban a Tools menüpontból a Logic Tool menüpontal érhetjük el ezt a funkciót. Jobb felső sarkban tudjuk kiválasztani a módot: Logic (egyszerű ki/bemenet), Analyzer (1MHz-es logikai analizátor)
Logic mód
Még mielőtt belépnénk a módba állítsuk be a használni kívánt tápfeszültséget, ha a pickit2-ről szeretnénk táplálni a céleszközt, mert utána nincs lehetőségünk, csak a tápfeszültség ki/bekapcsolására ebben a módban. Jobb alul az Enable IO gombra kattintva aktiválódik. A programozóport 1. lábát csak kimenetként tudjuk használni, a többi 3 (4.,5.,6.) lehet bemenet is. A portok módját / állapotát a velük egy sorban lévő vezérlőkkel tudjuk állítani, és ezek jelzik vissza, hogy milyen logikai szint mérhető az adott lábon ha bemenetként használjuk. Ettől a módtól ne várjunk gyors reagálást, néhány Hz-en frissül a kijelzés.
Analyzer mód
Tápfeszültséget ugyanígy állítsuk be mint a Logic módnál. A mintavételezési frekvenciát a jobboldalon lévő listából tudjuk kiválasztani. A trigger feltétel a baloldalon van. A * azt jelenti, hogy ne figyelje ezt a csatornát. Egy trigger feltételt mindenképpen szükséges megadni. A jobb alsó részén az ablaknak meg tudjuk adni, hogy a mintavételi ablakban hol legyen a trigger. Összesen 1024 mintát vesz az adott mintavételezési frekvencia mellett. Kurzorokat a mintavételi ablak felett lévő checkboxal tudunk aktiválni, jobb és balgombal lerakni. Ha nem érkezne trigger feltétel, akkor az eszközön lévő gombal tudjuk megszakítani a figyelést.

Soros port emulálás
A standalone program Tools/Uart tool menüpontjával hozhatjuk elő. Bal felső listából tudunk Baudrate-et állítani, majd utánna Connect gombal elindítani a vételt. A sebességet 300 baud tól 38400 baudig 1 baudos lépésekben tudjuk állítani.

Mint tápegység
Anélkül, hogy csatlakoztatnánk rá bármilyen mikrovezérlőt ugyanúgy lehetőségünk van ki/bekapcsolni tápfeszültséget amit kiad a programozóporton. 2,5V-tól 5V-ig tudjuk állítani a kimeneti feszültséget. A kimenet rövid-zár védett, ha túl nagy terhelést érzékel akkor kikapcsolja a kimenet tápellátását, és elkezd villogni az egyik led (nagy, 1000uF körüli kondikkal terhelve is néha rövidzárat érzékel). A kimenet körübelül 80mA-el terhelhető. Az USB port felé 100mA-es maximális áramigényt jelent be amiből ugye lejön maga az eszköz fogyasztása.

AVRISP emulálás
Elsőnek: eh? mi? ezt hogy? Nagyon egyszerű: az eszköz az USB portról nem egy HEX fájlt kap, hogy tessék égesd be, hanem egy szkriptet, amit végrehajt. Tehát mindenféle trükközés és firmware módosítás nélkül lehet vele AVR-t programozni, mindössze egy olyan szkriptet kell neki küldeni, amivel emulálni tudjuk a gyári programozót. Nagyon egyszerű dolgunk van, feltelepítjük a com0com programot ami létrehoz két virtuális soros portot, futtatjuk az PK2AVRISP programot amivel az egyik virtuális soros portra csatlakozunk, majd bármilyen AVR-hez használható IDE-el ami támogatja az AVRISP-t csatlakozunk a másik soros portra, és készen vagyunk.