En pratique, la photodiode diminue la tension électrique en fonction de l’augmentation de l’intensité lumineuse. En effet, les broches numériques de cette carte sont reliées à un circuit électronique qui sert d’intermédiaire entre la carte et le moteur : le pont en H. Pour faire varier la vitesse du moteur, la carte Arduino utilise le vitesse du moteur en fonction de la fréquence des pulsations. Nous exprimerons la vitesse du moteur en tours par minute, bien qu’il soit possible de l’exprimer d’autres façons (tours par seconde, mètres par secondes, kilomètre par heure …). Le schéma de puissance est constitué principalement d'un sectionneur, de deux contacteurs équipés d'inter. Ainsi, ce qui nous importe le plus est de savoir quelle valeur de tension permet de distinguer très précisément la tension de la photodiode non éclairée à la tension de la photodiode éclairée (nous avons donc à séparer deux cas).

Il permet de tester rapidement le servomoteur en faisant balayage angulaire dans un sens puis dans l'autre Accueil > Domotique > L293D pour moteur DC et Arduino.

Vous pouvez changer la vitesse de rotation du moteur en changeant le fréquence (Fre= 1/DelayMs, voir le programme). - Une carte Arduino - Un pont en H L293D - Un moteur à courant continu 12V (de rapport de réduction 1/19) équipe d'une roue codeuse , dont on peut trouver les infos et la datasheet :en cliquant sur ce lien. A l’instar de la diode électroluminescente, la photodiode est un dipôle semi-conducteur, donc polarisé, qui à l’opposé de la DEL (qui transforme un signal électrique en signal lumineux), modifie un signal électrique en fonction d’un signal lumineux. Le fréquence de coupure d’un circuit électronique est la fréquence à partir de laquelle le gain du montage H(?) Le signal continu résultant est obtenu en faisant la moyenne des signaux sur une période donnée. Brancher un moteur continu DC et le faire tourner dans un sens pendant 5 secondes, l'arrêter pendant 2 secondes, puis le faire tourner dans l'autre sens pendant 5 secondes ; le tout à une vitesse de 200 sur 255 ; grâce à un module L298N. La mesure de la tension aux bornes de la résistance est indispensable pour connaître l’intensité électrique aux bornes du moteur et donc par conséquent, la puissance aux bornes du moteur.

D'après le datasheet la fréquence maximale est. Notre offset est donc de 2.5V. Les leds sont des sorties de la carte arduino, qui s’alument (couleur verte) quand le programme transmis par l’utilisateur, leur envoi un courant. Types de variables. Ces entrés agissent, via des résistances de capacités 150 ohms, sur la base de transistors PNP de modèle D45H11 que l’on nommera respectivement T1, T2, T3, T4 et qui servent à bloquer ou non l’alimentation électrique de 5V d’un générateur externe de tension continue qui permet de faire tourner le moteur MCC. Les caractéristiques du circuit sont les suivantes :  Les capacités de découplage sont aussi très utilisées en électronique tel que dans les ordinateurs où l’on peut facilement apercevoir des capacités de découplage tel que sur la carte mère d’un PC (photo ci-contre)  L’amplificateur LF356 est le composant électronique qui va nous servir à amplifier la tension de sortie VS en fonction des tensions d’entrés VE1 et VE2 dans l’amplificateur différentiel (voir partie suivante). Au regard du cahier des charges que l’on peut lire ci-dessus, nous avons pu définir une sorte de machine d’état de notre circuit. Il n’y a aucuns droits d’auteurs. Il s’agit là de la manière Le disque en carton ne comporte qu’un trou circulaire situé à bonne distance de l’arbre du moteur (environ 2cm) pour que le rayon lumineux transitant par ce trou puisse être détecté par la photodiode et que la différence de tension puisse être analysée suffisamment rapidement par la carte Arduino.

Par conséquent, le courant aux bornes du moteur MCC circule dans un seul sens et le moteur tourne dans un second sens. La carte Arduino est un circuit imprimé programmable, c’est-à-dire un circuit électronique auquel on peut transmettre une suite logique d’instructions à suivre et qui détermine son fonctionnement : le script. Nous n’utiliserons donc que les broches suivantes : •   INPUT 2 : La borne V- ? L’amplificateur différentiel fait aussi appel à quatre résistances dont nom détermineront la résistivité dans le prochain paragraphe. Création de la fonction d'asservissement.....9 5. = 2?f et f, la fréquence du circuit. (En effet, plus on échantillonne souvent et plus l'intégration et la dérivée seront précises). 54ons tint C1C4 = 3 ; 54ons tint C2C3 = 5 ; int vitesse = 8 ; int speed = 0; int state = 0; // Définit les valeurs utilisés par les 5 boutons int lcd_key     = 0; int adc_key_in  = 0; #define RIGHT  0 // Lecture des boutons (tous regroupés sur le Pin Analog A0) int read_LCD_buttons() adc_key_in = analogRead(0) ;      // Lit la valeur depuis le capteur sur A0 // les boutons sont centés sur vces valeurs : 0, 144, 329, 504, 741 // On ajoute environ 50 à ces valeurs et on vérifie si on est proche if (adc_key_in > 1000) return NONE ; // On définit cela en première option pour des raisons de vitesse car c’est l’option la plus probable // For V1.1 us this threshold if (adc_key_in < 50)   return RIGHT;   if (adc_key_in //---------------- Configuration des broches en entrées sorties ----------- Serial.begin(9600);//Port série   pinMode(C1C4, OUTPUT);   pinMode(C2C3, OUTPUT); //Lance la librairie (16 caractères x 2 lignes)     lcd.begin( 16, 2 ) ;  //    //lcd.setCursor(x,y) ; permet de positionner le curseur sur le caractère x de la ligue y    lcd.setCursor( 0, 0 ) ; //En haut à gauche (première colone, première ligne)    lcd.print(« vitesse : « ) ;//Afficher le message vitesse en haut à gauche de l’écran     lcd.setCursor(0,1) ;// En bas en début de deuxième ligne (première colonne, deuxième ligne)    lcd.print(« tension : ») ;    afficheVitesse(1) ; lcd_key = read_LCD_buttons();  // lire le bouton appuyé Serial.println(analogRead(voltage*(5/2*1023))); switch (lcd_key)      // Selon le bouton choisit on effectue une action //Serial.println(“bouton droit”);        augmenteVitesse() ;       // Serial.println(« on augmente la vitesse »+vitesse) ;       // Serial.println(« on augmente la vitesse »+vitesse) ;   //Si C1 et C4 sont à l’état HAUT alors on met au niveau BAS C2 et C3 //Serial.println(vitesse) ;          speed = map(vitesse,0,9,0,255) ;          //Serial.print(“speed = “);          //Serial.println(speed);          digitalWrite(C2C3, HIGH); //Serial.println(C2C3);          analogWrite(C1C4, speed); {//Si C1 et C4 sont à l’état HAUT alors on met au niveau BAS C2 et C3 Serial.println(vitesse);          speed = map(vitesse,0,9,0,255); digitalWrite(C1C4, HIGH);          analogWrite(C2C3, speed) ; {   while(vitesse != 9){         vitesse ++;               if (state==1){                     speed = map(vitesse,0,9,0,255); analogWrite(C1C4, speed) ;//On arrête le moteur si on est en tourneDroit                     digitalWrite(C2C3, HIGH) ;//On arrête le moteur si on est en tourneGauche                 }               else {                     speed = map(vitesse,0,9,0,255) ; digitalWrite(C1C4, HIGH) ;//On arrête le moteur si on est en tourneDroit                     analogWrite(C2C3, speed) ;//On arrête le moteur si on est en tourneGauche               }       delay(300) ;   if (vitesse != 0) //lE MOTEUR TOURNE AU MAXIMUM A 0v       vitesse -- ; void diminueVitesse(){ while(vitesse !=9){   vitesse ++ ;   delay(100) ;   lcd.setCursor(9,0) ; //Curseur sur ligne 1 (0) et position 10 (9)   lcd.print(val);   lcd.print(“ tr/s”); //Conversion du CAN : q=Vref/2^N => val = (val*5)/1023 void afficheTension(int val)   int tension = val *(5/(1023*10)) ;  //Curseur sur ligne 2(1) et position Finalement, nous avons pu grâce à la carte Arduino et au pont en H, mettre ne place un système permettant la commande de Grâce à notre montage, nous avons pu mettre en place un système complet de contrôle du moteur.