• Welcome to LusoRobótica - Robótica em Português.
 

Programar atmegas

Started by jorge_rc, 23 de December de 2011, 22:26

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jorge_rc

Boas Noites!

Para tentar "abandonar" a placa do arduino e passar para breadboard e posteriormente pcb's, tenho que arranjar forma de programar os atmegas...

para já, sera para um atmega 328 e talvez um atmega8.

Ja andei a ver conversores usb-serie tipo este: http://www.ebay.com/itm/USB-2-0-RS232-Serial-9-Pin-9P-DB9-Adapter-Converter-/160690202822?pt=LH_DefaultDomain_0&hash=item2569e1e8c6

e depois tambem vi este: http://www.ebay.com/itm/USBASP-USBISP-AVR-Programmer-USB-ATMEGA8-ATMEGA128-New-/370532286436?pt=LH_DefaultDomain_0&hash=item564571ffe4

este ultimo supostamente suporte muitos atmegas, é de confiar? e funciona com o ide do arduino? plug&play?

Thanks

senso

Para programares atmegas com um cabo serial o micro tem de ter um bootloader já programado, se não precisas de um programador ISP, esse USBASP é um programador USB, e tenho ideia que sim, que funciona com o IDE do Arduino, se não só tens de aprender a usar o avrdude que tambem é simples.
Avr fanboy

jorge_rc

então este último em pricipio é o suficiente? tambem ha pelo ebay conversores de 10 para 6 pinos, qual a utilidade?

thanks

senso

Nenhuma, é só uma questão de fios, porque os 10 fios em relação aos 6 fios têm mais 4 fios de massa.
Avr fanboy

jorge_rc

ok ok! Obrigado. vou entao comprar este  ;)

tiagogala

Eu também comprei um USBASP e tenho programado ATMega8 e ATTiny2313 e não me tem dado problemas. No início não foi fácil pô-lo a funcionar em linux, mas em windows com o AVRStudio funcionou à primeira. Ele vem com um cabo de 10 pinos mas para ligar à breadboard só são precisos 6 (MISO, MOSI, SCK, RST, Vcc e Gnd), e pelo menos numa fase mais inicial de prototipagem o Vcc e Gnd mantêm-se ligados enquando o USBASP está ligado ao USB, o que dá jeito para evitares ter que ter uma fonte externa (embora não seja a solução mais segura).

DLM


rglove

Serve. O programador comunica com o microcontrolador por SPI, portanto só tens de ligar o MISO (Master In Slave Out), MOSI (Master Out Slave In), SCLK (Clock) e reset aos mesmos do microcontrolador e penso que é só.
E a alimentação claro.

DLM

Consegues arranjar alguma imagem de um esquema simples?

Pode-se fazer com um atmega o que se faz com um arduino por exemplo certo? Trabalhar com sensores, motores, comunicação Wi-fi, bluetooth.
A minha grande dúvida é como se liga/testa isto tudo!
Põe-se o atmega numa breadboard? E depois? Onde se liga o USBASP para escrever para o atmega?

Ricardo Pedroso

Pessoal,
tenho gravado o bootloader em atmega8 e 328 com um outro arduino uno. com "arduino as ISP" da própria IDE do arduino e tem funcionado bem (e olha que não entendo muita coisa)

Eu aprendi neste link que tem um vídeo (em duas partes):

http://engenheirando.com/arduino/montando-arduino-na-protoboard/


Eu tenho o gravador, mas nunca precisei, qual é o prejuízo de fazer com o UNO?

rglove

#10
Eu nunca consegui meter a funcionar bem o arduino como ISP... Dava-me sempre erro a passar o código para a flash do microcontrolador... Tinha que colocar na linha de comandos outro parâmetro qualquer que já não me lembro para o avrdude ir tentando várias vezes passar o programa... Às vezes estava 1 ou 2 minutos para fazer o upload do programa. Comprei um programador (não sei se foi o usbasp, mas acho que foi) e é impecável.

Tens aqui esta imagem:


O atmega é o microprocessador, o arduino é uma placa cujo microcontrolador é um atmega também... A única diferença é que tens lá o bootloader, então podes fazer o upload do programa por serial (não precisas de nenhum programador) e podes programar com o IDE e linguagem do arduino (se bem que podes fazer o mesmo, ir buscar o ficheiro hex criado e fazer o upload do mesmo para a flash do microcontrolador sem ter o bootloader).

Hugu

Quote from: Ricardo Pedroso on 24 de October de 2012, 23:44
Eu tenho o gravador, mas nunca precisei, qual é o prejuízo de fazer com o UNO?
qual é mm a pergunta? eu n entendi o que queres dizer com prejuizo?..  ???

Ricardo Pedroso

Oi Hugu,
pergunto porque sei que alguns preferem usar outros programadores, e outros gravadores. Tirando o "estou acostumado" os outros gravadores são mais rápidos, mais fáceis, mais precisos?

pergunto porque muitos daqui já usaram os dois....

mas pelo que eu entendi,  com o "Uno as ISP", eu preciso gravar o bootloader antes de começar a programar,e com gravadores, gravo direto, sem bootloader. É isso?
Valeu

rglove

Se usares o arduino como programador ISP acho que não precisas de ter o bootloader.

senso

Gravador é simplesmente um nome esquesito para um programador, um programador ISP é mais rápido que usar um bootloader, de longe, mas só notas diferenças quando tens tipo 40 ou 50K de código para programar, porque demorar 5 ou 15 segundos, não me parece que seja crucial.
Avr fanboy