Autor Tema: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido  (Leído 6965 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado linkfer18

  • PIC10
  • *
  • Mensajes: 6
hola qien me puede ayudar a hacer un programa es mi exam pero me lo dejaron de hy en un dia pa otro y ps como q no le agrro el pex es un microchip PICF18445O
lo q by a usar es un dipswich de 8 pines un dipswich de 2 y un push boton 2 motores
1..al primer botonaso me tiene q registrar con del dip de 2 el sentido ya sea derecha izq
2..al seguno botonaso me tiene q registrar el numero de vueltas q va dar es de 1 al 7
3..el tercero ps ya echa andar me podrias ayudar te lo pagaria neta q ya me desespere kise agarra de base uno q ya tenia pero me salen errores en el mplab es q la neta tengo prog pero no me qda te dejo mi correo se mi puedes acesorar o decir como es alf_fer_8@hotmail.com
 

Desconectado falflores

  • PIC16
  • ***
  • Mensajes: 173
    • Control, electrónica y programación en español
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #1 en: 01 de Abril de 2011, 01:42:13 »
Creo que todos sabemos que no te lo dejaron de un día para otro XD, en fin, todos hemos pasado alguna vez por eso.

Solo te pido que por favor escribas correctamente, para que la comunicación sea más clara.

Como que hay unos puntos que no se entienden muy bien, ¿tienes que controlar 2 motores?, si as así, ¿Cada uno tiene que ir en un sentido diferente?, ¿De qué tipo de motores hablas?, ¿de corriente directa?, ¿a pasos?, ¿ya tienes los drivers para controlarlos?.

Por lo que entendí necesitas algo así como una máquina de estados, que dependiendo tus entradas, sean los pasos a seguir.

Suponiendo que ya tienes los drivers de los motores, y que estos solo necesitan 2 pines para su control, que serían paso y dirección, puedes hacerlo asi:

Código: [Seleccionar]
#define IZQUIERDA 01000000 // Primera posición en el dip de 2
#define DERECHA 10000000 // Segunda posicion en el dip
#define BOTON PIN_C0 // El pin donde está tu botón
#define SENTIDO PIN_C1 // Pin de control para el sentido
#define ON_OFF PIN_C2 // Pin para encender-apagar el motor

int1 boton_flag=0; // Bandera para saber si se presionó el botón
int8 boton_level=0; // Variable para saber cuantas pulsaciones lleva
int8 sentido_dip; // Variable para capturar el valor del Dipswitch de posicion
int8 dip_no_vueltas; // Variable para capturar el estado del dip de 8
int8 no_vueltas; // Variable para decirle a los motores el no. de vueltas
// Con esta parte no te puedo ayudar mucho, ya que solo tu sabes de que forma funcionan tus motores
// y sabes con cuantos pulsos dan una revolución completa, asi que por ejemplo, si tu motor es a pasos
// y da una revolución con 200 pulsos, solo multiplicas el valor de esta variable por 200 y tendras
// tus revoluciones que quieras.

void main()
{
while(TRUE) //Ciclo infinito
{
if(BOTON==1&&flag_boton==0) // Testea el estado del boton y ve que la bandera este desactivada
{
delay_ms(50); // Retardo antirebotes
if(BOTON==1) // Confirma que fue una pulsación firme
{
flag_boton=1; // Pone en alto la bandera para hacer la acción una sola vez al presionar el boton
switch(boton_level)
{
case 0: // Primera pulsacion - determinar el sentido de giro
sentido_dip=(input_C()&11000000); // Suponiendo que el Dipswitch de dos posiciones lo tienes
// conectado a los pines C7 y C6, haces una operacion
// booleana "AND" con el puerto C completo para dejar en
// la variable solamente esos dos pines.
if(sentido_dip==IZQUIERDA) output_high(SENTIDO); // Si el dip está en 01, se activa la salida
// SENTIDO, con lo cuál hiria a la izquierda
if(sentido_dip==DERECHA) output_low(SENTIDO); // Si el dip está en 10, se desactiva la salida
// SENTIDO, con lo cuál hiria a la derecha
break;
case 1: // Segunda pulsación - numero de vueltas
no_vueltas=input_B(); // Se guarda el valor del Dipswitch de 8, suponiendo que está conectado
// al puerto B, en la variable no_vueltas
switch(dip_no_vueltas) // Supongo que el Dip lo vas a tomar como que solo uno de los ocho deberá
// estar activado y será el numero de vueltas no?
{
case(00000001) // 1 vuelta
no_vueltas=1;
break;
. .
. // Aqui van las otras 5 posibles combinaciones
.
case(01000000)  // 7 vueltas
no_vueltas=7;
break;
}
case 2: // Tercera pulsacion - hechar a andar el motor
output_high(ON_OFF); // Se prende el motor
// Aquí faltaría el código para que sepas cuantos pulsos es una revolución,
// Despues de terminar los pulsos, apagas el motor o simplemente dejas
output_low(ON_OFF); // de dar pulsos
boton_level=0; // Reseteas el contador de pulsos para otro ciclo
}
}
}
if(BOTON==0&&flag_boton==1) flag_boton==0; // Testea que ya se haya terminado de presionar el boton para volver a
// resetear la bandera
}
}

Esta es la forma más facil, la otra sería usando Timers e interrupciones.

Como te podrás dar cuenta va a estar muy difícil que alguien te lo haga completo, ya que solo el que tiene el Hardware, sabe los toques finales que hacen falta, pero básicamente de esta forma lo podrías hacer, espero haberte ayudado un poco.
Los invito a mi blog "Control, electrónica y programación en español" www.robotnias.blogspot.com

Desconectado linkfer18

  • PIC10
  • *
  • Mensajes: 6
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #2 en: 01 de Abril de 2011, 01:51:11 »
mira neta q me lo dejo hya el profe se aloko yo ya tenia uno q hacia eso de girar izquieda derecha pero en una sola salida y lo q quiero es como sacarla en diferentes salidas una izq y una derecha y los motores son a pasos y aparte el dip de 8 es para darle cuantas vueltas va dar el mor me dio un rango de 1 a 8 ps ya deperdida q me sqe lo de los motores en diferentes salidas 
Código: [Seleccionar]
include<P18F4550.inc>
config FOSC=XTPLL_XT
config PLLDIV=1
config CPUDIV=OSC1_PLL2
config PWRT=ON
config BOR=OFF
config WDT=OFF
config MCLRE=ON
config LVP=OFF
config CP0=OFF
config CP1=OFF
config CP2=OFF
config CP3=OFF
config CPD=OFF
CBLOCK 00H
PDel0
PDel1
contador
conteo
ENDC
org 00H
goto inicio

PDelay  movlw     .154      ; 1 set number of repetitions (B)
        movwf     PDel0     ; 1 |
PLoop1  movlw     .243      ; 1 set number of repetitions (A)
        movwf     PDel1     ; 1 |
PLoop2  clrwdt              ; 1 clear watchdog
PDelL1  goto PDelL2         ; 2 cycles delay
PDelL2  goto PDelL3         ; 2 cycles delay
PDelL3 
        decfsz    PDel1, 1  ; 1 + (1) is the time over? (A)
        goto      PLoop2    ; 2 no, loop
        decfsz    PDel0,  1 ; 1 + (1) is the time over? (B)
        goto      PLoop1    ; 2 no, loop
PDelL4  goto PDelL5         ; 2 cycles delay
PDelL5  clrwdt              ; 1 cycle delay
        return              ; 2+2 Done

inicio

movlw 0FH
movwf ADCON1
clrf TRISB
movlw 01H
movwf TRISA
movlw 01H
movwf TRISB
clrf PORTB

guru
    clrf contador
pp
    btfsc PORTA,0
    goto pelos
    goto vueltaA
 pelos   
    btfsc PORTC,0
    goto pp
    goto vueltaB
 vueltaA
    rcall PDelay
    movlw b'00001100'
    movwf PORTB
    rcall PDelay
    movlw b'00000110'
    movwf PORTB
    rcall PDelay
    movlw b'00000011'
    movwf PORTB
    rcall PDelay
    movlw b'00001001'
    movwf PORTB
    incf contador
    movlw .25
    movwf conteo
    movf contador,W
    CPFSEQ conteo         
    goto vueltaA
    clrf PORTB
goto guru
 vueltaB
    rcall PDelay
    movlw b'00001001'
    movwf PORTB
    rcall PDelay
    movlw b'00000011'
    movwf PORTB
    rcall PDelay
    movlw b'00000110'
    movwf PORTB
    rcall PDelay
    movlw b'00001100'
    movwf PORTB
    incf contador
    movlw .25
    movwf conteo
    movf contador,W
    CPFSEQ conteo         
    goto vueltaB
    clrf PORTB
  goto guru
END 

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #3 en: 01 de Abril de 2011, 02:00:08 »
Y cuanto pensas pagar al q te haga la tarea?? (lo digo porq este es el foro de compra/venta).

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado falflores

  • PIC16
  • ***
  • Mensajes: 173
    • Control, electrónica y programación en español
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #4 en: 01 de Abril de 2011, 02:31:05 »
Me lleva!, por eso POR FAVOR les pido de la manera más atenta que pongan que lenguaje están ocupando, ya que me tarde como media hora en hacer un codigo para este tipo en C, para que resulte que el está programando en ensamblador   :5]!!!!!! Por cierto, ¡¡¡¡DE NADA!!!!
Los invito a mi blog "Control, electrónica y programación en español" www.robotnias.blogspot.com

Desconectado linkfer18

  • PIC10
  • *
  • Mensajes: 6
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #5 en: 01 de Abril de 2011, 02:33:30 »
Y cuanto pensas pagar al q te haga la tarea?? (lo digo porq este es el foro de compra/venta).


uu tenia q salir el payaso pa eso son los foros no de ando pidiendo ayuda si te ofendes pa q te molestas la neta y ps esty pidiendo ayuda si superia ps ya lo hubiera echo prel al neta no

Desconectado linkfer18

  • PIC10
  • *
  • Mensajes: 6
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #6 en: 01 de Abril de 2011, 02:35:54 »
Me lleva!, por eso POR FAVOR les pido de la manera más atenta que pongan que lenguaje están ocupando, ya que me tarde como media hora en hacer un codigo para este tipo en C, para que resulte que el está programando en ensamblador   :5]!!!!!! Por cierto, ¡¡¡¡DE NADA!!!!

no te enojes compa no fue mi intencion neta q ando bn sacado de pex se agradece toda la ayuda de corazon ps yo creo q ya valio pero ni modo y chido por ayudarme neta q no fui mi intencion ofenderlos

Desconectado falflores

  • PIC16
  • ***
  • Mensajes: 173
    • Control, electrónica y programación en español
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #7 en: 01 de Abril de 2011, 02:38:44 »
no te enojes compa no fue mi intencion neta q ando bn sacado de pex se agradece toda la ayuda de corazon ps yo creo q ya valio pero ni modo y chido por ayudarme neta q no fui mi intencion ofenderlos

Ok, no te preocupes, fueron mis 5 minutos, pues que lástima que ya no tengas mas tiempo, y en el futuro trata de explicar mejor tu idea y el lenguaje que usas. Suerte!
Los invito a mi blog "Control, electrónica y programación en español" www.robotnias.blogspot.com

Desconectado linkfer18

  • PIC10
  • *
  • Mensajes: 6
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #8 en: 01 de Abril de 2011, 02:41:25 »
no te enojes compa no fue mi intencion neta q ando bn sacado de pex se agradece toda la ayuda de corazon ps yo creo q ya valio pero ni modo y chido por ayudarme neta q no fui mi intencion ofenderlos

Ok, no te preocupes, fueron mis 5 minutos, pues que lástima que ya no tengas mas tiempo, y en el futuro trata de explicar mejor tu idea y el lenguaje que usas. Suerte!

ps tengo hasta mañana pa entregarlo pero la neta ando bn perdido ya con q prendiera los motores ya pa q diaga q hice algo

Desconectado linkfer18

  • PIC10
  • *
  • Mensajes: 6
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #9 en: 01 de Abril de 2011, 02:55:08 »
no te enojes compa no fue mi intencion neta q ando bn sacado de pex se agradece toda la ayuda de corazon ps yo creo q ya valio pero ni modo y chido por ayudarme neta q no fui mi intencion ofenderlos

Ok, no te preocupes, fueron mis 5 minutos, pues que lástima que ya no tengas mas tiempo, y en el futuro trata de explicar mejor tu idea y el lenguaje que usas. Suerte!

ps tengo hasta mañana pa entregarlo pero la neta ando bn perdido ya con q prendiera los motores ya pa q diaga q hice algo

no me podras ayudar solo a modificandole de 1 salida a 2 salidas q me imprima motr izquierdo y motor derecho ya lo demas ps haber q me dice

Desconectado falflores

  • PIC16
  • ***
  • Mensajes: 173
    • Control, electrónica y programación en español
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #10 en: 01 de Abril de 2011, 04:12:32 »
no me podras ayudar solo a modificandole de 1 salida a 2 salidas q me imprima motr izquierdo y motor derecho ya lo demas ps haber q me dice

Lo siento pero se muy poco de ensamblador - :(
Los invito a mi blog "Control, electrónica y programación en español" www.robotnias.blogspot.com

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #11 en: 01 de Abril de 2011, 10:48:31 »
Y cuanto pensas pagar al q te haga la tarea?? (lo digo porq este es el foro de compra/venta).


uu tenia q salir el payaso pa eso son los foros no de ando pidiendo ayuda si te ofendes pa q te molestas la neta y ps esty pidiendo ayuda si superia ps ya lo hubiera echo prel al neta no

Asi cualquiera te ayuda, espera que ya vienen los superheroes.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #12 en: 01 de Abril de 2011, 12:03:33 »
Y cuanto pensas pagar al q te haga la tarea?? (lo digo porq este es el foro de compra/venta).


uu tenia q salir el payaso pa eso son los foros no de ando pidiendo ayuda si te ofendes pa q te molestas la neta y ps esty pidiendo ayuda si superia ps ya lo hubiera echo prel al neta no

Si pensas q los foros son para que te hagan tus tareas estas equivocado.
Fijate si ESTUDIANDO podes hacer vos mismo tus tareas.
Y aprende a escribir en español.

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #13 en: 01 de Abril de 2011, 12:14:47 »
Y a ser respetuoso

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: ayuda con un proyecto de picf184550 soy nuevo y ando bn perdido
« Respuesta #14 en: 01 de Abril de 2011, 13:35:07 »
la pregunta de Gera es válida.

linkfer18 estás posteando en el foro de compra/venta. en este subforo no se regala nada!!

 :shock:
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek