Haz una pregunta
  Foros de Electrónica » Diseño analógico » Diseño de circuitos en general
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

06/02/2010 #1


generar pulso cada 100 us y de 1 uf de ancho
hola colegas, necesito una ayuda necesito generar un pulso cada 100us y de 1 us de ancho, si alguien sabe se lo agradeceria ya que no se manejar micros, solo algo de ttl cmos
06/02/2010 #2

Avatar de Vegetal Digital

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
En que micro y en que lenguaje? Me imagino que queres usar los timer de los pics.
06/02/2010 #3


Respuesta: generar pulso cada 100 us y de 1 uf de ancho
es ke ese es el problema todavia no me han enseñado nada de pics ni nada, el unico dispositivo programable que se manejar es la gal22v10 con el programa cypress warp
06/02/2010 #4

Avatar de Vegetal Digital

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
bien en C podes hacer algo bien simple como esto

Código:
[configuarcion del micro, puertos, reloj, etc, etc]

void main (void)
	{
	while(1)                      //lo repite por siempre(bucle infinito)
		{
		SALIDA=1;          //pone en estado alto(1) el pin de salida
		delay_us(1);	      //espera durante 1uS
		SALIDA=0;          //pone en bajo (0) la salida
		delay_us(100);          //pausa de 100uS
		}
	}
Te recomendaria usar el pic16f84 porque seguro querran que uses este por ser tan famoso, si me esperas te lo puedo compilar y simular en proteus.
06/02/2010 #5


Respuesta: generar pulso cada 100 us y de 1 uf de ancho
claro colega, te espero y muchas gracias por ayudarme con esto
06/02/2010 #6

Avatar de cosmefulanito04

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
Usa un 556 (son 2 555), uno que funcione en modo astable con periodo de 100us y que haga de trigger al 2do de forma que este ultimo funcione como monoestable con un pulso de 1us.

Aca tenes un programa hecho en java para calcular los componentes de cada 555:

Coolers de Pc - Regulador automático
07/02/2010 #7

Avatar de Vegetal Digital

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
El 555 es más inexacto.
Acá te dejo el programa en C, compilado, y simulado con el osciloscopio del proteus.
Lo malo de este programa es que no podes hacer nada más con el pic si queres exactitud, sino, usá interrupciones.
Archivos Adjuntos
Tipo de Archivo: rar para fabiancam.rar (16,2 KB (Kilobytes), 40 visitas)
07/02/2010 #8

Avatar de pepechip

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
Hola
Yo solamente grabo los microcontroladores en ensamblador, asi que he abierto el codigo que has posteado para ver que exactitud tiene el C.

Te pongo una parte del codigo generado por C:
000B: BSF 06.0
.................... delay_us(1); //espera durante 1uS
000C: NOP
.................... SALIDA=0; //pone en bajo (0) la salida
000D: BCF 06.0
.................... delay_us(100); //pausa de 100uS


Suponiendo que el cristal de cuarzo utilizado sea el tipico de 4Mhz, entonces cada instruccion del micro se ejecuta en 1us, por lo tanto el tiempo que trancurre desde que tu conectas hasta que desconectas son de 2us.
Te sobra el NOP.

El tiempo de 100us no lo he mirado pero posiblemente el tiempo obtenido con ese programa sea de 102us, ya que el GOTO tarda 2us en ejecutarse.
07/02/2010 #9

Avatar de Vegetal Digital

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
Hola, pepechip, si no es mucha molestia, estaría bueno que compiles el programa en asm así comparamos ambas señales producidas por los dos lenguajes. Digo porque yo de ensamblador no entiendo nada.
07/02/2010 #10


Respuesta: generar pulso cada 100 us y de 1 uf de ancho
vegetal digital muchas gracias por tu gran ayuda, eh mirado la simulacion y pepechip tiene algo de razon los tiempos varian un poco pero supongo que no influye mucho en lo que queremos obtener, pero si hay alguna forma de sacar el tiempo exacto se te agradeceria, sino no hay problema.
por otro lado necesito que me enseñes o ayudes a programar el pic, noc si se pueda con el BK presicion.
07/02/2010 #11

Avatar de fernandoae

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
Empezá con el 16F88 que es más completo y sale mas barato.
07/02/2010 #12

Avatar de pepechip

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
este seria el codigo en asembler:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

LIST P=16F84A ;
INCLUDE <P16F84A.INC>

CBLOCK 0x0C
tiempo
ENDC
ORG 0 ; El programa comienza en la dirección 0.
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf TRISB ; Las líneas del Puerto B configuradas como salida.
clrf TRISA
bcf STATUS,RP0 ; Acceso al Banco 0.
Principal
bsf PORTB,1 ; pone a 1 ese pin
bcf PORTB,1 ; Lo pone a 0
DEMORA movlw .32
movwf tiempo
bucle decfsz tiempo, 1
goto bucle
goto Principal

END ; Fin del programa.
07/02/2010 #13


Respuesta: generar pulso cada 100 us y de 1 uf de ancho
hola pepechip, oye ps la verdad no sabemos manejar ese programa, y queriamos saber si depronto no lo puedes pasar en .hex, o el algun tipo de archivo para poderlo simular en proteus.

gracias
07/02/2010 #14

Avatar de cosmefulanito04

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
Con el 555:

1er 555 funcionando como Astable:

Ra=12kohm
RB=1.2kohm
C=10 nf

Obtenes 10khz (T=100uSeg) con un duty del 9%.

2do 555 funcionando como Monoestable:

C=10nf
R=91 ohm

Obtenes un pulso de 1uSeg.

El tema esta en si se banca 1uSeg o no el 555, en las hojas de datos el valor minimo es 10 uSeg.

Todos los valores son comerciales. El conexionado simplemente lo haces a partir de la hoja de datos.
08/02/2010 #15

Avatar de pepechip

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
hola
os dejo el adjunto con el codigo hex y el asm
Archivos Adjuntos
Tipo de Archivo: rar pulso.rar (615 Bytes, 16 visitas)
09/02/2010 #16

Avatar de Vegetal Digital

Respuesta: generar pulso cada 100 us y de 1 uf de ancho
Gracias pepechip, comparando las dos señales, parece ser mejor la creada en ensamblador, porque, la otra no es perfectamente recta el flanco de subida.
Ustedes que opinan?
11/02/2010 #17


Respuesta: generar pulso cada 100 us y de 1 uf de ancho
hola, disculpen por la demora, pero nos pusimos a terminar de diseñar el circuito con el pic programado por vegeta que aunque no son tiempos perfectos nos quedo apenas para lo que necesitabamos, bueno ps el profe bajo unos punticos por no ser exactamente 1 us, pero de resto muy bien, pues de no ser por la ayuda de uds no ubieramos podido entregar el circuito como les sucedio al resto de grupos.
muchas gracias y les voy a dejar la simulacion en proteus terminada
gracias a todos los ke colaboraron.
Archivos Adjuntos
Tipo de Archivo: rar diente de sierra.rar (13,0 KB (Kilobytes), 19 visitas)
20/05/2012 #18


Variables en forma de pulso?
Vegetal Digital dijo: Ver Mensaje
bien en C podes hacer algo bien simple como esto

Código:
[configuarcion del micro, puertos, reloj, etc, etc]

void main (void)
	{
	while(1)                      //lo repite por siempre(bucle infinito)
		{
		SALIDA=1;          //pone en estado alto(1) el pin de salida
		delay_us(1);	      //espera durante 1uS
		SALIDA=0;          //pone en bajo (0) la salida
		delay_us(100);          //pausa de 100uS
		}
	}
Te recomendaria usar el pic16f84 porque seguro querran que uses este por ser tan famoso, si me esperas te lo puedo compilar y simular en proteus.
Buen dia... hace un rato me tope con esta pregunta y se me vino a la mente una idea no se si muy alocada, te comento que necesito controlar 3 servos, como son acciones repetitivas las que van a realizar, debo usar 2 señales de salida para cada servo es decir una señal para que el servo se posicione en P1 o otra para P2.

De esta manera necesitaría generar 6 señales diferentes con el oscilador (2 por servo)

Mi idea es utilizar este código para asignar esos pulsos a una variable, y cuanto sea necesario utilizarlas, solamente las mando llamar... se puede hacer eso?? es valido y si es asi esas variables de que tipo serian?

Estoy utilizando un PIC16f887 y lenguajes C y Ensamblador...
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Diseño de circuitos en general

Alarmas, temporizadores, acondicionadores de señal...

Cerrar
Foros de Electrónica » Diseño analógico » Diseño de circuitos en general

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