Bras Manipulateur PDF
Bras Manipulateur PDF
Bras Manipulateur PDF
Mini-Projet
SOMMAIRE :
Présentation ............................................................................................................................................ 2
I. Présentation de cahier de charge :.................................................................................................. 2
II. Analyse de la problématique :......................................................................................................... 2
1. Enjeux .......................................................................................................................................... 2
2. Partie Matérielle .......................................................................................................................... 2
1.1. Etude préliminaire du système :.......................................................................................... 2
Programme visual studio : ............................................................................................................... 3
Programme : .................................................................................................................................... 3
1.2. Moteur a courant continu : ................................................................................................. 7
1.3. hacheur ................................................................................................................................ 7
1.4. Microntroleur PIC16F877 : .................................................................................................. 8
1.5. l’USART : ............................................................................................................................ 11
1.6. La liaison série RS232 : ...................................................................................................... 11
1.7. Le circuit MAX-232 : .......................................................................................................... 12
3. Partie logiciel: ............................................................................................................................ 12
3.1. Le compilateur (MicroC For PIC) :...................................................................................... 12
Programme en C : .............................................................................................................................. 12
Conclusion : ........................................................................................................................................... 16
1|Page
BRAS MANIPULATEUR
Présentation
Le cahier de charge se entour sur la réalisation d’un bras manipulateur à base d’un PIC16F877 et la
communication avec l’ordinateur sera faite via la liaison série RS232.
Les 3 moteurs à courant continu constituants les articulations du bras sont commandées à l’aide des
<hacheurs à 4 quadrants>, qui sont commandés par la suite avec le microcontrôleur.
Un premier côté microcontrôleur (gestion de la rotation des moteurs, gestion du port série
RS232)
Un second côté PC (manipulation par une application en visuel Studio : pour que la
communication des moteurs ne soit pas ordinaire, on a pensé de créer une interface utilisateur
facilite la communication et l’acquisition des lettres correspondante à chaque mouvement des
3 moteurs.
1. Enjeux
2. Partie Matérielle :
Les mouvements du bras manipulateur seront assurés par 3 moteurs à courant continu (MCC1, MCC2,
MCC3) :
2|Page
BRAS MANIPULATEUR
Programme :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
3|Page
BRAS MANIPULATEUR
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace WindowsFormsApplication1
public Form1()
InitializeComponent();
Port.Open();
Port.Write("a");
Port.Close();
Port.Open();
Port.Write("b");
Port.Close();
Port.Open();
Port.Write("c");
Port.Close();
4|Page
BRAS MANIPULATEUR
Port.Open();
Port.Write("d");
Port.Close();
Port.Open();
Port.Write("e");
Port.Close();
Port.Open();
Port.Write("f");
Port.Close();
Port.Open();
Port.Write("g");
Port.Close();
Port.Open();
Port.Write("h");
Port.Close();
5|Page
BRAS MANIPULATEUR
Port.Open();
Port.Write("i");
Port.Close();
Port.Open();
Port.Write("k");
Port.Close();
Port.Open();
Port.Write("j");
Port.Close();
Port.Open();
Port.Write("k");
Port.Close();
Les articulations de notre système est composé de 3 moteurs a courant continu commandé par 3
hacheurs et un microcontrôleur pour la gestion d’entrainement des moteurs.
6|Page
BRAS MANIPULATEUR
L’Evolution de la technologie conduit à utiliser des machines nécessitant des vitesses de rotation
précises et variables pour l’entrainement des moteurs d’un bras manipulateur dans notre cas par
exemple
L’utilité des moteur a courant continu c’est qu’ils sont utiliser dans les systèmes et applications
comme les robots, les voitures, …..
d'un stator qui est à l'origine de la circulation d'un flux magnétique longitudinal fixe créé soit par
des enroulements statoriques (bobinage) soit par des aimants permanents. Il est aussi appelé
« inducteur » en référence au fonctionnement en génératrice de cette machine.
d'un rotor bobiné relié à un collecteur rotatif inversant la polarité de chaque enroulement rotorique
au moins une fois par tour de façon à faire circuler un flux magnétique l en quadrature avec le flux
statorique. Les enroulements rotoriques sont aussi appelés enroulements d'induits, ou
communément « induit » en référence au fonctionnement en génératrice de cette machine
1.3. hacheur
Un hacheur est un convertisseur statique permettant d’alimenter une charge comme moteur à courant
continu sous tensions de valeur moyenne réglable à partir d’un sous tension constante (réseau
alternatif redressé et filtré) avec un très bon rendement.
Pour tourner le moteur à courant continu dans les deux sens de rotations, il faut inverser la polarité de
l’alimentation sur ses bornes. Le montage est constitue de 4 interrupteurs (2 inverseurs)
7|Page
BRAS MANIPULATEUR
Le pont en H permet la commande de moteur dans les deux sens de rotation, sans modification du
montage, seulement en modifiant l'état des commutateurs. Les commutateurs sont actionnés deux par
deux soit S1-S4 ou S2-S3 pour faire tourner le moteur dans un sens ou dans l'autre. Les paires de relais
peuvent avoir des puissances différentes selon que l'utilisation ne requiert pas le même couple dans un
sens que dans l'autre.
De plus, le pont en H permet d'effectuer un freinage magnétique s’il est capable d'en dissiper la
puissance générée. Cette opération s'effectue en actionnant soit les deux commutateurs supérieurs ou
inférieurs en même temps, ce qui court-circuite les bornes du moteur, et le fait par conséquent freiner.
Mieux encore, il est possible avec un peu d'électronique et un contrôleur perfectionné d'effectuer
un freinage régénératif. Dans le cas d'une alimentation à batterie, l'énergie est renvoyée aux batteries
plutôt que dissipée dans les commutateurs du pont.
Organisation de RAM :
8|Page
BRAS MANIPULATEUR
Nous avons donc que la mémoire RAM disponible du 16F877 est de 386 octets.
Vous constatez que sur le schéma concernant le 16F877, nous avons deux connexions (Vss) qui sont
reliée à la masse.
En fait, en interne, ces pins sont interconnectés. La présence de deux pins s’explique par une raison de
dissipation thermique. Les courants véhiculés dans le PIC sont loin d’être négligeables du fait des
nombreuses Entrées/sorties disponibles.
Le constructeur a donc décidé de répartir les courants en plaçant deux pins pour l’alimentation Vss,
bien évidemment, pour les mêmes raisons, ces pins sont situés de part et d’autre du PIC, et en
positions relativement centrales.
Fig –PIC16f877.
9|Page
BRAS MANIPULATEUR
Reset :
Pour le reste nous noterons l’habituelle connexion de MCLR au 5v, cette pin étant utilisée pour
effectuer un reset du composant en cas de connexion à la masse.
Nous trouvons également le quartz, qui pourra être remplace par un résonateur ou par un simple réseau
RC de la même manière que pour le 16F84.
5V
R1
10k
U1
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
1 35
MCLR/Vpp/T HV RB2
36
RB3/PGM
2 37
RA0/AN0 RB4
3 38
RA1/AN1 RB5
4 39
RA2/AN2/VREF- RB6/PGC
C1 5
RA3/AN3/VREF+ RB7/PGD
40
6
1nF RA4/T 0CKI
7 15
RA5/AN4/SS RC0/T 1OSO/T 1CKI
16
RC1/T 1OSI/CCP2
8 17
RE0/AN5/RD RC2/CCP1
9 18
RE1/AN6/WR RC3/SCK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
RC5/SDO
25
RC6/T X/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877
Brochage :
U1
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
1 35
MCLR/Vpp/T HV RB2
36
RB3/PGM
2 37
RA0/AN0 RB4
3 38
RA1/AN1 RB5
4 39
RA2/AN2/VREF- RB6/PGC
5 40
RA3/AN3/VREF+ RB7/PGD
6
RA4/T 0CKI
7 15
RA5/AN4/SS RC0/T 1OSO/T 1CKI
16
RC1/T 1OSI/CCP2
8 17
RE0/AN5/RD RC2/CCP1
9 18
RE1/AN6/WR RC3/SCK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
RC5/SDO
25
RC6/T X/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877
La brochage MCLR :
10 | P a g e
BRAS MANIPULATEUR
de RESET :
Le dispose en interne d’un circuit de détection du niveau , quand la tension VDD est comprise entre
1,2 et 1,7 , il démarre une procédure d’initialisation . Cette broche peut être simplement reliée à VDD
si on n’a pas besoin de RESET externe. Par contre, si on souhaite implanter un bouton de remise à
zéro, on pourra câbler un simple r&seau RC.
EXTERNAL RESET (Mise à l’état bas de MCLR).Remise à zéro extérieure. Il faut appliquer un
niveau bas sur l’entrée RESET pendant au moins 2 µ S pour que l’initialisation soit prise en compte.
1.5. l’USART :
Pour pouvoir dialoguer avec l’ordinateur notre micronctrôleur utilise le module USART est une
abréviation signifiant Universal Synchronous & Asynchronous Receiver Transmitter. C'est
un circuit électronique qui permet de mettre en série (sérialiser) les octets à transmettre par un modem.
Cela signifie que les bits constituant l'octet sont transmis les uns après les autres sur un seul fil et non
simultanément sur 8 fils. Beaucoup de circuits intégrés disposent désormais d'UART qui peuvent
communiquer de manière synchrone ; de tels périphériques portent le nom d'USART.
la liaison RS-232 utilisée pour faire la connexion entre le PIC et l’ordinateur afin d’échanger les
informations entre les deux
11 | P a g e
BRAS MANIPULATEUR
Une adaptation des niveaux de tension est nécessaire, celui-ci se fera par l’intermédiaire d’un circuit
spécialisé, le MAX-232, qui convertit les niveaux de sortie TTL du PIC en signaux RS-232.
3. Partie logiciel:
Cette partie a été réservée pour la présentation des différents logiciels utilisés dans le mini-projet :
Le Compilateur utilisé est MicroC, il est optimisé pour les microcontrôleurs de la famille PIC .Ce
compilateur intègre également des bibliothèques et des fonctions spéciales (Timer, module ….)Qui
permettent d’utiliser les périphériques du PIC à partir d’un haut niveau de programmation .IL propose
un débugger qui permet de compiler les programmes avant de les charger sur PIC.
Programme en C :
char uart_rd;
void main()
TRISB=0;
PORTB=0;
UART1_Init(9600);
delay_ms(100);
while(1)
12 | P a g e
BRAS MANIPULATEUR
loop: if(UART1_Data_Ready() )
uart_rd=UART1_Read();
if(uart_rd=='a')
portb.f1=0;
portb.f0=1;
delay_ms(10);
portb.f0=1;
delay_ms(10);
if(uart_rd=='b')
portb.f0=0;
portb.f1=1;
delay_ms(10);
portb.f1=1;
delay_ms(10);
if(uart_rd=='o')
portb.f0=0;
portb.f1=0;
goto loop;
loop1 : if(UART1_Data_Ready() )
{
13 | P a g e
BRAS MANIPULATEUR
uart_rd=UART1_Read();
if(uart_rd=='t')
portb.f5=0;
portb.f4=1;
delay_ms(10);
portb.f4=1;
delay_ms(10);
if(uart_rd=='r')
portb.f4=0;
portb.f5=1;
delay_ms(5);
portb.f5=1;
delay_ms(5);
if(uart_rd=='p')
portb.f4=0;
portb.f5=0;
goto loop1;
loop2: if(UART1_Data_Ready() )
uart_rd= UART1_Read () ;
if(uart_rd=='1')
{
14 | P a g e
BRAS MANIPULATEUR
portb.f6=0;
portb.f7=1;
delay_ms(10);
portb.f7=1;
delay_ms(10);
if(uart_rd=='n')
portb.f7=0;
portb.f6=1;
delay_ms(5);
portb.f6=1;
delay_ms(5);
if(uart_rd=='x')
portb.f7=0;
portb.f6=0;
goto loop2;
15 | P a g e
BRAS MANIPULATEUR
Conclusion :
Durant ce projet nous avons appliqué nos acquis dans la programmation C que nous avons étudié cet
année .
Ce projet est très intéressent dans la vie pratique vus que dans l’industriel les bras robotiques sont
très utilisés, aussi la supervision c’est-à-dire émission et réception de données entres matérielles
industrielle et PC.
16 | P a g e