20
Solutions programmables au collège Le lien entre mécanique, électronique et informatique µc

Solutions programmables au collège

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Solutions programmables au collège

Solutions programmablesau collège

Le lien entre mécanique, électronique et informatique

µc

Page 2: Solutions programmables au collège

1 Présentation des solutions collègeLes microcontrôleurs ont conquis tout doucement notre entourage. Nous les retrouvons dans nos voitures, dans nos chauffages, dans

beaucoup d'objets connectés…

Jusqu’à présent leur utilisation était réservée à un public averti. Leur mise en œuvre nécessitait des connaissances élevées. Il y a quelques années, des personnes ont eu l'idée de perdre une partie des capacités du microcontrôleur au profit d'une simplification de leur programmation. Le bootloader est un petit ''morceau'' de logiciel chargé sur la puce qui permet de télécharger des programmes sur la puce via une simple connexion série.

Il existe beaucoup de microcontrôleurs construit par beaucoup d'entreprises.( https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur.)

P our ce qui nous concerne en collège nous utilisons deux familles de microcontrôleurs.

- La première historiquement est la famille des Pics de Microchip® dénommé Picaxe lorsqu'ils sont chargés avec les bootloaders.

- La deuxième est la famille des microcontrôleurs Atmel® généralement montés sur des cartes Arduino.

Ces microcontrôleurs ont des capacités presque identiques. La plupart des broches sont configurables en entrées ou en sorties.

Ces deux solutions permettent à nos élèves d'appréhender le monde des microcontrôleurs. Malheureusement comme nous avons investi du temps d’apprentissage sur les logiciels, les savoirs faire…, nous n'utilisons souvent qu'une de ces solutions.

Si l'on regarde bien, c es solutions ne sont pas nécessairement en opposition mais plutôt complémentaire s .

Il est important de choisir une solution en fonction des contraintes de vos projets.

Page 3: Solutions programmables au collège

1.1 Solution Arduino, la solution libre openhardware Une solution à base de ''cartes''Un connecteur devenu un standard.Plusieurs types de microcontrôleurs (Atmel).

Un environnement logiciel libre puissant de type C/C++. Une communauté importante.Beaucoup d'exemples d'application sur le WEB

Des shields de tout types, donnent accès à une

multitude d'applications adaptées au prototypage

rapide.

Des environnements logiciels libres et graphiques.

Blockly@rduino, blocklyduino, Ardublock, Scratch, ModKit

micro, Codebender, Minibloq…Ardublock ESP

Page 4: Solutions programmables au collège

Les cartes Génuino sont programmables avec l’IDE Arduino mais ont des microcontrôleurs différents. Il existe un grand nombre de carte avec des brochages différent de la carte Arduino Uno.

Wemos D1 et D1 minimicrocontrôleurs EspressifESP 8266

Arduino UnoMicrocontrôleurs AtmelATmega328P

Arduino Mega2560Microcontrôleurs AtmelATmega2560

Arduino DuéMicrocontrôleurs AtmelAtmel SAM3X8E

Arduino MKRMicrocontrôleursSAMD21 Cortex-M0+ 32bit low power ARM

Carte basés sur :Microcontrôleurs Espressif ESP 32

Page 5: Solutions programmables au collège

Quelques informations historiques : source https://framablog.org/2011/12/10/arduino-histoire/

''L’histoire retiendra que c’est dans un bar d’une petite ville du nord de l’Italie qu’est né le projet Arduino qui, de manière totalement inattendue, est en train de révolutionner le domaine de l’électronique à l’échelle mondiale, puisque pour la première fois tout le monde peut vraiment s’y essayer et découvrir qu’il aime ça ! L’histoire retiendra également que rien de tout ceci n’aurait été possible sans le choix initial des licences libres qui a conditionné non seulement son bas prix et sa massive diffusion mais également son approche et son état d’esprit. Acteur et non consommateur, on retrouve ici le goût de comprendre, créer et faire des choses ensemble. Concepts simple et plein de bon sens mais que notre époqu’Apple a fortement tendance à oublier.''

''C’est en l’honneur de ce bar où Massimo Banzi a pour habitude d’étancher sa soif que fut nommé le projet électronique Arduino (dont il est le cofondateur). Arduino est une carte microcontrôleur à bas prix qui permet même aux novices de faire des choses époustouflantes. Vous pouvez connecter l’Arduino à toutes sortes de capteurs, lampes, moteurs, et autres appareils, et vous servir d’un logiciel facile à appréhender pour programmer le comportement de votre création. Vous pouvez construire un affichage interactif, ou un robot mobile, puis en partager les plans avec le monde entier en les postant sur Internet. Sortie en 2005 comme un modeste outil pour les étudiants de Banzi àl’Interaction Design Institute Ivrea (IDII), Arduino a initié une révolution DIY dans l’électronique à l’échelle mondiale. Vous pouvez acheter une carte Arduino pour seulement 30 dollars ou vous construire la vôtre à partir de rien : tous les schémas électroniques et le codesource sont disponibles gratuitement sous des licences libres. Le résultat en est qu’Arduino est devenu le projet le plus influent de son époque dans le monde du matériel libre. La petite carte est désormais devenu le couteau suisse de nombreux artistes, passionnés, étudiants,et tous ceux qui rêvaient d’un tel gadget. Plus de 250 000 cartes Arduino ont été vendues à travers le monde — sans compter celles construites à la maison. « Cela a permis aux gens de faire des choses qu’ils n’auraient pas pu faire autrement. », explique David A. Mellis, ancien étudiant à l’IDII et diplômé au MIT Media Lab, actuellement développeur en chef de la partie logicielle d’Arduino.

On trouve des alcootests, des cubes à DEL, des systèmes de domotique, des afficheurs Twitter et même des kits d’analyse ADN basés sur Arduino. Il y a des soirées Arduino et des clubs Arduino. Google a récemment publié un kit de développement basé sur Arduino pour ses smartphones Android. Comme le dit Dale Dougherty, l’éditeur et rédacteur du magazine Make, la bible des créateurs passionnés. Arduino est devenu « la partie intelligente dans les projets créatifs ».''

Page 6: Solutions programmables au collège

1.1.1 Ce qu'il faut retenir pour la famille ArduinoArduino c'est avant tout :

- un connecteur qui est devenu un standard (permet de recevoir des cartes shields),

- un logiciel IDE Arduino (type C, C++…) unique qui s'adapte à toutes les cartes Arduino,

- des logiciels libres graphiques (Blockly@rduino, Ardublock, BlocklyDuino logiciel en ligne, Ardublock ESP…),

- une communauté internet ''libre'' très importante avec des shields et des bibliothèques,

- un site, des forums conséquents ( https://www.arduino.cc/ ),

- énormément de ressources DIY (do it yourself),

- des prix ridiculement bas pour les ''Ersatzs Arduino''.

Exemples d'applications

Page 7: Solutions programmables au collège

1.2 Solution Picaxe, la solution ''gratuite''Une solution à base de ''Circuits Intègrés''Plusieurs types de microcontrôleurs de 8 à 40 broches (Pic de Microchip).Particulièrement adaptés au prototypage.

Un environnement logiciel gratuit. Une communauté importante.Beaucoup d'exemples d'application sur le WEB.Une connexion série et une programmation facile.

Des ''cartes'' de tout types donnent accès à une

multitude d'applications.Très grande simplicité de

mise en œuvre.

Des environnements logiciels graphiques et gratuits.

Blockly Picaxe, PicaxeEditor 6.

Page 8: Solutions programmables au collège

Dans la mouvance des premiers ''Micro PC'' comme les Zx 81 et plus récemment le projet microbit de la BBC ( http://microbit.org/ ) l'entreprise Révolution Education ( http://www.rev-ed.co.uk/ ) propose des Pics de Microchips® préprogrammés avec un bootloader. C'est une solution qui n'est pas ''libre'' mais ''gratuite''. L'entreprise ne fonctionne qu'avec les cartes qu'elle vend. Les différents programmes sont gratuits.

Les Picaxes sont constitués de la famille des Pics 8, 14, 18, 20, 28 et 40 broches qui offrent une grande flexibilité sur la façon dont le système peut être utilisé. Comme pour les microcontrôleurs Atmel les PICAXE, presque toutes les broches peuvent être configurées par l'utilisateur pour être une sortie, une entrée numérique (on / off), une entrée analogique ou un capteur tactile. Des fonctionnalités avancées telles que PWM, I2C, SPI, RS232 et l'interface 1-Wire peuvent également être facilement réalisées si nécessaire.

Il existe plusieurs cartes proposées par l'entreprise Révolution Education qui s’adaptent à un grand nombre de problématiques. Contrairement aux cartes Arduino la connectique n'est pas devenue un standard.

1.2.1 Ce qu'il faut retenir pour la famille PicaxePicaxe c'est avant tout :

- un logiciel Picaxe éditor6 (Basic),

- des logiciels gratuits graphiques (Picaxe éditor6, Blockly pour picaxe…),

- une communautée internet importante ,

- un forum conséquent ( http://www.picaxeforum.co.uk/forumdisplay.php?44-Le-forum-officiel-PICAXE-francophone ),

- énormément de ressources DIY (do it yourself)

- des prix ridiculement bas pour les cartes les plus simples.

1.2.2 Exemples d'applicationsAvec ces deux solutions qui ''sortent'' du monde de l'éducation vous trouverez pour le collège de quoi couvrir tous les nouveaux

programmes sans problèmes.

Page 9: Solutions programmables au collège

- Si vous voulez faire du prototypage plus orienté vers la réalité ''maker''vous choisirez sans doute la gamme Picaxe car vous pourrez créer facilement vos propres circuits avec les élèves en y plaçant le Pic qui convient le mieux. Ceci grâce à votre fraiseuse et un logiciel comme Target 3001 ( https://www.ibfriedrich.com/fr/index.html ) capable d'usiner directement en ''gravure à l'anglaise''.

Les logiciels ont évolué et proposent trois types de langages en Français. Programmation en basic, en algorigramme, en blocs. Ils se programment facilement grâce à une liaison série type RS232 et deux résistances ou un câble usb plus coûteux. La dernière version de Picaxe Editor6 permet de programmer un automate depuis plusieurs postes informatiques.

Exemples d'applications commerciales

Exemples d'applications ''collège''

Interface de programationThermostat digital

Télécommande infrarouge

Interface de programationRobot, gamme Picaxe, carte

Page 10: Solutions programmables au collège

2 Conseils pour débuter.Lorsque l'on commence à travailler avec des solutions à base de

microcontrôleurs il faut différencier deux choses importantes :

- la partie ''hardware'', l'électronique,

- la partie''software'', programme.

Il est très important de ne pas mélanger les problèmes de programmations etd'électroniques.

Depuis quelque temps une solution est devenue un standard grâce à une connexion simple qui véhicule 2 signaux. C'est la solution de capteurs et d'actionneurs GROVE® de SEEED. Cette solution permet de se concentrer exclusivement sur les problèmes de programmation.

Les modules GROVE sont aussi compatibles avec

Picaxe en utilisant la carte AXE 401 compatible avec

le brochage Arduino

Page 11: Solutions programmables au collège

3 Les microcontrôleurs au collègeDans un système « classique » à base de microprocesseur, le processeur, les circuits mémoires (ROM ou RAM) et les circuits

d’interface E/S sont des entités distinctes du système, c’est-à-dire des circuits intégrés différents qui communiquent entre eux grâce au bus adresses/données/commandes.

Un microcontrôleur intègre dans un même boîtier les fonctions suivantes :- une unité centrale (CPU)- de la mémoire vive pour les données, voire de la mémoire morte de programme- des ports E/S booléens Tout-Ou-Rien (TOR)- des timers, des ports série, des convertisseur A/N (analogiques/numériques) et/ou N/A, des sorties PWM (ou MLI modulation de largeur d’impulsion), bus I²C, bus CAN

Avantages des systèmes à base de microcontrôleurs

Diminution de l’encombrement du circuit : un système à base de microcontrôleur possèdegénéralement assez peu de composants électroniquesCircuit imprimé au tracé simplifié.Circuit plus fiable car moins de composants.Diminution des coûts : un microcontrôleur coûte moins cher que la somme des composants qu’ilintègre.

Inconvénients des systèmes à base de microcontrôleurs

Ne convient pas nécessairement à tous les problèmes : un microcontrôleur n’offre pas une grandepuissance de calcul.On ne peut pas toujours utiliser tous les périphériques simultanément : pour diminuer les coûts,certaines broches sont multiplexées.Il faut disposer d’un outil de développement spécifique/compilateur, simulateur).

Page 12: Solutions programmables au collège

3.1 HistoriqueC'est l'entreprise Intel qui à priori a crée le premier microprocesseur intégré. L'INTEL 4004, le premier µProcesseur sortie en 1971,

cadencé à 108KHZ, comportant 2300 Transistors (valeur actuelle $20000). La gravure est de l'ordre de 10um (10000nm)

C'est la famille MCS-48 qui est la plus ancienne pour les microcontrôleurs de Intel. Elle est introduite sur le marché en 1976. Elle regroupe les circuits 8035, 8039, 8040, 8048, 8049 et 8749 autour d'une architecture 8 bits commune constituée d'une unité centrale et d'unehorloge, d'un espace ROM et RAM, d'un timer, et de lignes entrées/sorties parallèle.

Page 13: Solutions programmables au collège

3.2 StructureLe microcontrôleur est constitué de tous les éléments d'un système informatisé avec en plus des ports d'entrée sortie adaptés à la

''gestion mécanique'' tel que les convertisseurs.

CISC ( Complex Instruction Set Computer ), 8051- 68HC11-ST6…- Compilateur simple,- Jeux d ’instructions riches,- Architectures matérielles simples,- Au programmeur d ’optimiser le code,

RISC ( Reduced Instruction Set Computer ), PIC16, PIC18, ATMEL AVR, tous les DSP- Compilateur complexe,- Jeux d ’instructions succincts,- Architectures matérielles optimisées,- C’est le compilateur qui optimise,

Page 14: Solutions programmables au collège

3.3 Synoptique

SPI

UARTRS232

I²C

EEPROMRAMFLASH

PWMs(MLI)

TIMERS

ADCs

DACs

Horloge intégrée

One WIRE

Gestion d'énergie

CapteurDe

Température

Bus de donnée''Hard''CPU Bus de donnée''Hard''

Page 15: Solutions programmables au collège

3.4 Éléments constitutifs

Le processeur (CPU, pour Central Processing Unit, soit Unité Centrale de Traitement) est le cerveau de l'ordinateur. Il permet de manipuler des informations numériques, c'est-à-dire des informations codées sous forme binaire, et d'exécuter les instructions stockées en mémoire.

La mémoire flash est une mémoire de masse à semi-conducteurs ré-inscriptible, c'est-à-dire une mémoire possédant les caractéristiques d'une mémoire vive mais dont les données ne disparaissent pas lors d'une mise hors tension. Ainsi, la mémoire flash stocke les bits de données dans des cellules de mémoire, mais les données sont conservées en mémoire lorsque l'alimentation électrique est coupée.C'est la mémoire où est stoker le programme à exécuter. Le bootloader se situ en début de mémoire.

La RAM est une mémoire dite vive qui stocke les données transitoires utilisées par le microprocesseur.La mémoire vive ou mémoire à accès direct (traduction de l'anglais Random Access Memory (RAM)), par opposition à un accès séquentiel, est la mémoire informatique dans laquelle sont stockées les informations (données, instructions, etc.).

L'EEPROM sert à stocker des données.Une EEPROM est une mémoire non volatile (i.e. son contenu n'est pas perdu lors de la mise hors tension du micro-contrôleur) dont le contenu peut être modifié par le programme ou par un programmateur extérieur (si aucune protection n'est activée). Le nombre d'opérations de ré-écriture est limité (≥1 million), mais il est dix fois plus élevé que pour la mémoire Flash.L'EEPROM sert en principe à stocker des informations obtenues après la programmation du micro-contrôleur, soit de façon définitive, soit de façon temporaire et répétée si la fréquence des modifications reste faible au regard de la durée de vie du produit.

On peut notamment y mémoriser :- des valeurs de réglage de l'appareil, au cours de son utilisation par le biais du programme applicatif, ou bien en usine à l'aide d'un dispositif d'étalonnage et de programmation externe,- des mesures obtenues sur des périodes longues (data logger),- des séquences de commandes interprétables par le programme et modifiables par l'utilisateur (programmateur, séquenceur programmable).

CPU

FLASH

RAM

EEPROM

Page 16: Solutions programmables au collège

L'horloge doit fournir un signal régulier pour synchroniser tout le fonctionnement du processeur

La Gestion d'énergie permet ''d'endormir'' le processeur et de baisser sa consommation dans certains cas. Tout les nouveaux microcontrôleurs ont des fonctions permettant de baisser leur consommations.

Le capteur de température permet de surveiller en interne la température du microcontrôleur et de prévenir tout dysfonctionnement. La température évolue avec la vitesse d'horloge et le nombre de calculs réalisé par le processeur.

LE BUS I2C signifie : Inter-Integrated Circuit, en anglais. C'est un bus informatique qui a émergé de la « guerre des standards » lancée par les acteurs du monde électronique. Conçu par Philips pour les applications de domotique et d’électronique domestique, il permet de relier facilement un microprocesseur et différents circuits, notamment ceux d’une télévision moderne : récepteur de la télécommande, réglages des amplificateurs basses fréquences, tuner, horloge, gestion de la prise péritel, etc.

I2C est un bus série synchrone bidirectionnel half-duplex. Plusieurs équipements, soit maîtres, soit esclaves, peuvent être connectés au bus. Les échanges ont toujours lieu entre un seul maître et un (ou tous les) esclave(s), toujours à l'initiative du maître (jamais de maître à maître ou d'esclave à esclave). Cependant, rien n'empêche un composant de passer du statut de maître à esclave et réciproquement.La connexion est réalisée par l'intermédiaire de deux lignes :

- SDA (Serial Data Line) : ligne de données bidirectionnelle,- SCL (Serial Clock Line) : ligne d'horloge de synchronisation bidirectionnelle.

Il ne faut également pas oublier la masse qui doit être commune aux équipements.Les 2 lignes sont tirées au niveau de tension VDD à travers des résistances de pull-up (RP).Le nombre maximal d'équipements est limité par le nombre d'adresses disponibles, 7 bits pour l'adresse et un bit pour définir si on écrit ou on lit, soit 128 périphériques,

Horloge intégrée

Gestion d'énergie

CapteurDe

Température

I²C

Page 17: Solutions programmables au collège

LE BUS SPI signifie Serial Peripheral Interface. C'est un bus de données série synchrone baptisé ainsi par Motorola, qui opère en mode Full-duplex. Les circuits communiquent selon un schéma maître-esclaves, où le maître s'occupe totalement de la communication. Plusieurs esclaves peuvent coexister sur un même bus, dans ce cas, la sélection du destinataire se fait par une ligne dédiée entre le maître et l'esclave appelée Slave Select (SS).Le bus SPI utilise quatre signaux logiques :

- SCLK — Serial Clock, Horloge (généré par le maître)- MOSI — Master Output, Slave Input (généré par le maître)- MISO — Master Input, Slave Output (généré par l'esclave)- SS — Slave Select, Actif à l'état bas (généré par le maître)

Une transmission SPI typique est une communication simultanée entre un maître et un esclave :- Le maître génère l'horloge et sélectionne l'esclave avec qui il veut communiquer par l'utilisation du signal SS- L'esclave répond aux requêtes du maître

À chaque coup d'horloge le maître et l'esclave s'échangent un bit. Après huit coups d'horloges le maître a transmis un octet à l'esclave et vice versa. La vitesse de l'horloge est réglée selon des caractéristiques propres aux périphériques.

Le Bus Série UART, RS323, signifie Universal Asynchronous Receiver Transmitter. C'est un émetteur-récepteur asynchrone universel.En langage courant, c'est le composant utilisé pour faire la liaison entre l'ordinateur et le port série . L'ordinateur envoie les données en parallèle (autant de fils que de bits de données). Il faut donc transformer ces données pour les faire passer à travers une liaison série qui utilise un seul fil pour faire passer tous les bits de données.C'est principalement avec ce bus que les microcontrôleurs sont programmés. Les différents niveaux de tension dépendent des matériels. Dans certains cas la liaison série peut être transportée sur plusieurs centaines de mètres.Une trame UART est constituée des bits suivants :

- un bit de start toujours à 0 : servant à la synchronisation du récepteur- les données : la taille peut varier (généralement entre 5 et 9 bits)- éventuellement un bit de parité paire ou impaire- et un bit de stop toujours à 1 (la durée peut varier entre 1, 1,5 et 2 temps bit)

Le niveau logique de repos est le 1.

SPI

UARTRS232

Page 18: Solutions programmables au collège

Le BUS 1-Wire connu sous le nom de bus Dallas ou OneWire. C'est un bus conçu par Dallas Semiconductor qui permet de connecter (en série, parallèle ou en étoile) des composants avec seulement deux fils (un fil de données et un fil de masse)1. De nature similaire à I²C, il présente cependant des vitesses de transmission et un coût inférieurs. Il est généralement utilisé en domotique pour des thermomètres ou autres instruments de mesure météorologiques. Il est également très utilisé dans les circuits de gestion de l'énergie dans les batteries d'équipements électroniques et les chaînes d'onduleurs (circuits DS2438 principalement)

Le signal PWM ou la modulation de largeur d'impulsions (MLI ; en anglais : Pulse Width Modulation, soit PWM).c'est une technique couramment utilisée pour synthétiser des signaux continus à l'aide de circuits à fonctionnement tout ou rien, ou plus généralement à états discrets.Le principe est de générer un signal logique (valant 0 ou 1), à fréquence fixe mais dont le rapport cyclique est contrôlé numériquement. La moyenne du signal de sortie est égale au rapport cyclique : il suffit donc de mettre un filtre passe-bas pour obtenir la valeur analogique recherchée.Ce signal peut être appliqué sur plusieurs ''patte'' du microcontrôleur

One WIRE

PWMs(MLI)

Page 19: Solutions programmables au collège

L'ADC signifie convertisseur analogique-numérique (CAN, parfois convertisseur A/N, ou en anglais ADC pour Analog to Digital Converter ou plus simplement A/D) est un montage électronique dont la fonction est de traduire une grandeur analogique en une valeur numérique (codée sur plusieurs bits), proportionnelle au rapport entre la grandeur analogique d'entrée et la valeur maximale du signal.Le signal converti est le plus souvent une tension électrique.

Le DAC signifie Digital Analog Converter. Il n'est pas présent sur tout les microcontrôleurs. Il transforme une consigne numérique en un signal analogique, généralement une tension.

Les compteurs qui dans un certains sens peuvent s'appeler timers, sont l'une des sous fonctions les plus importante d'un micro-contrôleur. Ils permettent de préciser les processus de temps, de produire des événements de comptage et des signaux. Un compteur convertit le nombre de cycles d'entrées en une valeur binaire utilisant untableau de triggers. Le nombre maximal de cycles comptés dépend de la longueur de ce tableau et est marqué par la longueur du code binaire. Il est aussi possible d'utiliser une source d'horloge externe comme signal d'horloge du compteur.

ADCs

DACs

TIMERS

Page 20: Solutions programmables au collège

Table des matières

1 Présentation des solutions collège...................................................................................................................................................................2 1.1 Solution Arduino, la solution libre openhardware.......................................................................................................................................3 1.1.1 Ce qu'il faut retenir pour la famille Arduino.............................................................................................................................................6 1.2 Solution Picaxe, la solution ''gratuite''..........................................................................................................................................................7 1.2.1 Ce qu'il faut retenir pour la famille Picaxe................................................................................................................................................8 1.2.2 Exemples d'applications............................................................................................................................................................................8 2 Conseils pour débuter....................................................................................................................................................................................10 3 Les microcontrôleurs au collège....................................................................................................................................................................11 3.1 Historique...................................................................................................................................................................................................12 3.2 Structure.....................................................................................................................................................................................................13 3.3 Synoptique..................................................................................................................................................................................................14 3.4 Éléments constitutifs..................................................................................................................................................................................15