Sunteți pe pagina 1din 7

ELECTRNICOS IV

Motor paso a paso con Control de Velocidad


En esta prctica realizaremos el circuito de control de un motor paso a paso (stepper
motor). Con lo que ya sabemos, el control digital de este tipo de motores no debera
costarnos mucho. Lo ms importante de esta prctica es que se incluir el diseo de la
electrnicadepotencia,quepermitirmanejarelmotormediantelaFPGA.
Primero veremos cmo funcionan los motores paso a paso, luego cmo podemos
implementar la parte de control digital (el VHDL), por ltimo veremos el circuito de
potenciaqueadaptalassalidasdelaFPGAparamanejarelmotor.

I. Motores paso a paso


Hay mucha informacin sobre los motores paso a paso en internet , por ello no nos
extenderemosencmoestnhechosysufuncionamiento.Aqusimplementeseincluirla
informacinnecesariaparapoderrealizarencircuitodecontrol.
Sin entrar en las caractersticas y en cmo estn fabricados los motores (imanes
permanentes, reluctancia variable o hbridos), cuando tenemos un motor paso a paso,
tenemosquedistinguirsiesbipolarounipolar.
Normalmentelosunipolarestienen5cables,ylosbipolares4cables.Algunosunipolares
tienen6cables,habiendodoscablesquesoneldealimentacin.
Aquvamosaexplicarelunipolar,yaquemuchasdelasimpresorasantiguastienenalgn
motor paso a paso unipolar, y as no tendremos que comprar ningn motor para hacer
esta prctica. Hemos desguazado varias impresoras y escneres, y suelen tener algn
motorpasoapaso(sobretodolasantiguas),tambinsuelehabermotoresdecontinua,as
que tendrs que distinguirlos. Muchas veces los motores tienen una etiqueta que indica
queesunmotorpasoapaso(steppingmotor)yenotrostienesquemirarsureferenciaenla
pgina web del fabricante. Nosotros hemos encontrado motores del fabricante Mitsumi
[17] y Minebea [16]. En las pginas web de estos fabricantes se pueden encontrar las
caractersticasdelosmotores.
A. Identificacin de terminales
Unavezquehemosconseguidounmotorunipolar,tenemosqueencontrarlosdevanados
opuestosyelterminaldealimentacin.Elprocedimientoparadescubrirquterminales
cadaunoeselsiguiente23:
1. Averiguarculeselterminaldealimentacin
Segnlafigura1,detectarelterminaldealimentacinesfcil,pues si medimos las
resistencias con un polmetro, la resistencia del terminal de alimentacin respecto a
cualquier otro terminal es la mitad que la resistencia que hay entre dos terminales
cualesquiera que no sean el de alimentacin. En caso de que haya 6 terminales,
posiblemente dos de ellos correspondan al dealimentacin y por tanto la resistencia
entreellossercero.
Informacindelosmotorespasoapasoenespaol:[7,24]yeningls[4,9,21,22]

22

Informacinobtenidadehttp://www.doc.ic.ac.uk/~ih/doc/stepper/others/

23

DERLY WILSON HUALPA MAMANI

ELECTRNICOS IV

Alimentacin
L

L
D

Figura 1: Conexin interna de un motor unipolar

2. Identificarlosterminalesopuestos
Primero conectamos el terminal de alimentacin a la
fuente(Vcc)yponemoscualquierotroterminalatierra.A
este terminal que conectamos a tierra le llamaremos
terminal A. En la figura 2 se representa esta conexin.
Al hacer esto vemos que el motor se posiciona y
quecuestamsmoverlo.
A continuacin, manteniendo el terminal A a tierra y el
terminal de alimentacin conectado a la fuente, vamos
probando qu sucede al conectar cada uno de los dems
terminales a tierra. Esto lo hacemos por separado, es
decir,encadamomentohaycomomximodosterminales
atierra.

A
Motor se
posiciona

Figura 2: El terminal A a
tierra

Aquel terminal que no haga girar un paso al motor sino que haga que pierda
parresistivoserelterminalopuestoa A,estoes,serelterminal C(segnlareferencia
dela figura 2. En los otros dos casos, habr un pequeo giro del motor en
sentidosopuestos.Enlafigura3semuestraesteconceptodemaneragrfica.
Giro a izquierda
medio paso

Giro a derecha
medio paso

Motor
pierde
par

Figura 3: Resultado de poner a tierra cada uno de los otros tres terminales, cuando el motor pierde par
indica que es el correspondiente

Unavezquetengamoslosterminalesidentificados,yapodemosgenerarlassecuenciasde
giro. En la figura 4 se muestra la identificacin de los terminales para el
motor.Detodosmodos,elfuncionamientoconotrosmotoressersimilar,
aunque
tendrsqueleerlascaractersticasdelmotorquetengasparaadaptarelcircuito.

DERLY WILSON HUALPA MAMANI

ELECTRNICOS IV

Alimentacin
(comn)
A

Figura 14.4: Identificacin de los terminales en nuestro motor PM55L-048 de Minebea

14.1.2. Secuencia del motor paso a paso


Para hacer girar al motor tenemos que ir poniendo a tierra algunos terminales en una
secuenciaconcreta.Poneratierraunterminalhacequecirculecorrienteporeldevanado
correspondiente,yestohacequesemuevaelrotordelmotor.Delafigura14.3podemos
intuircmopodemosobtenerlasecuenciaconlaquepodemoshacerqueelmotorgire.La
figura 14.5 aclara cmo obtener esa secuencia. La flecha del centro indica de manera
esquemticalaposicindelrotor.Detodosmodos,esslounesquema,noseproducen
giros de 90 con cada paso, sino que son giros mucho menores (suelen ser menores de
10).
A y B a tierra

B y C a tierra

C y D a tierra

D y A a tierra

Figura 14.5: Secuencia de terminales que se ponen a tierra para obtener el giro del motor

As que para girar el motor tenemos que poner a tierra de manera secuencial los
terminales.Delafigura14.5podemosobtenerlasecuenciadeterminalesqueseponena
tierraparaobtenerelgirodelmotor:ABBCCDDAAB...
Enlafigura14.6semuestralasecuenciadelosterminalesquesetienenqueponeratierra.
Semuestranlosdossentidosdegiro.

terminal a tierra

1
A

C
D

1
1

1
1
1

tiempo
6

1
1

1
1
1

terminal a tierra

tiempo
1

C
D

1
1

1
1

Figura 14.6: Secuencia de terminales que se ponen a tierra para obtener el giro del motor en ambos sentidos

DERLY WILSON HUALPA MAMANI

ELECTRNICOS IV

Se pueden generar otras secuencias, poniendo a tierra un nico terminal cada vez, o
mezclando ambas alternativas (estas secuencias las puedes ver en [7]). Lo puedes hacer
comoejercicio,peroparaestaprcticautilizaremoslassecuenciasdelafigura14.6.
Antes de generar las secuencias, tenemos que mirar cul es el tiempo mnimo que
podemos estar en cada paso (o la frecuencia mxima). Esto vara segn el motor y lo
tienesqueverenlashojasdecaractersticas.Ennuestromotor,lashojasdecaractersticas
indican que a partir de 100 Hz empieza a bajar el par del motor24. De las pruebas que
hemoshecho,amsde200Hzempiezaafuncionarmal.

14.2. Generacin de la secuencia de control con la FPGA


Ahora tenemos que generar las secuencias de la figura 14.6 con la FPGA. El bloque de
control que haremos se muestra en la figura 14.7. Usaremos los pulsadores BTN0 y BTN3
paraordenarmoverelmotorenunsentidouotro.Enprincipionosedeberandepulsara
lavez,peroencasodequesepulsenalavez,daremospreferenciaaunsentidodegiro.
Cuandonosepulsaningnpulsadorelmotordeberestarparado.
Porserundiseosncronoqueseharconunamquinadeestados,elcircuitotendrun
relojyunreset.
Elcircuitotendrcuatrosalidas(A, B, Cy D)quecuandosean1darnlaordendeponerel
terminalcorrespondientedelmotoratierra.Cuandoseancero,sepondrnalatensinde
alimentacin y no circular corriente por el devanado del motor, y por tanto, no se
activar.
Pegasus

Basys

AC0 (P49)

JA1 (P81)

AC1 (P48)

JA2 (P91)

AC2 (P81)

JA3 (P82)

AC3 (P47)

JA4 (P92)

CONTROL_MOTOR
BTN3
BTN0

CLK

IZQ
DCHA

RESET

SW0

Figura 14.7: Bloque de control de motor de la FPGA

LassalidaslasconectaremosalosconectoresPMOD.LaPegasustieneunnicoconector
PMOD, que se ha llamado puerto accesorio (accesory port) en la figura 2.1. Los pines se
muestranenlatabladeladerechadelafigura14.7.
La Basys tiene cuatro conectores PMOD. Para esta prctica usaremos el conector de la
izquierda(JA).
Ahoratenemosquedisearelcircuitoylamquinadeestadosquegenerelassecuencias
apartirdelasentradasquesehandescrito.Intentadisearlosinayuda,ysivesquetienes
dudas,consultaeldiseopropuestomostradoenlafigura14.8.

Tambinseveinfluenciadoporeltipodeelectrnicadepotencia.Conunaelectrnicaespecficasepuede
aumentarlafrecuencia

24

108

Universidad Rey Juan Carlos

ELECTRNICOS IV

11X

0XX
100
AB
1100

101

0XX
100
BC
0110

Leyenda

entradas

CTS,BTN0,BTN3
11X

11X

DA
1001
0XX
100

101

101
101

11X

estado
ABCD

CD
0011

salidas
0XX
100

Figura 14.8: Esquema de la mquina de estados para el bloque de control de motor de la FPGA

Observa en la figura 14.8 que hay una seal CTS que no est en las entradas del bloque
mostradoenlafigura14.7.Estaseallatendremosquegenerarnosotrosyserlaquenos
marquelafrecuenciadelmotor.Paraelmotordenuestrocaso,serunasealde100Hz
(unacentsimadesegundo).Estaseallatenemosquegenerardemodoqueestactiva
duranteunslocicloderelojencadacentsimadesegundo.
Otracosaquetienesquetenerencuentaesqueparaestapropuesta,lassealesdeentrada
delospulsadoresBTN0yBTN3nosetienenquepasarporundetectordeflanco,sinoquese
muestreancontinuamente,yaquequienhacedefiltroeslaseal CTS,puesestactivaun
slocicloderelojduranteunacentsimadesegundo.
Enlafigura14.8lasflechasquegeneranlasdossecuenciasdegirosehapuestodedistinto
color.Fjatequeladecolorazul,ladelBTN0tienepreferenciasobreladeBTN3.Enrealidad
esindiferenteculescojas,perotienesqueescogerunasecuenciasobrelaotra.
Ahora tendras que realizar el circuito en VHDL. Es recomendable que para que te sea
msfcildepurar,lassalidas A, B, Cy DtambinlassaquesporcuatroLED.Inclusopara
depurarelcircuitopodrasbajarlafrecuenciadegiroycomprobarqueefectivamentese
generanlassecuenciasdeseadas.
Una vez que tenemos el circuito y vemos que los LED se mueven como pensamos, nos
quedahacerquelassalidas A, B, CyDordenenalosterminalesdelmotorestaratierraoa
latensindealimentacinsegnsuvalor.Estoloveremosenelapartadosiguiente.

14.3. Circuito de potencia para gobernar el motor


PodramospensarquesiponemoslascuatrosalidasdelaFPGAdirectamenteconectadas
a los terminales del motor, haramos que los terminales se pongan a tierra cuando la
FPGA lo mande. Desgraciadamente no es as, digamos que la FPGA no tiene fuerza
suficiente como para obligar al motor a ponerse a cero, por tanto hay que pensar en
hacerlodeotramanera.LaFPGAnopuedesuministrarlapotencianecesariaparamover
unmotor.Porotrolado,elmotorvaalimentadoa24voltios(aunquepuedefuncionara
menos tensin) mientras que la FPGA se alimenta a 3,3 voltios, por tanto, las tensiones
tampocosecorresponden.
En nuestra primera aproximacin podramos usar un transistor bipolar o MOSFET para
cadaterminal,demanerasimilaracomosemostrabaenlafigura13.4.Hacindolodeesta
manera,elesquemanospodraquedarcomosemuestraenlafigura14.9.
Analizando el esquema podemos ver que cuando una salida de la FPGA (por ejemplo,
FPGA_A) tiene un valor lgico de 1 (3,3 V), circular corriente por la base del transistor y

DERLY WILSON HUALPA MAMANI

ELECTRNICOS IV

entrar en saturacin. Esto provocar que el terminal del motor TA est a una tensin
cercanaacero(segnlacadadetensinentrecolectoryemisordeltransistor).
Porotrolado,sihayuncerolgicoalasalidadelaFPGA,habrcerovoltiosenlabasedel
transistorynocircularcorrienteporlabase.Porlotantoeltransistorestarencorteyel
terminaldelmotorTAestaraVcc.
VCC

VCC

VCC

TA

R1

VCC

TB

R1

FPGA_A

VCC

TC

R1

FPGA_B

TD

R1

FPGA_D

FPGA_C

Figura 14.9: Posible esquema de la electrnica de potencia para manejar el motor

Estecircuitopodrafuncionarbien,sinembargohayquetenercuidadoporquelaFPGA
vaalimentadaconunafuentedetensindistintaqueladelmotor(3,3VlaFPGAy24Vel
motor).ParaevitarquecorrientesotensionesaltaslleguenalaFPGAdesdeelmotor,es
recomendable aislar la parte de la FPGA de la del motor. Para aislar ambas partes
podemosusaroptoacopladores.Losoptoacopladoresutilizanfotodiodosyfototransitores
paratransmitirinformacinproporcionandounaislamientoelctricoentreloscircuitosde
entradaysalida.Lafigura14.10muestrauncircuitoquesehaprobadoquefunciona.
VCC=24V
Mximo 24V,
pero puede
funcionar a
partir de 5V

VCC=24V

TA

PM55L-48
el resto de
terminales
tienen un
circuito igual

VCC=24V
optoacoplador
22k
220

STA471

FPGA_A
4N35

FPGA_GND
las tierras
son distintas

las dos partes del


circuito estn aisladas

Figura 14.10: Esquema del circuito con optoacopladores

DERLY WILSON HUALPA MAMANI

ELECTRNICOS IV

Losdiodosquehayentreelcolectordeltransistorylaalimentacin V2CCsonparaquela
corrientequecirculaporlosdevanadosdelmotortengauncaminodecirculacincuando
eltransistorentraencorte,evitandoconestosobretensiones.
El esquema muestra los valores concretos en las resistencias. El transistor que se ha
utilizadoeselSTA471deSanken[20].Estetransistoresundarlingtonysehausadoporque,
al igual que el motor, se ha reutilizado de la impresora. Este integrado tiene los cuatro
transistores. Con pocas modificaciones se podra haber utilizado otro similar como un
TIP120(darlington)ounIRL540(MOSFET).
El optoacoplador utilizado es el 4N35, pero se pueden utilizar otros similares como el
ACPL-847 que tiene como ventaja que tiene cuatro optoacopladores integrados en el
circuito integrado. Fjate que tal como est hecho el circuito con los optoacopladores, la
sealdelaFPGAseinvierte,asquehabraquenegarlassalidasdelaFPGA:invertirlas
salidas de la mquina de estados, o si no, saber que el motor va a girar en sentido
contrarioaloqueharasinoptoacopladores.
ComoeltransistorSTA471nonoshasidofcildeencontrarparacomprar(locogimosdela
propia impresora), hemos realizado una variante del circuito con un integrado SN754410
que incluye dos medios puentes en H. La variante del circuito se muestra en la figura
14.11. El driver del motor del SN754410 tiene una habilitacin que se pone a uno para
dejarlohabilitado.
habilitacin del
driver a '1'

Mximo 24V,
pero puede
funcionar a
partir de 5V

Esta parte se pone


a 5V para que
consuma menos

V1CC=5V
V1CC=5V
optoacoplador

10k

V2CC=24V

V2CC=24V

22k
220

PM55L-48
el resto de
terminales
tienen un
circuito igual

FPGA_A
TA
SN754410
ACPL_847

FPGA_GND
las tierras
son distintas

las dos partes del


circuito estn aisladas

Figura 14.11: Esquema del circuito usando el circuito integrado SN754410

14.4. Conclusiones
En este diseo nos hemos enfrentado no slo al diseo de la parte digital, sino a las
dificultades que aparecen al interactuar con dispositivos externos. Hemos realizado el
diseodelaelectrnica depotenciasinadentrarnosenconceptostericosysinanalizar
alternativas,puesdaraparaunlibroentero.Laalternativaarealizareldiseoescomprar
mdulosconlaelectrnicadepotenciayquesepuedenconectaralaFPGA.

DERLY WILSON HUALPA MAMANI

S-ar putea să vă placă și