Hola  a todos!!!! Soy estudiante Erasmus en Escocia, y tenemos una asignatura  en la que hemos programado un robot con lego y lo llevaba bien. Hasta  que el otro día nos pusieron un práctica de programar en MIkroC for PIC,  y no tengo ni idea de cómo va la cosa, no nos han dado a penas apuntes,  donde por cierto no resuelvo mis dudas, y añadiendo que las  explicaciones en clase fueron en inglés.... pues eso, que estoy bastante  perdida y no sé ni por donde cogerlo. He perguntado al profesor y eso,  pero la verdad es que me quedo igual. Voy a contaros qué necesito a ver  si alguien me puede ayudar.
Tenmos una barra horizontal con una bola que va de una punta a otra, y  nos han dado una tabla excel con los valores de la bola en cada momento.  El caso es que tengo que hacer un programa que calcule los componentes  proporcional, integral y diferencial del sistema de viga equilibrada  PID. para asegurarme que el cálculo sea rápido, tengo que usar números  enteros, positivos y negativos incluyendo el 0. Tengo que utilizar una  de las filas del excel para proporcionar valores iniciales, aunque  necesito otra fila para el cálculo diferencial e integral
Después temgo que comprobar que lo calculado en mi programa funciona  correctamente con la hoja de cálculo y la Watch Window en MikroCPro.  Asegurándome de el valor final de "y", la salida PID, se encuentre en el  rango correxcto, e incluir en la rutina una forma de calcular solo los  valores de I y D, cuando los valores obtenidos para ki y kd no son 0.  Evaluar la exactitud del cácluclo del resultado final en comparación con  los de la hoja excel. Para la entrada de números reales, como kp, supón  que hay un programa ya que los transforma en entero, por ejemplo que un  valor de 0,2 se ha multiplicado por 10 para darle un valor de 2 o por  100 para darle un avlor de 20. Recuerde esto para compensar de manera  que los valores finales estén en el rango.
Adjunto el enunciado en ingles: 
Using the MikroC Pro for PIC software develop a program that will  calculate the proportional, integral and differential components of a  Balanced Beam  PID control system.  To ensure that the calculation is  fast it should be done using whole numbers only, negative and positive  including zero.   Use only one of the rows from  the spreadsheet model  to provide initial values, though another row will be required for  integral and differential calculation.   Confirm that calculated output   from your program works correctly using the spreadsheet and the  Watch  Value window in MikroCPro.   Ensure that the final value of  y, the PID  output,  is in the correct range and also include in your routine a  means of only calculating I and D values when the gain values for ki and  kd are not zero.  Assess the accuracy of the calculation of the final  output against the spreadsheet values.  For real number inputs, such as  Kp values, assume that some other software routine has already  transposed them into the whole number range, for example, that a gain  value of 0.2 has been multiplied by 10 to give it a value of 2 or by 100  to give it a value of 20.  Remember to compensate for this so that the  final values are in the correct range.
Submissions should consist of a program with a written explanation  describing the algorithm used to obtain the PID control and the starting  values used by the algorithm.  Discuss the accuracy of the approach  used to do this calculation.  Use screen capture and the Watch Window to  prove that the algorithm correctly calculates the values.  The original  program files must be submitted on CD/DVD plus a paper copy summary  sheet.  
Espero que alguien pueda ayudarme porque no tengo ni idea!!!!!
Mcuhiiiiiiisimas gracias de antemano!!!!
Saludos a todos