# Proyecto transmisor FM con microcontrolador y PLL de transmisor de auto



## Rodrigo Postigo (Dic 4, 2015)

Amigos del foro les quiero mostar un proyecto personal , quien lo quiera usar esta en su derecho para eso lo comparto , ademas de darle unos retoques en la parte del pic (cosa que no entiendo ) ta que segun la hoja de datos del KT0803 K,M,L no dice que lleven diferente configuracion pero solo me toma los "L" que son los mas completos

aca van las primeras fotos



Las demas Fotos A ver si les gusta



Bueno la idea era hacer un transmisor con un PLL de auto sin depender del chip que lee los MP3 y que a veces se tilta solo entonces busque una persona que me haga la programacion en el microcontrolador que es un PIC 16F883  , la cuestion es que de programacion no entiendo nada y quisiera realizarle unos cambios al menu , como por ejemplo dejar el Preenfasis por defecto como va , la potencia de rf por defecto a full y algunas cositas mas que se me puedan ocurrir , yo solo tengo el .Hex que me entrego quien lo diseño y perdi contacto con el , si alguien se anima a descomplilar el .Hex lo subo y calculo que se podria usar para manejar tanto el KT0803 como tambien sus compañeros BK1085 y el QN8027


----------



## hackmanice (Dic 4, 2015)

Rodrigo de antemano gracias por tu ayuda, al hacer algunas modificaciones, funciono mi amp con el 2sc2630, entrega casi 60w con entrada de 5w.
[




Ricardo en cuanto a tu proyecyo pll, algunos transmisores los he realizando desmontando el pll de los transmisores fm para auto , uno de estos chips es el kt0803 el cual mensionaste mas adelante, suguiero el siguiente link, el cual es muy sencillo de programar un un micro arduino, espero que sirva la ayuda, es posible que podamos descompilar .hex que has mencionado, por favor adjuntarlo en un comentario para ver que podemos hacer.

http://www.instructables.com/id/Bui...ion-with-Arduino/step3/FM-Transmitter-Module/


----------



## lego707 (Dic 4, 2015)

Rodrigo parece interesante el proyecto con pll  vehicular y que bueno que quieras compartirlo, esperamos el diagrama esquemático y el hex para empezar a trabajarlo. Saludos


----------



## Rodrigo Postigo (Dic 5, 2015)

voy a compartier el .hex y el diagrama asi despapamos que diferencia puede haber entre KT0803K  y el Kt0803M , yo en este momento no cuento con una grabadora de pic , es mas solo eh leido hace años eeprom 24xx/93xx  pero programar un pic sabiendo lo que se esta haciedo jamas , encontre la programacion en C , mas que interesante para hacer modificaciones



La parte mas linda es que tanto el KT0803K como el "L" tienen en su interior Limitador de volumen y no se va a sobremodular como suele pasar , es como tener un compresor en el mismo transmisor , La ides seria que en la programacion original tiene para elegir la potencia  de salida (dejarla por defecto a full 108dbu )  otra cosa que ocupa lugar es el preemfasis   50/75 hay que dejarlo por defecto en lo que se usa en este caso en argentina que no me acuerdo cual de los 2 es ahora

en el lugar que desocupamos colocar la eleccion de el nivel de audio maximo aceptable entonces habilitamos el compresor


----------



## ricbevi (Dic 5, 2015)

Rodrigo...En el archivo, adjuntaste la imagen de un programador de PIC "PICStart Plus" en ves del circuito eléctrico. El desensamblado del archivo hex es para alguien que programe en ASM del los PIC de Microchip. En esta instalación de PC ni siquiera tengo las herramientas de desarrollo instaladas de Microchip(Mplab@XIDE) por que no las uso y ocupan sus buenos "megas"(580MB) en su descarga para el entorno Win.
El pre énfasis se usa para las transmisiones en modo mono ya que si no, alteras con un refuerzo(que es lo que hace el pre énfasis) la información de piloto, estéreo y RDS. 
Personalmente me gusta tener el control de lo que estoy haciendo y no un IC que alguien diseño con todas las funciones incluidas(aunque es muy útil si lo que uno busca es un mini-emisor de pocos componentes y bajo costo). Aunque es una practica muy difundida aquí en Argentina, desarrollar un emisor de alta potencia a partir de IC o mini-emisores, etc. que fueron diseñadas para otra cosa.
Saludos.

Ric.


----------



## Rodrigo Postigo (Dic 5, 2015)

en brebe subo las programaciones en C a ver quien las entirende para modificarlas termino unos trabajos y las subo ademas estoy esperando una programadora picik2 prestada asi si alguien se anima a corregir el .hex o  lka programacion en C puedo probar los resultados y comentarlos


----------



## djmyky (Dic 6, 2015)

hola amigos pues les entrego  instalador PICKIT_2  y distribucion aver si subes el diagrama  para poder entenderlo bien   es bueno aportar al foro  espero les sirva


----------



## Rodrigo Postigo (Dic 6, 2015)

djmyky dijo:


> hola amigos pues les entrego  instalador PICKIT_2  y distribucion aver si subes el diagrama  para poder entenderlo bien   es bueno aportar al foro  espero les sirva


djmyky yo subi el .hex del micro , ahi subo el diagrama del circuito , si le puedo hacer una captura de imagen porque en el unico lugar que tengo el circuito es en la placa del prototipo o en el vedeo que me mandaba el programador como avance de proyecto , yo le podria pedir que me haga algunos cambios en el micro pero cambio de rubro y le ocupa todo el dia lo que hace ahora por eso recurri al foro , en si el proyecto en un principio era para comercializarlo y uso propio ( por eso pague una fortuna la programacion y el prototipo ) voy a probar hacer unas capturas de imagen al video y lo subo asi ven el circuito 



es lo unico que tengo como circuito a ver si te sirve , es el unico esquematico que hay , falta el regulador de 3.3V al micro que es superficial , parece una 24xx y el regulador de 5v para el lcd que es TO92 , en la foto se alcanza a ver la salida de clock y data que van al KT0803 , la conexion del KT es sencilla y lleva un cristal de 32.768 en los pines 2y3 creo que son donde los lleva siempre , si falta algo mas y lo tengo con gusto lo comparto


----------



## Rodrigo Postigo (Dic 7, 2015)

hackmanice dijo:


> Rodrigo de antemano gracias por tu ayuda, al hacer algunas modificaciones, funciono mi amp con el 2sc2630, entrega casi 60w con entrada de 5w.
> [
> Ver el archivo adjunto 137601
> 
> ...



hackmanice que potencia te dio el C2630 al final  ? con que exitacion de entrata y cuanta alimentacion , de curioso pregunto


----------



## ricbevi (Dic 7, 2015)

Rodrigo Postigo dijo:


> ... asi despapamos que diferencia puede haber entre KT0803K  y el Kt0803M ....



La versión K soporta oscilador de 32.768KHz, esta indicado en la primer pagina de la hoja de datos del IC.
Saludos.

Ric.


----------



## Rodrigo Postigo (Dic 7, 2015)

ricbevi dijo:


> La versión K soporta oscilador de 32.768KHz, esta indicado en la primer pagina de la hoja de datos del IC.
> Saludos.
> 
> Ric.
> ...



si ric , yo tengo de los 3 el KT0803K  el Kt 0803L (compresor de audio incluido ) y un solo Kt0803M que ese no lo he probado , ahora bien para la programacion del KT0803K y el KT0803L no encuentro diferencia , los 2 sopportan cristal 32.768Khz  ya en la parte de datos y registros no se que poede cambiar y tal vez por eso no ande , mira te dejo la hoja de los 2 que quiero usar , el Kt0803K es el que no anda en mi placa y el KT0803L es el que si anda en mi placa a la parimera  y muy lindo en calidad de audio siendo que no se le habilito el compresor expansor que trae de regalo adentro , seria un emisor de fm de exelente calidad agregando el compresor limitador de audio , aunque el problema seria que alguien le encuentre alguna diferencia entre el K y el L o por que no anda el terminacion K en mi placa


----------



## ricbevi (Dic 7, 2015)

Hay diferencias en los registros, en el modelo K figuran como "reservados"(no importa a la hora de mandar los paramentos) y en la versión L le dan uso Ej: 0x04 bit7(ALC_EN), etc, etc.
Si querés ponerle RDS a la emisión a ese IC por donde incorporas/sincronizas la señal?.
Saludos.

Ric.


----------



## Rodrigo Postigo (Dic 7, 2015)

eso no se Ric pero bede entar en la entrada de audio nomas , te consulto vos sabes de programacion como para cambiarle algunas cosas en los registros y que al poner el modelo K ande como al poner el modelo L ?, sacando de lado las funciones especiales como el AVL y otras , no se como cambiar en la programacion por ejemplo que el preenfasis quede por defecto , que la potencia de salida quede al maximo por defecto y esas cosas , ademas cuando pedi la programacion yo le dije al muchacho que era de 20x2 el lcd que tengo y en realidad es de 24x2 , lo que si  le pedi la opcion de poner display de 16x2 que es el mas comercial


----------



## Daniel Lopes (Dic 7, 2015)

Hola a todos , yo creo no sener possible injectar  lo sinal de RDS en ese CI , eso porque el es mucho conplejo internamente ( encoder estereo ,generación de RF y modulación FM ,  todo eso integrado) y no hay una pata disponible para para ingresar con lo sinal RDS nin SCA    
Haora con CIs de la linea BA14XX del ROHM, si es possible porque hay conección esterna del encoder estereo con con lo modulador FM   
Att, 
Daniel Lopes.


----------



## ricbevi (Dic 7, 2015)

Rodrigo Postigo dijo:


> eso no se Ric pero bede entar en la entrada de audio nomas , te consulto vos sabes de programacion como para cambiarle algunas cosas en los registros y que al poner el modelo K ande como al poner el modelo L ?, sacando de lado las funciones especiales como el AVL y otras , no se como cambiar en la programacion por ejemplo que el preenfasis quede por defecto , que la potencia de salida quede al maximo por defecto y esas cosas , ademas cuando pedi la programacion yo le dije al muchacho que era de 20x2 el lcd que tengo y en realidad es de 24x2 , lo que si  le pedi la opcion de poner display de 16x2 que es el mas comercial



Desde lo que tenes, yo no se reformarlo(no se asembler de los pic tan bien, solo un poquito, tampoco C, solo Basic). 
Todo lo referente a la programación, debe estar integrado, hablado y contemplado por el programador.
 Si el que programo no lo contemplo, no va a ser posible cambiar de forma sencilla. 
El RDS no lo podes poner por que esta todo integrado. Yo no quería decírtelo así nomas pero Daniel Lopes ya lo explico mas que claro. 
Por ese motivo yo no soy partidario de los emisores echo a partir de IC con un alto contenido de integración. 
Tengo clientes muy fan del audio que tienen todo un sistema de procesamiento de audio y generación de señales(estéreo, RDS, etc) que saldrían espantados al no poder "probar" mejorar su emisión. 

 Ric.


----------



## Rodrigo Postigo (Dic 7, 2015)

Daniel Lopes dijo:


> Hola a todos , yo creo no sener possible injectar  lo sinal de RDS en ese CI , eso porque el es mucho conplejo internamente ( encoder estereo ,generación de RF y modulación FM ,  todo eso integrado) y no hay una pata disponible para para ingresar con lo sinal RDS nin SCA
> Haora con CIs de la linea BA14XX del ROHM, si es possible porque hay conección esterna del encoder estereo con con lo modulador FM
> Att,
> Daniel Lopes.



Daniel creo que si se puede porque hay un video en youtube que muestra en las CHZ-7 como agregar el RDS , diganme si se puede colocal el enlace o esta fuera de las normas , si se puede lo agrego ahora y lo ven Atte: Rodrigo


----------



## J2C (Dic 7, 2015)

.


 Podes colocar el link de YouTube y se ve el video desde el mismo post.


 No se puede agregar el RDS a ninguno de los 3 KT0803 por que ninguno tiene acceso a la entrada del modulador junto a la señal MPX.

 Si tienes dudas Googlea _*RDS Encoder*_ y/ó *RDS* y leyendo te darás cuenta tu mismo, que entran las señales de Multiplex y RDS al modulador.




 Saludos, JuanKa.-


----------



## Daniel Lopes (Dic 8, 2015)

Rodrigo Postigo dijo:


> Daniel creo que si se puede porque hay un video en youtube que muestra en las CHZ-7 como agregar el RDS , diganme si se puede colocal el enlace o esta fuera de las normas , si se puede lo agrego ahora y lo ven Atte: Rodrigo


Muy bien como ya aclarado con transmissores basados en la linea "BA14XX" del ROHM es possible agregar lo sinal de "RDS" y tanbien "SCA" con auxilio de alguns trucos y lo Chino CHZ-7 hace uso del CI BA1415 del ROHM como PLL y encoder estereo   .
Att, 
Daniel Lopes.


----------



## Rodrigo Postigo (Dic 8, 2015)

Daniel Lopes dijo:


> Muy bien como ya aclarado con transmissores basados en la linea "BA14XX" del ROHM es possible agregar lo RDS con auxilio de alguns trucos y lo Chino CHZ-7 hace uso del CI BA1415 del ROHM como PLL y encoder estereo   .
> Att,
> Daniel Lopes.












tenian razon al parecer los chinos en el czh-7 usan Bh1415F y por eso debe ser que si pueden agregar el RDS

una consulta de donde se sacaran esos display tan sencillos que colo muetran numeros grandes en una sola fila , alguien sabe como se llaman ?

me vendrian bien si son menos costosos que los de 16x2


----------



## Rodrigo Postigo (Dic 16, 2015)

Bueno muchachos despues de 2 semanas de leer , ver tutoriales en youtube sobre programacion e instalar tanto programa se me cruzo por delante , MPlab , Micro c for pic , ccs , Pic C compiler , Pickit2 (grabe mi .hex y anduvo )  y alguno mas que no recuerdo , NO he podido hacer andar nada la cuestion es que para hacer cualquier  tipo de modificacion el la programacion del pic me encuentro con el problema de que tengo 7 archivos , los cual ahora los voy a adjuntar y tanto , Pic c compiler como Mplab , me dan error al querer compilar el proyecto , si bien yo ya tengo mi .hex , debo cambiarle los regitros para que ademas de andar el KT0803L  tambien ande el KT0803K (y si es posible habilitarle alguna funcion mas ) pero probe de tantas maneras se les ocurra y no hay caso , que me hizo el proyecto en un principio desaparecio por cuestiones de trabajo y la verdad que no se que estoy haciendo mal pero probe de distintas formas cargar los 7 archivos y nada , no me genera el .hex solo da errores y errores , yo les dejo los archivos a ver si alguien me dice en que orden los cargo en que programa y que de una vez me quede en un solo proyecto todo ordenado y recien ahi poder empezar con todas las modificaciones , desde ya muchas gracias a quien se interese y colabore con mi proyecto ya que me esta volviendo loco


----------



## Daniel Lopes (Dic 16, 2015)

Hola caro Don Rodrigo Postigo , bueno desafortunadamente en temas de Software , programación , PICs , Microprocesadores , C++ , MatLab ,LabView etc, etc, NO entiendo nada de nada portanto lo siento pero por haora no puedo ayudarte       
Incluso quizaz serias mas interesante abrir un nuevo tema en una area mas especifica de tecnicas Digitales y Softwarwe ("F24" y "F26" )para discussiones   una vez que lo tema original aca es diseño amplificadores de RF  
!Fuerte abrazoz desde Brasil !
Att, 
Daniel Lopes.


----------



## Rodrigo Postigo (Dic 16, 2015)

eso pensaba hacer hoy daniel pero no recuerdo si las reglas  del foro me permiten hablar de lo mismo tema en otro lado sin recibir ninguna sancion , deeno a consejo tuyo voy a probar eso , mil gracias daniel 
Furte Abrezo de Argentina !!!


----------



## Daniel Lopes (Dic 16, 2015)

Rodrigo Postigo dijo:


> eso pensaba hacer hoy daniel pero no recuerdo si las reglas  del foro me permiten hablar de lo mismo tema en otro lado sin recibir ninguna sancion , deeno a consejo tuyo voy a probar eso , mil gracias daniel
> Furte Abrezo de Argentina !!!


Creo que si puede solicitar la ayuda a un Moderador para ese canbio , donde es criado un nuevo tema en la area mas apropriada y los posts referentes son migrados a ese nuevo tema  
!Saludos cordeales desde Brasil !
Att, 
Daniel Lopes.


----------



## Rodrigo Postigo (Dic 16, 2015)

Bueno muchachos despues de 2 semanas de leer , ver tutoriales en youtube sobre programacion e instalar tanto programa se me cruzo por delante , MPlab , Micro c for pic , ccs , Pic C compiler , Pickit2 (grabe mi .hex y anduvo ) y alguno mas que no recuerdo , NO he podido hacer andar nada la cuestion es que para hacer cualquier tipo de modificacion el la programacion del pic me encuentro con el problema de que tengo 7 archivos , los cual ahora los voy a adjuntar y tanto , Pic c compiler como Mplab , me dan error al querer compilar el proyecto , si bien yo ya tengo mi .hex , debo cambiarle los regitros para que ademas de andar el KT0803L tambien ande el KT0803K (y si es posible habilitarle alguna funcion mas ) pero probe de tantas maneras se les ocurra y no hay caso , que me hizo el proyecto en un principio desaparecio por cuestiones de trabajo y la verdad que no se que estoy haciendo mal pero probe de distintas formas cargar los 7 archivos y nada , no me genera el .hex solo da errores y errores , yo les dejo los archivos a ver si alguien me dice en que orden los cargo en que programa y que de una vez me quede en un solo proyecto todo ordenado y recien ahi poder empezar con todas las modificaciones , desde ya muchas gracias a quien se interese y colabore con mi proyecto ya que me esta volviendo loco



Ver el archivo adjunto 138009

puse el link del winzip ya que no me dejo subir el archivo por haberlo subido en otra parte del foro


----------



## torres.electronico (Dic 16, 2015)

Si necesitas modificar algo, los archivos para trabajar en un proyecto,  son "main.c" (main o el nombre del proyecto), que basicamente esta el  cuerpo del programa; Luego estan las librerias con formato ".c" o ".h",  que basicamente son subrutinas externas para el control de perifericos u  acciones especificas... No siempre implementan librerias, hay veces que  escribe la libreria en el cuerpo del program, asi que esto tienes que  ver si es que necesita u implementa.
El archivo ".hex", es el que vas a grabar en el microcntrolador...


----------



## Rodrigo Postigo (Dic 16, 2015)

torres.electronico dijo:
			
		

> Si necesitas modificar algo, los archivos para trabajar en un proyecto,  son "main.c" (main o el nombre del proyecto), que basicamente esta el  cuerpo del programa; Luego estan las librerias con formato ".c" o ".h",  que basicamente son subrutinas externas para el control de perifericos u  acciones especificas... No siempre implementan librerias, hay veces que  escribe la libreria en el cuerpo del program, asi que esto tienes que  ver si es que necesita u implementa.
> El archivo ".hex", es el que vas a grabar en el microcntrolador...



torres.electronicotuviste la oportunidad de ver lo que subi ? que hago mal al meter todo en un compilador y quere compilarlo , que esto de hacer los proyectoa por partes ? es comun , me explicarias , me gustaria que bajes el zip que deje e intentes compilarlo y vas a ver que te da errores , sin embargo el .hex que me entrego el programador lo cargo al pic y funciona quiero poder habrir el proyecto y compilarlo sin errores , una ves realizado eso se que puedo empezar a hacer modificaciones , mientras no sepa en que programa y orden cargarlos y genere el .hex no puedo hacer nada


----------



## J2C (Dic 16, 2015)

.



Rodrigo

Deberías confirmar con cual de los tantos programas que se te cruzaron por delante lo intentaste compilar, ya que específicamente esta realizado en uno solo.

Si no usas el programa especifico los demás tiraran cualquier error ya que no todos los compiladores usan la misma sintaxis mi comandos.

Deberías confirmar tu con cual compilador lo intentaste.




Solo deberías haber intentado compilar un solo programa el *TransmisorFM.c* que es el programa principal y el se encarga de llamar a los otros archivos/programas en el momento que los necesita.

También te comento que son necesarios mas archivos/librerías que tiene dicho compilador y que se encuentran detallados en algunos de los 7 archivos que subiste con el PATH correspondiente al momento de crearlos por el programador que contrataste.




Como ha dicho el _Garoto *Daniel*_ lo mejor seria solicitar a algún moderador que todo lo correspondiente a partir del post #370.





Saludos, JuanKa.-


----------



## Rodrigo Postigo (Dic 16, 2015)

gracias juanka igual habri un post nuevo    https://www.forosdeelectronica.com/showthread.php?p=1070715#post1070715   para no salir mucho del tema aca que es transmisores y no programacion , ahora voy a probar compilar solo el TransmisorFM.c a ver que pasa mil gracias juanka   !!!!



con ninguno compila ni c compiler , tampoco mplab , dan error al compilar


----------



## QKST117 (Dic 16, 2015)

Lo que podrias hacer es hacer un nuevo proyecto (de preferencia en el compilador en el que se escribio el proyecto del transmisor FM) y de ahi agregas cada uno de los archivos creando el archivo .c o .h y abres los archivos flex_lcd.h flex_lcd.c pantallas.c, etc con el bloc de notas y copias y pegas en los archivos nuevos del nuevo proyecto, asi tendras un nuevo proyecto como si lo hubieras escrito desde 0.

Tambien note que escribes en algunos .h
#include "D:\Proyectos varios\Rodrigo Postigo\Codigo\pantallas.c"
no es necesario que agregues toda la ruta del archivo, con las comillas basta, ya que si utilizas las comillas el compilador (en realidad creo que lo hace el preprocesador, no recuerdo bien) busca los archivos directamente en la carpeta en la que esta ubicado el proyecto y si utilizas los menor y mayor que (<>) el compilador va directamente a la carpeta donde estan las librerias estandar


----------



## J2C (Dic 16, 2015)

.



Rodrigo



Rodrigo Postigo dijo:


> .....
> con ninguno compila ni c compiler , tampoco mplab , dan error al compilar



El MpLab solo es en ASM (Assembler) de MicroChip.


Como te dije en mi post anterior esta realizado en *UNO SOLO*, no es posible usar el que se te antoje a ti !!!!!. 


Supongo que es alguna de las variantes en "*C*" pero desconozco cual de ellas y hay bastantes en la web (algunas libres y otras pagas), y esa suposición es por la extensión de 3 de los 7 programas que tu subiste en el rar.


Imagino que si le has pagado a alguien para que te lo hiciera y si ahora por cuestión de tiempo esa persona no se dedica mas, creo que igualmente deberías poder contactarlo para que el sea quien te diga que compilador ha usado. Me parece lo mas correcto antes de andar dando vueltas y vueltas inútiles.



Saludos, JuanKa.-


----------



## Rodrigo Postigo (Dic 16, 2015)

bueno voy a probar arrancar el proyecto en microcfor pic o sino en pic c compiler , pero eso de habrirlos con un notepad ya probe y al compilar sale erros , te cuento que de pantallas tengo uno solo .c o .h es el unico que no es doble



la verdad nisiquiera se la diferencia entre  .c   y .h   , deberias orientarme de la secuencia en que debo pegar esos archivos porque no se si va tranmisor.c luego transmisor .h o al reves o todo mesclado , orientame un poco para probar realizar un nuevo proyecto , sinceramente de programacion no entiendo nada , el proyecto lo hice hacer hace 2 años y la persona que lo hizo cambio de trabajo y demas y me dijo que lo solucione yo


----------



## D@rkbytes (Dic 16, 2015)

Si tuvieras la librería faltante "flex_lcd.c", el programa se podría compilar, pero no está incluida dentro del archivo.

Ojo. No es la clásica librería "flex_lcd.c" que muchos conocemos.
La librería "flex_lcd.c" que se usó para ese programa es especial.

Sin esa librería se tiene que modificar bastante el programa para usar la estándar. ("lcd.c")

Nota:
Ese programa está escrito para PIC C Compiler de CCS, con otros no se podrá compilar.


----------



## QKST117 (Dic 16, 2015)

Es cierto no habia notado que falta el archivo flex_lcd.c, sin este no podra compilar, veras en un proyecto de c hay dos archivos basicos, el .c y el .h, en el .h estan las declaraciones de las funciones(se especifica el tipo de retorno, las parametros de las funciones, los nombres de las funciones) y las declaraciones de algunas constantes o variables, en el .c estan las definiciones de estas funciones (lo que deben de hacer estas funciones), en cualquier archivo .c forzosamente debe de haber una instruccion #include, esta instruccion es una instruccion al preprocesador, y practicamente es "incluir un archivo al codigo". En un proyecto de C debe de haber un archivo .c en el que este definida la funcion main(), esta funcion es la funcion principal que define TODO lo que hara el programa obviamente con ayuda de las funciones de los demas archivos. El orden para agregar por logica seria primero las declaraciones (el .h) seguido de las definiciones (el .c) y al ultimo el archivo que contenga la funcion main() en tu caso es TransmisorFM.c, pero si es necesario que este el archivo flex_lcd.c, de lo contrario el codigo esta incompleto


----------



## Rodrigo Postigo (Dic 17, 2015)

o sea que si no consigo el archivo Flex_lcd.c    por el momento no puedo hacer nada ? y de descompilar el .hex que me mando el programador no se puede con algun programa ? 
D@rkbytes tenes razon el en su momento me mando este mensaje : Aca te paso el codigo fuente. El programa que yo use para compilar es el PICC (es de la empresa CCS - Custom Computer Services). En el foro de TodoPic hay parvas de informacion de este compilador, yo saque algunas cosas de ahi en su momento.
y ahi me mando el codigo fuente que lo tengo en el correo , obvio que le falta el Flex_lcd.c asi que no se que hacer


----------



## D@rkbytes (Dic 17, 2015)

Pues por el momento no puedes hacer nada, y sin saber de programación te resultará muy complicado sustituir las partes del programa que hacen uso de esa librería.

Si descompilas el archivo ejecutable ".hex", obtendrás un programa en ensamblador que tardarás mucho tiempo en comprender.
Y dudo que algún descompilador pueda entregar una salida de ensamblador correcta para un PIC16F883.

Así que lo más recomendable es que empieces por aprender el lenguaje C y adentrarte en los PIC.
Eso te servirá para comprender el programa y poder adaptarlo, o realizar los tuyos.

Trata de contactar nuevamente a la persona que hizo el programa y pídele la librería.

Suerte.


----------



## J2C (Dic 17, 2015)

.

 
D@rkbytes

Encontré en varias web's dicha librería y mirando la de _PicMania_ me parece que uno debe ajustar las conexiones que usara en su circuito del display y ajustar el tipo de display que colocara siempre y cuando el programador no haya realizado mas cambios.

Si esto que comento fuese correcto, pregunto si seria posible modificar la misma para el circuito de aplicación de este transmisor ?. 

Dado que las capturas de imagen del Proteus no son buenas y que en fotos del primer post parece tener montada una EEPROM I2C ó SPI (me inclino por la I2C) de montaje superficial supongo que para el intento seria necesario poseer un buen dibujo del esquema electrónico usado. Se puede excluir la parte del KT0803 ya que el mismo se comunica por I2C.

Si debería incluir ese esquema las conexiones del display y también la identificación del mismo, es solo una idea y al no estar practico en programación me quería sacar la duda consultándote a ti.




Saludos, JuanKa.-


----------



## Rodrigo Postigo (Dic 17, 2015)

D@rkbytes dijo:


> Pues por el momento no puedes hacer nada, y sin saber de programación te resultará muy complicado sustituir las partes del programa que hacen uso de esa librería.
> 
> Si descompilas el archivo ejecutable ".hex", obtendrás un programa en ensamblador que tardarás mucho tiempo en comprender.
> Y dudo que algún descompilador pueda entregar una salida de ensamblador correcta para un PIC16F883.
> ...



eso hice hoy trade de contactar un pariente del que realizo dicho proyecto y me dijo que me va a tratar de conseguir la libraria faltante a la brevedad ,espero asi sea ,de todos modos queria sacarme la duda de la secuencia en la cual se cargan los 7 (en realidad 8) proyectos si primero los .c o los .h o de que manera un programa llama al otro , les comento que el integrado de superficie que nombran ver en la placa uno es el KT0803L y el otro un simple regulador de 3.3V ( parece una 24xx SMD ) y es para alimentar el pic16f883


----------



## D@rkbytes (Dic 17, 2015)

J2C dijo:


> .
> D@rkbytes
> 
> Encontré en varias web's dicha librería y mirando la de _PicMania_ me parece que uno debe ajustar las conexiones que usara en su circuito del display y ajustar el tipo de display que colocara siempre y cuando el programador no haya realizado mas cambios.
> ...


Como mencioné anteriormente, la librería "*flex_lcd.c*" que muchos conocemos, no es la misma que se usó en ese programa.
Se puede identificar fácilmente que no es igual, porque se hacen llamadas a las siguientes funciones:
*clear_lcd();  *_y_* lcd_write();*
Esas funciones no se encuentran en la librería flex convencional.
Así que la persona que escribió el programa debió crear dichas funciones.

*clear_lcd(); *no es importante porque se puede sustituir fácilmente por *lcd_putc("\f");
*Pero *lcd_write();* no es un *lcd_putc();* común, ya que hace referencia a una matriz.
En este caso se pasa como puntero a "*AuxString*", el cual es un arreglo o matriz de 21 bytes.
La dimensión de la matriz está dada por: 
*#define SIZE 21
char AuxString[SIZE];

*Entonces para* lcd_write(*puntero); *se tiene que crear una subrutina que obtenga los datos de "*AuxString*", les de formato y los vaya colocando por orden en la pantalla.


J2C dijo:


> .Si debería incluir ese esquema las conexiones del display y también la identificación del mismo, es solo una idea y al no estar practico en programación me quería sacar la duda consultándote a ti.



Si se puede omitir la programación referente a la pantalla.
Pero el proyecto perdería encanto porque ya no se visualizaría la frecuencia y otras cosas que tenga que mostrar el programa.

Yo optaría por escribir la rutina para mostrar los datos de la matriz.


Rodrigo Postigo dijo:


> de todos  modos quería sacarme la duda de la secuencia en la cual se cargan los 7  (en realidad 8) proyectos si primero los .c o los .h o de que manera un  programa llama al otro.


El programa principal es el que tiene la ejecución inicial "*void main ()*"
Ya te habían comentado que es el archivo "*TransmisorFM.c*"
Este archivo lo debes cargar en el compilador porque en él se encuentran incluidas una o más librerías, y las otras librerías puedes tener referencia a otra librerías.

Pero el archivo principal es "*TransmisorFM.c*" y al compilar se generará un solo archivo .hex que incluirá las rutinas de las demás librerías.

Si quieres ver el contenido de las otras librerías dentro del editor, las puedes cargar en el árbol de archivos que se encuentra del lado derecho.
Por lo general, en PIC C Compiler las librerías no se cargan en el árbol hasta que se logra la compilación.
Pero eso no impide que sí se puedan agregar.

Nota:
Esto no siempre es recomendable porque se pueden producir errores de compilación.
En éstos casos lo mejor es abrirlas y editarlas con el bloc de notas.


----------



## ricbevi (Dic 18, 2015)

Rodrigo Postigo dijo:


> eso hice hoy trade de contactar un pariente del que realizo dicho proyecto y me dijo que me va a tratar de conseguir la libraria faltante a la brevedad ,espero asi sea ,de todos modos queria sacarme la duda de la secuencia en la cual se cargan los 7 (en realidad 8) proyectos si primero los .c o los .h o de que manera un programa llama al otro , les comento que el integrado de superficie que nombran ver en la placa uno es el KT0803L y el otro un simple regulador de 3.3V ( parece una 24xx SMD ) y es para alimentar el pic16f883


Hola a todos...Meto la cuchara en algo que observo, de C no se nada así  que aporte nulo total y lo poco que pude ver y sé, coincido con D@rkbytes  .
Yo  no pondría el IC(KT) en la placa de control. Las señales que provee en  RF son demasiado bajas como para "llevarlas"(cableando) a otra placa con  niveles de amplificación importantes.
Rodrigo Postigo  observa que los equipos "chinos" tienen el emisor con dicho IC todo junto al amplificador en una placa y el control en otra.
Saludos.

Ric.


----------



## Rodrigo Postigo (Dic 18, 2015)

D@rkbytes dijo:


> Como mencioné anteriormente, la librería "*flex_lcd.c*" que muchos conocemos, no es la misma que se usó en ese programa.
> Se puede identificar fácilmente que no es igual, porque se hacen llamadas a las siguientes funciones:
> *clear_lcd();  *_y_* lcd_write();*
> Esas funciones no se encuentran en la librería flex convencional.
> ...



Hola D@rkbytes te puse , me gusta a tu comentario ya que no existe el ( Me Encanta ) sos un libro abierto D@rkbytes tenes un gran conocimiento  y encima te tomas el trabajo de ayudar  a los demas compañeros del foro ,sos un capo !!! 
yo te cuento que al al querer compilar el primer archivo Transmisor.c ya me da como 30 errores el c compiler , no se si es normal .





ricbevi dijo:


> Hola a todos...Meto la cuchara en algo que observo, de C no se nada así  que aporte nulo total y lo poco que pude ver y sé, coincido con D@rkbytes  .
> Yo  no pondría el IC(KT) en la placa de control. Las señales que provee en  RF son demasiado bajas como para "llevarlas"(cableando) a otra placa con  niveles de amplificación importantes.
> Rodrigo Postigo  observa que los equipos "chinos" tienen el emisor con dicho IC todo junto al amplificador en una placa y el control en otra.
> Saludos.
> ...



si señor ricbevi eso se tiene en cuenta y en el nuevo diseño de placa va a ir don KT0803L/K cualquiera de los 2 el la famosa placa 10mw/8W RDVV en la entrada de la misma y ahi un conector de 4 pines , GND , 3v3 ; clk y data   a la otra placa que va a tener el pic con su conctor de display , en la misma placa de 8w van las 2 entraditas de RyL  espero le guste ricbevi , sinceramente para mi seria un gran logro tener algo made in argentina que sea igual o mejor que el tranmisor chino ,ademas de poder conseguir los kt0803L y habilitar la parte de comresion de audio y asi eliminar por completo la posibilidad de sobremodulacion mas agregado a la exelente calidad de audio de este integradito seria mas feliz que perro con 2 colas  , sinceramente no veo la hora de poder decir que mi proyecto esta terminado y hacer una produccion de varios equipos ya encargados , te voy a dejar un link de la persona que hizo lo mismo que yo no se cuando ya que como dije yo empece con esto hace 3 años por lo menos y ahun no esta terminado 



Miren lo que es eso y yo aca sentado me muero de envidia porque esa idea fue mia  y alguien ya lo realizo con un exito total , hasta pantalla color le mando el tipo , miren 

http://vrtp.ru/index.php?act=categories&CODE=article&article=3346


----------



## Daniel Lopes (Dic 18, 2015)

Tenemos que admitir , los Rusos  son uns capos (cabrones) , mismo con los pocos recursos tecnicos disponibles en las manos.     
Att, 
Daniel Lopes.


----------



## Rodrigo Postigo (Dic 18, 2015)

encima creo que da los datos de como hacer todo y yo ruso no entiendo jajajajajaa



bueno sino tendre que subir un esquematico a mano y si alguien se anima arrancamos una programacion desde cero para el mismo controlador 16f883 , por ahora el programador no aporto el archivo faltante y no quiero tirar a la basura 30 kt0803K , 6kt0803L , 15 pic , las pantallas , gabinetes y todo lo demas


----------



## Daniel Lopes (Dic 18, 2015)

Rodrigo Postigo dijo:


> encima creo que da los datos de como hacer todo y yo ruso no entiendo jajajajajaa
> 
> 
> 
> bueno sino tendre que subir un esquematico a mano y si alguien se anima arrancamos una programacion desde cero para el mismo controlador 16f883 , por ahora el programador no aporto el archivo faltante y no quiero tirar a la basura 30 kt0803K , 6kt0803L , 15 pic , las pantallas , gabinetes y todo lo demas



Y jo que conpre 10 BA1414K del ROHM + 10 cristales de 7,6MHz , por ahora nesecito desenvolver aca por mi latitudes un capo en programación para PIC o uProcesador de modo gerenciar lo BA1414K mas display de LCD y teclado        
Att, 
Daniel Lopes.


----------



## ricbevi (Dic 18, 2015)

Rodrigo Postigo dijo:


> ....
> si señor ricbevi eso se tiene en cuenta y en el nuevo diseño de placa va a ir don KT0803L/K cualquiera de los 2 el la famosa placa 10mw/8W RDVV en la entrada de la misma y ahi un conector de 4 pines , GND , 3v3 ; clk y data   a la otra placa que va a tener el pic con su conctor de display , en la misma placa de 8w van las 2 entraditas de RyL  espero le guste ricbevi , sinceramente para mi seria un gran logro tener algo made in argentina que sea igual o mejor que el tranmisor chino ,ademas de poder conseguir los kt0803L y habilitar la parte de comresion de audio y asi eliminar por completo la posibilidad de sobremodulacion mas agregado a la exelente calidad de audio de este integradito seria mas feliz que perro con 2 colas  , sinceramente no veo la hora de poder decir que mi proyecto esta terminado y hacer una produccion de varios equipos ya encargados , te voy a dejar un link de la persona que hizo lo mismo que yo no se cuando ya que como dije yo empece con esto hace 3 años por lo menos y ahun no esta terminado



Muy bien Rodrigo, yo ya participe de proyectos de fabricación en el pasado(sin Internet, teléfonos cuando andaba la larga distancia y a mas de 400Km de la Capital) y para hacer algo en el interior de Argentina al menos en electrónica, es así de complicado/dificultoso. Tanto que hubo que abrir una oficina de compras/gestiones en Capital.
Los errores que te da el compilador están todos relacionados a que no encuentra parte de las referencias y llamada echas a la librería que falta. Es normal, si logras hacerte con ella te compilara y sera relativamente fácil modificar ciertos patametros dentro de las limitaciones del programa en sí(*si sabes como*). 



Rodrigo Postigo dijo:


> Miren lo que es eso y yo aca sentado me muero de envidia porque esa idea fue mia  y alguien ya lo realizo con un exito total , hasta pantalla color le mando el tipo , miren
> 
> http://vrtp.ru/index.php?act=categories&CODE=article&article=3346



Andaba en el 2012 con el tema mas o menos en la misma época que vos!!!

Ric.

PD: La versión del archivo hex que subiste se compilo en esta fecha SIC" ;PIC16F883
;CRC=A6EB  CREATED="26-may-14 19:15""


----------



## Rodrigo Postigo (Dic 18, 2015)

ricbevi dijo:


> Muy bien Rodrigo, yo ya participe de proyectos de fabricación en el pasado(sin Internet, teléfonos cuando andaba la larga distancia y a mas de 400Km de la Capital) y para hacer algo en el interior de Argentina al menos en electrónica, es así de complicado/dificultoso. Tanto que hubo que abrir una oficina de compras/gestiones en Capital.
> Los errores que te da el compilador están todos relacionados a que no encuentra parte de las referencias y llamada echas a la librería que falta. Es normal, si logras hacerte con ella te compilara y sera relativamente fácil modificar ciertos patametros dentro de las limitaciones del programa en sí(*si sabes como*).
> 
> 
> ...



si RIC en esa epoca me lo termino y entrego al prototipo andando hacia 2 años venia rogando que me lo haga y me dijo que solo con tiempo y paciencia me lo iva a hacer y de a poco me lo hizo , al fial aca estoy , con ganas de tirar todo y amargado pero bueno tengo la esperanza de que aparezca la libreria que falta y los chicos me den una mano con las modificaciones y asi tener 2 .hex uno para el kt0803K y otro mas completo para el KT0803L con el compresor habilitado y terminar de una vez con este proyecto que creo que de andar va a ser util para muchos que nos gusta la rf y quieren sus propios proyectos porque si fuera por comprarlo ya viene hecho y sale moneda de 6 a 8  dolares en e-bay con el pll QN8027 pero tirar todo a la basura no quiero , espere mas de 2 años para tener esto , mira como viene hecho    http://es.aliexpress.com/item/Brand...Stereo-FM-Transmitter-Module/32383101138.html

obvio que el QN 8027 no tiene la calidad de audio que tiene el KT pero a los chinos se les ocurrio hacerlo con ese micro


----------



## Rodrigo Postigo (Dic 19, 2015)

D@rkbytes dijo:


> Si tuvieras la librería faltante "flex_lcd.c", el programa se podría compilar, pero no está incluida dentro del archivo.
> 
> Ojo. No es la clásica librería "flex_lcd.c" que muchos conocemos.
> La librería "flex_lcd.c" que se usó para ese programa es especial.
> ...



bueno muchachos , lo prometido es deuda y el programador se hizo un lugarcito y me envio el archivo faltante , ahora subo los archivos y quien sepa como ubicarlos que los compile y me diga como y asi empezamos las modificaciones !!!!!!!!   me volvio la alegria con el archivo en mano asi no entienda nada de programacion alguien me dira que hacer


----------



## D@rkbytes (Dic 19, 2015)

OK. Ahora ya se puede compilar sin errores.

Sólo se tiene que abrir con PIC C Compiler de CCS, el archivo "TransmisorFM.c"

Posteriormente se tienen que realizar dos correcciones...
En la librería "*flex_lcd.h*" corregir lo siguiente:
*#include* *"D:\Mis documentos\etc\CCS\Librerias\flex_lcd.c"
*Por...
*#include* *"flex_lcd.c"
*Y en la librería "pantallas.h" corregir lo siguiente:
*#include "D:\Proyectos varios\Rodrigo Postigo\Codigo\pantallas.c"
*Por...*
#include "pantallas.c"

*Con esos cambios ya se puede compilar sin errores.
Aparecerá una advertencia:
>>> Warning 216 "TransmisorFM.c" Line 164(1,2): Interrupts disabled during call to prevent re-entrancy:  (TopeFrec)

Eso no dará problemas, pero para evitarlo, se puede escribir lo siguiente al principio de "TransmisorFM.c"
*#ignore_warnings* *216

*Eso es todo, ya podrán compilar el programa sin inconvenientes.

Nota:
Posteriores modificaciones sin cambiar de PIC, requerirán optimización del programa porque ya se está usando la ROM al 99 %

Suerte.


----------



## ricbevi (Dic 19, 2015)

Bueno... sobre todo a el SEÑOR D@rkbytes.
Compila perfectamente y funciona el circuito con el archivo generado.



Solo da error al no tener comunicación con el KT. Pero deja cambiar la frecuencia.
La "macana" es la ROM tan llena, hay que empezar a revisar y hacer lugar(optimizar).

Ric,


----------



## Rodrigo Postigo (Dic 19, 2015)

D@rkbytes dijo:


> OK. Ahora ya se puede compilar sin errores.
> 
> Sólo se tiene que abrir con PIC C Compiler de CCS, el archivo "TransmisorFM.c"
> 
> ...




D@rkbytes y ric  , son unos capos !!!! estoy mas contento que perro con 2 colas jajajaja ahora hay que empezar las modificaciones por ejemplo como le explico al programa que la pantalla a conectar seran de 16x2 y 24x2 porque cuando mande a hacer el programa le dije que era de 20x2 y me quivoque , solo donde diga 20x2 se deberia cambiar en los lugares que se encuentre escrito ??



haber muchachos diganme si cargo una o todas las librerias en C compiler , yo cargaba como dijo D@rkbytes    tx_fm .H   luego habria con note pad uno por uno los demas archivos y copi paste , se me llenaba de errores , que estoy haciendo mal ? 
segundo , como dejo por defecto la potencia del KT al maximo , como dejo por defecto preempasis y que en servicio solo me presente ganancia de audio de entrada y bass boost ? con eso libero espacio y me queda para usar otras funciones creo

ademas la funcion de mute esta al cuete me da igual dejarla o sacarla si libera espacio seria algo a sacar definitivamente ( un pulsador menos 1 funcion menos )


----------



## J2C (Dic 19, 2015)

.




ricbevi dijo:


> .... La "macana" es la ROM tan llena, hay que empezar a revisar y hacer lugar(optimizar).
> 
> Ric,



Si bien optimizando seria lo mejor, no olvidemos en que andaría pensado quien lo programo .

Y tal vez convenga pasar al 16F886 que es pin a pin exactamente igual pero con 8K words de memoria, ambos se consiguen en la _Capi Fede_ y los precios no son tan diferentes.

16F883 = u$s *4,30* IVA incluido
16F886 = u$s *5,10* IVA incluido

El amigo D@rkbytes es el mejor indicado para confirmar esto.




Saludos, JuanKa.-


----------



## Rodrigo Postigo (Dic 19, 2015)

hice los cambios , me agrego unos archivos .bk (que los borre ) pero si abro solo transmisorfm.C no me deja compilar





J2C dijo:


> .
> 
> 
> 
> ...



J2C en su momento9 los cosegui  en elemon ahora estan u$u 3.21 recien mire


----------



## J2C (Dic 19, 2015)

.


Rodrigo

Lee todo bien desde el principio que en dos ó mas post ya D@rkbytes te dijo como colocar todo para compilarlo.

Aparte te indico donde deberías tener la totalidad de los 8 (ocho) archivos y las correcciones a realizar para que compile bien, estas haciendo algo mal tu por que Ricbevi logro compilarlo también sin problemas.


Si te perdes con la vista normal, usa la vista de "Versión Imprimible" que tenes en herramientas arriba del primer post de cada pagina.


_En Elemon tenes que agregar el IVA !!!!_.


_Si bien son precios de otro proveedor solo los puse para comparar el 883 contra el 886_.




Saludos, JuanKa.-


----------



## ricbevi (Dic 19, 2015)

Acá tenes los archivos como van. Solo hice los que  *D@rkbytes *indico en sus intervenciones.
Abres el "TransmisorFM.c" y le das a compilar nada mas.
Yo previamente modifique con el "notepad" la ruta donde el compilador debe buscar a los otros archivos.

Ric.

PD:Subo la opción del cambio a 886 compilado y sin errores uso de  ROM=49% y RAM=15%-27%


----------



## Rodrigo Postigo (Dic 19, 2015)

ahora pruebo ric , mil gracias


----------



## D@rkbytes (Dic 19, 2015)

J2C dijo:


> .tal vez convenga pasar al 16F886 que es pin a pin exactamente igual pero con 8K words de memoria.
> 
> El amigo D@rkbytes es el mejor indicado para confirmar esto.


Es lo mejor, porque les será más fácil que optimizar el programa.

Ya mi tocayo hizo la prueba y lógicamente debe reducirse el consumo de ROM y RAM a la mitad.


Rodrigo Postigo dijo:


> Ahora hay que empezar las modificaciones.
> Por ejemplo, ¿cómo le explico al programa que la pantalla a conectar  serán de 16x2 y 24x2?
> Porque cuando mandé a hacer el programa le dije que  era de 20x2 y me equivoqué.
> ¿Sólo dónde diga 20x2 se debería cambiar en los lugares que se encuentre escrito?


Tal vez no exista problema por eso, ya que la rutina para escribir en pantalla se basa en encontrar el carácter "*NULL*" en la matriz "*AuxString*"

Como mencioné, ésta matriz es de 21 bytes o vectores, entonces aumentando el tamaño a 25 podría funcionar.
El tamaño está definido por la constante *SIZE* del archivo "pantallas.c"
*#define SIZE 21*


----------



## Rodrigo Postigo (Dic 19, 2015)

D@rkbytes dijo:


> Es lo mejor, porque les será más fácil que optimizar el programa.
> 
> Ya mi tocayo hizo la prueba y lógicamente debe reducirse el consumo de ROM y RAM a la mitad.
> 
> ...



bueno D@rkbytes voy a pasar la info depantallas donde dice 21 a 25 como para empezar a probar , vos me recomendas cambiar de pic ? por uno mas grande de memoria , no es bueno usar el micro al taco de ram y rom , D@rkbytes vos me explicas que diferencia hay entre el archivo .c y el archivo .h ?


----------



## D@rkbytes (Dic 19, 2015)

Si piensas agregar más cosas al programa, sí se tendrá que cambiar de PIC porque el 16F883 ya está lleno.

No es que sea bueno o no. Cuando un programa optimizado ya no cabe en la memoria del microcontrolador, ya se tiene que optar por otro compatible y con mayor capacidad.
El compilador te dirá cuando ya se ha excedido el limite soportado por el microcontrolador.

No hay una regla estricta ni general en cuanto que tipo de extensiones se deben usar.
Bien se puede llamar a un archivo de texto .TXT, que a otro con la extensión que a uno le guste.
Pero por lo general los archivos .C corresponden al código principal y los archivos .H (Header) al encabezado del programa.


----------



## Rodrigo Postigo (Dic 19, 2015)

tambien puedo hacer con un pic bien basico con las fuciones justas y necesarias usaria el 16f627 que esta regalado en precio , tambien veo la diferencia que me decian del 16f883 al 16f886 mismos pines mas ram y rom ,voy a ver precios , pero ante todo terminar de modificar lo que ya tengo y dejarlo andando a mi gusto con la ayuda de ustedes , a ver como mandan los datos del pic al KT y la  diferencia entre los registros que porque no me toma el kt0803k y el L si , eso seria lo principal , desde ya mil gracias a toda la comunidad , sin su ayuda no hubiera podido hacer nada   espero en algun momento tenga la oportunidad de ayudar en aldo de electronica que sea mi fuerte como reparaciones de tv



no estoy en casas ahora asi que hasta el domingo de tarde no pueda probar , pero necesitaba una compu prestada para agradecer a ric y al capo D@rkbytes por la gran ayuda que me estan dando !!!!!! capos y buenas personas que no te niegan su conocimiento , en el foro da gusto encontrar gente asi !!!



D@rkbytes dijo:


> Si piensas agregar más cosas al programa, sí se tendrá que cambiar de PIC porque el 16F883 ya está lleno.
> 
> No es que sea bueno o no. Cuando un programa optimizado ya no cabe en la memoria del microcontrolador, ya se tiene que optar por otro compatible y con mayor capacidad.
> El compilador te dirá cuando ya se ha excedido el limite soportado por el microcontrolador.
> ...



D@rkbytes de agregar algo al proyecto no olvides que tengo funciones para sacar que no las voy a usar o dejar ya por defecto y eso me dara lugar a lo que quiero agregar asi que capas siga con el mismo y por el momento D@rkbytes


----------



## ricbevi (Dic 20, 2015)

Rodrigo...el mayor consumo de rom esta dado por las "palabras" y frases que debes mostrar en el display, a mayor cantidad te quedas sin rom enseguida.
Hay trucos de "programación" para optimizarlo como "armar la frase" cuando hay palabras que se repiten. Depende de la tecnica que use el programador para mostrar y almacenar dichos textos.
El echo que tengas LCD de 24 es un tema...nunca vi uno y por ejemplo el Proteus, no lo tiene para simular.
Te comento algo que noto por aquí, le 99% de los que tienen radios de FM no les interesa mas que encender el equipo y que este emita en la frecuencia. Es mas, se acuerdan del equipo cuando se descompone por que hasta se atrancaron o se taparon los ventiladores por falta de mantenimiento preventivo.

Ric.


----------



## Rodrigo Postigo (Dic 21, 2015)

ricbevi dijo:


> Rodrigo...el mayor consumo de rom esta dado por las "palabras" y frases que debes mostrar en el display, a mayor cantidad te quedas sin rom enseguida.
> Hay trucos de "programación" para optimizarlo como "armar la frase" cuando hay palabras que se repiten. Depende de la tecnica que use el programador para mostrar y almacenar dichos textos.
> El echo que tengas LCD de 24 es un tema...nunca vi uno y por ejemplo el Proteus, no lo tiene para simular.
> Te comento algo que noto por aquí, le 99% de los que tienen radios de FM no les interesa mas que encender el equipo y que este emita en la frecuencia. Es mas, se acuerdan del equipo cuando se descompone por que hasta se atrancaron o se taparon los ventiladores por falta de mantenimiento preventivo.
> ...



En eso tenes razon ric hasta que el quipo no se descompone nadie se acuerda de el , pero a la vista (muchos clientes entran por la vista ) para ofertar un equipo arrancando porque el exitador sea banda ancha de bajas espureas (lindo punto ), que uno le de su eleccion de ganancia de entrada de audio y si quiere el Bassboost (encendido o apagado en el primer punto ya seria lo justo porque mas es exagerado )  ,ni hablar de ofertar un equipo que no se sobremodule por tener compresor expansor limitador llama y mucho la atencion el no tener que poner obligado un procesador de audio , ya que el kt0803L hace todo eso , es interesante , bien queda por resolver que diferencia hay en los registros de un micro KT0803K (de los cuales tengo 30unidades conpradas y no andan con esta programacion )y KT0803L (el que estoy usando pero solo tengo 5 unidades  ) .
consulta :
1: si yo borrara parte del programa donde esta la eleccion de potencia en Dbu , ya quedaria 
por defecto la potencia a 108 dbu que es el maximo ?

2: me dijeron en un momento que el preenfasis no se usa en transmision estereo , directamente borro todo eso ?

3:al desocupar lugar en la room o en vez de borrar la eleccion de potencia podria elegir los valores de audio limiter ?

4:donde se activa BassBoost borro parte del programa y que deje elegir solo Bass Boost Control     00 : Disabled 01 : 5dB  10 : 11dB    11 : 17dB  que quede 0 ò 5db solamente 

5: ahora  bien a ver quien entiende la diferencia de registros ubicaciones o como fuere y el porque no anda mi terminacion K y el L con el que fue diseñado si .

Nota : no me digan que tendria que tener 2 programas distintos uno para cada micro , segun cual coloco elijo que programa le cargo al pic ?


----------



## Daniel Lopes (Dic 21, 2015)

Hola a todos , caro Don Rodrigo cuanto a la questión 2 te recomendo activar lo preenfasis , caso NO ustedes tienes que hacer eso externamente con una red "R" y "C" en cada entrada de audio (derecho y esquierdo).
NO si enpleya preenfasis entre lo encoder estereo y lo modulador FM , como en ese CI tudo es ya  interno y sin la posibilidad de intervenciones externas debes entonses acionar lo preenfasis .
Att, 
Daniel Lopes.


----------



## Rodrigo Postigo (Dic 21, 2015)

J2C dijo:


> .
> 
> 
> Rodrigo
> ...



juanka no hay diferencia entre el pic 16f883   3.21+10.5
                                                   16f886   3.33+10.5

no se considera comprar el 883 con la poquita diferencia que hay de precio , mas vale para los proximos encargo 16f886 y lo hago trabajar mucho mas aliviado , gracias por hacerme fijar , pense que habia mucha diferencia pero no


----------



## Rodrigo Postigo (Dic 22, 2015)

D@rkbytes dijo:


> OK. Ahora ya se puede compilar sin errores.
> 
> Sólo se tiene que abrir con PIC C Compiler de CCS, el archivo "TransmisorFM.c"
> 
> ...



D@rkbytes. Hablando de optimizar la ROM. ¿Si saco una función, la debo eliminar de todas las librerías, una por una?
Porque la parte que no entiendo es cómo el PIC le manda una orden al KT.
¿Me darías un ejemplo? Ya realicé todos los pasos y logra compilar sin errores.

Guardé el proyecto con las modificaciones que me diste y al grabar el PIC le cambié el tamaño de la pantalla de SIZE 21 a SIZE 25 y no me aparecen más los @@ ni rayitas en la pantalla.

¿Qué debería cambiar para habilitar el Audio Limiter en el lugar del RF dBu?
Dejando este último por defecto a 108dBu. Sería cambiar uno por otro.

Otra cosa que no entiendo, es cómo manda los datos. Leo las hojas de datos del KT0803K y la del KT0803L (El que anda )
No sé dónde está la diferencia de registros, ubicaciones y demás.
Si tienes un tiempo me lo explicas. Debería arrancar a conocer los comandos básicos para no molestar y hacer las modificaciones.

Desde ya, y como siempre, mil gracias a toda la comunidad por ser tan amables en prestar ayuda.
Es todo un orgullo ser parte de este foro.


----------



## Daniel Lopes (Dic 22, 2015)

Hola a todos , a titulo de conocimento un nivel de 108dBu es equivalente a 1mW   
Att, 
Daniel Lopes.


----------



## Rodrigo Postigo (Dic 22, 2015)

Daniel Lopes dijo:


> Hola a todos , a titulo de conocimento un nivel de 108dBu es equivalente a 1mW
> Att,
> Daniel Lopes.




Daniel solo a eso equivale 1mw ?  viste que los kit que compraste vos y yo te pase los pdf de componentes y demas lleva el KT0803k , luego lo amplifica con un s9018 smd+c3355+c2053+rd15hvf1  

yo lo que estoy usando es el KT0803+bfr91+bfr96+c1971 y logro entre 6 a 8W maximo dependiendo de la alimentacion y calibracion de los trimmer


----------



## Daniel Lopes (Dic 22, 2015)

Las cuentas son las seguintes : 1uV equivale a -107dBm @ 50R ,entonses  +108dBuV equivale a +1dBm @ 50R  o sea un poquito mas de 1mW , pero menos que 1,5mW.
Cuanto a tu resultado , lograste una ganancia de 46 o 47dB en todo paso amplificador (bfr91+bfr96+2sc1971) lo que es muy bueno , creo jo que debido a lo optimo ayuste entre estagios .
Att, 
Daniel Lopes.


----------



## D@rkbytes (Dic 22, 2015)

Rodrigo Postigo dijo:


> D@rkbytes. Hablando de optimizar la ROM. ¿Si saco una función, la debo eliminar de todas las librerías, una por una?
> Porque la parte que no entiendo es cómo el PIC le manda una orden al KT.
> ¿Me darías un ejemplo? Ya realicé todos los pasos y logra compilar sin errores.


Eliminar funciones no usadas es parte de optimizar un programa, pero principalmente se debe tener cuidado con el tamaño de las variables.
Muchas veces usan funciones de 16 bits para retornar valores de 8 bits y eso no está bien.
El uso de "printf" consume mucha ROM y usar cadenas largas y repetitivas, también.


Rodrigo Postigo dijo:


> Guardé el proyecto con las modificaciones que me diste y al grabar el PIC le cambié el tamaño de la pantalla de SIZE 21 a SIZE 25 y no me aparecen más los @@ ni rayitas en la pantalla.


Eso fue una suposición, se necesitaría estudiar la rutina de escritura para hacer que funcione con pantallas de 20 letras.


Rodrigo Postigo dijo:


> ¿Qué debería cambiar para habilitar el Audio Limiter en el lugar del RF dBu?
> Dejando este último por defecto a 108dBu. Sería cambiar uno por otro.


No tengo idea. No conozco ese chip ni he leído la hoja de datos.


Rodrigo Postigo dijo:


> Otra cosa que no entiendo, es cómo manda los datos. Leo las hojas de datos del KT0803K y la del KT0803L (El que anda )
> No sé dónde está la diferencia de registros, ubicaciones y demás.
> Si tienes un tiempo me lo explicas. Debería arrancar a conocer los comandos básicos para no molestar y hacer las modificaciones.


Las funciones de lectura y escritura del chip están en el archivo "*KT_Comm.c*" y las definiciones de registros están en el archivo "*KT_Comm.h*"
Ahí se puede ver que para la escritura y la lectura se han definido dos constantes:
*#define WRITE_COMMAND 0x7C
#define READ_COMMAND 0x7D

*Por lo general en I2C, el comando de lectura es un bit más al de escritura. (Incluye dirección del chip)

Los registros se encuentran enseguida:
*#define REG_00 0x00
#define REG_01 0x01
#define REG_02 0x02
#define REG_04 0x04
#define REG_13 0x13

*Para entender cómo funciona el protocolo I2C necesitas estudiarlo.
Es muy sencillo y su funcionamiento fue muy bien explicado por su creador. Philips.
Documento adjunto, cortesía de mcc-us
Las instrucciones básicas en PIC C Compiler para usar I2C, son las siguientes:
*i2c_start();
i2c_write();
i2c_read();
i2c_stop();*

En PIC C de CCS para hacer un Restart, se hace otro* i2c_start();* antes de detener la transmisión.

El resto es estudiar para comprender el programa.
​


----------



## Rodrigo Postigo (Dic 23, 2015)

Gracias D@rkbytes prometo estudiar y tratar de hacer modificaciones comentando los avances del proyecto ,espero no se me haga tan dificil , a lo que entendi si hago modificaciones de registro en kt_comm puedo cambiar una funcion por otra y compilar para probar si hace lo que yo quiero , como siempre gracias por tomarte el tiempo de responderme las dudas o preguntas una por unas , muy agradecido con usted D@rkbytes !!!!


----------



## Rodrigo Postigo (Nov 17, 2016)

D@rkbytes dijo:


> Eliminar funciones no usadas es parte de optimizar un programa, pero principalmente se debe tener cuidado con el tamaño de las variables.
> Muchas veces usan funciones de 16 bits para retornar valores de 8 bits y eso no está bien.
> El uso de "printf" consume mucha ROM y usar cadenas largas y repetitivas, también.
> 
> ...



D@rkbytes me darias una mano para modificar las funciones o programa del chip , optimizar , usar otra funcion y probarla sin tener que comprar el pic 16f886 (lo que me demandaria mucho tiempo ) para poder dejar todas las funciones y agregar la que quiero ya que si la pruebo y me da resultado la funcion ALC podria tener el transmisor de fm ya con un compresor expansor de sonido incluido , yo te dejo la hoja de datos del KT 0803L y le pegas un vistazo si te parece


----------



## D@rkbytes (Nov 17, 2016)

Claro, muéstranos lo que llevas hecho y con gusto te podremos colaborar.


----------



## Rodrigo Postigo (Nov 17, 2016)

D@rkbytes la verdad que lo que llegue a hacer es imprimir todo el codigo fuente   mas todas las hojas de datos de los dos integrados , KT0803k y KT0803L y leer buscando coincidencias pero no entiendo mas de lo que me marcaste , los registros usados y el envio y recepcion asignado para la coomunicacion , esto es todo nuevo para mi no entiendo nada  D@rkbytes


----------



## D@rkbytes (Nov 17, 2016)

El protocolo de comunicación es I2C, en C no es nada complicado.
Inicias comunicación: i2c_start ();
Envías dirección y comando de lectura o escritura:  i2c_write (dir_esclavo | lectura_escritura); 
Lees el dato indicando si requieres acuse de recibo (ACK): dato = i2c_read (ack_no_ack);
Terminas la comunicación: i2c_stop ();

O sea, lo básico.


----------



## Rodrigo Postigo (Nov 17, 2016)

facil para vos que lo entendes D@rkbytes, te digo que para mi es chino basico , o sea tengo miedo de borrar algo y hacer macana que deje  de andar o bien capas que en vez de borrar cambio registros y hace lo que quiero , hasta lo de los registros llego despues  se me termina el ingenio

son muchos lugares donde se deben hacer los cambios y tampoco se si reemplazo algo.... si la otra funcion queda por defecto o desaparece


----------



## D@rkbytes (Nov 17, 2016)

Rodrigo Postigo dijo:


> Fácil para vos que lo entendes D@rkbytes.
> Te digo que para mi es chino básico, o sea tengo miedo de borrar algo y hacer macana que deje  de andar o bien capaz que en vez de borrar cambio registros y hace lo que quiero, hasta lo de los registros llego después,  se me termina el ingenio.


De eso se trata, de comprender el funcionamiento y hacer pruebas.
Por acá decimos que... echando a perder, se aprende.


----------



## Rodrigo Postigo (Nov 18, 2016)

D@rkbytes dijo:


> De eso se trata, de comprender el funcionamiento y hacer pruebas.
> Por acá decimos que... echando a perder, se aprende.



claro D@rkbytes pero justamente asi como me decis vos empiezo a borrar por borrar y si no compila mas que hago ? arrancar denuevo con una copia del original a hacer espacio ? sin entender como se hace es mas facil hechar a perder


----------



## D@rkbytes (Nov 18, 2016)

Yo empezaría desde cero, no tiene caso modificar otro programa.
Realiza el programa paso por paso y ve notando cómo responde.


----------



## Rodrigo Postigo (Ene 31, 2017)

claro D@rkbytes pero calcula que lo hizo un amigo al programa yo de eso no entiendo nada , tengo mas de 50 micros nuevos con zocalo y los Kt0803k y tambien los KT0803L , pero la progracion la mande a hacer D@rkbytes por ese motivo soy nulo total , encima formatie la pc y no me quedo ni el grabador de pic ni el compilador , mas que de cero tengo que arrancar , por eso te preguntaba si vos no me arias la programacion del micro


----------



## D@rkbytes (Ene 31, 2017)

Saludos.
Disculpa, pero obviamente no, el programa del PIC es algo que necesitas tú, no yo.

Todos empezamos desde cero, y si queremos saber algo algo, lo aprendemos.
Lo que es software y hardware de programación se puede volver a conseguir, así que no es pretexto.
Yo por ese lado no me preocupo, lo que si cuido son mis programas y nada más a eso le hago respaldo.

Ten la iniciativa de ser tú quien haga el programa y en el Foro se te podrá colaborar.


----------



## Rodrigo Postigo (Feb 1, 2017)

D@rkbytes dijo:


> Saludos.
> Disculpa, pero obviamente no, el programa del PIC es algo que necesitas tú, no yo.
> 
> Todos empezamos desde cero, y si queremos saber algo algo, lo aprendemos.
> ...



Bueno me voy a poner a empezar según la programación que tengo y si necesito ayuda casi seguro les voy preguntando , veremos como empiezo y les voy comentando , como siempre gracias por el incentivo y ayuda en el foro


----------



## Rodrigo Postigo (Jun 6, 2017)

Hola Amigos del foro  como  va tanto tiempo , una consulta alguien sabe como se hace el cable BALUM para entrada y salida de 50 OHM tipo modulo RVR , ando por hacer unas placas , ademas le consulto si an relizado alguna placa sumando 2 RD15HVF1 en una misma placa , no se como hacen los chinos pero con 4.7v de gate y solo 11.8v de alimentacion le sacan 20W banda ancha , la idea seria sumar 2 RD15HVF1 y asi lograr unos 40w tranquilo , que opinan ustedes  ??





D@rkbytes dijo:


> Saludos.
> Disculpa, pero obviamente no, el programa del PIC es algo que necesitas tú, no yo.
> 
> 
> D@rkbytes te hago una consulta sobre otro tema que tengo una inquietud , a mi proyecto que creo vos compilaste y lo pasaste a pic 16f886 , se le puede agregar un pin que al entrar en modo servicio ese pin haga de resistencia variable para que yo conecte una resistencia a la alimentacion del micro y en pantalla al mostrar un porcentaje de 0 a 100 en pantalla 0 sea 0 volts y valla subiendo hasta llegar a 100% que serian los 3.3v o 5v maximos que daria , es muy complicado las funciones estas ? gracias


----------



## Daniel Lopes (Jun 6, 2017)

Rodrigo Postigo dijo:


> Hola Amigos del foro  como  va tanto tiempo , una consulta alguien sabe como se hace el cable BALUM para entrada y salida de 50 OHM tipo modulo RVR , ando por hacer unas placas , ademas le consulto si an relizado alguna placa sumando 2 RD15HVF1 en una misma placa , no se como hacen los chinos pero con 4.7v de gate y solo 11.8v de alimentacion le sacan 20W banda ancha , la idea seria sumar 2 RD15HVF1 y asi lograr unos 40w tranquilo , que opinan ustedes  ??


Hola Don Rodrigo Postigo , ya tienpos que no mas platicamos sobre Lineares para FM 
Bueno cuanto a los Balunes nesecito que suba mas informaciones (datos o planos) dese tal módulo RVR para puder tentar ayudarde lo mejor que possible.
Cuanto a lo amplificador P.P. con dos RD15 ya pude veer fotos y videos deses "bixos" andando por la Internet pero nada de diagrama esquemactico con valores de los conponentes      
Tanbien tengo ganas de armar un deses , pero por questiones de seguridad la potenzia de salida creo sener mejor trabajar con 25 o 30Wattios maximos de modo garantizar vida longa a los RD15 una ves que que servicio de una FM Broadcasting es de 24h continuos todos los dias    
!Saludos desde Brasil!.
Att,
Daniel Lopes.


----------



## D@rkbytes (Jun 6, 2017)

Rodrigo Postigo dijo:


> D@rkbytes, te hago una consulta sobre otro tema que tengo una inquietud.
> A mi proyecto que creo vos compilaste y lo pasaste a PIC16F886, ¿Se le puede agregar un pin que al entrar en modo servicio, ese pin haga de resistencia variable para que yo conecte una resistencia a la alimentación del micro y en pantalla al mostrar un porcentaje de 0 a 100, en pantalla 0 sea 0 voltios y vaya subiendo hasta llegar a 100% que serian los 3.3v o 5v máximos que daría?
> ¿Es muy complicado las funciones estas?


Si se puede y no es nada complicado.
Tan sólo programación y matemáticas básicas.


----------



## cristian_elect (Jul 20, 2017)

Tengo un transmisor de FM de  15W con ese integrado, se reompio la pantalla quiero hace un control con   Atmel, ya hice la pate de cambio de frecuencias pero como no quiero agregar todas las funciones del programa del  Pic por no traducir al atmel todo. Quisiera saber cómo incrementar el volumen de audio ya que en otras emisoras suena más fuerte, pensaba que falta potencia RF pero no era eso, tampoco es la fuente de audio porque se distorsiona la radio si lo subo mucho el volumen.  Que función es para controlar el volumen para igualar a las otras emisoras FM.


----------



## Rodrigo Postigo (Jul 21, 2017)

cristian_elect dijo:


> Tengo un transmisor de FM de  15W con ese integrado, se reompio la pantalla quiero hace un control con   Atmel, ya hice la pate de cambio de frecuencias pero como no quiero agregar todas las funciones del programa del  Pic por no traducir al atmel todo. Quisiera saber cómo incrementar el volumen de audio ya que en otras emisoras suena más fuerte, pensaba que falta potencia RF pero no era eso, tampoco es la fuente de audio porque se distorsiona la radio si lo subo mucho el volumen.  Que función es para controlar el volumen para igualar a las otras emisoras FM.



Hola cristian_elect mira el tema del sonido mas alla de cotrolar el volumen el problema que estas teniendo a mi ver es que si le das mas volumen y se sobremodula , es como que fuera chico el ancho de banda ,para eso yo lo que hice fue poner un compresor expansor  entonces le doy al maximo volumen sin llegar a sobremodular , en lo que te pueda ayudar me avisas y lo vamos viendo , saludos Rodrigo


----------



## cristian_elect (Jul 21, 2017)

Tiene poco volumen casi la mitad de otras emisoras FM, le doy más volumen a la entrada pero se distorsiona en mi radio receptor. Le pongo el PGA a 4dB y se reduce la distorsión a volumen alto de la entrada no si hay una configuración para aumentar el volumen para no saturar la entrada de audio con volumen alto.


----------



## Daniel Lopes (Jul 21, 2017)

Hola a todos , jo personalmente no me guta ese CI (KT0803) porque la generación de la portadora en VHF , la modulación en FM y tanbien la codificación estereo es hecha digitalmente con uso de la técnica  DDS (Direct Digital Sintese) que es  totalmente  interno al CI y asi no es possible ayustar nada mas a no ser lo que lo fabricante hay previsto cuando lo diseñó.  
Aun me encanta los viejos y clasicos PLLs discretos aun de programación paralela y modulación analógica basada en diodos Varicaps. 
Att,
Daniel lopes.


----------

