collapse

* Links de Robótica

* Posts Recentes

Ontem pequei... por senso
[Hoje às 15:38]


Tipo de conectores são ou onde arranjá-los? por Hugu
[Hoje às 00:34]


Wamp Server por beirao
[Ontem às 21:23]


Carro telecomandado atraves do PC por artur36
[Ontem às 20:10]


Escolher Multimetro por filjoa
[Ontem às 14:46]


Qual a melhor técnica? por dropes
[Ontem às 14:30]


TV Avariou - Sanyo por almamater
[26 de Setembro de 2016, 13:54]


Ligar telefone fixo a arduino por helderjsd
[26 de Setembro de 2016, 11:07]


Procuro cristal de 30.875 Mhz? por Hugu
[25 de Setembro de 2016, 17:20]


Encomenda Colectiva N2-2016[@Mouser - Aberta a pedidos!] por Hugu
[25 de Setembro de 2016, 16:42]

Autor Tópico: attiny como slave i2c  (Lida 1820 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
attiny como slave i2c
« em: 04 de Dezembro de 2012, 21:22 »
tava a pensar alterar os meus servos para motores dc simples controlados por pwm para ser mais facil de controlar e mais rapidos.

la no clube sei que tinhamos uma ponte H toda xpto que dava para motores muito fortes e era controlada apenas por i2c. mas é cara. e se estragar-se de certeza que não se vai arranjar outra

então pensei usar um attiny24 controlado por i2c que iria controlar a ponte H simples como a l293D. isto iria evitar usar 4 pins digitais e 2 de pwm.
o problema é que nunca fiz isso e não sei os endereços no attiny24.
e tambem não sei qual controlo tenho realmente.
posso controlar mesmo os pins livremente? controlar que pins estão high e low, controlar o duty do pwm e a frequencia
posso apenas mandar uma mão cheia de endereços que iniciaram partes especificas do codigo?
« Última modificação: 04 de Dezembro de 2012, 21:28 por LuísR.A. »
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline dvdt

  • Mini Robot
  • *
  • Mensagens: 1.211
  • David_@@@_Teles
Re: attiny como slave i2c
« Responder #1 em: 04 de Dezembro de 2012, 21:31 »
Por que é que não continuas a comunicar por pwm de servo mas com o attiny24 a descodificar os sinais e assim usas uma saída e um cabo apenas. Um tenho uma ponte h qua da para dois motores capaz de 25A por cada saida que da para ser controlada por seriar, pwm de servo, analog inputs, ic2 e é mais pratico usar o pwm de servo do que o resto todo.
David Teles

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: attiny como slave i2c
« Responder #2 em: 04 de Dezembro de 2012, 21:37 »
ja pensei foi em usar portas analogicas mas depois devia ser muito lento pensei eu.

tipo tas a dizer para o attiny receber um sinal pwm normal de servo? o attiny transforma o 255 (exemplo) em 100% duty para a frente e 0 em 100% duty para tras? é uma ideia muito boa
o envio de pwm pode afectar o timer que conta o tempo em segundos? tive esse problema com um processador

posso tentar mas não sei como interpretar os dados.
« Última modificação: 04 de Dezembro de 2012, 21:40 por LuísR.A. »
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline dvdt

  • Mini Robot
  • *
  • Mensagens: 1.211
  • David_@@@_Teles
Re: attiny como slave i2c
« Responder #3 em: 04 de Dezembro de 2012, 21:41 »
ja pensei foi em usar portas analogicas mas depois devia ser muito lento pensei eu.

tipo tas a dizer para o attiny receber um sinal pwm normal de servo? o attiny transforma o 255 (exemplo) em 100% duty para a frente e 0 em 100% duty para tras? é uma ideia muito boa

posso tentar mas não sei como interpretar os dados.

Nao me parece que seja muito bom usar as portas analógicas  mas de resto era isso exactamente isso que eu queria dizer. Mas também não me perguntes como é que isso se faz no attiny.
David Teles

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: attiny como slave i2c
« Responder #4 em: 04 de Dezembro de 2012, 21:43 »
ok obrigado pela ideia é muito boa. vou ver se encontro como se lê pwm

sabes como fazes no arduino?

já vi como é no arduino agora falta ver se aplica-se ao attiny
aplica-se ao attiny em principio falta testar. acho que vou meter depois um tutorial como fazer isto que é uma muito boa forma de poupar pins. e é barato.

int pin = 7;
unsigned long duration;

void setup()
{
  pinMode(pin, INPUT);
}

void loop()
{
  duration = pulseIn(pin, HIGH);
}
« Última modificação: 04 de Dezembro de 2012, 21:55 por LuísR.A. »
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline dvdt

  • Mini Robot
  • *
  • Mensagens: 1.211
  • David_@@@_Teles
Re: attiny como slave i2c
« Responder #5 em: 04 de Dezembro de 2012, 22:44 »
Muito bom então ;D Depois tens que dizer ai ao pessoal para podermos começar a usar isso. 8)
David Teles

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: attiny como slave i2c
« Responder #6 em: 04 de Dezembro de 2012, 23:11 »
pode ser mas tem de me ajudar a melhorar depois. condessadores para eliminar ruido e mais coisas que possam surgir pelo caminho.

ja tenho um modelo assim rapido numa veroboard (modelo digital claro)

para quem quiser ver esta no anexo em jpeg
reparei que convem explicar as cores.

o amarelo é os sinais de pwm (recebido e enviado)
o preto é o ground
o vermelho é 5V
o vermelho escuro é o V+ que se fornece aos motores.
o azul é os sinais digitais que controlam o sentido dos motores
o verde é o output da ponteH para os motores
os circulos brancos são cortes nas pistas


esta ponte H permite 1A por canal.
a ponte H vai de 3-4 euros
o attiny24 fica por volta de 2 euros +-
o preço disto fica por volta de 6 euros sem os condessadores e o resto

isto pode ser alterado para tambem controlar um servo tal como os motores (1 servo e 2 motores). isto só tem vantagens se o microcontrolador master não tiver mais que 1 pin PWM. basta usar mais 1 pin digital do master para isto ser possivel.

« Última modificação: 05 de Dezembro de 2012, 09:37 por LuísR.A. »
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: attiny como slave i2c
« Responder #7 em: 05 de Dezembro de 2012, 09:40 »
tive de alterar a placa.
não é possivel controlar os motores muito bem para a plantaforma movel virar.
tive de adicionar 1 segundo sinal pwm a receber mas deve ser possivel com analogica.

tambem meti o ground da ponte H comum com a fonte do attiny24

preciso de ajuda para saber se o attiny terá problemas com o ruido.
será que os condessadores iram impedir isso?
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: attiny como slave i2c
« Responder #8 em: 05 de Dezembro de 2012, 13:06 »
tenho um processador (no clube) que tem problemas ao usar o pwm. não consegue contar o tempo! é porque so tem um timer.

a base de fazer esta ponte era tambem para resolver esse problema. por isso é que queria por i2c.
como não sei como comunicar por i2c com o processador decidi meter na placa a opção de controlar a ponte H não so por pwm mas tambem por portas analogicas. isto pode ser escolhido atraves de jumpers.

tenho ai a imagem actualizada que tambem tem uma melhor legenda.

ainda continuo aberto a sugestões para melhorar a placa.
e claro gostava de saber se alguem sabe como controlar o processador por i2c


Jumpers são onde 1 fio roxo e amarelo saiem do mesmo buraco
tambem ha 1 jumper (fio roxo) que escolhe o modo de funcionamento. esta ligado do I/O 13 do attiny para os 5V. tem uma resistencia depois para o ground

a placa deverá ser um rectangulo de 7cmx4cm
« Última modificação: 05 de Dezembro de 2012, 13:13 por LuísR.A. »
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: attiny como slave i2c
« Responder #9 em: 05 de Dezembro de 2012, 13:23 »
Por que é que não continuas a comunicar por pwm de servo mas com o attiny24 a descodificar os sinais e assim usas uma saída e um cabo apenas. Um tenho uma ponte h qua da para dois motores capaz de 25A por cada saida que da para ser controlada por seriar, pwm de servo, analog inputs, ic2 e é mais pratico usar o pwm de servo do que o resto todo.

podes me dizer que ponteH usas?
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline dvdt

  • Mini Robot
  • *
  • Mensagens: 1.211
  • David_@@@_Teles
Re: attiny como slave i2c
« Responder #10 em: 05 de Dezembro de 2012, 13:53 »
Se quiseres gastar 120€ è um Sabertooth 2x25 da dimension Engineering. É muito boa para começar a delinear projectos desde médios a pequenos pois trabalha de 6 a 24 volts.
David Teles

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: attiny como slave i2c
« Responder #11 em: 05 de Dezembro de 2012, 14:04 »
so queria ver +- como é que consegue usar apenas 1 sinal pwm :P
nem pensar que gasto tanto
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 2.801
    • Tróniquices
Re: attiny como slave i2c
« Responder #12 em: 05 de Dezembro de 2012, 14:04 »
O código para I2C slave neste tópico é capaz de funcionar logo ou com poucas alterações num ATtiny24:

http://lusorobotica.com/index.php?topic=4491.msg49017#msg49017

O código é para ATtiny26 mas a USI do 24 parece-me igual à do 26, pode ter mudado algum nome de algum registo. É experimentar.