Minicurso: Controle de Motores DC com ponte H e
Arduino
Prof. Gustavo Yoshio Maruyama
Angelino Caon
Dener Alves Andrade
1
Apresentação
Gustavo Yoshio Maruyama
Professor EBTT IFMS
gustavoymaruyama@gmail.com
Dener Alves Andrade
Acadêmico no curso de Sistemas de Informação UFMS
dener.a.andrade@gmail.com
Angelino Caon
Técnico em Tecnologia da Informação UFMS
angelinoc@gmail.com
2
Objetivo
Este minicurso tem como objetivo apresentar o
conceito de ponte h e controle de motores dc com
arduino.
3
Programa
Parte 1
Arduino
Protoboard
Acendendo Led
Funções setup(), loop() e delay()
Funções pinMode(), digitalWrite()
Parte 2
Motor DC
Ponte H
Controlando a direção
Controlando a velocidade
Controlando a velocidade com potenciômetro
Controlando a direção com push button
4
Parte 1 - Relembrando
5
Arduino
Arduino é uma plataforma eletrônica de código aberto
baseado em hardware e software de fácil utilização . É
destinado para qualquer pessoa que queira fazer
projetos interativos .
6
Arduino
É possível prototipar e desenvolver vários tipos de
projetos eletrônicos, desde um simples circuito que
acende leds, um robô complexo e até automatizar uma
casa. A imaginação é o limite.
Protótipo robô seguidor de linha utilizando Arduino
nano – experimento realizado na UFMS/CPCX
7
Arduino Mega 2560 R3
8
Configurando a IDE
Abra a IDE por meio de um ícone na área de trabalho
ou na barra de tarefas:
9
Configurando a IDE
Verifique se a placa selecionada é a Arduino Mega 2560
10
Configurando a IDE
Verifique se a porta selecionada é a correspondente ao
da instalação do arduino, no caso desse minicurso o
arduino está instalado na porta COM4
11
Protoboard
A protoboard é uma placa na qual podemos realizar um
ensaio de um circuito eletrônico.
Facilita a inserção e remoção de componentes
eletrônicos por não depender de solda.
Perfeito para nossos experimentos.
Protoboard Placa de circuito impresso
12
Protoboard
Os “furos” são ligados da seguinte forma:
13
Aviso
Antes de efetuar qualquer experimento desconecte o
arduino da porta USB de seu computador. Sob risco de
queima de algum componente eletrônico ou até do
próprio arduino.
Ligue na porta USB apenas quando tiver certeza que o
circuito está montado corretamente.
14
Acendendo um Led
Led é um diodo emissor de luz
Portanto não é uma lâmpada.
Operam com tensão de 1,1v a 4.0v
Possui polaridade
Lado positivo: ÂNODO
Lado negativo: CÁTODO
15
Acendendo um Led - Circuito
6
GND
Led
Resistor 300 Ohms
16
Acendendo um Led - Código
17
Compilação, Validação e Upload do
programa
Compila e valida o código
Compila e faz o upload do programa para o arduino
18
Compilação, Validação e Upload
do programa
Se der tudo certo:
Se der tudo errado:
19
Funções setup(), loop() e delay()
setup()
Esta função é acionada quando o arduino é ligado.
Serve para definir configurações iniciais de portas.
loop()
Esta função entra em execução logo após a função setup.
Toda vez que a função loop termina de ser executada, ela é
executada novamente. Ou seja, um loop.
Nesta função é definida todo o código funcional de nosso
protótipo, como ligar uma porta, ler um sensor e outros.
delay(parâmetro)
Esta função permite colocar um intervalo em milissegundos
entre uma instrução e outra.
Recebe como parâmetro um valor inteiro
20
Funções pinMode() e digitalWrite()
pinMode(parâmetro 1, parâmetro 2)
Configura uma porta digital, podendo ela ser de
entrada(INPUT) ou saída (OUTPUT)
Recebe no parâmetro 1 o número da porta digital, e no
parâmetro 2 é definido se porta é de entrada(INPUT) ou
saída(OUTPUT)
digitalWrite(parâmetro 1,parâmetro 2)
Escreve na porta digital selecionada
Recebe no parâmetro 1 o número da porta digital, e no
parâmetro 2 recebe um valor:
ligado(HIGH) ou desligado(LOW)
21
Parte 2
22
Motor DC
Possui diversas aplicações
Ex.: Aparelhos de dvd, brinquedos, robôs...
23
Motor DC
Funciona com tensão de 5v a 12v
Requer bastante corrente (500mA min)
Portanto NUNCA LIGUE UM MOTOR DIRETAMENTE NAS
PORTAS DO ARDUINO
SE NÃO...
24
Motor DC
25
Motor DC
É possível mudar a direção da rotação de um motor
apenas invertendo os polos
26
Gira para o outro ladoGira para um lado
Ponte H
Um robô pode utilizar motores dc para realizar sua
movimentação.
Em um robô, como podemos realizar esta inversão de
direção do giro do motor?
27
Ponte H – L293D
Ponte H Dupla
Pode controlar até dois motores
Corrente de pico = 1 A
28
Ponte H – L293D
29
Colocando o L293D na Protoboard 30
Montando o circuito 31
5v GND
Montando o circuito 32
5v GND
2
Montando o circuito 33
5v GND
234
Montando o circuito 34
5v GND
234
Montando o circuito 35
5v GND
234
36
5v GND
234
Código - Controlando a direção
37
Este código faz com que o motor
gire para um lado por 3 segundos e
depois gire para o outro lado por 3
segundos
Código - Controlando a Velocidade
38
Engatando a 1º :|
Engatando a 2º :
Engatando a 3º :)
Engatando a 4º :o
Adicionando um Potenciômetro para controlar a
velocidade
39
A0
234
Adicionando um Potenciômetro para controlar a
velocidade
40
A0
234
Código - Controlando a velocidade
com potenciômetro e PWM
41
Controlando a direção com push
button
42
A0
234
10K
43
A0
234
10K
Controlando a direção com push
button
44
A0
234
10K
5
Controlando a direção com push
button
Código - Controlando a direção
com push button
45

Slides minicurso Arduino - Controle de Motores DC

  • 1.
    Minicurso: Controle deMotores DC com ponte H e Arduino Prof. Gustavo Yoshio Maruyama Angelino Caon Dener Alves Andrade 1
  • 2.
    Apresentação Gustavo Yoshio Maruyama ProfessorEBTT IFMS gustavoymaruyama@gmail.com Dener Alves Andrade Acadêmico no curso de Sistemas de Informação UFMS dener.a.andrade@gmail.com Angelino Caon Técnico em Tecnologia da Informação UFMS angelinoc@gmail.com 2
  • 3.
    Objetivo Este minicurso temcomo objetivo apresentar o conceito de ponte h e controle de motores dc com arduino. 3
  • 4.
    Programa Parte 1 Arduino Protoboard Acendendo Led Funçõessetup(), loop() e delay() Funções pinMode(), digitalWrite() Parte 2 Motor DC Ponte H Controlando a direção Controlando a velocidade Controlando a velocidade com potenciômetro Controlando a direção com push button 4
  • 5.
    Parte 1 -Relembrando 5
  • 6.
    Arduino Arduino é umaplataforma eletrônica de código aberto baseado em hardware e software de fácil utilização . É destinado para qualquer pessoa que queira fazer projetos interativos . 6
  • 7.
    Arduino É possível prototipare desenvolver vários tipos de projetos eletrônicos, desde um simples circuito que acende leds, um robô complexo e até automatizar uma casa. A imaginação é o limite. Protótipo robô seguidor de linha utilizando Arduino nano – experimento realizado na UFMS/CPCX 7
  • 8.
  • 9.
    Configurando a IDE Abraa IDE por meio de um ícone na área de trabalho ou na barra de tarefas: 9
  • 10.
    Configurando a IDE Verifiquese a placa selecionada é a Arduino Mega 2560 10
  • 11.
    Configurando a IDE Verifiquese a porta selecionada é a correspondente ao da instalação do arduino, no caso desse minicurso o arduino está instalado na porta COM4 11
  • 12.
    Protoboard A protoboard éuma placa na qual podemos realizar um ensaio de um circuito eletrônico. Facilita a inserção e remoção de componentes eletrônicos por não depender de solda. Perfeito para nossos experimentos. Protoboard Placa de circuito impresso 12
  • 13.
    Protoboard Os “furos” sãoligados da seguinte forma: 13
  • 14.
    Aviso Antes de efetuarqualquer experimento desconecte o arduino da porta USB de seu computador. Sob risco de queima de algum componente eletrônico ou até do próprio arduino. Ligue na porta USB apenas quando tiver certeza que o circuito está montado corretamente. 14
  • 15.
    Acendendo um Led Ledé um diodo emissor de luz Portanto não é uma lâmpada. Operam com tensão de 1,1v a 4.0v Possui polaridade Lado positivo: ÂNODO Lado negativo: CÁTODO 15
  • 16.
    Acendendo um Led- Circuito 6 GND Led Resistor 300 Ohms 16
  • 17.
    Acendendo um Led- Código 17
  • 18.
    Compilação, Validação eUpload do programa Compila e valida o código Compila e faz o upload do programa para o arduino 18
  • 19.
    Compilação, Validação eUpload do programa Se der tudo certo: Se der tudo errado: 19
  • 20.
    Funções setup(), loop()e delay() setup() Esta função é acionada quando o arduino é ligado. Serve para definir configurações iniciais de portas. loop() Esta função entra em execução logo após a função setup. Toda vez que a função loop termina de ser executada, ela é executada novamente. Ou seja, um loop. Nesta função é definida todo o código funcional de nosso protótipo, como ligar uma porta, ler um sensor e outros. delay(parâmetro) Esta função permite colocar um intervalo em milissegundos entre uma instrução e outra. Recebe como parâmetro um valor inteiro 20
  • 21.
    Funções pinMode() edigitalWrite() pinMode(parâmetro 1, parâmetro 2) Configura uma porta digital, podendo ela ser de entrada(INPUT) ou saída (OUTPUT) Recebe no parâmetro 1 o número da porta digital, e no parâmetro 2 é definido se porta é de entrada(INPUT) ou saída(OUTPUT) digitalWrite(parâmetro 1,parâmetro 2) Escreve na porta digital selecionada Recebe no parâmetro 1 o número da porta digital, e no parâmetro 2 recebe um valor: ligado(HIGH) ou desligado(LOW) 21
  • 22.
  • 23.
    Motor DC Possui diversasaplicações Ex.: Aparelhos de dvd, brinquedos, robôs... 23
  • 24.
    Motor DC Funciona comtensão de 5v a 12v Requer bastante corrente (500mA min) Portanto NUNCA LIGUE UM MOTOR DIRETAMENTE NAS PORTAS DO ARDUINO SE NÃO... 24
  • 25.
  • 26.
    Motor DC É possívelmudar a direção da rotação de um motor apenas invertendo os polos 26 Gira para o outro ladoGira para um lado
  • 27.
    Ponte H Um robôpode utilizar motores dc para realizar sua movimentação. Em um robô, como podemos realizar esta inversão de direção do giro do motor? 27
  • 28.
    Ponte H –L293D Ponte H Dupla Pode controlar até dois motores Corrente de pico = 1 A 28
  • 29.
    Ponte H –L293D 29
  • 30.
    Colocando o L293Dna Protoboard 30
  • 31.
  • 32.
  • 33.
    Montando o circuito33 5v GND 234
  • 34.
    Montando o circuito34 5v GND 234
  • 35.
    Montando o circuito35 5v GND 234
  • 36.
  • 37.
    Código - Controlandoa direção 37 Este código faz com que o motor gire para um lado por 3 segundos e depois gire para o outro lado por 3 segundos
  • 38.
    Código - Controlandoa Velocidade 38 Engatando a 1º :| Engatando a 2º : Engatando a 3º :) Engatando a 4º :o
  • 39.
    Adicionando um Potenciômetropara controlar a velocidade 39 A0 234
  • 40.
    Adicionando um Potenciômetropara controlar a velocidade 40 A0 234
  • 41.
    Código - Controlandoa velocidade com potenciômetro e PWM 41
  • 42.
    Controlando a direçãocom push button 42 A0 234 10K
  • 43.
  • 44.
  • 45.
    Código - Controlandoa direção com push button 45