Simulation de la lévitation de l'eau sur Arduino



Bonsoir Dans cette publication, je parlerai de mon produit fait maison, que je planifie depuis longtemps. Mais mis en œuvre seulement maintenant.

J'ai vu cet effet pour la première fois dans l'enfance. On m'a demandé d'aider, de tenir et de briller avec un stroboscope de voiture sur le volant du moteur de la voiture. Le moteur a démarré et après cela, j'ai vu sur le volant rotatif, une encoche presque non mobile, qui se tenait à un endroit, tandis que le volant tournait. Après quoi l'idée est née de faire un éventail et de l'arrêter avec un stroboscope. Après un certain temps, j'ai réalisé l'idée, sur la lampe IFK-120, le thyristor KU202 avec un cerclage, j'ai joué et je l'ai jeté dans le coin le plus éloigné, mais il y a environ 6 ans, j'ai vu une vidéo japonaise avec lévitation d'eau. L'idée est donc née de répéter cette astuce avec des gouttes de lévitation. Les mains n’ont pas atteint la réalisation pendant longtemps et finalement, le rêve est devenu réalité ...

Regardez la vidéo de ce que j'ai obtenu:




Comment ça marche


Il existe plusieurs vidéos sur YouTube dans lesquelles ils essaient de disséquer l'eau en gouttelettes s'écoulant d'un tuyau en silicone à l'aide d'un haut-parleur audio ou d'une tête dynamique. Mais cette méthode présente plusieurs inconvénients.

1 - encombrement de construction (colonne, amplificateur, générateur de fréquence, stroboscope)
2 - le haut-parleur basse fréquence ne peut pas reproduire le méandre, en raison de sa conception mécanique et à la sortie il se révèle être quelque chose comme une onde sinusoïdale. En conséquence, l'eau ne se coupe pas en gouttes, mais se tortille comme un serpent.
3 - Le générateur de fréquence devra à chaque fois s'adapter à la fréquence du stroboscope. La fréquence s'envolera.

Tout est simple et bon marché dans ma conception. Cette conception peut être répétée par n'importe qui, à la maison.

Cela fonctionne comme ceci:

Un stroboscope et un électroaimant d'un relais de voiture fonctionnent à la même fréquence. Un électroaimant brise le flux d'eau en gouttes et un stroboscope illumine ces gouttes à un certain point. Puisque les gouttes tombent avec une fréquence égale au stroboscope, l'effet des gouttelettes suspendues dans l'air est obtenu.

Schéma


J'avais les transistors KT972 à portée de main, alors je les ai installés. Vous pouvez fournir tous les autres transistors prévus pour une tension d'au moins 30 V et un courant d'au moins 2 A. Les résistances dans les bases des transistors limitent le courant à 40mA, afin de ne pas endommager la sortie du contrôleur. L'élément LED que j'ai utilisé provenait d'une vieille lampe LED défectueuse. Pour réduire la tension d'alimentation de l'élément à 24 V. J'ai divisé l'élément en deux parties, coupant une piste et parallélisant ces deux réseaux de LED. Étant donné que l'élément LED est alimenté par de courtes impulsions et que la tension d'alimentation est égale à la tension de chute sur les LED, je n'ai pas limité le courant. Une diode parallèle à l'électroaimant protège contre les émissions négatives de la bobine électromagnétique. Vous pouvez mettre une diode à partir de la même lampe LED démontée. L'électroaimant est constitué d'un relais de voiture. Le relais dont j'avais déjà été démonté, j'ai donc dû l'utiliser pour ce qu'il est. Si j'avais un relais qui fonctionnait, j'essaierais d'abord de connecter une baguette chinoise à l'ancre du relais. Pour fournir un espace entre l'aimant permanent et l'électro-aimant, vous pouvez mettre un morceau de mousse entre eux, ou déplacer le bâton avec l'aimant sur le côté. Comme je l'ai fait.



Composants utilisés dans le circuit:


Arduino nano - 1 pièce
Encodeur - 1 pc.
Carte de développement - 1 pc.
Ancienne lampe LED - 1 pc.
Transistor KT972 - 2 pièces
Relais automobile - 1pc.
Résistance 120 ohms - 2pcs

Détails du code Arduino


J'utilise Arduino Nano car j'en ai beaucoup et ils sont parfaitement installés sur la planche à pain. Mais vous pouvez utiliser absolument n'importe quel contrôleur Arduino et même Digispark. Le codeur utilise l'interruption INT1. Si vous tournez l'encodeur sans appuyer, la fréquence des flashs stroboscopiques et la fréquence de l'électro-aimant sont ajustées par incréments de 0,1 Hz. Si vous tournez en appuyant sur, la durée des flashs LED est réglée, pour les photographes, cela s'appelle le temps d'exposition. Dans ce cas, la fréquence ne change pas. J'ai connecté le contrôle de l'élément LED pour faciliter le débogage sur D13, mais vous pouvez changer toutes les broches de connexion à d'autres. Vous seul ne pouvez pas changer la broche D3 (INT1) de l'encodeur.

Croquis pour Arduino
//   #define CLK 3 // Clock   INT1,   #define DT 4 //    #define SW 5 // switch   #define led_pin 13 //   #define coil_pin A0 //  #define Min 1 //   #define Max 20000 //  #define step_freq 1 //     0,1 #define step_freq_rough 10 //     1 #define step_timelght 100 //     volatile int freq = 250; //      10,     volatile uint32_t paus, time_light=2000; //        uint32_t oldcount; boolean DT_last; //    void setup() { pinMode(CLK,INPUT_PULLUP); // Clock   INT1,   pinMode(DT, INPUT_PULLUP); //    pinMode(SW, INPUT_PULLUP); //   pinMode(led_pin, OUTPUT); //   pinMode(coil_pin, OUTPUT); attachInterrupt(1, encoderTick, CHANGE); //    DT_last = digitalRead(CLK); //   CLK Serial.begin(115200); //   } void loop() { paus=5000000/freq; digitalWrite(coil_pin, 1); digitalWrite(led_pin, 1); oldcount = micros(); while( (micros() - oldcount) < time_light){} //    digitalWrite(led_pin, 0); while( (micros() - oldcount) < paus){} //   digitalWrite(coil_pin, 0); oldcount = micros(); while( (micros() - oldcount) < paus){} //  } //********************  ******************************* void encoderTick() { uint8_t DT_now = digitalRead(CLK); //    CLK if (DT_now != DT_last && digitalRead(SW)) //       ,    { if (digitalRead(DT) != DT_now) //  DT   CLK,      { if( freq < Max ) freq += step_freq; //  } else { //  DT  CLK,     if( freq > Min ) freq -= step_freq; //  } } else if (DT_now != DT_last && !digitalRead(SW)) //      { if (digitalRead(DT) != DT_now) //  DT   CLK,      { if( time_light < paus ) { time_light += step_timelght; } //   } else if( time_light > 0 ) time_light -= step_timelght; //    / } DT_last = DT_now; //   CLK    } 



Réglage du Levitron


Le réglage principal consiste à régler le débit d'eau. Il est nécessaire d'ajuster le débit d'eau afin que l'électro-aimant puisse briser de manière stable le débit d'eau en gouttes. Je pense que c'est très simple et vous comprendrez immédiatement visuellement où se trouve le juste milieu. Réglez également la fréquence du flash stroboscopique pour qu'elle soit plus confortable pour vos yeux. La fréquence du flash affecte
la distance entre les gouttes, et si les gouttes commencent à se casser sans synchronisation, alors reconstruisez le débit d'eau. Si vous souhaitez filmer une vidéo sur un appareil photo, vous devez régler le stroboscope sur la fréquence de la caméra afin qu'il n'y ait pas de scintillement sur la caméra

Et ensuite?
J'ai l'intention d'acheter une pompe à impulsion et, sur sa base, de faire léviter la pluie d'une pomme de douche. Il y aura donc un autre petit article et une vidéo sur le thème «La lévitation de l'eau»
Abonnez-vous pour ne pas manquer un nouvel article et une nouvelle vidéo.

Posez des questions, ne soyez pas timide.
Je serai heureux de leur répondre

Source: https://habr.com/ru/post/fr411221/


All Articles