collapse

* Posts Recentes

Como ver se uma tomada tem a terra ligada? por Hugu
[Ontem às 23:41]


VS-Solar Challenge 2018 por TigPT
[Ontem às 16:43]


Via Verde - Identificador por TigPT
[17 de Fevereiro de 2018, 09:56]


Estação de soldadura da Banggood, será boa compra ? por vasco
[16 de Fevereiro de 2018, 17:47]


Desenho PCBs 80's por senso
[16 de Fevereiro de 2018, 14:35]


Como guardar componentes SMD ? por vasco
[16 de Fevereiro de 2018, 14:34]


e-bike converter piscas para 12v por vasco
[15 de Fevereiro de 2018, 23:51]


Ebay - fornecedor em Espanha por SerraCabo
[15 de Fevereiro de 2018, 01:11]


BostonDynamics - Vai uma mãozinha? por TigPT
[14 de Fevereiro de 2018, 15:58]


Primeiro campeonato mundial de Ski robótico por TigPT
[14 de Fevereiro de 2018, 15:15]

Autor Tópico: Multi task com arduino  (Lida 1685 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
Multi task com arduino
« em: 29 de Julho de 2012, 21:20 »
eu quero substituir o microcontrolador basicx por um arduino porque é mais barato e estou a pensar usar o arduino leonardo.

gostava de saber se esse arduino suporta multi task

eu uso o multi task do basicx para coisas muito simples como usar uma ponte H com pwmout porque tambem uso um servo de posição e sem o multi task os motores nao funcionam correctamente. tambem uso para mais algumas coisas de vez em quando
Tiva MCU é que é.

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

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.642
    • Electronic Gear for Musicians
Re: Multi task com arduino
« Responder #1 em: 29 de Julho de 2012, 21:30 »
Para fazer esse trabalho, não precisas de multitasking.

Precisas sim de usar interrupções. É o suficiente.
E o Arduino deixa-te usá-las como quiseres, basta correr os tutoriais e manuais, está lá tudo escrito.


Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: Multi task com arduino
« Responder #2 em: 29 de Julho de 2012, 22:00 »
se quiser a posição do servo e manter os motores a girar numa direção posso usar interrupções? é algo que nunca usei.
eu uso o pwmout para controlar os motores ou servos de rotação continua

tenho um picaxe em que ao usar estas ordens ao mesmo tempo causa o pwmout e duty serem constantes e não podem ser alterados enquanto o a posição do servo funciona. ja me falaram sobre as interrupções mas não faço a minima como usar. ja li num manual mas nao sei como isso me pode ajudar neste problema


Tiva MCU é que é.

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

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.642
    • Electronic Gear for Musicians
Re: Multi task com arduino
« Responder #3 em: 29 de Julho de 2012, 22:05 »
No PICAXE é natural que isso aconteça. É um sistema pequeno e com recursos muito limitados.
Também já programei uns chips desses, e portaram-se bem para o fim em vista.
lembro-me de na altura lhe implementar as interrupções para os timers. Veja no manual do Picaxe, está lá explicado.

As interrupções são as melhores amigas de um programador de firmware em sistemas embedded.
Possibilitam um sistema "multitask virtual" onde na realidade as coisas acontecem encadeadas e não ao mesmo tempo, dando a parecença de ser tudo instantâneo.

A interrupção é um evento que acontece no microprocessador, que faz com que o mesmo pare a tarefa A, vai executar a B, e depois volta exactamente para o que estava a fazer na tarefa A.
Isto explicado de uma forma simplista.

Faz uma pesquisa no google, há muita informação sobre interrupções.

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: Multi task com arduino
« Responder #4 em: 29 de Julho de 2012, 22:10 »
ja tive a ver os interrupts do arduino e realmente deve resultar para fazer tudo.

outra pergunta que tenho é se tal como no picaxe a variavel "timer" fica doida sempre que se usa pwmout?
tipo o timer continua a funcionar mas com o pwmout cada tick não é controlavel e por isso durante o uso de pwmout o timer pode dizer que passou 10 segundos quando mal passou 1 segundo.

eu tive grandes problemas com isso no picaxe que não gostava de ter no arduino
Tiva MCU é que é.

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

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.642
    • Electronic Gear for Musicians
Re: Multi task com arduino
« Responder #5 em: 29 de Julho de 2012, 22:21 »
Não posso confirmar isso no PICAXE. O tmepo que passei a mexer neles, foi em emergência. Tive que aprender em duas horas e montar o projecto para ser apresentado noutras três.
Mas se isso acontece mesmo, é um erro grave no Picaxe, e natural pois provavelmente o timer e o pwm usam o mesmo temporizador interno.

No Arduino isso não vai acontecer, pois o pwm e o timer são periféricos separados onde a única coisa que partilham é o oscilador de entrada.

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: Multi task com arduino
« Responder #6 em: 29 de Julho de 2012, 22:26 »
muito obrigado era mesmo isso que queria saber.
assim sou capaz de trocar para o arduino que a diferença de preço é grande

sim no picaxe o timer e o pwmout usam o mesmo temporizador.
so as pausas funcionam.
Tiva MCU é que é.

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