TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: 16f en 04 de Mayo de 2007, 00:07:26
-
HOLA AMIGOS ESTOY DISEÑANDO UN FASIMETRO, TRIFASICO CON UN MICRO CONTROLADOR 16F873.
EL INSTRUMENTO DEBE TENER 3 LED LOS CUALES INDICAN LA FASE TESTEADA,
UNA PUNTA AL NEUTRO Y OTRA PUNTA A LA FASE.
ESTOY PROGRAMANDO EN PROTON CUALQUIER IDEA ME ESCRIBEN
MARIOGRENE@HOTMAIL.COM
NOTA LAS FASES ESTAN DESPLAZADAS 120 GRADOS
-
creo que para hacer un fasimetro es demasiado un pic si solo veras las fases con leds
ojo que solo podras saber la secuencia de fases pero nunca podras dar con la secuencia exacta me refiero
que el pic te detecte si le pones tres lineas quien es r quien es t o s solo se puede saber la secuencia eso es por un simple analisis asi que circuitos detectores de secuencia de fase por la red los puedes encontrar :mrgreen:
-
mmmmmmmmmm
lo que pasa es que el proyecto de las fases se puede atacar de distintas forma: secuencia , tipo de linea y desfase voltaje corriente.
cualquiera de estas me puede servir
-
Lo que te quiero decir es que por cualquier metodo que desees usar nunca sabras exactamente cual es r por ejemplo
si es que la estacion que reparte las fases esta lejos de donde estas haciendo la medida ademas es algo inutil ,querer saber esa informacion lo unico que intereesa sea para activar algun motor o lo que sea es saber la fase , una idea por el portb.0 habilita interrupciones y lo conectas a cualquier linea de las tres esa linea sera tu referncia osea R esperaras el paso del cruce por cero de la onda y a partir de alli verificaras que onda biene despues de un desfase de 120grados de los cuales debes de transformar en tiempo de acuerdo a la frecuencia de la zona caa en peru por ejenmplo es de 60hz,y supon que las dos lineas sobrantes estan en portb.1 y portb.2 ,la linea que llege poco despues de esos 120 grados sera S y asi por defecto la ultima sera t es una idea de poder tomarla solo debes de buscar una configuracion que te aisle bien de ese voltaje para sensar cada linea con una tierra flotante para tu circuito con el pic espero te sirva la idea :mrgreen:
-
hola encontre 2 proyectos que apuntan a los desfases
-
Hola 16F...mmm aun no entiendo muy bien lo que quieres hacer....esos dos archivos que dejaste estan bien buenos, yo ya los habioa visto, yo estoy haciabdome algo parecido. Quieres medir el desfase en ángulo (o fp o tiempo, que es lo mismo, solo Basta hacer algunos cálculos), o medir si es secuencia positiva o negativa? , ¿ como es eso de que te indique cual fase esta siendo testeada? eso no es posible, ya que uno no sabe cual es RST solo miediendo, ya que es una designación arbitraria. Yo en estos dias tendre el codigo de mi medidor del factor de potencia, así que cuando esté listo lo publico y lo comentamos, saludos ;)
-
hola amigo, mira alomejor no explique bien , la cosa es lograr cual quier instrumento asociado al sistema trifasico
secuencia , factor de potencia, etc.
yo estoy trabajando con componentes pasivos para hacerme la idea.
sacando la idea de un tecle automatico , solo funciona cuando se colocan las fases en un orden definido si no el tecle no funciona.
y para optener el factor de potencia tambien me estoy afirmando en los archivos de la uni.
seria genial que pudieses llegar al codigo del factor de potencia.
-
Por favor si sabes como funciona ya lo tienes y es cuestion de entenderte con el soft has una interrupcion cuando comienze la comba de voltaje , y activas por ejemplo al timer0, luego otra interrupcion cuando comienze la comba de corriente aca detienes el timer0 ,con ese retardo que tienes grabado en el timer0 lo conviertes a grados y aplicas el coseno , la verdad en pbp nunca lo e intentado pero la idea esta ya puesta, espero te sirva para hallar el factor de potencia :mrgreen:.
-
Electronanado, así es....yo tenia a misma idea, y es la que mostrare a continuación. Lo hice en MKB, ocupe la interrupcion del puerto B para ver cuando cambian las fases, y saqué los 4 bits menos significativos por los 4 pines menos significativos del puerto B. Es solo a modo de ejemplo, era solo para ver que la imterrupcion funciona. Y si, funciona a la perfeccion, la probe con varios factores d epotencia, y los 4 bits indicav lo que deben. Ocupe el divisor del timer en 1:32.
Este programita mide el tiempo de desfase. Lo que resta es hacer que haga una relacion entre tiempo y y ángulo, y despues aplicar el coseno para sacar el factor de potencia, y luego mandarlo a un dislay. Pero a mi modo de ver esta parte del programa es la mas importante. aki va:
program fasbas
dim tiempo as byte
dim medir as byte
dim atento as byte
sub procedure interrupt
if portb.6=0 then
if portb.7=0 then
atento=1
goto fin
end if
end if
if atento=1 then
TMR0=0
atento=0
medir=1
goto fin
end if
if medir=1 then
tiempo=TMR0
medir=0
end if
fin:
intcon=%00001000
end sub
main:
tiempo=0
medir=0
atento=0
option_reg=%00000100
trisb=%11110000
portb=0
intcon=%10001000
inicio:
portb.3=tiempo.3
portb.2=tiempo.2
portb.1=tiempo.1
portb.0=tiempo.0
delay_ms(10)
goto inicio
end.
es para un pic 16f628. Una idea para mejrarlo es usar el timer 1, que tiene mayor resolución. Hice programitas con oto pic, donde salía una señal con periodo de 20 ms (ya que aca la F=50 Hz) en una patita, y en otra patita, una señal igual a esta, pero desfasada. Hice desfases de entre 0 a 5 ms (0 y 90º) y todo bien. El unico problema es que para desfase de 0ms (osea, estan en fase) este programita no lo puede medir, ya que se peroduce una interupcion por un cambio en uno d elos pines, y en la otra se produce casi simultanemante el cambio, mientras aun se está en la interrupcion d ela primera, y la segunda interrupcion no es atendida. Creo que solucionaré activando una interrupcion por TMR, si el timer se desborda sin haber sido medido, entonces es pq el desfase es cero. Espero te sirva, cuando mejore el codigo lo publico deneuvo. Intenta mejorarlo tu tambein y me avisas.....salduos ;) :-/ :D :D :-) 8)
-
aca mande los datos a un display, son los grados del angulo de desfase, van de 0 - 90º. Los pines a0 y a1 los use para multiplexar los dos display, de b0 a b3 son la salida de los datos, y en b7 y b6 entran la señal de voltaje y corriente, en forma de onda cuadrada( despues de psar por un comparador o algo). Como dije antes, si alguien se anima a mejorarlo no estaria mal, o a aportar una idea. Si lo mejoro lo publicare. Espero le sirva a alguein. saludos.
program fasbas2
dim tiempo as byte
dim medir as byte
dim atento as byte
dim angulo as float
dim angulod as byte
sub procedure interrupt
if portb.6=0 then
if portb.7=0 then
atento=1
goto fin
end if
end if
if atento=1 then
TMR0=0
atento=0
medir=1
goto fin
end if
if medir=1 then
tiempo=TMR0
medir=0
end if
fin:
intcon=%00001000
end sub
main:
tiempo=0
medir=0
atento=0
option_reg=%00000100
cmcon=7
trisb=%11110000
trisa=0
portb=0
porta=0
intcon=%10001000
inicio:
angulo=0.576*tiempo
angulod=floor(angulo)
angulod=Dec2Bcd(angulo)
porta.0=1
porta.1=0
portb.0=angulod.0
portb.1=angulod.1
portb.2=angulod.2
portb.3=angulod.3
delay_ms(4)
porta.0=0
porta.1=1
portb.0=angulod.4
portb.1=angulod.5
portb.2=angulod.6
portb.3=angulod.7
goto inicio
end.
-
vale vale amigo, implementare el programita en lcd para optener el angulo y indicar si es capacitivo o inductivo