El extraño caso del TB6560 chino

Bueno, en un post diferente comenté que estaba intentando hacer un montaje con un motor paso a paso y un driver Toshiba TB6560. El chip en sí es un clásico, del que se usan en muchas shields para controlar uno o varios de dichos motores, y que lo había encontrado barato en una web China.
El tema es que para mis pruebas me compré uno en DealExtreme (DC-025 2.5mm DC Power Jack Connector - Silver + Black (10-Piece Pack) - Free shipping - DealExtreme), porque para un pedido de un sólo chip no me merecía la pena pagar los gastos de envío de alguna otra tienda europea como Amidata o Farnell.

Cuando llegó, que tardo casi un mes, le fabrico una especie de adaptador para empezar a hacer pruebas en mi placa de prototipos, lo enciendo y ... y eso no va bien. Tampoco echa humo, ni si quiera consume excesivamente, pero definitivamente, no va bien! Y por más pruebas que hago, eso no funciona como esperaba: las tensiones en los pines de salida no se parecen en nada a lo que debían ser. Me repaso el datasheet de arriba a abajo, y ya medio desesperado, me pongo a verificar la conductividad de los pines ... y, resumiendo, que me enrollo, descubro que el pinout de ese chip NO es el de un TB6560. Descubro que hay tres pines que están conectados a la parte metálica del encapsulado, y que suelen ser los pines de tierra (que van al sustrato del chip) que no son, ni mucho menos, los que dice el datasheet.

Conclusión: hay dentro hay un chip, pero no es un TB6560. No sé que coño es, pero lo que si sé es que no es un TB6560.
Corolario: comprar en China tiene estas cosas XD

Lo cuento más por advertir que otra cosa (ya que fui yo quien comentó la existencia de ese chip en DX en este foro). Aparte del tiempo y un poco de material gastado en el adaptador, tampoco me puedo quejar demasiado. En DX ni si quiera intentaron entender la situación, me devolvieron el dinero y punto.

Y como el hombre es el único animal que tropieza dos veces con la misma piedra, ya me he pedido otro igual en China, pero esta vez por eBay, porque lo he encontrado incluso más barato :slight_smile: Vamos, incluso más barato que en Mouser cuando compras 100, incluyendo gastos de envío ... Cruzaré los dedos.

Y es que, esto es lo que tiene comprar en China ... pero es tan barato!! ¿Quién, que como nosotros trabaje a baja escala, se puede resistir a esos precios?

Pues muchas gracias por compartir tu experiencia.

Veo el TB6560 como una aternativa atractiva para todos los que se quieran hacer un driver a modo DIY con "current chopping" (control de corriente de las bobinas). Es relativamente sencillo de usar y en formato TRH es infitinitamente mejor que las porquerías chinas que venden con el L298.

Quizás la única pega es la forma de controlar la corriente. Está muy limitado a la hora de configurar la corriente a la que se quiere hacer trabajar el motor. Aun así con un juego de resistencias en paralelo configurables se puede hacer un driver muy majo.

Como he comentado, lo veo como una buena alternativa DIY y sería interesante hacer una placa o compartir los esquemáticos para que la gente se lo pueda hacer.

Ciertamente está muy limitada, mucho más que en el DRV8811, lo que para un placa genérica como la que está haciendo @fm para el CNC es una limitación. Sin embargo, para un diseño especifico donde ya sabes a priori la corriente máxima que quieres usar, el hecho de que cuente con dos entradas digitales que te permiten bajar la corriente a un 75%, 50% o 20% de la máxima que tengas configurada, es también muy interesante para el entorno Arduino, ya que te permite mantener una minima corriente en los motores cuando estos estén parados manteniendo la posición, o regularlo dinámicamente en función de la velocidad que quieras desde el Arduino.

@fm, ¿no se podría reemplazar la resistencia variable de la shield de control para el CNC por un chip de resistencia variable controlado por I2C?

Un par de fotillos que tenía del sujeto, donde se ve la impendancia del pin 1 con la parte trasera del encapsulado (que suele estar conectada al sustrato para disipar).

El datasheet está en http://www.toshiba-components.com/motorcontrol/pdfs/TB6560AHQ_AFG_E_2003_20080407.pdf

Salvo que tengan un filtro interno para separar las tierras de la lógica de control y conmutación de potencia... la cosa huele mal.

Las patillas 1, 17 y 22 presentan resistencia 0 entre ellas (lo que apunta a una tierra digital y dos analógicas), aunque eso no significa que no exista un pequeño shunt separando las tierras.

Hay diodos de protección de varias entradas al pin 15, con una caída de 1,28V desde los pines de tierra (los típicos diodos de protección contra la sobretensión en las entradas), con lo que apuesto que el pin 15 es VCC. La cosa es que no conozco ningún chip HZIP25 con ese pin-out ... (El TA8435 se parece, pero Vcc lo tiene en otro pin :-S)

Pues la idea de usar una resistencia variable se me ha pasado por la cabeza pero no he visto ninguna con valores tan bajos que disipen 1W aprox.

Me refería a la resistencia que define la tensión de corte, no a la resistencia de sensado. ¿Tanto tiene que disipar esa resistencia?
Y, ya puestos, si realmente lo que usa es una tensión de referencia, se podría usar un DAC I2C, porque creo que el ATMega no tiene, ¿no?

Pero el TB6560 no tiene una resistencia donde se establece la tensión de referencia como el DRV8811. Por lo menos no lo he visto en el datasheet del ASIC. También es cierto que no me lo he mirado con detenimiento. Solo tiene una resistencia de sensado que se usa internamente para poner en Hi-Z el puente H.

La resistencia que he visto es la de sesado y si no me equivoco era algo así como I = 0.5V/Rsens, donde 0.5V es la referencia interna que tiene el ASIC. No? Todas estas resistencia se ponen en serie con el puente H con lo que tienes toda la corriente que pasa por las bobinas.

Si eso es así, entonces para que corte a 1A, por ejemplo, la resistencia tiene que ser de 0.5. La potencia que tiene que disipar será de 0.5W. Si quieres 2A pues la resistencia de 0.25 y 1W.

El AVR no tiene un DAC tal cual, lo puedes que generar tu con un PWM y un filtro paso bajo (vamos un integrador), yo lo he usado en una fuente de alimentación para programar la corriente máxima y la tensión de referencia y funciona muy bien.

Bueno, lo de controlar la tensión de referencia era más para tu placa para el CNC que para el TD6560 ...

Me he liao' ;). En el caso de mi plaquilla si se puede remplazar el potenciómetro por una resistencia variable I2C. El pot es de 10K y para esos valores no hay problema y hay muchos disponibles.

En mi placa no se me había ocurrido usarlo, la verdad. Más que nada porque una vez fijada la corriente de trabajo no la sueles cambiar, pero para un control dinámico podría quedar curioso.

Bueno,
hace tiempo que no comentaba nada al respecto.

Compré en eBay un segundo Toshiba TB6560 ... mismo comportamiento extraño.
Ya empezaba a ponerme psicótico ...

Y un tercero ... y este ya cuadraba ... así que ha probarlo!
Tras dos fines de semana de avance muy lento, he conseguido que funcione de manera muy muy fina con un motor Epson EM-462 de 48 pasos usando microstepping 4W1-2 (x16) a 1000 pps.

Os dejo un video:

Sin embargo, he tenido muchos problemas con el microstepping en otros motores bipolares más pequeños ... bueno, todavía tengo que invertir más tiempo con ellos (y con los monopolares 28BYJ-48) por lo que no me extrañaría que volviese al foro pidiendo consejo al respecto ... pero eso ya sería motivo de otro post.

Y sin embargo, sigue el misterio de que coño son los otros dos "TB6560 fakes" que me mandaron de china ... porque TB6560 no son ni de coña!

Pues la verdad es que va muy bien para un motor de 48 pasos por revolución el movimiento es muy limpio. Viendo el driver el otro día, la verdad es que es una alternativa muy maja para poder hacerse la placa en casa o incluso usando una de topos.

Hombre, con microstepping son 768 pasos ... no esta mal ..

No, no está nada nada mal.