¿Cómo conectar ATTiny13 a USB?

4

Esto puede estar en el límite de las posibilidades de ATTiny13, pero aún así: ¿es posible conectar ATTiny13 a USB para obtener lecturas de ADC (una forma)?

De acuerdo con este artículo, enlace (y mi comprensión de ello) parece factible, aunque el tamaño de la comunicación en serie El programa requiere mucha memoria.

Sin embargo, en lugar de max232, tengo Micro USB a Serial Adapter de microbot ( enlace ) . (Bueno, también tengo un chip max3323, pero me gustaría guardarlo para otra cosa).

Soy consciente de esta pregunta: ¿Cómo puedo comunicarme entre el microcontrolador y la PC sin el uso del adaptador RS232 / USB?

pero no entiendo bien por qué se necesita max232 en el medio?

ACTUALIZACIÓN : no puedo encontrar ninguna hoja de datos mejor en el adaptador, pero utiliza el chip MCP2200.

ACTUALIZACIÓN 2 : como respondió Passerby a continuación, se puede conectar directamente al adaptador del microbot. Para el registro, estos son los cambios que hice en el proyecto mencionado anteriormente para que funcione:

  1. La línea 52 del código necesitaba "const": const unsigned long mags [10] PROGMEM = {... para hacer feliz a avr-gcc.

  2. El pin 6 del attiny debe estar conectado al RX del adaptador (attiny puede usar Vdd y Gnd para una potencia de 5v)

  3. No he configurado ningún fusible con avrdude (los eliminé en Makefile)

  4. La tasa de baudios en mi caso fue de 1200, y todo lo que se necesitó para ver la salida de attiny fue cu -l / dev / ttyACM3 -s 1200 (supongo que cu le hace un poco de magia al adaptador desde el principio hasta establecer la velocidad en baudios). La velocidad en baudios se ha calculado observando la salida del pin 6 con un osciloscopio, que dio un ancho de pulso de aproximadamente 0,8 ms. (cu es una utilidad serie Linux / Unix, otra probada es minicom)

  5. La hoja de datos del adaptador no es suficiente. Necesitaba buscar las especificaciones del chip MCP2200 para hacer mejores conjeturas

pregunta Roman Susi

3 respuestas

2

El adaptador de microbot es un adaptador usb a serie basado en TTL (normalmente 5v). No puedo decir qué IC usan, pero todos actúan de la misma manera. Solo conecta los pines TX, RX y GND a tu ATTiny13, y comienza una comunicación serial regular. O en este caso, solo ATTiny's TX al pin RX del adaptador y los pines de tierra juntos, ya que el proyecto al que se vincula es solo de transmisión. Simplemente reemplazaría el max232 en el circuito, con el adaptador usb en su lugar. Todo lo demás sigue igual.

El max232 se usa cuando se convierte de TTL serial (0v Low, + 5v High) a RS232 real como lo haría un puerto serial de computadora (+ 3 ~ 25V Low, -3 ~ 25V High). Ya que está utilizando un adaptador de usb a serie con niveles TTL, lo mismo que el ATTiny13 usaría, el max232 no es necesario. Hay algunos adaptadores USB a serie destinados a ser utilizados con cosas reales de nivel rs232, por lo que el chip max232 o similar sería útil entonces, pero no en su caso.

El 5v del adaptador de microbot está conectado directamente al pin usb 5v. Esto le da hasta 500 mA para usar.

    
respondido por el Passerby
1

Los AVR tienen la ventaja de la pila de software LUFA . Puede conectar un AVR directamente a los pines USB D + y D y obtener una apariencia razonable de USB. No cumplirá con la especificación de USB exactamente, pero es lo suficientemente cerca para casi todas las aplicaciones generales.

A partir de ahí, debería ser bastante sencillo utilizar el periférico ADC en ATTiny y dejar que LUFA se ocupe del lado USB de las cosas.

Editar: en realidad parece que quieres V-USB ahora. Lo siento por la pista roja. Específicamente, aquí es un ejemplo de cómo conectar un ATTiny45 con un LDR para comenzar.

    
respondido por el akohlsmith
0

Hay un excelente tutorial aquí eso puede ayudarte.

Muestra cómo usar un usb de 9 dólares para el puente USART, o simplemente puedes construir el tuyo, y los terminales gratuitos HyperTerminal o RealTerm para comunicarse con los AVR.

    
respondido por el Wallace

Lea otras preguntas en las etiquetas