Mostrando postagens com marcador Eletrônica. Mostrar todas as postagens
Mostrando postagens com marcador Eletrônica. Mostrar todas as postagens

domingo, 5 de fevereiro de 2012

Simulação e Testes - USB 18f4550


Bom, entre uma obra e outra e depois de algumas especificações, consegui tempo para a simulação das placas de controle de entrada e saídas, mais rápido do que imaginado por usar como base uma simulação que achei na internet, não me lembro o site, mas com algum tempo dedicado a pesquisar é possível achar muita coisa sobre conexão usb utilizando pic, principalmente 18f4550 e 18f2550, além de uma infinidade de possibilidades.
Fiz uma modificação na simulação que utiliza o proteus para o hardware e o ccs para a programação do pic, como a intenção é utilizar todas os pinos possíveis como entradas e saídas digitais foram necessárias duas simulações independentes, uma só para as entradas utilizando chaves e outra só para as saídas utilizando leds, mas nada complicado.
Então fiz duas programações, para a comunicação usb utilizei a Human Interface Device - HID(http://en.wikipedia.org/wiki/Human_interface_device), dá trabalho para conseguir compilar a primeira vez e entender como tudo funciona, mas depois que consegue compilar a primeira, tudo fica mais fácil e funciona perfeitamente.
Código básico:

#include <18F4550.h>
//achei melhor configurar os fuses de forma individual
#FUSES HSPLL
#FUSES WDT//Habilita o Watchdog Timer(WDT) - Não tive problemas usando o WDT
#FUSES NOPROTECT
#FUSES NODEBUG
#FUSES NOLVP
#FUSES PLL5
#FUSES CPUDIV1
#FUSES USBDIV
#FUSES VREGEN
#FUSES WDT128 //Período do WDT

#use delay(clock=48000000) //valor do clock obrigatório

#define USB_HID_DEVICE TRUE //Utilizando a classe HID
#define USB_EP1_TX_ENABLE USB_ENABLE_BULK //Habilitando o(EndPoint1) para In bulk
#define USB_EP1_RX_ENABLE USB_ENABLE_BULK //Habilitando o(EndPoint1) para OUT bulk
#define USB_EP1_TX_SIZE 32 //tamanho reservado para a transferência
#define USB_EP1_RX_SIZE 32

//Declarações necessárias
#include
#include //Arquivo de configuração USB para o dispositivo deve conter o PID e o VID que identificam o dispositivo quando conectado
#include
//Função para conexão, serve para a numeração do dispositivo
void USB_debug() {
static int8 last_connected;
static int8 last_enumerated;
int8 new_connected;
int8 new_enumerated;

new_connected=usb_attached();
new_enumerated=usb_enumerated();
usb_wait_for_enumeration();

last_connected=new_connected;
last_enumerated=new_enumerated;
}

void main(void) // Função principal
{
//Declarando as variáveis e especificando seu tamanho
int8 envia[USB_EP1_TX_SIZE];
int8 recebe[USB_EP1_RX_SIZE];

usb_init(); // Inicializa a comunicação USB.

setup_wdt(wdt_ON); //Reinicia o WDT

while (TRUE) // while infinito.
{
//Funções de comunicações devem ser constantemente executadas para evitar a desconexão do dispositivo
usb_task();

USB_debug();

if(usb_enumerated()) //se o dispositivo está numerado, está conectado.
{
//Pronto, agora é só mandar ou receber informações e reiniciar o WDT
usb_put_packet(1, envia, 32, USB_DTS_TOGGLE); //enviando pacote de dados
if (usb_kbhit(1)) //testa se um pacote foi recebido
{
usb_get_packet(1, recebe, USB_CONFIG_HID_RX_SIZE); //as informações recebidas são colocadas na variável "recebe"
}
restart_wdt();//Reinicia o WDT
}
}









Pronto, depois foi apenas necessário programar como necessário e compilar, utilizei a IDE CCS 4.057.
E depois modifiquei o software, fiz com que identifica-se automaticamente o dispositivo e por meio de PictureBox e CheckBox identifiquei as chaves acionadas e acionei os leds... e funcionou perfeitamente como as imagens.















Então é isso, agora vamos para a parte mais complicada, o controle central e a IHM...


quinta-feira, 15 de setembro de 2011

Placa de Desenvolvimento PIC USB














Estava com dificuldades para desenvolver e testar o software para as placas do projeto Servidor, então procurei por kits de desenvolvimento USB, achei algumas de baixo custo montada, mas como gosto de desafios, achei uma rápida de confeccionar e que já tinha todo material em mãos. Esta é uma placa de desenvolvimento PIC USB que encontrei no site PicTronics porém, fiz algumas alterações no lay-out e no Hardware utilizado:

- Substitui a barra de pinos de conexão com o gravador PicKit2 da Microchip por um RJ11 fêmea, utilizado no PicKit2 da PersonalPic e que também é um ótimo gravador(assunto para outro tópico);
- Utilizei apenas capacitores cerâmicos de disco;
- Substitui os diodos 1N5817 por 1N4148, mais lentos, mas que também funcionam.

Uma placa simples, fácil de montar e que permite fazer testes e simulações de forma prática e rápida. Tem como ponto positivo:

- Não precisa de fonte externa para simular e nem para gravar, mas recomendo utilizar fonte estabilizada esterna se estiver simulando em protoboard, este aliás é outro ponto forte;
- Pode conectar facilmente a placa com um protoboard e montar um circuito de desenvolvimento próprio;
- Como utiliza o PicKit2, não é necessário bootloader;
- O tamanho reduzido é outra praticidade, se mecher no lay-out mais um pouquinho ela cabe no bolso.

Para confecção utilizei o método térmico, rápido e prático
No site da PicTronics você consegue baixar o esquema eletrônico e o Lay-out da Placa, mas no link abaixo, segue o Esquema, o Lay-out original e o que eu adaptei.

Baixar Arquivos da Placa

Protótipo Servidor Placa de Entradas














Protótipo Servidor Placa de Entradas
Versão: 1.0 02/2011
Projeto: Wendell B. Silva
Desenho: Wendell B. Silva
Método de confecção: Silk-screen
Montagem e Solda: Kayque R. Araujo
Laboratório LabSYN
Placa de controle de entradas e comunicação de dados com as seguintes características:
Tamanho - 14,1x13,0cm;
Tipo da Placa - Face Simples;
Conectores - DB9 Fêmea para placa, conectores kk grande de 2 e 10 pinos e barra de pinos simples;
Principais componentes - Microcontrolador PIC 16f877a/18f4550 e Max485;
Acionamento por negativo nas entradas, base dos transistors.
Confecção inicial rápida para verificação de possíveis erros de lay-out e hardware.
Aprovação: Em fase de testes

Protótipo Servidor Placa de Saídas














Protótipo Servidor Placa de Saídas
Versão: 1.0 09/2011
Projeto: Wendell B. Silva
Desenho: Wendell B. Silva
Método de confecção: Silk-screen
Montagem e Solda: Kayque R. Araujo
Laboratório LabSYN
Placa de controle de saídas e comunicação de dados com as seguintes características:
Tamanho - 16,7x17,0cm;
Tipo da Placa - Face Simples;
Conectores - DB9 Fêmea para placa, conectores kk grande de 2 e 10 pinos e barra de pinos simples;
Principais componentes - Microcontrolador PIC 16f877a/18f4550 e Max485;
Liberação de negativo nas saídas, base dos transistors.

Confecção inicial rápida para verificação de possíveis erros de lay-out e hardware.
Aprovação: Em fase de testes

sábado, 10 de setembro de 2011

CUSCOPIC


No mercado/internet é possível encontrar várias plataformas para o desenvolvimento de aplicações com microcontroladores, principalmente para quem está iniciando neste mundo e que além de desenvolver a parte de software pode implementar a parte de hardware, o que é fundamental para quem está pensando em criar aplicações no futuro, principalmente se forem comerciais...
Uma destas plataformas é a CUSCOPIC, um kit prático de desenvolvimento, ideal para quem pensa em iniciar neste mundo. Tem algum tempo que adquiri o kit e montei sem maiores dificuldades, principalmente por ser muito bem documentado e com muitos exemplos que podem ser encontrados no site do equipamento http://www.mecatronica.org.br/disciplinas/cuscopic/index.html.
A CUSCOPIC é uma plataforma bastante didática e simples, os desenhos da placa foram muito bem elaborados e o kit separado em partes, o que o torna prático para o transporte já que pode levar para onde quiser apenas o que for utilizar.

Os pontos fracos são a necessidade de gravação do bootloader pela porta paralela e a necessidade de porta serial (pode ser utilizada com um conversor USB-serial externo) para gravação da programação, ruim porque praticamente nenhum notebook tem essas portas hoje em dia. Outro ponto, não diria negativo, mas problemático, seria a dificuldade de se utilizar os programas de gravação nos novos sistemas operacionais, mas tudo pode ser resolvido com um gravador USB externo.
O idealizador do projeto é o professor Daniel Corteletti, Bacharel em Ciência da Computação pela Universidade de Caxias do Sul (UCS) – RS e Instrutor de Educação Profissional de Nível Técnico - Centro Tecnológico de Mecatrôncia do SENAI. Ele também mantém um fórum de discussão da plataforma no Yahoo e comunidade no Orkut.
Como a ultima atualização foi em 2009, nos resta saber quando estará disponível uma nova atualização, quem sabe USB, SD e RTC a vista. Se precisar de ajuda professor, estamos a disposição...
Uma ótima opção, apesar de ainda não ter utilizado todas as funcionalidades da plataforma, mas recomendo, depois abordarei alguns experimentos.

segunda-feira, 16 de maio de 2011

Placa Receptora RF/RS485



Placa de Comunicação RF - rs485
Versão: 1.0 03/2011
Projeto: Wendell B. Silva
Desenho: Kayque R. Araujo
Laboratório LabSYN
Placa de comunicação de dados por RF para a rede rs485, com as seguintes características:
Tamanho - 6,1x5,27cm;
Tipo da Placa - Face Simples;
Conectores - Conectores kk grande de 2 pinos;
Principais componentes - Módulo receptor rf 433mhz, pic 16f628 e Max485.

Placa Transmissora RF/RS485



Placa de Comunicação RF - rs485
Versão: 1.0 03/2011
Projeto: Wendell B. Silva
Desenho:Kayque R. Araujo
Laboratório LabSYN
Placa de comunicação de dados por RF para a rede rs485, com as seguintes características:
Tamanho - 5,3x5,15cm;
Tipo da Placa - Face Simples;
Conectores - Conectores kk grande de 2 pinos;
Principais componentes - Módulo transmissor rf 433mhz, pic 16f628 e Max485.

quinta-feira, 5 de maio de 2011

Servidor - Placa de Saídas














Servidor Placa de Saídas
Versão: 1.0 02/2011
Projeto: Wendell B. Silva
Desenho: Wendell B. Silva
Laboratório LabSYN
Placa de controle de saídas e comunicação de dados com as seguintes características:
Tamanho - 16,7x17,0cm;
Tipo da Placa - Face Simples;
Conectores - DB9 Fêmea para placa, conectores kk grande de 2 e 10 pinos e barra de pinos simples;
Principais componentes - Microcontrolador PIC 16f877a/18f4550 e Max485;
Liberação de negativo nas saídas, base dos transistors.

terça-feira, 3 de maio de 2011

Servidor - Placa de Entradas


















Servidor Placa de Entradas
Versão: 1.0 02/2011
Projeto: Wendell B. Silva
Desenho: Wendell B. Silva
Laboratório LabSYN
Placa de controle de entradas e comunicação de dados com as seguintes características:
Tamanho - 14,1x13,0cm;
Tipo da Placa - Face Simples;
Conectores - DB9 Fêmea para placa, conectores kk grande de 2 e 10 pinos e barra de pinos simples;
Principais componentes - Microcontrolador PIC 16f877a/18f4550 e Max485;
Acionamento por negativo nas entradas, base dos transistors.

sábado, 30 de abril de 2011

Conversor rs232-485










Placa conversora rs232-485
Versão: 1.0 02/2011
Projeto: Wendell B. Silva
Desenho:Kayque R. Araujo
Laboratório LabSYN
Placa conversora de comunicação de dados com as seguintes características:
Tamanho - 7,85x3,52cm;
Tipo da Placa - Face Simples;
Conectores - DB9 Fêmea para placa e conectores kk grande de 2 pinos;
Principais componentes - Max232 e Max485.