LusoRobótica - Robótica em Português

Robótica => Discussão geral sobre robótica => Tópico iniciado por: joaoamaral em 05 de Junho de 2009, 18:43

Título: Minimal Arduino para Robots
Enviado por: joaoamaral em 05 de Junho de 2009, 18:43
Ando a pensar há alguns dias que já tenho vários projectos que gostar de manter como fixos sem ter que andar sempre a montar/desmontar e a colocar diferentes programas no Arduino. Também não queria ter que comprar 1 Arduino por cada projecto, acho que a ideia do Arduino é servir de plataforma para prototipagem.

Então andei à procura na net de arduino cada vez mais pequenos RBBB, Nano .... até que cheguei aqui.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm4.static.flickr.com%2F3646%2F3548303468_e97ce81870.jpg&hash=b5d4788217753798a1076d56c856070d265ceaae)

Claro isto já não é um Arduino mas sim o ATMega8 sozinho e eu não fazia a mínima ideia que era possível tal coisa! Não preciso de reguladores? Nem condensadores? Nem do cristal? Certamente alguma coisa está errada nisto...

Senão e como tenho algumas breadboard daquelas (e vou certamente mandar vir mais) . Alguém tem experiência em usar apenas o ATMega8?
Tenho que comprar já com bootloader não é, para poder carregar os programas. Não posso fazer isso com a Arduino que já tenho?
Qual o melhor sítio para comprar? SparkFun?

Esta solução é a mais pequena de todas acho... (desmontável pelo menos).
Imaginando que isto resulta o robot de combate sumo em que ando a trabalhar já pode ter outro formato!!  ;D
Já agora alguém sabe onde posso comprar (ou como fazer) cabos de extensão fêmea de servos?
Título: Re:Minimal Arduino para Robots
Enviado por: joaoamaral em 06 de Junho de 2009, 10:50
Uhm eu posso experimentar fazer isto tirando o ATmega168 do Arduino?
Posso comprar vários ATmega168 c\ Bootloader colocar no Arduino colocar o sketchbook que quiser e usá-lo num projecto sem o Arduino? Que é aquilo que está a ligar o pino 7 e o 8 de 104K?

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm4.static.flickr.com%2F3121%2F3081589957_255e460320_o.png&hash=09e8d10377df64c671e5afa2d2ecc6a06933b834)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Farduino.cc%2Fen%2Fuploads%2FHacking%2FAtmega168PinMap2.png&hash=d622b49a37cdfed618371099b0260c8cfb532a93)
Título: Re:Minimal Arduino para Robots
Enviado por: Njay em 06 de Junho de 2009, 11:13
Podes, se adicionares um cristal de quartzo de 16MHz e 2 condensadores de 22pF.

É um condensador de 100nF.

Já agora, o ATmega168 funciona com qualquer tensão entre 2.7V e 5V.
Título: Re:Minimal Arduino para Robots
Enviado por: TigPT em 06 de Junho de 2009, 17:09
Temos que investigar isto melhor ;)
Título: Re:Minimal Arduino para Robots
Enviado por: guibot em 07 de Junho de 2009, 01:15
é muito simples de usar o Atmega168 numa breadboard, tenho alguns detalhes neste post:
http://lab.guilhermemartins.net/breaduino/ (http://lab.guilhermemartins.net/breaduino/)

e uma versão da mesma coisa mas em vez de breadboard usamos papel como suporte, chama-se paperduino:
http://lab.guilhermemartins.net/paperduino-prints/ (http://lab.guilhermemartins.net/paperduino-prints/)
Título: Re:Minimal Arduino para Robots
Enviado por: TigPT em 07 de Junho de 2009, 01:24
já conhecemos guibot... a ideia era evitar mais componentes como cristais e condensadores, pois ao que parece o atmega8 tem oscilador interno.
Título: Re:Minimal Arduino para Robots
Enviado por: Njay em 07 de Junho de 2009, 02:10
Todos os mega "modernos" têm oscilador interno. O problema é que ele não é muito preciso, e facilmente tens problemas na comunicação via porta série, que precisa de um clock preciso. Podes calibrar esse oscilador, mas aí deixa de ser simples...
Título: Re:Minimal Arduino para Robots
Enviado por: joaoamaral em 07 de Junho de 2009, 07:56
@guibot: muito giro o paperduino adorei a ideia, parabéns :D

mas como o Tiago disse o que queria era usar o mínimo de componentes e  tudo numa mini-breadboard
para poder ter projectos a correr sem ter que depender do meu arduino

quando for para programa-los ou usar a porta serie ligava-o de novo ao arduino. assim tinha muito atmegas programados mas só um arduino.

mas isso do cristal poderá significar que sempre preciso de PWM preciso de um cristal?
por exemplo para ver se percebi, o meu robot usa:
2 servos como locomoção e 4 emissores/receptores de IR (para detectar diferentes contrastes no chão e detectar objectos) mas isto preciso do cristal?

assim e segundo o Njay o minimo de componentes seria:
- minibreadboard
- atmega168 c\ bootloader
- 7805 (seja 3.3 ou 5 precisa de ser regulado)
- cristal de quartzo de 16MHz (se nao der o interno)
- Resistencia 1K
- Condensador 100nF
- 2x Condensador 22pF

Muito obrigado pela ajuda!
Abraço,
joaoamaral
Título: Re:Minimal Arduino para Robots
Enviado por: Njay em 07 de Junho de 2009, 11:55
Não precisas de cristal para o PWM. O cristal só é preciso para portas série ou se precisares de medir tempo com muita precisão. O oscilador interno tem um erro (face ao valor nominal, 8MHz) de até uns 16%, porque a frequência varia com a tensão de alimentação e a temperatura ambiente, além duma variação inicial de fabrico. Depois de calibrado (a uma certa temperatura e tensão de alimentação) fica com um erro de cerca de 4-5%.

A tensão de alimentação não precisa de ser regulada, desde que esteja sempre dentro dos valores aceites (2.7V .. 5.5V, para o ATmega168). Existe é uma dependência da frequência de trabalho, isto é, para trabalhar por exemplo a 16MHz a tensão de alimentação minima é de cerca de 3.3V.

Outro detalhe a ter em conta é que o ATmega168 só suporta um clock interno de 8MHz. Não sei se o ambiente de programação do Arduino suporta 8MHz num mega168.
Título: Re:Minimal Arduino para Robots
Enviado por: metRo_ em 07 de Junho de 2009, 12:01
O cristal custa 1€, ainda não percebi e é um componente que não estorva ninguém lol
Título: Re:Minimal Arduino para Robots
Enviado por: joaoamaral em 07 de Junho de 2009, 12:55
Aaaah... estou a perceber... nesse caso sem dúvida o cristal é uma peça fundamental!
Por exemplo sem ele nunca conseguiria ter um relógio correcto num LCD.

De qualquer a forma os pinos 9 e 10 do ATmega168 são para o cristal, por isso têm razão não vai ocupar mais por isso.

Obrigado
Título: Re:Minimal Arduino para Robots
Enviado por: Njay em 07 de Junho de 2009, 13:09
1€? Menos de metade disso.

Para controlar um LCD não precisas de cristal.

Os pinos 9 e 10 do mega168 pode ser programados para serem I/Os (pinos digitais), se usares o clock interno.
Título: Re:Minimal Arduino para Robots
Enviado por: joaoamaral em 07 de Junho de 2009, 13:21
Então acho que ainda não percebi  :-[

então para os seguintes projectos:
- mood lamp com o rgb (usa fading - PWM) não é preciso basta controlador
- mood lamp com notificador gmail é preciso porque usa porta serie para sinalizacoes (gmail, twitter etc...)
- robot/smalluino/sumouino usa servos e IR emissores/receptores não é preciso
- relógio lcd com alarme e termometro não é preciso

basta só regulador 5v e os condesadores (para além do ATmega168 e da breadboard mini)
a minha ideia é usar só o ATmega168 em vez do Arduino todo para cada projecto

obrigado pela paciência que estão a ter comigo,
João
Título: Re:Minimal Arduino para Robots
Enviado por: Reonarudo em 07 de Junho de 2009, 17:45
Acho que aqui ninguém gasta paciência a ensinar, alem disso é para isso que cá estamos para aprender e ensinar :)