Ардуино плата перегорела?

Тема в разделе "Arduino & Shields", создана пользователем apollox, 20 июн 2024.

  1. apollox

    apollox Нерд

    Добрый день.

    Имеется Адуино Искра Нано.

    Работала нормально.

    Сейчас при подаче питания с ноута индикатор питания горит, но на датчики не реагирует.
    Скетчи заливает, но даже простейший "помигать 13 светодиодом" не работает.

    При заливке пару раз моргает оранжевым, вспыхивают rx tx и все.

    Код (C++):
    void setup() {
      pinMode(13, OUTPUT); // Настраиваем пин 13 как выход
    }

    void loop() {
      digitalWrite(13, HIGH); // Включаем светодиод
      delay(500); // Ждем одну секунду
      digitalWrite(13, LOW); // Выключаем светодиод
      delay(500); // Снова ждем одну секунду
    }
    Подключал питание от трех батареек-таблеток по 1.5V (итого 4.5V), к пинам 5V и земля, работало как надо.

    Могла ли сдохнуть от того что было напряжение менее 3 В?

    Есть ли варианты как реанимировать?
     
    Последнее редактирование: 21 июн 2024
  2. Bott

    Bott Гик

    Сейчас не работает? По симптомам Вы ее где то коротнули. Поэтому в тазик! Я так когда лампу Гайвера делал Нану спалил. Пришлось выкинуть
     
  3. parovoZZ

    parovoZZ Гуру

    Сдох eeprom.
     
  4. apollox

    apollox Нерд

    Вот расширенный лог при заливке скетча на плату.
    Вроде ошибок нет.
    Код (C++):

    FQBN: arduino:avr:nano
    Using board 'nano' from platform in folder: C:\Users\user1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
    Using core 'arduino' from platform in folder: C:\Users\user1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6

    Detecting libraries used...
    C:\Users\user1\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IC:\Users\user1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\user1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\eightanaloginputs C:\Users\user1\AppData\Local\Temp\arduino\sketches\906AC0C63A6F9D5EA39CC06F354F82E3\sketch\foto.ino.cpp -o nul
    Generating function prototypes...
    C:\Users\user1\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IC:\Users\user1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\user1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\eightanaloginputs C:\Users\user1\AppData\Local\Temp\arduino\sketches\906AC0C63A6F9D5EA39CC06F354F82E3\sketch\foto.ino.cpp -o C:\Users\user1\AppData\Local\Temp\1650748044\sketch_merged.cpp
    C:\Users\user1\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\user1\AppData\Local\Temp\1650748044\sketch_merged.cpp
    Компиляция скетча...
    "C:\\Users\\user1\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\user1\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\user1\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "C:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3\\sketch\\foto.ino.cpp" -o "C:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3\\sketch\\foto.ino.cpp.o"
    Compiling libraries...
    Compiling core...
    Using precompiled core: C:\Users\user1\AppData\Local\Temp\arduino\cores\arduino_avr_nano_cpu_atmega328_194d1bf8208386a700b78e198eafc30c\core.a
    Linking everything together...
    "C:\\Users\\user1\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3/foto.ino.elf" "C:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3\\sketch\\foto.ino.cpp.o" "C:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3/..\\..\\cores\\arduino_avr_nano_cpu_atmega328_194d1bf8208386a700b78e198eafc30c\\core.a" "-LC:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3" -lm
    "C:\\Users\\user1\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3/foto.ino.elf" "C:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3/foto.ino.eep"
    "C:\\Users\\user1\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3/foto.ino.elf" "C:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3/foto.ino.hex"

    "C:\\Users\\user1\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-size" -A "C:\\Users\\user1\\AppData\\Local\\Temp\\arduino\\sketches\\906AC0C63A6F9D5EA39CC06F354F82E3/foto.ino.elf"
    Скетч использует 1958 байт (6%) памяти устройства. Всего доступно 30720 байт.
    Глобальные переменные используют 192 байт (9%) динамической памяти, оставляя 1856 байт для локальных переменных. Максимум: 2048 байт.
    "C:\Users\user1\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\user1\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOM6" -b115200 -D "-Uflash:w:C:\Users\user1\AppData\Local\Temp\arduino\sketches\906AC0C63A6F9D5EA39CC06F354F82E3/foto.ino.hex:i"

    avrdude: Version 6.3-20190619
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2014 Joerg Wunsch

             System wide configuration file is "C:\Users\user1\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

             Using Port                    : COM6
             Using Programmer              : arduino
             Overriding Baud Rate          : 115200
             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 : Arduino
             Description     : Arduino
             Hardware Version: 3
             Firmware Version: 4.4
             Vtarget         : 0.3 V
             Varef           : 0.3 V
             Oscillator      : 28.800 kHz
             SCK period      : 3.3 us

    avrdude: AVR device initialized and ready to accept instructions

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

    avrdude: Device signature = 0x1e950f (probably m328p)
    avrdude: reading input file "C:\Users\user1\AppData\Local\Temp\arduino\sketches\906AC0C63A6F9D5EA39CC06F354F82E3/foto.ino.hex"
    avrdude: writing flash (1958 bytes):

    Writing | ################################################## | 100% 0.25s

    avrdude: 1958 bytes of flash written

    avrdude done.  Thank you.

     
     
  5. AlexU

    AlexU Гуру

    Судя по этому логу, микроконтроллер, жив в той части, что переходит в режим программирования и прошивается.
    Ноут способен выдавать достаточную мощность через USB шнурок, чтобы и Нано работала и все датчики подключенные к ней?
    Этот "13-ый светодиод" случайно не сожгли? Если подключить внешний (только правильно подключить) он будет мигать?
    Хотя могли сжечь конкретный выход МК, поэтому не работает "13-ый светодиод". В этом случае лучше купить новый контроллер.
     
  6. apollox

    apollox Нерд

    Как выяснилось, фьюзы слетели.
     
  7. Airbus

    Airbus Радиохулиган Модератор

    А как это выяснилось?
     
  8. parovoZZ

    parovoZZ Гуру

    фьюзы сами по себе не слетают. Это нонсенс. Поэтому либо сам нахимичил, либо
     
  9. Airbus

    Airbus Радиохулиган Модератор

    Без eeprom может работать. Не везде конечно но может. У меня в разных устройствах работают 10 мег8 с битым eeprom. Он просто не используется в коде. Скорее всего выжег какие то порты, как и сказал AlexU. Хотя с какими то палеными портами тоже может работать если только это не Rx/Tx/Miso/Mosi/Sck/Reset
     
  10. parovoZZ

    parovoZZ Гуру

    фьюзы, если мне не изменяет память, имеют структуру eeprom.
     
  11. Airbus

    Airbus Радиохулиган Модератор

    Я не знаю какую структуру они имеют но на МК с битым eeprom они прекрасно меняются а вот eeprom при этом пишется но читается с ошибками.
     
  12. parovoZZ

    parovoZZ Гуру

    т.е. ты допускаешь, что та область памяти, в которой лежат фьюзы, вечная?
     
  13. apollox

    apollox Нерд

    Индикатор питания работает, IDE плату видит, avrdude прошивку считывает, я даже перепрошил.
    Код (C++):
    C:\Users\user1\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17\bin>avrdude.exe -C C:\Users\user1\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17\etc\avrdude.conf -v -patmega328p -carduino -P COM6 -b115200 -Uflash:w:optiboot_atmega328.hex:i

    avrdude.exe: Version 6.3-20190619
                 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                 Copyright (c) 2007-2014 Joerg Wunsch

                 System wide configuration file is "C:\Users\user1\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17\etc\avrdude.conf"

                 Using Port                    : COM6
                 Using Programmer              : arduino
                 Overriding Baud Rate          : 115200
                 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 : Arduino
                 Description     : Arduino
                 Hardware Version: 3
                 Firmware Version: 4.4
                 Vtarget         : 0.3 V
                 Varef           : 0.3 V
                 Oscillator      : 28.800 kHz
                 SCK period      : 3.3 us

    avrdude.exe: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.01s

    avrdude.exe: Device signature = 0x1e950f (probably m328p)
    avrdude.exe: safemode: lfuse reads as 0
    avrdude.exe: safemode: hfuse reads as 0
    avrdude.exe: safemode: efuse reads as 0
    avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
                 To disable this feature, specify the -D option.
    avrdude.exe: erasing chip
    avrdude.exe: reading input file "optiboot_atmega328.hex"
    avrdude.exe: writing flash (32768 bytes):

    Writing | ################################################## | 100% 0.01s

    avrdude.exe: 32768 bytes of flash written
    avrdude.exe: verifying flash memory against optiboot_atmega328.hex:
    avrdude.exe: load data flash data from input file optiboot_atmega328.hex:
    avrdude.exe: input file optiboot_atmega328.hex contains 32768 bytes
    avrdude.exe: reading on-chip flash data:

    Reading | ################################################## | 100% 0.01s

    avrdude.exe: verifying ...
    avrdude.exe: 32768 bytes of flash verified

    avrdude.exe: safemode: lfuse reads as 0
    avrdude.exe: safemode: hfuse reads as 0
    avrdude.exe: safemode: efuse reads as 0
    avrdude.exe: safemode: Fuses OK (E:00, H:00, L:00)

    avrdude.exe done.  Thank you.
    Скетч успешно заливает (который тестовый с 13 пином но не работает).

    В какой-то момент было подано напряжение менее 3V, видимо это и есть причина неисправности.
     
  14. parovoZZ

    parovoZZ Гуру

    Нет. Если только не шить при низком напряжении.
     
  15. ostrov

    ostrov Гуру

    Вот для этого ISP надо под рукой держать. А фьюзы как и EEPROM у меня слетали тоже при проблемах с питанием, когда много быстрых ыкл-выкл, например при искрении проводки.
     
    Asper Daffy нравится это.
  16. Airbus

    Airbus Радиохулиган Модератор

    А еще можно перепрошить Лодыря переделав Нано в Уно и при этом добавится 1.5 кб флэша под програмный код. Я все так переделал—у меня все «уно»
     
  17. AlexU

    AlexU Гуру

    Фьюзы не "слетели", а наоборот прошились все до единого:
    Код (Bash):
    avrdude.exe: safemode: lfuse reads as 0
    avrdude.exe: safemode: hfuse reads as 0
    avrdude.exe: safemode: efuse reads as 0
    avrdude.exe: safemode: Fuses OK (E:00, H:00, L:00)
    Надо их приводить в порядок.
    Какие должны быть значения смотрите файл 'hardware/arduino/avr/boards.txt'.
    Для Nano там прописано:
    Код (Bash):
    nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
    nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA
    nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD