PIC - aide algo PID, et algo tracé cercle...

PIC - aide algo PID, et algo tracé cercle... - C - Programmation

Marsh Posté le 10-10-2008 à 23:45:48    

Hello
 
Voila je veux reguler un coffret qui peut chauffer a vitesse grand V car il y a une lampe a l'interieur. C'est pour un videoprojecteur DIY (www.allinbox.com). Le tout a base d'un µC Pic par exemple.
Donc j'ai pensé à un regulateur PID pour la ventillation, seulement, ca date un peu mes souvenir d'ecole :( .
 
Donc, j'aurai besoin d'aide et de conseils. Le but etant d'avoir un systeme efficace, sans pour autant que ca souffle a mort et que ca fasse du bruit sans raison...
 
Alors, j'ai pris la formule toute bete :
 
Cde = Erreur * KGain + Kint * Integral * dt + (KDer/dt) * derive
 
avec erreur = Température actuelle - temperature de consigne
integral += erreur
derive = ancienne Température actuelle - Température actuelle
dt = 0.5s ou 0.2s, je ne sais pas...
 
Et les K sont des gains.
 
La Cde sert a commander en tension la commande des ventillos...
 
Est ce que cette modelisation est correcte? je prends les bonnes données? en calculant une erreur sur des T° pour obtenir de la ventillation. J'ai essayé de modeliser ca sous un tableur avec formue, mais j'obtiens des courbes abérantes... p'tet qu'il me manque la fonction de transfert de reponse à mon systeme simulé et dc equilibrer ma courbe obtenue. Dc cette simu ne m'aide pas bcq :(.
 
Enfin bref, si quelqu'un pouvait m'aiguiller? est ce trop puissant pour ce que je veux en faire? une simple rampe suffisant?
 
 
 
 
 
Et enfin, pour faire des cercles sur un ecran graphique je pensais utiliser cette methode :
http://fr.wikipedia.org/wiki/Algor [...] d%27Andres
qui me semble assez simple pour un simple Pic. Seulement, je l'ai simulé sur une macro VBA avec sorties sur le tableur et interprété sur un graphique qui positionne les points avec les coordonnées X et Y. Et j'obtiens une figure à 8 cotés, et non un cercle... quelqu'un aurai une idée? algo faux? subtilité dans l'application de l'algo?
Merci pour vos reponses ou suggestions...
 
J'ai egalement essayé de simuler cette fonction de cercle que l'on trouve ici :  http://en.radzio.dxp.pl/t6963/arm/graphic.c , mais là j'obtient (tjrs sous excel avec macro vba) carrement un rectangle :( ... de plus il me semble que c'est la methode de bresenham.. dc moins efficace (cf wikipedia)
 
Help please...
 
 
void GLCD_Circle(unsigned char cx, unsigned char cy ,unsigned char radius)
{
int x, y, xchange, ychange, radiusError;
x = radius;
y = 0;
xchange = 1 - 2 * radius;
ychange = 1;
radiusError = 0;
while(x >= y)
  {
  GLCD_SetPixel(cx+x, cy+y, color);  
  GLCD_SetPixel(cx-x, cy+y, color);  
  GLCD_SetPixel(cx-x, cy-y, color);
  GLCD_SetPixel(cx+x, cy-y, color);  
  GLCD_SetPixel(cx+y, cy+x, color);  
  GLCD_SetPixel(cx-y, cy+x, color);  
  GLCD_SetPixel(cx-y, cy-x, color);  
  GLCD_SetPixel(cx+y, cy-x, color);  
  y++;
  radiusError += ychange;
  ychange += 2;
  if ( 2*radiusError + xchange > 0 )
    {
    x--;
 radiusError += xchange;
 xchange += 2;
 }
  }
}
 
 
 
Enfin question bonus pour des programmeur de pic en C :
 
Je voudrai essayer de stocker en memoire EEPROM sur un PIC des bouts de textes (car sinon en flash ca prendra trop de place) et pouvoir les retrouver par la suite. Comment ecrire ces bouts de phrases pour y injecter en memoire eeprom par la suite avec mon programmateur ou apres un bootloader (si possible) (car y'a conversion en hexa avant, non?)? Je ne sais plus comment ca fonctionne... jamais tenté...
 
MERCI BCQ :)


Message édité par aceditnanar le 10-10-2008 à 23:47:55

---------------
"Il faudrait construire des asiles de cons, mais vous imaginez la taille des batiments.." - André Dussolier, (Tais-Toi !!!)
Reply

Marsh Posté le 10-10-2008 à 23:45:48   

Reply

Marsh Posté le 12-10-2008 à 21:07:14    

anybody?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed