Transmisor FM, PLL (Redfield29) ver. 2.0

Daniel agradecido.
No hice uso de Google porque la traducción no es perfecta, no puedo escribir, pero puedo entender español. Pensé que era la misma, pero no tengo ningún problema con eso. Espero que entiendas.

Sé que mucha de la programación básica y estoy tratando de entender un código publicado aquí.
Podría alguien explicarme por debajo de la línea?

Frecuencia_step = ELea 02 'Frecuencia para empezar

No he visto que este valor se escribe en la memoria.
¿Cómo (eread 02) ya cargada con un valor inicial? ¿Dónde puedo encontrar estos valores?

No sé cómo poner todo el código en una ventana;

Agradecido.
Bueno , desafortunadamente NO se nada de programación , en ese tema sou un verdadero anarfabeto :cry: :cry: :cry: :cry:
Mi verdadera playa es RF (radiofrequenzia) ;) :cool:
! Sea muy bienvenido a esa comunidad caro paisano !
Escribo en portuñol para que todos entiendam ao ciento por cento , jajajajajajajajajaja.
Att,
Daniel lopes.
 
Daniel agradecido.

Hice la siguiente modificación para ver si la pantalla LCD impreso:


Frecuencia_set:
'Frecuencia_Decimal = (Frecuencia_step*10/2)//100
'Frecuencia_Entera = (Frecuencia_step*10/2)/100
'Print At 1,1, " FRE SET ", Dec Frecuencia_Entera, ",", Dec Frecuencia_Decimal," "
Print At 1,1, Dec Frecuencia_step



He eliminado las líneas de bajo.

El valor decimal en la pantalla LCD era de 1928.

Yo no sé es cómo la memoria ya cargado con este valor. No veo ningún comando de escritura en la memoria de iniciar el programa. Así que no entiendo casi nada de la Proton IDE.

Vamos a ver si alguien sabe.
 
Daniel agradecido.

Hice la siguiente modificación para ver si la pantalla LCD impreso:


Frecuencia_set:
'Frecuencia_Decimal = (Frecuencia_step*10/2)//100
'Frecuencia_Entera = (Frecuencia_step*10/2)/100
'Print At 1,1, " FRE SET ", Dec Frecuencia_Entera, ",", Dec Frecuencia_Decimal," "
Print At 1,1, Dec Frecuencia_step



He eliminado las líneas de bajo.

El valor decimal en la pantalla LCD era de 1928.

Yo no sé es cómo la memoria ya cargado con este valor. No veo ningún comando de escritura en la memoria de iniciar el programa. Así que no entiendo casi nada de la Proton IDE.

Vamos a ver si alguien sabe.
Seguramente hay por aca (Foro) Capos en lo tema que sapen como resolver tu dudas ;) ;) ;)
Att,
Daniel Lopes.
 
Daniel agradecido.
No hice uso de Google porque la traducción no es perfecta, no puedo escribir, pero puedo entender español. Pensé que era la misma, pero no tengo ningún problema con eso. Espero que entiendas.

Sé que mucha de la programación básica y estoy tratando de entender un código publicado aquí.
Podría alguien explicarme por debajo de la línea?

Frecuencia_step = ELea 02 'Frecuencia para empezar

No he visto que este valor se escribe en la memoria.
¿Cómo (eread 02) ya cargada con un valor inicial? ¿Dónde puedo encontrar estos valores?

No sé cómo poner todo el código en una ventana;

Agradecido.

Hola...esa traducción/interpretación del programa la hice yo del turco al Ingles/Español en el año 2014.
Lo que hace la linea que intentas entender es: leer la tercera posición de la memoria EEProm interna del PIC(el valor 02 es el tercer valor...la memoria arranca en 00, 01, 02,...hasta el final de la capacidad que tenga cada PIC en particular) y cargarle el valor que allí se encuentra a la variable Frecuencia_step (paso de frecuencia).
El resto solo es operaciones matemáticas para separa o unir una cifra y pasarla a la forma que se pueda mostrar en la pantalla del LCD o cargarse la al PLL vía la comunicación I2C(en el formato que entiende dicho IC en particular).
Lo que quieras entender de programacion en Proton Pic Basic, hay en el foro un tema abierto al respecto aquí.
Saludos.

Ric.

PD:para envolver un código hay una herramienta cuando se contesta/genera una pregunta y es la de la imagen que adjunto.
Ins.jpg
 
Última edición:
Hola ribevi.
* Entiendo QAS operaciones matemáticas, y entiendo que la posición de memoria y 02, simplemente no entienden cómo ya se ha cargado este valor, y es estándar en el que ver. La mina solución sea capaz de modificar era crear una variable (freq_inicio) con el valor inicial de 1928 como un ejemplo y cambiar la línea en negrita a continuación.

High LED
Print At 1,1, " FM TRANSMITTER "
Print At 2,1, " Rdvv ViProje "
DelayMS 300
Frecuencia_step = Freq_inicio 'Frecuencia de inicio
If Frecuencia_step > 0 Then ComPLL


Gracias.
 
Hola ribevi.
* Entiendo QAS operaciones matemáticas, y entiendo que la posición de memoria y 02, simplemente no entienden cómo ya se ha cargado este valor, y es estándar en el que ver. La mina solución sea capaz de modificar era crear una variable (freq_inicio) con el valor inicial de 1928 como un ejemplo y cambiar la línea en negrita a continuación.

High LED
Print At 1,1, " FM TRANSMITTER "
Print At 2,1, " Rdvv ViProje "
DelayMS 300
Frecuencia_step = Freq_inicio 'Frecuencia de inicio
If Frecuencia_step > 0 Then ComPLL


Gracias.

Al grabar el pic se puede alterar cualquier valor de la memoria eeprom directamente.
Este programa (como esta)lee el valor de dicha posición de memoria(02 y 03 ya que la variable a la que esta cargándose ocupa dos posiciones de memoria por ser del tipo WORD.) y lo carga en dicha variable.
Si esta con valor 0 procede a entrar al modo programación de la frecuencia automáticamente.
Una vez seleccionada(Subir, Bajar) la frecuencia y almacenada(Grabar) ya queda escrito dicho valor en dicha posición por lo que la próxima vez que se encienda se cargara este valor almacenado.
Siempre al encender carga y coloca el PLL a la misma frecuencia programada la ultima vez que se uso Grabar mientras no se presione dicho botón. Esta acción en principio, lleva a entrar al modo programacion para cambiar la frecuencia.
Si uno quiere no tener todo estas posibilidades, el programa se simplifica a enviar un valor fijo almacenado siempre sin la intervención de ninguna tecla o botón para alterara el valor(Subir, Bajar, Grabar).
No se si soy claro por que no alcanzo a comprender que quieres hacer(a parte de entender como funciona el programa).

Ric.
 
Última edición:
Buenas tardes ...
Encontré la respuesta a mis dudas.
En los archivos descargados que los botones simulador de proteus ya había sido precionados y se muestra en la pantalla una frecuencia de 96,40 MHz, por lo que en la EEPROM era un valor de 0778 hex.
Para mí no tenía sentido, ya que al principio del programa, dijo que la frecuencia _step= Eread 02, y yo no había visto ningún comando para escribir algo antes de esa línea.

He diseñado un nuevo circuito en Proteus y carga el programa y la pantalla muestra una frecuencia de 327,63 MHz, que la EEPROM de un valor hexadecimal = FFFF. Oh, sí que tiene sentido porque creo en la EEPROM de forma predeterminada inicialmente todo esto en FF.

Gracias a ricbevi que intentó enteder mí, incluso el uso de un traductor.
 
Última edición:
Buenas tardes ...
Encontré la respuesta a mis dudas.
En los archivos descargados que los botones simulador de proteus ya había sido precionados y se muestra en la pantalla una frecuencia de 96,40 MHz, por lo que en la EEPROM era un valor de 0778 hex.
Para mí no tenía sentido, ya que al principio del programa, dijo que la frecuencia _step= Eread 02, y yo no había visto ningún comando para escribir algo antes de esa línea.

He diseñado un nuevo circuito en Proteus y carga el programa y la pantalla muestra una frecuencia de 327,63 MHz, que la EEPROM de un valor hexadecimal = FFFF. Oh, sí que tiene sentido porque creo en la EEPROM de forma predeterminada inicialmente todo esto en FF.

Gracias a ricbevi que intentó enteder mí, incluso el uso de un traductor.

Así es, Proteus almacena si fue usado el valor y en el próximo encendido carga el valor almacenado.
Al programar por primera ves un chip virgen, efectivamente todas las posiciones de memoria se encentan a valor $FF(hexadecimal o 255 decimal). En este caso en particular como lee dos posiciones la primera vez tiene que cargarse el valor $FFFF(Hexadecimal o sea 65535 en decimal)
Te aclaro que es un programa muy básico y se puede mejorar mucho en mucho de los aspectos(visuales, operativos).
Yo solo me limite a traducirlo e interpretar lo que ya estaba echo.

Ric.
 
Buenas tardes después de casi un año retome de nueva cuenta el proyecto, por motivos de que estuve fuera, así como conseguir los componentes, ahora solo me faltan dos resistencias que comprare el lunes.
Me habían comentando acerca de la calibración por medio de los trimmers (fue una hazaña conseguirlos) lo cual agradezco, pero tengo un duda acerca de la antena, ya que había hecho anteriormente solo transmisores pequeños (sintonizada con cap e inductor) y usaba antena telescópicas de radios, es posible usar en este estas mismas, solo para verificar su funcionamiento?
(La placa la hice por método de serigrafia lo componentes activos están en la parte inferior ya que la coloque sin querer alrevez) :cry:
 

Adjuntos

  • FB_IMG_1470160366850.jpg
    FB_IMG_1470160366850.jpg
    57.4 KB · Visitas: 208
Estan correctamente posicionados es decir es como si se hubiera hecho el espejo de la imagen, creo qUE eso no hay problema, la duda es con respecto a la antena telescopica solo para probar..



Probe solo la parte de la transmisión pic y lcd, solo que no lo deje mucho por miedo a quemar el transistor de salida (aunque trae un disipador), al parecer esta bien, hasta mañana haré las pruebas ya que necesito 2 resistencia que no tengo.
 
Última edición por un moderador:
Ya compre los componentes que me faltaban, ahora surgió un problema, cuando enciende aparece unlocking, hasta ahi todo normal la frecuencia me marco 100 Mhz, la cosas es que enseguida parpadea solo el led lock-unlock , probé cambiando la frecuencia de operación, y sigue igual, el varicap que uso es el bb112, me imagino que no debería tener problema ya que abarca un gran margen para enganche, en el display aparece lock-unlock intermitentemente (al igual que el led). revise el voltaje de enganche me marca solo algunos milivolts y no los 5v que deberia, a alguien le paso esto?
 
Pues deberías de probar en frecuencia bajas 88 mhz o más arriba 106 mhz y ver el comportamiento y también abriendo o cerrando las bobinas del oscilador suerte
 
El BB112 es un diodo varicap para circuitos de AM, en un post se aclara que para este circuito el diodo varicap debe ser el BB109, BB132, BB133, los de punto rojo, verde o amarillo; o cualquier otro que tenga una capacitancia entre 1 y 80pf.
 
Pues me di a la tarea revisar cada componente, quite el varicap, transistor bf494, y llegue al bc548 que se encuentra en la rama de la salida RA0 del pic, el cual activa y desactiva el el lock-unlock, probe sin el transistor (no tengo a la mano reemplazo), quedo estable eganchado(sin parpadeos y lcd "lock"), por lo cual tengo la sospecha que su beta es pequeño o esta dañado (no esta en corto) :unsure:.
adjunto imagen de la etapa del diagrama
 

Adjuntos

  • w.jpg
    w.jpg
    55.4 KB · Visitas: 108
Pues me di a la tarea revisar cada componente, quite el varicap, transistor bf494, y llegue al bc548 que se encuentra en la rama de la salida RA0 del pic, el cual activa y desactiva el el lock-unlock, probe sin el transistor (no tengo a la mano reemplazo), quedo estable eganchado(sin parpadeos y lcd "lock"), por lo cual tengo la sospecha que su beta es pequeño o esta dañado (no esta en corto) :unsure:.
adjunto imagen de la etapa del diagrama


Hola...Dudo que el problema sea por ese transistor...para mi la carga que representa a el VCO(Q3) la etapa que componen Q4(habilitado por Q7...el de la cuestión) hace que disminuya la señal hacia el IC PLL y U2 y este se queda sin referencia(desengancha)....cuando se desconecta dicha etapa, aparece nuevamente el nivel de señal y pasa a habilitar nuevamente dicha etapa produciéndose así un funcionamiento intermitente.
Es solo especulación ya que nunca construí dicha placa pero el BF494 para ese lugar no seria de mi primer elección y tampoco el 2N4427 que lo sigue como separador.
Saludos.

Ric.
 
Ya compre los componentes que me faltaban, ahora surgió un problema, cuando enciende aparece unlocking, hasta ahi todo normal la frecuencia me marco 100 Mhz, la cosas es que enseguida parpadea solo el led lock-unlock , probé cambiando la frecuencia de operación, y sigue igual, el varicap que uso es el bb112, me imagino que no debería tener problema ya que abarca un gran margen para enganche, en el display aparece lock-unlock intermitentemente (al igual que el led). revise el voltaje de enganche me marca solo algunos milivolts y no los 5v que deberia, a alguien le paso esto?

Separa las bobinas de la salida de rf. Seria bueno que muestres una imagen de tu pll
 
hola señores le comento que he tenido problemas para que enganche y la solucion fue una resitencia en la base del bc 548 que llega al pic atraves de un jumper a masa. de esa forma e podido hacerlo enganchar. subo imagenes y ahi esta andando . si algien tiene alguna sugerencia la escucho
 

Adjuntos

  • 20160628_193942.jpg
    20160628_193942.jpg
    114.3 KB · Visitas: 306
  • 20160701_192721.jpg
    20160701_192721.jpg
    137.1 KB · Visitas: 324
  • 20160701_192732.jpg
    20160701_192732.jpg
    116.9 KB · Visitas: 326
al parecer las resistencias de 4,7 k los has puesto de 47 ohms las de 4,7k vendrían a ser amarillo ,violeta ,naranja y por ahí varias resistencias que usas son de precision pero no del valor ten en cuenta eso
 

Adjuntos

  • 1.JPG
    1.JPG
    137.4 KB · Visitas: 144
Atrás
Arriba