Por favor critica mi esquema

Soy muy novato en electrónica, así que le pido amablemente a la comunidad que revise mi esquema. Este es el proyecto más avanzado que he hecho y no estoy muy seguro de los puntos particulares de mi esquema y del diseño general.

Lo que estoy haciendo es un controlador de motor de CC multicanal con alimentación externa. Los motores serán pequeños motores de CC de aproximadamente 5 V con un consumo de corriente de unos pocos cientos de mA.

ingrese la descripción de la imagen aquí

Aquí lo que no estoy seguro:

  • ¿Es correcto conectar ULN2803 en paralelo para lograr más corriente máxima por canal? ¿Es correcto en mi esquema particular?

  • ¿Es suficiente simplemente poner un capacitor en paralelo a cada motor para realizar un filtrado de paso bajo? ¿O debería agregar resistencias adicionales para un filtro RC explícito? Si se requieren resistencias, ¿dónde debo colocarlas: a la línea Vcc al pin de ULN2803?

  • ¿Quizás debería poner un filtro RC entre MCU y la entrada del par Darlington?

  • ¿Necesito un diodo de retorno adicional o el diodo interno de ULN2803 sería suficiente?

  • ¿Qué tan bien la "parte USB"? ¿No quemará el puerto de mi PC? ¿Funcionará o_O? ¿Necesito poner resistencias entre las líneas tx-rx y rx-tx? ¿Funcionará bien con una fuente de alimentación externa?

  • Agregué un rectificador para hacer una placa independiente de la polaridad. ¿Qué tan cojo es?

  • ¿Cómo hacer una protección contra sobrecorriente? ¿Tengo que hacerlo?

  • ¿Está bien que no haya resistencias cerca del puerto J1 (programación ISP)?

  • ¿Debería tirar hacia abajo (¿tirar hacia arriba?) Los pines de MCU no utilizados o estará bien dejarlos en el aire?

  • ¿Qué tan crítico para la confiabilidad de USART es usar una frecuencia de cristal de 11.0592 Mhz o múltiples? ¿Funcionará bien con 16Mhz?

Primera impresión: ¡Los colores son horribles! ¿Qué tipo de software estás usando aquí?
@pipe que estoy usando gEDA/gschem.
¡Uf, qué bueno que fui con KiCad!
Estás haciendo muchas preguntas que no podemos responder mirando solo el esquema. ¿Cuáles son las especificaciones de los motores que está tratando de manejar?
Atar darlingtons juntos de esa manera puede no funcionar como esperas.
Y agregaría una resistencia en serie con esas tapas de desaire. Estarán completamente cargados cuando encienda el Darlington, lo que resultará en un pico de corriente que podría matarlo.
Creo que habría usado un solo diodo en lugar del puente... si lo conectan de forma incorrecta... no funcionará, pero tampoco dañará la placa.
El uso de los fly-backs incorporados en paralelo es uno de los problemas con la duplicación. Solo uno conducirá realmente ... puede freírse, luego el otro hará lo mismo. Lo mismo ocurre con los darlington, uno se encenderá primero... se apagará al final, las diferencias de Vce significarán que uno funciona más que el otro... etc.
7905 hace neg 5V

Respuestas (3)

¿Es correcto conectar ULN2803 en paralelo para lograr más corriente máxima por canal?

Vea el comentario de Tony a continuación.

Sin embargo, tiene otro problema: ULN2803 tiene un VCEsat alto, por lo que su motor de 5V solo recibirá 3V más o menos (es decir, funcionará... pero solo marginalmente).

Usaría varios MOSFET duales en paquetes SO8. Estos cuestan 50 centavos cada uno, son pequeños y fáciles de manejar, pero tendrás que agregar los diodos.

Solución alternativa: http://www.ti.com/lit/ds/symlink/tpic6b595.pdf

¿Es suficiente simplemente poner un capacitor en paralelo a cada motor para realizar un filtrado de paso bajo?

No. La tapa filtrará un poco el ruido de alta frecuencia... La inductancia del motor es suficiente para suavizar su PWM.

Agregué un rectificador para hacer una placa independiente de la polaridad. ¿Qué tan cojo es?

¡Es inútil, simplemente conecte el conector de la manera correcta!

Además, no alimente sus motores con CC regulada. Aliméntelos con el voltaje de entrada... El pobre 7805 se va a meter en problemas cuando todos los motores estén encendidos.

¿Cómo hacer una protección contra sobrecorriente?

Ya lo tiene, ya que el 7805 se sobrecalentará y se apagará si un motor se para.

Esto generalmente se haría con una pequeña derivación de corriente en serie con cada motor y muestreándolo con el ADC de su micro.

La gente estaba conectando los canales de salida ULN2003A y ULN2803 en paralelo para una salida de corriente más alta en la década de 1970, por lo que no puede responder 'no' a 'es correcto para...'. Puedes decir que es ineficiente, que no lo harías y que hay mejores formas, como tú y como las hay. Pero puede confundir a OP/otros porque pueden ver esquemas que muestran que se está haciendo. Lo hicimos en controladores de solenoide con ULN2003A, funcionó bien en 10K de máquinas.
Gracias por arreglar eso, peufeu, he votado a favor de tu buena respuesta.

Personalmente: elimine el costoso chip FTDI FT, solo use un microcontrolador con funcionalidad USB integrada; estos generalmente son más baratos que ATMega 328. Saque el microcontrolador del USB e intente que la energía transferida entre el suministro que alimenta los motores y el voltaje del USB sea lo más pequeña posible.

Como se dijo, una variedad de MOSFET baratos funcionará mucho mejor aquí. ULN280X no estaba destinado a ser puesto en paralelo.

¿Quizás debería poner un filtro RC entre MCU y la entrada del par Darlington?

Por lo general: no. En todo caso, querrá que sus transistores cambien lo más fuerte posible: si están "a medias" encendidos, tienen una gran resistencia y se calentarán bastante. SI necesita filtrar (es decir, si sus motores no "aplanan" su PWM lo suficiente), hágalo filtrado por LC después de los transistores del controlador.

Hay razones legítimas para no encender y apagar completamente los transistores, sino para operarlos en un rango de resistencia de paso bajo, pero luego, asegúrese de comprar disipadores de calor lo suficientemente grandes como para deshacerse de la energía que no se gasta en los motores pero el transistores

Agregué un rectificador para hacer una placa independiente de la polaridad. ¿Qué tan cojo es?

no es muy tonto, pero bastante inútil: es difícil enchufar un conector de barril de forma incorrecta, y la mayoría de los conectores de barril tienen + en el centro, - en el conductor exterior. Cualquiera que conecte un conector de barril de un suministro que no siga esa convención es, por decir lo menos, un poco descuidado. Todavía podría tener sentido proteger su circuito de ese error, pero un solo diodo de voltaje directo bajo o un MOSFET en una configuración adecuada para ese trabajo también podría hacerlo, sin quemar el voltaje directo del diodo 2x solo para que pueda conectar hipotéticamente incluso en extrañas fuentes de alimentación de 5V.

¿Cómo hacer una protección contra sobrecorriente? ¿Tengo que hacerlo?

Depende de a quién o qué necesites proteger. Estoy seguro de que incluso puede comprar circuitos integrados de controlador de motor que dejarían obsoleto todo su sistema (sin embargo, no los buscaría por usted) que incluyen algo así como un límite de corriente por canal.

Si quiere hacerlo usted mismo: agregue resistencias de derivación del lado bajo (un par de cientos de mΩ, por lo general) y use el voltaje a través de estos para apagar el MOSFET en el canal individual si la corriente es demasiado alta (es decir, cuando el voltaje sobre el la derivación se eleva demasiado). Es posible que necesite electrónica analógica adicional.

Alternativamente, use sus MOSFET en el lado bajo de sus motores y controle el voltaje a través de los MOSFET: debe ser (casi) Vcc (MOSFET apagado) o muy bajo (MOSFET sólido, sin sobrecorriente). Si aumenta el voltaje en el MOSFET, apáguelo. Podría conducir a una electrónica analógica mucho más simple, ya que, según la disponibilidad de tipos de MOSFET adecuados, podría ser básicamente una resistencia desde la puerta hasta el lado del motor del MOSFET. Simule con, por ejemplo, LTSpice.

El problema del micro/USB depende de si el sistema necesita funcionar sin USB conectado o no. Estoy de acuerdo, si siempre tendrá USB, entonces una CPU ARM de $ 1-2 con USB será más barata y más rápida. Además, algunos de ellos te dan la opción de arrastrar y soltar sobre USB para programarlos, lo que siempre es bueno. Pero entonces las cosas no funcionarán sin el USB. Y supongo que poder usar las bibliotecas de arduino se considera una ventaja aquí.
@Andrew sobre las bibliotecas de Arduino... bueno, prefiero tener un pequeño RTOS ejecutándose en la MCU que en Arduino, pero, de nuevo, no sabemos casi nada sobre las necesidades del proyecto de OP.
Estoy completamente de acuerdo, arduino no sería mi primera opción para esto o la mayoría de las otras cosas, de hecho, estaría muy abajo en mi lista para la mayoría de las cosas. Pero entonces no soy la persona que diseña esto o escribe el software, si esto es algo de bajo volumen, entonces un poco más de costo unitario para evitar tener que aprender un nuevo entorno puede ser una buena compensación, eso se reduce a los detalles que no hacemos. no sé

Tiene un LM7905 que se muestra en su esquema, que es un regulador de voltaje negativo.

Tenga en cuenta que el pinout es diferente al de un LM7805.

No ha mostrado qué valor es C1. ¿Espera usar el circuito con entrada de CA? Si es así, necesitará un condensador de gran valor, probablemente miles de microfaradios.

¿Cuánta corriente necesitarán los motores? Puede haber una disipación de energía significativa en el puente rectificador (U1). ¿Necesita entrada de CA o protección contra polaridad inversa?

A menos que desee hacer algún software USB, recomendaría utilizar el enfoque FTDI en lugar de realizar esa función en el micro.