Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

PIC rikutud?

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    PIC rikutud?

    Tegin plaadi PIC16F84A testimiseks. Nägi päris kena välja. Proovisin igasugu asju selle peal, ei töödanud.
    Avastasin siis, et olen kõik valesti teinud: olin ajanud Vss(GND) ja Vdd(+5v) sassi. Nii, kraapisin siis MCLR ja Vss jalgade vahelt raja katki ning vahetasin toitel poolused. Testisin - midagi juba toimus (vilguti töötas), kuid lülitiga oli probleeme (lüliti ei tohtinud olla otsapidi +5v küljes).
    Kraapisin siis MCLR ja lüliti vahelt raja pooleks ning ühendasin juhtmega GND rajale. Oigasin juba, kuna olin jälle saanud hakkama täieliku plökerdisega.
    Olen ühendanud ühe rohelise valgusdioodi RB0, ühe punase RB3 jala külge.
    Tekitasin koodi, mis pidi idee pärast RA0 sisendiks, PORTB väljundiks sättima. RA0 alla vajutamise korral RB0 High ja RB3 Low sättima. RA0 lahti laskmise puhul pidi vastupidi tegema(RB0 Low ja RB3 High).
    Testisin: muidu nagu töötab, kuid RB0 küljes olev punane LED põleb koguaeg, lüliti pressimisel läheb heledamaks. RB3 küljes olev roheline LED aga töötab täpselt nii, nagu vaja.

    Kood:
    	INCLUDE "P16F84.INC" 	&#59;look up file for MPASM
    	LIST	P=16F84
    	ERRORLEVEL   -302  	&#59;SUPPRESS BANK SELECTION MESSAGES
    	__config _RC_OSC&_PWRTE_ON & _WDT_OFF&#59;RC oscillator, power on timer 
      	&#59;and watchdog timer off
    
    status	equ	h'03'	&#59;status register
    trisb	equ	h'86'	&#59;set up register for port B
    trisa	equ	h'85'	&#59;set up register for port B
    count1	equ	h'0e'	&#59;general purpose register
    count2	equ	h'0f'	&#59;general purpose register
    portb	equ	h'06'
    porta	equ	h'05'
    
    ;****set up portA and portB****
    	bsf	status,5&#59;switch to bank1 to set up ports
    	movlw	h'00'
    	movwf	trisb
    	movlw	b'00000011'
    	movwf	trisa
    	bcf	status,5&#59;switch back to bank0 to use ports
    
    ;****main program****
    start	
    	bsf	portb,0
    	bcf	portb,3
    start2	btfss	porta,0
    	goto	start
    
    	bcf	portb,0
    	bsf	portb,3
    	goto	start2	&#59;do it all over again
    
    	end;
    Ei tea, kas koodis on viga, mäletan, et proovisin vist ka koodinäidet, mis reageerib nupuvajutusele ning paneb valgusdioodi RB0 jala küljes põlema..



    Või on viga skeemis? PCB-d vast ei hakkaks peintis järgi joonistama...

    Võibolla olen suutnud kuidagi kiipi valetpidi sisse pannes ja teisi taolisi vigu tehes kiibil RB0 ära lõhkuda?

    Igatahes suured tänud...

    #2
    Kood peaks funktsioneerima, vaata oma raud üle (kas Mclr on läbi 10k takisti ühendatud +5v) kui ei ole, siis võib hakata juhtuma igasuguseid imelikke asju. Ma näen koodist ka et konfitud on rc väline taktsageduse allikas, kas takisti ja konde on õigete väärtustega (sa võiks proovida hoopis kristalliga (Hs)? Vaata et rb0 ei oleks ühendatud kogemata läbi mingi takisti +5v ja kõige lõpuks on mingi võimalus et pic kõrbes. Kuna tegemist on üpris raskesti hävitatava jubinaga, siis ei pruukinud kogu "maagiline suits" välja tulla, võisid kahjustatud saada näiteks lihtsalt mõned väljundid. Mul endal on üks töötav eksemplar 1,5A voolutarbega (tööaeg 5-10sek ja seejärel 1min jahtumiseks ning töötab jälle).

    Comment


      #3
      Sama lugu oli mul ühe 16F628-ga. Tegin ühendusel vea ja...RB0 jäi igaveseks nulli, muu osa töötas
      Huvi pärast mõõda kahtlast otsa testriga (takistus). Äkki näitab kohe lühist maaga?
      - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
      - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

      Comment


        #4
        :blink: MCLR on ühendatud läbi 2x20k takistite, mis paralleelselt. RB0 läheb läbi 100oomise takisti ning valgusdioodi maha. Kontrollisin kiibil jalad üle, ükski ei tundunud olevat maaga lühises. Üle pole ka ükski jupp veel kuumenenud...
        Kuid RC komponendid ei ole võibolla väga õiged: C=22p(vist) R=3k09. Kondensaator on mingi keraamiline vene jupp ning mul pole mahtuvuse mõõtmiseks sobivat testrit.

        Vahetasin RB0 ära RB7 ning sain sama tulemuse, samamoodi põleb, nupule klikates läheb LED heledamaks.

        RB7, RB0 otsas olev diood tegelikult ei põle, vaid vilgub, kuid üsna kiiresti(ei saanudki pihta enne, kui oscilloskoobiga lähenesin)...
        ...Nääh, mõlemad vilguvad...
        Näppisin ka toitejuhet, tõstsin seda, vahepeal nagu oleks tööle vilksatanud. Kahtlane...

        Tänud jällegi...

        Comment


          #5
          Pane clkin ja clkout vahele üks 20MHz kristall (näiteks see 74-508-28) ja kristalli kummagi jala ja maa vahele üks 30pf kondekas. Koodis muuda ära config
          __config _HS_OSC&_PWRTE_ON & _WDT_OFF;HS oscillator, power on timer
          Nii lähedale toite otstele (ma mõtlen kivi jalgu) kui võimalik jooda üks 100nF keraamiline kondekas.
          PS kristall tuleks samuti ühendada nii lühikeste radade või juhtmetega kui võimalik, ikkagi 20MHz. Toitele võid lisaks panna veel ühe 200uF lüüdi-igaks juhuks. Porta0 ühenda läbi 10k (pulldown) takisti massiga, muidu võib juhtuda et lüliti lahti olles hakkavad elektrilised häired möllama ja PIC arvab et nuppu klõpsiti.

          PS proovi kõigepealt RA0 pulldowniga, kui see ei aita, siis proovi ülejäänud asju ja kui need kah ei mõika, proovi PIC välja vahetada.

          Comment


            #6
            Aitäh, arvan, et teen vast uue skeemi, mul praegu seal juba niipalju juppe igalt poolt välja rippumas nii, et "Parasiitseid ühendusi" jagub...

            Pulldown RA0 otsas tundus ka natuke mõjuvat. Diood jääbki vahest mõneks ajaks kustu, kuid ikka vaid mõneks sekundiks..

            Arvan, et 20MHz prooviks vast siis, kui 4MHz ei tööta. Mõtlesin Tevalos, et niikuinii ei lähe nii suure sagedusega kiipi minusugusele algajale vaja ning võtsin 4MHz. Peale jõulupühi saab aega olema ka tevalost jälle läbi käia, kvartsi, paki kondensaatoreid, takisteid, võibolla uue 16F84 osta ning uuesti proovida..

            Suured tänud teile..

            Comment


              #7
              saax selle skeemi j2rgi proovida maketikal aga oma PICi kyll ei taha 2ra rikkuda
              tee yks lihtne asi m6ne sellise skeemi j2rgi mis seda jalga kasutab ja siis peaxid kah targemax saama

              Comment


                #8
                Aa, leidsin üles..

                Panin pullupi RA0 ja lüliti vahele ning kõik hakkas tööle..

                Suured tänud jällegi..

                Comment

                Working...
                X