Ya que tengo un montón de Atmega328p-pu (5v), Attiny85 (1-5v), ESP8266 (3.3v) & Raspberry's (3.3v) ya era hora de conseguir:
- Un USB a TTL
- Convertidor de nivel lógico
Ahora, antes de comprar esas cosas, leí acerca de los convertidores de USB a TTL. Hay muchos de ellos. Algunos necesitan controladores especiales, otros destruyen chips si no son originales y otros cuestan mucho.
Encontré que en un CH340G , leí cosas buenas acerca de ese USB a TTL. La gente está contenta con el producto y por eso lo compré.
Como dije, lo necesito tanto para los chips Atmel como para el ESP8266 que es 3.3v . Funciona en el ESP8266 con un problema menor. Algunas fuentes dicen que necesita controladores para los sistemas operativos más antiguos u OSX. Estoy en win8.1 y funciona de manera aparente, incluso si intenté instalar & desinstalar los controladores especiales.
Primer problema:
No consigo que funcione con Atmega328-p pu. Solo obtengo "el dispositivo no funciona correctamente no reconocido" .No hay un puerto COM que aparezca en la lista de arduino ide. Como el dispositivo CH340G solo tiene TX RX 5v (also3.3v) & GND y NO DTR & RESET i gueess necesito poner el chip (Atmel) en algún tipo de modo de conexión & pullup / down algo. What?
Segundo problema:
Como he dicho, funciona con el ESP8266. Pero tuve un poco de sospecha después de varios errores de transmisión y la medición de TX & RX. De hecho, el voltaje fue de 3.65v y cayó justo después de un segundo a 3.58v. Ahora, la Hoja de datos de ESP8266 dice que el límite es de 3.6v y por eso probé mi convertidor de nivel lógico (Uno basado en el PCA9306 , uno en mosfets). Los dos no funcionan. Dispositivo no reconocido. ¿Está bien 3.65v si el máximo debería ser 3.6v? si no, ¿por qué no funcionan esos traductores de nivel lógico?
nota: para probar el convertidor de nivel lógico usé un AMS11117 3.3v regulator on el lado ESP8266 y ajuste el CH340G a 5v. Básicamente, si quieres 3v de lógica, puentea el pin de 3.3v, si quieres 5v, puentea el pin de 5v al PIN de VCC.
Información adicional:
En realidad, obtuve los convertidores de nivel lógico solo para control una tira led WS2812B Adresable (5v) de una frambuesa (3.3v ). Leí que los convertidores de nivel lógico de mosfet / transistor hechos por nosotros mismos no funcionan correctamente. También probé con algunos mosquetes BSS138 (uno de los primeros convertidores de nivel lógico de sparkfun), sin suerte. Y así conseguí los "caros". Uno está basado en el PCA9306. Acabo de darme cuenta de que el segundo también es solo una variedad de mosfets. Básicamente, el único convertidor de nivel lógico "bueno" es el PCA9306. no entiendo por qué no funciona con USB2TTL.
EDITAR relacionado con las preguntas del comentario.
Los chips 328p-pu tienen un optiboot .. el predeterminado (Arduino IDE). Y sí me gustaría programarlos en una placa de pruebas. Es por eso que me conseguí un usbtottl. Es frustrante quitar el chip cada vez que tienes que cargar algo nuevo.
Estoy usando 2 arduino UNO original para programar attiny's y atmega328p-pu .. pero como mencioné anteriormente, es mucho trabajo eliminar el chip cada 2 segundos.
Para programar el Attiny85 hice mi propio "escudo" con el condensador relativo. y conexiones a la placa UNO. También un simple parpadeo para ver si el cargador de arranque está programado correctamente la primera vez ... o si cambio la frecuencia. Pero usa diferentes pines ... no tx rx.
EDIT2
Segundo problema resuelto
Funciona en el ESP8266 con un problema menor.
Para probar el convertidor de nivel lógico, utilicé un AMS11117 3.3v Regulador en el lado ESP8266 y ajuste el CH340G a 5v.
Agregué una fuente de alimentación externa adicional solo para el ESP8266. Siempre utilice el AMS11117 . pero esta vez alimentado por un cargador de teléfono normal de suministro de energía. Parece que cuando se programa, se necesita mucha energía. No hay más errores de transmisión. Así que supongo que este sobrevoltaje de 0.05 no tiene nada que ver. Y no debe dañar al mcu.
el problema principal sigue sin resolverse.