Mensajes recientes

Páginas: [1] 2 3 4 5 6 7 8 9 10
1
CNC - Control Numérico Computarizado / Re:añadir eje rotativo a mi cnc
« Último mensaje por Nocturno en Hoy a las 04:11:21 »
Hola Antonio, bienvenido al foro.
No puedo ayudarte, no controlo el tema. Pero tengo curiosidad por ver las respuestas que te den y me suscribo al hilo.
Flipo con tu maquinón, menudo bicharraco.
2
Programadores / Re:GTP USB Plus - Soporte Técnico y Servicio PostVenta
« Último mensaje por Sispic en Hoy a las 03:18:48 »
Hola handpic.

Hay que inhabilitar la comprobación de controladores sin firmar .
En la carpeta de instalación winpic800 .
Normalmente en C:\Program Files (x86)\WinPic800\Driver_GTP_USB+\Windows_64bits_Access_to_ ports .
Hay un archivo  readme.txt que explica como hacerlo .

Con el botón derecho seleccionar ejecutar como administrador el archivo windows_64bits_test_signing_on.bat .
acto seguido reiniciar .

Después desde el administrador de dispositivos con el botón derecho actualizar controlador .
Indicarle que lo busque en la ruta de instalación .
C:\Program Files (x86)\WinPic800\Driver_GTP_USB+\win_2000_xp_vista .

Si esto no funciona  hay otras maneras buscando en google inhabilitar la comprobación de controladores sin firmar en Windows 10.

Siempre ….
Después desde el administrador de dispositivos en el icono con el botón derecho actualizar controlador .
Indicarle que lo busque en la ruta de instalación .
C:\Program Files (x86)\WinPic800\Driver_GTP_USB+\win_2000_xp_vista .

espero funcione .


3
Todo en microcontroladores PIC / Re:Interrupcion Pause/Play
« Último mensaje por DavidtXz en 07 de Abril de 2020, 22:33:07 »
Amigos pues la verdad ya lo intente pero creo que no se utilizar el timer0... esa es una de las razones por lo que no lo  hice asi..
4
Arduino / Re:control velocidad motor dc con poteciometro y sensor hall como implementarlo?
« Último mensaje por johenrod en 07 de Abril de 2020, 22:03:23 »
cordial saludo,,,
ya tengo trabajando el motor el problema es cuando tengo que subir la velocidad..
Código: C
  1. if (dato sensor <=18&& freq<20)
  2.  {
  3.  datosensor++;
  4.  }
Aquí obviamente no me incrementa si no en 1 por que al volver al bucle toma a lectura actual del conversor A/D (he intentado varias formas incluso con "while" pero el motor o se queda quieto o arranca como loco.

tambien intente esto..
Código: C
  1. if ((datoSensor <=18)&& (freq<18))
  2.  {
  3.   suma =suma++;
  4.  datoSensor=datoSensor +suma;
  5.   Serial.print ("++: ");     //tics
  6.     Serial.println (datoSensor);
  7.     analogWrite(MOSFET, datoSensor); //Valor analogico para la salida
  8.     delay(10);
  9.  }
  10.  
  11. if ((datoSensor <=18)&& (freq>18))
  12.  {
  13.   suma =suma--;
  14.  datoSensor=datoSensor -suma;
  15.    Serial.print ("--: ");     //tics
  16.     Serial.println (datoSensor);
  17.     analogWrite(MOSFET, datoSensor); //Valor analogico para la salida
  18.     delay(10);
  19.  }
  20.  

tambien intente esto y trabaja mejor pero aun con errores..
Código: C
  1. datoSensor = analogRead(Sensor); //Leemos el dato del sensor y lo guardamos en la variable
  2.   datoSensor=map(datoSensor,0,1023,15,70);
  3.   //analogWrite(MOSFET, datoSensor); //Valor analogico para la salida
  4.   //delay(10); //Detenemos el programa 25 milisegundos
  5.   Serial.print ("actual: ");     //tics
  6.     Serial.println (datoSensor);
  7. if ((datoSensor <=20)&& (freq<16))
  8.  {
  9.   suma=datoSensor;
  10.   suma1=suma +1;
  11.  
  12.   Serial.print ("++: ");     //tics
  13.     Serial.println (suma1);
  14.     analogWrite(MOSFET, suma1); //Valor analogico para la salida
  15.     //delay(5);
  16.  }
  17.  
  18. if ((datoSensor <=20)&& (freq>16))
  19.  {
  20.   suma=datoSensor;
  21.   suma1=suma -1;
  22.  
  23.   Serial.print ("--: ");     //tics
  24.     Serial.println (suma1);
  25.     analogWrite(MOSFET, suma1); //Valor analogico para la salida
  26.     //delay(5);
  27.  }

Estoy mapeando la lectura ya que necesito el PWM entre 15 Y 70, no consigo retener la lectura para incrementar la velocidad, por ejemplo cuando la lectura del pot, esta en 15 me debe mantener 16.6 rpm, alguna sugerencia por favor..

dejo el código completo
Código: C
  1.  
  2.    
  3.   volatile boolean first;
  4.   volatile boolean triggered;
  5.   volatile unsigned long overflowCount;
  6.   volatile unsigned long startTime;
  7.   volatile unsigned long finishTime;
  8.  
  9.   int Sensor = A0; // Declaramos la variable del potenciómetro pin 7 attiny13
  10.   int MOSFET = 11; // Declaramos la variable del led  pin6
  11.   int datoSensor = 0; // Variable para el valor del sensor
  12.   int suma=0;
  13.   float freq =1 ;
  14.    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  15.   // here on rising edge
  16.   void isr ()
  17.   {
  18.     unsigned int counter = TCNT1;  // quickly save it // guardalo rapidamente
  19.    
  20.     // wait until we noticed last one
  21.     if (triggered) // si es true sale de la funcion - si es false sigue
  22.       return;
  23.    
  24.     if (first)// si es true toma la lectura actual y lo pone a falso para que no vuelva a entrar y sale de la funcion  / si es false sigue
  25.       {
  26.       startTime = (overflowCount << 16) + counter; //guarda el primer valor
  27.       first = false;
  28.       return;  
  29.       }
  30.      
  31.     finishTime = (overflowCount << 16) + counter; // guarda el ultimo valor
  32.     triggered = true; // lo pone a true para garantizar que (triguered)no vuelva a entrar a la interrupcion y que entre al loop
  33.     detachInterrupt(0);   //detiene las interrupciones
  34.   }  // end of isr
  35.    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  36.  
  37.    
  38.    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  39.   // timer overflows (every 65536 counts)
  40.   ISR (TIMER1_OVF_vect)
  41.   {
  42.     overflowCount++;           //cada que TIMER1 llegue a 65535 overflowCount++ aumenta 1
  43.   }  // end of TIMER1_OVF_vect
  44.    
  45.    
  46.   void prepareForInterrupts ()
  47.     {
  48.     // get ready for next time  //  prepárate para la próxima vez
  49.     EIFR = _BV (INTF0);  // clear flag for interrupt 0
  50.     first = true;                                     // habilita la primera lectura
  51.     triggered = false;  // re-arm for next time       //permite que entre a la interrupcion
  52.     attachInterrupt(0, isr, FALLING);                  // habilita la interrupcion - de 0 a 1
  53.     }  // end of prepareForInterrupts
  54.    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  
  55.    
  56.   void setup () {
  57.     Serial.begin(115200);      
  58.     Serial.println("Frequency Counter");
  59.     pinMode(MOSFET, OUTPUT); // Asigna el pin del led como salida
  60.    
  61.     // reset Timer 1
  62.     TCCR1A = 0;
  63.     TCCR1B = 0;  // timer1 sin preescaler 0 - 65536
  64.     // Timer 1 - interrupt on overflow
  65.     TIMSK1 = _BV (TOIE1);   // enable Timer1 Interrupt // habilita interrupcion
  66.     // zero it
  67.     TCNT1 = 0;    
  68.     // start Timer 1
  69.     TCCR1B =  _BV (CS10);  //  coloca a 1 CS10
  70.    
  71.     // set up for interrupts
  72.     prepareForInterrupts ();  
  73.    
  74.   } // end of setup
  75.    
  76.   void loop ()
  77.     {
  78.  
  79.   //start impulsar motor
  80. if (datoSensor<=1)//
  81. {
  82. datoSensor=12;
  83. Serial.print ("datoSensor in");
  84. Serial.println (datoSensor);
  85. analogWrite(MOSFET, datoSensor);
  86. delay(500);
  87.      
  88. }
  89.    if (!triggered) // no pasa hasta que no sea true, y sigue preguntando hasta que haga la segunda lectura
  90.       return;
  91.     unsigned long elapsedTime = finishTime - startTime;
  92.     float freq = 1.0 / ((float (elapsedTime) * 62.5e-9));  // each tick is 62.5 nS
  93.  
  94.   datoSensor = analogRead(Sensor); //Leemos el dato del sensor y lo guardamos en la variable
  95.   datoSensor=map(datoSensor,0,1023,15,70);
  96.   analogWrite(MOSFET, datoSensor); //Valor analogico para la salida
  97.   delay(10); //Detenemos el programa 25 milisegundos
  98.  
  99. if (dato sensor <=18&& freq<20)
  100.  {
  101.  datosensor++;
  102.  }
  103.  
  104. analogWrite(MOSFET, datoSensor); //Valor analogico para la salida
  105.  
  106.    
  107.     Serial.print ("Took: ");     //tics
  108.     Serial.print (elapsedTime);  // tiempor transcurrido: finishTime - startTime;
  109.     Serial.print (" counts. ");
  110.    
  111.     Serial.print ("Frequency: ");
  112.     Serial.print (freq);
  113.     Serial.println (" Hz. ");
  114.    
  115.     // so we can read it  //para que podamos leerlo
  116.  
  117. // Serial.print ("datoSensor");
  118. //Serial.println (datoSensor);
  119.  
  120.     delay (100);
  121.     prepareForInterrupts ();   //prepararse para las interrupciones
  122.   }   // end of loop

Gracias de antemano...
5
Todo en microcontroladores PIC / Re:Frecuencímetro con PIC16F18446
« Último mensaje por Picuino en 07 de Abril de 2020, 14:48:59 »
Por ahora he subido a github los archivos de KiCad con el esquema y la PCB (estoy a la espera de que me llegue la PCB) y también el programa en c para el PIC.

https://github.com/picuino/freqmeter
6
Todo en microcontroladores PIC / Re:Frecuencímetro con PIC16F18446
« Último mensaje por Picuino en 07 de Abril de 2020, 14:40:58 »
La placa azul de la izquierda es un GPS del que saco la señal de 1 Pulso Por Segundo para calibrar el frecuencímetro.

La placa verde del medio es un oscilador con horno OCXO muy preciso y estable, de 10MHz.
El potenciómetro de debajo sirve para ajustar la frecuencia en un rango de +-2ppm.

La protoboard de la derecha es el PIC16F18446 de 20 pines, haciendo de frecuencímetro y conectado al PICKIT y a un conversor USB-UART que sirve para enviar las lecturas al PC por RS232 y para alimentar la placa con 5V.

Las dos placas de arriba conectadas al USB son conversores USB-UART, que también sirven de fuente de alimentación de 5V.
7
Todo en microcontroladores PIC / Frecuencímetro con PIC16F18446
« Último mensaje por Picuino en 07 de Abril de 2020, 14:35:50 »
Abro un nuevo hilo para ir subiendo los avances que llevo con este frecuencímetro.
Este es un proyecto antiguo que he retomado para adaptarlo al nuevo micro (al menos nuevo para mí) PIC16F18446.

Hasta ahora me había encontrado con diversos problemas en otros micros, que al final he podido solucionar con este chip.

Por ahora simplemente voy a colgar una foto de todo el laboratorio con el que estoy trabajando.

 

* IMG_20200407_185004.jpg
(199.76 kB, 768x1024 - visto 24 veces)
8
CNC - Control Numérico Computarizado / añadir eje rotativo a mi cnc
« Último mensaje por corti en 07 de Abril de 2020, 14:08:43 »
Hola a todos. Me llamo Antonio, soy de España y soy rotulista.

Llevo 2 años y medio con una cnc china medidas 1325 3ejes. La maquina va perfecta saco mucho trabajo con ella y la verdad es que estoy muy contento.
He pensado en ponerle un cuarto eje rotativo, que ahora hay muchos kits y economicos.

La duda viene con mi maquina. Tengo driver 2MD860H y un controlador DSP Richauto A11 que solo maneja 3 ejes.
Me he puesto en contacto con ellos y tengo que comprar un controlador DSP Richauto A18 4axis que me cuesta 550€ mas aduanas.

Ya que tengo que cambiar de controlador y ya que yo no he manejado nada mas que el DSP Richauto, me podeis aconsejar sobre algun otro controlador?
Podria convertir el eje x en rotativo?

Muchas gracias a todos de antemano.

Pd : os mando unas imagenes de mi maquina y la electronica que lleva.
9
Programadores / Re:GTP USB Plus - Soporte Técnico y Servicio PostVenta
« Último mensaje por handpic en 07 de Abril de 2020, 13:05:14 »
Buenas tardes,

Ahora que estamos confinados y con mucho tiempo libre, he retomado los microcontroladores y desempolvado todos los juguetitos....

Pero me ha surgido un problema, el GTP-USB+ no me funciona con el Windows 10. ¿Alguien sabe como solucionar el problema con el driver?

He tratado de instalarlo, pero no me es posible.

Gracias de antemano.
10
Todo en microcontroladores PIC / Re:Usar PIC16F15323 como sustituto de puertas lógicas
« Último mensaje por Robert76 en 07 de Abril de 2020, 12:38:57 »
Hola? Muchas gracias Picuino por la info. He estado buscando esa alternativa para no recurrir a las PALs.
Un abrazo!!!
Páginas: [1] 2 3 4 5 6 7 8 9 10
anything