Альтернативная прошивка ER9X для Turnigy 9X
Ну вот Вам и ответ: “киросину” не хватило что бы прошить. Надо искать перемычку 3.3\5в на вашем программаторе или менять программатор на 5 вольтовый.
Мужики, Есть как есть я тож недавно попался(Евгению на другом форуме уже ответил), тоже мега потухла пр и перепрошивке и никакими бубнами не восстановилась. Причем(!) для перепроверки было выпаяно все что могло мешать-кондеры, стабы, 4066…остались тока резюки и кондеры 0,1мкф…Пи подвеске программатора напряжение падало до 4,2В…подключал внешние 5В–результат тот же, причем живая мега 128 вела себя так же на плате…В итоге была куплена еще одна мега64а,которая не завелась даже с заводских установок, ни с другим кварцем,нис внешним генератором ни с low SCK…тупо молчала. Кстати ключа на ней небыло(!) ориентировал по маркировке. Потом купил еще одну мегу в “провереном” магазине и аппа ожила.
Думал только у меня такая фигня, как видно не один я…Подозрение что пошла глючная партия мег64 крайних турнигах .
Евгению: купите atmega64A, выпаять старую можно при помощи фена(я пользуюсь строительным на режиме 400грд), сек 10 ее прогреть и пинцетом или скальпелем она легко снимается.
Олег, спасибо за совет (и на том и на этом форуме 😃), но, боюсь, я такую операцию не осилю 😦 Мне даже к этим-то сравнительно большим площадкам было трудновато проводки припаять, не говоря уже об этой многоногой атмеге.
Надо искать перемычку на вашем программаторе
Не могу разглядеть и все… Маркировка есть, стрелочка есть - а что там именно выпаять или припаять - не пойму. Вы тоже по фото (в моем предыдущем сообщении) не можете определить?
Вот такой - www.aliexpress.com/snapshot/255904247.html
Сталкивался сам дважды с проблемой как раз в таком программаторе (она уже озвучивалась неоднократно на этом и др. форумах): завышенный номинал резисторов в однокорпусном наборе. Это на фото по приведенной ссылке в цитате напротив вывода MISO. Это 4 резистора в одном корпусе (два ряда по 4 вывода с каждой стороны, похож на маленькую ИМС) с указанием номинала на нем. Рекомендуется 50…100…150 ом (обозначение 500…101…151). Даже при 200 ом может работать. Но часто стоят выше, отсюда и неработающие программаторы, даже уже при 200 омах, видел установленные резисторы и по 1,5 кОм…
Кроме того, выходной мощности USB порта может и не хватать, даже в стационарном блоке ПК. У моего ноутбука из 4-х портов нормально не заработал при программировании ни один. Поэтому прошиваю аппу всегда питая от ее же АКБ, при этом убираю или выпаиваю перемычку питания на программаторе (их у меня 3 шт.). Всегда результат положительный. Танталовый конденсатор на линии Reset в аппе не выпаиваю.
Также неоднократно встречался с “деградацией” USB портов на ПК: выдавал один ток, достаточный для работы устройств, со временем ток снижался существенно и некоторые энергоемкие устройства переставали по этой причине нормально работать.
Евгению: купите atmega64A, выпаять старую можно при помощи фена
Перед таким радикальным решением я бы всё же проверил программатор. Понятно что лишние затраты (рублей двести наверно с проездом до магазина), но можно купить любую мегу (например 8) в дип корпусе и попробовать прошить. Как по мне, перепаянный проц это как стукнутая машина. Вроде и отремонтированная а осадочек есть.
ну попробуйте же прошить с питанием от самой аппы…
уже не я один советую…
Вячеслав, можно попробовать еще пару вещей:
- Отключив программатор от аппаратуры, но включив его в USB-порт, померяйте напряжение на контактах, подключаемых к VCC и GND. Если будет 5V - все Ok, если 3.3 (или вроде этого) - надо будет перепаять резистор-перемычку на соседние контакты (достаточно отпаять существующий резистор и замкнуть соседние контакты каплей припоя). Я потом на картинке покажу что именно надо сделать.
- Попробуйте померять напряжение VCC и GND на аппаратуре при ее включении от аккумулятора (при этом к программатору ее подключать не надо). Там сложно подлезть когда задняя половина корпуса подключена, но все-таки можно. Только аккуратнее, не замкните чего лишнего…
Опа, а Станислав (Stasys), похоже, прав!
Вот, нашел похожий программатор и его обсуждение.
Для корректной его работы необходимо заменить вот эти резисторы:
на перемычки:
Для начала, хотя бы, надо померять их сопротивление. Может в Вашем экземпляре это уже перемычки (т.е. резисторы с нулевым сопротивлением), тогда замена, само собой, ничего не даст.
Отключив программатор от аппаратуры, но включив его в USB-порт, померяйте напряжение на контактах, подключаемых к VCC и GND. Если будет 5V - все Ok
Померил - да, 5 Вольт. А если подключить аппаратуру и поверить напряжение на ней - там будет только 2,57 Вольта.
Попробуйте померять напряжение VCC и GND на аппаратуре при ее включении от аккумулятора (при этом к программатору ее подключать не надо).
Померил - 5 Вольт.
ну попробуйте же прошить с питанием от самой аппы…
Тоже после этих измерений интуитивно склоняюсь к такому решению. Вопрос только - как это сделать? Поясните, пожалуйста, какой контакт где разорвать, чтобы питание в аппаратуру не пошло дважды: от аккумулятора и от USB через программатор.
Поясните, пожалуйста, какой контакт где разорвать
не подключать к контакту VCC провод от программатора
Естественно выключатель на аппе нужно включить для подачи напряжения на процессор
Евгений,
Померяйте еще величину сопротивлений, обведенных в кружок:
Померяйте еще величину сопротивлений, обведенных в кружок:
Не уверен, что я правильно провел измерения (цифры постоянно менялись), но в общем получилось в районе 95 Ом (между противоположными пинами)…
PS Для проверки взял пару резисторов с известным мне сопротивлением: 25 Ом показал 22 Ома, 15 Ом - дал 16… В общем, какая-то погрешность тут.
А, ну тогда это нормально. Не надо пока эти сопротивления трогать.
Отпаивайте провод VCC от платы и попробуйте перепрошить с включенным питанием аппаратуры!
Отпаивайте провод VCC от платы и попробуйте перепрошить с включенным питанием аппаратуры!
Не сработало 😦
Опять вот это:
=================================================================================
Started AVRDUDE
C:/Program Files (x86)/eePe/avrdude.exe -c usbasp -p m64 -U eeprom:r:C:/Users/User/AppData/Local/Temp/eebackup.hex:i
=================================================================================
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: error: programm enable: target doesn’t answer. 1
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
=================================================================================
AVRDUDE done - exit code 1
=================================================================================
Вот по поводу “Avrdude Target Doesn’t Answer” есть обсуждение на форуме по электронике (надеюсь, ссылка на него не запрещена правилами) - там вроде как пришли к следующему выводу:
микросхема перешла на внешнее тактирование. Тут можно либо на фуздокторе/параллельном программаторе, либо подать на XTAL1 меандр 1-10 МГц.
AVRdude перевёл контроллер в режим тактирования от внешнего генератора, и конечно же потерял его.
Я, конечно, дилетант, но чисто по интуиции это похоже на мою ситуацию - у аппаратуры будто перестало “биться сердце”. eePe в процессе заливки прошивки что-то там обнулил или отключил - и перестал видеть это устройство как таковое.
Кто может, объясните мне, пожалуйста, как снова включить эту пропавшую пульсацию или генерацию нужной частоты - от какого такого внешнего источника это можно сделать?
Евгений, добавьте в eepe в меню Burn --> Configure --> Extra arguments следующие параметры:
-B 100 -v
и попробуйте еще раз считать текущую прошивку или EEPROM, после чего выложите полный лог сюда.
выложите полный лог сюда
Read Memory From Tx:
=================================================================================
Started AVRDUDE
CProgram Files (x86)eePeavrdude.exe -c usbasp -p m64 -B 100 -v -U eepromrCUsersUserAppDataLocalTemptemp.hexi
=================================================================================
avrdude.exe Version 5.10, compiled on Jan 19 2010 at 104523
Copyright (c) 2000-2005 Brian Dean,
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is CProgram Files (x86)eePeavrdude.conf
Using Port lpt1
Using Programmer usbasp
Setting bit clk period 100.0
AVR Part ATMEGA64
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 4 20 64 0 no 2048 8 0 9000 9000 0xff 0xff
flash 33 6 128 0 yes 65536 256 256 4500 4500 0xff 0xff
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 4 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type usbasp
Description USBasp, httpwww.fischl.deusbasp
avrdude.exe set SCK frequency to 8000 Hz
avrdude.exe warning cannot set sck period. please check for usbasp firmware update.
avrdude.exe error programm enable target doesn't answer. 1
avrdude.exe initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
=================================================================================
AVRDUDE done - exit code 1
=================================================================================
Read Firmware From Tx:
=================================================================================
Started AVRDUDE
C:/Program Files (x86)/eePe/avrdude.exe -c usbasp -p m64 -B 100 -v -U flash:r:C:/Users/User/Desktop/123.bin:r
=================================================================================
avrdude.exe: Version 5.10, compiled on Jan 19 2010 at 10:45:23
Copyright (c) 2000-2005 Brian Dean,
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\eePe\avrdude.conf"
Using Port : lpt1
Using Programmer : usbasp
Setting bit clk period : 100.0
AVR Part : ATMEGA64
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 4 20 64 0 no 2048 8 0 9000 9000 0xff 0xff
flash 33 6 128 0 yes 65536 256 256 4500 4500 0xff 0xff
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 4 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : usbasp
Description : USBasp,
avrdude.exe: set SCK frequency to 8000 Hz
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
=================================================================================
AVRDUDE done - exit code 1
=================================================================================
PS Надо было, конечно, и в первый раз лог сохранить, а я с перепугу от этой ошибки только скриншот догадался сделать 😦
Как у Вас с английским? Вот тут похожая проблема обсуждается.
В двух словах - на самом деле могли поменяться фьюзы. В зависимости от того, насколько они “уехали”, восстановить можно либо замедлив программатор (в некоторых случаях помогает параметр -B 100 или -B 10), либо подключив внишний генератор импульсов 1МГц и, опять-таки, замедлив программатор тем же ключем.
Проблема в том, что Ваш программатор не поддерживает параметр -B (стандартная болезнь всех китайских USBasp). А без него, насколько я понимаю, восстановление может не сработать даже с внешним генератором импульсов. Чтобы это исправить, надо найти другой (любой) USBasp-программатор и перепрошить Ваш USBasp. Звучит запутанно, я знаю…
В общем, я вижу следующий путь:
- Ищем другой USBasp
- Перепрошиваем свой USBasp с помощью второго USBasp
- Пытаемся достучаться до 9x с помошью обновленного программатора.
- Если по-прежнему не получается - городим огород с внешним генератором на 1МГц…
Ммм… Почитав другие форумы еще, добавлю пару моментов:
- В некоторых случаях “замедления” программатора не требуется - т.е. достаточно будет внешнего генератора, без перепрошивки USBasp (хотя я б все равно перепрошил, если есть такая возможность).
- Внешний генератор не обязательно брать именно на 1МГц, подойдет любой от 1 до 16МГц.
Возможно, более опытные коллеги опишут процесс восстановления проще и понятнее, чем это сделал я… 😃
Перепрограммировать программатор - ух повезло же мне 😃 Может быть, начать все-таки с внешнего генератора? Есть шанс, что оно на текущей (неизменяемой) скорости моего имеющегося программатора заведется? Мне просто кажется, что этот осциллятор/генератор импульсов будет проще достать, чем программатор. Я свой вот этот пару месяцев ждал, пока он шел из Китая (с aliexpress)…
PS Пока я писал, вы отредактировали предыдущее сообщение, и фактически ответили на мой вопрос 😃 Ну, стало быть, попробую позаморачиваться с генератором…
поищите другой программатор, наверняка проблема в нём! Вы же живёте в Питере, не верю что там нет ни одного человека прошивавшего аппу.
Вот, как вариант, выбирайте любой понравившийся. 😃 (но я б брал с частотой поменьше)
Вот тут описано как подключать. В общем, на генератор подается +5В и Земля откуда удобнее, а выход (CLK) подключается к 24-му пину программируемой Atmega.
После подключения всего, пробуйте прочитать чип. Если успешно - тогда можно прошить прошивку, а затем выбрать “restore fuses” в eepe.
Ну или сначала restore fuses, а затем заливать прошивку. Только учтите, что после выполнения “restore fuses” осциллятор надо отключить, Atmega должна корректно работать уже без него.
UFO747
не лезьте в дебри, ищите другой программатор, вот например
rc-aviation.ru/forum/topic?id=3514&p=14#p128895
один в один как у вас… и таких примеров море!
Или я искать не умею, или это правда специфический товар, но я в упор не вижу ни в одном оффлайн магазине такой вещи, как программатор… Я бы и сам рад купить другой и попробовать, но где взять?
PS Я, разумеется, понимаю, что есть в нашем городе и товары какие угодно (ну, почти), и спецы - проблема в том, что я новичок в этой области и поэтому не ориентируюсь совершенно 😦