F.Omenal a dit:
salut,
je me demandait si, avec ton montage et un pic un poil plus couillu on peut envisager un pid embarquer (j'ai déjà fait des pid avec un 16f mais jamais sur un petit 12f)
est ce que tu as une idée du temps de latence de l'ensemble (acquisition de la vitesse, transfert vers mach3, régulation, et retour pour le pilotage)? car cela joue énormément sur un pid.
vue que pour l'instant, j'ai pas trop de moyen pour ma broche brushless, et que ma défonceuse marche bien, je me disait que ton systeme était vraiment un bon compromis en attendant.
Une autre question aussi, j'ai lue quelque part que tu avait fait une table de conversion pour avoir quelque chose de linéaire, tu peut la publier? ou tu préfère pas.
une dernière question, j'ai vue que tu réalisait l'acquisition du signal de synchro en simple alternance, tu réalise donc ta commande aussi en simple alternance ou du fait une tempo pour la faire en double?
Merci encore en tout cas pour ce montage simple et fonctionnel.
Bon comment qu'il marche ce circuit ???
En fait c'est très simple :
1) le 220V entre dans le PIC via les deux résistances de 150k qui allument et éteignent la led de l'optocoupleur. En repérant les fronts montants et descendants on peut détecter le passage à 0 de l'onde secteur.
2) A partir de là le triac est déclenché sur un retard T dépendant de la consigne "Step" de Mach3 (simple boucle d'attente pour déclencher la gâchette de l'opto diac).
3) je me suis réservé 1ms en fin d'alternance pour mesurer la consigne "la durée du step". C'est pour ça que j'ai une fréquence de step bien précise à respecter... Je ne peux pas me permettre de prendre des durées longues sinon je pénaliserais le retard max atteignable. Actuellement 1ms en fin de chaque 1/2 alternance est dans la zone où le moteur serait de toute façon arrêté s'il n'était alimenté que sur si peu de tension...
Le PIC 12F675 travaille à 4MHz mais ce n'est pas sa fréquence maxi (avec un quartz on peut le monter à 20MHz). Mais ça serait du luxe
car de toute façon avec mon design ça ne changerait rien !
Pour arriver à faire le calcul du PID dans le PIC il y a deux solutions :
1) travailler avec des interruptions pour éviter de passer du temps à attendre
2) utiliser la zone de 1ms en fin de première demi alternance pour faire des calculs
3) Enfin, il faudrait reboucler la sortie "tachy out" sur l'entrée libre du PIC (GP03) car actuellement le comparateur du PIC travaille en mode "externe au PIC" pour remettre en forme le signal du phototransistor. Il ne sollicite pas la CPU du PIC mais du coup le tachymètre n'est pas connu du PIC (pas de connaissance de la vitesse réelle
)
Bon en résumé ça me paraît faisable de faire le calcul du PID en interne au PIC. Mais ça sera difficile de rendre les réglages accessibles à l'utilisateur... (plus assez de pattes libres sur le PIC
!)
Pour ce qui est de la table de conversion, je l'ai faite de façon empirique en mesurant la vitesse réelle de ma broche en connaissant la consigne (fréquence de step de Mach3) puis en inversant les courbes. Je l'ai déjà publiée deux pages avant.