Proyecto transmisor FM con microcontrolador y PLL de transmisor de auto

Tenemos que admitir , los Rusos son uns capos (cabrones) , mismo con los pocos recursos tecnicos disponibles en las manos. :eek: :eek: :eek: :eek:
Att,
Daniel Lopes.
 
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
 
Última edición:
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 :cry: :cry: :cry: :cry: :cry: :cry: :cry:
Att,
Daniel Lopes.
 
....
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 :D:D:D:D:D , 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 :cry:

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). :)

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""
 
Última edición:
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). :)



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""

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
 
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.

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
 

Adjuntos

  • Programa 2.rar
    8.6 KB · Visitas: 147
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.
 
Bueno...:aplauso: sobre todo a el SEÑOR D@rkbytes.
Compila perfectamente y funciona el circuito con el archivo generado.
pRO.JPG
cAPTX.JPG

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,
 
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.


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 )
 
Última edición:
.


.... 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 :rolleyes:.

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.-
 
hice los cambios , me agrego unos archivos .bk (que los borre ) pero si abro solo transmisorfm.C no me deja compilar



.




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

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.-

J2C en su momento9 los cosegui en elemon ahora estan u$u 3.21 recien mire
 
Última edición:
.


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.-
 
Última edición:
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%
 

Adjuntos

  • Programa3.zip
    8.7 KB · Visitas: 136
  • Programa886.zip
    59.7 KB · Visitas: 143
Última edición:
.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.
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
 
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.

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

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 ?
 
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.
 
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 !!!

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.

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 :):):)
 

Adjuntos

  • 16f627.jpg
    16f627.jpg
    108.4 KB · Visitas: 37
  • 16f883-886.jpg
    16f883-886.jpg
    82.7 KB · Visitas: 35
Última edición:
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...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.

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 ?
 

Adjuntos

  • Registros 1.png
    Registros 1.png
    151.9 KB · Visitas: 43
  • Registros 2.png
    Registros 2.png
    126 KB · Visitas: 34
  • Registros 3 Potencia .png
    Registros 3 Potencia .png
    131.5 KB · Visitas: 31
  • Registros 4 limiter audio.png
    Registros 4 limiter audio.png
    118.3 KB · Visitas: 37
  • Circuito Agregar 5 dBu potencia.png
    Circuito Agregar 5 dBu potencia.png
    87 KB · Visitas: 54
  • KT0803 K.pdf
    951.6 KB · Visitas: 84
  • KT0803L.pdf
    766.3 KB · Visitas: 75
Atrás
Arriba