Hola quiero que me confirmen que lo que estoy haciendo no va a freír mi Arduino Mega.
El boceto que estoy usando para enviar un pulso en el pin 8 a un 2n3055 que está cambiando 12 voltios es este:
int pulse = 8;
int sensorValue;
void setup() {
pinMode(pulse, OUTPUT);
}
void loop() {
int sensorValue = analogRead(A0);
map(sensorValue, 0, 1023, 1, 2000);
digitalWrite(pulse, HIGH);
delay(sensorValue);
digitalWrite(pulse, LOW);
delay(sensorValue);
}
Estoy usando un potenciómetro entre Arduino 5v y tierra con el limpiaparabrisas yendo al pin A0.
simular este circuito : esquema creado con CircuitLab
Quiero saber:
¿Podría alimentar esto directamente desde mi USB en lugar de alimentar el transistor Y el Arduino desde la batería fuente?
Si ambos tienen que ser alimentados por la batería, ¿necesito conectar el emisor a la tierra del Arduino Y la batería para evitar que toda la corriente fluya a través de la tierra del Arduino y obtener un pulso limpio o simplemente conecto el emisor a el negativo de la batería y la señal estarán bien.
En cualquier configuración que sea mejor, ¿cuál es el mejor lugar para colocar un medidor analógico que tenga una capacidad nominal de hasta 3 amperios para que pueda ver el consumo total de energía de la placa y el circuito del transistor?
Por último, estoy usando esto para pulsar la bobina lateral de alto voltaje en un transformador de microondas, por lo que tiene mucha impedancia y cuando lo pulsa consume aproximadamente 300 mA como máximo, así que podría alimentar el Arduino a través de USB y el transistor de la batería para que yo puede reprogramar sobre la marcha y tener un pulso establecido en lugar de usar la olla. (como en escribir el código para un cierto retraso y cargarlo mientras se ejecuta)
valor del sensor int = 1;
¿Por qué estás inicializando esta variable a 1, cuando luego se sobrescribe en la primera línea de loop()
?
retraso (valor del sensor);
¿Es intencional tener un retraso variable de n milisegundos, donde n es el valor leído desde el puerto A0 cada vez? Además, ¿se requiere ese retraso dos veces, una vez después de configurar el pin de salida en alto, una vez después de configurarlo en bajo?
Necesitará una resistencia base entre pulse
(Pin 8) y la base del 2n3055, con un valor calculado según la cantidad de corriente que pretenda permitir a través del colector. Si está utilizando el transistor como interruptor, se sugiere un mínimo de alrededor de 220 ohmios, para mantener la corriente del pulse
pin por debajo de los 25 mA, dentro de los límites seguros para cada pin: el valor máximo absoluto para cada pin es de 40 mA. .
1) Depende del sorteo actual. El USB tiene un fusible PTC de 500 mA. Si su carga no excede eso, entonces está bien.
2) La corriente encontrará el camino de menor resistencia, así que está bien. Usaría un optoaislador para separar los dos dispositivos. Siempre que cambie una gran carga de corriente, se inducirá mucho ruido en su sistema.
3) Simplemente rompa el circuito para medir el consumo de corriente. Prácticamente entre el terminal positivo de la batería y la carga.
4) Recomendaría cambiar a un MOSFET en lugar de usar el transistor NPN. Si realiza el cálculo de disipación de energía para los dos dispositivos, tiene mucho sentido: MOSFET: P = (I^2)(Ron) = (300mA^2)*(mOhms) => poco calor NPN: P = ( I*V) = (300mA)*(0.7V) = 0.21W
No desea utilizar PWM porque analogWrite() está fijado a 490 Hz.
pjc50
Anindo Ghosh
angelagrande
yippie
analogWrite( pulse , dutyCycle );
, dondedutyCycle = ( 255 * sensorValue ) / 1024;
.bradley
Kurt E. Clothier
Anindo Ghosh
bradley