Дисплеям CRIUS CO-16 версии 1.0 присущи конструктивные недостатки, которые устранены в более новых версиях. Но дисплеев первой версии и их клонов было изготовлено очень много, поэтому вероятность купить неустойчиво работающий модуль довольно велика. Прежде всего, упомянутым дисплеям присуща проблема неустойчивого сброса, так называемое "звездное небо". При включении питания встроенный контроллер дисплея не сбрасывается, очищая видеопамять, и экран хаотично покрывается одиночными светящимися пикселами. Далее дисплей уже не реагирует на команды и данные с полетного контроллера. Некоторые экземпляры дисплеев зависают изредка, некоторые при каждом включении.
Простым и широко известным способом решения этой проблемы является включение резистора с номиналом 150–200 Ом в разрыв плюсового провода питания. Резистор маломощный, затягивается вместе с проводом и местом пайки в термоусадочную трубку. Может потребоваться подобрать номинал резистора для более устойчивой работы. У автора дисплей работает с сопротивлением 180 Ом. Этот способ хорош тем, что требует минимальные навыки пайки.
Если включение резистора не помогает, попробуйте подключить RC-цепь к выводу сброса контроллера дисплея, как показано на рис. 6.24 и 6.25. Этот способ требует наличия соответствующих инструментов и навыка пайки миниатюрных компонентов.
Рис. 6.24.
Рис. 6.25.
В сочетании определенных экземпляров полетного контроллера и дисплея может возникнуть ситуация, когда при подключении дисплея резко возрастает количество ошибок на шине I2С, полетный контроллер неустойчиво читает данные с датчиков либо вообще зависает. Предположительно, это вызвано чрезмерной "подтяжкой" линий SCL и SDA к напряжению питания встроенным контроллером дисплея, что приводит к неустойчивой работе отдельных экземпляров сенсоров на плате полетного контроллера. Проблема может быть устранена последовательным включением резисторов с сопротивлением 560–750 Ом в разрыв проводов SCL и SDA, соединяющих дисплей и полетный контроллер. Точное значение номинала резисторов надо подобрать опытным путем.
Самодельный цветной дисплей
Вниманию читателей, имеющих некоторый опыт самостоятельного изготовления печатных плат, предлагается авторская конструкция цветного дисплея для MultiWii. Дисплей построен на основе готового дисплейного модуля с разрешением 128x160 точек, диагональю 1,8 дюйма и цветовой палитрой 262 000 оттенков. Обмен данными с дисплеем происходит по последовательному протоколу SPI. Поскольку в прошивке MultiWii поддержка этого протокола не реализована, в дисплее используется дополнительный микроконтроллер ATmega328. Он обменивается данными с полетным контроллером по внутреннему протоколу MSP (MultiWii Serial Protocol) и пересылает обработанные данные собственно в графическую память дисплея по SPI. Дисплей кроме графической матрицы содержит в себе специальную микросхему, так называемый драйвер дисплея. Драйвер содержит цепи управления ЖК-матрицей и буферную память изображения. Он подчиняется внешним командам и позволяет извне обращаться к отдельным пикселам изображения.
Иными словами, микроконтроллер ATmega328 служит посредником между полетным контроллером и драйвером дисплея, обрабатывая данные и пересылая их драйверу.
Конструктивно дисплей выполнен в виде "бутерброда", состоящего из собственно дисплейного модуля и самодельной платы расширения, которая припаяна прямо на выводы платы дисплея (рис. 6.26 и 6.27).
Рис. 6.26.
Рис. 6.27.
Плата расширения представляет собой несложную самодельную печатную плату, на которую припаян готовый китайский клон модуля Arduino Pro Mini с рабочим напряжением 5 В и тактовой частотой 16 МГц. Использование готового модуля намного рациональнее в отношении затрат времени и денег, чем самостоятельное изготовление печатной платы, содержащей микроконтроллер и навесные элементы.
Встречаются различные варианты клонов Arduino Pro Mini. На рис. 6.28 показан внешний вид платы, использованной в дисплее. Разводка расширяющей платы дисплея выполнена под этот вариант клона. Можно приобрести другую версию модуля Arduino, но тогда придется изменить разводку расширяющей платы.
Рис. 6.28.
Дисплейный модуль можно приобрести в России, в магазинах, торгующих аксессуарами и модулями расширения для Arduino, либо заказать в Китае или на eBay. Также потребуется приобрести клон модуля Arduino Pro Mini. Автор приобретал компоненты на Aliexpress. Ключевые слова для поиска: "TFT SPI display" и "Arduino Pro Mini".