sábado, 20 de dezembro de 2014

Conjunto encaixotado

Um projeto de 2009 que tinha o objetivo de tornar portátil meus projetos de uC de 8 bits pois estava cursando a faculdade e necessitava tê-los comigo a todo momento.

Projeto: uC Atmega8 com gravador embutido e selecionável.
  Botão de reinício, chave liga/desliga, LED indicador de ligado.
 Positivo e negativo da fonte, fusível 5VCC, LED indicador de gravação.
Saídas com conexão rosqueáveis, conexão do gravador, chave selecionadora de gravação e conector da fonte externo de 5VCC.

Para a conclusão deste projeto foi necessário pesquisar sobre o uC e métodos e técnicas de gravação até definir um de baixo custo e eficiente.

Conclusão: Foi planejado e executado em um curto tempo além de funcionar satisfatoriamente.

Impressão pessoal: Este projeto me proporcionou muita motivação e entusiasmo neste tecnologia e com isto muitos outros projetos nasceram e se desenvolveram.

Neste projeto evidenciou-se a complexidade da concepção de produtos eletrônicos por envolver não somente o programa mas todas as partes físicas necessárias para a sua confecção.

Percebeu-se que um sistema é composto de muitas partes físicas que muitas vezes são negligenciadas na concepção e são somente percebidas na execução.

Logo muitas técnicas foram desenvolvidos na área de montagem de partes físicas, de eletrônica como confecção de PCI, esquema elétrico e também na montagem de protótipos eletrônicos.

.

quarta-feira, 17 de dezembro de 2014

Atmel Studio IDE 6.1

Este tipo de IDE possibilita que se direcione e gere arquivos com designações especificadas pelo utilizador. É bom ter o domínio deste processo para não se enganar e cometer erros fúteis.

Ao abrir a IDE Atmel Studio 6.1 o texto inserido no campo denominado de “Name” será o nome da aplicação, o texto inserido no campo denominado de “Solution name” será o nome do projeto este gera um novo diretório e no campo denominado “Location” será o caminho onde o diretório será gerado e os arquivos serão gravados.

Name: AplicacaoAssemblador
Location: C:\Users\UTL\Documents\Atmel Studio\6.1
Solution name: EstudoDoAssembly1

No caminho “C:\Users\UTL\Documents\Atmel Studio\6.1\EstudoDoAssembly1” será criado o arquivo do projeto nomeado de “EstudoDoAssembly1” com extensão atsln.

No caminho “C:\Users\UTL\Documents\Atmel Studio\6.1\EstudoDoAssembly1\AplicacaoAssemblador” serão gerados dois arquivos nomeados de “AplicacaoAssmeblador” com extensões asm e asmproj.

Na versão 6.1 da IDE padrão não é necessário inserir a diretriz: .INCLUDE "m32def.inc" na linha de código, caso seja inserida este código o compilador indicará erros.

Se necessário e com base nestes procedimentos geraremos novas aplicações mantendo o mesmo diretório.



















 


Linguagem: assembly
Tecnologia: 8 bits
uC: Atmega 32A
Placa desenvolvimento: raposa de fogo
IDE: Atmel Studio 6.1
S.O.: Windows
Gravador: AVRISP XPII



Pré requisitos
Computador pessoal
S.O.
IDE
Placa de desenvolvimento
Gravador

Objetivo
Apresentar o leitor com as tecnologias no desenvolvimento de soluções em uC de 8 bits.
Justificativa
Neste tipo de desenvolvimento de solução envolve inúmeras tecnologias e conhecimento multidisciplinar.

Iniciando na IDE

Uma grande parte de nosso tempo passaremos envolvidos com a IDE Atmel Studio 6.1 inserindo códigos logicamente planejado para cumprir o que queremos.

Este tipo de IDE possibilita que se direcione e gere arquivos com designações especificadas pelo utilizador. É bom ter o domínio deste processo para não se enganar e cometer erros fúteis.

Ao abrir a IDE Atmel Studio 6.1 o texto inserido no campo denominado de “Name” será o nome da aplicação, o texto inserido no campo denominado de “Solution name” será o nome do projeto este gera um novo diretório e no campo denominado “Location” será o caminho onde o diretório será gerado e os arquivos serão gravados.

Name: AplicacaoAssemblador
Location: C:\Users\UTL\Documents\Atmel Studio\6.1
Solution name: EstudoDoAssembly1

No caminho “C:\Users\UTL\Documents\Atmel Studio\6.1\EstudoDoAssembly1” será criado o arquivo do projeto nomeado de “EstudoDoAssembly1” com extensão atsln.

No caminho “C:\Users\UTL\Documents\Atmel Studio\6.1\EstudoDoAssembly1\AplicacaoAssemblador” serão gerados dois arquivos nomeados de “AplicacaoAssmeblador” com extensões asm e asmproj.

Na versão 6.1 da IDE padrão não é necessário inserir a diretriz: .INCLUDE "m32def.inc" na linha de código, caso seja inserida este código o compilador indicará erros.

Se necessário e com base nestes procedimentos geraremos novas aplicações mantendo o mesmo diretório.

Código básico
Em função da complexidade da tecnologia do dispositivo e dos requisitos da IDE somos obrigados a inserir algumas linhas de código de configuração do ambiente. Temos dez campos fixos os quais usaremos códigos padrão nestas áreas arbitrariamente definidos, são eles:

Datação
Versão
Valores fixos dos endereços de inicialização
Segmento de dados
Dados variáveis
Segmento de código
Preparação da memória de dados
Laço de infinito
Segmento de dados persistentes
Dados persistentes


/*
 * AplicacaoAssemblador.asm
 *
 *  Created: 17/12/2014 12:52:11
 *  Author: Ubiratã Uaatsim Itzá I
 */
 ;****************************
***************************************************
.MESSAGE "*****************************************"
.MESSAGE "* Dato: " __DATE__ "/ Horo: " __TIME__".....*"
.MESSAGE "*****************************************"
.MESSAGE "* Versão: 1.0.0 *"
.MESSAGE "*****************************************"
;*******************************************************************************
;
;*******************************************************************************
.MESSAGE "valores fixos dos endereços de inicialização."

.EQU VETOR_INT = 0x0000                        ; posição zero da flash *
.EQU APLICATIVO_INI = SPMRaddr + 4            ; último vetor mais quatro *
;*******************************************************************************
;
;*******************************************************************************
.MESSAGE "Variáveis alocadas."
;*******************************************************************************
;* RAM *
;* reg 0x00 - 0x1f *
;* e/s 0x20 - 0x5f *
;* sram 0x60 - 0xdf *
;*******************************************************************************
.DSEG ;de 0x60 a 0xDF (128 bytes)            ; área de dados *
;*******************************************************************************
.ORG SRAM_START
;*******************************************************************************
; variáveis ligadas ao HW
v_PORTA_C:            .BYTE 1
v_DDR_C:            .BYTE 1
v_mcucr:            .BYTE 1
v_wd:                .BYTE 1
v_mcucsr:            .BYTE 1
v_gicr:                .BYTE 1
v_CURSOR:            .BYTE 1
;*******************************************************************************
;
;*******************************************************************************
;* VETORES DE INTERRUPÇÕES *
;*******************************************************************************
.MESSAGE "VETOR da interrupção instalado."

.CSEG
.ORG VETOR_INT

.MESSAGE "Ativando o VETOR da interrupção de reinicio"
.ORG 0x0000
rjmp cefo                                    ; reinicio
; aqui demais códigos de interrupção iniciam aqui.
;*******************************************************************************
;
;*******************************************************************************
.MESSAGE "Rotina principal ativada."
;*******************************************************************************
.ORG APLICATIVO_INI
;*******************************************************************************
cefo:                cli                        ; pára as interrupções.
                    ldi r16,high(RAMEND)
                    out SPH,r16                ; posição inicial, final da SRAM.
                    ldi r16,low(RAMEND)
                    out SPL,r16                ; define o apontador de programa.
;------------------------------------------------------------------------------
            ;        chamadas de rotinas
;------------------------------------------------------------------------------
ligilo_senfine:        wdr                        ; limpa o cão de guarda.
                    nop
                    sleep                    ; dorme.
                    nop
                    nop
                    rjmp ligilo_senfine        ; laço infinitamente.
;*******************************************************************************
;
;*******************************************************************************
.ESEG ;de 0x000 à 0x03ff            ; área de dados *
;*******************************************************************************
.ORG 0x000
;*******************************************************************************
v_eeprom1:            .BYTE 1
;*******************************************************************************


.


terça-feira, 9 de dezembro de 2014

Nota fiscal paulista

Muito interessante ter este cartão durante as compras evita ficar pedindo que o lojista forneça nota fiscal.





Após estes passos é só plastificar, mantê-lo na carteira e apresentá-lo na hora do pagamento.
.

terça-feira, 28 de outubro de 2014

Transmissor de temperatura.

Alimentação: 24 VCC
Resistência: 250 Ohms
Sensor: PT-100
Comunicação: 4 à 20 mA
Temperatura: 0 à 50 .C
.

.

domingo, 21 de setembro de 2014

Reuso - blocos de LEDs

Reutilizando eletrônicos de equipamentos descartados.







Levantado o esquema elétrico das funções básicas devemos levantar as ligações dos LEDs às saídas dos CI 74ALS164.






Paratanto, foi desenvolvido um programa para tal propósito sendo o levantamento da disposição ficando ao encargo visual. A disposição das saídas dos 74ALS162 ficam como na figura:


A disposição indicada por letras demonstra a sequencia dos LEDs iniciando na letra A e terminando na letra Q. Que na verdade são os bits de 0 a 15.







Na tabela os números de 0 a 15 representam o número de pulsos que devem ser aplicados no CI para que o bit ativo (LOW) acenda o respectivo LED da linha e coluna do bloco em questão.







.

quarta-feira, 17 de setembro de 2014

Painel atoa

Um painel eletromecânico metálico sem função.

 Vejamos o que podemos criar com isto?

.

domingo, 7 de setembro de 2014

Montagem muito antiga

Na época, década de 80, desta montagem era técnico em eletrônica recém contratado pela Unicamp.
Já tinha 3 filhos e ganhava pouco portanto usava o recurso que tinha. Esta montagem foi feita numa fonte de computador usado e o microcontrolador era um 8031. 

Foi muito empolgante ver os resultados lentamente surgindo. Não haviam as IDEs tão complexas como há hoje com tantos programas integrados como compilador e simulador. E muitas outras funções que passam despercebidos por muitos desenvolvedores.

Tinha que gravar EEPROM inserir na eletrônica e alimentar o circuito. Caso desse erro ou não funciona-se como o planejado tinha que apagar a EEPROM com o apagador que incide luz ultra violeta por alguns minutos. Ir ao programa fazer as correções compilar e gravar novamente na EEPROM e iniciar o processo novamente.

O processo de desenvolvimento em microcontroladores era cansativo e demorado!
.

domingo, 27 de julho de 2014

Finalmentes CLP

Terminando a parte física do projeto MEA dando início a etapa de desenvolvimento e quantificação do tempo para a execução de um programa para o CLP com a programação em blocos.

Nesta parte física esta faltando a compatibilidade dos sensores com o nível da entrada que é de 10 VCC.
.

quinta-feira, 10 de julho de 2014

Novidades

O CLP, o gravador e a interface ethernet chegaram na quarta-feira. Inicia-se agora o desenvolvimento da conjunto estrutural do projeto MEA.

A leitura do apostila esta indo bem pois é de fácil entendimento, claro nós exemplo e muito interessante. Aborda itens interessantes para a maioria das soluções.

Tudo muito bom!

quinta-feira, 26 de junho de 2014

Algumas

Filmei a minha tentativa de apagar um incêndio na mata perto de casa.
Tenho registrado alguns itens interessantes do clube do livro.

domingo, 11 de maio de 2014

DIN 2009

Interessante quando se esta trabalhando com microcontroladores é protegê-lo e ao mesmo tempo ter acesso facilitado aos seus pinos cujo função básica e fornecer uma interface de dimensões adequada ao uso pelo ser humano.

Com estes preceitos montei uma caixa para acomodar o microcontrolador e a eletrônica suficiente para seu funcionamento. Eu o denomino de DIN 2009 pois trata-se de um a caixa com trilho padrão DIN. Este projeto foi realizado no ano de 2009.
Encorporei a eletrônica básica para o funcionamento do ATMega 8 em uma placa de circuito impresso (PCI), um sistema de gravação chaveado composto de componentes discretos que utiliza o programador Pony como interface e alguns indicadores luminosos, fusível, botão de reinício, chave liga/desliga e um conector jack para a alimentação de 5VCC.

O gravador utiliza a comunicação RS232 do computador pessoal. O conjunto ficou altamente portátil e ainda ficou muito fácil utilizar os pinos do microcontrolador que estão conectados aos parafusos da caixa.



Pouca coisa mas deu muito trabalho, foram muitas horas de lazer. O resultado foi muito gratificante!

Fiz quando cursava a faculdade e a minha intenção era mostrar para o coordenador do curso de ciência da computação afim de implantar este conjunto na faculdade para uso nas bancadas pelos alunos. Foi uma frustração ter a minha ideia recusada.

.