Металл2024 Реклама
Метобр2024 Реклама

Переназначаем порты на микроконтроллере

Gakk
Идет загрузка
Загрузка
21.03.2020
4675
7
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

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

7
Статья относится к принтерам:
Ender 3 Pro

Решил написать небольшой пост для новичков, чтобы не тратили так много времени, как я. Пациент: Ender 3 pro с микроконтроллером Atmega 1284p, прошивка marlin 1.1.9. Для всех остальных принтеров последовательность та же.

Полезли вы, предположим, ковырять свой принтер, коротнули чтото, трах-бабах, дым, искры, паника. В моем случае на нагревательном элементе оголенный провод я замкнул с термопарой, отправив на контроллер 24V. 

Первая мысль - все, отпечатался. Но принтер жив, дисплей работает, меню тоже, движки ходят туда-сюда. А вот показаний температуры хотенда нет и принтер уходит в защиту. Достаем плату и и наблюдаем следующее:

Переназначаем порты на микроконтроллереВыгорел порт микроконтроллера.

Что дальше? Менять плату? Заказывать микроконтроллер и перепаивать? Да, но все это требует денег, времени и определенных навыков. Что же делать если ждешь детали/зарплаты, а печатать хочется? Переназначить порт для термопары! И так, по пунктам:

1. Отрываем Marlin.ino, вкладку configuration.h. Ищем строку #define MOTHERBOARD, смотрим что там, в моем случае BOARD_MELZI_CREALITY.

2. Дальше идем в pins_MELZI_CREALITY.h, там видим описание портов. Ищем необходимый нам, в моем случае

  • PIN: 24 Port: A7 TEMP_0_PIN (порт термопары хотенда);
  • PIN: 29 Port: A2  - пустой, не занятый порт;       

Но это просто описание, нам же нужно переназначить порты, для этого идем дальше.

3. В этом же файле находим определение #define BOARD_NAME "Melzi (Creality)".

Идем в pins_MELZI.h. В этом файле видим подключение #include "pins_SANGUINOLOLU_12.h".

Идем туда и опять видим #include "pins_SANGUINOLOLU_11.h", и наконец в этом файле находим назначение портов.

4. Нас интересует #define TEMP_0_PIN 7 // Analog Input (pin 33 extruder). Менаяем цифру 7 на 2( он же порт А2, не используемый.

5. Шьем прошивку.

Далее смотрим Datashit на контроллер, смотрим какая физицески нога относится в порту А2:Переназначаем порты на микроконтроллере

Прежде чем паять необходимо проверить выгоревший порт на короткое замыкание, в моем случае оно было, следовательно ногу от платы нужно отсоединить. Далее проверить резисты/конденсаторы и тд на дорожке выгоревшего порта на целостность. В моем случаем все было целым( Не удивительно, ибо ток был не очень большим). Плюс прозвонить свободную ногу, он не должны звониться! Если все ок, отпаиваем/перекусываем ногу выгоревшего порта, и паяем перемычку к новому порту.Переназначаем порты на микроконтроллере

Провод должен быть заизолированным, на фото не просто кусок меди, это лакированый провод с трасформатора!

Все, поздравляю, вы прекрасны! Запускам, проверяем:

Переназначаем порты на микроконтроллере

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

 

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

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

7
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама