Les contraintes donnés ont rendu quasi obligatoire l'usage
du PIC 16F877.
Mais soyons bien clair, chaque problème à sa solution
propre. Avec Nikoro il fallait un 16F877 (15 Euro chez selectronic),
mais d'autre type d'asservissements, d'autres vitesses, pourront
fonctionner avec un PIC plus petit, ou même nécessiter
un PIC plus puissant.
Une forte contrainte est de pouvoir gérer 2 PID en même
temps. Vu la vitesse des impulsions des comptes-tour, il faut allors
2 timers/compteur hardware sur le PIC. Ce qu'a le 16F877, et un
troisième timer pour le PWM. Car il faut aussi gerer 2 PWM.
Le 16F877 les gèrent en harware, ce qui simplifie énormément
le processus. Mais un autre PIC comme le 16F628 a 20Mhz (un 16F84
plus puissant -et moins cher- 5.5 Euro chez selectronic, DIP 18)
pourrait facilement gerer un seul PID.
Concernant la vitesse, les 20Mhz du 16F877 suffisent pour le comptage
des tours dans l'exemple ici. Pour une vitesse bien plus rapide,
un PIC a 40Mhz (il commence a y en avoir) peut être necessaire.
Pour une vitesse 2 fois plus lente, un 10Mhz suffit, logique !
Sur les E/S : Il en faut énormement pour gérer les
2 compteurs, les 2 moteurs, la communication, etc ...
Et le 16F877 avec ses 40 I/O suffit mais juste (voir ci dessous).
Avec un seul PWM on peut bien sur prendre un PIC plus petit, comme
le 16F628. Mais le 16F876 peut aussi faire l'affaire.
Autre limitation, il faut des E/S specialisées dans la communications
pour faire l'interface. Une liaison série ou I2C peuvent
se gerer logiciellement, mais ca complique évidemment pas
mal le problème du PID à faire en même temps.
Le 16F877 gère ces interfaces en harware. Pas de poblème
donc à ce niveau la. Il peut aussi gerer une communication
data 8 bit comme pour un bus ISA (et donc facilement etre monté
sur un tel bus, qu'il soit en PC104 ou non). Si on peut se passer
de ce dernier apport, on peut prendre un 16F876 (12 Euros, DIP 28)
à la place du 877.
Reste maintenant le cas du 18F452 (15 Euros). Un nouveau PIC programmable
en C directement , plus puissant que le 16F877 (équivalent
40Mhz) et qui a, si je ne me trompe pas, tous les E/S du 16F877
(DIP 40). En fait si ce PIC existait quand j'ai commencé
ce projet, je l'aurais certainement pris lui à la place du
877. Mais je ferais peut-être une adaptation, qui je l'espère
sera rapide :-)
Les prix viennent du catalogue Selectronic 2003, et sont là
pour information.
|