Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

24/07/2009 #1

Avatar de Moyano Jonathan

Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
Hola a todos.

Acá les traigo un mini aporte donde se muestra como se utiliza un PIC en i2c como esclavo. Para esto hemos creado 2 programas 1 para el microcontrolador como esclavo y otro programa para el microcontrolador que actua como master.

Ambos programas están comentados y la aplicación propuesta es sencilla para que todos los puedan entender.

También pongo el diagrama de conexionado para que prueben la aplicación (Yo lo he probado y funciona perfecto).

Todos los comentarios y criticas constructivas serán bienvenidas.

PD: Este proyecto es parte de una controladora de 3 o más motores PAP controlado por USB.

1 Saludo ! 8-)
26/10/2009 #2


Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
gracias hermano por este pequeno aporte, ya habia leido sobre comunicacion ic2, lo voy a checar yo apenas estoy empezando con esto, ya habia empezado pero no logre comunicar mis micros, cheque rapido tu esquema, y pense que las resistencias pullup no hiban haa espero que eso haya sido mi error, Gracias
27/10/2009 #3


Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
oye Jhonatan, me interesa aprender a utilizar bien el protocolo I2c para pic, en especial para el 16f877A, pero es que yo trabajo bien assembler y algo de basic, c no es de mi total agrado.. mi pergunta es en assembler es muy complejo??
28/10/2009 #4

Avatar de Moyano Jonathan

Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
No en ensamblador no es complejo pero si aumenta el tamaño de código significativamente.
17/11/2009 #5


Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
saludos yo de nuevo pasando a molestar, ya he hecho la comunicacion, gracias a tu ejemplo y buen aporte, tengo un duda..., para esto el esclavo tiene un direccion predifinida por software, y lo datos son recividos cuando hay una senal de cloclk por parte del maestro, creo que asi funciona este modelo, mi duda en especifico es como puedo enviar un dato de esclavo a maestro, se le asigna un direccion ?? si has hecho esta comunicacion ojala me puedas ayudar...


Gracias otra vez, saludos
17/11/2009 #6

Avatar de Moyano Jonathan

Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
La verdad no he probado la bidireccionalidad en este tipo de comunicación, pero me parece que le tenés que asignar una dirección al master para poder enviar datos.
Que alguien me corriga si me equivoco.
18/11/2009 #7

Avatar de electronic2009

Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
bueno el aporte muchas gracias.
11/02/2010 #8


Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
una pregunta jonathan, estoy usanso dos micros 18f4550, me funciona tu codigo con el maestro y un cristal de 4 mhz, y el esclavo con uno de 20 mhz, pero la cuestion es si lo puedo hacer en forma inversa??
me explico, el sistema que tienes en tu codigo soslo le doy algunos cambios y me funciona con los dos micros, pero el esclovo debe de trabajar forsozamente a 4 mhz ya que le pongo un lcd grafico y a 20 mhz el lcd no funciona muy bien, entonces el cristal del esclavo siempre debe ser de 4mz, el del maestro lo puedo cambiar a culaquier frecuencia.
pero no me funciona con un esclavo a 4mhz y un maestro a 20 o 4mz.
cual sera el error?
o le tengo que cambiar alguna libreria??
en el maestro tienes
#use i2c(Master,Fast=400000,sda=PIN_B0,scl=PIN_B1,force _hw) // Utilizamos hardware I2C a 400Khz.Fast=400000

si la tengo que reducir.
el fuse de XT ya esta en HS y al contrariO

o algun otro detalle por lo que no se pueda dar esta funcion
saludos!!!
12/02/2010 #9

Avatar de StrySG

Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
Tengo una pequeña pregunta acerca de como ampliar la longitud de separacion que debe haber entre los microcontroladores(los 2 cables que haran la cominicacion), en protocolo i2c, tengo el dato de que es de maximo 1 metro...

Ahora supongo que tendra que existir algun chip como el MAX 232 que ayuda en la cominicacion serial.

¿Alguno de ustedes sabe que chip o que método me puede ayudar a ampliar la distancia entre los microcontroladores usando el protocolo i2c?
13/02/2010 #10

Avatar de Moyano Jonathan

Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
Para largas distancias es mejor usar protocolos como el RS485 ...I2C lo he probado máximo 50cm y funciona bien.. pero no es recomendable para largas distancias..
23/05/2010 #11

Avatar de Vegetal Digital

Simulación en ISIS.
Hola, simule tu(s) programas en proteus y no me anda, no llegan datos al esclavo y el master manda cualquier cosa(lo veo con la herramienta i2c debugger). Adjunto el archivo para que lo revisen.
Saludos.
Archivos Adjuntos
Tipo de Archivo: rar simulacion vegetal digital.rar (19,7 KB (Kilobytes), 418 visitas)
23/05/2010 #12


Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
Hola, moyano si puedes ayudame a configurar la usart del 18f4550 para controlar un servo. Te he querido mandar un mensaje pero no puedo porque soy nuevo. Gracias.

En realidad todavia ni he podido configurar bien la usart. je
C18 y pic 18f4550
23/05/2010 #13

Avatar de Moyano Jonathan

Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
Disculpen ya voy a seguir con este tema pero por ahora no tengo internet ni el tiempo ni el dinero suficiente para hacer investigaciones por el momento....ya para más adelante sigo con esto.
Un saludo y disculpas !
23/05/2010 #14

Avatar de Vegetal Digital

Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
No hay problema todos sabemos que a la mayoria de nosotros el tiempo no nos sobra.

Sobre la comunicacion I2C migre el codigo del master (18f2550) a un pic 16f877. Ahora funciona con los dos 16f877 siempre y cuando este enchufado la herramienta i2c debugger. Supongo que el problema era el pic 18f, que no se lleva bien con el isis.
Voy a seguir probando si puedo hacer andar en la simulacion y sino probare en la realidad.
Si alguien los quiere, subo los programas.
saludos
22/06/2010 #15


Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
Vegetal Digital dijo: Ver Mensaje
No hay problema todos sabemos que a la mayoria de nosotros el tiempo no nos sobra.

Sobre la comunicacion I2C migre el codigo del master (18f2550) a un pic 16f877. Ahora funciona con los dos 16f877 siempre y cuando este enchufado la herramienta i2c debugger. Supongo que el problema era el pic 18f, que no se lleva bien con el isis.
Voy a seguir probando si puedo hacer andar en la simulacion y sino probare en la realidad.
Si alguien los quiere, subo los programas.
saludos
A mi me interesa, y te lo agradeceria mucho.
23/06/2010 #16

Avatar de Moyano Jonathan

Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
Ahora ya tengo internet nuevamente y maquina nueva tambien asi que el que tenga problemas veremos de como solucionarlos
un saludo !
23/06/2010 #17


Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
Moyano Jonathan dijo: Ver Mensaje
Ahora ya tengo internet nuevamente y maquina nueva tambien asi que el que tenga problemas veremos de como solucionarlos
un saludo !
No se si me podrias explicar que funcion es la q debo esperar, ya que al igual que otro usuario anterior simule en ISIS PROTEUS pero no funciona, ¿fisicamente tu lo desarrollaste? si jala al 100?te agradeceria la información.
24/06/2010 #18

Avatar de Moyano Jonathan

Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
Si esto todo lo pobré en forma fisica usando de master un PIC16F818 y de esclavos 1 x PIC16F818, 1x PIC16F88 y una memoria 24C256 y funciona de maravilla. Ahora algo por lo que a muchos les falla es que no saben configurar bien el puerto serie sincronico par que trabaje en modo I2C , además hay que tener en cuenta la dirección de los registros según sea el micro y hacer las modificaciones pertinentes al código y fijarse si se están produciendo las interrupciones.
06/07/2010 #19


Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
que tal amigos somos nuevos pueden darme una mano con la configuracion I2C con el pic18f4550 y un dspic30f4013
07/07/2010 #20

Avatar de Moyano Jonathan

Respuesta: Expansor I2C PIC - PIC PIC16F877A como esclavo y PIC18F2550 como maestro.
Dalu como estás !
Mirá primero nos tendría que decir que compilador estás usando ...yo todos mis desarrollos los he estado haciendo en CCS y con PIC de la línea 16 y 18...nunca he trabajado los DSpic :s
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.