Проблема с UART на самодельной плате

6axp
Offline
Зарегистрирован: 03.07.2018

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

Сделал для своего проекта печатную плату с колодкой под микросхему в корпусе DIP28 с резистором на RESET, конденсаторами и кварцем. Использовал Atmega328p, такая используется в Arduino pro mini. Поскольку работать будет от 3.3В, кварц использовал на 8МГц.

Для проверки рабоспособности загрузил в нее загрузчик с помощью Arduino Mega. Загрузчик залился. Попытался загрузить скетч Blink через преобразователь USB-UART на микросхеме PL2303. Загрузить не удалось, выдавало ошибку синхронизации. Тогда я попробовал загрузить скетч через программатор. Это получилось. Светодиод мигает. В этот скетч я добавил отправку строчки по Serial и в мониторе порта получил какой-то мусор.

В попытках разобраться с этой проблемой я добавил еще SoftwareSerial на пины 7 и 8 и считывал их с помощью UART на плате Arduino Mega. Там тоже был мусор, причем другой. Если поменять USB адаптер и мегу местами, это мусор немного меняется. Бодрейт менял - на всех скоростях не то, что мне нужно. Грешил на кварц, но светодиод мигает правильно - с периодом в 1 секунду (вкл - 500мс - выкл - 500мс - вкл...)

Гугл курил, бодрейт в скетче и мониторе порта одинаковый (позже стал использовать putty) фьюзы проверял, разводку проверял, правильность подключения проверял, пробовал другой микроконтроллер, перепаивал другой кварц - ничего не помогло. Земли подключить не забыл. RX TX подключены правильно, иначе бы в мониторе было бы пусто. Плата, МК, COM-port и программатор в IDE выбраны правильно, иначе бы прошивка не залилась.

Кто может подсказать, в чем может быть проблема? Перепробовал уже всё, что мог, прочитал кучу форумов и статей, ни у кого такого не было.

Если вдруг это проблема с кодировкой или количеством бит, то почему она могла возникнуть, если скетч я писал в Arduino IDE и программировал МК через нее же?

Скетч, фотографии платы (прошу прощения за качество фото) и скрин окон putty прилагаю:

#include <SoftwareSerial.h>
SoftwareSerial mySerial (7, 8);

void setup() {
  pinMode(A5, OUTPUT);
  Serial.begin(9600);
  mySerial.begin(9600);
}

void loop() {
  digitalWrite(A5, HIGH);  
  Serial.println ("ON");
  mySerial.println ("ON");
  delay(500);                       
  digitalWrite(A5, LOW);    
  Serial.print ("OFF");
  mySerial.print ("OFF");
  delay(500);                       
}

Сверху - монитор с USB адаптера, снизу - с Mega.

Спасибо!

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

залейте стандартный блинк

вангую, частота мигания будет не 1 сек.

6axp
Offline
Зарегистрирован: 03.07.2018

Изначально это и был стандартный Blink, в котором я просто поменял пин. Частота мигания была 1 сек.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

как это

6axp пишет:

Попытался загрузить скетч Blink через преобразователь USB-UART на микросхеме PL2303. Загрузить не удалось, выдавало ошибку синхронизации. Тогда я попробовал загрузить скетч через программатор. Это получилось. Светодиод мигает. В этот скетч я добавил отправку строчки по Serial и в мониторе порта получил какой-то мусор.

соотнести с этим ?

6axp пишет:

Плата, МК, COM-port и программатор в IDE выбраны правильно, иначе бы прошивка не залилась.

6axp
Offline
Зарегистрирован: 03.07.2018

USB адаптер в винде подписан как COM12. Выбрал его в списке портов, в качетсве программатора - AVR ISP. Пробовал прошиться так, то есть через загрузчик, который был залит ранее. Не удалось. Тогда выбрал порт - COM6 (Arduino Mega), программатор - Arduino as ISP. На меге залит скетч Arduino ISP, использовал ее в качестве программатора. Прошивал командой "Загрузить через программатор". Загрузилось.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

отсюда делаем вывод - СОМ порт не работает как надо!

ссылку на загрузчик и фьюзы, можно в студию ?

6axp
Offline
Зарегистрирован: 03.07.2018

Какой COM порт Вы имеете в виду? Если порт в МК, то почему SoftwareSerial не работает? Плюс я пробовал два МК, вряд ли у двух мк сразу он неисправен. За правильность настройки UART отвечает IDE, тут проблем быть не должно.

Если речь о COM портах компьютера, то с ними тоже все в порядке, так как мега, например, спокойно работает в качестве программатора, а ее общение с компом происходит именно по COM порту. 

Загрузчик я использовал встроенный в IDE, то есть заливал в мк с помощью кнопки "Записать загрузчик"

Фьюзы такие

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

я извиняюсь, вы сами фьюзы выставляли ?

6axp
Offline
Зарегистрирован: 03.07.2018

Их должна выставлять Arduino IDE, как я понимаю. Эти фьюзы я прочитал SinaProg'ом (GUI надстройка над avrdude). На каком-то зарубежном форуме я нашел тему, в которой у человека была проблема, схожая с моей, и ему посоветовали выставить такие фьюзы. Я их просто прочитал и увидел, что они выставлены именно так, как там посоветовали. Тому человеку это помогло

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

под рукой нет атмеги, вечером дома гляну...

b707
Offline
Зарегистрирован: 26.05.2017

бахр. если не лень - прошейте фьюзы 

Lfuse:0xE2 Hfuse:0xDA

и попробуйте, заработает ли.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

b707 пишет:

Lfuse:0xE2 Hfuse:0xDA

этож внутренее тактирование с отлюченым делителем, или нет ?

b707
Offline
Зарегистрирован: 26.05.2017

бахр, кстати, а вы когда скетч в плату программатором заливали - вы какую плату в настройках Ардуино ИДЕ указывали?

b707
Offline
Зарегистрирован: 26.05.2017

xDriver пишет:

этож внутренее тактирование с отлюченым делителем, или нет ?

да, это оно. Уверен, что с ним заработает.

Но, в принципе, можно и не ставить экспериментов - пусть ТС сначаа ответит, какую он плату в ИДЕ выбирал

6axp
Offline
Зарегистрирован: 03.07.2018

b707 пишет:

бахр. если не лень - прошейте фьюзы 

Lfuse:0xE2 Hfuse:0xDA

Спасибо большое, завтра попробую

6axp
Offline
Зарегистрирован: 03.07.2018

b707 пишет:

бахр, кстати, а вы когда скетч в плату программатором заливали - вы какую плату в настройках Ардуино ИДЕ указывали?

Я указывал Arduino Pro Mini с процессором Atmega328p (3.3В, 8Мгц), Как раз такие мк и кварц я использую. COM - тот, на котором Mega сидит, так как она была программатором. Программатор, соответственно, Arduino as ISP

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Основная беда всех самопальных плат - как правило непропай. Ещё возможны особые на-водки из-за неграмотно разведенной земли и/или питания.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Скорость на которой работает загрузчик
не совпадает с той на которой вы пытаетесь грузить, нет?

svm
Offline
Зарегистрирован: 06.11.2016

По софварному сериалу, скорее всего несовпадение скорости. А сигнал DTR используется, или шьете с помощью кнопки RESET?

6axp
Offline
Зарегистрирован: 03.07.2018

b707 пишет:

бахр. если не лень - прошейте фьюзы 

Lfuse:0xE2 Hfuse:0xDA

Попробовал, фьюзы прошились,  в мониторе порта всё тот же самый мусор)

6axp
Offline
Зарегистрирован: 03.07.2018

svm пишет:

По софварному сериалу, скорее всего несовпадение скорости. А сигнал DTR используется, или шьете с помощью кнопки RESET?

Пробовал и так, и так. Думаю, проблема с UART, из-за этого IDE не может засинхронизироваться с загрузчиком и соответственно загрузить прошивку

6axp
Offline
Зарегистрирован: 03.07.2018

trembo пишет:
Скорость на которой работает загрузчик не совпадает с той на которой вы пытаетесь грузить, нет?

IDE сама задает скорость при программировании. Ее я, конечно, могу изменить с помощью avrdude, но в этом по-моему нет никакого смысла, так как в загрузчике выставлена скорость такая, которую по идее IDE и использует

6axp
Offline
Зарегистрирован: 03.07.2018

Arhat109-2 пишет:

Основная беда всех самопальных плат - как правило непропай. Ещё возможны особые на-водки из-за неграмотно разведенной земли и/или питания.

Вероятнее всего Вы правы. На счет качества пайки я уверен, а вот по поводу грамотности разводки, может быть, глянете?

2 по 22пФ на кварце, 2 0.1мкф на VCC и AVCC, 0.1мкф на AREF, 4.7мкф на питании, 10кОм на RESET.

Земля и питание идут под микросхемой, плюс есть перемычка на цепи питания.

Также я припаял электролит на 47мкФ между землей и питанием в месте подключения источника питания.

Запитываю от пинов ардуинки, так что напряжение должно быть стабилизировано.

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

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

6axp, по-моему первое, что нужно было сделать -проверить на какой частоте работает МК. Залейте этот скетч:

void setup() {
pinMode(11,OUTPUT);
TCCR2A=(1<<COM2A0)|(1<<WGM21); //mode 2 CTC
TCCR2B=1<<CS20;
OCR2A=0;
}

void loop() {}

на 11 ноге будет половина тактовой МК. Измерить частотометром.

6axp
Offline
Зарегистрирован: 03.07.2018

dimax пишет:

6axp, по-моему первое, что нужно было сделать -проверить на какой частоте работает МК. Залейте этот скетч:

void setup() {
pinMode(11,OUTPUT);
TCCR2A=(1<<COM2A0)|(1<<WGM21); //mode 2 CTC
TCCR2B=1<<CS20;
OCR2A=0;
}

void loop() {}

на 11 ноге будет половина тактовой МК. Измерить частотометром.

Спасибо, с этого я и начал. Проверял частоту с помощью светодиода и скетча Blink. Если частота настроена правильно, то все задержки будут правильными. Светодиод мигал, как положено, раз в секунду. Проверить так, как Вы предлагаете, я, к сожалению, не могу, у меня нет частотомера, но по косвенным признакам все в порядке. Плюс, я попробовал настроить фьюзы на внутренний генератор - ситуация не изменилась.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

6axp, если у вас есть другая ардуина, -значит есть частотометр. Можно штатную библиотеку загрузить

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Да на картинке-то всё достаточно кучеряво, разве что проводники толстоваты, но это - мелочи тут.

Чего не сказать за фото. У Вас там столько припоя, и в таких невероятных формах (острые углы), что оно будет отличаться от картинки "только так" под осцилоскопом. Если есть - смотрите форму сигналов на вашем Тх, там может быть видно всё. попробуйте пропаять все со спиртовым раствором канифоли или каким ещё флюсом, поубрать лишнее и потом качественно промыть плату спиртом...

Ну и ещё: качество провода идущего от Тх к компу  .. "электроника - наука о контактах", в смысле что "плохая земля" может быть и в ином месте. Как и наводки.

Когда делал макетную плату своей "Ардуино как лего" (ATmega2560) тоже столкнулся с тем, что по SPI она шьется, а по COM-порту "фигвам" или "местами" (от фазы Луны) .. оказался банальный непропай контактов .. да, да точно таких же как ваши "штырьки" .. пропаят с кислотным флюсом - заработало. Промыл .. прошло полгода ..  и "опять глюки" .. полез смотреть и .. ага, опять непропай. Как так?!? Но ведь "на лице"! Так шта .. если с виду оно "надежно пропаяно" это ещё ни разу не означает что там "есть контакт".. :)

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

1. Загрузить "привет мир"  и простым перебором скорости терминала выяснить 
во сколько раз скорость больше-меньше.

2.  Возможно вы собрали "инверсный" драйвер........
3.  Его нужно проверить на "эхо".

6axp
Offline
Зарегистрирован: 03.07.2018

dimax пишет:

6axp, если у вас есть другая ардуина, -значит есть частотометр. Можно штатную библиотеку загрузить

Спасибо! Не знал, что ардуинки будет хватать для таких функций. Померил частоту. Если фьюзы выставлены на внутренний генератор, то частота колеблется, а среднее значение - 3934780 Гц. Когда МК настроен на внешний кварц - частота гораздо более стабльна и держится на уровне 4004036 Гц.

Насколько критично такое расхождение от эталонных 4МГц?

6axp
Offline
Зарегистрирован: 03.07.2018

Arhat109-2 пишет:

Да на картинке-то всё достаточно кучеряво, разве что проводники толстоваты, но это - мелочи тут.

Чего не сказать за фото. У Вас там столько припоя, и в таких невероятных формах (острые углы), что оно будет отличаться от картинки "только так" под осцилоскопом. Если есть - смотрите форму сигналов на вашем Тх, там может быть видно всё. попробуйте пропаять все со спиртовым раствором канифоли или каким ещё флюсом, поубрать лишнее и потом качественно промыть плату спиртом...

Ну и ещё: качество провода идущего от Тх к компу  .. "электроника - наука о контактах", в смысле что "плохая земля" может быть и в ином месте. Как и наводки.

Когда делал макетную плату своей "Ардуино как лего" (ATmega2560) тоже столкнулся с тем, что по SPI она шьется, а по COM-порту "фигвам" или "местами" (от фазы Луны) .. оказался банальный непропай контактов .. да, да точно таких же как ваши "штырьки" .. пропаят с кислотным флюсом - заработало. Промыл .. прошло полгода ..  и "опять глюки" .. полез смотреть и .. ага, опять непропай. Как так?!? Но ведь "на лице"! Так шта .. если с виду оно "надежно пропаяно" это ещё ни разу не означает что там "есть контакт".. :)

Спасибо большое за ответ! Обязательно попробую еще раз пройтись паяльником и промыть, как следует. А так вообще, контакт вроде есть, прозванивал мультиметром.

6axp
Offline
Зарегистрирован: 03.07.2018

trembo пишет:

1. Загрузить "привет мир"  и простым перебором скорости терминала выяснить 
во сколько раз скорость больше-меньше.

Мои ON и OFF по Serial'y ИМХО сойдут за "примет мир". Код там минимальный и мне в правильные моменты времени приходят данные в монитор. Скорости терминала я перебирал, даже пробовал нестандартные, на всех - мусор.

trembo пишет:

2.  Возможно вы собрали "инверсный" драйвер........

Что значит инверсный драйвер?)

trembo пишет:

3.  Его нужно проверить на "эхо".

Эхо - это прозвонить контакты? Или замкнуть RX с TX? С этим все в порядке. Замкнуть RX и TX микроконтроллера не вижу смысла, ведь я в любом случае не смогу увидеть, что пришло.

b707
Offline
Зарегистрирован: 26.05.2017

6axp пишет:

Померил частоту. Если фьюзы выставлены на внутренний генератор, то частота колеблется, а среднее значение - 3934780 Гц. Когда МК настроен на внешний кварц - частота гораздо более стабльна и держится на уровне 4004036 Гц.

Насколько критично такое расхождение от эталонных 4МГц?

Нормально все. Частота 8 МГц.

В принципе, уже когда вы фьюзы на внутренний генератор переставили и это не помогло - стало ясно, что дело, скорей всего, не в частоте.

Теперь остается проверить, не брак ли это. Вероятность невелика, но все же... У вас сколько МК в запасе? - все из одной партии?

Если не брак - тогда ставлю на какую-то смешную ошибку в разводке платы или внешнего сериала...

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

6axp пишет:

 Когда МК настроен на внешний кварц - частота гораздо более стабльна и держится на уровне 4004036 Гц. Насколько критично такое расхождение от эталонных 4МГц?

Расхождение большое, если перевести в привычные единицы это будет 1000ppm, при норме в 30.  Да, конечно нужно принять во внимание, что измеряющий МК тоже не эталон. Но всё равно много. Я бы поигрался с ёмкостями на ногах кварца, ими можно немного подстроить частоту. Ещё стоит проверить ваш переходник USB-UART с чем-то ещё, можно с той-же вашей мегой. Подключить его на свободный uart меги, и попередовать что-нибудь из одного порта в другой.

PS: измерил частоту на ардуине с говёным керамическим резонатором - отклонение 230ppm. Делайте выводы.

nikolaki
nikolaki аватар
Offline
Зарегистрирован: 14.02.2013

Какое напряжение питания? Попробуйте запитать от 5В .

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

6axp пишет:

Сделал для своего проекта печатную плату с колодкой под микросхему в корпусе DIP28 с резистором на RESET, конденсаторами и кварцем. Использовал Atmega328p, такая используется в Arduino pro mini. Поскольку работать будет от 3.3В, кварц использовал на 8МГц

Вот просто интересно, а зачем делатся такие проекты, если собранная Ардуино Про Мини стОит меньше, чем голая Атмега328 в DIP-корпусе?

svm
Offline
Зарегистрирован: 06.11.2016

triac пишет:

Вот просто интересно, а зачем делатся такие проекты, если собранная Ардуино Про Мини стОит меньше, чем голая Атмега328 в DIP-корпусе?

Мне в моем возрасте, гораздо удобнее работать с ДИП корпусами. Собираю все конструкции навесухой с минимально необходимыми элементами. Менее чем за год третий десяток 328 разменял. Правда иногда и мини использую, или ПРО, но с голой 328 быстрее и удобнее. Никаких плохик контактов и непропаев, и китайцев винить не в чем.

А насчет загрузки, я-бы поставил кондючок на 0,1 мкф с ресета 328 на DTR  переходника USB-UART. В Про Мини он стоит и без него программатору нечем ресет дернуть.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

так чем все закончилось ?

 

6axp
Offline
Зарегистрирован: 03.07.2018

dimax пишет:

 Ещё стоит проверить ваш переходник USB-UART с чем-то ещё

xDriver пишет:

так чем все закончилось ?

Я попробовал замкнуть RX и TX и написать что-нибудь, чтобы проверять хотя бы работоспособность преобразователя. На меге я в ответ ничего не получил, может быть, там есть какая-то защита или что-то вроде того, не знаю. На преоброзвателе на микросхеме PL2303 при замыкании все в порядке. Получаю именно тот символ, который отсылаю.

Смог достать еще один преобразователь, теперь уже на микросхеме CH340g. И каково было мое удивление, когда с него я с атмеги получал правильную строчку в мониторе порта! Причем работало, как в IDE, так и в Putty.

Мистика какая-то! Настройки порта везде стоят одинаковые, перепроверял несколько раз. Откуда взялась такая аппаратная (или уж не знаю, какая) "несовместимсость" микросхем с МК совершенно непонятно. Но факт остается фактом: из трех преобразователей работает только один. В работоспособности СОМ порта меги я уверен, так как ардуино спокойно сама прошивается и прошивает МК. С PL2303 вроде тоже понятно, что работает. С этим бы, конечно, хотелось бы разобраться.

Но я столкнулся еще с одной проблемой. При попытке залить прошивку в мк, он может умереть. Поскольку при первой попытке у меня были старые драйвера на USBASP (который я позже также убил при попытке обновить в нем прошивку), а IDE его не смогла распознать, пришлось прошивать с помощью SinaProg. Спустя какое-то время после нажатия на кнопку Program, мне высветилась надпись Programming Failed. После этого я уже ничего не мог считать и зашить. Device Signature всегда был 0х000000. Позже я обновил драйвер для USBASP и попытался обновить на нем прошивку, скачанную с оф. сайта, тем же SinaProg'ом с помошью меги в качестве программатора. Сначала все было в порядке, но потом МК опять начал выдавать сигнатуру 000000. Следующий МК умер при попытке залить скетч уже с помощью IDE и команды "Загрузить через программатор". Еще один просто так перестал отвечать. Сначала выдавал сигнатуру, а в какой-то момент перестал. Для уже пятого МК я решил сделать печатную плату с развокой для кондеров (до этого использовал макетку), чтобы максимально избавиться от, возможно, помех или чего-нибудь еще. С этим МК тоже начались проблемы. Именно с ним я был предельно аккуратным. Сразу после прошивки отключал программатор на всякий случай. Заливал только через IDE. Вот вроде разобрался с UARTом, решил начать зашивать с помощью бутлоадера, а он, зараза, не хочет записываться: писало какую-то ошибку. Ну решил опять с помощью SinaProg залить прошивку: скомпилировал бинарники, попытался запрогать. Опять сигнатура - нули. В итоге осталась последняя мега, которая почему-то сигнатуру выдает нестабильно: то правильную, свою, то нули, то 0х000102. Высоковольтного программатора, то бишь доктора, у меня нет, но мб потом соберу. Но что-то мне подсказывает, что он тоже не справится, так как даже сигнатура не читается, а она вообще-то должна читаться даже при залоченном МК. Единственное предположение - сбился бит настройки ноги RESET, но как такое могло произойти - ума не приложу.

Если посчитаете, что я не умею пользоваться SinaProg'ом, или, что это он виноват в их смерти, то сомневаюсь: я до этого прошивал атмегу8 (бинарник для нее компилировался не IDE'шкой, а Atmel Studio) с помощью него и все было в порядке. 

Фьюзы при прошивке не трогаются, поэтому я даже не знаю, в чем может быть косяк.

Надеюсь, не сильно загрузил) Может, у кого-то есть мысли?

 

6axp
Offline
Зарегистрирован: 03.07.2018

triac пишет:

Вот просто интересно, а зачем делатся такие проекты, если собранная Ардуино Про Мини стОит меньше, чем голая Атмега328 в DIP-корпусе?

Мне в последствии нужно будет спроектировать печатную плату с несколькими датчиками и для проверки своей рукожопости я решил начать с изготовления собственной печатной платы - аналога ардуино про мини, для теста, так сказать, в полевых условиях. Сначала я сделал плату для атмеги в корпусе AU, т.е. SMD. Все даже работало, но когда она умерла, я понял, что мне удобнее будет использовать именно DIP корпус с колодкой, в которой я всегда смогу поменять вышедший из строя контроллер.

Кстати, найти нужную мне миньку оказалось не таким простым занятием. Мне нужна именно мега328 с частотой 8МГц, а в магазинах, как правило, встречаются либо 168-ые, либо 328 на 16МГц. Заказывать из Китая и ждать месяц, к сожалению, нет возможности.

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

svm пишет:

triac пишет:

Вот просто интересно, а зачем делатся такие проекты, если собранная Ардуино Про Мини стОит меньше, чем голая Атмега328 в DIP-корпусе?

Мне в моем возрасте, гораздо удобнее работать с ДИП корпусами. Собираю все конструкции навесухой с минимально необходимыми элементами.

6axp пишет:

Мне в последствии нужно будет спроектировать печатную плату с несколькими датчиками

...

Мне нужна именно мега328 с частотой 8МГц, а в магазинах, как правило, встречаются либо 168-ые, либо 328 на 16МГц.

А я печатные платы развожу так, что в них Ардуино Мини вставляется на колодки или впаивается как компонент. Посколькy Мини в сборе мало чем отличается от большой микросхемы в ДИП корпусе. Мини по размеру побольше, зато навешивать на нее ничего не надо, уже все есть. А кварц заменить или регулятор выпаять - не проблема.

6axp
Offline
Зарегистрирован: 03.07.2018

triac пишет:

А я печатные платы развожу так, что в них Ардуино Мини вставляется на колодки или впаивается как компонент. Посколькy Мини в сборе мало чем отличается от большой микросхемы в ДИП корпусе. Мини по размеру побольше, зато навешивать на нее ничего не надо, уже все есть. А кварц заменить или регулятор выпаять - не проблема.

В моем случае нужно будет использовать именно голый микроконтроллер для экономии места. Я буду использовать в корпусе tqfp, именно такой используется на Мини. DIP корпус я использую сейчас исключительно для удобства замены контроллера в случае чего.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

6axp пишет:

Мистика какая-то! Настройки порта везде стоят одинаковые, перепроверял несколько раз. Откуда взялась такая аппаратная (или уж не знаю, какая) "несовместимсость" микросхем с МК совершенно непонятно. Но факт остается фактом: из трех преобразователей работает только один.

Думаю у всех ваших бед с МК какая-то одна причина, но такие вещи диагностируются хорошим осциллографом по стандартным методикам, а не методом тыка. Коли нету -меняйте всё что можно. Кварц, БП, провода пропаивайте. Всё должно читаться/писаться идеально 100 раз из 100, неуверенно читаящаяся сигнатура -признак великой ж@пы, которая творится с сигналами.

6axp
Offline
Зарегистрирован: 03.07.2018

dimax пишет:

Думаю у всех ваших бед с МК какая-то одна причина, но такие вещи диагностируются хорошим осциллографом по стандартным методикам, а не методом тыка. Коли нету -меняйте всё что можно. Кварц, БП, провода пропаивайте. Всё должно читаться/писаться идеально 100 раз из 100, неуверенно читаящаяся сигнатура -признак великой ж@пы, которая творится с сигналами.

Питание я использовал либо от юсб компьютера, либо от ардуинки. Подключал, правда, без пайки на разьемах. Остальное все менял, у меня даже две печатные платы было. Я и программаторы разные использовал.
Что касается неуверенно читающейся сигнатуры - сначала-то все читается и прошивается хорошо, но в какой-то момент по непонятным причинам летит к чертям. После этого сигнатура стабильно не читается)

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

У вас какая-то системная ошибка.
Тотальная.
Во первых вы скрываете что вы профессиональный киллер.
Вас ждёт большое и светлое будущее на этом поприще.
И это только начало.
Во вторых смените блок питания.
В третьих старайтесь не использовать всякие беспаечные макетки.
В них сейчас не докладывают золота.
В четвертых пока не разберётесь с причинами никогда не начинайте пограммировать
не считав МНОГОКРАТНО И СТАБИЛЬНО Синапрогом
сигнатуру фьюзы и прошивку.
Попытка пошить по принципу " а ну давай попробуем что получится"
как раз приводит к достигнутому вами результату по количеству трупов.
В пятых - всегда используйте последнее фирмваре в программаторе, последние драйвера (кроме FTDI) компортов и последнюю официальную версию ИДЕ (а не ночные билды).