SlideShare una empresa de Scribd logo
1 de 10
CARGA ELECTRÓNICA ARDUINO
En este tutorial les muestro cómo he construido una carga electrónica casera con Arduino,
una pantalla LCD, un codificador rotatorio para el menú y un MOSFET de potencia para el
control de carga. También tiene un buen sistema de enfriamiento para que pueda manejar
cargas elevadas. Ver cómo hacer el circuito, la carcasa, conectar todo, ver el código que
he usado y qué módulos y hacer el mismo proyecto. Espero que te guste. Si este tutorial
le ayuda, considere apoyar mi trabajo.
Parte 1 - ¿Qué necesitamos?
Esta es toda la electrónica que necesitamos para este proyecto. También tiene una lista
con algunas otras partes que necesitamos, como la madera contrachapada, el enfriador,
las cubiertas y los tornillos impresos en 3DF del ventilador. La electrónica es fácil de usar.
Todos los módulos utilizan comunicación i2c. Para el disipador de calor, he usado un
enfriador de PC y funciona muy bien. Necesitará un cable delgado para las conexiones de
5 V pero un cable grueso para el MOSFET y las líneas eléctricas.
Para el dron necesitamos:
1 x Arduino NANO: ENLACE eBay
1 x pantalla LCD i2c: LINK eBay
1 x ADS1115 ADC: ENLACE eBay
1 x MCP4725 DAC: ENLACE eBay
Parte 2 - Esquema
• Hablemos del esquema. Es importante y es posible que deba adaptarlo a sus
necesidades. En primer lugar, 12V del adaptador de CC está conectado a un interruptor
de palanca y luego al pin Arduin o Vin y al ventilador, por lo que cuando cambiamos el
interruptor, todo está encendido. El NANO tiene un regulador de 5V y ese será nuestro
Vcc. Suministre todos los módulos a Vcc y GND y conecte los pines SDA y SCL del
Arduino a todos los módulos i2c (ADC, DAC y LCD).
• Conecte el codificador a Vcc, GND y los 3 pines a los pines digitales D8, D9 y D10 del
Arduino. Conecte los pulsadores a los pines D11 y D12. También conecte el zumbador a
D3 para la señal PWM para tonos.
• Sobre el divisor de voltaje. Lea el código y las siguientes partes de los tutoriales. He
usado 10K y 100K, pero esos no son exactamente estos valores, por lo que debemos
adaptar el multiplicador en el código. Lee el código.
• Para leer la corriente utilizo una derivación de 1ohm. Leemos el voltaje en esta carga en
modo diferencial con el ADC. Nuevamente, esta resistencia no es exactamente de 1
ohmio, por lo que el multiplicador se adaptará en el código. Lea esa parte más tarde.
Conecte la salida DAC a la puerta del MOSFET. Load +, Load-, S + y S- son los
conectores banana que tenemos en el panel frontal. Eso es.
Si desea que el controlador supere los 2.1A, necesitará más voltaje en la puerta MOSFET
que 5V que el DAC podría dar. Para eso, use este segundo esquema con un OPAMP
entre el DAC y la puerta MOSFET.
Parte 3.1 - Prepare el MOSFET
Ok, obtenga el MOSFET y suelde cables gruesos al drenaje, la compuerta y la fuente.
Agregue tubos retráctiles para aislamiento. Luego mida la posición y haga un agujero en el
disipador de calor. Agregue un poco de pasta térmica y atornille en su lugar el MOSFET.
Ahora debería tener todo el bloque de alimentación con 3 cables.
Parte 3.2 - Monte la PCB
En una PCB de creación de prototipos, suelde todos los componentes. Utilizo cables
delgados para las conexiones de baja potencia como 5V para los módulos, conexiones i2c
y pulsadores. Para la ruta desde la entrada a través de la carga y hasta el MOSFET, use
conexiones de cables gruesos. Además, haga muy corta la conexión desde el ADC0 y
ADC1 del ADS1115 a los terminales de la resistencia de 1ohm. Cuanto más largas sean
estas conexiones, más caída de voltaje habrá en la carga, y necesitamos leer la caída
exactamente en la CARGA. Para los pulsadores, LCD y codificador, agregamos cables
largos y delgados para una futura conexión a la PCB con algunos pines macho-hembra.
Para las conexiones de alimentación, agregue algunos terminales de tornillo si los tiene.
Parte 3.3 - Monte la PCB
A continuación puede ver las conexiones en la parte inferior de la PCB. Como puede ver,
he usado un cable grueso para la ruta de alimentación para que pueda manejar alta
corriente. También he llenado de soldadura algunas conexiones por la misma razón.
Coloqué pines hembra para luego poder conectar la pantalla LCD, el codificador y esos 2
botones. Ahora incluso podemos hacer una prueba y luego exponer el caso.
Parte 4.1 - El caso
He usado madera contrachapada e hice un estuche simple. Empiezo con 4 paredes, la
superior, los laterales y la trasera. Mido dónde encajar el ventilador del refrigerador en el
panel posterior. Luego corté un agujero en el panel trasero para el ventilador y otro en el
lado derecho para el flujo de aire. Luego cubro el estuche enirte con vinilo de textura de
fibra de carbono para que se vea mejor. Luego imprimo en 3D las cubiertas del ventilador.
Descarga los de aquí. Usando superpegamento pego las cubiertas en su lugar.
Parte 4.2 - Más caso
Luego pego 4 bloques de madera en la parte inferior y agrego una tuerca M3. Estos se
usarán para cerrar la caja cuando termine de usar tornillos M3. Luego hago el panel
frontal y lo envuelvo en vinilo de fibra de carbono. Imprimo el soporte LCD y lo coloco
dentro. Luego decido dónde colocar cada componente. Hago agujeros y agrego todos los
botones, LCD, codificador y conectores. Luego pego el panel frontal a la carcasa y hago
las conexiones a la PCB. Asegure el interior del PCB con pegamento.
Parte 4.3 - Finalización del caso
El ventilador está pegado en su lugar en el panel trasero. Hago un agujero en el costado y
me aseguro de que el conector USB Arduino esté frente a ese agujero para poder
programar el chip con un cable USB. El conector principal de 12V DC tiene un orificio en
la parte posterior para que podamos conectar la alimentación aquí. Eso es. Cierra la caja
con tornillos y podemos subir el código.
Parte 5.1 - Código del controlador
Vaya a continuación y descargue el código. Necesitará las bibliotecas para los módulos
LCD, ADS1115 y MCP4725 y también puede descargar esas bibliotecas desde el
siguiente enlace. También necesitará la biblioteca BusIO, así que instálela con el
administrador de biblioteca de Arduino IDE. Lea el código para obtener más detalles,
especialmente la parte del multiplicador. Compile y cargue y luego pruebe el controlador.
Parte 5.2 - Explicación del multiplicador
Esta parte es importante. Verá, cuando demanda al ADS1115, para pasar de valores de
bits (0 a 65000), usamos un multiplicador. De forma predeterminada, es "0.185mv" o
"0.000185V". En el código, para medir la corriente, hacemos una medición diferencial del
voltaje en la carga "1ohm". Dado que la carga es de 1ohm, eso nos dará
DIRECTAMENTE el valor actual ya que "I = V / R" y R es 1. ¡¡¡PERO !!! La resistencia no
es exactamente de 1ohm, por lo que en mi caso he adaptado el multiplicador a
0.0001827. Es posible que deba ajustar esta variable a otros valores hasta que obtenga
buenas lecturas, por lo que mientras mide el valor con un multímetro externo al mismo
tiempo, ajuste esta variable hasta obtener buenos resultados.
Lo mismo ocurre aquí. Pero en este caso, la lectura de voltaje proviene de un divisor de
voltaje. Verá, el ADS1115 solo puede medir hasta 5V. Si la entrada es más alta, se
dañará. Entonces, para eso, entre el ADS1115 y la entrada principal, he usado un divisor
de 10K y 100K y eso será igual a un divisor de 0.0909090. Entonces, ahora el
multiplicador es 0.000185 / 0.0909090 = 0.002035. Ahora, estos valores de resistencia no
son perfectos más cercanos, por lo que no tenemos exactamente 10K y 100K, por eso mi
multiplicador para la lectura de voltaje es 0.0020645. Simplemente haga lo mismo, mida el
voltaje en la pantalla LCD y también con un multimitador externo y ajuste este valor hasta
obtener buenos resultados. He medido las resistencias pero eso no es suficiente.
Necesitamos valores precisos.
const float multiplier = 0.0001827; //Multiplier used for "current" read
between ADC0 and ADC1 of the ADS1115
/////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
const float multiplier_A2 = 0.0020645; //Multiplier for voltage read from
the 10K/100K divider
Parte 7 - Más información
• Algo a tener en cuenta. En esta versión, no estoy usando las sondas sensoriales. El código
era demasiado lento si leo el voltaje de entrada y el voltaje de detección al mismo tiempo,
pero intentaré agregar esta función en una versión futura.
• Además, el control de la corriente se realiza cambiando el voltaje en la puerta MOSFET.
Este control debería ser PID para obtener muy buenos resultados, pero la lectura de ADC
y la escritura de DAC están ralentizando tanto el código, que un buen PID no estaba
funcionando. Entonces, en lugar de PID, hice un "control manual" y decido el valor
proporcional dependiendo del rango de error. A continuación puede ver un ejemplo. Si el
error es muy grande, mayor al 80% del punto de ajuste, entonces la salida DAC cambiará
en los pasos io 300 de un total de 4069. Si el error es el 60% del punto de ajuste en pasos
de 170 y así sucesivamente. Si el error es pequeño, los pasos son solo 1 de un toral de
4069, por lo que tenemos un buen control. Esto funciona pero no es perfecto.
if (error > (mW_setpoint*0.8))
{
if(mW_setpoint > power_read){
dac_value = dac_value + 300;
}
if(mW_setpoint < power_read){
dac_value = dac_value - 300;
}
}
else if (error > (mW_setpoint*0.6))
{
if(mW_setpoint > power_read){
dac_value = dac_value + 170;
}
if(mW_setpoint < power_read){
dac_value = dac_value - 170;
}
}
else if (error > (mW_setpoint*0.4))
{
if(mW_setpoint > power_read){
dac_value = dac_value + 120;
}
if(mW_setpoint < power_read){
dac_value = dac_value - 120;
}
}
...

Más contenido relacionado

La actualidad más candente

Amplificador y pequeña señal bjt
Amplificador y pequeña señal bjtAmplificador y pequeña señal bjt
Amplificador y pequeña señal bjtjohan muñoz
 
Robótica - Conceptos preliminares 2
Robótica - Conceptos preliminares 2Robótica - Conceptos preliminares 2
Robótica - Conceptos preliminares 2Luis Hernández
 
Transistores ut01300240
Transistores ut01300240Transistores ut01300240
Transistores ut01300240Albaro Apaza
 
Notas sobre el ic bd9275 f (utilizado en tarjetas inversoras y fuentes de ali...
Notas sobre el ic bd9275 f (utilizado en tarjetas inversoras y fuentes de ali...Notas sobre el ic bd9275 f (utilizado en tarjetas inversoras y fuentes de ali...
Notas sobre el ic bd9275 f (utilizado en tarjetas inversoras y fuentes de ali...Alexis Colmenares
 
Notas sobre códigos de error, reemplazo del mcz3001, medición de éste y un t...
Notas sobre códigos de error, reemplazo del mcz3001, medición de éste y un  t...Notas sobre códigos de error, reemplazo del mcz3001, medición de éste y un  t...
Notas sobre códigos de error, reemplazo del mcz3001, medición de éste y un t...Alexis Colmenares
 
Fuentes conmutadas BASICO
Fuentes conmutadas BASICOFuentes conmutadas BASICO
Fuentes conmutadas BASICOel___richard
 
Curso lcd sony pdf
Curso lcd sony pdfCurso lcd sony pdf
Curso lcd sony pdfwilmer67
 
Reparacion de los circuitos inversores
Reparacion de los circuitos inversoresReparacion de los circuitos inversores
Reparacion de los circuitos inversoresDennis Miranda
 
Todo sobre el backlight de las pantallas
Todo sobre el backlight de las pantallasTodo sobre el backlight de las pantallas
Todo sobre el backlight de las pantallasinveca pisttburgh
 
Amplificadores TBJ
Amplificadores TBJAmplificadores TBJ
Amplificadores TBJBertha Vega
 
Amplificador operacional y transistor bjt - práctica 1
Amplificador operacional y transistor bjt - práctica 1Amplificador operacional y transistor bjt - práctica 1
Amplificador operacional y transistor bjt - práctica 1Francesc Perez
 
Fuente alimentacion samsung bn44 00261 a lcd
Fuente alimentacion samsung bn44 00261 a   lcdFuente alimentacion samsung bn44 00261 a   lcd
Fuente alimentacion samsung bn44 00261 a lcdwilmer67
 
Amplificador con transistor BJT (Microondas)
Amplificador con transistor BJT (Microondas)Amplificador con transistor BJT (Microondas)
Amplificador con transistor BJT (Microondas)Cristian Aguirre Esparza
 
AMPLIFICADORES OPERACIONALES
AMPLIFICADORES OPERACIONALESAMPLIFICADORES OPERACIONALES
AMPLIFICADORES OPERACIONALESJORGE BENITEZ
 

La actualidad más candente (20)

Amplificador y pequeña señal bjt
Amplificador y pequeña señal bjtAmplificador y pequeña señal bjt
Amplificador y pequeña señal bjt
 
Robótica - Conceptos preliminares 2
Robótica - Conceptos preliminares 2Robótica - Conceptos preliminares 2
Robótica - Conceptos preliminares 2
 
Transistor Bipolar
Transistor BipolarTransistor Bipolar
Transistor Bipolar
 
Transistores ut01300240
Transistores ut01300240Transistores ut01300240
Transistores ut01300240
 
Notas sobre el ic bd9275 f (utilizado en tarjetas inversoras y fuentes de ali...
Notas sobre el ic bd9275 f (utilizado en tarjetas inversoras y fuentes de ali...Notas sobre el ic bd9275 f (utilizado en tarjetas inversoras y fuentes de ali...
Notas sobre el ic bd9275 f (utilizado en tarjetas inversoras y fuentes de ali...
 
Polarización de los Transistores
Polarización de los TransistoresPolarización de los Transistores
Polarización de los Transistores
 
Notas sobre códigos de error, reemplazo del mcz3001, medición de éste y un t...
Notas sobre códigos de error, reemplazo del mcz3001, medición de éste y un  t...Notas sobre códigos de error, reemplazo del mcz3001, medición de éste y un  t...
Notas sobre códigos de error, reemplazo del mcz3001, medición de éste y un t...
 
Fuentes conmutadas BASICO
Fuentes conmutadas BASICOFuentes conmutadas BASICO
Fuentes conmutadas BASICO
 
Curso lcd sony pdf
Curso lcd sony pdfCurso lcd sony pdf
Curso lcd sony pdf
 
Amplificación de señal con BJT
Amplificación de señal con BJTAmplificación de señal con BJT
Amplificación de señal con BJT
 
Reparacion de los circuitos inversores
Reparacion de los circuitos inversoresReparacion de los circuitos inversores
Reparacion de los circuitos inversores
 
Todo sobre el backlight de las pantallas
Todo sobre el backlight de las pantallasTodo sobre el backlight de las pantallas
Todo sobre el backlight de las pantallas
 
Amplificadores TBJ
Amplificadores TBJAmplificadores TBJ
Amplificadores TBJ
 
Amplificadores Multietapa
Amplificadores MultietapaAmplificadores Multietapa
Amplificadores Multietapa
 
Album de diagramas
Album de diagramasAlbum de diagramas
Album de diagramas
 
Amplificador operacional y transistor bjt - práctica 1
Amplificador operacional y transistor bjt - práctica 1Amplificador operacional y transistor bjt - práctica 1
Amplificador operacional y transistor bjt - práctica 1
 
Fuente alimentacion samsung bn44 00261 a lcd
Fuente alimentacion samsung bn44 00261 a   lcdFuente alimentacion samsung bn44 00261 a   lcd
Fuente alimentacion samsung bn44 00261 a lcd
 
Amplificador con transistor BJT (Microondas)
Amplificador con transistor BJT (Microondas)Amplificador con transistor BJT (Microondas)
Amplificador con transistor BJT (Microondas)
 
El transistor bjt
El transistor bjtEl transistor bjt
El transistor bjt
 
AMPLIFICADORES OPERACIONALES
AMPLIFICADORES OPERACIONALESAMPLIFICADORES OPERACIONALES
AMPLIFICADORES OPERACIONALES
 

Similar a Arduino: Carga electrónica Arduino

Reloj digital para casa o coche
Reloj digital para casa o cocheReloj digital para casa o coche
Reloj digital para casa o cocheCofer1732
 
Practica 2 lab 20303 23
Practica 2 lab 20303 23Practica 2 lab 20303 23
Practica 2 lab 20303 23Nagells Rizh
 
Construir un receptor universal de control remoto
Construir un receptor universal de control remotoConstruir un receptor universal de control remoto
Construir un receptor universal de control remotoMaxon Dixom
 
Implementacion del circuito BCC
Implementacion del circuito BCCImplementacion del circuito BCC
Implementacion del circuito BCCCristian Villa
 
Implementacion del circuito BCC
Implementacion del circuito BCCImplementacion del circuito BCC
Implementacion del circuito BCCCristian Villa
 
Laboratorio de un convertidor de digital a anlógico 3-DAC.docx
Laboratorio de un convertidor de digital a anlógico 3-DAC.docxLaboratorio de un convertidor de digital a anlógico 3-DAC.docx
Laboratorio de un convertidor de digital a anlógico 3-DAC.docxJesús Tarín
 
Cap 3: physical computing
Cap 3: physical computingCap 3: physical computing
Cap 3: physical computingflosepulve
 
condensador, inductor o bobina y sensores conectados al arduino
condensador, inductor o bobina y sensores conectados al arduinocondensador, inductor o bobina y sensores conectados al arduino
condensador, inductor o bobina y sensores conectados al arduinoMartin Quispe
 
Amplificadores operacionales: CONVERTIDOR CON OPAM
Amplificadores operacionales: CONVERTIDOR CON OPAMAmplificadores operacionales: CONVERTIDOR CON OPAM
Amplificadores operacionales: CONVERTIDOR CON OPAMAlberto Mendoza
 
Investigación documental 3 u
Investigación documental 3 uInvestigación documental 3 u
Investigación documental 3 uIrving Che
 
Circuitos Electricos
Circuitos ElectricosCircuitos Electricos
Circuitos Electricosyeliadan_16
 
La electricidad y la electrónica.pdf
La electricidad y la electrónica.pdfLa electricidad y la electrónica.pdf
La electricidad y la electrónica.pdfLauraGuerrero291900
 

Similar a Arduino: Carga electrónica Arduino (20)

Robotica uwu
Robotica uwuRobotica uwu
Robotica uwu
 
Reloj digital para casa o coche
Reloj digital para casa o cocheReloj digital para casa o coche
Reloj digital para casa o coche
 
Adc 4
Adc 4Adc 4
Adc 4
 
Practica 2 lab 20303 23
Practica 2 lab 20303 23Practica 2 lab 20303 23
Practica 2 lab 20303 23
 
Ejemplos pic c
Ejemplos pic cEjemplos pic c
Ejemplos pic c
 
Construir un receptor universal de control remoto
Construir un receptor universal de control remotoConstruir un receptor universal de control remoto
Construir un receptor universal de control remoto
 
Electrónica
ElectrónicaElectrónica
Electrónica
 
Reporte practica 4
Reporte practica 4Reporte practica 4
Reporte practica 4
 
Implementacion del circuito BCC
Implementacion del circuito BCCImplementacion del circuito BCC
Implementacion del circuito BCC
 
Implementacion del circuito BCC
Implementacion del circuito BCCImplementacion del circuito BCC
Implementacion del circuito BCC
 
Voltímetro digital con ICL7107
Voltímetro digital con ICL7107Voltímetro digital con ICL7107
Voltímetro digital con ICL7107
 
Laboratorio de un convertidor de digital a anlógico 3-DAC.docx
Laboratorio de un convertidor de digital a anlógico 3-DAC.docxLaboratorio de un convertidor de digital a anlógico 3-DAC.docx
Laboratorio de un convertidor de digital a anlógico 3-DAC.docx
 
Circuitos impresos
Circuitos impresosCircuitos impresos
Circuitos impresos
 
Cap 3: physical computing
Cap 3: physical computingCap 3: physical computing
Cap 3: physical computing
 
condensador, inductor o bobina y sensores conectados al arduino
condensador, inductor o bobina y sensores conectados al arduinocondensador, inductor o bobina y sensores conectados al arduino
condensador, inductor o bobina y sensores conectados al arduino
 
reparación de monitores
reparación de monitoresreparación de monitores
reparación de monitores
 
Amplificadores operacionales: CONVERTIDOR CON OPAM
Amplificadores operacionales: CONVERTIDOR CON OPAMAmplificadores operacionales: CONVERTIDOR CON OPAM
Amplificadores operacionales: CONVERTIDOR CON OPAM
 
Investigación documental 3 u
Investigación documental 3 uInvestigación documental 3 u
Investigación documental 3 u
 
Circuitos Electricos
Circuitos ElectricosCircuitos Electricos
Circuitos Electricos
 
La electricidad y la electrónica.pdf
La electricidad y la electrónica.pdfLa electricidad y la electrónica.pdf
La electricidad y la electrónica.pdf
 

Más de SANTIAGO PABLO ALBERTO

Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaSANTIAGO PABLO ALBERTO
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez SANTIAGO PABLO ALBERTO
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio PereiraSANTIAGO PABLO ALBERTO
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...SANTIAGO PABLO ALBERTO
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1SANTIAGO PABLO ALBERTO
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTSANTIAGO PABLO ALBERTO
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...SANTIAGO PABLO ALBERTO
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...SANTIAGO PABLO ALBERTO
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...SANTIAGO PABLO ALBERTO
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...SANTIAGO PABLO ALBERTO
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...SANTIAGO PABLO ALBERTO
 

Más de SANTIAGO PABLO ALBERTO (20)

secuencia electroneumática parte 1
secuencia electroneumática parte 1secuencia electroneumática parte 1
secuencia electroneumática parte 1
 
secuencia electroneumática parte 2
secuencia electroneumática parte 2secuencia electroneumática parte 2
secuencia electroneumática parte 2
 
Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzada
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio Pereira
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
 
Arduino: Arduino de cero a experto
Arduino: Arduino de cero a expertoArduino: Arduino de cero a experto
Arduino: Arduino de cero a experto
 
Fisica I
Fisica IFisica I
Fisica I
 
Quimica.pdf
Quimica.pdfQuimica.pdf
Quimica.pdf
 
Manual básico PLC OMRON
Manual básico PLC OMRON Manual básico PLC OMRON
Manual básico PLC OMRON
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMART
 
Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART
 
PLC: Automatismos industriales
PLC: Automatismos industrialesPLC: Automatismos industriales
PLC: Automatismos industriales
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
 
PLC: Motor Dahlander
PLC: Motor DahlanderPLC: Motor Dahlander
PLC: Motor Dahlander
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
 

Último

Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...wvernetlopez
 

Último (20)

Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
 

Arduino: Carga electrónica Arduino

  • 1. CARGA ELECTRÓNICA ARDUINO En este tutorial les muestro cómo he construido una carga electrónica casera con Arduino, una pantalla LCD, un codificador rotatorio para el menú y un MOSFET de potencia para el control de carga. También tiene un buen sistema de enfriamiento para que pueda manejar cargas elevadas. Ver cómo hacer el circuito, la carcasa, conectar todo, ver el código que he usado y qué módulos y hacer el mismo proyecto. Espero que te guste. Si este tutorial le ayuda, considere apoyar mi trabajo. Parte 1 - ¿Qué necesitamos? Esta es toda la electrónica que necesitamos para este proyecto. También tiene una lista con algunas otras partes que necesitamos, como la madera contrachapada, el enfriador, las cubiertas y los tornillos impresos en 3DF del ventilador. La electrónica es fácil de usar. Todos los módulos utilizan comunicación i2c. Para el disipador de calor, he usado un enfriador de PC y funciona muy bien. Necesitará un cable delgado para las conexiones de 5 V pero un cable grueso para el MOSFET y las líneas eléctricas. Para el dron necesitamos: 1 x Arduino NANO: ENLACE eBay 1 x pantalla LCD i2c: LINK eBay 1 x ADS1115 ADC: ENLACE eBay 1 x MCP4725 DAC: ENLACE eBay
  • 2. Parte 2 - Esquema • Hablemos del esquema. Es importante y es posible que deba adaptarlo a sus necesidades. En primer lugar, 12V del adaptador de CC está conectado a un interruptor de palanca y luego al pin Arduin o Vin y al ventilador, por lo que cuando cambiamos el interruptor, todo está encendido. El NANO tiene un regulador de 5V y ese será nuestro Vcc. Suministre todos los módulos a Vcc y GND y conecte los pines SDA y SCL del Arduino a todos los módulos i2c (ADC, DAC y LCD). • Conecte el codificador a Vcc, GND y los 3 pines a los pines digitales D8, D9 y D10 del Arduino. Conecte los pulsadores a los pines D11 y D12. También conecte el zumbador a D3 para la señal PWM para tonos. • Sobre el divisor de voltaje. Lea el código y las siguientes partes de los tutoriales. He usado 10K y 100K, pero esos no son exactamente estos valores, por lo que debemos adaptar el multiplicador en el código. Lee el código. • Para leer la corriente utilizo una derivación de 1ohm. Leemos el voltaje en esta carga en modo diferencial con el ADC. Nuevamente, esta resistencia no es exactamente de 1 ohmio, por lo que el multiplicador se adaptará en el código. Lea esa parte más tarde. Conecte la salida DAC a la puerta del MOSFET. Load +, Load-, S + y S- son los conectores banana que tenemos en el panel frontal. Eso es. Si desea que el controlador supere los 2.1A, necesitará más voltaje en la puerta MOSFET que 5V que el DAC podría dar. Para eso, use este segundo esquema con un OPAMP entre el DAC y la puerta MOSFET.
  • 3. Parte 3.1 - Prepare el MOSFET Ok, obtenga el MOSFET y suelde cables gruesos al drenaje, la compuerta y la fuente. Agregue tubos retráctiles para aislamiento. Luego mida la posición y haga un agujero en el disipador de calor. Agregue un poco de pasta térmica y atornille en su lugar el MOSFET. Ahora debería tener todo el bloque de alimentación con 3 cables.
  • 4. Parte 3.2 - Monte la PCB En una PCB de creación de prototipos, suelde todos los componentes. Utilizo cables delgados para las conexiones de baja potencia como 5V para los módulos, conexiones i2c y pulsadores. Para la ruta desde la entrada a través de la carga y hasta el MOSFET, use conexiones de cables gruesos. Además, haga muy corta la conexión desde el ADC0 y ADC1 del ADS1115 a los terminales de la resistencia de 1ohm. Cuanto más largas sean estas conexiones, más caída de voltaje habrá en la carga, y necesitamos leer la caída exactamente en la CARGA. Para los pulsadores, LCD y codificador, agregamos cables largos y delgados para una futura conexión a la PCB con algunos pines macho-hembra. Para las conexiones de alimentación, agregue algunos terminales de tornillo si los tiene.
  • 5. Parte 3.3 - Monte la PCB A continuación puede ver las conexiones en la parte inferior de la PCB. Como puede ver, he usado un cable grueso para la ruta de alimentación para que pueda manejar alta corriente. También he llenado de soldadura algunas conexiones por la misma razón. Coloqué pines hembra para luego poder conectar la pantalla LCD, el codificador y esos 2 botones. Ahora incluso podemos hacer una prueba y luego exponer el caso.
  • 6. Parte 4.1 - El caso He usado madera contrachapada e hice un estuche simple. Empiezo con 4 paredes, la superior, los laterales y la trasera. Mido dónde encajar el ventilador del refrigerador en el panel posterior. Luego corté un agujero en el panel trasero para el ventilador y otro en el lado derecho para el flujo de aire. Luego cubro el estuche enirte con vinilo de textura de fibra de carbono para que se vea mejor. Luego imprimo en 3D las cubiertas del ventilador. Descarga los de aquí. Usando superpegamento pego las cubiertas en su lugar. Parte 4.2 - Más caso Luego pego 4 bloques de madera en la parte inferior y agrego una tuerca M3. Estos se usarán para cerrar la caja cuando termine de usar tornillos M3. Luego hago el panel frontal y lo envuelvo en vinilo de fibra de carbono. Imprimo el soporte LCD y lo coloco dentro. Luego decido dónde colocar cada componente. Hago agujeros y agrego todos los botones, LCD, codificador y conectores. Luego pego el panel frontal a la carcasa y hago las conexiones a la PCB. Asegure el interior del PCB con pegamento.
  • 7. Parte 4.3 - Finalización del caso El ventilador está pegado en su lugar en el panel trasero. Hago un agujero en el costado y me aseguro de que el conector USB Arduino esté frente a ese agujero para poder programar el chip con un cable USB. El conector principal de 12V DC tiene un orificio en la parte posterior para que podamos conectar la alimentación aquí. Eso es. Cierra la caja con tornillos y podemos subir el código.
  • 8. Parte 5.1 - Código del controlador Vaya a continuación y descargue el código. Necesitará las bibliotecas para los módulos LCD, ADS1115 y MCP4725 y también puede descargar esas bibliotecas desde el siguiente enlace. También necesitará la biblioteca BusIO, así que instálela con el administrador de biblioteca de Arduino IDE. Lea el código para obtener más detalles, especialmente la parte del multiplicador. Compile y cargue y luego pruebe el controlador. Parte 5.2 - Explicación del multiplicador Esta parte es importante. Verá, cuando demanda al ADS1115, para pasar de valores de bits (0 a 65000), usamos un multiplicador. De forma predeterminada, es "0.185mv" o "0.000185V". En el código, para medir la corriente, hacemos una medición diferencial del voltaje en la carga "1ohm". Dado que la carga es de 1ohm, eso nos dará DIRECTAMENTE el valor actual ya que "I = V / R" y R es 1. ¡¡¡PERO !!! La resistencia no es exactamente de 1ohm, por lo que en mi caso he adaptado el multiplicador a 0.0001827. Es posible que deba ajustar esta variable a otros valores hasta que obtenga buenas lecturas, por lo que mientras mide el valor con un multímetro externo al mismo tiempo, ajuste esta variable hasta obtener buenos resultados. Lo mismo ocurre aquí. Pero en este caso, la lectura de voltaje proviene de un divisor de voltaje. Verá, el ADS1115 solo puede medir hasta 5V. Si la entrada es más alta, se dañará. Entonces, para eso, entre el ADS1115 y la entrada principal, he usado un divisor de 10K y 100K y eso será igual a un divisor de 0.0909090. Entonces, ahora el multiplicador es 0.000185 / 0.0909090 = 0.002035. Ahora, estos valores de resistencia no son perfectos más cercanos, por lo que no tenemos exactamente 10K y 100K, por eso mi multiplicador para la lectura de voltaje es 0.0020645. Simplemente haga lo mismo, mida el voltaje en la pantalla LCD y también con un multimitador externo y ajuste este valor hasta obtener buenos resultados. He medido las resistencias pero eso no es suficiente. Necesitamos valores precisos.
  • 9. const float multiplier = 0.0001827; //Multiplier used for "current" read between ADC0 and ADC1 of the ADS1115 ///////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// const float multiplier_A2 = 0.0020645; //Multiplier for voltage read from the 10K/100K divider Parte 7 - Más información • Algo a tener en cuenta. En esta versión, no estoy usando las sondas sensoriales. El código era demasiado lento si leo el voltaje de entrada y el voltaje de detección al mismo tiempo, pero intentaré agregar esta función en una versión futura. • Además, el control de la corriente se realiza cambiando el voltaje en la puerta MOSFET. Este control debería ser PID para obtener muy buenos resultados, pero la lectura de ADC y la escritura de DAC están ralentizando tanto el código, que un buen PID no estaba funcionando. Entonces, en lugar de PID, hice un "control manual" y decido el valor proporcional dependiendo del rango de error. A continuación puede ver un ejemplo. Si el error es muy grande, mayor al 80% del punto de ajuste, entonces la salida DAC cambiará en los pasos io 300 de un total de 4069. Si el error es el 60% del punto de ajuste en pasos de 170 y así sucesivamente. Si el error es pequeño, los pasos son solo 1 de un toral de 4069, por lo que tenemos un buen control. Esto funciona pero no es perfecto. if (error > (mW_setpoint*0.8)) { if(mW_setpoint > power_read){ dac_value = dac_value + 300; } if(mW_setpoint < power_read){ dac_value = dac_value - 300; } } else if (error > (mW_setpoint*0.6)) { if(mW_setpoint > power_read){ dac_value = dac_value + 170; } if(mW_setpoint < power_read){ dac_value = dac_value - 170;
  • 10. } } else if (error > (mW_setpoint*0.4)) { if(mW_setpoint > power_read){ dac_value = dac_value + 120; } if(mW_setpoint < power_read){ dac_value = dac_value - 120; } } ...