Kirjoittaja Aihe: PIC-ohjelmointi Ubuntussa  (Luettu 4910 kertaa)

windtlker

  • Käyttäjä
  • Viestejä: 17
    • Profiili
PIC-ohjelmointi Ubuntussa
« : 22.03.09 - klo:19.19 »
Heips! Elikkä tarkoituksena olisi ohjelmoida Microchipin PIC-piirejä Ubuntulla. Minulta löytyy tuo Mikrobitissä aikoinaan esitelty PicPrommer-rakentelusarjan pic-ohjelmointipiiri. Mikrobitin hemmot tekivät jonkin yksinkertaisen ohjelmoijan windowsille, mutta ymmärrettävästi se ei toimi Linuxissa, ja se on muutenkin todella simppeli. Mahtaisikohan tuota PicPrommeria saada toimimaan vaikkapa Ubuntun Piklabissa? Onko kellään kokemusta?


Kiitokset!

peran

  • Vieras
Vs: PIC-ohjelmointi Ubuntussa
« Vastaus #1 : 22.03.09 - klo:20.25 »
Minä käytän samaa ohjelmointilaitetta, ja enkä ole saanut sitä toimimaan muussa kuin Windowsissa. Siis tämä on yksi harvoista syistä pitää Windowsia yhdessä koneessa.

Laite ja ohjelma on yksinkertainen, ja sen ehkä voisi saada ohjelmoitua Linuxiin, mutten ole vielä ryhtynyt katsomaan, kuinka sen tekisin.

Sorsat on ollut kuitenkin saatavana ko. ohjelmasta, joten sikäli olisi ihan mahdollisuuksien rajoissa tehdä porttaus Linuxiin. Jos joskus ohjelmoin ko. ohjelman Linuxiin niin todennäköisesti teen sen pythonille.

Ohjelmointi sujuu kuitenkin ongelmitta Linuxissa. gpsim, gpasm ovat kaverisi.

windtlker

  • Käyttäjä
  • Viestejä: 17
    • Profiili
Vs: PIC-ohjelmointi Ubuntussa
« Vastaus #2 : 22.03.09 - klo:21.00 »
Tossa on vaan se paha, että kun itse hankin testausta varten 16F628-kontrollerin, joka on itseasiassa muuten sama kuin tuo 16F84, mutta vain parempi ja halvempi. Mutta kun tuo ohjelma tukee niin montaa kontrolleria, että meinaa alkaa päässä huimaamaan, ennen kuin on lukenut tuon tukilistan loppuun. Ja minä kun niin uskoin siihen mitä he olivat kirjoittaneet, että laite noudattelee "standardeja", ja että se toimii "muiden netistä löydettävien pic-ohjelmointisoftien kanssa". Tuossa piklabissahan pystyy säätämään juurikin tuota ohjelmoijaa, eli tässä voi itse säätää, mitä sarjaportin nuo eri pinnit vastaavat omalla piirillä. Tässä nyt sitten vain on se ongelma, että kun ne tuossa piirillä on MAX238-piiri sarjaportin ja piirin välissä, niin paha sanoa, että mihin pinniin ovat MCLR, power, Clock, Data Out ja Data In kytkettyinä. En tiedä, saisiko itse lehden artikkelistakaan sen enempää tuosta selvää, kun jollain ihmeen tapaa olen sen onnistunut hävittämään (olen onnistunut hävittämään moniakin juuri rakenteluun liittyviä mikrobittejä, ties minne ne olen piilottanut!), osaisiko joku ehkä sanoa tähän jotakin? Kytkentäkaaviosta en oikein saa mitään irti... Pitäisiköhän pistää kyselyä Mikrobitin toimitukseen? Vai voiko noita itse kokeilla eri pinnien järjestyksiä ilman, että tuhoaa koneen? En mä kyllä tällä mitään tee, jos tota mikrobitin omaa surkeeta softaa pitää käyttää...
« Viimeksi muokattu: 22.03.09 - klo:21.02 kirjoittanut windtlker »

windtlker

  • Käyttäjä
  • Viestejä: 17
    • Profiili
Vs: PIC-ohjelmointi Ubuntussa
« Vastaus #3 : 22.03.09 - klo:21.13 »
Minä käytän samaa ohjelmointilaitetta, ja enkä ole saanut sitä toimimaan muussa kuin Windowsissa. Siis tämä on yksi harvoista syistä pitää Windowsia yhdessä koneessa.

Selailin Mikrobitin rakentelunurkan foorumeita, ja löysin tälläisen viestin: http://www.mbnet.fi/rakentelunurkka/keskustelu/index.asp?ketju=75420. Siinä joku on saanut PicPrommerin toimimaan jossain ulkopuolisessa softassa, jossa oli ollut profiili jollekin JDM programmerille, ja hän oli vain pistänyt MCLR:n kohdalla, että invert. Tuo sama profiili löytyy myös tästä PikLabista! En ole vielä päässyt testaamaan käytännössä, koska paristot puuttuvat vielä tuosta prommeristani, eikä minulla ole vielä niin testipiiriäkään koossa kuin myöskään siihen ohjelmakoodia. Mutta jos itseäsi sattuu kiinnostamaan testaus, niin mielelläni kuulisin, että toimiiko!

peran

  • Vieras
Vs: PIC-ohjelmointi Ubuntussa
« Vastaus #4 : 22.03.09 - klo:23.40 »
Minusta näyttää siltä, että kaikki pinnit pitäis invertoida.

Toi MAX328 on vain piiri, joka muuttaa RS-portin 12 volttiset TTL-tasoiksi. ko. numeron innistä pitäisi mennä ko. numeron outtiin muuttumattomana, vain RS:ltä 12 V->5V ja piiriltä 5V->12V, mutta tosiaan jokainen portti menee 40106N negaation läpi.

Siinä tulikin kerrottua kytkentäkaavio, lukuunottamatta 2N3904 transistoria, joka tekee sen, että ohjelmointi muuttuu positiiviseksi.

Pinnit pitäis olla seuraavasti Outtina pic16f84
Koodia: [Valitse]
CTS <- -pin13 (RB7)
DTR -> -pin13 (RB7)
TX-> pin 5 (-MCR)
RTS->-pin12 (RB6)

En nyt ihan 100 varmasti osaa sanoa onko se noin, mutta noin yritin ymmärtää kytkentäkaaviosta, mikäli se nyt oli oikea kytkentäkaavio. Löytyi vanha kopio vanhasta MikroBitin ko. artikkelista, jota olen huolella säästänyt ja arkistoinut. Joskus oli ko. mikrobittikin, mutta olen sen jo hukannut.

peran

  • Vieras
Vs: PIC-ohjelmointi Ubuntussa
« Vastaus #5 : 23.03.09 - klo:01.05 »
Kerro toki, jos saat toimimaan, ja jos niin kuinka, sillä itse en saanut ohjelmoitua piciin, enkä vastaanotettua dataa picistä.

windtlker

  • Käyttäjä
  • Viestejä: 17
    • Profiili
Vs: PIC-ohjelmointi Ubuntussa
« Vastaus #6 : 23.03.09 - klo:01.45 »
Hmm, mielenkiintoista... Kokeilitko myös tuota ohjelmaa, jota tuolla mbnetin foorumeilla linkattiin elikkä http://www.ic-prog.com/? Tuolla foorumilla ainakin kahdessa eri paikassa neuvotaan käyttämään JDM:n profiilia invertoiden MCLR. Itse en vielä tarpeeksi paljoa tiedä piireistä, että itse osaisin ottaa tuohon paljoa kantaa. Mutta enhän voi rikkoa mitään vaikka kokeilisinkin vähän eri asetuksia tossa ohjelmoijassa?

peran

  • Vieras
Vs: PIC-ohjelmointi Ubuntussa
« Vastaus #7 : 23.03.09 - klo:09.14 »
Hmm, mielenkiintoista... Kokeilitko myös tuota ohjelmaa, jota tuolla mbnetin foorumeilla linkattiin elikkä http://www.ic-prog.com/? Tuolla foorumilla ainakin kahdessa eri paikassa neuvotaan käyttämään JDM:n profiilia invertoiden MCLR. Itse en vielä tarpeeksi paljoa tiedä piireistä, että itse osaisin ottaa tuohon paljoa kantaa. Mutta enhän voi rikkoa mitään vaikka kokeilisinkin vähän eri asetuksia tossa ohjelmoijassa?

Tietokoneessa et voi rikkoa mitään, mutta ehkä piiristä saattaa tulla entinen joillakin väärillä asetuksilla. Ic-progia en kokeillut vaan suoraan PikLabin oletusta. No kokeillaan JDM-profiilia invertoiden MCLR. Mulla on halpoja pic16f84:ia, joilla voin testata. Sain siis oikeesti halvalla.

windtlker

  • Käyttäjä
  • Viestejä: 17
    • Profiili
Vs: PIC-ohjelmointi Ubuntussa
« Vastaus #8 : 24.03.09 - klo:11.17 »
Löysin sieltä myös tälläisen viestin: "Mirkobitin picprommin saa linux-yhteensopivaksi (esim. picprog 1.1 http://www.iki.fi/hyvatti/pic/picprog.html) kun piirin 40106 nastat 5 ja 6 taivuttaa niin etteivät ne ota yhteyttä kantaan, ja oikosulkee ne pinnit kannassa pienellä hyppylangan pätkällä. (tiedetään, parempi olisi saada pinni 5 kantaan, mutta se ei sinne hyppylangan kanssa sovi)"

http://www.mbnet.fi/rakentelunurkka/keskustelu/index.asp?ketju=71105

windtlker

  • Käyttäjä
  • Viestejä: 17
    • Profiili
Vs: PIC-ohjelmointi Ubuntussa
« Vastaus #9 : 24.03.09 - klo:21.00 »
Ihme kyllä, täysin vastoin odotuksia, kun näyttää nuo Mikrobitin rakentelujutut vähän kutistuneet lähemmäs olematonta, tuli kuitenkin vastaus Mikrobitin rakenteluvastaavalta! Toivottavasti en loukkaa häntä pistämällä tämän hänen lähettämänsä ohjeen tänne julkiseksi, mutta en kehtaa pistää uteluviestiä hänelle asiasta, kun hänelle varmaan tulee tarpeeksikin mailia muutenkin, ja kun hän on kuulemma tämän vinkin aikaisemminkin julkaissut:

Hipsistä!

Olen vuosia sitten antanut tälläisiä vinkkejä Ic-Prog nimisen ohjelman asetuksiin:

"Ohjelmana tiimi käyttää IC-Prog nimistä ohjelmaa, joka kaiken lisäksi on ilmainen.
http://www.ic-prog.com
Prommariksi ohjelman asetuksista JDM prommer ( siis jos laitteena on PICPROM )
Interface: Windows API
Communication: Invert MCLR
Poista perusikkunassa FUSES kohdasta WDT rasti.
Samoin valitse oskillaattoriksi käyttämäsi menetelmä, eli kiteelle XT "

MCRL lähtee sarjaportin pinnistä 3 TXD
Clock                                          4  DTR
DOut                                          8  CTS
DIn                                              7  RTS

Toivottavasti nämä nyt tulivat oikein. Tästä on 8 vuotta kun tämän piirsin, eikä lehteenkään tullut eriteltyä näiden signaalien pinnejä muuten kuin kuvauksilla.

Käyttöjännite kannattaa laittaa omista paristoista, sillä sarjaportti ei käytännössä anna riittävästi jännitteitä tuon käyttämiseen. LF moodissa piirit kyllä ohjelmoituvat, mutta tehtaalta tulevat vaativat 13.5V jännitettä. Tuo 13.5V ohjelmointijännite on kriittinen. Alle tuon tulee virheitä, alle 12.5V piiri ei enää ohjelmoidu, 15V tuhoaa piirin.

Jos ei näillä vinkeillä lähtenyt toimimaan, kerro, niin koetan kaivella "salaisia arkistoja" lisää :o)

Kevään odotusta;

:Jari Ahdenkari



Ja nyt kun vertasin, tuon Piklabin JDM Classicin pinnit on pistetty aivan eri tavalla kuin Jari sanoo ne olevan tuossa IC-Progissa. Eli näillä voisi ehkä toimiakin? Itselläni oli suunnitelmissa, että hankin vielä 16F84A:n, että testaisin eka Windowsilla, että toimiiko edes koko tinahässäkkä ollenkaan. Mutta se taas vaatii isomman jännitteen ja ulkopuolisen oskillaattorinkin.

peran

  • Vieras
Vs: PIC-ohjelmointi Ubuntussa
« Vastaus #10 : 25.03.09 - klo:03.31 »
MCRL lähtee sarjaportin pinnistä 3 TXD
Clock                                          4  DTR
DOut                                          8  CTS
DIn                                              7  RTS

Todennäköisesti DOut ja DIn ovat yhdessä ja silloin data pinnit ovat DTR ja CTS Mulla on sarjaportin väliin työnnettävä mokkula, joka näyttää ledeillä, mitkä pinnit ovat päällä. Silloin, kun DTR menee päälle, menee myös CTS.

Toi MCRL:n yli 12 V:n tarvittava jännite on minulle uutta, ja varmaankin siksi minulla ei toiminut yksi prommeri, kun käytin siinä rekuloitua 12 V:n jännitettä.