Autor Tema: Problemas programando mi Fresadora CNC con Mikrobasic  (Leído 3108 veces)

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

Desconectado jaio21

  • PIC10
  • *
  • Mensajes: 33
Problemas programando mi Fresadora CNC con Mikrobasic
« en: 26 de Junio de 2010, 05:51:48 »
Saludos a Todos.. y espero me puedan echar una mano con mi CNC

Recientemente adquirí una Fresadora pero con la controladora electrónica totalmente QUEMADA a excepción de las 3 tarjetas de potencia cada una usa 2 Drive L6203

Hice cada etapa de control con un PIC16F628A para cada tarjeta de potencia use el PIC16F628A para ahorrarme el Cristal usando la frecuencia interna, pero aun soy novato usando Mikrobasic... Sucede q tengo el lenguaje hecho para leer los siguientes estados lógicos:

PASO (RA0)
Dirección(RA1)
ENABLE (RA2)

De esta manera el lenguaje me trabaja al 100% con ENABLE (RA2) Activo para empezar a leer los estados PASO(RA0) y Dirección(RA1)


1) Cuando presiono PASO (RA0) el motor Gira a la Derecha

2) Cuando presiono PASO (RA0) + Dirección(RA1) el motor Gira a la Izquierda

El Problema esta en que cuando presione PASO (RA0) dejando activo el motor debería solo dar un paso y cuando suerte y presione de nuevo avance al próximo paso y se preguntaran porque lo necesito así ? en mi caso estoy usando el MACH3

Pues como deben de saber los que han trabajado con CNC que para controlar la CNC desde la PC esta me envía pulsos através del puerto PLT1 y tal como veo en la configuración de software los envía a una velocidad de 25.000Hz minimo

En fin cuando conecto la CNC al PC los ejes X,Y,Z se desplazan con mucho ruido y mucha vibración y noto q los pasos son incorrectos y para nada precisos.... por eso necesito hacer q cada vez q reciba un pulso solo de un paso por cada pulso

Por lo cual se q falta algo en el lenguajes y me puse a investigar y me falta trabajar con INTERRUPCION pero no se como hacerlo. Este es el lenguaje de Mikrobasic: y una imagen de la conexión del motor y los pulsadores (o mejor dicho los pines del Puerto PLT1)


'************************************************************************************************
program MOTOR_PaP_2

Dim Paso as integer
Dim Contador as integer

main:
cmcon = 7
TRISA=255
PortA=0
TRISB=%00000000
Paso=0
PORTB=%00000000

Inicio:
'******************************************************************************
   
  If PORTA.2 = 1 then                     'Enable
'     Delay_us(4)
    if PORTA.0  = 1 then                  'Paso
       Contador= 0
             if PORTA.1 = 1 then                'Direccion

                if Paso = 8 then
                  Paso=1
                  goto Paso_Medio
                else
                  paso=paso + 1
                  goto Paso_Medio
                end if

             else

                if Paso = 0 then
                   Paso = 1           'Verifica Estado de PASO para ir a IZQ
                end if

                if Paso = 1 then
                  Paso = 8
                  goto Paso_Medio
                else
                  paso=paso-(1)
                  goto Paso_Medio
                end if

             end if

    end if

  else
            if contador= 20 then                  'cuenta hasta 20 segundos
              PORTB = %00000000               'y luego apago el Motor
            else
              delay_ms(1000)                         
              contador=contador +1
            end if
  end if                              'Fin de Enable


  Paso_Medio:
select case Paso
Case 1
PORTB=%00000001
Case 2
PORTB=%00000011
Case 3
PORTB=%00000010
Case 4
PORTB=%00000110
Case 5
PORTB=%00000100
Case 6
PORTB=%00001100
Case 7
PORTB=%00001000
Case 8
PORTB=%00001001
end Select
Goto Inicio
end.
'******************************************************************************


Agradecería ayudar pues quiero pulirme en esta área un poco tengo pensado hacer la CNC con su propia LCD y control manual y vía PC de los ejes X,Y,Z
El Ingenio humano no tiene limites, se obtiene a través del tiempo y aprendiendo de nuestros propios errores....

Javier Iriarte

Desconectado jaio21

  • PIC10
  • *
  • Mensajes: 33
Re: Problemas programando mi Fresadora CNC con Mikrobasic
« Respuesta #1 en: 30 de Junio de 2010, 04:26:28 »
Amigos mios solo pido una pequeña ayuda, sugerencia o idea (ejemplo basico)  ya e leido varios nauales pero todos solo son para prender un motor de paso y no para dar un solo pasado por cada pulsasion lo q almenos nesecito es como hacer con Mikrobasic para leer el puslador  y cada vez q lo presione me de solo un paso  del motor asi lo deje presionado y no como lo tengo actualmente q si dejo presionado el pulsador el motoro sigue girando  :?
El Ingenio humano no tiene limites, se obtiene a través del tiempo y aprendiendo de nuestros propios errores....

Javier Iriarte

Desconectado cbas2001

  • PIC10
  • *
  • Mensajes: 3
Re: Problemas programando mi Fresadora CNC con Mikrobasic
« Respuesta #2 en: 27 de Octubre de 2010, 17:01:14 »
Amigos mios solo pido una pequeña ayuda, sugerencia o idea (ejemplo basico)  ya e leido varios nauales pero todos solo son para prender un motor de paso y no para dar un solo pasado por cada pulsasion lo q almenos nesecito es como hacer con Mikrobasic para leer el puslador  y cada vez q lo presione me de solo un paso  del motor asi lo deje presionado y no como lo tengo actualmente q si dejo presionado el pulsador el motoro sigue girando  :?
ç


hola

por que en ves de usar un micro para mover los motores usas un driver de potencia comun y corriente y el soft que se encarge de controlar los motores atraves de la pc..

cuando hise mi cnc tube los mismos dramas y los resolvi asi

mach3 se llama el programa y hay una page que te dice como armar el concepto creo que se llama ******web eliminada por los administradores por quejas reiteradas sobre este usuario****

avisa cualquier cosa saludso