Ajattelin tässä ostavani jonkun alkeellisen PIC-kontrollerin ensimmäiseksi uhriksi, mutta olen hiukan sekaisin noiden mallimerkintöjen suhteen. Helppo ja perinteinen valinta olisi PIC16F84, mutta niitäkin näyttää olevan myynnissä montaa mallia, joiden hinnat vaihtelevat 5-10€ välillä. Esim. PIC16F84-04/P ja PIC16F84-04/SO, mikä ihmeen ero noillakin on? Ja näitä mallejahan on vaikka kuinka paljon, mutta lähinnä kiinnostaa että toimivatko nuo kaikki 16F84-sarjalaiset samoin?
Lisäksi kaipaisin suosituksia nettikaupasta, josta saisi noita pic-piirejä mahdollisimman halpaan hintaan, ja tarvitsisin myös tuon ohjelmointilaitteen, siis sen Microchipin oman.
ps. Vaikuttaa mukavalle nämä kontrollerit. Voi koodata alkeellisella assemblyllä (tai sen muunnoksella), ei ole raudan ja ohjelman välissä turhia kerroksia kuten pc-ohjelmoinnissa, vain bittejä, käskyjä ja rekisteri. <3
Tuosta 16F84:stä on periaatteessa kaksi eri versiota, 16F84 sekä 16F84A. Ensinmainittua ei enää myydä; erona näillä kahdella on lähinnä se että A-versio kykenee suurempiin nopeuksiin. Seuraava numero, esim. -04 tarkoittaa piirin maksiminopeutta, tässä tapauksessa 4MHz. Viimeinen /xx tarkoittaa piirin paketointia. Harrastajan kannalta helpoin paketointi lienee DIP/DIL. Esim. tuo /P tarkoittaa (P)DIP-paketointia, /SO taas SOIC-paketointia.
Noita mikrokontrollereita nyt löytyy melkein mistä vaan ja hinta on aika pitkälle aina sama. Itse olen tilaillut mm. Partcolta ja Probyteltä.
Jos et halua laittaa ohjelmointilaitteeseen liikaa rahaa, niin netistä löytyy yksinkertaisia prommauslaitteita sarjaväylään, esim nimellä "JDM programmer" luulisi löytyvän asiaa. Myös partcolta voinee kysellä picprom-laitetta, sillä onnistuu ainakin tuon PIC16F84(A) ja PIC16F87x(A) -sarjojen prommaus. Windows-alustalle näitä varten hyviä ohjelmia on esimerkiksi icprog, linuxille mm. ponyprog.
Jos haluat muuten koodata jollain muullakin joskus kuin puhtaalla assylla, niin voit esim. kokeilla jotain C-kääntäjää. Mm. Hitec PICC ja CCS ovat tunnettuja; jälkimmäinen tosin maksaa rahaa.
Kiitoksia paljon! Olisi ollut aika ikävä yllätys jos vahingossa olisin tilannut pintaliitoskontrollerin. Ohjelmointilaitteeksi taidan tilata tuon PicProm-laitteen, kun ei hinta ole kuitenkaan järin paha. Tuleekohan tuossa kasausohjetta, vai löytyneekö jostain Mikrobitin nettisivujen syövereistä?
Muoks. Näyttää olevan Kouluelektroniikassa halvimmat osat, joskin piccien määrä ei päätä huimaa. PIC16F84A-04 ja PIC16F84A-20/P ovat minun vaihtoehdot, ensimmäinen olisi ok mutta siinä ei ole merkintää koteloinnista..? Toisessa on /P mutta en tarvitse kuitenkaan 20mhz nopeutta mihinkään.
Löysinpähän halvan ohjelmointilaitteen: http://atomia.net/tuotteet.php?begin=1201&level=2&code=PIC-PG2
Eli lähteekin tuo tilaukseen, ei tarvi edes itse kasata.
Sitten vaan jotain reikälevyä, vastusta, konkkaa ja tietysti piiriä niin pääsee vauhtiin. 8) Ah ja ne elintärkeät ledit ja napit.
Tumpelo kirjoitti:
Eli lähteekin tuo tilaukseen, ei tarvi edes itse kasata.
Höh, rakennussarjojen kasaaminenhan on pirun mukavaa :P
Niinpä. Itselläni on PICAXE- mikrokontrolleri. Ostettu joltakin jälleenmyyjältä. Oikea valmistaja taisi olla Revolution Education ( http://www.rev-ed.co.uk ). Hintakin oli varsin halpa.
www.kouluelektroniikka.fi
sieltä löytyy myös kaikkea tarpeellista.
jos on varaa käyttää hiukan rahaa projekteihin, niin suosittelen MCC:n kortteja, erittäin laadukkaita hintatasoonsa nähden. (www.measurementcomputing.com)
löytyy usbi/pci/isa I/O:ta, a/d muuntimia sekä lähettimiä,optoräkkejä, optoja.kaikkea yhdessä, you name it.
jälleenmyyjänä suomessa mm. www.hantekno.com
kaikki tarvittavat kamat mitä noiden käyttöön ohjelmassasi tarvitset (activex komponentit etc, mitä sitte käytätkään) tulee mukana.
jos hankit kortin mikä vaatii piuhoitusta määritykseen onko joku i/o tulo/lähtö etc, tarvitset jonkinlaista käsitystä high ja low TTL tasoista.
jos tarvitsette apua näissä, ottakaa yhteys tonto-05@hotmail.com, napatkaa vaikka irkissä hihasta kiinni, tai pistäkää jotain postausta tänne.
Noniin, ohjelmointilaite ja Kouluelektroniikasta tilatut romppeet ovat saapuneet ja ensimmäinen laitteen alku rakennettu. Ledin ja piipperin kanssa sähläystä, tarkoitus olisi tehdä nyt aliohjelma jolla voi soitella eri nuotteja, ja näin saisi yksinkertaista musiikkia aikaiseksi.
Onneksi tilasin kaksi mikrokontrolleria, ensimmäisen onnistuin hajottamaan (jalat vääntyi).
jos samaan kytkikseen joutuu ohjelmoimaan montakertaa saman piirin niin on toisaalta kätevää käyttää korttimallista pic-piiriä, eli tollaista sirukortin näköistä korttia. Itse noita kortteja hommasin joskus, kun vielä sateliittilähetykset olivat analogisia... Nykyään noita on tullut käytettyä joissain protokytkennöissä missä on tullut ohjelmointikerto paljon. Sitten "lopulliseen" kytkentään on siirtänyt ohjelman ihan normaalille pic-piirille.
Toisaalta taas protokytkikseen pitää aina tuo korttikanta lisätä, tosin rakentelin tuossa sellaisen adapterin millä sen saa kiinni normaaliin dil-kantaan, eli kytkennän voi suunnitella suoraan oikean mallisille piireille.
Eihän tällä systeemillä muuta arvoa ole kuin säästää piirien iroittelun vaiva ja samalla säästää noita piirinjalkoja.
Ei mikropiirien jalat hajoile, jos siihen suunnitelluilla työkaluilla niitä käsittelee. Biltema auttaa.
Jos tulee tarvetta ostella uusia PICcejä, niin suosittelen katsastamaan oman kauppani sivut: www.saunalahti.fi/latesoft/
Kontrollerit ovat mukavia työstää, jos on elektroniikan perustyökalut käytössä. Säädettävä kolvi erikokoisilla terillä, oskilloskooppi jne. Älä osta Biltemasta mitään johtoa monimutkaisempaa. Tinat, fluksit yms. vain alan liikkeistä, muuten tulee sutta ja hermot menee.
latesoft kirjoitti:
Jos tulee tarvetta ostella uusia PICcejä, niin suosittelen katsastamaan oman kauppani sivut: www.saunalahti.fi/latesoft/
Vaikuttaa hyvälle, mutta sinun kannattaisi lisätä myyntiin vielä mikropiirikantoja, sillä on aika ikävä tilata kannat ja piirit eri paikoista. ;)
Tumpelo kirjoitti:
latesoft kirjoitti:
Jos tulee tarvetta ostella uusia PICcejä, niin suosittelen katsastamaan oman kauppani sivut: www.saunalahti.fi/latesoft/
Vaikuttaa hyvälle, mutta sinun kannattaisi lisätä myyntiin vielä mikropiirikantoja, sillä on aika ikävä tilata kannat ja piirit eri paikoista. ;)
Kannattaa kokeilla normikantojen tilalla naaraspuolista pinnirimaa. Ei tarvitse kuin kerran ostaa kunnon pätkä, josta voi leikellä sopivia. Netistä löytyy ainakin http://www.lm.fi/ joka toimittaa elektroniikkaan liittyvää sälää halvalla.
latesoft kirjoitti:
jos on elektroniikan perustyökalut käytössä. Säädettävä kolvi erikokoisilla terillä, oskilloskooppi jne.
Tinan laatua väittäisin jopa kolvia tärkeämmäksi. Ainakin SMD-komponenttien juottamisessa mahdollisimman ohut tina on kova sana. Kolvi kannattaa toki hankkia säädettävänä, mutta en ole itse kaipaillut mitään erityisen laajaa kärkivalikoimaa.
Aloittelijalle yleismittari lienee skooppia tärkeämpi ostos. Alkuun pääsee kivasti ihan halvoilla kympin-parin mittareilla, harrastuksen edetessä saattaa alkaa tehdä mieli hintavampaa ja monipuolisempaa.
Itse piceistä en osaa sanoa juuri mitään kun niistä ei kokemusta ole. Puuhastelen itse AVR:ien parissa.
Ensimmäinen härveli valmistui. Tarkoitus on tehdä alkeellinen tietokoneen periaatteella toimiva laite. Tuo kuvan laite on siis näppäimistö (pikemminkin ohjain) sitä varten.
Jaetaanpa tämäkin kokemus tänne jotta muut ehkä välttyisivät samalta kämmiltä.
Eli rakensin tuon edellämainitun laitteen, ja rupesin ohjelmoimaan. Tein aluksi pienen testiohjelman, joka sytyttää virtaledin vain jos painetaan OK!-nappia (sellaiseksi nimesin tuon napin :-o). Kirjoitin ohjelman, ja simuloin sen vielä koneella useaan otteeseen, kaikki toimi kuten pitääkin. Prommasin piirin ja löin kiinni. Mitä per... Ledi palaa jatkuvasti?
Koodi meni siis niin, että jos kyseinen input on high, ledi palaa, jos low, niin ei pala. Kytkentä meni niin että suoraan 5 volttia vastuksen ja kytkimen kautta inputtiin. EI NÄIN!
Pull-up/pull-down resistori, en ollut moisesta kuullutkaan ennen, mutta nyt tajusin että siitä tämä on kiinni. Jos kytkintä painetaan, inputtiin menee 5 volttia, ok. Jos kytkintä ei paineta, input ei ole kytketty mihinkään. Äkkiseltään tuntuisi että näinhän se toimii, mutta ei toimi. Erinäisten häiriöiden yms. takia jännite ajelehtii inputissa, ja kontrolleri tulkitsee inputin jatkuvasti high-tilaan. Tämä on helpointa korjata pull-down resistorilla, eli lyödään kytkimen jälkeen iso (10k) vastus maihin, jolloin kytkimen ollessa auki, jännite ei enää ajelehdi inputissa koska se on kytketty maihin. Kun kytkin on kiinni, jännite menee inputtiin, ja suuren vastuksen takia virtaa ei juurikaan mene maihin. Pull-up olisi parempi ratkaisu, mutta pull-downilla on helpointa korjata tekemäni systeemi.
Näin tällä kertaa, virheestä viisastuu ja sitä rataa.
PortB on yleensä hyvä valinta nappeja varten, koska siinä on ensinnäkin sisäänrakennetut pullup vastukset (Option_Reg.7) ja 4-7 pinneillä on interrupt on change. Tämä pätee lähes jokaiseen PICcciin.
Harrastelua nopeuttaa huomattavasti se, että rupeat käyttämään bootloaderia PICissä. Esim. TinyPic on valmis ohjelma koodin lähettämiseen suoraan PICille ilman että laitat sirun erilliseen ohjelmointilaitteeseen. Sarjaportti kun näyttää jo löytyvän kortilta..:)
No se bootloaderin käyttö edellyttää varmasti sitä että siirrytään käyttämään sellaista PIC piiriä joka kykenee ohjelmallisesti päivittämään omaa ohjelma muistiaan. :) 16F84 ei ole sellainen minun tietääkseni.
Suositeltavaa kyllä jos vaan on sopiva piiri käytössä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.