Перейти к содержанию

Не Работает Схема На Мк Atmega2560


Ulia

Рекомендуемые сообщения

То что они разные кол-вом потов в-в и памятью и т.д. это я знаю.

Можно ли поменять порты в программе которые были на 328, на те которые мне нужны в 2560?

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Не знаю, думаю все зависит от того как написана программа, у 328 ОЗУ начинается с адреса 100 а 2560 с 200, Поэтому если в программе будут какие нибудь переменные или константы привязаны к адресам в этом диапазоне, то думаю будут какие нибудь глюки! А вы пробовали запустить программу и поглядеть порты хотя бы осликом? исходники программы имеются?

Не проще ли использовать Atmega 328, тем более программа написана под него!

Изменено пользователем optima

Сергей.

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Да нет, там просто так перекомпилировать не получится.

Во-первых, нужно задать соответствующие номера ног для семисегментного дисплея. Это меньшая из проблем.

Во-вторых, проверить соответствие ног аппаратного spi для модуля W5100. Здесь могут быть проблемы. Хотя нет, судя по схеме, все нормально.

В-третьих, проверить конфигурацию регистров таймера/счетчика Т2. Имена регистров совпадают, но биты конфигурации могут отличаться.

По первому пункту уже вижу несоответствие кода схеме:

У вас написано в коде:

#define Anod1 3
#define Anod2 4
#define Anod3 A2
#define Anod4 2
#define Katod1 A3
#define Katod2 5
#define Katod3 6
#define Katod4 7
#define Katod5 9
#define Katod6 A5
#define Katod7 8

Соответсвенно физическим портам и выводам контроллера это будет так:

#define Anod1 PE5 7
#define Anod2 PG5 1
#define Anod3 PF2 95
#define Anod4 PE4 6
#define Katod1 PF4 94
#define Katod2 PE3 5
#define Katod3 PH3 15
#define Katod4 PH4 16
#define Katod5 PH6 18
#define Katod6 PF5 92
#define Katod7 PH5 17

Естественно работать ничего не будет.

Поэтому воспользуйтесь этой полезной табличкой, и переназначьте адреса ног в коде в соответствии со схемой:

post-53612-0-40431700-1444654372_thumb.png

Изменено пользователем IIIytNIK

Молодых и талантливых чрезвычайно много. Целеустремлённых и готовых довести дело до конца — гораздо меньше.

Ссылка на комментарий
Поделиться на другие сайты

Да нет, там просто так перекомпилировать не получится.

Во-первых, нужно задать соответствующие номера ног для семисегментного дисплея. Это меньшая из проблем.

Во-вторых, проверить соответствие ног аппаратного spi для модуля W5100. Здесь могут быть проблемы.

В-третьих, проверить конфигурацию регистров таймера/счетчика Т2. Имена регистров совпадают, но биты конфигурации могут отличаться.

Как можно проверить? В даташите посмотреть?

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Файлики Settimino.h и Settimino.cpp в каталоге со скетчем лежат?

Молодых и талантливых чрезвычайно много. Целеустремлённых и готовых довести дело до конца — гораздо меньше.

Ссылка на комментарий
Поделиться на другие сайты

Да, и перезапустить программу.

Короче говоря:

В коде должно быть так

#define Anod1 21
#define Anod2 20
#define Anod3 19
#define Anod4 18
#define Katod1 37
#define Katod2 36
#define Katod3 35
#define Katod4 34
#define Katod5 33
#define Katod6 32
#define Katod7 31

Таймеры/счетчики у меги2560 и меги328р одинаковые, поэтому там вроде всё ровно.

В протеусе все работает, нолики выводятся

post-53612-0-85096600-1444658430_thumb.png

Живая мега на связь выходит:

post-53612-0-78400000-1444658507_thumb.png

Молодых и талантливых чрезвычайно много. Целеустремлённых и готовых довести дело до конца — гораздо меньше.

Ссылка на комментарий
Поделиться на другие сайты

он ругается на меня:

"Размер скетча в двоичном коде: 15 640 байт (из 258 048 байт максимум)

avrdude: warning: cannot set sck period. please check for usbasp firmware update.

avrdude: warning: cannot set sck period. please check for usbasp firmware update.

avrdude: verification error, first mismatch at byte 0x0000

0x0c != 0x03

avrdude: verification error; content mismatch"

может обновить прошивку на USBasp?

Ссылка на комментарий
Поделиться на другие сайты

Попробуйте через arduino leonardo записать загрузчик и залить скетч.

Чтобы usbasp обновить прошивку нужен еще один программатор.

Изменено пользователем IIIytNIK

Молодых и талантливых чрезвычайно много. Целеустремлённых и готовых довести дело до конца — гораздо меньше.

Ссылка на комментарий
Поделиться на другие сайты

Ну вообще странно, у меня без проблем скетч заливается на мегу2560 через usbasp.

Единственное, что смысла загружать загрузчик нет, так как при заливке через ISP разъем он затирается.

Молодых и талантливых чрезвычайно много. Целеустремлённых и готовых довести дело до конца — гораздо меньше.

Ссылка на комментарий
Поделиться на другие сайты

Память программ многих контроллеров AVR состоит из двух участков, размер которых настраивается специальными фуз-битами. Одна из них начинается с нулевого адреса и предназначена для основной программы. Начало второй настраивается, и предназначена она для самозагрузчика (bootloader) - мини-программы, предназначенной для изменения основной программы без специального программатора. По COM-порту, или там по USB например. Обычно это удобно, но иногда бесполезно, к тому же загрузчик отъедает часть памяти программ (до четверти, если не ошибаюсь).

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

Если он дорог как память, можно сначала считать старую прошивку в отдельный файл, а потом скопировать все, начиная с соответствующего адреса в нужную прошивку. Это не так уж сложно, но обычно не нужно, поэтому расписывать подробнее не вижу смысла.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Короче, я разобрался в чем причина всех ваших бед :yes:

Я попробовал сделать так:

Взял новую мегу2560, и через avrdude залил в нее загрузчик при помощи USBAsp через ISP разъем. Загрузчик залился, но при верификации выдал ошибку avrdude: verification error, first mismatch at byte 0x1e000 0xff != 0x0d.

Это нормально. Попробовал залить скетч через UART - скетч заливается и работает.

Теперь, заливаем этот же скетч через ISP разъем при помощи USBAsp. Скетч заливается, при верификации выдает ошибку и после этого НЕ РАБОТАЕТ. После этого заливка через UART тоже недоступна, потому что загрузчик затерся.

Как ни странно, это тоже НОРМАЛЬНО.

Почему возникает ошибка при записи загрузчика? Почему скетч залитый через ISP не работает? А все дело в том, что:

The USBasp programmers are using an older protocol that does not properly support more than 64K flash. You need a programmer that is using the stk500v2 protocol, like the AVRISPmkII

The USBasp programmer will sort of work for burning bootloader, it will not verify correctly. It will not work for uploading sketches.

По русски: Программатор USBasp использует старый протокол, который некорректно работает с микроконтроллерами у которых flash-память больше 64К. Вам необходимо использовать программатор который использует протокол stk500v2, типа AVRISPmkII.

Программатор USBasp подходит для того, чтобы записать загрузчик, но проверка записи будет произведена неверно. Скетчи залитые через этот программатор работать не будут.

В общем в вашем случае прошить мегу2560 получится только таким образом:

1)Заливаем в мегу2560 загрузчик через usbasp. После загрузки он выдаст ошибки при верификации, не обращаем на них внимание.

2)Покупаем, находим, воруем где-нибудь переходник USB-UART.

3)Подцепляем переходник к портам TX0 RX0 меги2560, в программе arduino выбираем нужный последовательный порт и заливаем скетч обычным способом (Файл-Загрузить). Если у переходника нет вывода для сигнала DTR, то сразу после компиляции нужно будет на короткое время подтянуть вывод Reset микроконтроллера к земле. Проще всего это сделать при помощи кнопки.

Вместо переходника USB-UART можно взять Arduino Uno и вытащить из него контроллер. Также подойдет любой другой Arduino, у которого на плате два контроллера (либо микросхема, отвечающая за интерфейс USB-UART).

Еще можно попробовать сделать USB-UART переходник из Arduino Leonardo, как это описано здесь https://petervanhoyw...al-converter/ . Проверить работоспособность не могу, так как под руками леонардо сейчас нет.

Больше никаких вариантов в вашем случае нет (кроме покупки программатора AVRISPmkII или самостоятельной сборки его аналога)

Актуально для старых версий usbasp

Изменено пользователем IIIytNIK

Молодых и талантливых чрезвычайно много. Целеустремлённых и готовых довести дело до конца — гораздо меньше.

Ссылка на комментарий
Поделиться на другие сайты

IIIytNIK, сегодня попробую сделать с помощью Леонардо и посмотрим что выйдет. И еще вопрос: если заливать программу через SPI не получается, то информация от Ethernet W5100 МК будет нормально принимать?

Ссылка на комментарий
Поделиться на другие сайты

С информацией получаемой от модуля W5100 по SPI проблем быть не должно.

Изменено пользователем IIIytNIK

Молодых и талантливых чрезвычайно много. Целеустремлённых и готовых довести дело до конца — гораздо меньше.

Ссылка на комментарий
Поделиться на другие сайты

Что-то Вы тут понапутали ппц, и так

загрузчик зашивается по SPI. После этого программу в мк нужно заливать через УАРТ для того этот загрузчик и нужен.

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

Какой смысл от загрузчика если есть SPI программатор.????

Шейте сразу программу без всяких там загрузчиков, и все будет нормально работать.

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

Шейте сразу программу без всяких там загрузчиков, и все будет нормально работать.

вы пост №70 читали, что там сказано по поводу заливки программы напрямую без загрузчика?

Молодых и талантливых чрезвычайно много. Целеустремлённых и готовых довести дело до конца — гораздо меньше.

Ссылка на комментарий
Поделиться на другие сайты

IIIytNIK, вроде все сделала как по ссылке https://petervanhoyw...rial-converter/, но у меня не получилось...он мне вот что сказал"avrdude: stk500_getsync(): not in sync: resp=0x00"

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...