2

Проблема при записи скетча Arduino Mega 2560

Здравствуйте!

Приобрёл, в качестве управляющей платы для 3D принтера, Arduino Mega 2560 с 16u2 + Ramps 1.4.. При первой попытке залива прошивки Marlin столкнулся с проблемой: avrdude: stk500v2_ReceiveMessage(): timeout. После нескольких часов, чтения форумов, получилось залить прошивку. После заливки прошивки, плата несколько раз подключалась через pronterface, а также заливались другие версии Marlin. После сборки принтера, и подключения питания на Ramps, принтер перестал подключаться к компьютеру, и последующие попытки перезалить прошивку, выдавали одну и ту же ошибку avrdude: stk500v2_ReceiveMessage(): timeout. Что было сделано, на данный момент для решения этой проблемы. При этом плата отображается в устройствах.


1. Смена кабеля (длинный/короткий)


2. Нажатие клавиши Reset


3. Замыкание и размыкание перемычки Reset - en


4. Перезаливка бутлоадера через ICSP на Atmega2560. Пробовал разные загрузчики, разные конфигурации фьюзов.


5. Перезаливал загрузчик через Flip на 16u2


6. Менял компьютеры (3 штуки)


7. Менял версии Arduino IDE


8. Перезаливал загрузчик на 16u2 через ICSP с разныим фьюзами


В качестве программатора использовал Arduino UNO. При всем, при этом плата работает. Прошивка заливается через ICSP. На экране отображается температура, стол и экструдер греются, моторы управляются через шаговики.


У меня сложилось мнение, что по какой-то причине, 16u2 не передает данные на atmega2560. При отправке сообщений через монитор серийного порта мигает светодиод RX. При попытке подключиться через pronterface один раз мигает RX.


Можете подсказать, в какую сторону копать, дабы избавиться от этого недуга?


Лог Arduino ide добавляю в комментарии. Спасибо

TECHNO BROTHER

2.1K поста13.7K подписчик

Правила сообщества

1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.

3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины

1
Автор поста оценил этот комментарий

Подключаем UNO к MEGA.


Нам нужны MISO, MOSI, SCK, RES, VCC, GND


Судя по распайкам, это

UNO - MEGA

12 - 50

11 - 51

13 - 52

10 - RESET

5V - 5V

GND - GND

Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

При подключении uno через порты по вышеописанной схеме, и отправке туда информации через серийный порт или заливке скетча, происходит ошибка таймаута, но так-же мигает диод rx на uno. Получается, что проблема всё таки не в 16u2, а именно в atmega2560!

показать ответы
0
Автор поста оценил этот комментарий
Я столкнулся абсолютно с такой же проблема. Думаю у тебе как и у меня умер кварцевый резонатор, который подсоединен к 33 и 34 ноге микросхемы ATMega 2560. На твоей плате должен стоять 16 МГц кварцевый резонатор.


Проверь кварцевый резонатор БИЛЛИ )))).На плате визуально не далеко от PIN RESET.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

У меня, из-за плохого пропоя платы, на ногах рампс выходит 12в, и эти 12 вольт стабильно сжигают rx у мега 2560, сейчас пришёл новый комплект, буду проверять

0
Автор поста оценил этот комментарий

Если марлин не использует второй сериал - то да, можно.


Но кажется мне дело не в меге, и не в ногах. Просто ты что-то не догоняешь ;)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Возможно, но есть мнение, что рампс дал 12в на ногу rx0, и она перепрограмировалась
показать ответы
0
Автор поста оценил этот комментарий
Ну как, прошилось?
Чем закончилось всё? )
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Я купил ещё одну мегу и после установки рампс у меня снова вылетает эта ошибка. В ходе эксперимента выяснилось, что проблемас ногой rx0 на мега 2560. Дело в том, что залить скетч я могу и через исп разъем, но не могу откалибровать принтер, будет удобнее сделать это через порт компа, чем через интерфейс марлин. Как думаешь, есть возможность использовать rx1 в качестве rx0?

показать ответы
0
Автор поста оценил этот комментарий
Вообще, из arduino ide должно так заливать, по нажатию ctrl+u.
Сделай скриншот настроек, что у тебя выбрано?
Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Через ISP прошивается, без проблем! Прошивка работает, я не могу подключиться через комп, что бы откалибровать стол

Иллюстрация к комментарию
показать ответы
0
Автор поста оценил этот комментарий

попробуйте подключить через внешний usb-ttl преобразователь.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Возможно использовать uno в качестве такого преобразователя?

показать ответы
0
Автор поста оценил этот комментарий
Порты менять не нужно. Посмотри какой порт появляется в диспетчере устройств при подключении ардурины
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Как правило появляется 7, после перезалива загрузчика в 16u2, меняется

показать ответы
0
Автор поста оценил этот комментарий

Я так понял, что другие платы нормально работают, Вот уно вы использовали, например. К тому же то работает, то не работает. Может там неконтакт в плате. Другую-то Мегу что-ли не пробовали?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Другую пока не пробовал, жду когда приедет!

показать ответы
0
Автор поста оценил этот комментарий
Доступ к порту открыть ? Не..??
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Порты менял, что значит открыть доступ? Как это сделать?

показать ответы
0
Автор поста оценил этот комментарий

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53

Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/


Copyright (c) 2007-2014 Joerg Wunsch



System wide configuration file is "C:\Program Files\Arduino\hardware\tools\avr/etc/avrdude.conf"



Using Port : COM7


Using Programmer : stk500v2


Overriding Baud Rate : 19200


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_getsync(): timeout communicating with programmer


AVR Part : ATmega2560


Chip Erase delay : 9000 us


PAGEL : PD7


BS2 : PA0


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 10 8 0 no 4096 8 0 9000 9000 0x00 0x00


flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00


lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00


hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00


efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00


lock 0 0 0 0 no 1 0 0 9000 9000 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 : STK500V2


Description : Atmel STK500 Version 2.x firmware


Programmer Model: Unknown


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_getsync(): timeout communicating with programmer


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_getsync(): timeout communicating with programmer


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_getsync(): timeout communicating with programmer


avrdude: stk500v2_ReceiveMessage(): timeout


avrdude: stk500v2_ReceiveMessage(): timeout


Произошла ошибка при загрузке скетча


processing.app.SerialException: Ошибка открытия последовательного порта "COM7"


at processing.app.Serial.<init>(Serial.java:139)


at processing.app.Serial.<init>(Serial.java:78)


at processing.app.SerialMonitor$3.<init>(SerialMonitor.java:95)


at processing.app.SerialMonitor.open(SerialMonitor.java:95)


at processing.app.AbstractMonitor.resume(AbstractMonitor.java:110)


at processing.app.Editor.resumeOrCloseSerialMonitor(Editor.java:2185)


at processing.app.Editor.access$2200(Editor.java:78)


at processing.app.Editor$DefaultExportHandler.run(Editor.java:2163)


at java.lang.Thread.run(Thread.java:745)


Caused by: jssc.SerialPortException: Port name - COM7; Method name - openPort(); Exception type - Port busy.


at jssc.SerialPort.openPort(SerialPort.java:164)


at processing.app.Serial.<init>(Serial.java:128)


... 8 more


Ошибка открытия последовательного порта "COM7"

показать ответы