Bienvenidos - Abierto registro y Login a usuarios

enfocador con PaP y microcontrolador.

Lugar para mostrar y proponer ideas sobre la construcción, reparación o modificación de accesorios.
User avatar
nandorroloco
Audi et alteram partem
Audi et alteram partem
Posts: 1507
Joined: Mon Jan 23, 2006 12:30 pm
Location: El Maresme (BCN)
enfocador con PaP y microcontrolador.

Post by nandorroloco » Sun Feb 04, 2007 12:48 am

Pues eso... que estoy inspirado.

Hoy me ha dado por hacer un diseño de un enfocador controlado por microcontrolador... destinado para el Mots2... y todo eso. ¿qué diferencia hay con el que hice hasta este momento...?

Pues...estas
1.- Me ahorro el LM555.. aunque pongo un cristal
2.- El 16f84 es mas barato que el UCN5804b
3.- Controlo la lógica y todo lo que hay en el chip.
4.- puedo habilitar una comunicación serie con otro dispositivo... Igual es útil.
5.- Puedo variar su comportamiento alterando el programa...
6.- Es mas divertido... por que hay que programarlo....
7.- Así amortizo el programador que me hice.
8.- Me ahorro el potenciómetro...
...

Claro... lo acabaré haciendo... pero de momento sólo está en el simulador.

Image

Y el programita... lo pongo por que no es muy largo y me ha quedao... bordao!!


----- PICC de CCS -----

Code: Select all

#include <16F84A.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading

#use delay(clock=1000000)

#use rs232(baud=9600,parity=N,xmit=PIN_A3,rcv=PIN_A2,bits=8)

#define SLOW 500
#define MIDD 100
#define FAST 10

int8 paso=0;
int8 botones;


void excita_motor(int8 paso)
{
switch(paso)
   {
   case 0:         //paso 0
      output_bit(PIN_B0, 1);
      output_bit(PIN_B1, 0);
      output_bit(PIN_B2, 0);
      output_bit(PIN_B3, 0);
      break;
   case 1:         //paso 1
      output_bit(PIN_B0, 0);
      output_bit(PIN_B1, 1);
      output_bit(PIN_B2, 0);
      output_bit(PIN_B3, 0);
      break;
   case 2:         //paso 2
      output_bit(PIN_B0, 0);
      output_bit(PIN_B1, 0);
      output_bit(PIN_B2, 1);
      output_bit(PIN_B3, 0);
      break;
   case 3:         //paso 0
      output_bit(PIN_B0, 0);
      output_bit(PIN_B1, 0);
      output_bit(PIN_B2, 0);
      output_bit(PIN_B3, 1);
      break;
   }
}

void main()
{
// inicializaciones
SET_TRIS_B( 0xF0 );
// B0-3 salida B4-7 entrada
excita_motor(paso);
// programita

while ( TRUE )
   {
   botones = (input_state(pin_B4)? 0: 0b00010000) |
             (input_state(pin_B5)? 0: 0b00100000) |
             (input_state(pin_B6)? 0: 0b01000000) |
             (input_state(pin_B7)? 0: 0b10000000) ;

   switch( botones )
      {
      case 0b00100000:    // boton up
         delay_ms(SLOW);   // no break a propósito.
      case 0b00010000:    // boton superup
         delay_ms(MIDD);    // no break a propósito.
      case 0b00110000:    // si se aprietan up y superup a la vez
         if ( paso < 3 )
            paso++;
         else
            paso = 0;
         break;           // aquí si se rompe.
      case 0b01000000:    // boton down
         delay_ms(SLOW);   // no break a propósito.
      case 0b10000000:    // boton superdown
         delay_ms(MIDD);    // no break a propósito.
      case 0b11000000:    // si se aprietan down y superdown a la vez
         if ( paso > 0 )
            paso--;
         else
            paso = 3;
         break;           // aquí si se rompe.
      }
   delay_ms(FAST);
   if ( botones !=0 )
      excita_motor(paso);
   }
}

Last edited by nandorroloco on Sun Feb 04, 2007 1:17 am, edited 1 time in total.


LXD75 N-6EC, WO ZS80IIED, ETX70AT,
SPC900, Canon 350d (mod), Canon 400d, adaptador M42-EOS
Cosinon 50mm, Takumar 100mm, y Sigma 200mm todos m42 (de rosca)
Cosina 100-400 AF

User avatar
edulopez
Ad astra per aspera
Ad astra per aspera
Posts: 998
Joined: Fri Mar 03, 2006 1:29 am
Location: Alcalá de Guadaira, Sevilla
Contact:
Re: enfocador con PaP y microcontrolador.

Post by edulopez » Sun Feb 04, 2007 12:53 am

nandorroloco wrote: 8.


---
#include <16F84A.h>

#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading

#use delay(clock=1000000)

#use rs232(baud=9600,parity=N,xmit=PIN_A3,rcv=PIN_A2,bits=8)

#define SLOW 500
#define MIDD 100
#define FAST 10

int8 paso=0;
int8 botones;


void excita_motor(int8 paso)
{
switch(paso)
{
case 0: //paso 0
output_bit(PIN_B0, 1);
output_bit(PIN_B1, 0);
output_bit(PIN_B2, 0);
output_bit(PIN_B3, 0);
break;
case 1: //paso 1
output_bit(PIN_B0, 0);
output_bit(PIN_B1, 1);
output_bit(PIN_B2, 0);
output_bit(PIN_B3, 0);
break;
case 2: //paso 2
output_bit(PIN_B0, 0);
output_bit(PIN_B1, 0);
output_bit(PIN_B2, 1);
output_bit(PIN_B3, 0);
break;
case 3: //paso 0
output_bit(PIN_B0, 0);
output_bit(PIN_B1, 0);
output_bit(PIN_B2, 0);
output_bit(PIN_B3, 1);
break;
}
}

void main()
{
// inicializaciones
SET_TRIS_B( 0xF0 );
// B0-3 salida B4-7 entrada
excita_motor(paso);
// programita

while ( TRUE )
{
botones = (input_state(pin_B4)? 0: 0b00010000) |
(input_state(pin_B5)? 0: 0b00100000) |
(input_state(pin_B6)? 0: 0b01000000) |
(input_state(pin_B7)? 0: 0b10000000) ;

switch( botones )
{
case 0b00100000: // boton up
delay_ms(SLOW); // no break a propósito.
case 0b00010000: // boton superup
delay_ms(MIDD); // no break a propósito.
case 0b00110000: // si se aprietan up y superup a la vez
if ( paso < 3 )
paso++;
else
paso = 0;
break; // aquí si se rompe.
case 0b01000000: // boton down
delay_ms(SLOW); // no break a propósito.
case 0b10000000: // boton superdown
delay_ms(MIDD); // no break a propósito.
case 0b11000000: // si se aprietan down y superdown a la vez
if ( paso > 0 )
paso--;
else
paso = 3;
break; // aquí si se rompe.
}
delay_ms(FAST);
if ( botones !=0 )
excita_motor(paso);


}
}
nando tienes que tener un problema pues no se pueden leer tus mensajes, salen ilegibles..

Cada día me sorprendes más macho
FS-78, EQ6, tubo guia skylux 70/700. Nikon D50.prismáticos meade 10x50.
http://astrosurf.com/prometeo/

User avatar
David Serrano
Colaborador
Colaborador
Posts: 414
Joined: Sun Dec 31, 2006 12:19 am
Location: Newbury, West Berkshire, UK
Re: enfocador con PaP y microcontrolador.

Post by David Serrano » Sun Feb 04, 2007 1:10 am

Last edited by David Serrano on Mon Nov 12, 2007 2:00 am, edited 1 time in total.
--
David Serrano

User avatar
nandorroloco
Audi et alteram partem
Audi et alteram partem
Posts: 1507
Joined: Mon Jan 23, 2006 12:30 pm
Location: El Maresme (BCN)

Post by nandorroloco » Sun Feb 04, 2007 1:15 am

Ok, lo probaré... no conocía para que servía esto. Voy a editar el post anterior.
LXD75 N-6EC, WO ZS80IIED, ETX70AT,
SPC900, Canon 350d (mod), Canon 400d, adaptador M42-EOS
Cosinon 50mm, Takumar 100mm, y Sigma 200mm todos m42 (de rosca)
Cosina 100-400 AF

User avatar
gusgus
Asiduo
Asiduo
Posts: 78
Joined: Sat Jan 06, 2007 7:17 pm
Location: lanzarote
ya sabes...

Post by gusgus » Sun Feb 04, 2007 12:38 pm

que te voy a decir yo...

solo felicitarte...

buena mejora!!!!
tele: lx 200 8", nikon d70, phlps scp 900 nc,modificada, sw ed 80, luna 0.4, reductores meade 3.3 y astroph .67. Dx x2 vixen, reloj a pilas...;-P

User avatar
Antonio P.
Arrectis auribus
Arrectis auribus
Posts: 748
Joined: Wed Nov 30, 2005 11:40 pm
Location: Madrid
Contact:

Post by Antonio P. » Sun Feb 04, 2007 1:07 pm

Hola Nando,

Muy bien, con el microcontrolador es un diseño mucho más limpio.

Otra cosa, cara al montaje real yo le pondría unos diodos en inversa en paralelo con los devanados del motor para evitar que los picos de tensión que se producen en la conmutación te frian los transistores.

Saludos,
Antonio.
http://www.datsi.fi.upm.es/~aperez/astronomia.html

Tubos: LX200R 8", Megrez II 80ED, MiniBorg 50
Montura: Titan 50
Cámaras: Artemis11002, Toucam SC3. Luna0.4

User avatar
nandorroloco
Audi et alteram partem
Audi et alteram partem
Posts: 1507
Joined: Mon Jan 23, 2006 12:30 pm
Location: El Maresme (BCN)

Post by nandorroloco » Sat Feb 17, 2007 6:30 pm

Bueno...pues eso... que he puesto los diodos. :wink:

Image

ahora casi está....

Image

Y los botones... los he puesto ergonómicos...

Image

Saludos.
LXD75 N-6EC, WO ZS80IIED, ETX70AT,
SPC900, Canon 350d (mod), Canon 400d, adaptador M42-EOS
Cosinon 50mm, Takumar 100mm, y Sigma 200mm todos m42 (de rosca)
Cosina 100-400 AF

User avatar
gusgus
Asiduo
Asiduo
Posts: 78
Joined: Sat Jan 06, 2007 7:17 pm
Location: lanzarote
nas....

Post by gusgus » Sat Feb 17, 2007 6:52 pm

que nada nuevo, un campeón.
con diodos y toooo....!
8)
tele: lx 200 8", nikon d70, phlps scp 900 nc,modificada, sw ed 80, luna 0.4, reductores meade 3.3 y astroph .67. Dx x2 vixen, reloj a pilas...;-P

User avatar
nandorroloco
Audi et alteram partem
Audi et alteram partem
Posts: 1507
Joined: Mon Jan 23, 2006 12:30 pm
Location: El Maresme (BCN)

Post by nandorroloco » Sat Feb 17, 2007 11:14 pm

A ver... ¿cómo lo diría?.... esto.... VA PERFECTO!!!!

Image

Sólo un pequeño detalle que tengo que ajustar... la velocidad, cuando pulso los dos de arriba o de abajo va al máximo... y creo que lo puedo hacer correr un poco más, y la velocidad lenta... va quizá demasiado despacio. Eso podría ser bueno para los neuróticos del enfoque como yo... pero con unos 2000 pasos por vuelta... que vaya muy poco a poco, quizá es excesivo.

Code: Select all

#define SLOW 500 
#define MIDD 100 
#define FAST 10
quizá probaré con 250, 50, 5

por hoy ya he acabado con los inventos.

Saludos.
LXD75 N-6EC, WO ZS80IIED, ETX70AT,
SPC900, Canon 350d (mod), Canon 400d, adaptador M42-EOS
Cosinon 50mm, Takumar 100mm, y Sigma 200mm todos m42 (de rosca)
Cosina 100-400 AF

User avatar
H-Alfa
Master
Master
Posts: 509
Joined: Sat Feb 04, 2006 3:50 pm
Location: L'Hospitalet Ll.

Post by H-Alfa » Sun Feb 18, 2007 4:20 am

:shock:
Eres el p... amo!
M615 152/2250, Megrez 80/500 II SD, Skylux 70/700, SW HEQ5 SkyScan (Mod)
Canon 350D (No Mod)+Sigma Apo 70-300mm+Canon EF-S 18-55mm, Phillips SPC900NC


Post Reply