Экспериментальный проект ChiArdumeg - собираем промежуточный модуль дисплея

В прошлой части была создана основа промежуточного модуля, просто кусок текстолита и пара разъёмов, однако нужно дальше что-то делать:
реклама

Хоть контролёр дисплея и весьма непривередлив к уровням напряжений/качества сигнальных линий, но в итоге было решено поработать над более грамотным согласованием уровней между Arduino и дисплеем:

реклама
Но есть проблема, у меня в наличии есть только постоянные резисторы на 1 кОм, городить из них делители весьма глупо, да и не факт, что хватит имеющегося количества деталей...
Потому расчехлил горсть переменных резисторов:

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

Так что не вижу никаких проблем в применении переменных резисторов, особенно учитывая стабильность работы дисплея даже при отвратительном качестве соединений.
Сейчас делители из переменных резисторов настроены на среднее положение, то есть в 2 раза понижают напряжение, учитывая 5в входное, выходное будет максимум 2.5в, и дисплей нормально работает:
![]() |
![]() |
Хотя есть и условная проблема, так как полное сопротивление резисторов ~10 кОм, любое касание пальцем способно создать помехи для сигнала, а значит и электромагнитные наводки теоретически будут способны нарушить стабильность работы дисплея, ну и уровень напряжения далеко не везде получается высоким, всё же переборщил с сопротивлением:
![]() |
![]() |
![]() |
реклама
Так что подключаю контролёр через гнездо внешнего питания к напряжению 5в, и ожидаемо дисплей не заработал:

Ведь линейный стабилизатор ams1117 съедает почти 2 вольта, и до контролёра доходит всего 3.14в, а значит до сигнальных линий дисплея и вовсе доходит всего ~1.6в:

Так что немного регулирую переменные резисторы, и дисплей снова нормально работает, даже в столь суровых условиях пониженного напряжения питания:
![]() |
![]() |
Так, а что это там за хитрая дощечка для пайки? Правильно, это ESR тестер!
![]() |
![]() |
Смотрим полное сопротивление переменного резистора: Около 9 кОм, что явно меньше заявленных 10 кОм (обозначение "103"), обычный дешёвый DT-832 показал сопротивление 8.74 кОм, но не стоит удивляться разнице между тестерами, всё же SMD площадки не очень подходят для измерения выводных деталей, а колодку специально предназначенную для этого я не догадался применить:
![]() |
![]() |
![]() |
Вот такая "точность" у имеющихся переменных резисторов, и ответ на вопрос - почему я не горю желанием их использовать кроме как в местах, где на погрешности и большой разброс параметров плевать.
А теперь поговорим о том, почему именно Arduino Mega 2560, а не что-то иное. В целом соглашусь, большинство портов вряд ли задействую, и маленькую плату проще встроить внутри и так маленького системного блока, в котором чуть ли не каждый квадратный сантиметр занят:

Но замечу несколько важных нюансов:
1) У Mega 2560 в 4 раза больше памяти, как оперативной, так и постоянной, а это позволит меньше парится над оптимизацией прошивок:

2) У меня есть гораздо более компактная Arduino UNO, но размеры всё равно ощутимые, а Nano версий нет, чтобы переход на меньшее был целесообразен, плюс вспоминаем первый пункт:
![]() |
![]() |
3) Так же есть OLED дисплей, но его разрешение всего 128x64, а ещё он невероятно маленький, может быть потом задействую, но точно не сейчас:
![]() |
![]() |
![]() |

4) В приоритете использовать уже имеющиеся детали, так что покупать STM и прочее точно нет планов ради проекта без конкретной цели.
Но вернёмся к проекту.
В идеале, резистивные делители следует разместить прямо на плате дисплея, но мы живём не в идеальном мире, так что придётся всё разместить на промежуточном модуле, и единственным вариантом вижу разместить резисторы в лежачем положении, ибо в стоячем они выступают за габариты коннекторов, а это лишняя потеря пространства, которое хотелось бы сохранить:
![]() |
![]() |
![]() |
Осталось только решить, где и как разместить всё... Для работы дисплея мне нужно выделить следующие ресурсы:
- Две общие линии питания (плюс 5в и земля).
- Шесть сигнальных линий, из которых только пять будет задействовано.
Итого нужно 8 проводников на питание дисплея и сигнальные линии, что прекрасно вписывается в пределы одного коннектора на 8 жил.
И хоть я буду использовать только пять сигнальных линий, шестую тоже нужно развести, вдруг задействую в будущем. Подгибаю ножки резисторов, примеряюсь, и в целом мне нравится, осталось подумать над расположением:
![]() |
![]() |
![]() |
Определяюсь с расположением резисторов, смещение на одну "пятку" не просто так сделал, ведь плотность контактов у гнезда выше, чем у деталей, и благодаря смещению нужно будет делать меньше работы в плане пайки и прокладки проводов до коннектора:
![]() |
![]() |
![]() |
Осталось расчехлить самодельный аккумуляторный паяльник:

И припаять резисторы к плате, правда я забыл сделать смещение в одну пятку... Ладно, фиг с ним, и так сойдёт:
![]() |
![]() |
![]() |
Прекрасно, все резисторы припаяны, осталось дело за малым:
![]() |
![]() |
![]() |
Правильно, беру кусок медного провода, и разбираю на медные жилы:
![]() |
![]() |
![]() |
Заплетаю контур и запаиваю, это будет общая шина "земли", именно к ней подключу каждый резистор одним крайним выводом, центральные будут идти на сигнальные линии дисплея, а оставшиеся будут входными сигнальными:
![]() |
![]() |
![]() |
![]() |
Лучше один раз увидеть... А хотя ладно, всё равно не особо понятно выглядит...
![]() |
![]() |
Подключаю выходные сигнальные линии к каждому резистору по порядку, для питания выделены крайние контакты коннектора:
![]() |
![]() |
И тут задумался, а что же с питанием? У меня ведь нет входного коннектора для питания... И я его припаял, не без косяков, но это было лишь делом времени, когда появятся первые косяки:
![]() |
![]() |
![]() |
Ну да ладно, и так сойдёт.
Хм, пора бы закругляться, а то слишком много будет материала за раз... Оставлю продолжение на следующую "серию".
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.

Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
















































Комментарии Правила