Iniciando no AVR

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Iniciando no AVR

Mensagempor TARGET » 20 Jan 2009 22:59

Pretendo iniciar o estudo da família AVR e estou desenvolvendo uma placa didática com o ATMEGA8, gostaria de tirar algumas dúvidas antes de montá-la:
a)Pretendo gravar através da USART e estou colocando o MAX232 como interface. Existe outro pino alem de Tx e Rx do ATMEGA que preciso configurar?
b)Posso usar o CodeVision para gravá-lo diretamente pela COM?
c)Existe limite máximo para oscilador externo com relação à gravação pela USART?
d)O resistor interno de Pull-up já garante o nível lógico 1 para leitura?
e)O nível lógico 1 de qualquer pórtico é capaz de acender um LED?
f)No ATMEGA8 SMD existem dois Vcc e três GND é necessário ligar todos?
g)Vou usar como referência pra o A/D o Vcc conectado ao AVcc, posso deixar o pino VREF desconectado?

Desde já obrigado a todos que ajudam a manter este magnífico Fórum.
TARGET
 
Mensagens: 3
Registrado em: 15 Dez 2007 18:58

Mensagempor RobL » 21 Jan 2009 06:12

Pelas suas perguntas, sugiro que leia o manual do chip (AVRs) para iniciar.
Pode acender um led pelas portas (10mA).

Não entendi se você tem um gravador ou pretende gravar direto de um PC pela UART!!
Isto somente seria possível com a existência de um bootloader que por sua vez necessita de um gravador a fim de colocá-lo no chip.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor TARGET » 22 Jan 2009 00:28

Entendi vou montar também um gravador ISP, mas sobre a freqüência do cristal?
A entrada Vref , li o manual e não ficou claro para mim se devo deixá-la desconectada.
Obrigado!
TARGET
 
Mensagens: 3
Registrado em: 15 Dez 2007 18:58

Mensagempor wagnerlip » 22 Jan 2009 02:44

TARGET escreveu:Entendi vou montar também um gravador ISP, mas sobre a freqüência do cristal?
A entrada Vref , li o manual e não ficou claro para mim se devo deixá-la desconectada.
Obrigado!



TARGET, quer um conselho de amigo?

Não inicie pelo AtMega não... vá num feijão com arroz que você se dará muito melhor.

Procure no mercado um AT90S2313, está fora de linha mas ai no Brasil ainda tem para vender... 20 pinos, bem menos complicadores para iniciar, e possui o mesmo CORE AVR do AtMega... exceto por funções matemáticas de segundo nível (multiplicação, etc).

Possui programação via ISP, UART, Timers, Counters, Interrupções, Memória Flash de 2kBytes, Memória Eeprom, Ram, Stack Pointer, 32 registradores, tudo normal, porém muito mais simples e pequeno.

Vamos lá...

O AVR, incluindo o 2313 (cuja versão atual em produção chama-se AtTiny2313), pode drenar ou fornecer 10mA com facilidade. Na verdade, para ligar um LED nem precisa de tanto, a maioria dos LEDs já acendem bem com 5 ou 6mA.

De qualquer maneira, querendo mais corrente pode ligar pinos de portas em paralelo, desde que você comande todas ao mesmo tempo. Comece com um pino só até pegar os macetes.

Oscilador do 2313 tem que ser externo, nada que um simples cristal e dois capacitorzinhos de 10 a 20pF não resolva. Use qualquer frequencia, de 1Hz até 10MHz e tudo bem (para o 2313-10). Dá até pena de ver um bichinho assim rodar com tanto gas.

O 2313 possui um comparador analógico (ativável) em dois pinos, o pessoal usa isso para fazer um ADC com um resistor e capacitor externo... funciona bem, veja exemplos na net.

Ah, por falar em net, você encontrará muito mais informação sobre o 2313 do que o AtMega.

E sim, com os pullups ativos, se o pino estiver flutuando, ao ler o registrador de entrada será lido nível alto. O "resistor pullup" que na verdade é um transistor MosFET para VCC, simulando em torno de 20 a 30kΩ.

Para o gravador ISP, programe a comunicação para uma frequencia pelo menos 5x menor que o cristal do chip sendo gravado. Eu dificilmente uso cristal menor que 2MHz, e quase sempre faço programação ISP em menos de 200kHz, acima disso funciona mas eu gosto de usar cabo ISP mais longo, chip em protoboard, muita impedância no ar, ruido elétrico exagerado...

Uma série das suas dúvidas se auto-eliminam se optar para fazer testes com o 2313... e qualquer duvida é só perguntar, sempre terá quem ajude, se não tiver e não me encontrar por aqui eu tô lá em casa... :)
(no googlegroups)
Wagner Lipnharski
Consultor AVR - Orlando Florida
wagnerlip
Bit
 
Mensagens: 15
Registrado em: 02 Jan 2007 21:34

Mensagempor msamsoniuk » 22 Jan 2009 11:00

wagnerlip escreveu:Procure no mercado um AT90S2313, está fora de linha mas ai no Brasil ainda tem para vender...


que logica tem investir em um componente fora de linha ?

tah certo que eu e mais uns caras mexemos com 68000 aqui no forum, mas ele *continua* em producao! :)
#innovation #poweredby #riscv https://github.com/darklife/darkriscv
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor shenlong » 22 Jan 2009 12:11

Bom, eu gostaria de postar minha opinião.
Eu particularmente acho o atmega8 muito bom pra aprender, inclusive comecei com ele, por isso não posso dizer a respeito AT90S2313.
a)Não posso te ajudar muito em relação ao programador por USART, mas acredito que não precise configurar mais nada não.
Dá uma olhada nesse programador. Eu acho o máximo em questão de simplicidade:
Imagem

Junto com ele uso o PonyProg:
http://www.lancos.com/prog.html

É um pouco complicado trabalhar com os fuse bits no Ponyprog, mas é muito bom depois que aprende(0 significa programado e 1 significa não programado xD);
-
b)Nunca mexi com Codevision ><, uso o AVR Studio e programando em assembly;
-
c)Eu acredito que não haja problema, contanto que não de overclock no coitado, não passe de 16Mhz ou 20Mhz no Atmega88(esse é ferradão ^^);
-
d)Garante sim, e caso precise de um sinal mais forte na saída é só mandar brasa configurando o pino como saída, através do DDR(Direction Register);
-
e)É;
-
f)Bem provável que sim, em geral esses pinos alimentam regiões variadas dentro do uC.
-
g)Sim, de acordo com o datasheet:
"ADC Voltage
Reference

The reference voltage for the ADC (VREF) indicates the conversion range for the ADC. Single
ended channels that exceed VREF will result in codes close to 0x3FF. VREF can be selected as
either AVCC, internal 2.56V reference, or external AREF pin.
AVCC is connected to the ADC through a passive switch. The internal 2.56V reference is generated
from the internal bandgap reference (VBG) through an internal amplifier. In either case, the
external AREF pin is directly connected to the ADC, and the reference voltage can be made
more immune to noise by connecting a capacitor between the AREF pin and ground. VREF can
also be measured at the AREF pin with a high impedant voltmeter. Note that VREF is a high
impedant source, and only a capacitive load should be connected in a system.
If the user has a fixed voltage source connected to the AREF pin, the user may not use the other
reference voltage options in the application, as they will be shorted to the external voltage. If no
external voltage is applied to the AREF pin, the user may switch between AVCC and 2.56V as
reference selection. The first ADC conversion result after switching reference voltage source
may be inaccurate, and the user is advised to discard this result."
--
É isso aí, espero ter ajudado.
Falow!
shenlong
Bit
 
Mensagens: 8
Registrado em: 15 Out 2008 16:33

Mensagempor rubenprom » 22 Jan 2009 12:34

Tem um topico "Iniciando em AVR", sugiro que dê uma olhada TARGET.
Ainda mais, se realmente pretendes começar, pode sim com um MEGA8, pois tem muita informação na internet e aqui no Forum.

Outra coisa, tenta para agilizar as coisas nao estar fazendo placas, pois alem de caro, vc perde tempo. Tem no ML placas já prontas ainda sem montar, vc pode ver ou procurar como ARDUINO, experiencia propria, montei varias placas, mas ao final tive de comprar uma ja pronta para montar, pois o que perdia de tempo em estar furando e cortando placa nem vale a pena, por 13 reais matei a charada, sem os componentes claro

Bom, o gravador é muito facil de montar, isso sim, vc pode montá-lo sozinho

Ruben
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor shenlong » 23 Jan 2009 07:31

Mas Ruben, acho que não é tão complicado assim, claro, concordo que uma placa pronta é melhor pela questão praticidade, mas pelo preço é mais complicado.
Em geral eu uso aquelas placas universais que têm vários furos e uma ilha pra cada um. É uma beleza pra mexer com essas coisas.
Fica ai a dica pra quem quiser prototipar projetos gastando pouco.
Use também algum software para simulação dos circuitos, ajuda bastante a economizar e a aumentar seu aprendizado.
Falow!
shenlong
Bit
 
Mensagens: 8
Registrado em: 15 Out 2008 16:33

Mensagempor rubenprom » 23 Jan 2009 08:13

Fala Shenlong

Tambem a placa universal é outra boa opção, eu ja fiz, me referia a comprar a placa (sem os componentes) por causa da faciliadade de transportar e poder enxergar cada pino estampada na placa

Agora, gostei tb da ideia do simulador de circuitos, tem alguma dica ae?
Eu usava o PROTEUS, mas depois desisti quando nao consegui rodasr ou fazer teste na porta serial. Tem como simular com a porta USB??

falow
Ruben
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor TARGET » 24 Jan 2009 23:09

Obrigado a todos
vou continuar no MEGA8 mesmo, já recebi a versão SMD e os pinos repetidos de Vcc e GND são realmente conectados internamente, isto vai facilitar o meu layout. Na placa vai ter um gravador ISP (74244) já que o bootloader não vem de fábrica.
Para mim ainda não está bem claro como o AVR inicia uma gravação por bootloader, é o software (bootloader) que assume a comunicação após o reset ou é o gravador que assume a comunicação independente de qualquer outro pino do chip. O ideal é que o gravador tenha total independência, assim posso atualizar o firmware remotamente, não é mesmo?
Vou começar a fazer do Layout.
Um abraço!
TARGET
 
Mensagens: 3
Registrado em: 15 Dez 2007 18:58

Mensagempor RobL » 25 Jan 2009 16:35

Há várias formas, mas quando se coloca um bootloader normalmente queremos que este assuma após o reset. Uma das formas é aguardar um caractere por n tempo. Se não vier, tal caractere, vai para boot normal. Outro pode ler uma tecla (entrada de uma porta) e decidir o que fazer, etc.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor shenlong » 25 Jan 2009 18:19

Sobre o bootloader não posso ajudar ><
Mas sobre sua pergunta Rob, te digo que sim. Se não me engano as versões do proteus acima da 7.4 sp3 já vem com simulação de USB.
Sobre a porta serial acho estranho não funcionar. Tem que ver se não é o sistema operacional que está impedindo a comunicação(exemplo destrutivo de OS que adora e, com certeza foi feito pra atrapalhar o usuário: windows).
Eu uso o proteus porque não descobri outro que simule AVRs. Inclusive estou a espera de um software desses e que se possível fosse opensource, ou no minimo freeware, mas fazer o que né...
É isso aí, falow!
shenlong
Bit
 
Mensagens: 8
Registrado em: 15 Out 2008 16:33

Mensagempor rubenprom » 25 Jan 2009 20:53

Valeu Shelong
Fui eu tb que fi sobre a pergunta de simulação do USB, vou baxar a versao demo do PROTEUS, mas ainda nao tenho como postar, pois tou recomeçando de novo tudo, mas com certeza voltarei se nao for neste topico ou emoutro colocando resultados

Valeu ao pessoal tb do Forum

Ruben
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS


Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x