Bonjour à tous,
Pour vous donner un peu de contexte, je suis en train de reproduire un lévitateur acoustique , en suivant ce tutoriel : ( Acoustic Levitator : 27 Steps (with Pictures) - Instructables.
Les premiers tests ont bien fonctionné, ce qui m’a motivé à aller plus loin. Mon objectif actuel est de contrôler la tension d’alimentation (entre 6V et 12V) à l’aide d’un potentiomètre, avec deux fonctions distinctes (mais jamais simultanées) :
-lorsque j'active un switch il doit me permetre de deplacer l'objet en levitation
-Sinon, il doit me permettre de modifier la voltage de mon alimentation
Là où je bloque, c’est sur la partie contrôle de l’alimentation via Arduino. J’ai pensé utiliser un module LM2596, retirer son potentiomètre mécanique, et le remplacer par un *potentiomètre numérique DS3502.
En l'apparence, l'idée me semblait bonne, mais dans la pratique ca ne marche pas... Pourtant, quand je branche pas le ds3502 avec le lm2596 je parvient bien a faire varier la tension à la sorti RW du ds3502 via un potentiomètre... Mais des que je branche le tout (l'image), la tension reste à 12v, elle ne change jamais.
Pour être honnête, je ne sais pas ce qui ne fonctionne pas. Pourtant, le code tourne correctement, et les câblages me semblent corrects. Peut-être qu’il existe des modules permettant d’ajuster une tension via Arduino, mais je n’en trouve pas.
D’ailleurs, selon mes estimations (qui restent approximatives), mon lévitateur devrait consommer au maximum 2 A une fois tous les éléments branchés : transducteurs, écran, etc.
Pour information, je n’ai découvert l’électronique qu’il y a 2 ou 3 ans, donc je vous remercie de rester simple dans vos explications.
le code que j'utulise pour tester mon systéme:
#include <Adafruit_DS3502.h>
Adafruit_DS3502 ds3502 = Adafruit_DS3502();
/* For this example, make the following connections:
* DS3502 RH to 5V
* DS3502 RL to GND
* DS3502 RW to the pin specified by WIPER_VALUE_PIN
*/
const int m_pot=A6;
float v_requested=0;
unsigned int d_pot_pos=0;
void setup() {
Serial.begin(9600);
pinMode(m_pot, INPUT);
while (!Serial) delay(10);
if (!ds3502.begin()) {
Serial.println("Erreur : DS3502 non détecté !");
while (1);
}
Serial.println("DS3502 détecté.");
}
void loop() {
v_requested = 6.0 + (analogRead(m_pot) / 1023.0) * (12.0 - 6.0);
d_pot_pos= (v_requested*127)/12;
Serial.println("Wiper voltage with wiper set to");
Serial.print(v_requested);
ds3502.setWiper(d_pot_pos);
}

