Paso 5: Integración de Arduino (encender el inversor)
No queremos que nuestro inversor siempre conectado a la batería por múltiples razones. No queremos una carga fantasma drenaje potencialmente nuestra batería cuando no está en uso, pero lo más importante, no queremos personas capaces de conectar sus teléfonos o computadoras portátiles y la batería sin trabajar para él. Utilizando el Arduino para apagar y encender el inversor nos permite gestionar las entradas y salidas de nuestra batería sin depender de la honestidad o la experiencia técnica de nuestros usuarios.
Fácilmente podemos integrar el Arduino como el guardián de la puerta del inversor mediante el uso de un MOSFET. Un MOSFET es como un normal transistor pero requiere menos corriente de la puerta para encender mientras que entrega más corrientes (la compensación es que el voltaje de la puerta debe ser mayor que un transistor normal pero eso no es un problema para un Arduino). Introdujimos el MOSFET en el circuito del inversor de la batería para que el extremo negativo del inversor fue conectado con el desagüe de lo MOSFET y el extremo negativo de la batería fue conectado a la fuente de lo MOSFET. La salida de Arduino de pernos entonces fue conectado a la puerta de lo MOSFET. Cuando cualquier criterio fue fijado ha sido cumplida (una cierta duración de ciclismo, voltaje suministrado, etc.) el Arduino aplica un voltaje a la puerta, permitiendo que la corriente del polo positivo de la batería para fluir en el inversor a través del MOSFET y en el extremo negativo de la batería (es decir completar el circuito). Cuando Arduino apaga esta señal, el circuito se rompe y el inversor se apaga.
Porque el MOSFET puede manejar grandes corrientes, puede conseguir muy calientes. Al igual que con el regulador de 5V, hemos añadido un pequeño disipador de calor para ayudar a disipar el calor.
Código de ejemplo:
el código completo se puede encontrar al final de este Instructable
el código en negrita es lo que añadimos en el código de arriba
mosfet de int = 7; utilizado para encender el inversor
sin firmar largo timeOn, timecheck; para el control de tiempo
void loop() {}
Si (motorV > 1.0 & &! hasBeenOn) {}
timeOn = millis();
}
inverterControl();
}
la función independiente
void inverterControl() {}
battV = getbattV(); Compruebe el voltaje de la batería
timecheck = millis() - timeOn; Compruebe cuánto tiempo el usuario ha sido andar en bicicleta
/ * Queremos que los usuarios han hecho de una cierta cantidad de tiempo
antes de permitir que el usuario carga electrónica del usuario.
También es necesario para asegurarse que la batería no está poco cargada.
*/
Si (hasBeenOn & & (battV > 10.0) & & (timecheck > 5000) & &! mosfetOn) {}
digitalWrite (mosfet, HIGH); el inversor está en cuando el MOSFET se enciende el Arduino
mosfetOn = true;
}
else if ((battV < = 10.0)) {//turns inversor si la batería es demasiado baja
digitalWrite (mosfet, LOW);
mosfetOn = false;
}
otra cosa if(timecheck <5000) {//turns de si el usuario detiene/no se ha hecho lo suficiente
digitalWrite (mosfet, LOW);
mosfetOn = false;
}
}