Upgrade de firmware do gravador de PIC K150 para utilização com PIC 18F4550

Upgrade de firmware do gravador de PIC K150 para utilização com PIC 18F4550

Hoje iremos explicar aqui no blog como realizar um Upgrade de firmware do Gravador de PIC K150, o que permitirá que você possa fazer a gravação de um microcontrolador PIC 18F4550 nesse aparelho. Antes de começar este post recomendamos ler o post que explica sobre Como utilizar o Gravador de PIC USB K150. Ressaltamos que este é um procedimento a parte, foi testado e aprovado, contudo não faz parte da garantia do produto.

O Gravador PIC USB 40ZIF (modelo K150) utiliza em sua placa um microcontrolador PIC 16F628A, que na configuração original de firmware apresenta o erro abaixo quando tentamos realizar a gravação de um programa no PIC 18F4550 :

Gravador PIC - Erro ao gravar 18F4550

O material que precisamos para o upgrade é simplesmente um novo chip PIC 16F628A, no qual iremos programar o novo firmware.

Acesse o site http://www.kitsrus.com/pic.html e, logo no início da página, clique no arquivo DIYpack25ep.zip :

Download Firmware

Feito o download do arquivo, que é bem pequeno (405 Kb), descompacte-o e você terá a seguinte estrutura de arquivos. Em destaque na imagem abaixo, o arquivo epK150.hex, de apenas 12 Kb, que é o firmware a ser gravado no novo 16F628A :

 

Carregue o software MicroBRN e selecione o arquivo epk150.hex que foi descompactado. Em Chip Selector, selecione o 16F628A, e a tela do MicroBRN ficará assim :

MicroBRN - Gravando 16F628A

Para evitar que o programa apresente um erro ao final da gravação, clique em FUSES e altere o CODE PROTECT para DISABLED :

PIC 16F628A - Fuses

Volte para a tela principal do MicroBRN e clique em PROGRAM para gravar o firmware atualizado no novo 16F628A. Finalizada a gravação, substitua o chip original do gravador K150 pelo 16F628A que você acabou de gravar.

Para testarmos a gravação do 18F4550, vamos utilizar os mesmos procedimentos do post Programando PIC16F628A para piscar um Led, onde você encontra um passo-a-passo sobre a instalação e configuração dos programas aqui utilizados.

Entre no MPLab e crie um novo projeto. Na tela inicial, escolha MICROCHIP EMBEDDED e, no menu do lado direito, STANDALONE PROJECT :

MPLab - Novo Projeto

Na próxima tela, selecione a família de microcontroladores ADVANCED 8-bit MCUs (PIC18), e em DEVICE, escolha 18F4550 :

MPLab - Selecionando Microcontrolador

Na tela Select Tool, deixe o ID3 selecionado e clique em NEXT :

MPLab - ID3

Selecione o compilador CSS C Compiler :

MPLab - Selecionando compilador

Na próxima tela, no campo PROJECT NAME, escolha o nome do projeto e, se necessário, a pasta onde o mesmo será armazenado. Selecionamos Pisca_LED_18F4550_2 como nome do projeto, na pasta M:PICProjects :

MPLab - Nome projeto

Clique em finish e a estrutura do projeto será criada na tela principal do MPLab. No lado esquerdo, clique com o botão direito em SOURCE FILES e escolha NEW -> C Source File. Escolha um nome para o programa C que será criado e clique em FINISH :

MPLab - Nome C

No lado direito da tela, digite ou cole o seguinte programa, que é o mesmo que usamos no post sobre o 16F628A, mas agora usando a biblioteca e as configurações do PIC 18F4550 :

//Programa : Pisca LED com PIC18F4550A
//Autor : FILIPEFLOP

//Carrega a biblioteca para o microcontrolador PIC18F4550
#include <18F4550.h>

//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#FUSES NOLVP
#FUSES NOCPD

//Define a utilização do clock interno de 4 Mhz
#use delay(clock=4000000)

#define PINOLED PIN_A1 //Pino ao qual o led esta ligado

void main()
{
 while (1)
 {
 output_bit(PINOLED, TRUE); // Liga o Led
 delay_ms(5000); // Aguarda 5 segundos
 output_bit(PINOLED, FALSE); // Desliga o Led
 delay_ms(2000); // Aguarda 2 segundos
 }
}

Clique no ícone CLEAN AND BUILD MAIN PROJECT. O programa será compilado e o arquivo HEX gerado na pasta ../dist/default/production, na pasta escolhida para gravar o projeto.

Execute o MicroBRN, carregue o Pisca_LED_18F4550_2.X.production.hex (ou o nome que você escolheu), escolha o controlador 18F4550 no lado direito da tela, e encaixe o chip no gravador K150, conforme mostrado na tela do programa :

Antes de programar o chip, clique em FUSES e altere o PPLDIC para OSC/2 (8Mhz), e coloque o Watchdog Timer em DISABLED :

Voltando à tela principal do MicroBRN, clique em PROGRAM para que o programa HEX seja gravado no 18F4550.

Para testar o chip, monte o circuito abaixo, ligue o circuito em 5V DC e o led ligado à porta 1 (pino 3) do microcontrolador irá acender por 5 segundos, manter-se apagado por 2 e repetir o processo continuamente. Configurações, pinagem e demais características do PIC 18F4550 podem ser encontradas no datasheet, nesse link.

Circuito 18F4550Gostou ? Conte-nos sua experiência com este post e visite nossa loja FILIPEFLOP !

16
Upgrade de firmware do gravador de PIC K150 para utilização com PIC 18F4550
7 votos, 4.86 classificação média (97% pontuação)

Formado em Ciência da Computação pela Universidade de Mogi das Cruzes, atualmente responsável pelo departamento técnico da FILIPEFLOP.

Compartilhe este Post

69 Comentários

  1. Felipe Almeida - 4 de março de 2017

    Boa noite, segui todas as etapas do post e funcionou corretamente, consegui gravar um programa simples no 18F4550.

  2. Elias Murad - 18 de janeiro de 2017

    Boa tarde, eu troquei o firmware (tirando o CI antigo colocando um soquete e colocando o novo com o firmware gravado) e após ligar com o firmware novo começou a dar uma série de erros, um diferente do outro, já deu até erro de reset na placa. Enfim, queria saber se dá para corrigir isso. Ela está dando este problema mesmo com o firmware antigo agora… precisava da minha plaquinha pra ontem. Pq uso ela pra gravar os firmwares de outros produtos…

  3. Caio Costa - 12 de outubro de 2016

    Não estou entendo este tutorial: eu preciso de outro gravador de pic para poder resolver o problema deste gravador? o tutorial nao deixa isso claro. Poderiam explicar mais detalhadamente. Segui todos os passos apara a atualização, porém dá o seguinte erro: “Received data error. About to apply reset…”.

  4. MARCIO JOSE TEIXEIRA - 5 de outubro de 2016

    boa noite!
    estou tendo problemas com essa upgrade k150!
    quando tento gravar o arquivo hex no pic, pic16f628a, o mesmo me retorna a mensagem de erro:
    EEPROM error at 0x0000
    good 0x43
    bad 0x03

    bom, fiz varias tentativas, verifiquei configuração de fuses e sempre a mesma mensagem!
    pensei até que fosse o pic com algum problema, porém o pic é zerinho, ai gravei outro hex e tudo ocorreu certinho como era de se esperar, apenas com esse arquivo estou tendo problemas.
    gostaria de fazer a upgrade no meu k150, mas pelo visto o arquivo deve ter algum problema ou coisa assim.
    alguém pode me ajudar?

    • Antonio - 6 de outubro de 2016

      O arquivo não tem problema pra época que foi feito.. tentei ano passado com 3 PIC’s novos e só obtive fracasso.. Depois encontrei uma placa de portão elétrico um PIC 16F628A usado.. era uma placa com uns 8 anos de fabricação.. retirei esse pic usado e coloquei no gravador e a gravação completa bem sucedida.
      Logo a conclusão que cheguei foi que pode ser um lote ou algum update recente na fabricação desses PICs que estão impedindo o acesso a eeprom para gravação.. É só uma suposição ! pois quando deu certo eu não quis arriscar novamente para ver se o tinha sucesso com o PIC velho.. vai que foi uma cagada de uma tentativa em 1 milhão rsrs

      Mais ressalto aqui, pois o dono do blog deletou um de meus comentários.. esse k150 genérico vem com uma pequena trilha abaixo do soquete ICSP que curto-circuita outras duas e impede a gravação de PIC’s com 40 pinos.
      Mais é muito fácil nem precisa desoldar o soquete ICSP, com uma chave de fenda fina você remove ele, vai ficar somente os pinos.. e vc raspa a pequena trilha.. O esquema dessa parte da ligação é idêntico ao esquema do k150 original e tem no site dos desenvolvedores.

      • MARCIO JOSE TEIXEIRA - 6 de outubro de 2016

        Ok amigo, muito obrigado pela informação!
        bom, se não for abusar da sua boa vontade em colaborar, você saberia me dizer se com a upgrade o K150 gravaria os pics da serie 16f882 até o 16f887?
        pois fiz todo um projeto baseado nesses pics e quando vou gravar não da para gravar esses pics, ai vou ter que achar outro pic com as mesmas características para reescrever o projeto, ou então improvisar um gravador para gravar esses 16f88x.

        Mais uma vez obrigado por colaborar com suas dicas e informações!

        • Antonio - 6 de outubro de 2016

          Não sei te dizer, mais acredito que não grava pois não encontrei esses PIC’s na lista do microbrn .. A listagem completa você encontra em anúncios ou no próprio programa que faz a interface entre seu PC e o gravador.

        • Antonio - 6 de outubro de 2016

          A propósito quando eu consegui efetuar a gravação em um 628A com esse update eu fiz um backup da ROM do 628A original do k150 e perdi… se alguém tiver o .hex original poderia posta-lo aqui. Caso meu gravador pare de funcionar por causa desse PIC a única alternativa é comprar outro gravador se não tiver ao menos o hex. do original que só tem código na ROM. Também apaguei o programa original quando usei o PIC em outro projeto.. mais isso não é tão importante visto que já faz um bom tempo.. e continua funcionando é apenas para um backup mesmo.

    • Antonio - 12 de outubro de 2016

      Leia mais abaixo.. todos tem exatamente o mesmo problema que o seu rsrs

      Mais como eu disse mais abaixo, tentei com PIC’s novos e não deu, Mais quando eu coloquei
      um pic de uma placa de portão elétrico antiga a gravação foi bem sucedida.

      O pic 16F84A é um antecessor do 628A, neste arquivo hex gravou também mesmo tendo sido
      escrito pro 628A..

      Então temos algumas opções.

      1- os Lotes atuais de pics 628A foram modificados… ou estão com problemas.
      2- O Gravador não acessa uma EEPROM virgem..
      3- Existe algo de errado com o arquivo, porém não temos o fonte para tentar resolver..

    • Antonio - 12 de outubro de 2016

      Leia mais abaixo.. todos tem exatamente o mesmo problema que o seu rsrs

      Mais como eu disse mais abaixo, tentei com PIC’s novos e não deu, Mais quando eu coloquei
      um pic de uma placa de portão elétrico antiga a gravação foi bem sucedida.

      O pic 16F84A é um antecessor do 628A, neste arquivo hex gravou também mesmo tendo sido
      escrito pro 628A..

      Então temos algumas opções.

      1- os Lotes atuais de pics 628A foram modificados… ou estão com problemas.
      2- O Gravador não acessa uma EEPROM virgem..
      3- Existe algo de errado com o arquivo, porém não temos o fonte para tentar resolver.

    • Cleber Jean - 25 de dezembro de 2016

      Abra o arquivo chipdata.cid no bloco de notas e altere a linha ProgramDelay=50 do chip 16F628A para ProgramDelay=60 ou ProgramDelay=70 (pra mim 60 já funcionou).

      Referencia: https://diykit.websitetoolbox.com/post/diypack25ep-latest-pic-programmer-upgrade-2154125?trail=45

      • ANTONIO CARLOS DE OLIVEIRA - 25 de dezembro de 2016

        @Cleber Jean muito boa a dica vou tentar aqui, como eu havia dito mais o comentário foi deletado, o gravador tinha outro problema, uma pequena trilha abaixo do soquete ICSP que não existe no diagrame esquemático mais ela tá lá na placa rsrs foi só raspa-la e passou a gravar também em PIC’s de 40 pinos. Então provável que já se tenha dois problemas resolvidos. (Apesar que eu usei 3 pics novos não gravou na eeprom mais quando usei um PIC que estava em sucata de outra placa gravou normal.. vai saber..)

  5. FELIPE - 16 de agosto de 2016

    Alguma solução encontrada? , pois no meu ainda persiste o erro
    EEPROM error at 0x0000
    0x43 good
    0x0E bad

  6. OMAR PEDRAZA - 29 de março de 2016

    GRACIAS, MUCHAS GRACIAS.
    TENIA ESE PROBLEMA CON MI K150, PERO YA QUEDO RESUELTO GRACIAS A TI.
    DIOS TE BENDICE, MUCHO!!!

  7. Bruno Henrique - 23 de dezembro de 2015

    Eu estava lendo que antes de programar deve-se ir em options ir configurar EEPROM overrite .Pelo que entendi o icone tem que estar pressionado. Mesmo assim ainda não adiantou…

  8. Bruno Henrique - 23 de dezembro de 2015

    Obrigado pela resposta rápida, mas infelizmente o erro persiste :/
    EEPROM error at 0x0000
    0x43 good
    0x0E bad

  9. Bruno Henrique - 23 de dezembro de 2015

    Da esse erro quando tento gravar o novo 16f628a
    EEPROM error at 0x0000
    0x43 good
    0x31 bad

  10. Junior - 17 de dezembro de 2015

    Olá a todos, estou com um problema e se alguem tiver o conhecimento para me ajudar eu agradeço, estou tentando fazer a comunicação via SPI com um DAC 3201 de 12 bits de resolução e estou utilizando um Pic18f4550 e compilador ccs, tentei alguns exemplos de codigos na internet mas não consegui fazer comunicação, se alguem sabe como comunicar com este ADC dá um toue aí, desde já obrigado !!

  11. Diego - 6 de dezembro de 2015

    Para quem esta com problemas para gravar o 16F628A apaguem a EEPROM e para gravar o 18F4550 programem pelo ICSP (no socket da erro de ROM), no meu caso funcionou.

  12. Leonardo - 16 de novembro de 2015

    Bom dia FelipeFlop, realizei todos os procedimentos mas quando vou gravar o novo pic 16f628a continua mostrando o erro da eeprom 0x0000, eu devo utilizar outro gravador para gravar o novo pic ou o procedimento foi realizado no mesmo gravador com o software desatualizado?

  13. jonathan - 29 de outubro de 2015

    ola, fiz o procedimento e ele funcionou porem, quando chega a hora de executar o circuito na protoboard o mesmo nao funciona. no microburn aparece que a gravaçao do pic foi completa.

  14. Julio - 10 de outubro de 2015

    o erro que acontece comigo é esse:

    the programmer does not recognise the 18f4550 processor

    e eu fiz o upgrade
    o que posso fazer

  15. Como utilizar el grabador de pic USBK150 | GOLEM ELECTRONICS - 11 de julho de 2015

    […] Series: Confira Como fazer o upgrade do firmware do Gravador de PIC USB K150 para utilizar com o PIC 18F4550 por exemplo. (Ressaltamos que este é um procedimento a parte, foi […]

  16. Yure - 29 de abril de 2015

    Boa noite, estou com problemas no upgrade tambem:
    1º Na hora de gravar o upgrade no novo 16f628A, não da pra gravar a eeprom, apaguei byte a byte toda parte correspondente a eeprom só assim termina a gravação no 16f628A.
    2º Apos fazer o upgrade, nem sequer apaga o pic18f2550 que estou usando, achando que podia estar travado contra leitura, comprei outro e deu na mesma.

  17. Rafael Gomes Lamego - 28 de abril de 2015

    Boa noite equipe Filipeflop. Recentemente adquiri o gravador pic e junto a compra do PIC 18F4550. Já tentei por esse tutorial e outros, consigo transferir o novo programa ao 16F628A porém o mesmo não executa gravação do 4550. A aquisição PIC foi em torno de 70 reais e até o momento não consegui utilizar o kit. Poderiam me enviar um PIC programado para que eu simplesmente efetue a troca em meu kit? Estou insatisfeito com essa aquisição.

    • FILIPEFLOP - 5 de junho de 2015

      Boa tarde Rafael,

      Acabei de refazer esse procedimento, e funcionou normalmente no gravador de PIC que eu tenho aqui.

      No seu caso, o que acontece ? Ele apresenta alguma mensagem de erro ?

      Grato.

      Adilson – Equipe FILIPEFLOP

  18. Mauro Celso - 25 de fevereiro de 2015

    Boa noite.

    Quais softwares, para gravação, são compatíveis com o K150?

    att.

  19. Gabriel - 21 de janeiro de 2015

    Bom dia,
    Mesmo seguindo o tutorial nao é possivel fazer a gravacao.

    Estou tendo o seguinte erro

    EEPROM ERROR AT 0X0000
    GOD 0X43
    BAD 0X31

    Alguem saberia resolver o problema?

  20. Gustavo - 24 de novembro de 2014

    Não consigo atualizar o software para o pic18f4550….. quando gravo mostra o seguinte erro:

    EEPROM ERROR AT 0X0000
    GOD 0X43
    BAD 0X31

    Logo após efetuar todo o carregamento do pic aparece uma janela com este errro, ja desabilitei o fuse que era para desabilitar, só que continua dando este erro.

    att.

  21. AlefRosa - 18 de novembro de 2014

    Filipe para ajudar o pessoal

    Neste link: http://doveda.byl.cz/konstrukce/pgm_usb/diypack26b2.zip

    é possível baixar a ultima atualização do k150, podendo assim além de gravar o pic18f4550 será possivel também o 18f4620 e muitos outros que não eram possíveis. com essa atualização, o k150 consegue gravar praticamente todos os pics de 8 bits. Dá uma olhada.

    OBS: O arquivo .hex de atualização pode ser encontrado dentro da pasta do programa depois de instalado.

    Att,

    Alef Rosa

  22. alexsandro - 29 de outubro de 2014

    Boa tarde,tentei fazer o upgrade, mais so dá erro quando vou gravar o código no chip novo,o erro é EEPROM error at 0x0000
    Good 0x43
    Bad 0x00

  23. Eduardo Rodrigues - 24 de outubro de 2014

    Muito obrigado pelo post. Funcionou 100% !

  24. manotroll - 12 de setembro de 2014

    diz que não reconheceu o pic

  25. manotroll - 10 de setembro de 2014

    o meu esta dando erro na hora da gravação

  26. carlos dutra - 26 de junho de 2014

    Oi,
    Trabalho com eletrônica de áudio e iluminação e preciso entrar no mundo digital do dmx512. Minha tarefa agora é copiar e gravar um pic18f4525. Acontece que o gravador k150 não está habilitado para este chip, mas suporta o 2525 e o 2620. Acontece que estes chips (28 pinos) pertencem ao mesmo datasheet do 4525 (40 pinos). A pergunta é: será que o gravador vai aceitar esse mesmo procedimento de atualização descrito neste artigo?

    obrigado

    • FILIPEFLOP - 30 de junho de 2014

      Boa noite Carlos,

      Nós precisaríamos ter todos esses microcontroladores para fazer algum teste e fornecer uma resposta exata, mas eu já vi casos em que foram utilizados PIC´s “compatíveis”, e a gravação foi realizada com sucesso.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  27. Eduardo - 18 de junho de 2014

    O meu aparece o seguinte erro apos gravar a atualização no novo pic EEPROM erro at 0x0001, o que devo fazer?

  28. Alessandro Barbosa de Queiroz - 14 de junho de 2014

    Funcionou certinho!! vlw

    No meu estava dando esse mesmo erro do inicio do post dps que atualizei conforme explica, funcionou perfeitamente!!

  29. alexsandro ferreira - 4 de maio de 2014

    boa tarde fiz todo o procedimento mais não funcionou ,me ajudem pois estou precisando fazer um projeto para a faculdade usando o 4550.

  30. FILIPEFLOP - 1 de abril de 2014

    Boa noite Lucas,

    Você efetuou o upgrade do firmware, conforme explicado nesse post ?

    Grato.

    Adilson – Equipe FILIPEFLOP

  31. Lucas - 1 de abril de 2014

    boa noite, o erro que acontece comigo é exatamente esse:

Deixe uma resposta