Open Programmer – Programador para PIC, ATMEL e EPROM 24, 25, e 93

Programador Open Source USB para Microntroladores PIC, EEPROMS Microware, Microntroladores ATMEL, dispositivos I2C/SPI e outros

32
17453

Avalie este artigo
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (4,50 - 2 votos)

Open Programmer - Programador Open Source USB para Microntroladores PIC, EEPROMS Microware, Microntroladores ATMEL
Open Programmer - Programador Open Source USB para Microntroladores PIC, EEPROMS Microware, Microntroladores ATMEL

Conheça o Open Programmer – Programador Open Source USB para Microntroladores PIC PIC10-12-16-18-24, dsPIC30-33, EEPROMs tipo 24xxxx (I2C), 25xxx (SPI), 93xx6 (MicroWire), DS24xx (OneWire), 11xxx (UNIO), alguns micro ATMEL micros, comunica com dispositvos I2C & SPI genéricos. Software para Linux e Windows, incluindo código fonte do Software e firmware do gravador!

Dica do amigo Roger, deste Multi programador USB, compatível com microcontroladores e PIC e muitos outros dispositivos

Sobre o Programador – Open Programmer

  • Totalmente gratuito e de código aberto  (incluindo o firmware)
  • Programa PIC10-12-16-18-24, dsPIC30-33, EEPROMs tipo 24xxxx (I2C), 25xxx (SPI), 93xx6 (MicroWire), DS24xx (OneWire), 11xxx (UNIO), alguns micro ATMEL micros, comunica com dispositvos I2C & SPI genéricos.
  • PPode funcionar como depurador ICD
  • Interface USB 2.0 Full Speed, HID classe (mesmo como teclados, mouses, etc)
  •  Auto-alimentado via USB
  • Não precisa de drivers
  • Construção baseado em componentes fáceis de encontrar no mercado.
  • Hardware de alta velocidade e confiança (grava um 18F2550 em 15s, 8s no Linux)
  • Não satura sua CPU e não trava quando executado junto com outros programas.
  • Software de controle de código aberto para Linux e Windows
  • Não é outro clone do PICkit
Receba nossas notícias de eletrônica em seu e-mail. Cadastre seu e-mail no formulário abaixo para receber

Nos últimos anos, as interfaces seriais e paralelas quase desapareceram, entusiastas de eletrônica ainda encontram dificuldade para programar seus microcontroladores; programadores dos tempos antigos não funcionam mais; soluções comuns incluem o uso de adaptadores USB para serial (que não aceitam acesso direto, mas apenas as chamadas de API lentos), ou chips de interface, como FTDIxxxx, que aparecem substancialmente como interfaces seriais e exigem drivers personalizados ou proprietários.
Então porque não usar controladores PIC e sua interface USB nativa?
Depois de pesquisar um pouco eu não poderia encontrar um programador USB, que era ao mesmo tempo fonte funcional, livre e aberto, então eu decidi projetar um. Open source significa que todas as fontes e esquemas são dadas gratuitamente, com os direitos de modificar e liberá-los.

Interface gráfica para Windows (v0.8.0)

Open  Programmer programador USB PIC Atmel I2c SPI windows 450x252 Open Programmer   Programador para PIC, ATMEL e EPROM 24, 25, e 93 Software de eletrônica Pic Microcontroladores linux Gravadores Download Dicas Circuitos

OpenProg é um aplicativo C + + escrito com o Visual C + + 6 e MFC.
Usá-lo é simples: basta ligar o programador, inicie o aplicativo, selecione o dispositivo, carregar um arquivo hex e ler ou escrever; funciona com o XP, o bloatware V, 7.
Na guia “Dispositivo” é possível modificar algumas opções de programação, tais como identificação e gravação de calibração, uso de eeprom etc; apenas as configurações compatíveis com o dispositivo atual será usado.
O “I2C/SPI” guia é útil para comunicar com dispositivos genéricos I2C e SPI, em caso de I2C é sempre necessário especificar o byte de controle (e endereço, se não for zero); pouco RW é feita automaticamente.
Não inclui um instalador já que não há nenhuma biblioteca e o executável é muito pequena.
Ele aceita arquivos hex8 e hex32, e também do binário no caso de memórias série.
Os idiomas suportados são atualmente Inglês e Italiano, para adicionar outros idiomas é necessário para gerar o arquivo languages.rc (do guia “Opções”) e para modificá-lo, o nome do idioma é antes de as as strings respectivas entre colchetes [].
Utilizando o “Hardware Test” função e um voltímetro é possível verificar que o circuito está funcionando.
Em caso de problemas ou apenas por curiosidade, é possível salvar todos os dados trocados com o programador selecionar “salvar arquivo de log” da guia “Opções”.

GTK interface gráfica para Windows e Linux (v0.8.0)

Open  Programmer programador USB PIC Atmel I2c SPI software 450x258 Open Programmer   Programador para PIC, ATMEL e EPROM 24, 25, e 93 Software de eletrônica Pic Microcontroladores linux Gravadores Download Dicas Circuitos

Finalmente, depois de anos de espera, uma interface gráfica para Linux! Ele é construído usando as bibliotecas GTK e parece mais ou menos como o outro.
A partir da versão 0.7.10 inclui um depurador ICD, trabalhando mais ou menos como pdb, além disso ele suporta arquivos COFF.
Para usá-lo no Windows, é necessário instalar a GTK Runtime Environment.

Lista Dispositivos suportados na versão atual

Open  Programmer programador USB PIC Atmel I2c SPI eeprom Open Programmer   Programador para PIC, ATMEL e EPROM 24, 25, e 93 Software de eletrônica Pic Microcontroladores linux Gravadores Download Dicas Circuitoso circuito principal e algumas placas de expansão (28-40p PIC, 8-20p PIC com ZIF, 3.3V PIC16-18, 3.3V PIC24-30-33, EEPROM, ATMEL)

O programador foi testado com um pequeno número de dispositivos (os que o autor possuía e mais alguns testado por outros usuários) indicado em negrito, os outros dispositivos são suportados, mas não testado, no entanto, considerando que para cada família pelo menos um dispositivo foi verificado, todos deles deve funcionar sem problemas.
Por favor, deixe-me saber se você verificar a operação com os dispositivos testados.
Também contactar-me se você precisar de outros algoritmos ou entes do novo código por si mesmo.
Tome nota:
PICs da série LF são utilizados exatamente como os F;
Dispositivos Atmel AVR com sufixos vários são agrupados sempre que o algoritmo de programação é exatamente o mesmo, por exemplo. ATmega8 e ATmega8A;
Memórias EEPROM compreendem todas as versões com VDDmax = 5V, por exemplo. 242LC56, 24AA256, etc;
Memórias 93x usam 2 diferentes algoritmos, para a série 93S e para todos os outros, indicados por 93x (93xA tem 8bit).

Dispositivos suportados para leitura e escrita
10F200, 10F202, 10F204, 10F206, 10F220, 10F222,
12C508, 12C508A, 12F508, 12C509, 12C509A, 12F509, 12F510, 12F519, 12F609, 12F615, 12F617, 12F629, 12F635, 12F675, 12F683,
12F1501,12F1822, 12F1840,
16F505, 16F506, 16F526, 16F54, 16F610, 16F616, 16F627, 16F627A, 16F628, 16F628A, 16F630, 16F631, 16F636, 16F639, 16F648A, 16F676, 16F677, 16F684, 16F685, 16F687, 16F688, 16F689, 16F690, 16F707, 16F716, 16F72, 16F720, 16F721, 16F722, 16F722A, 16F723, 16F723A, 16F724, 16F726, 16F727, 16F73, 16F737, 16F74, 16F747, 16F76, 16F767, 16F77, 16F777, 16F785, 16F818, 16F819, 16F83, 16F83A, 16C83, 16C83A, 16F84, 16C84, 16F84A, 16C84A, 16F87, 16F870, 16F871, 16F872, 16F873, 16F873A, 16F874, 16F874A, 16F876, 16F876A, 16F877, 16F877A, 16F88, 16F882, 16F883, 16F884, 16F886, 16F887, 16F913, 16F914, 16F916, 16F917, 16F946,
16F1503, 16F1507, 16F1508, 16F1509, 16F1516, 16F1517, 16F1518, 16F1519, 16F1526, 16F1527, 16F1823, 16F1824, 16F1825, 16F1826, 16F1827, 16F1828, 16F1829, 16F1847, 16LF1902, 16LF1903, 16LF1904, 16LF1906, 16LF1907, 16F1933, 16F1934, 16F1936, 16F1937, 16F1938, 16F1939, 16F1946, 16F1947,
18F242, 18F248, 18F252, 18F258, 18F442, 18F448, 18F452, 18F458, 18F1220, 18F1230, 18F1320, 18F1330, 18F13K22, 18F13K50, 18F14K22, 18F14K50, 18F2220, 18F2221, 18F2320, 18F23K20, 18F23K22, 18F2321, 18F2331, 18F2410, 18F24J10, 18F24J11, 18F2420, 18F24K20, 18F24K22, 18F2423, 18F2431, 18F2439, 18F2450, 18F24J50, 18F2455, 18F2458, 18F2480, 18F2510, 18F25J10, 18F25J11, 18F2515, 18F2520, 18F25K20, 18F25K22, 18F2523, 18F2525, 18F2539, 18F2550, 18F25J50, 18F2553, 18F2580, 18F2585, 18F2610, 18F26J11, 18F26J13, 18F2620, 18F26K20, 18F26K22, 18F26J50, 18F26J53, 18F2680, 18F2682, 18F2685, 18F27J13, 18F27J53, 18F4220, 18F4221, 18F4320, 18F43K20, 18F43K22, 18F4321, 18F4331, 18F4410, 18F44J10, 18F44J11, 18F4420, 18F44K20, 18F44K22, 18F4423, 18F4431, 18F4439, 18F4450, 18F44J50, 18F4455, 18F4458, 18F4480, 18F4510, 18F45J10, 18F45J11, 18F4515, 18F4520, 18F45K20, 18F45K22, 18F4523, 18F4525, 18F4539, 18F4550, 18F45J50, 18F4553, 18F4580, 18F4585, 18F4610, 18F46J11, 18F46J13, 18F4620, 18F46K20, 18F46K22, 18F46J50, 18F46J53, 18F4680, 18F4682, 18F4685, 18F47J13, 18F47J53, 18F66J60, 18F66J65, 18F67J60, 18F8520, 18F8722, 18F86J60, 18F86J65, 18F87J60, 18F96J60, 18F96J65, 18F97J60,
24F04KA200, 24F04KA201, 24F08KA101, 24F08KA102, 24F16KA101, 24F16KA102, 24FJ16GA002, 24FJ16GA004, 24FJ32GA002, 24FJ32GA004, 24FJ48GA002, 24FJ48GA004, 24FJ64GA002, 24FJ64GA004, 24FJ64GA006, 24FJ64GA008, 24FJ64GA010, 24FJ96GA006, 24FJ96GA008, 24FJ96GA010, 24FJ128GA006, 24FJ128GA008, 24FJ128GA010, 24FJ32GA102, 24FJ32GA104, 24FJ32GB002, 24FJ32GB004, 24FJ64GA102, 24FJ64GA104, 24FJ64GB002, 24FJ64GB004, 24FJ64GB106, 24FJ64GB108, 24FJ64GB110, 24FJ128GA106, 24FJ128GB106, 24FJ128GA108, 24FJ128GB108, 24FJ128GA110, 24FJ128GB110, 24FJ192GA106, 24FJ192GB106, 24FJ192GA108, 24FJ192GB108, 24FJ192GA110, 24FJ192GB110, 24FJ256GA106, 24FJ256GB106, 24FJ256GA108, 24FJ256GB108, 24FJ256GA110, 24FJ256GB110, 24HJ12GP201, 24HJ12GP202, 24HJ16GP304, 24HJ32GP202, 24HJ32GP204, 24HJ32GP302, 24HJ32GP304, 24HJ64GP202, 24HJ64GP204, 24HJ64GP206, 24HJ64GP210, 24HJ64GP502, 24HJ64GP504, 24HJ64GP506, 24HJ64GP510, 24HJ128GP202, 24HJ128GP204, 24HJ128GP206, 24HJ128GP210, 24HJ128GP306, 24HJ128GP310, 24HJ128GP502, 24HJ128GP504, 24HJ128GP506, 24HJ128GP510, 24HJ256GP206, 24HJ256GP210, 24HJ256GP610,
30F1010, 30F2010, 30F2011, 30F2020, 30F2023, 30F2012, 30F3010, 30F3011, 30F3012, 30F3013, 30F3014, 30F4011, 30F4012, 30F4013, 30F5011, 30F5013, 30F5015, 30F5016, 30F6010, 30F6011, 30F6012, 30F6013, 30F6014, 30F6015,
33FJ06GS101, 33FJ06GS102, 33FJ06GS202, 33FJ12GP201, 33FJ12GP202, 33FJ12MC201, 33FJ12MC202, 33FJ16GP304, 33FJ16GS402, 33FJ16GS404, 33FJ16GS502, 33FJ16GS504, 33FJ16MC304, 33FJ32GP202, 33FJ32GP204, 33FJ32GP302, 33FJ32GP304, 33FJ32GS406, 33FJ32GS606, 33FJ32GS608, 33FJ32GS610, 33FJ32MC202, 33FJ32MC204, 33FJ32MC302, 33FJ32MC304, 33FJ64GP202, 33FJ64GP204, 33FJ64GP206, 33FJ64GP306, 33FJ64GP310, 33FJ64GP706, 33FJ64GP708, 33FJ64GP710, 33FJ64GP802, 33FJ64GP804, 33FJ64GS406, 33FJ64GS606, 33FJ64GS608, 33FJ64GS610, 33FJ64MC202, 33FJ64MC204, 33FJ64MC506, 33FJ64MC508, 33FJ64MC510, 33FJ64MC706, 33FJ64MC710, 33FJ64MC802, 33FJ64MC804, 33FJ128GP202, 33FJ128GP204, 33FJ128GP206, 33FJ128GP306, 33FJ128GP310, 33FJ128GP706, 33FJ128GP708, 33FJ128GP710, 33FJ128GP802, 33FJ128GP804, 33FJ128MC202, 33FJ128MC204, 33FJ128MC506, 33FJ128MC510, 33FJ128MC706, 33FJ128MC708, 33FJ128MC710, 33FJ128MC802, 33FJ128MC804, 33FJ256GP506, 33FJ256GP510, 33FJ256GP710, 33FJ256MC510, 33FJ256MC710,
2400, 2401, 2402, 2404, 2408, 2416, 2432, 2464, 24128, 24256, 24512, 241024, 241025,
25010, 25020, 25040, 25080, 25160, 25320, 25640, 25128, 25256, 25512, 251024, 251005, 252005, 254005, 258005, 251605, 25X10, 25X20, 25X40, 25X80,
93S46, 93×46, 93x46A, 93S56, 93×56, 93x56A, 93S66, 93×66, 93x66A, 93×76, 93x76A, 93×86, 93x86A,
AT90S1200, AT90S2313, AT90S8515, AT90S8535, ATmega48, ATmega8, ATmega88, ATmega8515, ATmega8535, ATmega16, ATmega164A, ATmega168, ATmega32, ATmega324A, ATmega328, ATmega64, ATmega644A, ATmega1284,
ATtiny12, ATtiny13, ATtiny24, ATtiny26, ATtiny261, ATtiny2313, ATtiny44, ATtiny48, ATtiny461, ATtiny4313, ATtiny84, ATtiny88, ATtiny861,
DS2430,DS2431,DS2433,DS28EC20,DS1820,
11010,11020,11040,11080,11160

Dispositivos suportados somente para leitura:
12C671, 12C672, 12CE673, 12CE674

Importante!! Não utilize dispositivos 3.3V sem as placas de expansão de 3,3 V, caso contrário, podem ocorrer danos permanentes, o software verifica que adaptadores estão presentes antes de começar a programar, mas, obviamente, você precisa selecionar o dispositivo adequado, os dispositivos de 3.3V são:
16F1xxx,18FxxJxx,18FxxKxx,24Fxxx,24Hxxx,33Fxxx.
Também não coloque nenhum 24F-33F no soquete 30F, que funciona em 5V.

O circuito (v1.7)

Open  Programmer programador USB PIC Atmel I2c SPI esquema 450x214 Open Programmer   Programador para PIC, ATMEL e EPROM 24, 25, e 93 Software de eletrônica Pic Microcontroladores linux Gravadores Download Dicas Circuitos

O projeto é baseado em  28 18F2550 DIP de 28 Pinos, mas apenas cerca de um terço da memória e 0% de eeprom foi usado, por isso vai caber confortavelmente na pequena 2455.
O 2458 e 2553 tem um de ADC de 12 bits, portanto, apenas a recompilação é necessária.
Com algumas modificações que eu adaptei o código para o 2450, já que este modelo não tem o módulo MSSP eu usei uma implementação de software de I2C e SPI, que também não tem o segundo canal de PWM, portanto, não pode gerar o clock para chips Atmel (para aqueles que são configurados com clock externo), neste caso RB3 pode ser usado para ligar um oscilador externo (o qual deve ser inserido numa placa de expansão modificado Atmel).
A utilização dos dispositivos correspondentes de 40 pinos 40 (4450, 4455, 4458, 4550, 4553) requer a modificação da PCB.
A fim de implementar uma periférico USB com um micro PIC temos poucos componentes: o microcontrolador principal, um cristal de quartzo, alguns capacitores, e um conector USB tipo B, exatamente como está escrito nas notas de aplicação de Microchip.
Para ser capaz de programar dispositivos PIC precisamos duas linhas digitais Clock e Data e duas tensões de alimentação, VCC e VPP, que são controladas por meio de três transistores; VPP vem a partir de um regulador de tensão de ativação formado por Q4, L1, D3.

Download dos arquivos do gravador Open Programmer

Esquemas e Placa de circuito impresso: complete archive.
Firmware: Projeto completo MPLAB ou firmware Compilado (.hex)  ou uma versão para 18F2450 (com funcionalidade reduzida, veja o circuito).
OP (Linha de comando para Linux & Windows)
OpenProg (windows): somente executável;   Código fonte (Visual Studio 6 workspace)
opgui (GTK GUI para Linux & Windows): Código fonte ou aplicação
OpenProg e Opgui user’s guide
Octave scripts

Para informações adicionais visite o site do desenvolvedor!

Nós recomendamos EasyEDA para Layout e fabricação de PCB
Protótipos PCB com rapidez e baixo custo - EasyEDA
10 pcs 2 layer somente $10,00, Cadastre-se grátis em EasyEDA e ganhe $5,00

Já está no Facebook então venha fazer parte do melhor grupo de eletrônica
Comentar via Facebook

32 COMENTÁRIOS

      • Ola Toni, desculpe-me por não explicar com mais detalhes, primeiramente, eu tenho uma imensa vontade de aprender logica, criar pequenos projetos de comando para circuitos analógicos, estes eu domino bem, desenvolvo e até comercializo, como por exemplo um que tem o nome criado por mim: SUPER 360ALL, é Leitor e gravador de dados na placa de xbox 360 todos s modelos, isso para desbloquear a proteção permitindo a reprodução de jogos gravados em mídias comuns (roxa). Essa minha ferramenta tem três chaves mecânica H H que fazem chaveamentos de um Leitor SD MMC genérico e um Leitor S.P.I  JR PROGRAMMER, os dois encontrados já prontos, no mercado de peças, e adaptados por mim para o uso nos xbox 360, (detalhes no meu site: http://www.cursos-wr.com). Mas o que quero é, ir mais fundo, desenvolver projetos com software, aprender sobre: PICs, Vejo que no seu site tem um belo trabalho seu, rico em informações sobre circuitos logico e tudo grátis, mas eu gostaria de ter informações tipo: o que devo aprender primeiro para entrar na área e desenvolver pequenos projetos que por exemplo:substitua as partes mecânicas como as chaves seletoras da minha ferramenta etc. sei que existe chaves analógica de estado solido, preciso saber como usa-la para fazer chaveamento de sinais (dados) aprender sobre os diversos tipos de portas e qual usar para um determinado projeto. Acho que são muitas coisas mas queria começar com o básico da parte logica, ficarei grato se puder contar com a sua ajuda, me coloco a disposição para ajudar também no que eu puder. Obrigado. Mario. Lúcio.

      • Olá Mario
        Verifiquei em seu site a ferramenta!
        Se quer aprender sobre microcontroladores, sugiro que comece com eletrônica digital e lógica de programação. Não é nada difícil, só dedicar e alcançará seus objetivos!
        Sobre trabalho com consoles, tem um amigo no Facebook que também está trabalhador nesta área, inclusive investindo em equipamentos para BGA!
        Quem sabe não podem compartilhar informações!

      • Obrigado Toni, pela resposta, você pode me indicar um curso de eletrônica digital? encontro curso completo na net? Quanto a compartilhar sobre técnicas aplicadas em games com seu amigo do face, como eu disse estou a disposição para o que precisar. meu face é: mlpvip@msn.com Mario Lúcio de Paula e page: WR Projetos. Obrigado. Mario.

  1. toni boa noite eu estou buscando um projeto que me permita pegar chips de impressoras que já estejam usados e sem contagem de impressão  e regravar seus dados e reutilizar os mesmos sempre que for recarregar os cartuchos da minha impressora scx 3200, D 104k sabe se tem um projeto que me permita fazer isso.

  2. Olá Toni!
    Estou querendo montar um gravador de pic e gostaria de ter a sua opnião, se é este gravador ou o USBPICPROG que dá suporte em gravação a um maior número de PIC?

    Vejo que este tem a placa principal e várias placas de expansão.
    Não há nada que substitua a placa de expansão utilizando por exemplo o soquete zif 40 pinos?

    O USBPICPROG usa na sua placa de expansão soquete zif 40 pinos?

  3.  boa-tarde toni como diz  Fritz e para quem e lego no assunto precisa de ajuda eu lir todos os comentarios  creio que entendi quase tudo mais não entendi quais os dados que eu vou colocar dentro deste ci pic ex. eu como tecnico copio es dados de uma  eprom para outra do tipo 24xx mais onde eu acho os dados para esse pic por favor  vc ou alguns colega podem mim informa onde posso encontro ou quais os algarismo  que devo colocar neste pic obrigado   

  4. Olá, fiquei interessado em montar este gravador de PIC, gostaria de terinar o pouco que aprendi em programação, porem não tenho nenhum gravador e para gravar o firmeware hex no 18F2550 eu precisaria de um gravador prévio certo??? Caso sim, teria algum gracador mais rudimentar que poderia montar sem necessitar a gravação de um PIC?

  5. Boa noite toni, gostaria de saber se esse projeto precisa do uso de uma memória em serie com o pic, pois o PIC 18F2550 já tem EPROM interna e sobre os componentes das outras placas pois só tem os componentes do gravador.

  6. Toni,

    E os adaptadores para outras memorias quais sao os componentes necessarios, pois vejo que algumas placas tem reguladores e outras capacitores .!

  7. Prezado Toni,

        Parabéns pelo site!

        Pode parecer besteira, mas creio que minha dúvida é a mesma de muitos!

        Ao fazer um Programador de Chips como este, como fazer para gravar o firmware nicial do chip responsável por todo o gravador? Neste caso, como gravar o firmware do circuito no PIC 18F2550?

        Nota: tomando como base que eu não tenho qualquer gravador de PICs até o momento.

        Desde já, agradeço!

        Fritz

DEIXE UMA RESPOSTA