Você está na página 1de 18

USBMotor

Controle de motor de passo

Por: Antnio Rogrio Messias

Pgina 1 de 1

Home ndice

CONTROLE DE MOTOR DE PASSO VIA USB USANDO O FT232BM NO MODO BIT-BANG


Para uso particular ou educacional.
Copyright(c) 1999-2006 ROGERCOM.COM Todos os direitos reservados.

Atravs deste artigo estarei disponibilizando algumas informaes sobre USB, e tambm a

construo de uma interface para controlar um motor de passo unipolar (aqueles de 5 ou 6 fios) mais comum no mercado. Como componente principal para fazer a interface com o host USB iremos utilizar o chip FT232BM fabricado pela FTDI.
Figura 1 - Pinagem do CI FT232BM

O chipset FT232BM

O chipset FT232BM uma soluo ideal para construir dispositivos que se comuniquem com o computador atravs do Bus USB, com velocidade de at 3Mbps atravs de sinais TTL: RS422 e RS485 e no mximo 1Mbs para comunicao atravs de drivers RS232. Ele pertence a uma segunda gerao do popular componente USB UART da FTDI (FT8U232AM). compatvel com controladores Host USB verses 1.1 e 2.0. A FTDI - Future Technology Devices International Ltd., fabricante do FT232BM, disponibiliza no seu site http://www.ftdichip.com/FTDrivers.htm, os drivres de controle, livres de pagamento de royalties, para os sistemas operacionais Windows 98/Me/200/XP/CE.NET, Linux e Mac OS-X/9/8. A FTDI tambm disponibiliza outros chipset, como o FT245BM que disponibiliza os dados USB em paralelo, (em 1 byte) atravs de 8 pinos de entrada e sada (bits D0 a D7), para propsitos gerais, e mais 4 pinos de controle (RD#, WR, TXE# e RXF#). No exemplo desse artigo iremos usar o chip FT232BM no modo BIT-BANG. Atravs desse modo possvel trabalhar diretamente com 8 pinos de I/O (entrada/sada) TTL sem a necessidade do uso de um microcontrolador. Principais caractersticas: - Um nico chip manipula tanto transferncias USB como Serial. - Interface para Modem com total suporte aos sinais de Handshake. - A UART suporta 7 e 8 bits de dados; 1/2 stop bits e paridade par/impar/marca/espao e nenhuma. - Taxa de transferncia entre 300 a 3M Baud (TTL). - Taxa de transferncia entre 300 a 1M Baud (RS232). - Taxa de transferncia entre 300 a 3M Baud (RS422/RS485). - Timeout ajustvel para o buffer RX. - Compatvel com bus USB 1.1 e 2.0. - Tenso de alimentao entre 4,35V a 5,25V. - Regulador integrado de 3.3v para Entrada/Sada USB. - Compatvel com os controladores Host: UHCI/OHCI/EHCI. - Suporte a uma memria EEPROM externa opcional para personalizar o produto, onde pode ser armazenado os descritores do mesmo como: VID, PID, e nmero de srie. - Encapsulado em tamanho miniatura 32-LD LQFP. - EEPROM pode ser programada na prpria placa via USB. - Suporte para alimentar dispositivos diretamente no Bus USB atravs do pino PWREN#. - Modos de transferncias USB Bulk e Isossncrono. - Suporte para os recursos USB (suspend/resume) atravs dos pinos SLEEP# e RI#. Introduo sobre o bus USB O USB (Universal Serial Bus) surgiu em 1995 com uma parceria entre vrias companhias de alta tecnologia (Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC e Philips). Uma das primeiras verses foi a 1.0 com velocidade de 1,5Mbs (Low-speed), logo em seguida foi concebida a 1.1 com velocidades que vai de 1,5Mbps a 12Mbps. Essa verso conhecida com Full-speed. No final de 2000 foi lanada a verso 2.0 (high-speed), compatvel com as verses anteriores, mas com alguns aperfeioamentos que vo desde a topologia velocidade de trafego de dados, chegando ao extremo de 480Mbps, equivalente a cerca de 60MBps (60 milhes de Bytes por segundos). As primeiras verses do bus USB utilizavam/utilizam os Controladores Host UHCI (Universal Host Controller Interface) e OHCI (Open Host Controller Interface). O USB 2.0 utiliza o Controlador Host EHCI (Enhanced Host Controller Interface). O barramento USB permite a conexo mxima de at 127 dispositivos em uma nica porta. Para isso ser possvel utiliz-se de HUBs conectados em cascata. Normalmente cada HUB USB dispe de 4 a 8 portas onde podem ser plugados mais HUBs ou dispositivos. Os Hubs so componentes muito importantes na topologia de uma Rede USB. Eles fornecem novos canais fsicos para que se possam inserir novos dispositivos mesma. Os Hubs costumam ser ligados Rede eltrica para alimentar seus circuitos e ao mesmo tempo fornecer correntes suficientes para alimentar dispositivos conectados s suas portas. Alguns Hubs no tem fontes externa, estes so parasitas, alimentam-se da prpria corrente do barramento USB. Esses Hubs no so uma boa escolha se voc pretende "plugar" dispositivos que tambm se alimentam atravs do barramento.

Hubs sem fonte de alimentao chegam a ter 4 portas downstream, fornecendo cada uma 100mA. J Hubs com fontes de alimentao podem fornecer por porta, 500mA. Se um dispositivo tentar consumir mais corrente do que o Hub pode fornecer atravs de uma de suas portas, o mesmo permanecer conectado fisicamente ao barramento, mas no poder se comunicar.
Figura 2 - Arquitetura tpica de um sistema USB

O Controlador O host USB se comunica com os dispositivos atravs do seu controlador (chipset e outros componentes). O controlador host pode ser encontrado na prpria estrutura base da placa-me do computador, ou pode ser adicionada num dos slots do barramento PCI. Na maioria das placas controladoras USB PCI, alm das portas externas, h uma interna, que permite instalar perifricos USB dentro do gabinete do computador, se isso for preciso. responsabilidade do Host: Detectar a incluso e remoo de dispositivos; Gerenciar o fluxo de controle de dados entre os dispositivos conectados; Fornecer alimentao (tenso e corrente) aos dispositivos conectados; Monitorar os sinais do bus USB. Tipos de conectores H duas sries de conectores USB: Srie "A": -Conector Tipo "A" Fmea, encontrado no Host (PC), ou em portas Downstream de Hub; -Conector Tipo "A" Macho, encontrado em um dos extremos do cabo USB, onde deve ser conectado ao Host/Root raiz, ou em portas Downstream de Hub. Srie "B": -Conector Tipo "B" Fmea, encontrado no dispositivo/funo do cliente. Exemplos: impressoras, mquinas digitais, modem ADSL, etc;

-Conector Tipo "B" Macho, encontrado em um dos extremos do cabo USB, onde deve ser conectado a um dispositivo/funo. Estrutura eltrica e sinais do cabo USB O cabo USB composto por 4 fios e uma malha para eliminao de rudos simples. Desses, 2 so fios que transportam energia para alimentar dispositivos. Essa energia fornecida pela controladora e gerenciada pelo Driver do Controlador Host. O Cabo USB usa cores padro para os fios, sendo assim, o fio de cor vermelha chamado Vbus (5v), ou seja, o fio positivo de fornecimento de energia. O fio de cor preta o GND (0v). Este o pino negativo de energia do Bus. O bus USB pode fornecer no mximo 5 Volt de tenso e 500mA de corrente eltrica, isso para cada porta do Root Hub do host. A quantidade de corrente que seu dispositivo ir precisar para funcionar pode ser configurada via software. Nos circuitos chipset da FTDI, a configurao de consumo de corrente ser armazenada numa memria Flash tipo 95C56 (opcional aqui no nosso projeto). Os outros dois fios D+(dado+) e D-(dado-) so usados pelo sistema USB para transferncia de dados entre o Host, hub e dispositivos. Todos os sinais de dados trafegam apenas por esses dois fios usando a codificao NRZI (No Return to Zero Inverted). Ou seja, o bit 1 codificado atravs de uma transio ocorrendo da maior voltagem para a menor, ou tambm o inverso, da menor para a maior. J o bit 0 codificado sem haver transio. Durante o intervalo de um bit a voltagem constante.
Figura 3 - Cabo USB

Tipos de interfaces H dois tipos de interfaceamento em que um dispositivo USB pode trabalhar: Bus-powered e Self-powered. No Bus-powered o dispositivo alimentado pelo prprio Bus USB atravs dos pinos Vbus e Gnd podendo fornecer no mximo 500mA direto de uma Porta do Root Hub (host) ou de uma Porta de um Hub comum que tenha sua prpria fonte de alimentao. Se o Hub no tiver uma fonte de alimentao, os dispositivos conectados a ele s podero consumir cada um, no mximo 100mA do Bus USB. J o tipo self-powered no consome energia do Bus USB, mas deve ser alimentado com uma fonte externa para que o circuito possa funcionar. Para que um dispositivo USB trabalhe no modo Bus-powered ou Self-powered, necessrio que o desenvolvedor configure o circuito eletricamente para que possa trabalhar da maneira desejada. Dispositivos configurados para trabalhar no modo Bus-powered devem consumir no mximo 100mA, podendo retirar essa corrente diretamente da porta do Root hub, ou de qualquer tipo de Hub. Dispositivos Bus-powered que consomem 500mA devem ser conectados somente no Root Hub ou na porta de um Hub que disponha de sua prpria fonte de alimentao. Dispositivos Bus-powered so resetados/desligados involuntariamente quando o computador ligado ou desligado. J dispositivos eletricamente configurados como Self-powered mantm o

circuito ligado mesmo que o computador seja resetado/desligado, isso porque so alimentados atravs de uma fonte externa. Esses tipos de interfaceamento devem ser levados em considerao quando criarem circuitos crticos, como alarmes, controles de abrir e fechar portas, portes e quaisquer outros dispositivos que, em hipteses nenhuma, devam ser acionados involuntariamente. Para esses tipos de dispositivos a Self-powered a ideal. Protocolo USB O protocolo uma das partes mais importantes do funcionamento do sistema USB, atravs dele que um ou mais dispositivos conversam e trocam informaes com o Host. No Host a pilha do protocolo est disponvel em forma de drivers de arquivos .sys, dll, drv, exe, etc. J no dispositivo o protocolo pode ser encontrado dentro de um microcontrolador especfico, como por exemplo um PIC que disponha de uma certa quantidade de memria. Nesse caso, o protocolo escrito com base na norma USB, em uma linguagem especfica com: C ou Assembly; depois compilado e gravado na memria do microcontrolador atravs de um gravador de PIC. Esta umas das maneiras mais complexas, trabalhosas e no muito produtiva. H microcontroladores PIC como o 18F2450 e 18F4450 que internamente j dispe do protocolo, tornando assim mais fcil o desenvolvimento de aplicaes. Uma outra maneira atravs de um chipset que carrega dentro de si toda a funcionalidade do protocolo USB, livrando o microcontrolador de todo o trabalho pesado. Diferente da Porta Serial ou Paralela onde simplesmente atravs dos sinais eltricos dos pinos e um programa bsico possvel se comunicar com um dispositivo. No USB isso s possvel se o dispositivo carregar o protocolo USB num chipset ou mesmo dentro de um microcontrolador. Assim, conclumos que o combustvel do sistema USB seu protocolo, sem ele, no h troca de informao entre os dispositivos. O protocolo USB tem vrios recursos como: CRC (Cyclic Redundancy Check), deteco e correo de erros, deteco de conexo e remoo de dispositivos, controle de fluxo de dados assegurando transmisses isossncronas (trafego contnuo de dados), disponibilidade assegurada de largura de banda, entre outros. Descritores Todos os dispositivos USB tm uma hierarquia de descritores que informam ao Host o que o dispositivo , ou seja, sua "personalidade", suas caractersticas de funcionamento, como; nmero de srie do produto, identificao do fabricante, tipo do dispositivo (impressora, scanner, modem, mouse, etc.), nmero de configuraes, nmero de Endpoint, tipo de transferncia, tipo de interface, etc. Processo de enumerao No sistema USB o processo de enumerao se refere conexo, deteco, leitura dos descritivos dos dispositivos e desconexo. uma atividade ininterrupta. Isso tudo gerenciado em tempo real pelo controlador Host e o software do sistema. Do ponto de vista do usurio do computador, o processo de enumerao transparente, desde que se tenha antes instalado no sistema operacional, os drives do fabricante do dispositivo. Aps isso, o carregamento dos drives quando um dispositivo conectado, automtico.
Figura 4 - Opo 1: Circuito driver para controle de motor de passo usando O FT232BM

Figura 5 - Ferrite

Figura 6 - Ferrite com uma volta de fio

O objetivo da ferrite no terminal VBus de eliminar quaisquer interferncias eletromagnticas geradas pelos componentes do computador como: fonte de alimentao, processador, cristais etc. A ferrite pode ser semelhante as das figuras acima, com uma volta de fio duro, tipo cabo de Rede, telefone ou outro.
Resistores R1: 27 Ohm R2: 27 Ohm R3: 470 Ohm R4: 1,5K R5: 220 Ohm R6: 220 Ohm R7: 2,2K Tabela 1 - Lista de componentes 1a opo Capacitores Diversos C1: 10nF 1 Cristal 6 Mhz C2: 10uF eletroltico 1 Memria Flash 93C46 ou 56 ou 66 C3: 100nF 1 Chipset FT232BM C4: 100nF 1 Conector tipo "B" fmea PCI 1 Ferrite (Conforme a da figura C5: 100nF acima) C6: 100nF 1 Cabo USB (padro impressora) 1 Motor de passo unipolar C7: 33nF 500mA/12v

R8: 10K

C8: 27pF

1 CI ULN 2003

C9: 27pF

1 Cabo USB (tipo impressora)

Figura 7 - Opo 2: Circuito controle de motor de passo usando a Placa USB232-RCOM1 da Rogercom

Na placa USB232-RCOM1 mostrada na figura acima est disponvel uma memria flash 93C66 onde possvel personalizar o dispositivo, gravando nesta o nome do produto, fabricante, nmero de srie entre outros descritores.
Tabela 2 - Lista de componentes 2a.opo Componentes 1 Placa USB232-RCOM1 1 CI ULN 2003 1 Motor de passo unipolar 500mA/12v

Passo-a-passo para instalar o driver para o FT232BM no PC Pronto, aps a construo do circuito eletrnico do driver (wardware) motor de passo, preciso instalar o driver (software bsico) do fabricante do chip FT232BM. Para isso acesse o site da FTDI http://www.ftdichip.com/Drivers/D2XX.htm, e escolha o driver para a verso do seu sistema operacional (no exemplo desse artigo usamos os drivers do windows XP). Faa download e salve no seu disco rgido (HD). Veja a figura abaixo:

Figura 8 - Pasta contendo os arquivos dos drivers para o FT232BM

Aps o download do driver e sua descompactao no seu disco hgido (HD), conecte um cabo de impressora USB entre o driver de motor de passo e o PC. Veja figura abaixo:
Figura 9 - Plugando o dispositivo ao Bus USB

Se estiver usando o windows XP a seguinte tela ser exibida:


Figura 10 - Assistente de instalao

Conforme a figura acima, marque a opo "No, no agora" e clique no boto Avanar >...
Figura 11 - Assistente de instalao

Conforme mostra a figura acima marque agora a opo "Instalar de uma lista ou local especfico (avanado)". Clique no boto Avanar>
Figura 12 - Assistente de instalao

Seguindo a seqncia numrica da figura acima, marque o quadro (1) "Incluir este local na pesquisa". Na seqncia 2 clique no boto "Procurar" para localizar em seu disco hgido (HD), a pasta contendo os drivers do FT232BM...
Figura 13 - Assistente de instalao

Quando a janela acima for exibida, clique no boto "Continuar assim mesmo". Ao voltar para a tela anterior, clique no boto Avanar > para ir para o prximo passo...
Figura 14 - Assistente de instalao

Figura 15 - Assistente de instalao

Pronto, aps os arquivos serem copiados para os locais adequados no sistema operacional, clique no boto "Concluir" para finalizar a instalao dos drivers. Para se certificar de que os drivers foram instalados corretamente, abra o Painel de Controle do windows e execute o utilitrio Adicionar ou remover programas. Na lista de programas instalados dever constar o nome do driver "FTDI FTD2XX USB Drivers".
Figura 16 - Tela Painel de Controle / Adcionar ou remover programas

Para controlar o motor de passo, faa download do programa abaixo:


Clique aqui para fazer download do programa Controle de motor de passo via USB. Figura 17 - Tela do programa controle de motor de passo via USB

O objetivo deste artigo foi mostrar aos usurios e visitantes do nosso site como controlar um motor de passo atravs do Bus USB, usando o chip FT232BM. Em breve estarei disponibilizando novos artigos sobre o assunto.

http://www.rogercom.com Copyright, 1999-2007 ROGERCOM - Antonio Rogrio Messias - rogercom@rogercom.com Todos os Direitos Reservados - All Rights Reserved.