Você está na página 1de 15

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Microcontroladores–comosãoúteis!

»

Monte um gravador USB para o PIC!

Esteartigoirádescreveramontagemdemaisumgravadorparaafamíliade microcontroladoresdaMicrochip,destavezutilizandoumainterfaceUSB,queseráconectada aocomputador.Elenaverdadeseráum“clone”dofamosogravadordaprópriaMicrochip,o

PICkit2.

UmadasdificuldadesemseimplementarumgravadorviaUSB,équeestafornece+5V,

sendoqueoPICparasergravadonomododealta­voltagemnecessitade+13V.Existeentão

umanecessidadedeseconseguirobteros+13Vapartirde+5V,oqueéfeitocomum

pequenocircuitoqueutilizaumcomponentechamadomicrochoqueoumicroindutor(que emseuinteriorseencontraumapequenabobinadefio),econformeaespecificaçãodo

próprioPICkit2(siteediagramaesquemático–>AppendixB.PICkit2Schematics)oseuvalor

éde680uH.Vamosentãoexplorarestapartedocircuitoqueacreditamosquesejaaque

maisgeradúvidas.

Figura01:TrechododiagramaesquematicodogravadordaMicrochipPICkit2referentea

obtençãodavoltagemde+13V–cliquenafiguraparaampliar:

obtençãodavoltagemde+13V–cliquenafiguraparaampliar: Comocomponentesaseremdestacadosdestecircuito,temoso

Comocomponentesaseremdestacadosdestecircuito,temosomicroindutorde680uHeo

diodoSchottky(BAT54)queéutilizadopararetificaracorrentealternadacomumavoltagem

acimade13V(geradapelochaveamentodotransistor(liga/desliga)comoseucoletorem

sériecomoindutor),tendoummelhorrendimentoqueodiodocomum.Nanossa

montagem,entretanto,elefoisubstituidoporum1N4148(podetambémserutilizadoo

1N5819).Acorrentealternadaéproduzidainjetando­seumafrequênciageradaporumpino

domicrocontroladorPIC18F2550nabasedotransistorMMBT3904(quesubstituimospelo

BC548).Eéestafrequênciaquebasicamentedefineavoltagemqueiremosobter.

Parafacilitaraindamaisacompreensão,montamosumcircuitoindependente,queconectado

aopinodequalquermicrocontrolador(ouatémesmoumintegrado555naconfiguraçãode

multivibradorastável–>osciladordeondaquadrada),fazaconversãode+5Vpara+13V.

IstoéchamadodeconversãoDC­DC.Elepodeoperardeduasmaneiras:comrealimentação

oucomcircuitoreguladordevoltagem.Veremosistocommaisdetalhesadiante.

Foto01:CircuitodeTestedoConversorDC­DCpara+13V(LadoA)–cliquenaimagempara

ampliar!

ampliar! Páginas SobreoSite: Microcontroladores: Categorias

Páginas

ampliar! Páginas SobreoSite: Microcontroladores: Categorias Circuitos (33)

Categorias

Circuitos (33) Circuitos(33)

Arquivos

Interesse em Treinamentos?

Interesse em adquirir placas prontas de circuito impresso dos projetos/artigos?

Search

Find
Find

Apostilas

RSS Feeds

Meta

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Foto02:CircuitodeTestedoConversorDC­DCpara+13V(LadoB)–cliquenaimagempara

ampliar!

ampliar!

Foto03:CircuitodeTestedoConversorDC­DCpara+13V(Verso)–cliquenaimagempara

ampliar!

ampliar! Conformevimosnoartigoanterior“

Conformevimosnoartigoanterior“MonteumPinguinocomumPIC18F4550,utilizamos

comonossoprimeiroprogramao“Blink”quepossuiumcódigofontemuitofácildese

entender.Vamosentãoutilizá­locomumapequenamodificação,conformeabaixo:

/*

BlinkaLED

*/

voidsetup()

{

//initializethedigitalpin13asanoutput.

pinMode(13,OUTPUT);

}

voidloop()

{

toggle(13); //alternateONandOFF delayMicroseconds(400); //waitfora400microseconds

}

Oqueestecódigofazéligar/desligaropinodomicrocontroladorPICemumafrequênciade

2,5kHz:400microseconds–>2,5kHz.Nestafrequência,comestepinoligadoaonosso

circuitodeTestedoConversor(nabasedotransistorviaresistorde1k),geraumasaídade

poucomaisde+13V.Sediminuirafrequência,diminuiavoltagemobtida,evice­versa.Para

garantirentãoumavoltagemprecisa,temoscomojáfalado,duasalternativas:aprimeira,ea maiselaborada,consisteemmedirestavoltagemdesaídaemumoutropinodoPIC (configuradoparaentrada),parasaberseafrequênciageradaestáadequada.Senão,então ajusta­seafrequênciaparamaisouparamenosparaqueavoltagemseestabilizenovalor ideal.ComooPICnãopodemedirvoltagensmaioresqueaalimentaçãoaqueeleestáligado, usa­seentãoumdivisordevoltagemconstituídopordoisresistoresemsériecomavoltagem geradaeoterra,permitindoassimamediçãodavoltagemcomsegurançapelo microcontroladorPIC.Asegundafazusodeumreguladordevoltagemparaqueasaídafique

estabilizadaem+13V(nestecaso,sefixaafrequênciaemumvalorsuperior,paraumasaída

devoltagemacimade+13V(ex.:+16V)paraqueoreguladorpossaentãotrabalharde

maneiraadequada.Estaopçãoalémdegastarmaiscomponentes,consomeumpoucoda

energiageradadoconversorDC­DC.

VamosentãofornecerodiagramaesquemáticocompletodenossaplaquinhadoCircuitode

TestedoConversorDC­DCpara+13V:

Figura02:DiagramaesquematicodoCircuitodeTestedoConversorDC­DCpara+13V–

cliquenafiguraparaampliar:

cliquenafiguraparaampliar: http://www.dimensaobynet.com.br/mic/?p=1760 2/15

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Notequesópodehaverumadasopções:(A)ou(B)desaídados+13V,conformeafigura

acima.

Vamosagoramodificarnossocódigofonteparaimplementaraopção(A).Opinoescolhidono

PIC18F4550paraaentradadarealimentaçãoéo02(correspondeaopino13doPinguino)e

opinonoPIC18F4550paraasaidadosinal(frequênciagerada)éo40(correspondeaopino7

doPinguino).

Códigofonteaseguir:

/*——————————————————– Author:<DimensãoByNet>

Date:02/Jun/2012

Name:conversorDC­DC Description:Programaparaocontroledo

CircuitodeTestedoConversorDC­DCpara+13V

Version:1.0

———————————————————­*/

intfreqPin=7;//(pin40doPIC18F4550)

intsensorPin=13;//(pin02doPIC18F4550)

intsensorValue=0;

intcontador=0;

intmsec=400;//Tempoaproximado:–>frequênciade2,5khz–>(+13,2V)

voidsetup(){

pinMode(freqPin,OUTPUT);

pinMode(sensorPin,INPUT);

digitalWrite(freqPin,HIGH);

}

voidloop(){

toggle(freqPin);

delayMicroseconds(msec);

contador++;

if(contador==2500)//Testaaproximadamenteacadasegundo,paracorrigira

voltagem,senecessário

{

sensorValue=analogRead(sensorPin);

msec=((sensorValue+2)/4);

contador=0;

}

}

Algumasconsiderações:

Ocódigoacimaémuitosimples,eseuobjetivoéserdidático,fácildeentender,masemuma aplicaçãoprofissionalprecisariasermelhorado,emborafuncione.Avoltagemdereferênciafica

emtornode+4,7V,paraumasaídade+13,2V.

Eparaaopção(B),comonãoexisteanecessidadedetestedavoltagemdesaídaparaa

realimentação,fixamosafrequênciaparaumavoltagemacima(porexemplo:+16V),comojá

falado,paraqueoreguladoraestabilizeem+13V(pode­seutilizarvoltagensmaiores,

lembrandoquequantomaioradiferençadavoltagemdeentradaemrelaçãoavoltagemde

saídamaisexistemperdascomoaquecimentodoregulador).

Segueabaixoafotodonossotestedavoltagemdesaídadocircuito:

Foto04:CircuitodeTestedoConversorDC­DCpara+13Vemação:Multimetroindicaa

voltagemobtidanaopção(A)–cliquenaimagemparaampliar!

voltagemobtidanaopção(A)–cliquenaimagemparaampliar!

Vamosprosseguircomasexplicaçõesparaumoutrocircuitotambémutilizadononosso

“clone”dogravadorPICkit2,queconsistedautilizaçãodememóriascomoobjetivodeque

estefique“independente”docomputador,paraquepossagravarosmicrocontroladoresPIC comoprograma(blocodecódigo.hex)previamentegravadonestasmemóriasdaMicrochip

24LC512(estecircuitoéopcional).

Segueabaixoasfotosdaplaquinhacontendoasmemórias:

Foto05:CircuitodaPlaquinhacomasMemórias24LC512(LadoA)–cliquenaimagempara

ampliar!

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Foto06:CircuitodaPlaquinhacomasMemórias24LC512(LadoB)–cliquenaimagempara

ampliar!

ampliar!

Foto07:CircuitodaPlaquinhacomasMemórias24LC512(Verso)–cliquenaimagempara

ampliar!

ampliar!

Ospinosdestaplaquinha,vistodecimacomelesparabaixo,emrelaçãoaconexãonaplaca

dogravadorsão(daesquerdaparaadireita):(­)Terra,(D)Dados,(C)Clock,(+5V)Positivo,

(NC)NãoConectado,(WP)ProteçãodeEscrita.FoiadicionadoumLEDminiaturaverdeem

sériecomumresistorde470Rconectadoao+5VeaoTerra,paraindicarqueestáligada.

Segueabaixoafiguradodiagramaesquemáticodaplaquinhacontendoasmemórias:

paraampliar:

Memórias24LC512 –cliquenafigura paraampliar:

Comopodemosver,ocircuitoémuitosimples,comapenastrêspinosdecontrole.Ecomo

seuusoéopcional,podeserretiradadaPlacaPrincipaldoGravadordePICUSB,sem

problemas(comocircuitodesligado,éclaro!).

Mostraremosagora,asfotosdocircuitoprincipal:

Foto08:CircuitoPrincipaldoGravadordePICUSB(LadoA)–cliquenaimagemparaampliar!

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Foto09:CircuitoPrincipaldoGravadordePICUSB(LadoB)–cliquenaimagemparaampliar!

Foto10:CircuitoPrincipaldoGravadordePICUSB(Verso)–cliquenaimagemparaampliar!

Fotos11e12:CircuitoPrincipaldoGravadordePICUSB(LadosCeD)–cliquenasimagens

paraampliar!

paraampliar!
paraampliar!

Pinagem(LadoC)daesquerdaparaadireita:1­Vpp(+13V);2­Vcc(+5V);3­SCL(clock);

4­SDA(dados);5­GND(terra/negativo).

Foto13:ComparativoentreasplacasdegravadoresPICSerialeUSB–cliquenaimagem

paraampliar!

paraampliar!

Detalheéqueambasasplacaspodemforneceralimentaçãode+5VaomicrocontroladorPIC

asergravado,epossuemigualdistribuiçãodepinagem(ocabodecincoviascoloridoéo

mesmoparaelas).Comoéexigido+13Vparaagravaçãonomododealta­voltagem,o

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

GravadorSerialdeveserconectadoaumaportaserialjáexistentedocomputador(nãopode entãoserusadoumcaboUSB–>Serial,comovimosnoartigo“Monteumaplacadetestes

Foto14:PlacaPrincipaldoGravadorUSBcomomódulodeMemóriaencaixadoecabode

gravaçãocoloridodecincoviasconectado(bastaentãoligaremumaportaUSBlivredo

computadorcomumcabopadrãoUSB)–cliquenaimagemparaampliar!

computadorcomumcabopadrãoUSB)–cliquenaimagemparaampliar!

Foto15:PlacaPrincipaldoGravadorUSBcomomódulodeMemóriaecabodegravação

conectados(Verso),eaplaquinhaparaotestedegravação(PIC16F688)–cliquenaimagem

paraampliar!

PIC16F688 )–cliquenaimagem paraampliar! Fotos16e17:GravadorUSBconectadona PlacaparaTestesdoPIC(03)

Fotos16e17:GravadorUSBconectadonaPlacaparaTestesdoPIC(03)parateste(pode

servirparagravar/atualizarobootloaderdoPinguino–vejaoartigoanterior,alémde programarqualquercódigoescritoemCouAssembly–importanteégeraroarquivode gravação.hex,resultadodacompilaçãoelinkedição,bemcomousarumsoftwareadequado degravação–iremosesclareceristoadianteaindanesteartigo)edetalhedoconectordocabo

degravação:cores:Roxo(+13V),Vermelho(+5V),Azul(Clock),Amarelo(Data)ePreto

(Terra/Negativo)–cliquenasimagensparaampliar!

(Terra/Negativo)–cliquenasimagensparaampliar!
(Terra/Negativo)–cliquenasimagensparaampliar!

ComorecursosdesteGravadorUSBdePICs,reproduzimosabaixotrechodoseumanual:

Figura04:FotodoPICkit2Originalcomadescriçãodosseusitens–cliquenafigurapara

ampliar:

ampliar:

Nestenosso“clone”,procuramosmanterestasfuncionalidades.Oquedifereentão?Quando

setratadeseadaptarumsistemadesenvolvidoparaumdeterminadohardware,oque

podemosfazeré,jáquenãoprecisamosmodificarosoftwareembarcado(firmware)queroda

nestehardware(enemdevemos,jáquealémdeproprietárioelepodetambémsofrer

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

atualizações“upgrades”aqualquermomentopelafabricante,nocasoaMicrochip)oferecer maisoumenosfuncionalidadesjáprojetadas,paraonossohardware“clone”.Istosignifica quepodemosporexemplo,alterarosconectores(ex.mini­USBparaUSBpadrão),alterara sequênciadospinos(pinagem)desaída(desdequesaibamosqualpinosignificaoquê), implementarounãoafuncionalidadedememóriaparaprogramaçãoindependentedoPC(o “Programmer­to­Go”),implementarafuncionalidade“DeviceVDD”,emqueousuáriopode

selecionaravoltagemdealimentaçãofornecidaaoPICasergravado,nafaixade+5Vaté

+2,5V(estafuncionalidadenãofoiimplementadanestehardware“clone”,poisaalimentação

foifixadaem+5V),eetc.Quantomaisfuncionalidadesimplementadasemhardware,mais

caroficaemaisseaproximadasfuncionalidades“máximas”doprojetooriginal.Istoéuma

praticamuitoutilizadanaindústria,modelosmaiscarosdeumprodutosãoespecificadoscom

maisitens,sendoqueosmaisbaratossãoosquetemmenositens(masoprojetoéo

mesmo!).

Figura05:DescriçãodositensdoPICkit2Original–cliquenafiguraparaampliar:

Figura06:PinagemdoPICkit2Originalcomassuasdescrições–cliquenafigurapara

ampliar:

ampliar:

Figura07:FechoparaalçadeproteçãocontraperdadoPICkit2Original–cliquenafigura

paraampliar:

paraampliar:

AntesdemostrarmosodiagramaesquemáticocompletodesteGravadorUSBparaoPIC

(clonedoPICkit2),vamosdescreveroseufuncionamento,referenteaoprocessodegravação

propriamentedito,utilizandoosoftwaredaprópriaMicrochip,oPICkit2Programmer

(downloadaqui!)obtidogratuitamente(etambémopassoapassodasuainstalação).E

mostraremosinclusiveasuautilizaçãocomoMicrochipMPLABIDEv.8.85eoMPLABXIDE

(emumfuturoartigo).

Figura08:TeladoPICkit2Programmercominformações–cliquenafiguraparaampliar:

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

OBS: Antesdogravadorpoderserutilizado,o PIC18F2550

OBS:Antesdogravadorpoderserutilizado,oPIC18F2550queéoprincipalresponsávelpelo

seufuncionamento(coraçãodocircuito),deveser“programado”,ouseja,deve­segravarnele

oseufirmware:PICkit2FirmwareV2.32“PK2V023200.hex”(downloadaqui!)fornecido

tambémgratuitamentepelaMicrochip.Comodicadecomoproceder,dê umaolhadaem

soquete,econectandocorretamenteospinosparaagravaçãoICSP(comofoifeitoparao

PIC16F688–verfotosdenúmero13e15).

Figura09:DiagramadoesquemadegravaçãoICSP(In­CircuitSerialProgramming)–clique

nafiguraparaampliar:

nafiguraparaampliar: Vamosdetalharagoraainstalaçãodosoftwaredegravação:

Vamosdetalharagoraainstalaçãodosoftwaredegravação:

Figura10:TeladainstalaçãodoPICkit2Programmer(1)–cliquenafiguraparaampliar:

Figura11:TeladainstalaçãodoPICkit2Programmer(2)–cliquenafiguraparaampliar:

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Figura12:TeladainstalaçãodoPICkit2Programmer(3)–cliquenafiguraparaampliar:

Figura13:TeladainstalaçãodoPICkit2Programmer(4)–cliquenafiguraparaampliar:

Figura14:TeladainstalaçãodoPICkit2Programmer(5)–cliquenafiguraparaampliar:

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Figura15:TeladainstalaçãodoPICkit2Programmer(6)–cliquenafiguraparaampliar:

Instalaçãoefetuadacomsucesso.

Instalaçãoefetuadacomsucesso.

Figura16:TeladoPICkit2Programmer–cliquenafiguraparaampliar:

Apósainstalaçãojáfeita,vamosentãoconectaroGravadordePICUSBemumaportaUSB

qualquerdocomputador(seéaprimeiravezemqueeleéconectado,opróprioWindows7

automaticamenteinstalaráodevicedriverparaacomunicaçãocomogravador–HID CompliantDevice).Feitoisto,segueabaixoopassoapassodegravaçãodeteste(conectar

conformefotos15ou16–nesteexemplo,seráutilizadooPIC16F688–foto15).Baixaro

arquivo:Projeto­Lanterna­de­5­LEDs.zip,comoexemplo.

Foto18:PlacadoGravadordePICUSBconectadoaocabodegravaçãocolorido(eesteà

plaquinhautilizandooPIC16F688paraotestedegravação),etambémaoNotebook(com

S.O.Windows7)viacaboUSBpadrão–cliquenaimagemparaampliar!

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Figura17:PassoapassodegravaçãodeummicrocontroladorPICutilizandooPICkit2

Programmer(1)–cliquenafiguraparaampliar:

Programmer(1)–cliquenafiguraparaampliar:

Figura18:PassoapassodegravaçãodeummicrocontroladorPICutilizandooPICkit2

Programmer(2)–cliquenafiguraparaampliar:

Programmer(2)–cliquenafiguraparaampliar:

Figura19:PassoapassodegravaçãodeummicrocontroladorPICutilizandooPICkit2

Programmer(3)–cliquenafiguraparaampliar:

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Figura20:PassoapassodegravaçãodeummicrocontroladorPICutilizandooPICkit2

Programmer(4)–cliquenafiguraparaampliar:

Programmer(4)–cliquenafiguraparaampliar:

Figura21:PassoapassodegravaçãodeummicrocontroladorPICutilizandooPICkit2

Programmer(5)–cliquenafiguraparaampliar:

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Figura22:PassoapassodegravaçãodeummicrocontroladorPICutilizandooPICkit2

Programmer(6)–cliquenafiguraparaampliar:

Programmer(6)–cliquenafiguraparaampliar:

Figura23:PassoapassodegravaçãodeummicrocontroladorPICutilizandooPICkit2

Programmer(7)–cliquenafiguraparaampliar:

Programmer(7)–cliquenafiguraparaampliar:

Figura24:PassoapassodegravaçãodeummicrocontroladorPICutilizandooPICkit2

Programmer(8)–cliquenafiguraparaampliar:

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Figura25:PassoapassodegravaçãodeummicrocontroladorPICutilizandooPICkit2

Programmer(9)–cliquenafiguraparaampliar:

Programmer(9)–cliquenafiguraparaampliar: Gravaçãoefetuadacomsucesso.

Gravaçãoefetuadacomsucesso.

Esteéofuncionamentobásico.Maisinformaçõesaseguir.

NateladoPICkit2Programmerexistedoischeckbox(VDDPICkit2):ON–>ligaa

alimentaçãofornecidaaoPICasergravado(eacendeoLEDamarelo–masadicionamosum

jumpernonossocircuitoparaforneceros+5Vindependentementedeestarligadoounão),e

o/MCLRquemantemoPICasergravadonocircuito“resetado”(ouparado)–HoldDevicein Reset.Vocêpodeescolherentreváriasoperações,como:Read,Write,Verify,Erase,Blank Check(verificaseoPICestáembranco).Existetambémumafacilidade,quesãoossonsde alerta–AlertSounds(parasucesso,avisoeerro)emaisuma,poderiniciaragravaçãoao pressionarobotãodonossoGravadordePICUSB(WriteOnPICkitButton).Euma

característicabeminteressante,queéoPICkit2Programmer­To­Go,quefazusodomódulo

dememóriaparatornarindependenteogravadordocomputador,comojáfalado.Seele funcionaOK,piscaoLEDamarelo,senão,piscaoLEDvermelho(istoéumresumo,eé

importantealeituradoseumanual–PICkit2Programmer/DebuggerUsersGuide,etambém

oPICkit2Programmer­To­GoUserGuideeosdemaisitensqueseencontramnomenuHelp.

Aseguir,finalmente,odiagramacompletodenossoGravadordePICsUSB:

Figura26:DiagramaesquemáticocompletodoGravadordePICsUSB(clonedoPICkit2)–

cliquenafiguraparaampliar:

03/01/2017

MonteumgravadorUSBparaoPIC!–DimensãoByNeteosMicrocontroladores!

Qualquerdúvidaemrelaçãoàsconexões,conferirnodiagramadoPICkit2original:“Appendix

B.PICkit2Schematics”.Outrossitesinteressantesquetambémtrazemprojetosdeclonesdo

PICkit2são:MicrosDesignseCristpalma,dentreoutros.

Materialinteressante:PICkit2OverviewPresentationPPTandPDF.

NosoftwaredegravaçãodoPICkit2(PICkit2Programmer),encontramostambémduas

ferramentasutilitáriasnomenu“Tools”:UARTTooleLogicTool,quesãobastanteúteis

(veremosofuncionamentodestasferramentasemumfuturoartigo).

Aquiterminaesteartigo.Casotenhamalgumadúvida,segueume­mailparacontato:

Atéopróximopost.

Thisentrywaswrittenbyleoadm,postedon28demaiode2012at20:24,filedunderCircuitos,Gravadoresand

FollowanycommentsherewiththeRSSfeedforthispost.Commentsareclosed,butyoucanleavea

trackback:TrackbackURL.

»