logo_PLG

Electronique

Contrôleur VCF pour générateur de fonctions

DSC 13432 [320x356px] ombre

Quel intérêt me direz-vous ?
A quoi cela peut-t'il bien servir ?

La réponse est fort simple, enfin... peut-être pas tant que cela en fin de compte...
Si votre générateur est équipé d'une entrée [VCF1], alors vous allez pouvoir le piloter très finement par exemple à l'aide d'un systéme à micro-contrôelur équipé d'un convertisseur DAC (Digtal Analogic Converter), en clair un convertisseur numérique/analogique.
Il va sans dire que si votre GBF ne possède pas cette entrée VCF, alors cet accessoire ne vous sera d'aucune utilité !

 

En fait le principe, c'est de régler la fréquence de base de son générateur normalement, avec les boutons qui lui sont associés, puis de régler finement cette fréquence avec le concours de notre interface VCF.

Habituellement, certains micro-contrôleurs disposent déjà en interne d'un tel convertisseur... oui, mais sur 10 bits, ce qui nous donne une résolution de 1024 pas différents pour par exemple faire évoluer une tension de 0V à +5V. Si l'on divise 5000(mV) par 1024, on obtient la valeur de 4,8828125E0 ce qui nous donne une tension de 4,88mV/pas. C'est peu et pas très précis pour notre générateur.

Nous allons lui faire un cadeau ! un convertisseur externe qui convertit sur 12 bits, soit 4096 pas de résolution. Cela change tout, car pour commander le générateur avec son entrée VCF, il lui faut justement une tension comprise entre 0V et +5V, et là, nous allons le faire sur 4096 pas (ou échelons...).
Je ne vous dis pas le confort !

Lors des essais sur mon générateur, je me suis aperçu que pour une fréquence donnée, dès l'application d'une tension VCF de +5V, cette fréquence venait pratiquement à doubler ! On peut ainsi passer du simple au double (ou presque, cela dépend tout de même des caratéristiques de votre GBF... le mien passe de 2000MHz à ~2935MHz maxi...) de notre fréquence de base par pas de 1 millième de volt près !!! Vous entrevoyez un peu mieux son intérêt ?
Enfin, ce n'est pas tout à fait vrai, en fait si l'on divise 5000(mV) par 4096, on obtient la valeur de 1,220703125E0 ce qui nous donne une tension de 1,22mV/pas. L'écart est donc relativement minime entre cette valeur et 1mV !

executable  INFOS PROJET
  Types de composants : Traversants
  Niveau : ◆◆◇◇◇
  Temps de construction : 2 à 3 h
  Coût : env. 57 €

La programmation

Le processeur est livré pré-programmé avec un bootloader de chez mikroElektronika, ce qui me permet toutes les fantaisies pour modifier simplement et très rapidement (115200 bauds/s) mon programme via le port USB. J'ai utilisé pour ce faire la suite logicielle mikroC incluant tous les outils nécessaires pour mener à bien mon projet.

Attention toutefois, mon logiciel utilisant 4680 octets de la ROM du micro-contrôleur, vous ne pourrez pas le modifiez à votre guise sans acheter la licence mikroC PRO. La version libre est limitée à 2K octets.

Du projet à la conception

DSC 12788 [320x250px]J'ai conçu le mien sur une base de chez MikroElektronika, la "Ready for PIC" équipée d'un micro-contrôleur PIC18F25K22 (DIP28) fonctionnant à la fréquence d'horloge de 32MHz, autant vous dire que çà réagit vite !
Il est bien évidemment possible d'utiliser d'autres processesseurs (en DIP28 ou DIP40 et à condition de revoir les bits d'option...),  mais c'est avec le PIC18F25K22 que j'obtiens le meilleur fonctionnement.
Le convertisseur 12 bits est un MCP4921 de chez Microchip. J'ai ajouté un afficheur LCD 2x16 caractères rétro-éclairé (dont la luminosité varie en fonction de la lumière ambiante grace à une cellule LDR pilotée via un port PWM), 5 boutons poussoirs sub-miniatures qui permettent d'ajuster la tension de sortie du DAC ainsi que la vitesse de défilement (incrémentation/décrémentation) entre chaque pas, et en prime, comme j'en avais marre de régler tous les matins ma tension VCF lors de la conception de l'une de mes applications personnelles, j'ai prévu la sauvegarde de la dernière valeur VCF dans la mémoire interne du micro-contrôleur. A chaque fois que vous modifiez la valeur VCF, celle-ci est aussitôt stockée en mémoire. En cas de coupure de l'alimentation et même après reprogrammation, la dernière valeur ainsi stockée réapparaît aussitôt. Super confortable !

 

 

 

 

La version "proto" achevée

DSC 0017 [350x197px]Ceci est en effet la fin de mon projet utilisant une carte de développement comme platine principale.
Je suis en cours d'étude et de DAO sous Eagle v7.0 d'une platine principale "minimaliste", c'est à dire avec le strict nécessaire. Cette carte ne serait composée que de composants CMS, je suis en cours de recherche de composants à des prix abordables. Cependant, il faut intégrer les coûts de fabrication de la nouvelle carte (double face, trous métallisés et sérigraphie...), ainsi que des frais de ports. J'ignore donc au jour d'aujourd'hui (11 septembre 2014) quelle solution serait la plus rentable... sujet à suivre donc...

→ Au jour d'aujourd'hui (7 décembre 2015) et après maintes recherches, il s'avère que le coût final ne serait sûrement pas inférieur comparativement à cette carte "Ready for PIC" ($29 chez mikroElektronika hors frais de ports), sauf si bien entendu l'on en faisait fabriquer plusieurs dizaines...
mais je ne tiens pas commerce !
Ceci reste du développement personnel, que bien sûr tout un chacun peut exploiter selon ses idées et ses moyens tant techniques que financiers.

 

 

 

L'alimentation

Le Contrôleur VCF peut être alimenté indifféremment avec une tension comprise entre 9-32V DC ou une tension comprise entre 7-23V AC.
Alimenté sous 12V DC, la consommation en mode de fonctionnement ne dépasse pas 40mA.

La mise en coffret et la déco de la face avant

Pour la mise en boîte de ce nouvel outil, j'ai utilisé le coffret distribué par mikroElektronika (Référence : MIKROE-1350), et effectué la découpe (parfois hasardeuse...) à l'aide de mon fidèle Dremel.
La face avant quant à elle a reçu une sérigraphie sur papier autocollant en aluminium de chez 3M (Référence : 3031) que je m'étais procuré chez Selectonic (magasin aujourd'hui disparu), que j'ai imprimée avec mon imprimante laser.
Cela lui confère ainsi une présentation plus "professionnelle"...

Quelques autres photos de mon prototype

DSC 13446 [140x94px] DSC 13448 [140x94px] DSC 13449 [140x94px] DSC 13452 [140x94px] DSC 13453 [140x94px]
DSC 13450 [140x145px] DSC 13451 [140x146px]      

 Note (17 août 2014) :
Afin de tenter de baisser le prix de revient relativement élevé (>90€ actuellement...) de mon prototype basé sur une carte de développement très bien équipée (trop peut-être ?), je suis en train de redessiner le schéma ainsi que le PCB (sous Eagle v7.0...), en utilisant au maximum des composants CMS afin de réduire aussi les dimensions des circuits imprimés, et en ne mettant que ce qui est strictement nécessaire. L'interface USB risque donc fort bien de disparaître, la programmation du micro-contrôleur se faisant alors uniquement en mode ICSP.

 Note (20 janvier 2015) :
J'ai enfin terminé le routage de la carte principale comportant des composant CMS sauf en ce qui concerne le micro-contrôleur PIC18F25K22 et le convertisseur MCP4921 que j'ai conservé en série DIP. A noter que j'ai dessiné cette nouvelle carte sous Eagle v7.2 avec licence (Hobbyist and Education ), ses dimensions étant de 113,3 x 86,4 mm. Je rappelle pour mémoire que la version Light de Eagle ne permet de router que des cartes ne dépassant pas 100 x 80mm. J'ai dessiné la carte pour un boitier Hammond type 1591GGY (COFFRET ABS GRIS 121X94X34)


Package comprenant : save f2
Logiciel écrit en langage mikroC (source et exécutable)
Schéma de principe (sans PCB) sous Eagle v6.5.0
Schéma de principe avec PCB et les images des différents layers sous Eagle v7.2.0

 


  1. VCFVoltage Control Frequency (contrôle de la fréquence par une tension)

Quelques liens vers les sites de mes amis...

Licence Creative Commons

 Licence CC BY NC SA 3.0 FR DEED L'ensemble de ce site hormis une notification spécifique est mis
à  disposition selon les termes de la Licence Creative Commons
Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions
3.0 France.
Licence Creative Commons