Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр У самурая нет цели, есть только путь. Длинный путь. Улучшая свои навыки, он пробирается все дальше.

Долгий путь: idle

Кликер, Ролевые, Фэнтези

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
126
Dionisnation
Dionisnation
8 лет назад
TECHNO BROTHER

МИНИТЕРМИНАЛ V.3.0⁠⁠

Нашёл этот проект  на AVRProject, может кому то из подписчиков сообщества будет полезным этот терминал

Тема такого устройства как минитерминал, поднималась на этом сайте уже пару раз: первая версия, вторая версия. И за время использования второй версии, устройство показало себя отличным помощником при отладке во многих проектах. Единственное чего иногда не хватало, это возможности отправлять в отлаживаемое устройство своих команд. Поэтому разобравшись с работой большого цветного дисплея на контроллере ILI9325, решил сделать новую версию минитерминала на нём. К тому-же на этом дисплее уже есть сенсорная панель, благодаря которой можно организовать все управление, а также набор текста, не прибегая к подключению внешней клавиатуры.


У меня уже лежала распаянная под дисплей плата с микроконтроллером ATMega128a, ее я и использовал в качестве основы для устройства. Так как дисплей соединен с контроллером напрямую, схема предусматривает питание не более 3,3 вольта, если выше - есть вероятность что дисплей выйдет из строя. Сначала я хотел применить в качестве источника питания связку из двух батареек R20, у них очень большая емкость и они долго держат нужное напряжение. Но когда стал примеряться, выходило слишком громоздко. Поэтому был откопан, купленный несколько лет назад, модуль преобразователя на LM2577. А источником послужила Li-Ion батарея емкостью 2500мА/ч. Получилась очень годная связка, способная отдавать стабильные 3,3 вольта во всём рабочем диапазоне напряжений аккумулятора. Для подзарядки использован модуль на микросхеме TP4056. Его я давно применяю и он хорошо зарекомендовал себя, плюс очень низкая цена такого решения.

МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост

Чтобы иметь возможность подключать минитерминал к пятивольтовым устройствам не боясь спалить дисплей, порты UART развязаны через модуль согласования уровней. Я применил готовый, как раз имелся в наличии на 4 канала. Его можно собрать самому, схема элементарная. Кстати, почему нужно 4 канала? Дело в том что у ATMega128 целых два аппаратных UART интерфейса, и я подумал что неплохо бы использовать оба и сделать двухканальный терминал.


На разъемы, помимо Rx / Tx выведено питание, на случай если нужно будет запитать отлаживаемое устройство напряжением 3,3 вольта. В разрыв цепи запаян диод Шоттки, если вдруг по ошибке от испытуемого устройства в схему пойдет напряжение выше 3,3 вольт.

МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост
МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост

На плату также добавлен пьезодинамик для озвучивания действий и двухцветные светодиоды с ОК (общим катодом) для индикации работы. У меня это все напаяно поверх, но в конце можно будет скачать доработанную печатную плату.


В конечном виде схема выглядит так

МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост
Вариант корпуса для устройства, напечатанный на 3d принтере. Все элементы схемы и крышка корпуса будут фиксироваться на термоклей. Это самый простой вариант, но не самый технологичный для сборки/разборки. Поэтому надо бы доработать и добавить крепежные узлы. 
МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост
МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост
А пока крепится все так: сначала фиксируется дисплей, затем кнопка включения и модуль зарядки, потом все остальное.
МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост
МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост

При программировании микроконтроллера необходимо запрограммировать фьюзы на работу от внешнего высокочастотного кварца, отключить совместимость с ATMega103 и отключить JTAG


В Khazama-AVR фьюзы выглядят так

МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост

После сборки и прошивки микроконтроллера особых настроек не требуется, нужно только с помощью подстроечного резистора R4 подогнать отображаемое на экране напряжение к реальному значению на аккумуляторе. Для этого рекомендую сперва выставить подстроечник в среднее положение и только после этого подавать питание, чтобы после включения на вход АЦП шло менее 3,3 вольта (опять же для того чтобы обезопасить дисплей).


Из настроек терминал имеет изменяемую частоту работы UART интерфейса, формат отображения принятых данных (ASCII и HEX) и их вид (DISP и LAST).

МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост

Чтобы было понятно, остановлюсь на последнем параметре: в обычном режиме DISP (Displacement) идет отображение всех последних принятых данных, и при заполнении экрана идет смещение, таким образом на экране помещается 22 строки. Очистка и перерисовка, при каждом новом приеме данных, занимает относительно много время и чтобы увеличить возможную скорость приема, введен режим LAST. В этом режиме на экране выводится только последний принятый пакет данных. В общем, что получили то и вывели.


При нажатии на кнопку CLEAR, происходит очистка дисплея. INFO - информация о версии прошивки и контактная информация. Кнопка STOP, как не трудно догадаться, останавливает прием данных (полезно когда данные идут сплошным потоком и нужно остановиться и разглядеть).


При первом включении скорость работы UART по умолчанию стоит 1200 бод. Её можно поменять на значения 2400, 4800, 9600, 19200, 38400, 57600 и 115200 бод. Скорость сохраняется в энергонезависимой памяти и при следующем включении терминал будет работать на последней выбранной скорости.


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

МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост
МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост
МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост

Как я уже писал, в схеме я предусмотрел одновременную работу двух UART интерфейсов. Но в прошивке пока реализован только один канал - на аппаратном UART0. Второй - UART1, оставил как задел на будущее. Поэтому набранный текст улетает в Tx0.


Было упомянуто, что в режиме DISP на экран помещается 22 строки принятых данных, ограничение по длине принимаемого и отправляемого пакета составляет 30 символов. А если перевести отображение данных в HEX формат, тогда ограничение по длине пакета составит 10 символов. Ограничение обусловлено оставшимся на экране местом. Для простых задач, которые возложены на это устройство, этого должно хватить.


Ну и для примера достал не задействованную плату с распаянным GSM-модулем SIM900D, которая давно уже у меня лежит. Два запроса о версии прошивки модуля, первый в ASCII формате, второй с отображением данных в HEX формате:

МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост
И еще немного общения с этим модулем, на другой скорости:
МИНИТЕРМИНАЛ V.3.0 Терминал, Avr, Atmega, Минитерминал, Своими руками, Avrproject, Гаджеты, Микроконтроллеры, Длиннопост

В общем, девайс получился удобным и очень полезным. Рекомендую к повторению. Если что-то упустил оставляйте свои вопросы в комментариях.


Печатная плата (DipTrace)

Схема (DipTrace)

Исходники и прошивка

Модель корпуса


Ссылки на детали использованные в проекте:
Дисплей

Преобразователь напряжения

Модуль конвертера уровней

Модуль заряда Li-Ion батареи

Показать полностью 15
Терминал Avr Atmega Минитерминал Своими руками Avrproject Гаджеты Микроконтроллеры Длиннопост
14
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии