Не шьется атмега328р через сериал

Тема в разделе "Arduino & Shields", создана пользователем mayhem92, 24 ноя 2017.

  1. mayhem92

    mayhem92 Нуб

    Отладил устройство на ардуине уно, сделал печатную плату и впаял атмегу328р с небольшой обвязкой для стабильной работы, такт от внешнего 16мгц кварца. Подключил все необходимое, прошил загрузчик от уно и основную программу через юсбасп программатор. Программа и все работает как надо. Подключил сериал к юсб-уарт переходнику(к ардуине с прижатым к земле сбросом). Пробовал шить - не получается. Ресет в ручную тыкал, так ни разу и не прошил. Делал так: нажимаю залить в ардуино иде, пока идет компиляция прижимаю ресет на устройстве на землю, начинается загрузка - отпускаю. Когда начинается загрузка, тх юсб-уарт, если держать ресет прижатым, моргает 3 раза. Если за эти 3 моргания не отпустить ресет, иде призадумывается, а потом говорит что програматор занят. Если ресет отпустить после первого моргания, еще дважды с той же частотой вспыхнет и рх и тх переходника и иде быстро выдает ошибку синхронизации. Если отпустить ресет после второго моргания, и рх и тх вспыхнет вместе только 1 раз и иде так же быстро скажет ошибка синхронизации. Если успеть отпустить ресет до того, как тх успеет вспыхнуть хоть раз, то видимо бут отрабатывает, а данные еще не успевают поступить и начинается основная программа. Что может быть не так?
     
  2. warman

    warman Гик

    у вас же есть отдельный программатор, заливайте скомпилированные скетчи им.
     
  3. akl

    akl Гик

    бутлодер из ардуиноИДЕ? в смысле точно ли он подходит именно для этой платы.

    можно припаять провод непосредственно к резетному выходу юсб-адаптера и к нему через конденсатор подключить резет атмеги. тогда оно будет автоматически нажимать резет в нужное время.

    ну и фото монтажа желательно предъявить, вдруг там дикая паутина из соплей
     
    arkadyf нравится это.
  4. b707

    b707 Гуру

    .
    или другой ардуиной через Arduino-ISP как программатор - тогда и отдельный программатор не нужен.
     
  5. mayhem92

    mayhem92 Нуб

    Фото платы, я использую ардуину как переходник усб-уарт, откуда провод к резету тянуть?
     

    Вложения:

  6. akl

    akl Гик

    если ардуина вот эта [​IMG]

    то провод надо припаять к левому концу С5, а затем через конденсатор 100n на резет атмеги. короче так же как на этой схеме, только продублировать эту цепочку.

    и таки бутлодер то откуда взят? из ардуино ИДЕ?

    кстати может быть просто плохой контакт - провода толстые и неудобные.

    с этим блютус-модулем или что это работает все?
     
    arkadyf нравится это.
  7. b707

    b707 Гуру

    такое нельзя показывать, потом кошмары по ночам замучают :)
     
  8. b707

    b707 Гуру

    там, если судить по фото. может быть все. что угодно. Половина дорожек на плате отслоилась от текстолита, другие порваны, огромные толстые провода припаяны прямо к тоненьким дорожкам и к пинам разъемов. и до кучи это все обмотано полосатой лентой для склеивания бумаги :)
    Автору стоит травить дорожки на плате пошире - места же вокруг полно! Ну и неплохо было бы открыть для себя разъемы типа BLS и PLS
    [​IMG]
     
  9. akl

    akl Гик

    не, это вроде обычная изолента. у меня такая же точно есть. но монтаж плохой это да, и пайка наверно некачественная. сам такой принцип типа поверхностно-навесной конечно имеет право на жизнь, но аккуратнее надо. лучше тогда уж сразу на СМД всё делать.
     
  10. b707

    b707 Гуру

    да причем здесь принцип - вы увеличьте картинку в районе чипа МК - там же ни одной нормальной дорожки - справа от чипа 4 или 5 штук вздыбились, ниже чипа - две или три порваны... С такой платой можно ловить глюки долго, да и потом, в работе, она будет подкидывать "сюрпризы" каждый день.
    Не умеешь работать с СМД - ну возьми Атмегу в ДИП и сделай все на перемычках. Тем более когда на плате куча места и вопрос размера явно не стоит.
     
  11. akl

    akl Гик

    там мутновато, может и не вздыбились, а просто капли припоя там торчат. По идее если с блютус-модулем работает что-то, то должен и бутлодер работать. Но глючить может где угодно это да.
     
  12. warman

    warman Гик

    добавлю 5 копеек - кондеры вокруг кварца далеко от земли, возможны наводки на тактирование.
     
    arkadyf нравится это.
  13. mayhem92

    mayhem92 Нуб

    лол. Какие порванные дорожки, все ок там, просто свет так падает. Провода великоваты, да. Но они там не для того, чтобы их дергать или многократно перепаивать. Соберу все платы вместе, запаяю все концы один раз и размещу в корпусе. Лоадер с ардуино ИДЕ для ардуино уно.
    Я думаю, ребзятки с ардуино нано при прошивке как то без проблем успевают сбросить МК для заливки скетча. Если я физически не могу этого сделать, значит 99.95% что дело в чем-то другом. Блютуз там висит не зря. Изначально все началось с него, во всех моих любительских проектах я шью свои поделки по воздуху. В сериал через блютуз. Оригинальная ардуина и китаец на 12МГц прекрасно шьются именно этим модулем(снял его с другой поделки чтобы сузить круг подозреваемых). Сброс автоматический транзистором. Код как в примере:
    Код (C++):
    for( int i=0; i<100; i++ )  // повторить проверку
        {
          if( Serial.read()=='0' && Serial.read()==' ' )
          {
            Serial.write(0x14);  // ответить avrdude.exe
            Serial.write(0x10);  //  для синхронизации
            digitalWrite(uploadpin,HIGH);  // подтянуть ресет к земле
          }
          delay(10);  // небольшая задержка
        }
    Выполняется программа с условием что нет кодового слова в сериале. Появляется кодовое слово - основная програма тормозит и в лупе крутится этот код из примера. И все работает на ура. Но только не здесь. И код я пробовал заливать в обычную ардуину, прошивается нормально. Один человек навел меня на мысль, что надо проверить сам интерфейс, поэтому я убрал блютуз и подрубился непосредственно к компу через юсб-уарт сделанный из ардуинки. Ща проверю окончательно вероятность 0.05% что все таки невовремя ресетаю и двинемся искать дальше.
     
  14. akl

    akl Гик

    а фьюзы правильные?
    я один раз когда прошивал просто забыл в программе галочку поставить, кнопку ткнул и думал всё, а они не прошились в итоге, два дня голову ломал.
     
    arkadyf нравится это.
  15. Nikolay 5

    Nikolay 5 Нерд

    у меня тоже была вначале такая проблема
     
  16. mayhem92

    mayhem92 Нуб

    Как и думал, проблема не в правильном\неправильном ресетании. Вас не смутило, что
    ответ оказался в моем сообщении.
     
  17. mayhem92

    mayhem92 Нуб

    Ну что, хоть один из знахарей догадался?
     
  18. warman

    warman Гик

    многие догадались, но моё мнение - бутлоадер нафиг выкинуть, целых 2кб флеша сэкономите для программы.
     
  19. akl

    akl Гик

    автор - криворук. правильный ответ? :cool: