Arduino Uno R3 Atmega328p dip + Ch340 = error

Hola a todos, les comento que hace poco vi unos Arduinos UNO R3 "hibridos" de oferta a buen precio de Aliexpress asi que me compre 3 unidades, les digo hibridos porque la placa es un diseño no usual , este lleva un Atmega328P en version dip y lo acompaña un CH340 para el USB, lo usual que vemos en el comercio es las tarjetas con Atmega328 smd con el CH340 o el Atmega328 dip con el Atmega32u4, la cuestion es que al conectar esta placa sale un aviso que dice lo siguiente "no se reconoce el dispositivo usb" (ver imagen para mas detalle) las tres placas presentan el mismo problema , mi windows 10 ya tiene instalado el driver CH340 porque reconoce las otras placas diversas que llevan CH340, tambien probe sacar los chips Atmega328 y los probe en otra placa buena y estos funcionan sin problema osea su bootloader esta instalado, incluso le cambie el cristal de 12 mhz y el chip CH340 por otros nuevos para descartar pero persisten los mismos mensajes de error, me da la impresion que se apresuraron con este diseño de tarjeta y alguna pista esta mal o no esta en su lugar correcto algun componente o fue un lote con un diseño fallido que se esta rematando, quizas ya sabian de ese error por eso lo vendieron a muy bajo precio jeje, alguien mas adquirio esta version de Arduino Uno hibrido y tiene ese problema?? o encontro la solucion?

Adjunto imagenes de los errores y repito que mi windows ya tiene instalado el driver CH340 pues otras placas microcontroladoras que tengo y usan el CH340 son reconocidas y asignan un puerto com sin problema , asi que por el lado de driver no creo que sea el problema sino que mas bien es algo a nivel de hardware en la placa.



error

Respecto a la version de Arduino UNO Hibrido con Atmega328p Dip28 + Ch340 la placa que subi antes fue para la mencion a esta version Hibrida pero el modelo exacto que compre de Aliexpress corresponde con esta imagen que subo ahora, el CH340 esta colocado en otra posicion y los componentes tambien difieren pues incluso no se ve un segundo regulador de voltaje presente, osea que esta placa hibrida presenta tambien sus variantes, alguien mas compro ese modelo de Arduino hibrido?

Hola @avefenix586. El camino desde el USB al ATmega328 no es complicado de seguir. Lo intentaste?

Acá tienes varios que pueden servir de guía.
intenta revisando lo obvio. USB al CH340 luego los capacitores involucrados con éste. y finalmente las conexiones al ATMega328.

Este es el que mas se acerca con los elementos involucrados pero el ATMega328 no es el tuyo, es un AU y no un PU.

Hi,
Trata seleccionando la tarjeta arduino-duemilanove. Aqui tienes dos microprocessor a seleccionar 1- Atmega328p 2= Atmega168. Trata lo dos para ver si te trabaja.

Surbyte y Tauro0221 ya pude encontrar el problema en esa tarjeta hibrida de Arduino Dip con CH340G, me sirvio el diagrama publicado y otro mas de la version Arduino SMD con el que hize el seguimiento y con el datasheet del CH340G tambien.

Despues de algunos dias de andar revisando y haciendo seguimiento y descartes a mis tarjetas arduino en esa version hibrida llegue a encontrar la solucion al fin, para este caso a esa misteriosa falla sobre error de solicitud de descriptores.. ,desde el principio sospechaba que ese mensaje no tenia nada que ver con drivers sin instalar pues ya tenia el driver CH340G instalado para otros dispositivos, sino que ese mensaje alude a algun mal funcionamiento hardware del dispositivo conectado, era cuestion de descubrir que estaba mal en ese diseño de arduino dip hibrido con CH340, basandome en el diagrama del Arduino con CH340 y el mismo datasheet del CH340 encontre dos errores en el diseño de la placa en mencion, antes les recomendaria que si ven esa misma placa hibrida a la venta en tiendas chinas a precio bajo (aliexpress) no la compren para que no les de dolor de cabeza, pues parece que son de algun lote fallido y van a tener que hacerle unas modificaciones para que puedan funcionar.

El primer error que se cometio en el diseño de esta placa fue que en la tarjeta se unio el pin 4 con el pin 16 a travez de una pista en la otra cara del impreso justo detras del CH340G , en la imagen del datasheet nos dice que si el CH340G trabaja a 5v el pin 4 tiene un voltaje de referencia interna de 3.3v y debe ir desacoplado con un capacitor, en cambio si se pueden unir si se trabaja a 3.3v , asi que en este diseño de la placa se produjo un cruze y no dejo que el CH340 funcione correctamente pero lo bueno es que al corregirlo te das cuenta que el CH340G no se quemo o daño.

Antes tuve que desoldar el CH340G y cristal para reemplazarlos creyendo que estaban mal y para hacer seguimiento de las conexiones que pasaban por debajo del chip y alli descubri esa union de los pines 16 con el pin 4, que ya con el datasheet a la vista procedi a un corte de la pista que los unia justo por la otra cara detras del chip CH340G para separarlos pero para mala suerte por esa misma pista le llegaba la alimentacion de 5V al pin 16 (Vcc) , asi que tuve que aislar completamente el pin 4 (V3) con dos cortes de pista luego cubrirlo con un aislante y hacerle un puentecito para que le llegue la alimentacion al pin 16 sin tocar el pin 4 , hasta alli se puede probar enchufandolo a la PC pero sorpresa nos seguira saliendo el mismo error del descriptor del USB, esto porque el condensador de desacople nesesario estaba ubicado junto al pin 16 y con el corte de pistas quedo separado del pin 4 donde correspondia estar, con lo que tuve que soldarlo provisionalmente por encima sobre el mismo chip como se muestra en la imagen, ya despues lo soldare mas esteticamente, al enchufar nuevamente el arduino a la PC con esos arreglos ahora si Eureka!! el windows reconocio el CH340G como un puerto COM en el administrador de dispositivos, lo enchufe y desenfchufe varias veces y en todas ya lo reconocia sin problema.

A modo de prueba si se retira ese capacitor se vera que tambien deja de funcionar el CH340G, asi que es importante que este ese capacitor este alli colocado en el pin 4 a GND, el capacitor que solde fue de 47 nF aunque el datasheet recomiendan de 4.7 nf a 20nF pero no me funciono poner de 20nF y en cambio con el valor de 47nF quedo muy bien, hasta alli podria haber cantado victoria pues lo del CH340G ya estaba solucionado asi que procedi a abrir el Arduino IDE para enviarle un programa Blink, en todos los intentos no podia enviarlo pues tras varios reintentos terminaba dando error de subida, asi que alli habia otro problema que es el segundo error de diseño que me tomo otro dia encontrarlo, incluso arme el circuito del arduino con su CH340G en un protoboard pues crei que el CH340G se habia dañado pero no era el caso, el circuito en el protoboard funcionaba correctamente, medi continuidad de pistas en la placa y estaba correctos ,los TX-RX del CH340G llegaban a los pines correspondientes en el Atmega328p, el DTR del CH340 tambien llegaba al reset del Atmega328 a travez de un condensador, no habian cruces asi que alli tenia el otro error expuesto que comentare en la siguiente publicacion.




Hi,
Te felicito por un excelente troubleshooting.

Buen comentario, voy a copiarlo en la pagina de Fakes que abrí en Documentación, con tu permiso o si quieres te indico por privado y lo haces tu mismo, como autor y solucionador del problema.

No hay problema Surbyte puedes publicarlo en la pagina de fakes, en breve estare posteando la segunda parte porque hay una segunda falla que tambien ya corregi y que iba a publicar para completar y quede solucionado definitivamente.

En la publicacion anterior ya tratamos de la parte que corresponde al funcionamiento del CH340G, pero a pesar de ya ser detectado en el administrador de dispositivos no se podia subir un skecth a la tarjeta Arduino Hibrida, esto se debia a otro error sutil del diseño de esta tarjeta.

Basandome en el diagrama de Arduino SMD que es mas parecido al modulo hibrido pude notar algo peculiar, si tan solo los diseñadores hubieran respetado el diseño original de esa tarjeta smd hubiera funcionado muy bien desde el principio, es increible que no haya pasado control de calidad o si lo hizo quedando como un lote descartado pero algun chino los compro mas baratos por las fallas y las puso a la venta en aliexpress.

En un comienzo crei que habia algun cruze de señales o que estas estaban interrumpidas en algun punto o que no llegaba el pulso de reset pero al comprobar continuidad todo marcaba bien y no habia ningun cruze hasta que note que algo no coincidia con el diagrama del arduino smd y era la posicion donde estaban ubicadas los dos leds testigos de RX y TX y entonces dije bingo!!

Tomo una captura de esa parte del conexionado del diagrama y vean la diferencia de las conexiones respecto a las que presentaba la tarjeta arduino hibrida en la otra imagen, a simple vista parecia ser lo mismo o que el orden en que estaban puestos no deberia afectar el funcionamiento pero creanme si afecta y mucho, ocasiona que las señales digitales de RX y TX no tengan los niveles TTL correctos con lo que el arduino se confunde y no permite que se suba el sketch tras muchos intentos.

Ahora intentar corregir ese error para reacomodarlo en su posicion implicaria meter cortes y mas puentes con lo que la tarjeta quedaria como un frankestein asi que solo bastaria interrumpir o desconectar esas ramas que alteran las señales y esto se consigue retirando los dos leds testigos RX y TX, con lo que las señales ya toman sus niveles correctos desde el CH340G al Atmega328 y viceversa, asi ya podemos subir nuestros sketch sin problema, creo que no extrañaremos esos leds decorativos pues ya al fin nuestra tarjeta hibrida esta funcionando, y con ello concluye la solucion a esta tarjeta , si por error la compran pues ya tienen aqui como remediarlo.


This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.