Pessoal, ajudem por favor!

Venho comprando novos atmega328p-pu para fazer as montagens em placa de circuito impresso próprio, deixando meu arduino basicamente como um ISP para as gravações.

Os últimos 4 chips que comprei (em 2 remessas diferentes nos últimos 2 meses) simplesmente não funcionam. Não consigo gravar bootloader nem subir nenhum sketch, seja via protoboard, seja colocando ele no lugar do meu chip original no arduino.

Alguém tem uma pista do que pode estar acontecendo? Uso MacOS 10.7.5.

Segue abaixo log da tentativa de acessar o chip e depois de escrever o bootloader:

./avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -p atmega328P -c avrisp -P /dev/tty.usbmodemfd121 -b 19200

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.12s

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

./avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -p atmega328P -c avrisp -P /dev/tty.usbmodemfd121 -b 19200 -U flash:w:./optiboot_atmega328.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.12s

avrdude: Device signature = 0x1e950f
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "./optiboot_atmega328.hex"
avrdude: input file ./optiboot_atmega328.hex auto detected as Intel Hex
avrdude: writing flash (32768 bytes):

Writing | #################################################  | 98% 0.00savrdude: stk500_recv(): programmer is not responding

Por favor me ajudem.

Grato.

Roberto Leite - Jundiaí/SP

Exibições: 471

Responder esta

Respostas a este tópico

Tive alguns problemas com as ultimas compras que fiz, não uso para o que vc usa.

Solucionei colocando o bootloader novamente neles, não ficaram 100% iguais aos que ja tinha ha mais tempo, mas resolvi alguns problemas que estavam acontecendo.

Acredito que a diferença não esteja na placa e sim no chip, troque o 328 da placa nova por um antigo que tenha ai e veja se funciona de acordo.

Algo eles mudaram que não ficou 100% compativel...

[]´s

Jota

Então... tentei fazer isso também. Mantive meu chip original no arduino e montei um sketch para escrita no outro chip via protoboard. O primeiro comando que rodo sempre dá ok, dizendo que o chip está pronto para escrita. O segundo comando sempre falha em 98%. Será que pode ter alguma coisa a ver com meu macbook? Não fiz nenhuma mudança, mas parece tanto que está dando um timeout ou algo parecido.

Sei lá. Alguém aí conhece como funciona o avrdude? Estou quase partindo para debugar o avrdude pra tentar entender o que está acontecendo, em que linha de código está parando, porque realmente é triste: me encontrei com o arduino de um jeito que comecei a criar várias coisas. De repente me deparo com um problema desses.

Obrigado por seus comentários, Jota.

 Olá Roberto. ^^

 Em uma breve pesquisa, encontrei alguns pontos interessantes. Seguem eles:

1)

When you get avrdude: stk500_recv(): programmer is not responding, it basically means that something wrong is happening, before the flashing actually begins. Basically you have to check :

  • if the cable and/or connectors does not have microcuts ;
  • if there is no shortcut on the PCB between Rx and Tx (usually pins 1 and 0) ;
  • if the atmega chip is not out of power (GND/VCC shortcut or cut or VCC input being dead…) ;
  • if the 1 and 0 pins of the Arduino are not being used by some shield or custom design (/!\ does not apply to the leonardo as it has independent USB handling)
  • if the USB to UART converter does not have a problem (FTDI on older duemilanove or Atmega16U2 on newer Unos) ;
  • if the Atmega328 chip is fried or wrongly installed ;
  • if the bootloader has been overwritten or is failing…

usually the avrdude -v -v -v -v can help a lot find at which stage it is failing. Whether it can't make a USB connection at all (cable failing, USB/UART, PCB…), or it is a bootloader problem.

Update: I tried turning the onboard Atmega and fitting it in the other direction. Now, I encounter no problems uploading, but nothing happens afterwards. The onboard LED also does not seem to be blinking.

I'm afraid that if you reversed the position of the atmega, and then it does not work, the fact that you placed the power source on digital pins may have burnt your chip.

2)

get a compatible (2.2pre2-3 or newer) version of librxrt-java to allow Java to handle the I/O (rx/rt);

3)

This error message basically shows up for any communication problem, so by itself, it is not all that instructive. The Arduino Nano is supposed to have auto-reset, but maybe your clone does not? In that case, you'd have to press the reset key on the board just before starting an upload.

Ou seja, não deixe de verificar a versão da biblioteca Java que você tem. Se o cabo de gravação está muito longo. E se tem algum problema na linha de reset. Além de demais periféricos "amarrados" aos pinos de gravação.Por enquanto só recordo disto.

Espero ter ajudado. ^^

T++.

Salve Daniel,

Obrigado pelo comentário. No entanto sobre versão de lib e de tamanho de cabos, rx tx em curto ou falta de alimentação, não me parece ser nada disso pois o chip original grava, os novos não.

O mais estranho é que sempre para em 98%. Estou achando que algum detalhe menor mudou nestes chips em relação aos antigos e com isso o bootloader não é totalmente gravado.

Colhi algumas informações adicionais:

Chip bom:

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Chips Ruins:

avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.12s

avrdude: Device signature = 0x1e950f
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as 5

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as 5
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Os valores dos fuses estão diferentes.

A luta segue. Grato pela ajuda.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço