Bonjour à tous,
J'ai un petit projet perso (plus pour le fun que pour l'utilité pratique) de faire un petit générateur basse fréquence complètement numérique à base d'Arduino. Comme tout est numérique, le gain est piloté par un digipot MCP41050 (50k, 5V).
J'ai "presque" la théorie, mais j'ai la mauvaise habitude que rien ne marche dans la pratique. Mes questions :
- J'ai de griller le digipot avec une tension négative. C'est le cas dans mon schéma. Est-ce qu'un autre montage me permettrait de mieux utiliser le digipot ? (sommateur non-inverseur ?)
- Je n'ai pas l'impression que ma série d'AOP soit bien optimisée. Peut-être quelqu'un connait-il une astuce pour en enlever 1 ou 2 ?
- Dans le même AOP, est-ce possible d'amplifier une tension au-delà de Vcc et de lui ajouter une tension négative pour la réduire dans un montage sommateur ?
Merci à ceux et celles qui prendrons quelques minutes pour lire ma problématique et tenter de répondes à mes interrogations (même si elles peuvent paraitre un peu bête).
----------------------------------------------------------
Voici mon projet et les détails qui peuvent avoir leur importance :
Objectif
Le but de ce montage est de générer un signal périodique contrôlé numériquement par arduino. Ce signal possède 4 caractéristiques : une forme sinusoïdale, en créneau ou triangulaire, une fréquence comprise entre 1Hz et 30MHz (doc du AD9833), une amplitude max de 24V et un Offset compris entre -12V et 12V.
L'avantage de tout contrôler avec l'Arduino, c'est le fun de ne pas utiliser un potar mécanique entre +12V et -12V pour l'Offset, la répétabilité, la possibilité d'intégrer une correction des valeurs affichées sur l'écran ou inversement, de corriger la consignes via une calibration initiale. Pour utiliser le mini GBF sans passer par la case Oscilloscope.
Après, puisque rien n'est parfait, je risque plutôt d'avoir un signal entre ±10V. Pour la précision, je vise les 0.05V puisque l'amplitude et l'offset sont chacun réglables sur 256 bits.
Composants
- L' alimentation : fournit du +12V, du -12V et du 5V (à base de régulateurs 78XX et 79XX).
- L'Arduino Nano : est le cerveau du projet
- L'Ecran Oled ST7789 : Donne toutes les informations sur les paramètres de réglage du système
- Le codeur/switch : Permet à l'utilisateur d'interagir sur les paramètres du signal (Type (sinus, créneau, triangle), Amplitude, Offset)
- Digipots MCP41050 : entre 35kΩ et 65kΩ, ne supporte pas plus de 5V entre ses bornes. Se connecte en SPI.
- Un synthétiseur de signal AD9833 : génère un signal dont la fréquence et la forme sont pilotable via un bus SPI
- Boitier en impression 3D. (Géométrie encore non définie)
Principe de fonctionnement
(L'ordre des AOP dépend des N° du schéma ci-dessus)
- Un synthétiseur AD9833 génère le signal entre 0 et 0,6V
- Ce signal est amplifié dans le 1er AOP. Le Gain est géré par le digipot. En sortie, la tension est sensée être entre -1,11V/0V
- Le 2e AOP ramène le signal autour de 0V. L'offset est géré par une sortie PWM arduino lissé par un filtre passe bas.
- Le 3e AOP amplifie définitivement le signal entre -12V et 12V au max. Gain total = G1xG2 sachant que G1 est géré par l'AOP1
- Le 4e AOP réalise l'offset du signal en l'additionnant avec une tension entre -15V et +12V
- Le 5e AOP transforme le signal PWM 0V/5V de l'arduino en -12V/12V pour l'Offset final.
-----