- Mensajes: 3
- Gracias recibidas: 0
Aviso
El foro está en modo de sólo lectura.
- Foro
- Arduino.
- Hardware ( modelos Arduino ).
- Control de Ventiladores con Arduino : Control de velocidad por PWM y lectura de
Control de Ventiladores con Arduino : Control de velocidad por PWM y lectura de
- Gaboes169
- Autor del tema
- Fuera de línea
- Navegador Iniciado
Menos
Más
6 años 4 meses antes #929
por Gaboes169
Control de Ventiladores con Arduino : Control de velocidad por PWM y lectura de Publicado por Gaboes169
Hola Buena tengo un drama, hice tal cual el vídeo sale, igualmente el esquema pero no me resulta ni me regula las rpm, al momento de conectar todo, el ventilador empieza a girar altiro, y solo para si desconecto los 12 vcc, resulta que probé con dos ventiladores, uno de 3 cables y otro de 4 pero con ninguno me resulto, este fue el código que use:
word salidaPwm = 3;
int potenciometro=A0;
int valor = 0;
int valorPwm = 0;
double pulso = 0;
double frecuencia = 0;
void setup () {
pinMode(salidaPwm, OUTPUT);
pinMode(potenciometro, INPUT);
configura25KhzPwm();
Serial.begin(115200);
}
void loop() {
valor=analogRead(potenciometro);
valorPwm=map(valor,0,1023,0,79);
cicloPwm(valorPwm);
medirRPM();
}
void configura25KhzPwm(){
TCCR2A = 0;
TCCR2B = 0;
TIMSK2 = 0;
TIFR2 = 0;
TCCR2A |= (1 << COM2B1) | (1 << WGM21) | (1 << WGM20);
TCCR2B |= (1 << WGM22) | (1 << CS21);
OCR2A = 79;
OCR2B = 0;
}
void cicloPwm(byte ocrb){
OCR2B = ocrb;
}
void medirRPM(){
pulso=pulseIn(11,HIGH);
//if(pulso>0.1)
// {
frecuencia=1000000/(2*pulso);
Serial.print("Frecuencia :");
Serial.print((frecuencia*60)/2);
//}
}
y al momento de iniciar el monitor serial, me muestra estas figuras:
i.imgur.com/r6WoDPa.png
estos ventiladores use
porfavor ayudenme D:
word salidaPwm = 3;
int potenciometro=A0;
int valor = 0;
int valorPwm = 0;
double pulso = 0;
double frecuencia = 0;
void setup () {
pinMode(salidaPwm, OUTPUT);
pinMode(potenciometro, INPUT);
configura25KhzPwm();
Serial.begin(115200);
}
void loop() {
valor=analogRead(potenciometro);
valorPwm=map(valor,0,1023,0,79);
cicloPwm(valorPwm);
medirRPM();
}
void configura25KhzPwm(){
TCCR2A = 0;
TCCR2B = 0;
TIMSK2 = 0;
TIFR2 = 0;
TCCR2A |= (1 << COM2B1) | (1 << WGM21) | (1 << WGM20);
TCCR2B |= (1 << WGM22) | (1 << CS21);
OCR2A = 79;
OCR2B = 0;
}
void cicloPwm(byte ocrb){
OCR2B = ocrb;
}
void medirRPM(){
pulso=pulseIn(11,HIGH);
//if(pulso>0.1)
// {
frecuencia=1000000/(2*pulso);
Serial.print("Frecuencia :");
Serial.print((frecuencia*60)/2);
//}
}
y al momento de iniciar el monitor serial, me muestra estas figuras:
i.imgur.com/r6WoDPa.png
estos ventiladores use
porfavor ayudenme D:
- Jose Luis
- Fuera de línea
- Navegador Platino
Menos
Más
- Mensajes: 620
- Karma: 6
- Gracias recibidas: 68
6 años 4 meses antes - 6 años 4 meses antes #933
por Jose Luis
Respuesta de Jose Luis sobre el tema Control de Ventiladores con Arduino : Control de velocidad por PWM y lectura de
Vale vamos a ir definiendo lo que pasa. Primero voy a pegar el codigo que use yo :
Fijate bien donde contectas los cables.salida PWM pin 3, Potencimetro A0, Pulso de entrada pin 11.
word salidaPwm = 3;
int potenciometro=A0;
int valor = 0;
int valorPwm = 0;
double pulso=0;
double frecuencia = 0;
void setup() {
pinMode(salidaPwm, OUTPUT);
pinMode(potenciometro, INPUT);
configura25KhzPwm();
Serial.begin(115200);
}
void loop() {
valor=analogRead(potenciometro);
valorPwm=map(valor,0,1023,0,79);
cicloPwm(valorPwm);
// Serial.println(valorPwm);
medirRPM();
// cicloPwm(19); // 25% (range = 0-79 = 1.25-100%)
// delay(5000);
// cicloPwm(39); // 50% (range = 0-79 = 1.25-100%)
// delay (5000);
// cicloPwm(59); // 75% (range = 0-79 = 1.25-100%)
//delay (5000);
}
void configura25KhzPwm() {
TCCR2A = 0; // TC2 Control Register A
TCCR2B = 0; // TC2 Control Register B
TIMSK2 = 0; // TC2 Interrupt Mask Register
TIFR2 = 0; // TC2 Interrupt Flag Register
TCCR2A |= (1 << COM2B1) | (1 << WGM21) | (1 << WGM20); // OC2B cleared/set on match when up/down counting, fast PWM
TCCR2B |= (1 << WGM22) | (1 << CS21); // prescaler 8
OCR2A = 79; // TOP overflow value (Hz)
OCR2B = 0;
}
void cicloPwm(byte ocrb) {
OCR2B = ocrb; // PWM Width (duty)
}
void medirRPM(){
pulso=pulseIn(11,HIGH);
// if(pulso>0.1)
// {
frecuencia=1000000/(2*pulso);
Serial.print("Frecuencia :");
Serial.println((frecuencia*60)/2);
// }
}
Fijate bien donde contectas los cables.salida PWM pin 3, Potencimetro A0, Pulso de entrada pin 11.
Última Edición: 6 años 4 meses antes por Jose Luis.
El siguiente usuario dijo gracias: Gaboes169
- Gaboes169
- Autor del tema
- Fuera de línea
- Navegador Iniciado
Menos
Más
- Mensajes: 3
- Gracias recibidas: 0
6 años 4 meses antes - 6 años 4 meses antes #937
por Gaboes169
Respuesta de Gaboes169 sobre el tema Control de Ventiladores con Arduino : Control de velocidad por PWM y lectura de
vale gracias, lo ultimo que pido xd, como que la frecuencia que me muestra es rara, nose como que la dejo en un lado el potenciometro, y se empieza a cambiar el valor, como que empieza a oscilar
Última Edición: 6 años 4 meses antes por Gaboes169.
- Jose Luis
- Fuera de línea
- Navegador Platino
Menos
Más
- Mensajes: 620
- Karma: 6
- Gracias recibidas: 68
6 años 4 meses antes #938
por Jose Luis
Respuesta de Jose Luis sobre el tema Control de Ventiladores con Arduino : Control de velocidad por PWM y lectura de
Podias poner una captura de pantalla para ver las cosas raras? Le has puesto una resistencia de 4k7 entre la salida de rpm del ventilador y positivo?
- Gaboes169
- Autor del tema
- Fuera de línea
- Navegador Iniciado
Menos
Más
- Mensajes: 3
- Gracias recibidas: 0
6 años 4 meses antes - 6 años 4 meses antes #942
por Gaboes169
Respuesta de Gaboes169 sobre el tema Control de Ventiladores con Arduino : Control de velocidad por PWM y lectura de
Última Edición: 6 años 4 meses antes por Gaboes169.
- Jose Luis
- Fuera de línea
- Navegador Platino
Menos
Más
- Mensajes: 620
- Karma: 6
- Gracias recibidas: 68
6 años 4 meses antes #943
por Jose Luis
Respuesta de Jose Luis sobre el tema Control de Ventiladores con Arduino : Control de velocidad por PWM y lectura de
La foto del montaje salio borrosa y no veo la resistencia pullup ni el valor que tiene, Podias indicarmela?
- Foro
- Arduino.
- Hardware ( modelos Arduino ).
- Control de Ventiladores con Arduino : Control de velocidad por PWM y lectura de
Tiempo de carga de la página: 0.117 segundos