¿Es seguro aplicar un pequeño voltaje a un pin GPIO en modo de salida?

Quiero controlar un altavoz, en serie con un condensador electrolítico de 10 uF, desde un microcontrolador y me preguntaba qué sucederá cuando el pin GPIO esté bajo, dado que el condensador intentará descargarse. Es seguro ? ¿O necesito crear una ruta alternativa a tierra con una resistencia?

¿Cortaría un pin de salida a tierra y lo conduciría alto? ¡Use un transistor de búfer y no espere milagros de alta fidelidad!
¿Por qué el capacitor de 10 uF? Si desea un filtro de paso bajo, necesita una resistencia y un condensador (para un RC LPF clásico). De lo contrario, esto parece ser un problema XY.
@Andyaka No estoy construyendo ningún tipo de dispositivo de alta fidelidad, solo trato de familiarizarme con la programación de MCU y quería producir algunos tonos.
@Andyaka, no use un transistor de búfer ya que no dará milagros de push-pull. Necesitas dos transistores para eso. Si vas a criticar, no parezcas tonto haciéndolo. Además de eso, la experimentación y el aprendizaje deben ser guiados y fomentados.
@TonyM hay muchos ejemplos de controladores lofi baratos que usan un seguidor de un solo emisor con CC que pasa por el altavoz pero la corriente está limitada por una resistencia. Además, aunque es posible que no dañe el pin io, la corriente continua general que se toma en el pin de alimentación del chip comenzará a erosionar seriamente el valor máximo permitido por el chip. Entonces, en resumen, ¡probablemente seas tú quien se ve un poco tonto dado lo que acabas de ladrar!
Supongo que op está usando el capacitor en serie como un límite de bloqueo de polarización de CC para la señal de audio.
@Andyaka, volverá a entrar en el límite actual, intente mantenerlo en 350 signos de exclamación por día. OP debería probar cosas, excelente manera de aprender rápido, MCU estará bien.
@TonyM basado en que usted dijo que el operador debería probarlo por sí mismo, ¡es como socavar toda la razón por la que existe este sitio, amigo! Espero que me queden algunos.
@Andyaka, ah, ahora solo estás tratando de atraparme en lugar de hacer un punto válido. Tómatelo con calma, día largo y despedida...

Respuestas (3)

No, no es seguro. La MCU va a funcionar mal a largo plazo.

Por ejemplo, para los microcontroladores AVR, la corriente de sumidero no debe ser superior a 20 ma. Por lo tanto, debe asegurarse de que la corriente de descarga no aumente.

Recomendaría conectar el altavoz a través de un controlador que podría ser un transistor o un amplificador.

Con el pin de E/S de la MCU configurado como salida, utilizará un controlador push-pull ('tótem'). Este consta de un FET desde el suministro de Vdd del chip hasta el pin de E/S y otro FET desde el pin de E/S hasta el suministro de GND del chip.

Cuando el pin está alto, genera (envía) una corriente a Vdd y cuando está bajo, hunde (ingresa) una corriente a GND. Estas corrientes deben indicarse en la hoja de datos, generalmente como IoH (máx.) e IoL (máx.), respectivamente. Si la carga excede estas corrientes especificadas, los FET limitarán el flujo de corriente y disiparán la potencia en función de la caída de voltaje en el FET particular y la corriente consumida. Si se mantiene durante el tiempo suficiente, esto podría dañar la MCU.

Sin embargo, con una acción de conmutación que requerirá su experimento/aplicación de audio, es poco probable que el daño potencial sea un problema. Es posible que no obtenga el comportamiento que espera, pero estará bien experimentar con él.

He hecho lo mismo: conectar un pin de E/S, a través de una resistencia externa para aumentar un poco la resistencia en serie, seguido de una tapa, a un altavoz pequeño. No hay problemas. Sin embargo. Medí picos de tensión en la ext. Resistencia/nodo de tapa a unos pocos voltios por debajo del suelo y por encima de mi riel debido a los parásitos de los altavoces (que son bastante complejos y varían en frecuencia). Sin la resistencia en serie externa, el pin de E/S habría estado directamente expuesto y los diodos de protección activos . Tienen límites (menos de 2 mA, por lo general, en estos días). Al menos una R externa adicional ayudaría a limitar esa corriente de diodo.
@jonk, cosas interesantes y el camino que esperaba que el OP aumentara a medida que se desarrolla su circuito. Me imaginé que su circuito en un mes no se parecería mucho al de hoy, pero habrían aprendido mucho de él, con algo de tranquilidad en el camino. Gracias.
Para los aficionados, estoy menos preocupado por sobrecargar un pin de E/S. (Obviamente, es importante preocuparse por los límites de corriente total del puerto y el calentamiento). Solo, todo lo que he visto es que no cumplen con sus especificaciones de voltaje cuando conducen con fuerza (y calientan un pequeño punto en el IC). Los diseñadores saben que tienen que dedicar MUCHOS recursos de aluminio a los pines de E/S de alta corriente. Así que hay mucho margen. Lo que me preocupa son los diminutos rastros del diodo de protección que también se conectan al pin de E/S y que se activan cuando los voltajes de los pines salen de los rieles. Y posible enganche. Agregar R externo ayuda a abordarlo.
@jonk, buenas observaciones, estoy de acuerdo. Al mismo tiempo, son mucho más resistentes que los microcontroladores que comencé a usar: los 8048 y 8051. Busqué mi corriente de salida de E/S NXP LPC1114 y es de 45 mA. Los diodos pin 74HC/HCT están clasificados para 20 mA continuos. Estas cosas pueden llevar cosas. Y no me sorprendería si el OP se reproduce haciendo ruidos de E/S como este y agrega un amplificador operacional de potencia al altavoz, o usa auriculares de 5 mW de cientos de ohmios desde el pin de E/S. Si la E/S funciona, intentarán otra cosa. Espero que obtengan sus buenas experiencias de esto :-)
El LM386 sería una opción económica. Uno podría simplemente duplicar su sección de salida con algunos BJT. Dos pines de E/S podrían controlar dos de las salidas de par BJT de Glen con el altavoz en el medio para obtener más potencia del altavoz, si es necesario (desfasado 180 grados, por supuesto). Básicamente, simplemente controlar el altavoz con un puente H. De hecho, supongo que podría usar partes del puente H como el UC2950. O simplemente obtenga un TDA8551 que es un diseño BTL elegante, preparado para una salida de 5 V a 1 W e incluye un control de volumen (yo los uso). Incluso hay cables de clase D disponibles en estos días por casi nada.

Majid_L tiene sentido: una etapa de búfer estresará menos el pin de E/S de su microcontrolador. Un altavoz de 8 ohmios solicitará corriente por encima de los límites permitidos a veces (por momentos después de cambiar alto o bajo) cuando se conduce directamente. Un búfer puede ser simple, como este:

esquemático

simule este circuito : esquema creado con CircuitLab Con el búfer del transistor, el pin de E/S verá una carga de aproximadamente 800 ohmios, en lugar de 8 ohmios (suponiendo que la ganancia de corriente del transistor sea 100). El tipo de transistor no es crítico, pero el inferior debe ser PNP, el superior NPN.
C1 se agrega porque los transistores extraen mucha corriente de pulso del suministro de 5V. No desea que estos pulsos reduzcan el Vdd del microcontrolador, de lo contrario, puede ocurrir una operación errática (o caída de tensión).

creo que los 10 m La tapa F que mencionó el OP es un poco pequeña para ese tipo de carga. Dada la recomendación de reforzarlo con los BJT, también puede recomendar una mayor capacitancia mientras lo hace.
@jonk Ese es un buen punto: para una aplicación de audio , los condensadores de 100 uf proporcionarían una respuesta de frecuencia de tipo telefónico. Pero para frecuencias de tono superiores a 2 kHz, 10uf está bien.
Bien, τ = 10 m F 8 Ω = 80 m s . Incluso 1 τ significa aproximadamente un 63% de caída a través de la tapa hacia el nuevo estado de equilibrio, ya. Eso es todo lo que estaba pegado en mi mente aquí. Así que sí, la frecuencia importa. 2 kHz es al menos varios τ , con solo 10 m F. Eso todavía me preocupa.