collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Bootloader com arduino e nhduino uno  (Lida 9165 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline edeweld

  • Mini Robot
  • *
  • Mensagens: 540
Bootloader com arduino e nhduino uno
« em: 26 de Fevereiro de 2017, 04:00 »
Olá,

Tenho um atmega 328 que o bootloader foi à vida! Pretendo voltar a "queimar" o mesmo no pic. Estive a ler este artigo https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard. Qual dos métodos aconselham e preferem. O quais as vossas razões?

Prefiro fazer o método de "Minimal Circuit (Eliminating the External Clock)". A questão é que não sei se tenho que remover o atmega do arduino uno que está bom.

Possuo um NHduino Uno, versão mais barata do arduino UNO. http://code.primaryblogs.net/2015/01/03/arduino-clones-ch340-chipsets-and-macosx/. Posso utilizar este para aplicar o método de "Minimal Circuit (Eliminating the External Clock)"?

Obrigado

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: Bootloader com arduino e nhduino uno
« Responder #1 em: 26 de Fevereiro de 2017, 11:49 »
Pretendo voltar a "queimar" o mesmo no pic.

Que PIC?
O Arduino usa ATMega, e o bootloader é só para ATMega. Se metes PICs ao barulho é outra fruta.


Os esquemas do "Minimal Circuit" o primeiro (da esquerda) é para programar o bootloader no ATMega. O da direita é para meter programas a partir do software do Arduino. Com o teu NHduino só podes fazer o primeiro, o segundo não consegues porque não dá para tirar o atmega da placa!

Se queres meter o arduino em breadboard, recomendo-te comprar arduinos Nano. EStão ao preço da chuva e poupa-te o trabalho de bootloaders, como ligar ao PC, se tem ou não cristal, teres de ter 5V regulados para alimentar, etc
Os últimos que comprei foram a menos de 2€ cada: https://lusorobotica.com/index.php?topic=8254.msg97854#msg97854
Esse listing do ebay já subiu o preço, mas procurando não deve ser difícil encontrar mais a esse preço.

Offline edeweld

  • Mini Robot
  • *
  • Mensagens: 540
Re: Bootloader com arduino e nhduino uno
« Responder #2 em: 26 de Fevereiro de 2017, 12:02 »
Não posso chamar pic ao atmega?

Vou fazer o primeiro do Minimal Circuit  com o nhduino.
Após fazer o bootloader no atmega como o posso exprimentar? Posso colocar o mesmo no arduino uno? (gostava de verificar o atmega sem o apllicar no arduno uno, pois nem sempre tenho a placa do arduino uno disponível).

O objectivo é recuperar dois atmega 328 que ficaram com o bootloader "queimado". Emprestei os dois a funcionar e vieram com erro no momento de fazer upload.

Offline StrikerofDeath

  • Mini Robot
  • *
  • Mensagens: 104
Re: Bootloader com arduino e nhduino uno
« Responder #3 em: 26 de Fevereiro de 2017, 12:05 »
edeweld nao tenho nada contra ti, mas nao achas que umas pesquisas no google resolviam metade das tuas perguntas?

3º link do google:
http://www.instructables.com/id/Burning-the-Bootloader-on-ATMega328-using-Arduino-/

PIC - https://pt.wikipedia.org/wiki/Microcontrolador_PIC

Offline edeweld

  • Mini Robot
  • *
  • Mensagens: 540
Re: Bootloader com arduino e nhduino uno
« Responder #4 em: 26 de Fevereiro de 2017, 12:10 »
edeweld nao tenho nada contra ti, mas nao achas que umas pesquisas no google resolviam metade das tuas perguntas?

3º link do google:
http://www.instructables.com/id/Burning-the-Bootloader-on-ATMega328-using-Arduino-/

PIC - https://pt.wikipedia.org/wiki/Microcontrolador_PIC

Estás à vontade! Eu gosto de criticas construtivas  ;) :D
Já tinha passado por tópicos como esse, mas resolvi questionar antes de "queimar" pois será a primeira vez que vou fazer isto.

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: Bootloader com arduino e nhduino uno
« Responder #5 em: 26 de Fevereiro de 2017, 12:17 »
Não posso chamar pic ao atmega?
Por mim até lhe podes chamar "querido", mas não é correto.  ;D

São processadores de marcas diferentes (ok, a Microchip comprou a Atmel, mas ainda são diferentes), com arquiteturas diferentes, com instruções diferentes, ambientes de desenvolvimento diferentes, portanto se queres ser correto não podes.
O termo genérico é "microcontrolador" ou abreviado "micro".

Alegoria:
Era o mesmo que um mecânico chamar a todos os carros "Fiat", independentemente se eram mesmo Fiat, Renault, Opel ou Mercedes. As peças não dão de uns nos outros! O termo correto é chamar pela marca certa, ou usar "automóvel" ou abreviado "auto" ou "carro".

Citar
Após fazer o bootloader no atmega como o posso exprimentar? Posso colocar o mesmo no arduino uno? (gostava de verificar o atmega sem o apllicar no arduno uno, pois nem sempre tenho a placa do arduino uno disponível).
Se tens um Uno com socket para o ATMega, depois de programar o bootloader podes meter o mesmo no socket e deve funcionar normalmente. Mas nesse caso deves usar o bootloader normal para cristal de 16MHz: Segues o guia "Minimal Circuit" mas no ponto 5 usas o bootloader para cristal de 16MHz, e já não podes usar o arduino sem cristal como no 2º diagrama do "Minimal".

Senão precisas de um conversor USB-TTL Série, que é o que a placa do arduino sem ATMega faz no 2º diagrama.. Ou então compras um como os que estão no link da minha resposta junto aos Nano V3.
« Última modificação: 26 de Fevereiro de 2017, 12:26 por jm_araujo »

Offline edeweld

  • Mini Robot
  • *
  • Mensagens: 540
Re: Bootloader com arduino e nhduino uno
« Responder #6 em: 26 de Fevereiro de 2017, 12:57 »
Não posso chamar pic ao atmega?
Por mim até lhe podes chamar "querido", mas não é correto.  ;D

São processadores de marcas diferentes (ok, a Microchip comprou a Atmel, mas ainda são diferentes), com arquiteturas diferentes, com instruções diferentes, ambientes de desenvolvimento diferentes, portanto se queres ser correto não podes.
O termo genérico é "microcontrolador" ou abreviado "micro".

Alegoria:
Era o mesmo que um mecânico chamar a todos os carros "Fiat", independentemente se eram mesmo Fiat, Renault, Opel ou Mercedes. As peças não dão de uns nos outros! O termo correto é chamar pela marca certa, ou usar "automóvel" ou abreviado "auto" ou "carro".
Aprendido, atmega != pic  :D

Citar
Após fazer o bootloader no atmega como o posso exprimentar? Posso colocar o mesmo no arduino uno? (gostava de verificar o atmega sem o apllicar no arduno uno, pois nem sempre tenho a placa do arduino uno disponível).
Se tens um Uno com socket para o ATMega, depois de programar o bootloader podes meter o mesmo no socket e deve funcionar normalmente. Mas nesse caso deves usar o bootloader normal para cristal de 16MHz: Segues o guia "Minimal Circuit" mas no ponto 5 usas o bootloader para cristal de 16MHz, e já não podes usar o arduino sem cristal como no 2º diagrama do "Minimal".

Senão precisas de um conversor USB-TTL Série, que é o que a placa do arduino sem ATMega faz no 2º diagrama.. Ou então compras um como os que estão no link da minha resposta junto aos Nano V3.

Neste link https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard, no ponto 1 "Download this hardware configuration archive: breadboard-1-6-x.zip, Breadboard1-5-x.zip or Breadboard1-0-x.zip depending on which IDE you use." Qual arquivo utilizo? Estou a utilizar a versão 1.8.1. do arduino, tem haver com isso certo?

Offline LVirtual

  • Mini Robot
  • *
  • Mensagens: 472
  • http://www.s-tronika.com
    • S-Tronika - Serviços Técnicos de Electrónica
Re: Bootloader com arduino e nhduino uno
« Responder #7 em: 26 de Fevereiro de 2017, 13:05 »
IDE é a abreviatura da plataforma de software que usas para desenvolver e compilar o codigo que envias para o teu "PIC" ;)

IDE= Interface Development Enviroment.

conforme a plataforma usada nem todos os "codigos" sacados da net podem servir sem pequenos ajustes nas suas funçoes.

que software estas a usar para a programação?
"O defeito mais grave dos humanos, aquele que coloca mais obstáculos à sua evolução, é a crença profundamente arreigada na infalibilidade dos seus raciocínios e dos seus pontos de vista."

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: Bootloader com arduino e nhduino uno
« Responder #8 em: 26 de Fevereiro de 2017, 13:21 »
Neste link https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard, no ponto 1 "Download this hardware configuration archive: breadboard-1-6-x.zip, Breadboard1-5-x.zip or Breadboard1-0-x.zip depending on which IDE you use." Qual arquivo utilizo? Estou a utilizar a versão 1.8.1. do arduino, tem haver com isso certo?

Esse é um nível de detalhe em que o tempo que demoro a encontrar a resposta no google ou a testar versões é igual ao que tu demorarias. Como o projeto não é meu, adivinha quem é que vai fazer esse trabalho? ;)

Não te esqueças depois de partilhar aqui a solução para quando surgir alguém com a mesma dúvida!

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Bootloader com arduino e nhduino uno
« Responder #9 em: 26 de Fevereiro de 2017, 16:08 »
Se esses AVRs estiverem bons e tinham bootloaders gravados, para os poderes reprogramar tens que meter um cristal e respectivos condensadores. Um dos passos envolvidos na programação do bootloader Arduino UNO é mudar a configuração para apenas funcionar com cristal por isso uma vez programado um destes bootloaders, reprogramar o chip implica usar um cristal. Há internamente alguma espécie de "máquina de estados" que controla a programação, e essa máquina usa a mesma fonte de clock do chip.
« Última modificação: 26 de Fevereiro de 2017, 16:10 por Njay »

Offline edeweld

  • Mini Robot
  • *
  • Mensagens: 540
Re: Bootloader com arduino e nhduino uno
« Responder #10 em: 26 de Fevereiro de 2017, 16:44 »
Boas,

Não tive sucesso e estou na fase de troubleshoooting. Fiz este doc com os passos que fiz: https://drive.google.com/file/d/0BzlNeCfGh2GVTXdWeUNBTUVnNVE/view?usp=sharing

Reparei que mesmo não importando "breadboard-1-6-x.zip, Breadboard1-5-x.zip or Breadboard1-0-x.zip" consigo fazer todos os passos. Por isso devo estar a fazer algo de errado.
Alguma sugestão?

Offline edeweld

  • Mini Robot
  • *
  • Mensagens: 540
Re: Bootloader com arduino e nhduino uno
« Responder #11 em: 26 de Fevereiro de 2017, 16:45 »
Se esses AVRs estiverem bons e tinham bootloaders gravados, para os poderes reprogramar tens que meter um cristal e respectivos condensadores. Um dos passos envolvidos na programação do bootloader Arduino UNO é mudar a configuração para apenas funcionar com cristal por isso uma vez programado um destes bootloaders, reprogramar o chip implica usar um cristal. Há internamente alguma espécie de "máquina de estados" que controla a programação, e essa máquina usa a mesma fonte de clock do chip.

O objectivo é fazer o burn bootloader sem cristal.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Bootloader com arduino e nhduino uno
« Responder #12 em: 26 de Fevereiro de 2017, 16:55 »
Um AVR virgem, que nunca foi programado, podes programar sem cristal. Se o AVR já teve um bootloader gravado, a única hipótese de o programar é com um cristal... quer queiras quer não, não tens outra hipótese.

Offline edeweld

  • Mini Robot
  • *
  • Mensagens: 540
Re: Bootloader com arduino e nhduino uno
« Responder #13 em: 26 de Fevereiro de 2017, 17:01 »
Um AVR virgem, que nunca foi programado, podes programar sem cristal. Se o AVR já teve um bootloader gravado, a única hipótese de o programar é com um cristal... quer queiras quer não, não tens outra hipótese.

Vamos por partes  :o ;D
"AVR is a family of microcontrollers developed by Atmel beginning in 1996. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers." Portanto, é o meu atmega 328P, certo?

Este AVR já teve o bootloader e como começou a dar o erro, que por acaso é igual ao que está no artigo que partilhei, comecei a pesquisar sobre como fazer o burnbootloader. Como encontrei o artigo da própria arduino.cc fiquei com esperanças que fosse possível "queimar" o mesmo sem o cristal. Pondo isto, o veredito final é que preciso do cristal, das resistências e do condensador (como nesta montagem https://www.arduino.cc/en/uploads/Tutorial/BreadboardAVR.png). Certo?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Bootloader com arduino e nhduino uno
« Responder #14 em: 26 de Fevereiro de 2017, 17:16 »
Sim, o ATmega328P é um AVR (tem um core de CPU AVR, para ser mais preciso :)).

A resistência deve ser a do /RESET mas normalmente não é precisa.

Há mtos anos fiz esta cena em anexo, para estas e outras situações em que preciso de fazer um teste rápido, e que apelidei carinhosamente de "meu cristal de guerra" :) (que inclusivé já "safou" algumas pessoas na tua situação). O pino do meio, de ligar ao GND do circuito, está soldado à caixa do cristal e aos 2 condensadores (de 22pF). Usei um de 4MHz porque era o que tinha à mão na altura, mas quem quiser replicar isto para esta aplicação é melhor usar um cristal de 16MHz, porque com o de 4MHz é preciso ter velocidades de programação mais baixas (pode-se programar um AVR com velocidades penso que até 1/2 da velocidade do seu clock).
« Última modificação: 26 de Fevereiro de 2017, 17:22 por Njay »