L'information source est d'abord acquise grâce à un capteur, qui va effectuer des mesures de la grandeur physique d'intérêt. Le capteur produit, comme résultat de ses mesures, un signal électrique de type logique, analogique ou numérique.
Le signal produit par le capteur est ensuite traité, typiquement par un programme exécuté sur un microcontrôleur, dans le cadre de petits systèmes, voire sur un ordinateur plus puissant, doté d'un ou plusieurs microprocesseurs, pour de gros systèmes.
Enfin, une fois le signal traité, vient une phase de communication du résultat du traitement. L'information peut, par exemple, être restituée sous forme d'une visualisation, après avoir été stockée dans une base de données. Un autre scénario possible est l'envoi d'une consigne vers un système, pour commander une action ou configurer des paramètres de ce dernier.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
Acquérir des données du capteur
La première étape de la chaine de transmission consiste donc en l'acquisition de données à partir des différents capteurs choisis. Dans le cadre du système développé dans ce cours, trois capteurs ont été choisis et présentés dans le chapitre précédent. La température est mesurée à l'aide d'un LM35, l'humidité relative à l'aide d'un DHT11 et, enfin, le niveau sonore avec un module de détection sonore.
Pour choisir le capteur le plus adéquat, pour mesurer une grandeur physique donnée, plusieurs critères peuvent être pris en compte :
Il faut évidemment d'abord vérifier que la plage de mesures du capteur couvre les valeurs qu'il faudra être capable de mesurer, dans le cadre du système développé.
Ensuite, il faut s'intéresser aux éventuelles contraintes imposées par le projet, et s'assurer que les caractéristiques du capteur soient compatibles avec ces dernières. Il se peut, par exemple, qu'un certain niveau de précision, qu'une résolution minimale ou encore qu'un temps de réponse minimal soit imposé.
On peut également prendre en compte les caractéristiques en lien avec la qualité du capteur, telles que sa fiabilité, sa fidélité ou encore sa gamme de températures d'utilisation. En fonction du système développé, un simple capteur pourrait suffire, ou alors il se peut qu'il faille monter en qualité.
Enfin, il ne faut pas non plus négliger le prix du capteur, notamment par rapport au budget total prévu pour développer le système. Ce budget pourrait être plus faible dans le cadre d'un prototype et ensuite plus élevé dans le cadre d'une version plus avancée, une fois que la preuve de concept a été faite et validée.
On peut aussi s'intéresser au nombre de capteurs qui seront nécessaires pour le système à développer. Comme on l'a vu au chapitre précédent, certains capteurs peuvent mesurer plusieurs grandeurs physiques, comme le DHT11 qui mesure l'humidité relative et la température. N'avoir qu'un capteur au lieu de deux peut rendre plus faciles les traitements effectués dans la suite de la chaine d'information, pour autant que ses caractéristiques satisfont les demandes du projet, évidemment. Cette question particulière de la mesure de la température, avec le LM35 ou le DHT11 est abordée plus loin, à la section 2.3.
Enfin, il faut également s'assurer que les différents capteurs choisis sont compatibles entre eux, le plus possible en tout cas, notamment par rapport à leur type de signal de sortie et à leurs tensions d' alimentation possibles. Au plus il y aura de l'hétérogénéité, au plus la suite de la chaine d'information sera complexe à réaliser.
Donner la liste des capteurs du kit arduino.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
Traiter des données par l'Arduino
La deuxième étape de la chaine de transmission consiste donc à traiter les données qui proviennent des capteurs. Cette étape est typiquement réalisée par un programme exécuté sur une machine, que ce soit un simple microcontrôleur ou un ordinateur plus puissant composé d'un ou plusieurs microprocesseurs.
Le but de cette étape est de récupérer toutes les données provenant de plusieurs capteurs pour les traiter, et pour les analyser et prendre des décisions. Le traitement des données consiste en une interprétation des signaux électriques reçus des capteurs, selon leur type. Les données de type numérique vont souvent nécessiter plus de travail que les données logiques ou analogiques. On peut également, parfois, devoir transformer, interpréter ou vérifier les données reçues. Rappelez-vous, par exemple, du DHT11, vu à la section 1.3, qui envoie des trames de 40 bits contenant les valeurs mesurées de l'humidité relative et de la température (chacune sur 16 bits), ainsi qu'un code de 8 bits utilisé pour vérifier s'il y a eu des erreurs de transmission sur le bus 1-Wire. Le traitement des données provenant de ce capteur nécessitera beaucoup de travail.
Dans ce cours, on va travailler avec l'Arduino Uno , présentée sur la figure 2, une simple carte électronique open source sur laquelle se trouve un microcontrôleur ATmega328P d'architecture Atmel, autour duquel se trouvent toute une série d'autres composants, qui vont faciliter sa programmation et son interfaçage avec d'autres circuits extérieurs.
L'Arduino possède de nombreuses pins, lui permettant de communiquer avec d'autres circuits, notamment des capteurs. L'Arduino Uno possède précisément 14\" role=\"presentation\" style=\"display: inline; line-height: normal; text-align: left; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;\">14 pins numériques et 6\" role=\"presentation\" style=\"display: inline; line-height: normal; text-align: left; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;\">6 pins analogiques, toutes capables de fonctionner en entrée ou en sortie. D'autres versions de l'Arduino possèdent un plus grand nombre de pins. La tension de fonctionnement de ces 20\" role=\"presentation\" style=\"display: inline; line-height: normal; text-align: left; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;\">20 pins est de 5 V, la même que celle de l'Arduino. On pourra donc aisément utiliser les trois capteurs que l'on a sélectionné pour le système de surveillance sonore développé dans ce cours.
Enfin, l'Arduino se programme très facilement grâce à l' environnement de développement intégré Arduino IDE et au langage de programmation Arduino, une version spécifique du langage C++, avec une librairie standard contenant des fonctions spécifiques à l'Arduino. Un programme Arduino, appelé sketch, est compilé puis chargé sur le microcontrôleur de l'Arduino pour y être exécuté. Un sketch se compose de trois parties, inspirées du langage de programmation Processing : (a) une partie en-tête, avec notamment des imports de librairies et des définitions de variables globales, (b) la fonction d'initialisation (setup) exécutée une seule fois au lancement du sketch, (c) et, enfin, la fonction boucle principale (loop) dont le contenu est exécuté en boucle, se répétant indéfiniment.
La figure 3 montre un exemple de sketch Arduino, qui fait clignoter une LED connectée à la pin numérique 7\" role=\"presentation\" style=\"display: inline; line-height: normal; text-align: left; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;\">7, en produisant un signal électrique qui alterne entre un signal haut et un signal bas, en attendant une seconde entre les transitions :
Dans l'en-tête du sketch, on définit simplement le mot LED comme étant équivalent à 7\" role=\"presentation\" style=\"display: inline; line-height: normal; text-align: left; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;\">7, le numéro de la pin numérique sur laquelle la LED a été connectée.
Dans la fonction d'initialisation, on configure la pin~7\" role=\"presentation\" style=\"display: inline; line-height: normal; text-align: left; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;\">7 en mode sortie, à l'aide de la fonction pinMode, c'est-à-dire que le microcontrôleur de l'Arduino va pouvoir envoyer un signal vers le monde extérieur via cette pin, en l'occurrence alimenter ou non la LED avec une tension de 5 V.
Enfin, dans la fonction boucle principale, on va répéter indéfiniment quatre opérations : (a) envoyer un signal haut vers la pin~7\" role=\"presentation\" style=\"display: inline; line-height: normal; text-align: left; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;\">7 avec la fonction digitalWrite, appelée avec HIGH comme second paramètre, (b) attendre 1000 ms, c'est-à-dire une seconde, (c) envoyer un signal bas vers la pin~7\" role=\"presentation\" style=\"display: inline; line-height: normal; text-align: left; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;\">7, de nouveau avec digitalWrite, mais appelée cette fois-ci avec LOW comme second paramètre, (d) et, enfin, encore attendre 1000 ms.
Ce très simple exemple de sketch vous montre la facilité avec laquelle on peut programmer la carte électronique Arduino Uno.
Avec l'Arduino Uno, on va donc pouvoir, sans problèmes, collecter les données provenant du LM35, du DHT11 et du module de détection sonore, dans le cadre du système de surveillance du niveau sonore aux alentours d'un aéroport développé dans ce livre. On verra comment traiter les données envoyées par chacun des capteurs dans la section 2.2.
Donner des exemples de microcontroller.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
Communiquer des données vers l'extérieur
La dernière étape de la chaine de transmission est la communication des données qui ont été collectées, analysées et traitées. Elle peut prendre plusieurs formes, selon la communication qui est faite.
Une première possibilité de communication est l'envoi d'une consigne, ou d'un signal de commande, depuis la machine qui a traité les données du capteur vers une autre machine, un appareil, un moteur, etc. Par exemple, un thermostat mesure la température ambiante et la compare ensuite avec une température seuil configurée. Si la température mesurée est inférieure au seuil, le thermostat envoie un signal vers la chaudière pour la démarrer, pour chauffer la pièce.
La communication peut aussi simplement consister en l'envoi des données collectées vers une autre machine, plus puissante, qui va pouvoir faire des traitements plus avancés. Par exemple, un serveur dans le cloud peut stocker des données reçues et proposer une interface de visualisation de ces dernières, sous forme d'un dashboard. La figure 4 montre un exemple de dashboard qui présente des données d'inscriptions à un collège. Il a été généré sur le service cloud Visualize Free (disponible ici : https://www.visualizefree.com), qui permet de gratuitement réaliser des visualisations.
The Grove Beginner Kit has a plug and plays unboxing demo, where you first plug in the power to the board, you get the chance to experience all the sensors in one go! Use the button and rotary potentiometer to experience each sensor demo!
Arduino IDE is an integrated development environment for Arduino, which is used for single-chip microcomputer software programming, downloading, testing and so on.
Download and Install Arduino IDE for your desired operating system here.
Arduino connects to the PC via a USB cable. The USB driver depends on the type of USB chip you're using on your Arduino. Note: USB chips are usually printed on the back of the development board.
Download the CP2102 USB Driver. Note: Download according to your OS.
After the driver installation is completed, connect Arduino to the USB port of PC with a USB cable.
For Windows users: You can see it in My Computer -> Properties -> Hardware -> Device Management. A COM will appear.
For Mac OS users: You can navigate to on the top left corner, and choose About this Mac -> System Report... -> USB. A CP2102 USB Driver should appear.
If the driver is not installed, or if the driver is installed incorrectly (not matching the chip model), it will appear as an \"unknown device\" in the device manager. At this point, the driver should be reinstalled.
1.Open the Arduino IDE on your PC. 2.Click on Tools -> Board-> Arduino AVR Boards-> Arduino Uno to select the correct Development Board Model. Select Arduino Uno as Board.
3.Click Tools -> Port to select the correct Port (the Serial Port showed in Device Manager in the previous step). In this case, COM11 is selected. For Mac OS users, it should be /dev/cu.SLAB_USBtoUART.
4.Create a new Arduino file and name it Hello.ino, then copy the following code into it:
voidsetup(){
Serial.begin(9600);// initializes the serial port with a baud rate of 9600
}
voidloop(){
Serial.println(\"hello, world\");// prints a string to a serial port
delay(1000);//delay of 1 second
}
5.In the upper left corner of the Arduino IDE, there are two buttons, Verify and Upload. First, press the Verify button(✓) to compile. After the compilation is successful, press the upload button(→).
6.Navigate to Tools -> Serial Monitor, or click the Serial Monitor in the upper right corner(Magnifier Symbol), you can see the program running results:
Note: If you installed the portable Arduino IDE from our USB Drive, you can find all the module demos in the Files -> Sketch Book, as well as all the module libraries, are pre-installed with Arduino IDE!
Note: All modules are pre-wired on a single circuit board, so no cables and soldering are needed. However, if you break out the modules and want to connect them with Grove cables, please kindly check the Breakout Guide.
We have completed the output \"Hello world\" program. Now let's learn how to light the LED module. We know the three basic components of a control system: Input, Control, and Output. But lighting up LED uses only the output, not the input. Seeeduino is the control unit, the LED module is the output unit and the output signal is a digital signal.
Background Information:
What is Digital Signal
Digital signal: Digital signal refers to the value of the amplitude is discrete, the amplitude is limited to a finite number of values. In our controller, the digital signal has two states: LOW(0V) for 0; HIGH(5V) for 1. So sending a HIGH signal to LED can light it up.
Components Involved
Seeeduino Lotus
Grove LED
Grove Cable(If Broken out)
Hardware connection
Module connection
Default connection by PCB stamp hole.
Connect the Seeeduino to the computer through the USB cable.
Software Code
Open Arduino IDE.
Copy the following code, click Verify to check for syntax errors. Verify that there are no errors, and you can upload the code.
//LED Blink
//The LED will turn on for one second and then turn off for one second
intledPin=4;
voidsetup(){
pinMode(ledPin,OUTPUT);
}
voidloop(){
digitalWrite(ledPin,HIGH);
delay(1000);
digitalWrite(ledPin,LOW);
delay(1000);
}
Code Analysis
setup(){
}
The setup() function is called when a sketch starts. Use it to initialize variables, pin modes, start using libraries, etc. The setup() function will only run once, after each powerup or reset of the Arduino board.
loop(){
}
After creating a setup() function, which initializes and sets the initial values, the loop() function does precisely what its name suggests, and loops consecutively, allowing your program to change and respond. Use it to actively control the Arduino board.
intledPin=4;\n
Description:
Converts a value to the int data type.
Syntax:
int(x) or (int)x (C-style type conversion)
Parameters:
x: a value. Allowed data types: any type.
Assigned an int type 4 to variable named ledPin.
pinMode(ledPin,OUTPUT);\n
Description:
Configures the specified pin to behave either as an input or an output. See the Digital Pins page for details on the functionality of the pins.
As of Arduino 1.0.1, it is possible to enable the internal pull-up resistors with the mode INPUT_PULLUP. Additionally, the INPUT mode explicitly disables the internal pullups.
Syntax:
pinMode(pin, mode)
Parameters:
pin: the Arduino pin number to set the mode of.
mode: INPUT, OUTPUT, or INPUT_PULLUP.
Setting ledPin to the output mode.
digitalWrite(ledPin,HIGH);\n
Description:
Write a HIGH or a LOW value to a digital pin.
If the pin has been configured as an OUTPUT with pinMode(), its voltage will be set to the corresponding value: 5V (or 3.3V on 3.3V boards) for HIGH, 0V (ground) for LOW.
If the pin is configured as an INPUT, digitalWrite() will enable (HIGH) or disable (LOW) the internal pullup on the input pin. It is recommended to set the pinMode() to INPUT_PULLUP to enable the internal pull-up resistor. See the Digital Pins tutorial for more information.
If you do not set the pinMode() to OUTPUT, and connect an LED to a pin, when calling digitalWrite(HIGH), the LED may appear dim. Without explicitly setting pinMode(), digitalWrite() will have enabled the internal pull-up resistor, which acts as a large current-limiting resistor.
Syntax:
digitalWrite(pin, value)
Parameters:
pin: the Arduino pin number.
value: HIGH or LOW.
When we set the ledPin as output, HIGH means sending high level to the pin, LED turns on.
digitalWrite(ledPin,LOW);\n
When we set the led as output, low stands for sending low level to the pin, LED turns off.
delay(1000);\n
Description:
Pauses the program for the amount of time (in milliseconds) specified as a parameter. (There are 1000 milliseconds in a second.)
Syntax:
delay(ms)
Parameters:
ms: the number of milliseconds to pause. Allowed data types: unsigned long.
Delay the program by 1000ms(1s).
Demo Effect and Serial Print Result:
The LED module will be 1 second on and 1 second off.
LED Brightness Adjustment:
On the Grove LED module, there is a variable resistor that can be adjusted using a screw driver. Twist it to make the LED light up brighter!
Breakout Guide
If modules are broken out from the board. Use a Grove cable to connect the Grove LED to Seeeduino Lotus's digital interface D4.
The first thing we need to know is that the input of the button is a digital signal, and there are only two states, 0 or 1, so we can control the output based on those two states.
Practice: Use button to turn ON and OFF the LED module
Components Involved
Seeeduino Lotus
Grove LED
Grove Button
Grove Cables(If broken out)
Hardware connection
Module connection:
Default connection by PCB stamp hole.
The Seeeduino is then connected to the computer via a USB cable.
Hardware analysis:
Input: Button
Control: Seeeduino
Output: LED module
Both the sensor and the LED use digital signals, so they should be connected to digital interfaces.
Software code:
Open Arduino IDE.
Copy the following code, click Verify to check for syntax errors. Verify that there are no errors, and you can upload the code.
//Button to turn ON/OFF LED
//Constants won't change. They're used here to set pin numbers:
constintbuttonPin=6;// the number of the pushbutton pin
constintledPin=4;// the number of the LED pin
// variables will change:
intbuttonState=0;// variable for reading the pushbutton status
voidsetup(){
// initialize the LED pin as an output:
pinMode(ledPin,OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin,INPUT);
}
voidloop(){
// read the state of the pushbutton value:
buttonState=digitalRead(buttonPin);
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if(buttonState==HIGH){
// turn LED on:
digitalWrite(ledPin,HIGH);
}else{
// turn LED off:
digitalWrite(ledPin,LOW);
}
}
Code Analysis
pinMode(ledPin,OUTPUT);\n
Define LED as the output unit.
pinMode(buttonPin,INPUT);\n
Define button as the input unit.
buttonState=digitalRead(buttonPin);\n
Description:
Reads the value from a specified digital pin, either HIGH or LOW.
Syntax:
digitalRead(pin)
Parameters:
pin: the Arduino pin number you want to read
This function is used to read the states of digital pins, either HIGH or LOW. When the button is pressed, the state is HIGH, otherwise is LOW.
if(buttonState==HIGH){
digitalWrite(ledPin,HIGH);
}else{
digitalWrite(ledPin,LOW);
}
}
Description:
The if…else allows greater control over the flow of code than the basic if statement, by allowing multiple tests to be grouped. An else clause (if at all exists) will be executed if the condition in the if statement results in false. The else can proceed another if test, so that multiple, mutually exclusive tests can be run at the same time.
Each test will proceed to the next one until a true test is encountered. When a true test is found, its associated block of code is run, and the program then skips to the line following the entire if/else construction. If no test proves to be true, the default else block is executed, if one is present, and sets the default behaviour.
Note that an else if block may be used with or without a terminating else block and vice versa. An unlimited number of such else if branches are allowed.
Syntax:
if(condition1){
//do Thing A
}
elseif(condition2){
//do Thing B
}
else{
//do Thing C
}
The usage of the statement is: if the logical expression in parentheses is true, execute the statement in curly braces after if, if not, execute the statement in curly braces after the else. If the state of the button is high, the LED pin outputs a high level and turn the LED on, else turn LED off.
Demo Effect and Serial Print Result:
Pressing the button will turn the LED module on.
Breakout Guide
Use a Grove cable to connect the Grove LED to Seeeduino Lotus's digital interface D4. Connect the Grove Button to digital interface D6.
"},{"edit":" "}],[{"text":"
Application 4: Controlling the Frequency of the Blink¶
In the last section, we studied that button only has two states, ON/OFF state corresponding 0V and 5V, but in practice, we often counter the need for many states, not just 0V and 5V. Then you need to use Analog Signal! Rotary Potentiometer is a classic example that uses an analog signal.
Background Information:
What is Analog Signal
Analog signals: Signals vary continuously in time and value, and the amplitude, frequency, or phase of the signal changes continuously at any time, such as the current broadcast sound signal, or image signal, etc. The analog signal has sine wave and triangle wave and so on. The analog pins of your microcontroller can have between 0V and 5V is mapped to a range between 0 and 1023 where 1023 is mapped as 5V and 512 is mapped as 2.5v and etc.
Components Involved
Seeeduino Lotus
Grove LED
Grove Rotary Switch
Grove Cables(If broken out)
Hardware connection
Module connection:
Default connection by PCB stamp hole.
The Seeeduino is then connected to the computer via a USB cable.
Hardware analysis:
Input: Rotary Potentiometer
Control: Seeeduino Lotus
Output: LED module
The input is an analog signal, so it is connected to the analog signal interface, the LED module is connected to the digital signal interface.
Software Code
Open Arduino IDE.
Copy the following code, click Verify to check for syntax errors. Verify that there are no errors, and you can upload the code.
//Rotary controls LED
introtaryPin=A0;// select the input pin for the rotary
intledPin=4;// select the pin for the LED
introtaryValue=0;// variable to store the value coming from the rotary
voidsetup(){
// declare the ledPin as an OUTPUT:
pinMode(ledPin,OUTPUT);
pinMode(rotaryPin,INPUT);
}
voidloop(){
// read the value from the sensor:
rotaryValue=analogRead(rotaryPin);
// turn the ledPin on
digitalWrite(ledPin,HIGH);
// stop the program for <sensorValue> milliseconds:
delay(rotaryValue);
// turn the ledPin off:
digitalWrite(ledPin,LOW);
// stop the program for for <sensorValue> milliseconds:
delay(rotaryValue);
}
Code Analysis
introtaryPin=A0;// select the input pin for the rotary
intledPin=4;// select the pin for the LED
Description:
You may find that we define rotatePin and ledPin in different ways. This is because Rotary Potentiometer generates an analog signal, and the LED is controlled by a digital signal.
To define for Analog Pin, use A + the number of the Pin (For Example here A0).
To define for Digital Pin, use just the number of the pin (For Example here 4).
rotaryValue=analogRead(rotaryPin);\n
Description:
Reads the value from the specified analog pin. Arduino boards contain a multichannel, 10-bit analog to digital converter. This means that it will map input voltages between 0 and the operating voltage(5V or 3.3V) into integer values between 0 and 1023. On an Arduino UNO, for example, this yields a resolution between readings of: 5 volts / 1024 units or, 0.0049 volts (4.9 mV) per unit.
Syntax:
analogRead(pin)
Parameters:
pin: the name of the analog input pin to read from (A0 to A5 on most boards).
Returns: The analog reading on the pin. Although it is limited to the resolution of the analog to digital converter (0-1023 for 10 bits or 0-4095 for 12 bits). Data type: int.
This function is used to read the value of Analog pins(the rotary sensor position), the range of values is: 0 ~ 1023.
delay(rotaryValue);\n
Delay function, The millisecond duration of the delay is the value in parentheses. Because the value is the value of the analog signal of the knob pin being read, so the delay time can be controlled by the knob.
Demo Effect and Serial Print Result:
Turning the Potentiometer will change the frequency of LED flickering.
Breakout Guide
Use a Grove cable to connect LED to Seeeduino Lotus's digital interface D4, and a Grove cable to connect the Grove Rotary Switch to analog signal interface A0.
OLED Display can be used for many situations, where you could use it to visualize sensor readings!
Background Information:
What is Arduino Libraries
The Arduino environment can be extended through the use of libraries, just like most other programming platforms. Libraries provide extra functionalities for use in sketches, i.e. working with specific hardware or manipulating data. To use a library in a sketch, select it from Sketch ->Include Library.
The Seeeduino is then connected to the computer via a USB cable.
Software Code
Open Arduino IDE.
Install the U8g2 library: Navigate to Sketch -> Include Library -> Manage Libraries... and Search for the keyword \"U8g2\" in the Library Manager. It's the u8g2 library by oliver, and click then install.
Copy the following code, click Verify to check for syntax errors. Verify that there are no errors, and you can upload the code.
// U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // OLEDs without Reset of the Display
voidsetup(void){
//u8x8.setBusClock(100000); // If you breakout other modules, please enable this line
u8x8.begin();
u8x8.setFlipMode(1);
}
voidloop(void){
u8x8.setFont(u8x8_font_chroma48medium8_r);
u8x8.setCursor(0,0);
u8x8.print(\"Hello World!\");
}
Attention
If you breakout all the modules and use the Grove OLED separately, you may find it won't work with this code. If you encounter such a problem, please refer to the end of this section: Breakout Guide.
Code analysis
#include<>\n
Description:
#include is used to include outside libraries in your sketch. This gives the programmer access to a large group of standard C libraries (groups of pre-made functions), and also libraries written especially for Arduino.
Note that #include, similar to #define, has no semicolon terminator, and the compiler will yield cryptic error messages if you add one.
#include<U8x8lib.h>\n
#include is an instruction that introduces a header file. Here we use the U8x8lib.h library.
Once the object is declared, you can use functions from the library.
u8x8.begin();\n
Description:
Simplified setup procedure of the display for the Arduino environment. See the setup guide for the selection of a suitable U8g2 constructor.
Syntax:
u8x8.begin()
Initialize the u8g2 library
u8x8.setFlipMode(1);\n
Description:
Some displays support a 180-degree rotation of the internal frame buffer. This hardware feature can be controlled with this procedure. Important: Redraw the complete display after changing the flip mode. Best is to clear the display first, then change the flip mode and finally redraw the content. Results will be undefined for any existing content on the screen.
Syntax:
u8x8.setFlipMode(mode)
Parameters:
mode: 0 or 1
Flips the display 180 degrees.
u8x8.setCursor();\n
Description:
Define the cursor for the print function. Any output of the print function will start at this position.
Syntax:
u8x8.setCursor(x, y)
Parameters:
x, y: Column/row position for the cursor of the print function.
Sets the draw cursor position.
u8x8.setFont()\n
Description:
Define a u8x8 font for the glyph and string drawing functions.
Syntax:
u8x8.setFont(font_8x8)
Set the font for display.
u8x8.print();\n
Draw the content on the OLED.
Demo Effect and Serial Print Result:
Prints Hello World onto the OLED Display.
U8g2 Library Reference
If you want to more information about U8g2 library, please refer to here.
Breakout Guide
Use Grove cable to connect the OLED to Seeeduino Lotus's I2C interface (Note: I2C's default address is 0x78).
Note
If you breakout other modoule to use the OLED and it do not work, or you want to use fastest OLED I2C (default: 40KHZ), please follow this instrcution:
Click \"This PC\" -> Documents -> Arduino -> libraries -> U8g2 -> src -> U8x8lib.cpp -> Sliding to 1334 line -> delete or disable this line -> save the file.
Wire.setClock(u8x8->bus_clock);// just delete or disable this line\n
Or you can set the bus lock to 100000 then add in the setup().
voidsetup(void){
u8x8.setBusClock(100000);// it for limit the I2C bus clock
HTML (HyperText Markup Language) , PHP Hypertext Preprocessor et Interation Client-Serveur : Présentation
","title":"","posi":11},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
1. Qu'est ce que PHP ?
Le PHP, acronyme récursif pour PHPHypertext Preprocessor est un langage de scripts spécialement conçu pour le développement d'applications web. Il peut être intégré facilement au HTML.
Le langage PHP a été créé en 1994 par Rasmus Lerdorf, un programmeur groenlandais et canadien pour son site web personnel.
Un exemple de code PHP
On petit exemple en PHP qui
Calcule la somme de deux varariables, $var1=5 et $var2=7 ;
Affiche la somme avec la fonction avec la fonction echo ;
Calcule et affiche la somme de deux entiers choisis aléatoirement entre 1 et 100, avec la fonction rand(1 , 100).
<!doctypehtml>
<html>
<head>
<title>
Exemple de variables
</title>
<metacharset=\"utf-8\"/>
</head>
<body>
<h1> Un premier programme en PHP : pour les tests</h1>
<?php
// Commentaires en php
// Utilisation de variables, avec le dollard $
$var1=5;
$var2=7;
$somme=$var1+$var2;
// echo permet d'afficher sur la page
// On peut méler du texte et des variables
echo\"<p>La somme de $var1 et $var2 est $somme.</p>\";
$nombre1=rand(1,100); // rand(a,b) génère un entier aléatoire entre a et b (inclus)
echo\"<p>Le 1er nombre choisi au hasard est $nombre1.</p>\";
$nombre2=rand(1,100);
echo\"<p>Le 2e nombre choisi au hasard est $nombre2.</p>\";
$somme=$nombre1+$nombre2;
// On affiche la somme
echo\"<p>La somme de $nombre1 et $nombre2 est $somme.</p>\";
?>
</body>
</html>
Visualiser le résultat Un lien vers le fichier hébergé sur un serveur distant : PHP-Exemple1.php.
Premières remarques sur le PHP
L'affichage en PHP utilise la fonction echo \" texte et $variables \". On peut afficher du texte et des variables $var simultanément très simplement.
Les lignes se terminent par un point virgule ;.
Les variables se définissent avec le dollard $var1 et peuvent s'intégrer facilement au texte.
Petit exercice important
Affichez le code source (Click droit) de la page PHP-Exemple1.php.
Vous remarquez que le code source propose juste l'affichage, sans les lignes de code PHP.
Actualisez la page, on voit que le contenu change car la fonction rand(1 , 100) est appelée.
C'est magique, le client, c'est à dire notre ordinateur ne s'aperçoit pas qu'il y a un calcul d'effectué.
Un fonctionnement distant
Le PHP fonctionne en fait sur serveur distant. On ne peut pas avoir un fonctionnement immédiat sur notre disque comme avec le HTML, le CSS ou le JavaScript.
Ce qui distingue PHP des langages de script comme le Javascript, est que le code est exécuté sur le serveur, générant ainsi le HTML, qui sera ensuite envoyé au client. Le client ne reçoit que le résultat du script, sans aucun moyen d'avoir accès au code qui a produit ce résultat. Vous pouvez configurer votre serveur web afin qu'il analyse tous vos fichiers HTML comme des fichiers PHP. Ainsi, il n'y a aucun moyen de distinguer les pages qui sont produites dynamiquement des pages statiques.
le serveur doit donc être capable de repérer les parties de codes PHP, cela se fera grâce à des balises. Le code PHP est donc inclus entre une balise de début <?php et une balise de fin ?> qui permettent au serveur web de passer en mode PHP, ce que ne fait pas votre navigateur sur votre disque dur.
Le fonctionnement du PHP
Vous pouvez maintenant tranquillement lire cette page qui expose le fonctionnement du PHP.
Il va donc nous falloir préparer un environement de travail afin de pouvoir lire les fichiers PHP.
Plusieurs solutions sont possibles, si vous avez déjà un site en ligne, tout sera plus facile, sinon, vous allez devoir installer plusieurs émulateurs de serveurs distants.
Cas 1 : j'ai un site en ligne
Si vous avez un site en ligne, tout est très simple, il vous suffit d'envoyer vos fichiers sur votre espace et de les ouvrir via votre navigateur. Chaque site à un interpréteur PHP.
Pour télécharger facilement vos fichiers, vous pouvez :
Soit vous connecter chez votre hébergeur ;
Soit utiliser un client FTP. Je vous conseil d'installer FileZilla, gratuit et très simple d'utilisation. Il vous faudra cependant récuprérer chez votre hébergeur vos identifiants de connexion. C'est un peu long la première fois mais ensuite c'est très rapide.
Il ne suffit pas d'ouvrir un fichier avec son navigateur pour que cela fonctionne, on doit généralement lancer l'émulateur puis tapper dans son navigateur :
http://localhost/MonFichier.php
WampServeur
Création automatique d’un répertoire « www » lors de l’installation (typiquement c:\\wamp\\www).
Créez un sous répertoire pour votre projet et déposez-y vos fichiers PHP
Cliquez sur le lien « Localhost » du menu de WampServer ou ouvrez votre navigateur à l’adresse :
http://localhost/MonFichier.php
Bases de données. Au lancement de PhpMyAdmin, il vous sera demandé un nom utilisateur et un mot de passe. Après installation de Wampserver 3,
le nom utilisateur par défaut est \"root\" (Sans les guillemets)
et il n'y a pas de mot de passe, ce qui veut dire que vous devez laisser la case Mot de passe du formulaire d'accès vide.
Xampp
Placer les projets dans le dossier htdocs qui est dans C:\\xampp\\htdocs
Pour ouvrir un fichier nommé MonFichier.php qui est dans le répertoire htdocs, tapper dans votre navigateur :
http://localhost/MonFichier.php
Bases de données. Pour accéder à la base de données => Admin Mysql
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
3. Un test puis les exercices et travaux dirigés
Nous sommes prêts pour un petit test.
Recopier le code source de l'exemple 1, enregistrez-le sur votre disque dur avec l'extension .php et ouvrez-le dans votre navigateur .... suspens !
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
4. Programmer en PHP
Quelques remarques sur les fonctions, les structures conditionnels en PHP
Les fonctions en PHP fonctionnent comme en Javascript. Le mot clé function permet de définir une fonction.
Les paramètres sont écrits entre parenthèses précédés du symbole $ comme toute les variables.
Le mot clé return permet de renvoyer une valeur.
Il existe de nombreuses fonctions intégrées en PHP vous pouvez consulter ces sites de références au fur et à mesure des besoins.
Exercice 1 La fonction rand(a,b) renvoie un entier aléatoire compris entre a et b. 1. Ecrire un script qui choisit aléatoirement un nombre entre 1 et 15. 2. Et qui affiche le table de multiplication de ce nombre dans un tableau. Toute amélioration est la bienvenue.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"},{"solution":"
<h1> Exercice 1 </h1>
<tableborder=\"1\">
<?php
$table=rand(1,15);
for($i=1;$i<=10;$i=$i+1) // ou ($i=1;$i<=10;$i++)
{
$calcul=$i*$table;
echo\"<tr><td>$i x $table =</td><td>$calcul</td></tr>\\n\";
}
?>
</table>
"}],[{"text":"
Exercice 2 La fonction rand(a,b) renvoie un entier aléatoire compris entre a et b. Ecrire un script en php qui : 1. choisit 100 nombres aléatoires entre 0 et 100 ; 2. les affiche ; 3. et affiche leur moyenne. Toute amélioration est la bienvenue.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"},{"solution":"
<h1> Exercice 2 </h1>
<?php
$somme=0;
for($i=1;$i<=100;$i=$i+1) // ou ($i=1;$i<=10;$i++)
{
$r=rand(1,100);
$somme=$somme+$r;
echo\"$r \";
}
$moy=$somme/100;
echo\"<br>La moyenne est de $moy\";
?>
"}],[{"text":"
5. Interagir avec une page en PHP : les méthodes GET et POST
Un script PHP s'exécute sur le serveur lorsque l'utilisateur accède à un fichier par un lien. Ce script effectue un certain nombre d'instructions pour produire la page web demandée et s'arrête lorsque celle-ci est produite. Comment faisons-nous pour passer une information d'une page à l'autre ? De l'utilisateur à la page .PHP ?
Par exemple, si je saisi mon compte utilisateur sur un site et qu'en cliquant je suis conduis vers la page de mon compte, comment cette page se souvient-elle du nom que j'ai écrit dans la page précédente ?
Il existe plusieurs solutions pour transmettre des informations d'une page aux autres :
Cookies ;
base de données ;
fichiers textes ;
la méthode GET ;
la méthode POST.
Nous allons étudier les méthodes GET et POST.
5.a. La méthode GET Interagir avec une page en PHP avec la méthode GET
Dans cet exemple, les informations après le point d'interrogation sont des données que l'on fait transiter d'une page à une autre.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
5.a.1. Former une URL pour envoyer des paramètres
Imaginons que votre site s'appelle math93.com et que vous avez une page PHP intitulée bonjour.php. Pour accéder à cette page, vous devez aller à l'URL suivante :
http://www.math93.com/bonjour.php
Pour envoyer des informations à la page bonjour.php, on va ajouter des informations à la fin de l'URL, comme ceci :
On écrit les variables et les valeurs des variables après un point d'intérogation ? .
On sépare les variables par le symbole & .
La seule limite est la longueur de l'URL. En général il n'est pas conseillé de dépasser les 256 caractères.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
5.a.2. Récupérer les valeurs des variables
Nous avons fait un lien vers le fichier php bonjour.php et à deux variables nom et prenom.
exemple3.php?nom=Galois&prenom=Evariste
Pour récupérer les valeurs des variables, on y accède via la variable $_GET.
$_GET['nom'] . à la valeur Galois ;
$_GET['prenom'] . à la valeur Evariste ;
Par exemple on a ici avec le petit code en écrivant dant la console :
Essayer de changer les noms et prénoms dans l'adresse URL.
<!doctype html>
<html>
<head>
<title>
PHP - Exemple 3
</title>
<metacharset=\"utf-8\"/>
</head>
<body>
<h1> PHP - Exemple 3 </h1>
<formaction=\"exemple3.php\"method=\"get\">
<label\"nom\">Votre Nom :</label>
<inputtype=\"text\"name=\"nom\"><br>
et <br>
<label>Votre Prénom :</label>
<inputtype=\"text\"name=\"prenom\"><br>
<inputtype=\"submit\"value=\"Envoyer\">
</form>
<?php
// les variables existent-t-elles ?
if(isset($_GET['nom']) andisset($_GET['prenom']))
{// oui les variables existent
$lenom=$_GET['nom'];
$leprenom=$_GET['prenom'];
//echo \"<p>Bonjour $_GET['prenom'] et $_GET['nom'] !</p>\" ;
echo\"<p>Bonjour $leprenom$lenom</p>\" ;
}
else
{
echo\"<p>Bonjour Madame ou Monsieur.</p>\" ;
}
?>
</body>
</html>
Remarque : isset(var) - Détermine si la variable var est déclarée et est différente de NULL.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
Exercice 3 1. Ecrire une page qui prend deux nombres dans l'URL et affiche leur somme. 2. Modifier la page pour donner trois paramètres dans l'URL, deux nombres et une opération. Le résultat de l'opération sera affiché dans la page. Toute amélioration est la bienvenue.
//echo \"<p>Bonjour $_GET['prenom'] et $_GET['nom'] !</p>\" ;
if ($op==\"plus\")
{$calcul=$a+$b;
$operation=\"$a + $b =\";
}
elseif ($op==\"moins\")
{$calcul=$a-$b;
$operation=\"$a - $b =\";
}
elseif ($op==\"fois\")
{$calcul=$a*$b;
$operation=\"$a * $b =\";
}
else
{$calcul=$a/$b;
$operation=\"$a / $b =\";
}
echo\"<p>Le calcul est $operation$calcul</p>\" ;
}
else
{
echo\"<p>Pas de calcul en cours.</p>\" ;
}
?>
</body>
</html>
"}],[{"text":"
Exercice 4 1. Ecrire deux pages, la première choisissant un nombre au hasard entre -10 et 10 2. et contenant un lien vers la seconde qui affichera la racine carrée du nombre choisi, si cela est possible. Toute amélioration est la bienvenue.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"},{"solution":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
5.b. La méthode POST Interagir avec une page en PHP avec la méthode POST
Il existe une autre méthode pour passer des données d'une page à l'autre sans mentionner les valeurs dans l'URL.
Il s'agit de la méthode utilisée dans les formulaires
Un exemple
Reprenons l'exemple 3 avec le nom et le prénom.
On va donc écrire deux pages, la première une page HTML que l'on va nommer ex4-HTML.html, et la deuxième une page PHP l'on va nommer ex4-PHP.php
Afin de pouvoir accéder aux contenus envoyés par la méthode POST, il faut donner à chaque élément dont on veut récuperer les valeurs l'attribut name .
Pour récupérer les valeurs des variables, on y accède via la variable $_POST.
$_POST['nom'] . à la valeur du nom entré ;
$_POST['prenom'] . à la valeur du prénom entré ;
<!doctype html>\n<html>\n<head>\n <title>\n PHP - Exemple 4 - Méthode POST Fichier HTML\n </title>\n <metacharset=\"utf-8\"/>\n </head>\n <body>\n <h1> PHP - Exemple 4 - Méthode POST Fichier HTML</h1>\n <formaction=\"ex4-PHP.php\"method=\"post\">\n <labelfor=\"nom\">Votre Nom :</label> \n <inputtype=\"text\"name=\"nom\"> \n <div> et </div> \n <labelfor=\"prenom\">Votre Prénom :</label>\n <inputtype=\"text\"name=\"prenom\">\n <inputtype=\"submit\"value=\"Valider\">\n </form>\n</body>\n</html>\n
<!doctype html>\n<html>\n<head>\n <title>\n PHP - Exemple 4 - Méthode POST Fichier PHP\n </title>\n <meta charset=\"utf-8\"/>\n </head>\n <body>\n <h1> PHP - Exemple 4 - Méthode POST Fichier PHP </h1>\n <?php \n // les variables existent-t-elles ?\n if(isset($_POST['nom']) andisset($_POST['prenom']))\n {// oui les variables existent \n $lenom=$_POST['nom'];\n $leprenom=$_POST['prenom'];\n //echo \"<p>Bonjour $_POST['prenom'] et $_POST['nom'] !</p>\" ;\n echo\"<p>Bonjour $leprenom$lenom</p>\" ;\n }\n else\n {\n\techo\"<p>Bonjour Madame ou Monsieur.</p>\" ;\n }\n ?> \n</body>\n
Lien vers le fichier .html sur le serveur : ex4-HTML.html .
Exercice 5 Reprendre les exercices 3 et 4 mais en utilisant la méthode POST et un formulaire. Toute amélioration est la bienvenue.
"},{"edit":"
Mettre le résultat ici (code et figure).
"},{"solution":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
Exercice 6 : un QCM 1. Ecrire deux pages, la première contenant un QCM avec au moins trois questions. 2. Les réponses seront proposées et l'utilisateur devra faire son choix par des cases à cocher. 3. La seconde page affichera le score obtenu. Aide : Pour récupérer l'information \"case cochée, c'est assez simple : la variable n'existe dans le post que si la case a été cochée. Toute amélioration est la bienvenue.
L'électricité existant sous différentes formes (alternatif, continu) et ayant différentes valeurs possibles (12V, 230V, ….), il existe des moyens (convertisseurs) de modifier ces valeurs et de passer d'un type d'électricité à un autre.
1. Les transformateurs : conversion alternatif/alternatif (~ vers ~)
Transformateur monophasé idéal
Les symboles du transformateur sont :
Constitution :
Principe de la conversion: alternatif → alternatif (avec conservation de la puissance apparente et de la fréquence)
Relations:
On définit alors le rapport de transformation m tel que
Puissances: Rappel: puissance apparente en monophasé: S= U × I
Donc au primaire: S1 = U1 × I1 et au secondaire S2 = U2 × I2 Relation primaire/secondaire: U2=m×U1 Si on multiplie par I2: U2×I2=m×U1×I2
Donc S1 = S2
Pertes : Il y a 2 types de pertes, les pertes « fer » et les pertes « Joules » (en charge).
Les pertes à vide (ou pertes \"fer\") se produisent au sein du noyau ferromagnétique. Elles sont constantes quel que soit le régime de charge du transformateur, c'est-à-dire quelle que soit la consommation de l’élément (charge) qui y est raccordé. Pour les déterminer on fait un essai à vide (transformateur avec secondaire non relié à la charge). On mesure la puissance consommée P10 : P10=Pfer
Les pertes joules en charge (ou pertes \"en court-circuit\" ou pertes \"cuivre\") sont, elles, dues à l'effet Joule (pertes par échauffement des conducteurs), augmentées des pertes additionnelles (pertes supplémentaires occasionnées par les courants parasites dans les enroulements et pièces de construction). Elles varient avec le carré du courant ou de la puissance débitée (si la tension reste constante). Pour les déterminer on fait un essai en court-circuit car il faut que le courant soit élevé et les pertes « fer » très faibles en comparaison, donc que les enroulements soient soumis à une faible tension. La mise en court-circuit du transformateur avec une alimentation en tension réduite permet de réaliser ces deux conditions. Les pertes du transformateur sont alors quasiment égales aux pertes par effet Joule.
Remarque :il existe aussi des transformateurs triphasé.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
2. Les gradateurs : conversion alternatif/alternatif (~ vers ~)
Le gradateur est un convertisseur qui permet, à partir d’une tension alternative, d’obtenir une tension alternative réglable en valeur efficace (la fréquence ne change pas) ! Les gradateurs sont des éléments qui permettent de moduler l'énergie d'une source alternative.
Principe de la conversion:
Schéma de principe d'un gradateur monophasé:
(la charge est ici une résistance)
Les 2 thyristors TH1 et TH2 (ou remplacés par un seul triac) permettent de contrôler la tension que l'on applique sur la charge. Le gradateur permet par exemple de commander le démarrage d’un moteur asynchrone triphasé, de régler la puissance d’un four électrique ou la quantité de lumière d’une lampe à incandescence ou halogène. Il contient aussi un circuit électronique de commande du triac ou des thyristors (que nous n’étudierons pas).
Gradateurs 2,5A pour lampe halogène
Gradateurs modulaire 16A utilisé en variation de lumière
Gradateurs triphasé 50A pour four industriel
Utilisation en variation d’angle (découpage de phase) :
Principe : on va envoyer « périodiquement » des impulsions de commande sur le triac pour faire conduire celui-ci et obtenir des « morceaux » de la sinusoïde de la tension de départ (U).
La valeur efficace obtenue est alors plus faible que la valeur efficace du signal de départ.
α est appelé « retard à l’amorçage ». Il s’agit de l’angle (en radians) entre la tension d’origine et celle réellement présente sur la charge.
La formule de la « nouvelle tension efficace » est :
(avec α en radians)
Utilisation en train d’onde :
Principe : on laisse passer un certain nombre de sinusoïdes complètes puis on en stoppe quelques unes puis on en laisse passer à nouveau …… toujours selon le même rythme (fonctionnement périodique).
L’exemple ci-contre laisse le signal passer les ¾ du temps :
La période de fonctionnement est T. (ici 4 sinusoïdes)
Le rapport cyclique α (alpha) désigne, pour un phénomène périodique, le ratio entre la durée du phénomène et la période du phénomène :
La puissance fournie à la charge est : P = α × Pmax (Pmax = puissance fournie sans le gradateur ou avec α=0)
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
3. Les redresseurs : conversion alternatif vers continu (~ vers – )
Une des principales applications de la diode est le redressement de la tension alternative pour faire des générateurs de tension continue destinés à alimenter les montages électroniques, les moteurs à courant continu (MCC), …. Ces montages redresseurs transforment donc de l’alternatif en continu.
Redressement simple alternance :
Ue=sin 312t
comme w=312=2ΠF
Donc F=50Hz
D conduit de 0 à T/2 car Ue >0
D est bloquée de T/2 à T car Ue<0
Valeur moyenne :
Redressement double alternance :
Nom du montage : Pont de Graetz
Lorsque Ue est >0 (entre 0 et T/2), les diodes D1 et D3 conduisent
Lorsque Ue est <0 (entre T/2 et T), les diodes D2 et D4 conduisent
Valeur moyenne :
A travers ces deux montages on voit que le résultat est loin d’être parfaitement continu. Pour améliorer cela il va falloir soit rajouter un condensateur de filtrage, en parallèle, (la tension sera alors presque continue) soit ajouter une bobine en série et le courant sera alors presque continu.
Exemple avec un condensateur de lissage:
Remarque : plus la valeur du condensateur sera grande, plus le signal sera proche du continu
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
4. Les onduleurs : conversion continu vers alternatif ( – vers ~)
On appelle onduleur un convertisseur statique qui transforme une tension continue en tension alternative généralement sinusoïdale.
Principe général de fonctionnement:
Pour réaliser un onduleur autonome, il suffit de disposer d'interrupteurs et d’une source de tension continue E comme le montre la figure suivante :
Lorsque K1 et K2 fermés on obtient :
Donc : Ud (t) = E
Lorsque K3 et K4 fermés on obtient: Donc : Ud (t) = - E
On obtient donc la forme de Ud(t) sur une période complète de fonctionnement :
Si la charge est inductive (bobine), le signal (courant) commence à ressembler à du sinusoïdal :
Exemple d’onduleur :
Onduleur MLI Les onduleurs à Modulation de Largeur d'Impulsion (MLI ou PWM : Pulse Width Modulation) sont utilisés principalement pour la commande des moteurs asynchrones.
Principe : un programme commande l'envoi d'impulsions de largeur variable ce qui va créer un courant sinusoïdal dans la charge (les bobines du moteur).
Schéma d’un variateur de vitesse de moteur triphasé asynchrone:
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
5. Les hacheurs : conversion continu/continu (– vers –)
Le hacheur est un convertisseur qui permet, à partir d’une tension continue fixe, d’obtenir une tension continue réglable. Il permet par exemple de commander la vitesse d’un moteur à courant continu. Il est composé d’un ou plusieurs « interrupteurs électroniques » (transistors ou thyristors)
Exemple : le hacheur série sur charge résistive :
Définitions
Si le rapport cyclique α désigne le ratio de la durée du phénomène sur la période du phénomène :
Alors la valeur moyenne du signal en sortie du hacheur série est :
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
6. Exercices
Exercice 1: généralités Soit un système de panneaux photovoltaïques. Compléter le cadre vide par le nom du convertisseur manquant:
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
Exercice 2: généralités Compléter le synoptique d’un chargeur de téléphone portable :
"},{"edit":" "}],[{"text":"
Exercice 3: généralités
1. Compléter le synoptique du transport de l’électricité (convertisseurs)
2. Expliquer où il y a des pertes d’énergie.
"},{"edit":" "}],[{"text":"
Exercice 4: transformateur Soit un transformateur monophasé S=100VA, 230V/24V, branché sur une charge. On mesure I2=1,3A. 1. Calculer le rapport de transformation du transformateur 2. Calculer les courants nominaux (max) primaire (I1N) et secondaire (I2N) du transformateur. 3. Comparer I2N au courant I2 consommé par la charge. Que peut-on conclure ?
"},{"edit":" "}],[{"text":"
Exercice 5: transformateur Un transformateur abaisseur de tension 230V / 12V alimente une lampe halogène 12V – 1,8A. En supposant que le transformateur fonctionne dans les conditions nominales (max), calculez : 1. le rapport de transformation 2. l’intensité efficace du courant dans l’enroulement primaire lorsque la lampe est allumée. 3. la puissance électrique transmise au circuit électrique du secondaire.
"},{"edit":" "}],[{"text":"
Exercice 6: Hacheur On dispose d'une alimentation continue de 12V. On cherche à obtenir une tension moyenne de 6V. 1. Calculer la valeur du rapport cyclique. 2. Tracer la courbe de la tension fournie par le hacheur (fréquence de découpage du hacheur = 25 Hz) On veut maintenant obtenir une tension moyenne de 2,4V. 3. Calculer la valeur du rapport cyclique. 4. Tracer la courbe de la tension fournie par le hacheur (fréquence de découpage du hacheur = 25 Hz)
Vous disposez d'une photo de la cafetière didactisée avec les différents éléments qui la composent
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
II. Chaîne d'information et chaîne de puissance
Un produit peut être décomposé en deux chaînes, qui interagissent :
la chaîne de puissance
la chaîne d'information
La chaîne de puissance permet de remplir la fonction d'usage du produit , c'est à dire d'agir sur la Matière d'œuvre Entrante (M.O.E.) de manière à lui ajouter de la valeur. En sortie, on y trouve donc la Matière d'Œuvre Sortante (M.O.S.), c'est à dire la M.O.E. + la V.A. (Valeur Ajoutée). Il peut aussi y avoir des pertes (chaleur, résidus, déchets...) ou des indésirables (bruit,...).
Des grandeurs physiques propres au système sont prélevées sur la chaîne de puissance (détecteurs / capteurs), ce qui permet à la chaîne d'information de réagir en conséquence et, après traitement, de communiquer à la chaîne de puissance des ordres qui modifient l'action entreprise.
Classer ces différentes éléments en deux grandes familles : Puissance & Informations
Puissance
Information
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
III. Organisation fonctionnelle
A partir de la représentation fonctionnelle ci-dessous identifier les différents flux de puissance ou d'informations puis compléter le document réponses à partir des éléments donnés
A partir de la représentation fonctionnelle ci-dessous identifier quels sont les composants qui réalisent les différentes fonctions de la chaîne d'information et de la chaîne d'énergie, puis compléter le document réponses.
Débitmètre- Led- Réservoir- Relais statique avec Triac- Corps de chauffe- Tuyaux- Pompe- Câble électriques- Microcontrôleur- Boutons poussoirs- Capteurs de température
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
V. Conversion de puissance
A partir de la représentation fonctionnelle ci-dessous identifier les différents types de puissances mis en jeu dans la chaîne de puissance de la cafetière, puis compléter le document réponses.
VI. Classification des composantes de la puissance
La fonction CONVERTIR est réalisée par le corps de chauffe qui convertit une puissance électrique en puissance thermique et par une pompe qui convertit une puissance électrique en puissance hydraulique.
A partir des grandeurs physiques données, déterminer où elles se situent dans la chaine fonctionnelle de la fonction CONVERTIR
- Vitesse (m/s)
- Débit (m3/s)
- flux de chaleur (W/K)
- Pression (Pa)
- Force (N)
- Température (K)
A:
B:
C:
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
Etude de la fonction \"Acquérir\" dans la chaîne d'information
I. Introduction
Dans ce TP, nous allons essentiellement travailler sur la chaîne d'information dont la structure a été abordée lors du TP 2.1
Sur le schéma de la carte électronique:
- Identifier les différents blocs de la chaîne d'information.
- Construire le schéma bloc de la chaîne d'information.
II. Etude du capteur de température et mise en oeuvre
II. 1 Etude du capteur
Après avoir identifier le capteur de température de la cafetière, faites quelques recherches rapides sur internet afin de déterminer:
- Différente classification des thermistances
- Ses symboles
- Sa loi de variation
- Ses différentes caractéristiques (sensibilité, plage de température)
- Autres types de capteurs de température
II. 2 Mise en situation
a.Etude de la thermistance
A partir du document technique sur la thermistance B57500 :doc technique CTN
- Donner la valeur de la résistance de cette thermistance à + 25°C.
- Relever la caractéristique RThermistance= f(température) (se lit Rthermistance en fonction de la température)
- Est ce que l'on obtient bien une variation comme définie en II.1?
- Cette thermistance est elle linéaire dans toute la gamme de température ?
b. Analyse du schéma
La cafetière fonctionne pour des température de 20°C (température ambiante) à 90°C (température max); nous allons étudier l'évolution de la résistance de la thermistance seulement dans cette plage de température.
Sur le schéma électronique donné précédemment, la thermistance est en série avec une résistance de 6.6 KΩ et fournit une tension VThermistance en fonction de la variation de la résistance de la thermistance donc de la température. Ce montage est appelé un pont diviseuret est très souvent utilisé
On obtient la valeur de la tension par la relation suivante:
Sachant que R7= 6.6KΩet que Valimentation= 12 V
- Calculer V20°Cet V90°C.
- A partir du tableur Excel feuille 2:
- comparer vos valeurs à celles obtenues dans le tableau.
- relever la caractéristique VThermistance = f (température ), de 0°C à + 90°C (Faire un copier-coller de votre courbe).
- Conclure sur la nature de la courbe. A quelle gamme de température peut on considérer la courbe « linéaire » (droite affine) ? (tracer une courbe de tendance)
c. Linéarisation de la courbe
En mettant une résistance en parallèle sur la CTN (prendre une résistance de valeur égale à RCTN à 20°C), la courbe devient plus « linéaire » (droite affine) sur une plus grande gamme de température. La relation vue précédemment va changer car on a maintenant RThermistance en parallèle avec une résistance que l'on prendra à 12KΩ
- A partir du tableur Excel feuille 3, relever la nouvelle caractéristique la courbe VThermistance= f (température ), de 0°C à + 90°C (Faire un copier-coller de votre courbe) avec une résistance de 12KΩ en parallèle avec la CTN.
- A quelle gamme de température peut on considérer la courbe « linéaire » (droite affine) ? (tracer une courbe de tendance)
- Déterminer VThermistance graphiquement pour une température de 85°C (température où l'on doit couper l'alimentation du corps de chauffe)
III. Mise en forme d'un signal de commande pour la chaîne de puissance
Nous verrons dans le TP de la modulation que la chaîne d'information envoie un ordre de commande au pré-actionneur de la chaîne de puissance sous une forme suivant la technologie employée en préactionneur. Dans la partie précédente, nous savons que l'on souhaite alimenter le corps de chauffe jusqu'à ce qui atteigne 85°C; Vous avez déterminé la tension VThermistance à 85°C .
III. 1 Analyse du schéma de la thermistance sous PROTEUS
a. Présentation du logiciel
Proteus est une suite logicielle de CAO électronique éditée par la société Labcenter Electronics. ISIS est la composante de Proteus qui permet la création de schémas et la simulation électrique. La grande force de ISIS est de pouvoir simuler le comportement d'un microcontrôleur (PIC, Atmel, 8051, ARM, HC11...) et de son interaction avec les composants qui l'entourent.
b. Construction du montage sous protéus
- Ouvrir le logiciel Protéus et créer un nouveau projet
- Appuyer sur le P (bleu) à gauche de l'écran. Une bibliothèque s'ouvre et permet de choisir les composants;on prendra:
- 2 résistances en 0.6W: 12K, 6K8
- 1 CTN (noté NTC) de I0K
- Placer les composants sur la partie centrale et construisez le schéma
- Alimenter le schéma par un générateur DC en 12V (voir photo)
- Mettre la masse
- Mettre un Voltmètre pour VThermistance
On obtient le montage suivant
- Double cliquer sur la CTN et régler la valeur de R à celle trouvée pour 85°C (cf tableur Excel \"CTN à Compléter\" à la feuille 1)
- Lancer la simulation en appuyant sur le triangle en bas à gauche et relever la valeur VThermistance (à comparée à celle trouvée en II.2.c)
III. 2 Réalisation d'un ordre de commande pour la chaîne de puissance
L'objectif n'est pas d'étudier un montage électronique mais seulement d'interpréter des mesures afin de comprendre le signal obtenu pour commander un élément de la chaîne de puissance
a. Réalisation du schéma d'ensemble
Réaliser le schéma complet de la chaîne d'information après avoir sélectionner dans la librairie les composants suivants
Composants
schéma complet
b. Analyse du montage
Vous compléterez le tableau Excel à partir de vos essais : Tableau à compléter
- Lancez la simulation
- Régler le potentiomètre à 100% et relever les différentes tension 1 à 4; définir la position du contact du relais RL1
- Régler le potentiomètre à 0% et relever les différentes tension 1 à 4; définir la position du contact du relais RL1
- A quelle valeur de \"Tension 2\" a t-on un basculement de notre montage? est ce que cela correspond à ce que l'on veut c'est à dire couper l'alimentation du corps de chauffe à 85°C
c. Conclusion
- Compléter les blocs de la chaîne d'information à partir du schéma en rappelant la fonction de chacun
- Quelle la nature du signal \"Ordre de commande\"?
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
TP 2.3 Etude de la modulation
I. Introduction
Dans ce TP, nous allons revenir sur la fonction MODULER et ses différentes caractéristiques; elle est assurée par le Pré Actionneur se trouvant en amont de l'actionneur dans la chaîne de puissance.
Le modulateur d'énergie est le lien entre la source d'énergie et l'actionneur électrique, c'est à dire entre la fonction ALIMENTER et CONVERTIR de la chaîne d'énergie d'un système.
Nous verrons également son importance et son lien avec la chaîne d'information.
II. Lecture de schéma électronique
Vous disposez des schémas électronique de la cafetière ERM ainsi qu' une photo de la carte
En reprenant votre TP2.1 \"Chaine de puissance et d'information\" :
- Identifiez le bloc Actinneur et Préactionneur de la chaîne de puissance du corps de chauffe et de la pompe
- Identifier l'élément permettant d'assurer la fonction MODULER
- A partir des documents fournis, expliquer son fonctionnement
III. Rappel sur la fonction MODULER
Un modulateur d'énergie est un montage utilisant des interrupteurs électroniques de puissance permettant, par un séquencement adapté de ces derniers, de faire varier :
- la vitesse d'un moteur (alternatif ou continu)
- La tension
- l'éclairage d'une lampe
- La température
- Etc
On trouve différents convertisseurs suivant la nature de l'alimentation et le type d'actionneur
Nom du convertisseur
Fonction
Symbole
Le Hacheur
Les hacheurs convertissent une tension continue fixe en tension continue variable
Le redresseur
Les redresseurs convertissent une tension alternative en une tension continue variable
L'onduleur
Les onduleurs convertissent une tension continue fixe en une tension alternative de fréquence variable
Le gradateur
Les gradateurs permettent d'obtenir une tension alternative variable à partir
d'une tension alternative fixe.
Définir le type de modulateur pour le corps de chauffe et pour la pompe? justifier votre réponse à partir des questions précédentes
IV. Etude sur la fonction MODULER
Dans cette partie, vous allez étudier la modulation permettant d'obtenir une tension alternative variable. Ce travail se fera en 2 parties:
- Analyse pratique à partir d'un montage
- Analyse théorique à partir d'une simulation sous PSIM
Ces analyses permettront de comprendre l'importance de bien adapter le modulateur avec l'actionneur
IV.1 Analyse pratique d’une modulation d’énergie
Vous disposez d’un gradateur à variation d’angle d’ouverture (photo ci-contre), d’un réseau 230V et d’une résistance réglable.
Le montage est déjà câblé (ne pas toucher le matériel ou le réglage de l'oscilloscope)
- Faire plusieurs relevés de U et P en fonction de la position du curseur (0, 1/4,1/3,1/2,2/3,3/4, max)
- Pour 2 positions de votre choix, relevez l'oscillogramme
- Expliquer simplement comment se faire la modulation d'énergie
- Ce type de modulateur s'appelle \"modulateur à variation d'angle d'ouverture\"; Déterminer cette angle et justifiez son appellation.
- Peut on employer cette modulation pour tous les types de charges (ex : lampe, résistance…) ? ; justifier votre réponse.
IV.2 Analyse par logiciel d'une modulation d'énergie
a. Rappel
PSIMest un logiciel de simulation bien adapté à l’électrotechnique et l’électronique de puissance. Par défaut, les composants sont parfaits (pas de pertes), ce qui permet de se centrer sur la compréhension du fonctionnement du circuit testée.. Il est possible de réaliser des analyses temporelles (les plus fréquentes pour ce simulateur) mais aussi faire une étude de réponse en fréquence (FFT) ; également on peut paramétrer diverses analyses.
b. Principe général d’utilisation :
Après avoir lancé le logiciel, il faut successivement :
- Dessiner le circuit (ou le système à simuler) ou ouvrir fichier donné
- Attribuer des valeurs aux composants.
- Placer les appareils de mesure
- Paramétrer la simulation souhaitée.
- Lancer l’exécution.
- Exploiter les résultats (généralement sous forme graphique)
- Régler les paramètres du générateur et de la charge au même valeur que l’essai précédent
- Simulation
d.Analyse
- Pour 2 positions de votre choix, relevez l'oscillogramme U et P
- Expliquer simplement comment se faire la modulation d'énergie
- Ce type de modulateur s'appelle \"Train d'onde\"; justifiez son appellation.
- Peut on employer cette modulation pour tous les types de charges (ex : moteur, lampe, résistance…) ? ; justifier votre réponse.
IV.2 Conclusion
A partir des mesures et simulation, compléter le tableau suivant
Gradateur
Train d’ondes
Fonctionnement
Appareil pour mesure de la puissance (entourer bonne réponse)
Oscilloscope
Wattmètre
Oscilloscope
Wattmètre
Type de charge (entourer bonne réponse)
Faible inertie
Forte inertie
Faible inertie
Forte inertie
V. Lien avec la chaîne d'information
Dans les parties précédentes, Vous avez vu qu'on pouvez moduler la puissance:
- soit en agissant sur un angle d'ouverture
- soit en agissant sur un temps de fermeture par rapport à une période
Dans un système autonome avec une régulation, La chaîne d'information enverra donc un ordre au modulateur différent suivant sa technologie; c'est ce que nous allons travailler dans cette partie
Vous allez travailler à partir de la documentation technique d'un Controleur de puissance TE10P que vous devez consulter: TEP.pdf
- A partir de la page 13:
- Déterminer les 2 types de signaux de commande
- Relever les caractéristiques de ces signaux (valeurs, nature, mode de variation)
- Dessiner ces différents signaux
- A partir de la page 71:
- Justifier le type de signal que doit envoyer la chaîne d'information au modulateur suivant qu'on se trouve en \"variation d'angle d'ouverture \" ou en \" train d'onde\".
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
Etude thermique de la cafetière
I. Quelques rappels de thermodynamique
Définition encyclopédie LAROUSSE :
Thermodynamique:nom féminin. Branche de la physique qui étudie les propriétés des systèmes où interviennent les notions de température et de chaleur.
Chaleur :nom féminin (latin calor, -oris)
* Qualité de ce qui est chaud ; température élevée ; sensation que donne un corps chaud : La douce chaleur d'un soleil d'automne.
* Qualité d'une couleur, d'un parfum, d'une voix, etc., à la fois soutenus et attirants.
* Qualité de quelqu'un, de quelque chose qui est chaleureux, ou qui manifeste de l'ardeur dans les sentiments, de l'animation, etc. : Plaider une cause avec chaleur.
* Peintures et vernis : Qualité d'un coloris où dominent le rouge, l'orangé ou certains jaunes.
* Physique : Mode de transfert de l'énergie d'un corps à un autre qui ne correspond pas à un travail. (L'énergie ainsi transférée se nomme quantité de chaleur.)
Chaleur sensible :La chaleur sensible provoque une hausse de température d'un corps sans en changer de phase. La quantité de chaleur sensible, Qsens, transférée à un corps, ou d’un corps, provoque un changement de température d’une valeur initiale, Tin, à une valeur finale, Tfin. Ainsi,
Qsens = m . C . ΔT = m . C . (Tfin - Tin).
où m est la masse du corps en kg, C la capacité calorifique* spécifique de la matière dont le corps est composé (définie plus bas) et ΔT la variation de température en Kelvin causée par le transfert de chaleur.
Remarque : L'unité de mesure de température Européenne étant le Celsius, les températures données sont en Celsius. Cela n'est pas gênant car dans la formule, intervient la différence de température (Tfinale - Tinitiale). Cette différence est égale à celle constatée en Kelvin.
Dans cette équation, ΔT sera positive si Tfin > Tin c’est-à-dire si l’on transfère de la chaleur au corps. Dans le cas contraire, la perte chaleur ΔT sera négative. Donc, la quantité de chaleur sensible, Q, sera soit positive si le corps gagne de l’énergie, soit négative s’il en perd dans le transfert de chaleur. Cette convention de signe permet d’exprimer mathématiquement la direction de l’échange de chaleur relativement au corps.
La capacité thermique (ou capacité calorifique) d'un corps est une grandeur permettant de quantifier la possibilité qu'a un corps d'absorber ou restituer de l'énergie par échange thermique au cours d'une transformation pendant laquelle sa température varie. La capacité thermique est l'énergie qu'il faut apporter à un corps pour augmenter sa température de un Kelvin. Elle s'exprime en Joule/Kg/Kelvin. Elle dépend du matériau. Plus C est grand (voir tableau ci-dessous), plus il faut d’énergie pour élever la température.
Puissance :La puissance est la quantité d'énergie fournie par un système à un autre par unité de temps. La puissance correspond donc à un débit d'énergie :
P = Q / t
avec P : puissance moyenne en Watt (W), Q énergie en Joule (J) et t durée du transfert d'énergie en seconde (s)
Rappel : 1Wh = 3600 J, 1h = 3600s donc 1Ws = 1J
II. Réalisation du modèle théorique du corps de chauffe de la cafetière
Lors du préchauffage, l'eau est \"stagnante\", ce qui permet de quantifier la chaleur sensible nécessaire à sa chauffe et le temps de préchauffage.
Hypothèse : Toute la puissance consommée est transmise en chaleur sensible (pas de pertes par rayonnement...), c'est-à-dire que toute la chaleur produite par la résistance sert à chauffer l’eau
Données :
Eau dans le réservoir = 20 °C
Eau en sortie du corps de chauffe = 85 °C
Puissance de la cafetière P = 1200 W
Capacité calorifique de certains matériaux
Matériaux :
Corps de chauffe en alliage alu 1060
Conduite d’eau en acier inox chromé
II.1 Échange thermique: Sur le dessin en coupe ci-dessous et en fonction des modèles 3D SW fournis (lancer l'assemblage SW)
- Indiquer par une flèche rougele trajet de la chaleur émise par la résistance, jusqu'à l'eau. La résistance est noyée dans une céramique (que nous devons prendre en compte : couleur gris foncé et blancs sur la coupe ci-dessous).
- Indiquer le nom des composants traversés ainsi que leurs matériaux (eau incluse). La résistance est en marron sur le dessin ci-dessous et l'eau en bleu.
II. 2 Calcul théorique à partir d'une simulation SW
a. Calcul pour chaque élément traversé la quantité de chaleur sensible.
- Ouvrir SW puis aller chercher le fichier AssCORPS DE CHAUFFE
- Sur SW, relever les masses de chaque solide concerné :
la conduite d’eau ( CONDUITE EAU CORPS DE CHAUFFE)
le corps de chauffe ( CORPS )
la conduite en céramique ( ISOLANT C DE C CORPS DE CHAUFFE)
- Ouvrir le fichier pièce désiré en cliquant droit puis icone ouvrir
- Vérifier le matériau dans l'arbre de création en cliquant sur éditer. Modifier si nécessaire
Sous Sw2010, dans l'onglet évaluer, prendre l'outil propriété de masse.
Valeurs des capacités calorifiques
Relever la masse.
Retrouver, dans le tableau donné ci-dessus, la capacité calorifique de chaque élément.
Calculez des quantités de chaleur sensible par élément
b. Calcul de la quantité de chaleur sensible totale.
Remarque : Les pertes étant négligées, on suppose que les températures (initiale et finale) sont identiques pour chaque solide. La quantité totale de chaleur sensible est égale à la somme des quantités de chaleur sensible de chaque élément participant au transfert de chaleur.
Dans notre exemple elle est de ........... J, ce qui correspond à une quantité de chaleur sensible de ......... Wh (1Wh = 3600J)
c. Calcul du temps de préchauffage
La puissance est la quantité d'énergie fournie par un système à un autre par unité de temps. La puissance correspond donc à un débit d'énergie :
P = Qsens / t
avec P : puissance moyenne en Watt (W), Q énergie en Joule (J) et t durée du transfert d'énergie en seconde (s)
La durée de transfert d’énergie de la résistance à l’eau (temps de préchauffage théorique) de la cafetière Nespresso CITIZ est de ........s.
III. Validation du modèle théorique de la bouilloire par des essais
L'activité suivante nécessite la maquette didactisée de la cafetière; il est très important de suivre les consignes sinon vous risquez de perdre du temps et d'avoir des relevés totalement éronés
Mode opératoire:
- mesure des températures sur l'afficheur en façade
- mise sous tension seulement dès qu'on est prêt pour les mesures
- Temps de préchauffage jusqu'à un allumage continu des 2 voyants de la cafetière
III.1 Mesure
Sur le thermomètre digital en façade (cafetière didactisée) :
- Faire un relevé des températures, à l'aide de l'affichage digital, toutes les 10 secondes lors :
* de la préchauffe de l'appareil (de la mise sous tension jusqu'à la stabilisation de la température durant 10s)
* de la réalisation de 5 expressos (réalisé à la suite l'un de l'autre)
* de la réalisation de 5 Lungos (réalisé à la suite l'un de l'autre)
- Réaliser sous EXCEL, les courbes correspondantes.
III.2 Analyse
Déterminer sur la courbe les périodes de préchauffage, de maintien en température, de chauffe de l'expresso et du lungo.
Comment évolue la température?
IV. Analyse à partir du modèle simulé de la cafetière sous PSIM
Nous partirons du principe qu’elle est constitué de :
- 21 g de céramique avec C = 820 J/kg.K°
- 330 g de corps alu avec C = 880 J/kg.K°
- 65 g de conduite acier inox avec C = 470 J/kg.K°
- 15 g d’’eau avec C = 4187 J/kg.K°
- 40 cm de tuyau PTFE de rayon interne 1 mm + 1mm de paroi λplastique=0.25 w/(m.K)
Elle a une puissance de 1200W. Le volume d’eau chauffée sera de 0.015 litre de 20° à 95°.
IV.1 Calculs préliminaires
- D’ après la formule suivante , calculer la résistance thermique du plastique :
- D’ après la formule suivante , calculer la capacité thermique CTH des différents éléments :
Cth=M.C en (J/K) avec M :Masse en (kg), C :coefficient de chaleur massique Ceau=4187 J/(kg.K)
IV.2 Simulation sous PSIM
- Ouvrir le fichier PSIM de la cafetière:
- Configurer le fichier PSIM avec les différents éléments calculés en IV.1
- Configurer la simulation en cliquant sur Simulation/simulation control et définir les valeurs suivantes
- Cliquer sur Simulate/run simulate, sélectionner d’abord les températures Ta et Teau puis afficher les courbes.
- Ensuite cliquer sur screen et rajouter l’énergie.
- A l’aide de l’icone Measures en bas dans la barre de tache, Lire à 85° le temps de chauffe et l’énergie consommée.
IV.3 Analyse
Est ce que les résultats obtenus sont proches de ceux de la mesure? justifiez vos réponses en argumentant au mieux à partir des différents relevés
V. Réalisation du modèle simulé de la cafetière sous SW
La courbe de chauffage du corps de chauffe peut être également obtenue avec le module FlowSimulation sur SW2010. Vous pouvez essayer de travailler sous SW afin d'obtenir cette courbe
Courbe de chauffage du corps de chauffe
- Vérifier et comparer le temps de chauffe réel chronométré (idem que précédemment), simulé (tutoriel Flow Simulation,) et calculé.
- Identifier les paramètres pouvant générer les écarts s'il y en a.
- Proposer une solution qui permettrait de diminuer les écarts (voir hypothèse de départ).
La diode est un composant électronique qui permet le passage unidirectionnel du courant, de l’anode et la cathode.
Symbole :
Constitution :
Une diode est constituée d’une jonction P-N. La jonction P-N est obtenue dans un monocristal pur de silicium (ou de germanium) par dopage d’impuretés.
Le fait d'introduire en très faible quantité des impuretés (opération appelée dopage) dans un cristal de semi-conducteur améliore fortement la conductivité du cristal. Si un cristal de germanium ou de silicium a reçu des impuretés pentavalentes (arsenic, phosphore, antimoine) il devient un semi-conducteur à conductivité N (ex: silicium N). Un cristal de germanium dopé par des impuretés trivalentes (indium, gallium, bore) devient un semi-conducteur P.
La jonction PN polarisée en sens inverse
En reliant la zone P à la borne - d'une source de tension continue et la zone N à la borne +, les porteurs de charges s'éloignent de la jonction et la jonction devient quasiment isolante. La diode est dite polarisée en sens inverse, le courant qui la parcourt est très faible, il est dû aux porteurs minoritaires.
La jonction PN polarisée en sens direct
En reliant l'anode de la diode (zone P) au + de la pile et la cathode (zone N) au + les porteurs de charge traversent la jonction et un courant élevé parcourt le circuit.
1.2 Caractéristiques
Il existe deux caractéristiques différentes, en direct et en inverse.
En direct :
Caractéristique Réelle : ID =f(VAK) ou IF=f(VF)
Commentaires :
Dans la première partie de la courbe (VAK<VD) le courant ne passe pas, la diode est bloquée. Ensuite, quand VAK>VD, le courant passe, la diode conduit
VD (ou VS) est appelée tension de seuil de la diode. (VD≈0,6V à 0,7V pour une diode classique)
La résistance dynamique Rd est la pente de la courbe (quand la diode conduit) :
Caractéristique Idéalisée: ID =f(VAK) ou IF=f(VF)
Commentaires :
Rd = 0
En inverse :
Schéma du montage d’essai:
Cet essai va détruire la diode !
En effet, on va monter la tension jusqu’à ce que la diode conduise, or elle ne peut conduire en inverse que détruite !
Caractéristique :
1.3 Modèle équivalent simplifié
Diode en inverse : (bloquée)
Diode en directe(passante):
Diode parfaite :
Diode idéalisée :
Diode réelle :
1.4 Diode électroluminescente (DEL ou LED):
Elle est faite dans des semi-conducteurs différents qui émettent des photons (de la lumière) quand ils sont parcourus par un courant, en direct. Comme une diode traditionnelle, elle est bloquée en inverse. En général leur tension de seuil est un petit peu plus élevée (≈1.6V). Il en existe de différentes couleurs et de différentes puissances.
Présentation de la base de la diode et LED avec exercice classique de choix de résistance :
Montage à connaitre :
DIODE DE ROULE LIBRE : (élément de protection)
PONT DE DIODE / PONT DE GRAETZ (convertisseur alternatif / continu)
On ajoutera un condensateur pour produire de la tension continu.on obtient donc :
Cas particulier la Diode Zener :
En résumer :
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"2. Le transistor
Symboles et constitution du transistor bipolaire
Un transistor bipolaire est constitué de 2 jonctions PN (ou diodes) montées en sens inverse. Selon le sens de montage de ces diodes on obtient les 2 types de transistors bipolaires :
NPN
PNP
Sous l'effet de la polarisation en direct de la jonction B-E, avec un courant de base Ib on obtient un courant collecteur Ic dont la valeur sera notamment fonction des conditions de polarisation de la jonction B-E. Ce courant Ic peut être nettement plus important que le courant de base Ib, c'est l'effet transistor.
On ne peut considérer le transistor comme l’association de deux diodes mais la représentation suivante peut parfois aider :
Remarque : la flèche indique toujours l'émetteur et le sens de circulation du courant.
Remarque 2 : c'est l'effet \"transistor\" qui permet au courant de traverser la diode en sens inverse.
Présentation de la base du transistor :
Il existe plusieurs types de transistors:
Transistors Bipolaires (PNP ou NPN)
Transistors de puissance MOSFET ( Transistor à effet de champ à grille métal-oxyde )Transistor à effet de champ à grille métal-oxyde
Quelques utilisation du Transistor:
Allumer une lampe, un moteur, un solenoid…
Pont en H pour contrôler le sens de rotation d’un moteur DC:
Quand Q1 et Q4 sont saturés (passants), Q2 et Q3 sont bloqués: le courant passe de A à B donc le moteur tourne dans un sens.
Quand Q2 et Q3 sont saturés (passants), Q1 et Q4 sont bloqués: le courant passe de B à A donc le moteur tourne dans l’autre sens.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
3. Le thyristor
Le thyristor est un semi-conducteur qui fonctionne comme une diode mais sa conduction est commandée (gâchette G).
Condition d'amorçage (conduction): Pour qu'un thyristor conduise, il faut:
Que la tension aux bornes du thyristor soit supérieure à la tension de seuil (environ 0,7V) : VAK > VS (comme une diode)
et
IG (courant dans la gâchette G) différent de 0 (impulsion)
Une fois ces deux conditions respectées le thyristor est passant et se comporte comme une diode.
Condition de blocage : Le blocage du thyristor n'interviendra que lorsque le courant IAK deviendra inférieur au courant de maintien IH. La valeur de la tension VAK sera alors quelconque (en général c’est quand cette tension VAK devient proche de zéro que le courant devient faible. C’est pour cela que souvent on raisonne avec la tension VAK et qu’on dit que le thyristor se bloque quand VAK devient négatif. C’est approximatif mais plus facile pour raisonner).
Exemple de fonctionnement du thyristor en direct :
Oscillogramme :
Conduction Conduction
Exemple d'utilisation du thyristor:
Commander la vitesse des moteurs à courant continu et des moteurs à courant alternatif.
Régler la température.
Remarque : il faut donc un circuit électronique de commande du thyristor, circuit qui va engendrer les impulsions à envoyer sur la gâchette.
","title":""},{"edit":"
Mettre le résultat ici (code et figure).
"}],[{"text":"
4. Le triac
Le triac est un composant électronique équivalent à la mise en parallèle de deux thyristors montés tête-bêche (l'anode de l'un serait reliée à la cathode de l'autre, les gâchettes respectives étant commandées simultanément)
Exemple de fonctionnement du triac :
Le déclenchement du triac s'effectue au travers de la patte de connexion de commande appelée gâchette (G)
pour que le triac conduise (laisse passer) une tension positive, il faut satisfaire 2 conditions : la gâchette doit être commandée positivement et la tension aux bornes du triac doit aussi être positive.
pour stopper la conduction positive il faut que la tension aux bornes du triac devienne négative.
de même :
pour que le triac conduise (laisse passer) une tension négative, il faut satisfaire 2 conditions : la gâchette doit être commandée négativement et la tension aux bornes du triac doit aussi être négative.
pour stopper la conduction négative il faut que la tension aux bornes du triac devienne positive.
Exemple d'utilisation du triac:
Régler la lumière (lampes allogènes ou incandescentes).
En poursuivant votre navigation sur mon site,
vous acceptez l’utilisation des Cookies et autres traceurs
pour réaliser des statistiques de visites et enregistrer
sur votre machine vos activités pédagogiques.En savoir plus.