Hola amyver.
Estos días atrás he estado ocupado con el hardware, fabricando una placa con el L6203:
http://sites.google.com/site/picuino/dc_motor_regulatorTambién he estado dando vueltas al circuito de sensado de corriente porque me daba problemas.
El caso es que ahora voy a meterme a fondo con el software y el control.
El sensado de corriente del que me hablas se puede realizar sin resistencia de sensado en el L6203:
1º Medir la tensión de alimentación del puente Vdd (midiendo la tensión del motor mientras está conectado a Vdd)
2º Calcular la tensión de alimentación al motor Vmotor
Vmotor = Vdd · D
D = ciclo de trabajo del PWM de 0 a 100%
3º Medir la tensión interna del motor Eg o back-emf
4º Estimar la corriente que circula por el motor:
Imotor = (Vmotor - Eg) / Rmotor
Rmotor = Resistencia del motor en ohmios
Ejemplo de estimación de la corriente del motor con aritmetica de enteros:En este caso hay que ajustar las unidades para que entren en un número de 0 a 65536:
Rmotor = 156; // (Rmotor + Rtransistores) · 10 = (15 + 0.6) · 10 = 156
Vdd = 950; // Vdd = 950 · 32v / 1023ptos = 29.7 voltios. Cuando ADC=1023 el puente está a 32 voltios.
D = 325; // Ciclo de trabajo de 0 a 1000
Vmotor = (Vdd/4) * (D/4); // Vmotor = 19197 = 9.65 voltios
Eg = 150; // Eg = 150 · 32v / 1023ptos = 4.69 voltios.
Vrm = Vmot - Eg*62; // Vrm = 19197 - 9300 = 9897 = 4.96 voltios. (caída de tensión en la resistencia del motor)
Imotor = (Vrm / Rmotor)*81/16; // Imotor = (9897 / 156)*81/16 = 318 = 0.318 Amperios
El último número que multiplica (81) es un factor de conversión para obtener la intensidad del motor en miliamperios. Depende de la aritmetica de enteros utilizada y del divisor de tensión del puente. Quizá lo más práctico es afinar ese número midiendo con un polímetro la corriente por el motor y ajustando hasta que Imotor coincida con el polímetro.
También se puede sustituir la ecuación por un valor de Rmotor ajustado:
Imotor = (Vrm / Rmotor); (en este caso Rmotor debe valer 31 y no se parece en nada a la verdadera resistencia del motor)
Saludos.