Rangement dans les dossiers
This commit is contained in:
94
_circuit/RepaCarerra.md
Normal file
94
_circuit/RepaCarerra.md
Normal file
@@ -0,0 +1,94 @@
|
||||
## Principes de base
|
||||
|
||||
Un circuit de voitures Carrera comporte des manettes et un circuit de contrôle électronique de la tension par voie. Ce contrôleur est HS sur notre circuit et à besoin d'un remplacement.
|
||||
|
||||
Le controleur ci dessous est la carte d'origine, je l'ai volontairement coupée en plusieurs endroits pour mes essais afin de me connecter sur les pistes pour les télécommandes.
|
||||
|
||||

|
||||
|
||||
Les contrôleurs de télécommande sont des résistances variables ayant pour valeurs :
|
||||
- 11.45 kO la gâchette relâchée
|
||||
- 0.840 kO la gâchette enfoncée
|
||||
- 13 Ohms me bouton "turbo" pressé
|
||||
|
||||
Une idée tentante est de refaire un circuit simple avec des convertisseurs DCDC accessibles pour remplacer le circuit original. Si on part sur une base à régulateurs LM2596HVS ADJ qui sont de petits DCDC variables, voilà le schéma de référence de la datasheet de ce composant :
|
||||

|
||||
|
||||
Le problème est que pour la majorité de ces convertisseurs :
|
||||
- Il y a un minimum de sortie de 1V
|
||||
- La régulation n'est pas linéaire, donc certaines zones de pression de la télécommande auront + d'influence que d'autres.
|
||||
## Réalisation d'un maquette
|
||||
|
||||
Pour valider un concept de réparation, j'ai pris ce que j'avais dans les tiroirs :
|
||||
- Un LM298N
|
||||
- Un Arduino Nano
|
||||
|
||||

|
||||
|
||||
L'idée est de créer un générateur de PWM, en fonction de la résistance de la manette, le signal électrique appliqué aux voitures sera + ou moins long. Ici on applique pas le PWM à une LED mais à des moteurs donc sur la maquette on utilise le L298N comme pont de puissance.
|
||||
|
||||

|
||||
|
||||
Je n'ai pas besoin du point en H car mes moteurs ne vont pas dans les deux sens, on utilise donc qu'une seule sortie du module comportant le L298N. Sur l'image ci-dessous, je câble les rails du circuit sur la sortie "DC Motor 1" et j'utilise uniquement l'entrée INA
|
||||
|
||||

|
||||
Pour créer un PWM le code Arduino suivant va s'occuper de :
|
||||
- Lire une tension d'entrée analogique (+5V vers pont diviseur 11k de la télécommande avec une résistance de 1k à la masse)
|
||||
- Générer un PWM de sortie
|
||||
|
||||
```
|
||||
// High-frequency PWM using Timer2 on pins 3 & 11 (31 kHz)
|
||||
const int pwmPin1 = 11; // OC2B
|
||||
const int pwmPin2 = 3; // OC2A
|
||||
const int analogPin1 = A0;
|
||||
const int analogPin2 = A1;
|
||||
|
||||
void setup() {
|
||||
pinMode(pwmPin1, OUTPUT);
|
||||
pinMode(pwmPin2, OUTPUT);
|
||||
|
||||
// ----- Timer2 Fast PWM (8-bit), no prescaler -----
|
||||
TCCR2A = _BV(WGM20) | _BV(WGM21) | _BV(COM2A1) | _BV(COM2B1);
|
||||
TCCR2B = _BV(CS20); // No prescaler → 31.37 kHz
|
||||
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
int adc1 = analogRead(analogPin1);
|
||||
int adc2 = analogRead(analogPin2);
|
||||
|
||||
if (adc1 <= 100){ // pour éteindre lorsque la télécomande est relachée
|
||||
adc1 = 0;}
|
||||
if (adc2 <= 100){ // pour éteindre lorsque la télécomande est relachée
|
||||
adc2 = 0;}
|
||||
|
||||
uint8_t pwm1 = map(adc1, 0, 1023, 0, 255);
|
||||
uint8_t pwm2 = map(adc2, 0, 1023, 0, 255);
|
||||
|
||||
OCR2B = pwm2; // Pin 3
|
||||
OCR2A = pwm2; // Pin 11
|
||||
}
|
||||
```
|
||||
|
||||
Et voici le signal de sortie :
|
||||
|
||||

|
||||
|
||||
Etant donné que ca fonctionne et que c'est simple il reste à miniaturiser la chose pour que cela puisse rentrer à nouveau dans le circuit originel.
|
||||
|
||||
Pour miniaturiser le concept va retenir :
|
||||
- L'utilisation d'un Atmega328p et son quartz a 16Mhz programmé avec le code Arduino
|
||||
- Deux petits Mosfet 1A qui vont faire pont de puissance vers les moteurs
|
||||
- Des diodes de roues libre autour des moteurs pour ne pas claquer les Mosfets
|
||||
- Un port JTAG pour reprogrammer au besoin le processeur.
|
||||
|
||||

|
||||
|
||||
Le PCB sur lequel seront soudés les composants et qui reprends les pistes pour les télécommandes et le raccordement de puissance d'origine.
|
||||
|
||||

|
||||
|
||||
Et la commande qui arrivera bientôt :
|
||||
|
||||

|
||||
Reference in New Issue
Block a user