Autor Tema: Simulador de linea telefonica  (Leído 22618 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Simulador de linea telefonica
« Respuesta #30 en: 02 de Septiembre de 2004, 12:32:00 »
Eehhhhhh gracias a esta iniciativa estoy aprendiendo nuevas cositas.
Pero a ver que dice nuestro amigo duende porque quiere hacerlo todo con un 16F84 o similar,creo que habrá que optar por alguno de sus hermanitos mayores,o medianos...
Saludotes

Desconectado Duende_Azul

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 853
RE: Simulador de linea telefonica
« Respuesta #31 en: 03 de Septiembre de 2004, 00:08:00 »
Interesante lo del pwm, pero quisiera saber si puedo activarlo y desactivarlo sobre la marcha.

Tengo en mente otra solucion para micros sin esas exquisiteces aunque si hay que usar un pic mas potente pues asi será.

La solucion que propongo es un tanto enredada de explicar pero tratare:

Primero, tenemos que generar la señal de f1 = 102,2KHz, esto lo hacemos implementando un retardo de 4,89uSeg (medio periodo de f1), al final de este retardo cambiamos el valor del pin y asi tenemos una señal cuadrada de aprox 102KHz.

Segundo, habilitamos dos contadores (C1 y C2) que iremos incrementando, despues de la rutina de retardo y los iremos incrementando hasta que C1=240 decimal  y C2=5113 decimal;
cuando esa cuenta se alcance, cambiaremos el estado del pin asociado a la frecuencia que necesitamos, es decir, si para la frecuencia f1 estamos usando el pin A0, A0 cambiara de estado cada vez que se retorne de la rutina de retardo; si para f2(425Hz) estamos usando el pin A1, A1 cambiara de estado solo cuando C1  alcance el valor 240  y asi sucesivamente.

Ahora, de donde salen los numeros 240 y 5113, muy simple, si repetimos 4,89uSeg 240 veces habremos completado un total de

4,89E10-6  * 240 = 1,17E-3  es decir 1,17mSeg  y esto no es mas que el valor de un medio periodo de una señal de 425Hz;

4,89E10-6 * 5113 =  2,500257E-2  o sea 25mSeg  que es el valor del medio periodo de la señal de 20Hz

Adjunto un diagrama de flujo.

http://miarroba.com/foros/ver.php?foroid=256746&temaid=2264386&msgid=19677142

En el diagrama de flujo P0, P1, P2  son los pines por donde se obtendran las señales; C1 y C2 los contadores y N1=240  y N2=5113, la llamada a d1 se refiere el retardo de 4,89uSeg

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: Simulador de linea telefonica
« Respuesta #32 en: 03 de Septiembre de 2004, 03:51:00 »
Vale, la pwm la genera un módulo. Conectando y desconectando el módulo, listo. En C es muy sencillo:
Codigo:

Encender:
void chopeo(void){
   long duty;
   setup_timer_2(T2_DIV_BY_1, 49, 1);
   setup_ccp2 (CCP_PWM);
   duty = 75;
   set_pwm2_duty(duty);
}

y para apagar:
      setup_ccp2(CCP_OFF);    //Desconecta el PWM. Para el motor.


No recuerdo exactamente la frecuencia de este ejemplo, pero eso da lo mismo, no viene al caso. Es para que veas como se haría. EN tu caso el duty sería del 50%, para que sea cuadrada. Deberias de calcular el duty pues para 50%. Pero como ves es fácil.

Teienes dos módulos de PWM, pero aunque son independientes, la frecuencia de ambos es la misma, ya que trabajan con el mismo timer. Por tanto, entre una y otra la diferencia es el duty. Así que si necesitas dos frecuencias distintas no sirve. Pero puedes hacer una mediante el PWM y otra por otro medio.
En cuanto al resto de tu post... pues no me entero muy bien de lo que necesitas exactamente.
A ver, lo que necesitas que es... Una frecuencia de 102Khz por un pin y luego una temporización de 20hz?

Saludos!!

PD: por cierto, aunque es una tontería.. En el diagrama de flujo si se cumple la condición C1=N1? además de poner a cero C1, cambiar el pin, deberías incrementar también C2 no?
Saludos desde Huelva (ESPAÑA)

Desconectado Duende_Azul

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 853
RE: Simulador de linea telefonica
« Respuesta #33 en: 03 de Septiembre de 2004, 06:55:00 »
Correcto cucaracha, hay que incrementar c2, hay una flecha sobrando en el cuadro donde se inicializa c2.

Lo que hay que hacer es generar al mismo tiempo una frecuencia de 102KHz  para el multiplicador de voltaje a la vez que se envia al telefono que descuelga, una frecuencia de 425Hz, a la vez que se envia al inversor del multiplicador, una frecuencia de 20Hz  para generar el "ring tone"

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: Simulador de linea telefonica
« Respuesta #34 en: 04 de Septiembre de 2004, 08:50:00 »
Pero todas simultaneamente, las tres a la vez?? Porque pones "...al mismo tiempo". Si es así se complica la cosa...
Saludos desde Huelva (ESPAÑA)

Desconectado Duende_Azul

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 853
RE: Simulador de linea telefonica
« Respuesta #35 en: 04 de Septiembre de 2004, 11:56:00 »
Peues ese es el detalle, todas juntas, es mas la cosa es mas complicada...  fijate, cuando los telefonos estan colgados en la linea debe haber 45V, eso lo hare con un multiplicador de voltaje de cuatro etapas y es necesario aplicar una señal oscilante de 102KHz, cuando se levante un auricular  hay que enviarle el tono de llamada de 425Hz y mantener la otra señal a 102KHz para que el multiplicador mantenga los 45V para el telefono que no se ha descolgado; despues de marcar es cuando se pone peluda la cosa pues hay que generar los 102KHz para el multiplicador, 20Hz  que aplicados al inversor generaran 45V AC  que haran sonar al telefono  mientra se envia, al telefono que lanza la llamada un pulso de 425KHz durante 1seg, y luego un silencio durante 4 segundos.....

creo que me va a doler la cabeza...

En el primer esquema que subi, el de los tonos, esta implementado lo que acabo de explicar pero sin la frecuencia de 102KHz, le dan al boton "llamando" y por Rb1 tienen 425Hz y por Rb2 tienen 20Hz, aunque estoy pensando generar los 102KHz con un 555  ya que me parece que no es necesario "apagar" esa señal en ningun momento.

Todo se puede simplificar mucho si en lugar del multiplicador se usa un transformador que dé 30 y pico de voltios en el secundario, de donde se obtendrian los voltajes para el pic  y voltaje alterno suficiente para hacer sonar el telefono.

Esto como que es lo mas simple pero les confieso que tengo una extraña pbseción por las cosas compactas; mientras mas pequeño mejor....  ( electronicamente hablando.. )

Desconectado odukec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 174
RE: Simulador de linea telefonica
« Respuesta #36 en: 04 de Septiembre de 2004, 12:56:00 »
Hola

Duende.. no puedes usar un PIC16F873..? te sirve hasta para mirar cuando los tel"s han sido descolgados, y pienso que si quieres algo compacto, pues usas uno de monaje superficial.. yo lo e echo.. y quedan excelentes, la programacion la hago "in circuit". Con este pic se pueden generar las tres señales que necesitas..

Bueno.. si decides algo.. estoy presto a ayudar en lo que pueda..!!

Saludos

Desconectado Duende_Azul

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 853
RE: Simulador de linea telefonica
« Respuesta #37 en: 04 de Septiembre de 2004, 15:42:00 »
Soldar un smd?  eso lo dices porque no me has visto soldando un dip normal  
Respecto a lo del 873, no tengo ningun problema con eso, yo pense en el 84  por lo comun y corriente y barato y toda la cosa pero era una vision inicial, el pic verdaderamente util lo sabremos a medida que el desarrollo avance y ya vez, el 84 empieza a perder votos

Desconectado odukec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 174
RE: Simulador de linea telefonica
« Respuesta #38 en: 05 de Septiembre de 2004, 10:42:00 »
Hola

Bueno esto es lo que hice, ya estan las tres frecuencias, la de 20Hz esta por el pin B2, la de 425Hz esta por B1, y la de 102Khz por C2..

Codigo:

#include <16F873A.h>
#use delay(clock=20000000)
#fuses NOWDT,HS, NOPUT, NOPROTECT, NODEBUG, BROWNOUT, LVP, NOCPD, NOWRT

#define INTS_FREC_425Hz 6
#define INTS_FREC_20Hz 122

byte cont, cont1;
int int_count, int_count1;
short flag, flag1;



#int_RTCC
RTCC_isr()
{
   if(--int_count==0) {
      ++cont;
      int_count=INTS_FREC_425Hz;
      if(flag==0){
         flag=1;
         output_high(PIN_B1);
      }else{
         flag=0;
         output_low(PIN_B1);
      }
   }
   if(--int_count1==0) {
      ++cont1;
      int_count1=INTS_FREC_20Hz;
      if(flag1==0){
         flag1=1;
         output_high(PIN_B2);
      }else{
         flag1=0;
         output_low(PIN_B2);
      }
   }

}



void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_spi(FALSE);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DIV_BY_1,48,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   enable_interrupts(INT_RTCC);
   enable_interrupts(GLOBAL);

   setup_ccp1(CCP_PWM);

   set_pwm1_duty(25);

   while(TRUE){}

}


Desconectado Duende_Azul

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 853
RE: Simulador de linea telefonica
« Respuesta #39 en: 09 de Septiembre de 2004, 19:59:00 »
Ando algo ocupado, pronto adelantare algo mas.  

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Simulador de linea telefonica
« Respuesta #40 en: 10 de Septiembre de 2004, 09:00:00 »
Yo también ando bastante liado.
Buen trabajo,odukec.Pillaré tu código para incluirlo en el programa que gestiona el funcionamiento del sistema,que de momento está paradillo,pero lo retomaré en pocos días.
Saludos

Desconectado Kamus23

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 63
RE: Simulador de linea telefonica
« Respuesta #41 en: 25 de Mayo de 2005, 09:31:00 »
hola amigos me gustaria que retomaran de nuevo este tema porque esta muy interesante:
si lo leen les pregunto al generar las seña AC de 70 volt con el inversor la misma es una senoidal o tren de pulso??????

y como puedo hacer para acoplar los tonos por la linea telefonica que se esta simulando, sin el uso de un trasnformador????
Kamus de Acuario

Desconectado doppel

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1521
    • DOPPELBLOG
RE: Simulador de linea telefonica
« Respuesta #42 en: 15 de Junio de 2005, 14:05:00 »
HOla!!!

justo ahora que descubro este post se me terminan los mensajes!! Helado  jejeje
espero que si leen esto comenten en que quedo ya que es verdaderamente muy interesante y estaba en algo parecido.-
saludos
**DOPPELBLOG**

 " Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien "

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4300
RE: Simulador de linea telefonica
« Respuesta #43 en: 19 de Junio de 2005, 18:15:00 »
Aquí les dejo un circuito que lo tome de una central telefónica de 4 internos y 1 línea externa el archivo interno corresponde a la interfaz con el teléfono, el otro es la fuente de alimentación para toda la circuitería, si a alguien le interesase saber mas de toda esta central telefónica consúltenme a la siguiente dirección: fcp_19@hotmail.com tengo todo el resto del circuito que funciona con un microcontrolador de motorola el MC68HC705C8A del cual no tengo el programa pero por lo que se de ver el diagrama completo es posible reemplazarlo por un PIC

Las señales con las cuales trabaja el interfaz de teléfono son las sig:

IN_OUT_DE_AUDIO: Por aquí entra y sale la señal de audio de la comunicación, y sale la señal DTMF para el discado por TONOS
TONO_DE_DISCADO: Por esta línea se introduce los tono que escuchamos de acuerdo a  los comandos y estados de los teléfono (tono de discado, de ocupado, etc.) estos tonos son generados por el micro
PULSO_DE_DISCADO: Por acá salen los pulsos hacia el micro de lo que discamos (discado por pulsos), esta patilla también tiene la señal de cuando el teléfono es descolgado
SEÑAL_DE_TIMBRADO: Aquí se introduce el ciclo de aproximadamente 0.33 Hz el cual hace el RING del teléfono si esta línea la mantenemos en alto el teléfono (estando colgado) sonara indefinidamente.

Espero que les ayude en el desarrollo del proyecto, aclaro que este circuito es de una central telefónica comercial, la cual se consigue en el mercado Argentino y yo la e trabajado como técnico instalador y reparador ( salvo el micro) y da muy buenos resultados.

Como no e podido subir el archivo adjunto el que lo desée puede pedírmelo a la dirección anterior, mandenme su e-mail pidiendo el archivo central telefónica.rar y con gusto se los enviaré.

Un saludos a todos y gracias por permitirme colaborar.
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado paKoSTe

  • PIC10
  • *
  • Mensajes: 7
Re:Simulador de linea telefonica
« Respuesta #44 en: 10 de Octubre de 2018, 13:06:29 »
Buenas tardes,
Se que el post es demasiado antiguo, pero los enlaces que se publican no estan ya disponibles, y estoy buscando información y experiencias para construir un simulador de líneas para docencia, por lo que si alguien dispone de los enlaces o información de proyectos similares, por favor, ¿puede resubirlos?

Gracias y un saludo


 

anything