|
|
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 - fa61an
76
« en: Domingo 19 de Agosto de 2007, 01:56 »
En MATLAB concatenas así: c = [ MSB LSB ] NO me convence pues esa linea lo que hace es crear un arreglo o array con dos posiciones, pues si por ejemplo escribes esto c(1) te dará el valor del MSB, o si escribes c(2) te dará el LSB eso quiere decir que no se concateno......... si que se creo un array con dos posiciones no es lo mismo que concatenar... la verdad investigue y no encontre como hacerlo en matlab, se hacerlo en LabVIEW, la verdad es que no me gusta como se manajas los tipos de datos en matlab. no se por ejemplo como hacer para crear una variable int de 8 bits, o por ejemplo crear una Char 8 bits..
77
« en: Sábado 18 de Agosto de 2007, 20:40 »
Hoy se me dio por revisar los mensajes en donde he contestado y como me ha pasado en otros temas, no recibí notificación de nuevas respuestas espero que esto se arregle pronto..
Para lo cheksum, depende de que método se realice en el PLC, conozco uno que es hacer la función lógica Xor de cada byte recibido y luego comparar, hay otro que es sumar y luego invertir los bits.... hay varios métodos como te dijo, pero por lo general esos métodos implica realizar una función lógica digital, recomedaria que buscaras el protocolo que utiliza el dispositivo..
En matlab no recuerdo como hacerlo pero debe haber alguna función de concatenar bits... se hacerlo en Labview pero no en matlab...
Buscare a ver si encuentro como hacerla en Matlab
78
« en: Sábado 18 de Agosto de 2007, 20:27 »
Que pena no contestar antes, pero la verdad no recibí la notificación de nueva respuestea sobre este tema...
Seria bueno que mostraras un enlace del programador (hc908gs), solo para tener referencia de lo que esta hablando..
Felicidades que ya te funcione.
79
« en: Martes 14 de Agosto de 2007, 19:46 »
Como primera medida hay que aclarar el programador para que familia de microcontroladores lo quieres. Hay una diferencia entre estas dos familias 1) HC 08 2) HC(s) 08 Aunque parezcan iguales no lo son.... las dos familias son de 8 bits eso es claro. Pero la familia HC(s) 08 tiene dispositivos de gama mas alta y mejores y me parece que si tienes un programador para esta familia deberías aprovecharlo ya que esta ofrece mejores microcontroladores con mas memoria RAM y mejores módulos como por ejemplo módulos USB o RF. La familia HC 08 yo creo que poco a poco esta tendiendo a desaparecer, ya que freescale saco una nueva familia llamada Flexis que incluye dispositivos entre 8, 16 y 32 bits todo en una misma familia, entonces no se me parece que deberías sacarle provecho a la familia HC(s).. En ultimas si quieres programar ese micro es especial mc908jl16 en la hoja de datos aparece el modo monitor del micro, que hace referencia al modo de programación.. Pero si te quieres armar de una ves un programador para toda la familia revisa este enlace Firteco sino este otro Programador
80
« en: Viernes 10 de Agosto de 2007, 23:49 »
La frecuencia depende de dos cosas.. 1) El cristal que estés usando 2) La config del Timer Ejemplo GP32 con un cristal de 10 MHz 10'000.000 / 4 = 2'500.000 // Cada instruccion se ejecuta a 4 ciclos del reloj por eso el 4 2'500.000 MHz ---> 0,4 uS Entonces casa 0,4 uS ejecuta una instrucción Ahora si se tiene un Preescaler de % 4 en el timer, el conteo del mismo se ejecuta cada 0.4 x 4 = 1.6 uS Y lo ultimo que haría falta saber es el modulo del conteo para el Timer... para entener aun mas ver ejemplo #include <hidef.h> #include <MC68HC908GP32.h> interrupt 4 void rsi_t1ch0 (void); interrupt 6 void rsi_ov1 (void); void main(void) CONFIG1|=0x01; DDRD=0x10; T1SC =0b01110010; // Prescaler: Div entre 4 y se habilito T1SC0 =0b01010110; // Config del PWM // ****MODULOS DE CONTEO ********\\ T1MOD=0x186A; // 186A(6250)decimal x 1,6 us = 10 ms "periodo del PWM" T1CH0 =0x09C4; // 09C4(2500)decimal x 1,6 us = 4 ms "Ancho del pulso" T1SC&=~(0x20); EnableInterrupts; for(;;) { } } // VECTORES DE INTERRUPCION interrupt 4 void rsi_t1ch0 (void) { T1SC0&=(~0x80); } interrupt 6 void rsi_ov1 (void) { T1SC&=(~0x80); }
Ese codigo funciona para el Codewarrior version 3.0 que es la que uso...
81
« en: Jueves 9 de Agosto de 2007, 19:14 »
Veo que publico un software para grabar llamado eclipse, la pregunta es ¿ El programador funciona solo con ese software o se puede utilizar otro software.
Ya que llevas bastante documentado en este tema sobre el programador seria bueno que muestre al foro en este mismo tema, el uso del software para programar por ejemplo el PIC 18F4550 o el que quieras.... y un ejemplo del uso del software...
Muchas gracias por el aporte.... me buscare como armarlo y mostrar ejemplos tambien..
82
« en: Viernes 3 de Agosto de 2007, 16:08 »
Ok, gracias espero que cumplas lo prometido publicar el Firmware o por lo menos el .HEX
83
« en: Lunes 30 de Julio de 2007, 20:29 »
solo algunas preguntas.... De tu pagina dice lo siguiente El Firmware esta diseñado para que una vez que ha sido programado el PIC, este se pueda actualizar directamente. Con este metodo solo se necesita programar el PIC una sola vez. en realidad que significa. Y por ultimo una pregunta algo tonta....Yo tenia entendido que los conectores USB eran superficiales. ese conector que usas es superficial ????
84
« en: Martes 24 de Julio de 2007, 21:56 »
descarga el que dice
Special Edition --- Code Size Restriction
Que ahora esta la version 6.0
85
« en: Jueves 12 de Julio de 2007, 21:20 »
FOLKS se que el tema es viejo, espero que aun puedas responder. Podrias volver a publicar la licencia? Porque caduco el download... O enviarmelo al mail? masterbraind@yahoo.com.ar Con esa licencia te permite usar los beans descargados de internet para el processor expert? Desde ya muchas gracias. masterbraind en donde descargas los Beans para el Codewarrior ... y si te funcionaron al reemplazar la licencia.. garcias
86
« en: Viernes 29 de Junio de 2007, 00:56 »
Te envié un ejemplo adjunto en donde se genera una señal, se le saca la transformada de fourier a la señal generada, y luego se le hace la transformada inversa de fourier y para obtener el tiempo de la señal basta con saber la frecuencia de muestreo. En cuanto a tu código repasamos varias cosas !! 1) no fui capaz de crear el siguiente vector f=[85*10e6:1:95*10e6]; %frecuencia en Mhz
pues me sale el siguiente error Out of memory Lo intente solucionar con la función Pack pero igual no tuve éxito 2) Creo que no es necesario sacar ese vector "f" como escribí antes debes averiguar a que frecuencia de muestreo se sacaron esos datos de Magnitud y Fase. 3) El vector t de donde lo sacaste. 4) Después de sacar la ifft no necesitas sacarle el valor absoluto has lo siguiente y=ifft(Pmwatt); y para la gráfica debes crear un vector según sea tu frecuencia de muestreo. t=0:1/FS:0.6; y luego haces plot(t,y) 5) Revisa los datos de tu vector Pmwatt pues al hacer lo que te digo la señal reconstruida no es coherente.
87
« en: Viernes 29 de Junio de 2007, 00:00 »
que pena no contestarte con prontitud pero no recibí la notificación de tu respuesta...
La frecuencia de muestreo de tu señal de audio debe ser la misma frecuencia de muestreo para el filtro tenlo bien presente.
El tipo yo diría que un band pass osea pasa banda tipo FIR WINDOW "kaiser" ("no me preguntes por que ese, solo te puedo decir que es el que he usado en la universidad") especificale un orden al filtro yo creo que con un orden de 128 estaría bien. no se que mas inconvenientes puedas tener.
88
« en: Jueves 28 de Junio de 2007, 23:52 »
que pena por no responder, pero creo que tengo problemas con la notificaciones, por ejemplo cuando revise el correo nunca recibí notificación de una nueva respuesta para este post y por eso no sabia si habías contestado o no, y pues hoy que estaba como un poco desocupado entre a la pagina del foro a revisar que nuevos temas había y de repente note que habías posteado una nueva respuesta y jamas pero jamas recibí una notificación de tu respuesta, y lo mismo me ha pasado con otros temas.
si alguien sabe que debo hacer que me ayude .
89
« en: Jueves 28 de Junio de 2007, 19:53 »
lo correcto es que publiques el código que llevas y exactamente en donde es que te bota error o tienes inconvenientes
90
« en: Domingo 24 de Junio de 2007, 06:41 »
Creo que con solo la magnitud no podrías hacerlo necesitaras también ingresar el vector de fase pues recuerda que la FFT retorna valores complejos y si le sacas la magnitud también se le debe sacar el diagrama de fase pues o sino se perdería información, entonces para hacer la inversa deberías calcular con los vectores de magnitud y fase, un solo vector de números complejos y ese se los ingresas a la ifft y te dara la información en el tiempo sobre esa señal
91
« en: Sábado 23 de Junio de 2007, 08:59 »
yo creo que si quieres colocar un servidor para una pagina Web debes activarle el acceso Web WAN de la pantalla de configuración que colocas !!!
segundo si accedes por medio de la dir ip fija "publica" desde el mismo PC que esta conectado al router siempre te va a puntar a la pag de config del router. bueno por lo menos eso me sucede a mi también,
El router que poseo utiliza NAT pues tiene una ip publica que obtiene del ISP y una ip privada la cual es utilizada como puerta de enlace para el PC.. entonces tenia la siguiente configuración
PC------LAN----------- Router ----------- Internet 192.168.1.2 192.168.1.1 IP "publica"
entonces si quería probar la pagina del servidor escribía en el iexplorer 192.168.1.2 y me cargaba la pagina index del servidor pero si colocaba la ip publica me lanzaba a la pagina del router,,,, pero si alguien conectado a internet desde otro lugar accedía a la ip publica veía la pagina index del servidor
92
« en: Miércoles 13 de Junio de 2007, 06:45 »
Según tengo entendido ADSL filtra la señal de 4 Hz a 4 kHz que hace referencia a la voz humana por tanto si quieres eliminar esa frecuencia en matlab primero deberias saber que espectro de frecuencia tiene tu señal y lo haces de la siguiente forma [y,FS,NBITS]=wavread('path de tu señal'); % FS es la f de muestreo de tu señal y(:,1)=[]; % señal es estereo a mono.... y = y'; % la transpuesta para vector fila Y=fft(y); % Transformada fourier Y=abs(Y); % valor absoluto N=size(Y); N=N(2); F = FS*(0:N-1)/N; % eje X de frecuencias figure (1) stem(F(1:N/2),Y(1:N/2)); title('FFT ') xlabel('frequency (Hz)')
luego de tener ese espectro debes implementar un filtro y con matlab en el prom escribes lo siguiente lo exportas al workspace y le haces convolucion y listo filtrada tu señal !!!
93
« en: Lunes 11 de Junio de 2007, 01:51 »
Yo guardaria la lectura 1 en una variable de 16 bits, ya que dices que el primer Byte es el MSB y el Byte que le sigue es el LSB entonces como el puerto serie puede manejar entre 8 y 9 bits pues lo almaceno y con un for los concateno ...
Nunca he usado el puerto Serie por el matlab,,, pero supongo que lo que te dice el que debes especificar el TIME Out, ahi algunos dispositivos que necesitan este time out, cuando utilizan el puerto, recuerdo que hacde poco use un PLC que necesita 500mS de Timeout y antes de fijarle ese valor no me funcionaba, claro esta que la aplicacion la realice en LABVIEW y no en Matlab...
Me imagino que ya probaste la captura de datos con el Hyperterminal... !!! y si es asi podras caracterizar tu sensor..
Por ejemplo si fuera un sensor que entregue medida de distancia, entonces primero mirar la hojas de datos para obtener la curva del sensor , segundo fijar una distancia conocida y mirar que datos me entraga y con esto lo podras caracterizar.
94
« en: Miércoles 30 de Mayo de 2007, 19:21 »
Si esta extraño probe tu código y a mi no me bota ningún error, lo unico que veo es que los else no son necesarios o menos que tengas pensado hacer algo ahi, pero de todas maneras con los else funciona perfecto y nunca me salio el error que mencionas clear all clc EN51=[-67 -67.5 -68 -68.5 -69 -69.5 -69.75 -70 -70.5 -71 -71.5 -72]; EN41=[-54 -54.875 -55.2 -55.75 -56.625 -57.5 -57.875 -58.375 -58.8 -59.25 -60.125 -61]; A13=[0 0.7 1.4 2.1 2.8 3.5 4.2 4.9 5.6 6.3 7]; A23=[5 6 7 8 9 10 11 12 13 14 15]; elevacionA=5; azimutA=-65; CA9=1; for i=1:11 z=i % la use para minitorea cuantas veces se ejecuta el for if ((A13(i)<=elevacionA)&&(A23(i)>elevacionA)) disp('Se cumplio el primer If=') for j=1:12 w=j % la use para minitorea cuantas veces se ejecuta el for if ((EN51(j)<=azimutA)&&(EN41(j)>azimutA)) disp('Se cumplio el segundo If=') CA9=CA9+1; end end end end
la variables z y w las use para mirar cada ejecucion como ocurrida pero si te fijas a la hora del té no son necesarias por que el Workspace te dice los valores de i y j, bueno el codigo esta revisa tu Matlab.....
95
« en: Sábado 12 de Mayo de 2007, 18:57 »
y otra cosa de que me doy cuenta siempre esta direccionando comandoOn[13] y en esta posicion tu array siempre vale 0 a menos asi se ve en la inicializacion, a no ser de que se lo estes cambiando en el archivo events.c
96
« en: Sábado 12 de Mayo de 2007, 18:35 »
Sinceramente creo que hace falta mas explicación de tu parte sobre lo que estas haciendo si quieres ayuda, yo llevo poco tiempo programando en lenguaje C pero por lo que veo esta linea esta como rara
if (tecla[0] > 25 && tecla[0] <63) comando[13] == comandoOn[13];
si la condición llega a ser verdadera vuelve y haces otra pregunta, me explico esta linea es una pregunta y no una asignación.
comando[13] == comandoOn[13];
corrígeme si me equivoco.
97
« en: Viernes 2 de Febrero de 2007, 22:04 »
Ya no funciona este enlace !!
rapidshare.de/files/16654264/CCS_PCWH_3.249_and_regfiles.rar.html
Si alguno de los que contesto lo puedo bajar le agradezco lo suba nuevamente y me indique la nueva dir para la descarga
GRACIAS
FABIAN
98
« en: Viernes 2 de Febrero de 2007, 07:41 »
Yo utilizo el codewarrior para la programación en lenguaje C.
Has escuchado o utilizado el "Visualization Tool" que trae el codewarrior
Yo ya había escuchado acerca de simular "on line" pero no lo se usar me gustaría ampliar mas el tema en ese aspecto
99
« en: Jueves 1 de Febrero de 2007, 19:23 »
Hola : !!!
Siempre me ha llamado la atención un software que existe para emulación de microcontroladores que se llama Proteus, La pregunta ¿ Existe un simulador o emulador para los motorola?
100
« en: Jueves 1 de Febrero de 2007, 18:52 »
hay una instrucción en assembler que carga con 16 bit la cual es LDHX
Entonces debe ayudarte con el direccionamiento indirecto, algo que en Lenguaje C se llama punteros
|
|
|