Кремень КД Реклама
Кремень КМ Реклама

Внезапные грабли от поднебесных инженеров

eta4ever
Идет загрузка
Загрузка
11.10.2016
37589
106
Техничка

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

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

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

28
Внезапные грабли от поднебесных инженеров
Началось все с вопроса пользователя Konstantinnn - у него 'не взлетело' сочетание бутерброда (Arduino+RAMPS) и MKS TFT28. И вот дошли у меня руки откопать свой комплект и проверить. В общем, я был сильно озадачен. Не работает. Дело, разумеется, не в питании - что от внешнего, что от внутреннего (оно у меня, как на фото видно, колхозно модифицированное) одна и та же картина. Тишина, нет связи по UART0 (разъем AUX1).

У нас ATmega2560, у которой используется последовательный порт UART0 (пины 2-3, PE0 и PE1). При обычной работе (подключение по USB) мостом между компьютером и 'мегой' служит дополнительный чип. В оригинальной Arduino Mega это еще один микроконтроллер - ATmega16U2. В 'вариациях на тему' это может быть FTDI F232R, но скорее - замечательный китайский CH340G. В моем случае - оно.

PE0 и PE1 (RXD0, TXD0) также выведены на разъем AUX1 RAMPS, к которому подключается MKS TFT. То есть, дисплей использует все тот же последовательный порт, 'притворяясь' компьютером - это объясняет тот факт, что под MKS TFT не нужно модифицировать прошивку принтера.

И вот, мы подходим к самому интересному. По сути, на моем экземпляре 'меги' порт на AUX1 не работает. Я пытался туда подключать и MKS TFT и отдельный USB UART преобразователь. Вооружившись сначала мультиметром, а потом логическим анализатором, я выяснил следующее: если подключиться по USB и начать общаться с принтером, на пинах AUX1 все как надо, анализатор спокойно слушает это общение. То есть, все разведено и спаяно корректно. Но если пытаться общаться с 'мегой' через эти пины, когда CH340G не используется - тишина.

Смотрим схему. Кто кинет в меня полной схемой китайской меги на CH340G, будет большой молодец. По плате получается, что RX/TX CH340G идут на RX/TX ATmega2560 через резисторы в 49 Ом. Это настораживает. Обычно 1 КОм в этом месте стоит… Если эти резисторы (R12, R13) с платы выкорчевать, UART на AUX1 работает чудесно. Но, естественно, перестает работать подключение по USB. Если поставить 'на дурака' 1 КОм, то USB так же не работает.

Мысли такие: в 'спокойном' состоянии RX и TX подтянуты к плюсу питания. При общении их надо 'просаживать' до логического нуля. Выражаясь ненаучно, скажу, что 'что-то, что подключено к AUX1, не может просадить RX/TX, на которых сидит CH340G и подтягивает к плюсу питания'.

Предварительные итоги.
  • Если у вас китайская ардуйня с рампсом и MKS TFT и вот так ничего не работает - попадалово. У меня пока что решения нет.
  • Предполагаю, что связано это именно с CH340G и его обвязкой. Оригинальной дуйни у меня нет, но на MKS Gen (где FT232) все работает отлично.
  • Призываю в комментарии знатоков китайского электричества для совместного поиска способа урегулирования проблемы без полного уничтожения 'меги'.

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

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

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

28
Комментарии к статье