Tutarsız önyükleyici hatası ATMEGA328P
Üzerinde mikrodenetleyici olan bir kablosuz şarj cihazı oluşturuyorum.
3 tahta monte ettim. Bunlardan biri iyi çalışan bir mikro denetleyiciye sahiptir - önyükleyiciyi yakar ve kod taslağını düzgün yükler. Ancak, başka iki kartım var - çalışmayan aynı bileşenler. Önyükleyici aşağıdaki mesajlarla başarısız olur:
İlk Kurul
System wide configuration file is "/home/bem22/tools/arduino-1.8.10/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/home/bem22/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000 (retrying)
Error while burning bootloader.
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
İkinci Kurul
System wide configuration file is "/home/bem22/tools/arduino-1.8.10/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/home/bem22/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Error while burning bootloader.
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0xff007f
avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
avrdude done. Thank you.
Daha sonraki kart için genellikle device signature
0xffffff veya 0xfff000 veya 0x000fff veya 0x00ff00 vb.
Kart 1 ve 2 için bir multimetre kullanarak bağlantıları manuel olarak (QFN pininden Arduino ISP'ye) kontrol ettim. Voltajlar da iyi - kart normal 3v3 alır.
Benim için tek korku, lehimleme sırasında cipsleri yakmış olmak. 300 derecede 60/40 lehim teli ve lehimleme istasyonu kullandım. Bu çok mu yüksek? Temas süresi nispeten düşüktü (5 saniyenin altında).
Kurulumumdaki bazı resimler: [! [Görüntü açıklamasını buraya girin] [1]] [1] [! [Görüntü açıklamasını buraya girin] [2]] [2]
Ve işte benim şemam: [! [Buraya resim açıklamasını girin] [3]] [3]
Herhangi bir ipucu neden? [1]:https://i.stack.imgur.com/pUEs3.jpg [2]: https://i.stack.imgur.com/R9LLc.jpg [3]: https://i.stack.imgur.com/F832p.png
Yanıtlar
Sonuçta bu bir lehim sorunuydu. Tahtayı tasarlarken birkaç önlemi dikkate almadım.
Örneğin, zaten kısa olan pedlerde yol kullandım ve bu, sıvı lehimin yüzeysel gerilimini artıracak, böylece bakıra bağlanmasına izin vermeyecekti.