Nous drivers per als motors

Des de RepRapBCN sempre intentem millorar la màquina de manera contínua i és per això que avui us portem un nou canvi que creiem que millorarà la fiabilitat de les vostres impressores.
Hem decidit canviar els drivers dels motors pas a pas per uns més potents i robusts. Concretament són els DRV8825 de Pololu.

Millores

Aquests drivers basats en el xip DRV8825 de Tu mostren una sèrie d’avantatges respecte als quals veníem utilitzant anteriorment.

  • El potenciòmetre de calibratge és de més qualitat i d’una sola volta, la qual cosa permet ajustos més precisos i menors trencaments.
  • Segons especificacions, aquest integrat pot subministrar fins a 2.2A amb bona refrigeració, una millora substancial respecte als anteriors drivers. Més que suficient per a la nostra aplicació.
  • Aquest driver pot oferir una major resolució ja que permet un microstepping d’1/32. Per a més informació acudir a la secció de nivell avançat.
  • Major dissipació de potència. Primer pel tipus d’encapsulat i segon pel disseny del circuit imprès. No fa falta disipador.
  • Major voltatge d’alimentació per als motors, fins a 45V (35V antics). A primera vista sembla no importar tenint una font de 12V però aquesta característica permet als drivers ser més resistents a possibles becs de tensió produïts per LC’s del sistema.
  • Són liles!

Creiem que són motius suficients per realitzar un canvi i que es traduirà en menys errors i menys maldecaps per a tothom.

Substitució i Calibrat

Tant si volem substituir algun driver defectuós o fer una actualització de tots els drivers, haurem de seguir aquests senzills passos.

Simplement hem de retirar els drivers antics (blancs), extreure dos jumpers de la placa electrònica Ramps i col·locar el nou driver (lila) en l’orientació correcta.
Com a val més una imatge que mil paraules, a continuació podem veure els jumpers que s’han de retirar. La retirada d’aquests jumpers fa que els nous drivers siguin compatibles amb els anteriors, evitant haver de realitzar cap canvi addicional.

 

pololus change

 

A continuació anem a descriure com regular de forma correcta els drivers perquè subministrin la potència necessària als motors i tot funcioni suau i sense sobrecalentamientos.
Els drivers es regulen mitjançant un petit potenciòmetre que tenen en un dels seus extrems. Si girem en sentit horari augmentem la potència, en sentit antihorario la disminuïm.

Per defecte, de fàbrica vénen mal regulats i per tant serà una bona pràctica dedicar-li un temps al seu correcte calibratge. Si els canviem tal com vénen, correm el risc de subministrar més corrent als motors i ens podem arribar a cremar.

En la imatge es pot apreciar que el potenciòmetre té un petit xamfrà en el cap (una cara plana). Nosaltres hem trobat que orientant aquesta cara plana cap amunt, aconseguim regular el driver bastant bé sense necessitat d’un multímetre o tester.

 

1 polulu

2 polulu

3 polulu

 

Per als usuaris més “experimentats/teòrics” existeix la possibilitat de calibrar els drivers amb un tester. Per a això, aconsellem llegir abans aquest article en la RepRapWiki. cal dir que cal anar amb compte de no provocar cap curtcircuit, existeix el risc de danyar algun component electrònic de la màquina.

Nivell Avançat

 

tabla polulu

 

Para los que quieran ir un paso más allá, proponemos exprimir la característica estrella de estos drivers, el microstepping.

El microstepping és simplement una tècnica per augmentar la resolució d’un motor pas a pas fent que els passos siguin cada vegada més petits. Això s’aconsegueix excitant les bobines de manera progressiva perquè el moviment sigui el més continu possible (a pesar que els passos són discrets). D’aquesta manera si els nostres motors són d’1.8º/pas sense microstepping, amb 1/32 de microstepping aquests passos passen a ser de 0.056º/pas.

A continuació es pot veure una taula comparativa entre el microstepping i la resolució dels eixos X i Y de la BCN3D+. Per a l’eix Z simplement s’hauria de tenir en consideració el pas de la vareta roscada de 8mm.

 

MicrosteppingResolution in mmSteps/mm X/Y/Z/E
20.19110.023 / 10.053 / 320 / 57.287
40.09520.047 / 20.107 / 640 / 114.57
80.04840.095 / 40.215 / 1280 / 229.15
160.02480.19 / 80.43 / 2560 / 458.3
320.012160.38 / 160.86 / 5120 / 916.6
Step Angle1.8º
Pulley Radius12.15mm

 

Amb un microstepping més petit aconseguirem més resolució i els moviments seran més fluïts i continus (encara que no siguem capaços d’apreciar-ho), però no tots són avantatges ja que ara el microcontrolador haurà de subministrar el doble de polsos que abans per moure’s la mateixa distància (recordeu que cada pas ara recorre menys distància) i això pot afectar a la velocitat màxima de la impressora. És per aquest motiu que necessitem reajustar els valors de passos per mil·límetre de cada eix en el firmware.

Pel que en aquest cas no fa falta retirar els jumpers. Els jumpers ens permeten seleccionar que manera de microstepping treballa el nostre driver. Simplement són pines del xip que en funció si estan a nivell alt o baix se selecciona una manera o un altre. Amb la següent taula podem verificar que si deixem tots els jumpers estaríem en el cas de HIGH/HIGH/HIGH que correspon a un microstepping d’1/32.

 

tabla microstepping

 

Per configurar els paràmetres de step/mm en el firmware tenim tres opcions:

  1. Des de la pantallaSi anem a Menu>Control>Motion> Xsteps/mm, Ysteps/mm, Zsteps/mm, Esteps/mm. Hem d’ajustar els valors de cada eix que hàgim canviat el driver al doble del valor actual. A continuació, perquè no s’esborrin els valors quan apaguem la màquina, seleccionem l’opció Store memory dins de Menú>Control. Els valors es poden trobar en el punt 2.
  2. Arduino IDE:  Necessitem obrir el firmware amb el IDE de Arduino i acudir a la pestanya de Configuration.h i localitzar la línia 353.
    #define DEFAULT_AXIS_STEPS_PER_UNIT80.1980.432560458.3 } Aquests valors defineixen els passos necessaris per recórrer una unitat de distància. Nosaltres simplement hem de modificar-los multiplicant-los per 2. Per tant quedarien d’aquesta manera:#define DEFAULT_AXIS_STEPS_PER_UNIT160.38916.65120458.3 }
  3. USB: Necessitem un programa que obri una comunicació seriï amb la impressora mitjançant USB.
    Una vegada establerta la connexió manem els següents g-codes que ens permetran canviar els valors que busquem. 

    M501//Llegim els valors emmagatzemats en la EEPROM
    MM92 X160.38 Y160.86 Z5120 E916.6//Modifiquem els valors de Step/mm
    M500//Guardem els nous valors en la EEPROM
    M501//Tornem a comprovar els valors de la memòria i verifiquem el canvi

 

Esperem que aquest article sigui de gran utilitat i tenim ganes d’escoltar els vostres comentaris sobre aquest tema. Qualsevol suggeriment serà benvingut.

SHARE