Encre Résistive DIY (2)
Voilà, maintenant que nous avons une bonne piste résistive, il nous faut explorer plus avant les possibilités de son exploitation… deux options s’offrent à nous.
Objectif: lire la position 0–100 % d’une piste résistive (≈10–20 kΩ sur 50 cm) avec un microcontrôleur. Deux variantes:
- Sans LM358: diviseur simple → 0–3,3 V.
- Avec LM358: excitation à ~2,0 V + suiveur → source basse impédance, propre pour ADC.
Note: L’ADC est supposé référencé à 3,3 V.
Variante 1 — Sans LM358 (diviseur simple)
Principe: on alimente la piste en 3,3 V; le wiper est un diviseur ratiométrique → Vwiper ∈ [0; 3,3 V], directement proportionnel à la position.
Schéma
1 | 3V3 ────────────────┐ |
- Impédance source au milieu ≈ R/4 ≈ 2,5–5 kΩ: OK pour la plupart des ADC.
- Rprot 1 kΩ + C 100–220 nF: filtrage anti‑bruit, protège l’ADC.
- Diodes clamp (option): vers 3V3 et GND si environnement bruyant.
Calcul position
- p (0..1) ≈ Vwiper / 3,3 V
- En comptages ADC: p ≈ ADC_count / ADC_full_scale
Avantages
- Minimal, pleine échelle 0–3,3 V, très peu de composants.
Variante 2 — Avec LM358 (excitation 2,0 V + suiveur)
Pourquoi: le LM358 n’est pas rail‑to‑rail en sortie à 3,3 V (sature vers ~2,1–2,2 V). Pour couvrir 0–100 % proprement, on excite la piste à ~2,0 V (dans la zone “safe” du LM358), puis on bufferise le wiper.
Topologie (LM358P DIP‑8, dual)
- Canal A: génère et bufferise Vexc ≈ 1,98 V à partir de 3,3 V.
- Canal B: suiveur (buffer) du wiper → ADC.
Schéma
1 | Rtop 10k |
Remarques
- Vexc par 10k/15k donne ~1,98 V; le canal A le bufferise pour une source basse impédance.
- Le canal B peut suivre le wiper jusqu’à ~1,9–2,0 V sans saturer, parfait pour l’ADC si vous réglez sa pleine échelle proche de 2,0–2,2 V (si disponible). Sinon, on corrige par logiciel.
Calcul position
- p (0..1) = Vwiper / Vexc
- Avec ADC référencé à 3,3 V: p = (ADC_count / ADC_full_scale) × (3,3 V / Vexc)
- Exemple avec Vexc ≈ 1,98 V: facteur ≈ 3,3 / 1,98 ≈ 1,667
- Clippez p entre 0 et 1.
Avantages
- Source très basse impédance (meilleure linéarité/rapidité ADC).
- Pleine échelle contrôlée et compatible headroom LM358.
Note alternative
- Si votre ADC offre une pleine échelle ~2,2 V (p. ex. “atténuation 6 dB”), vous pouvez aussi exciter la piste à ~2,1–2,2 V (Rtop:Rbot = 1:2), et lire directement sans correction (p ≈ ADC/FS_2V2).
Choix rapide
- Vous voulez simple et pleine échelle 3,3 V: Variante 1.
- Vous voulez un signal “propre” et robuste (longs câbles, bruit) avec votre LM358: Variante 2 (Vexc ≈ 2,0 V + buffers).
Conseils pratiques
- Placez C 100–220 nF au plus près de la broche ADC.
- Gardez des masses propres et un plan GND sous la zone analogique.
- Calibrez deux points (0 % et 100 %) en logiciel pour corriger les tolérances mécaniques/recette d’encre.
- Courant dans la piste (Variante 2): I ≈ Vexc / R_piste ≈ 1,98 V / (10–20 kΩ) ≈ 0,10–0,20 mA → puissance négligeable.
Exemples de calcul (pseudo‑code)
Sans LM358 (3,3 V pleine échelle):
1 | float p = (float)adc / (float)ADC_FULL_SCALE; // 0..1 |
Avec LM358 (Vexc ≈ 1.98 V, ADC ref 3.3 V):
1 | const float VrefADC = 3.3f; |