|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Huguen_aus_Tirol
Páginas: 1 2 3 [4] 5 6 ... 13
76
« en: Jueves 23 de Noviembre de 2006, 23:55 »
Hola Farmada! Seguramente tiene un puente dentro, más algo de electrónica para entregar la salida... Justamente estoy jugando con unos sensores de corriente por efecto Hall (el ACS706-5, se pueden conseguir muestras directamente de Allegro, jeje!!). Tambien tengo problemas de ruido; pasa que el margen de medida es de 0 a unos +/-15A, y para corrientes pequeñas afecta mucho el ruido. Estaba probando con una lampara, y al ser la corriente pequeña, influía mucho el ruido. Tomé "prestada" la plancha (mi señora se puso contenta, pero duro lo que una instrucción del micro!) y la cosa mejoró. Como solución bastante aceptable para mi propósito, soldé un capacitor de 10n (fue el primero que encontré) a la entrada del AO (un buffer) y el resultado es más que aceptable. Además hago un promedio en el micro, y tomo el valor RMS de la señal. Tambien le resto un pequeño offset en programa, ya voy a ver como lo soluciono... Probá con algún capacitor de filtro; con el tema ruido es muy difícil calcular un valor. Lo mejor es ir probando y viendo en el osciloscopio. Probá en tu programa darle un poco más de 10us para el filtrado, probá con 100us o más. Y al promediar, usa como primer "medida" el resultado del último promedio. También podrías usar un timer para hacer las medidas e ir promediando, asi el tiempo entre muestras se mantiene constante...  Ahora veo algo... Normalmente el micro necesita al menos unos 15us para retener la tensión a medir (tiempo de muestreo), estás haciendo una demora de 10us...  Probá darle un cachito más de tiempo! En fín, el tema ruido, hace más ruido del que imaginamos... Mantenenos al tanto! Saludos!
77
« en: Miércoles 22 de Noviembre de 2006, 06:56 »
Hola Farmada! Fijate en la hoja de datos del sensor, dice que la salida es una señal PWM, donde el Ton es proporcional a la distancia (hay una formula en el documento). Sin embargo, dice que el período de la señal puede estar entre 1.5 y 3 ms, es decir no es constante. Podría ser que este período varíe, por lo que variaría tu señal analógica resultante... Mi idea: deja el ADC, y fijate de medir la duración del tiempo en alto (Ton) de la señal del sensor; podría ser con un modulo de captura En mi trabajo usamos transductores lineales, pero tienen una salida 4..20 mA, si te interesa te paso los datos. Saludos
78
« en: Miércoles 15 de Noviembre de 2006, 06:33 »
Hola! El PIC que dices tiene dos modulos PWM (los veras como CCP1 y CCP2), que te sirven para generar tensiones analógicas. Si usas uno de ellos, o ambos, tienes que usar tambien el timer 2 como base de tiempos. Tienes que configurar adecuadamente los registros relacionados a CCPx, y luego generas las tensiones cargando un ciclo de trabajo al modulo. No es muy dificil; solo sientate, lees bien la hoja de datos, haces un par de cálculos, y lo pruebas... No necesitas armarte ningún tipo de hard en especial, solo mides con un multimetro la tensión en la salida CCPx, y verás como cambia a medida que cambies el ciclo de trabajo. Depende lo que quieras hacer, seguramente después tengas que filtrar la salida CCPx; si puedes verlo con un osciloscopio, mejor
Saludos!
79
« en: Martes 14 de Noviembre de 2006, 15:26 »
Hola! Puedes convertir los niveles a RS485 y depues a la inversa e ingresar al PC; en eso no hay problema... Con respecto a la velocidad de transmision... Es como decir que subo a la autopista con la bicicleta, y por eso voy a handar a 150 kmh... La velocidad maxima esta limitada por el puerto serie de la PC. Fijate en el USB Saludos!
80
« en: Viernes 10 de Noviembre de 2006, 08:05 »
Perdon... recien me doy cuenta... En este momento no tengo el MPLAB (estoy en el laburo), pero fijate en los menus, ya lo encontraras... seguro que es "erase chip" (o algo parecido) Saludos
81
« en: Viernes 10 de Noviembre de 2006, 08:01 »
82
« en: Lunes 6 de Noviembre de 2006, 19:37 »
Hola Farmada!
Yo uso el WinPic800; si te fijas, hay un boton que dice "Config.", alli accedes a los bits de configuración (estan nombrados como CPB, CP0, CP1 y CP2 para el micro que usas) Con las diferentes casillas puedes proteger partes de la memoria; marcando todas proteges toda la flash. Fijate que rangos puedes proteger en la DS del micro. Tambien tienes una casilla que es CPD, creo que es para proteger la EEPROM de cualquier curioso. Dentro del micro la puedes leer y escribir normalmente. Prueba y nos cuentas...
Saludos!
83
« en: Martes 31 de Octubre de 2006, 17:03 »
Hola a todos! Lei esta discusion, y ya me puse a curiosear en el link que dejo Tania... (con lo que me atraze un poco con el trabajo  ) Ahora, mi pregunta es: que herramientas se necesitan para estos micros? Es decir, que entorno de desarrollo existe, y como se pueden conseguir. Y que tipo de programador se utiliza... En una palabra, que es lo basico necesario para encarar estos micros. Desde ya las gracias Saludos!
84
« en: Viernes 27 de Octubre de 2006, 07:53 »
Hola; la única forma de quitar la protección del código es borrando todo el chip. Busca en el soft que usas para programarlo, ya encontrarás la manera de borrarlo completamente. Saludos
85
« en: Jueves 26 de Octubre de 2006, 23:53 »
Hola a todos! Después de algún tiempo, hoy me encuentro algo generoso, asi que quiero compartirlo con ustedes... Aquí van unas funciones para VB que nos permiten, una convertir un numero binario en formato float de Microchip a su equivalente real, y las otras dos la inversa. Son dos, una para calcular el exponente, y la otra para la mantisa. Espero les sirva... Más información en la página de Microchip (Hace falta decirlo?  ) Ah!!! Gracias Jonathan por la respuesta en el foro de VB; si bien no era la solución a mi problema, sí me sirvió muy bien para encarar el problema y ya está solucionado. Muchas gracias! 'Funcion que convierte un numero en formato float a real Public Function Hex_Float(Exp As Integer, Mantisa As Long) As Single Dim Sign As Boolean Dim Man_bin(23) As Byte Dim i As Byte Dim Res_float As Single 'determino exponente, en base a 0x7F Exp = Exp - &H7F 'Extraigo signo If Mantisa >= &H800000 Then Sign = True Else Sign = False End If 'Normalizo a 1.xxx Mantisa = Mantisa Or &H800000 'Convierto a real i = 23 Do Man_bin(i) = Mantisa Mod 2 If Man_bin(i) = 1 Then Res_float = Res_float + 2 ^ (-1 * i) End If Mantisa = Mantisa \ 2 i = i - 1 Loop While Mantisa > 1 Man_bin(i) = Mantisa Res_float = Res_float + 2 ^ (-1 * i) 'Signo? If Sign Then Res_float = -1 * Res_float End If 'Multiplico por el exponente Res_float = Res_float * (2 ^ Exp) Hex_Float = Res_float End Function
'Funcion que devuelve la mantisa de un numero real Public Function Float_Mantisa(Num As Single) As Long Dim Exp As Integer Dim Normalize As Single Dim Bin(23) As Byte Dim i As Byte Dim aux As Long 'Obtengo el exponente Exp = Float_Exp(Num) Exp = Exp - &H7F 'Normalizo Normalize = Abs(Num) / (2 ^ Exp) 'Convierto en array binario (24bits) For i = 0 To 23 If Normalize >= 2 ^ (-1 * i) Then Bin(i) = 1 Else Bin(i) = 0 End If Normalize = Normalize - (Bin(i) * 2 ^ (-1 * i)) Next 'Convierto array binario en valor de la mantisa aux = 0 Bin(0) = 0 For i = 0 To 23 aux = aux + Bin(23 - i) * 2 ^ i Next 'Determino el signo If Num < 0 Then aux = aux Or &H800000 End If Float_Mantisa = aux End Function 'Funcion que determina el exponente de un numero real Public Function Float_Exp(Num As Single) As Byte Float_Exp = Int(Log(Abs(Num)) / Log(2)) + &H7F End Function
86
« en: Jueves 12 de Octubre de 2006, 18:46 »
Hola! Si tu PIC tiene PWM, simplemente cargas el PWM con el resultado de la conversión AD. Conectas el LED a la salida del modulo PWM, y listo... Saludos
87
« en: Lunes 2 de Octubre de 2006, 07:56 »
Hola! Usas un micro con conversor AD? asegurate de configurar bien los pines, por defecto RA esta configurado para el AD... Saludos
88
« en: Martes 26 de Septiembre de 2006, 08:05 »
Hola! Prueba hacer la funcion itoa fuera de la funcion que escribe en el LCD, pasando el resultado a una variable temporal y esta variable se la pasas al display... no se, pero prueba, en una de esas...
Saludos
89
« en: Viernes 22 de Septiembre de 2006, 21:28 »
Vaya, que extraño... cuando hago click en el link, me da error...!! Bueno, no se por qué te ha dado a la página de un diario... disculpa Lalo! (los únicos links a diarios que tengo son de Argentina!) Pero no es nada dificil, solo entrar a la web de Microchip y buscar; así de fácil! Saludos
90
« en: Jueves 21 de Septiembre de 2006, 22:03 »
Hola... Perdón por el error Es la AN851... Para compensar el error, aqui les dejo el link AN851
91
« en: Jueves 21 de Septiembre de 2006, 21:39 »
Hola a todos! Acabo de instalar el MPLAB, versión 7.42. Quizá a alguno no le parezca una novedad, ya que la última versión que tenía instalada era la 7.22, y no se nada de las versiones intermedias... últimamente no me servía de esta herramienta. Bueno, por lo que pude ver (hace solo un par de horas lo instale), puedo escribir código en C usando el compilador CCS; solo hay que indicar la localización en nuestro disco del compilador. Ya lo probé, y funciona! También podemos graficar las señales de los pines que querramos, algo así como un osciloscopio. Vi otras posibilidades más, que son nuevas para mi, pero aún no he tenido tiempo de analizarlas. Otra: permite descargar nuestro programa al PIC por el puerto serie, sin necesidad de programador (Bootloader). Para ello hay que bajarse la AN581, y (lógico...) cargar el firmware en el PIC... Ya veremos como funciona, solo denme tiempo... Recuerdo mis tiempos del asembler, lo útil que me resultaba esta IDE. Ahora que puedo integrar en este entorno el CCS, ya me estoy imaginando como será... Pesa unos 35 Mb, lo encontraran apenas entren a la página de Microchip; además pueden bajar diversos manuales de esta IDE. Allí mismo encontraran la AN581, solo hay que buscarla. MicrochipSaludos, y que lo aprovechen!
92
« en: Martes 19 de Septiembre de 2006, 23:30 »
Hola! y bienvenido! A ver si entiendo tu problema... El PIC recibe bien, pero cuando el micro transmite solo recibes parte del mensaje en el PC, es así? Bueno, al configurar el puerto serie en el PC (seguramente lo haces con VisualBasic) puedes indicar el tamaño del buffer de recepción; seguramente allí está el problema... Para que el PIC transmita, debes escribir el dato (byte) a transmitir en el registro de transmisión de la USART, es decir en TXREG. El micro se encarga solo de enviar el dato, siempre que el puerto esté bien configurado. Bueno, no creo haber entendido bien, pero nos aclaras mejor el problema y aquí estamos... Saludos! Ah....!!! Hice la consulta en el foro de VisualBasic, pero estan demasiado ocupados como para atender a los principiantes como yo Necesito detectar el, o los modem instalados en el PC mediante VisualBasic, de tal manera que me devuelva un string con el nombre, tal como lo vemos cuando lo buscamos en el panel de control. Si hay alguien aqui tan amable de indicarme los pasos a seguir, le estaré muy agradecido
93
« en: Sábado 16 de Septiembre de 2006, 07:56 »
Hola! No se si será el caso, pero fijate aqui... LCDAprovechando que estoy aqui, les hago una consulta... en realidad ya la formule en el foro de VisualBasic, pero parece que alli estan ocupados con cosas más importantes... Si alguien es tan amable de darme una mano, este es el link Consulta VBDesde ya les doy las gracias....
94
« en: Jueves 14 de Septiembre de 2006, 11:04 »
Hola a todos! Estoy con el siguiente problema: necesito poder detectar los puertos serie (COM) disponibles en el PC; tengo que hacerlo con alguna API, ya que en este caso no me sirve el control MSComm. De igual manera, necesito obtener el nombre del, o los, modem instalados en el PC, para luego pasarlos a un archivo ini. Creo que tambien tendria que hacerlo con una API. Si alguien puede darme una indicacion de como hacerlo, le estare muy agradecido! Saludos
95
« en: Miércoles 13 de Septiembre de 2006, 23:21 »
Hola! Como esta configurado el timer? Pasa el valor que hayas escrito en los registros de configuración, o la rutina, y la vemos... Saludos
96
« en: Lunes 11 de Septiembre de 2006, 19:54 »
Es con el ICProg? a mi me solía pasar...
97
« en: Martes 5 de Septiembre de 2006, 13:22 »
Hola! Prueba escribir el valor correcto en ADCON1 Ya me paso una vez... Saludos
98
« en: Lunes 4 de Septiembre de 2006, 17:58 »
Hola! La verdad que no sabría responderte, pero si no soporta ese micro, no creo... podrías probar, pero nadie sabe que podría pasar! Si lo tienen en donde estudias, lo más lógico es que los profesores lo sepan Saludos
99
« en: Domingo 3 de Septiembre de 2006, 20:34 »
Hola! Inicias tu programa con ORG 0x0, de alli saltas a la etiqueta CONFIG, que esta en la dirección 0x05. Luego haces la rutina de interrupcion, que (como es lógico en un PIC) se inicia en la dirección 0x04... Es por eso que la dirección 0x05 en adelante se sobreescriben! Solución: pon tu rutina de interrupción, con el ORG 0x04, inmediatamente despues de GOTO CONFIG (cortar y pegar  ); y borra el ORG 0x05, no hace falta... Espero sea la solución... Saludos
100
« en: Miércoles 30 de Agosto de 2006, 22:36 »
Hola! Bueno, se gana algo de tiempo... puedes simular ambas rutinas en el MPLAB y ver cuando demora cada una, pero seguramente no es mucha la diferencia. Sinceramente no se por qué existen las dos posibilidades; supongo que por compatibilidad, talvez primero fueron de 8 bits y luego se les ocurrió poder trabajar con 4, no lo se... Lo importante es que con 4 bits se simplifican las cosas!
Nunca se me ocurrió preguntarme eso, si alguien sabe la respuesta... qué nos lo diga!
Saludos
Páginas: 1 2 3 [4] 5 6 ... 13
|
|
|