collapse

* Links de Robótica

* Posts Recentes

Palavras Cruzadas por Hugu
[Hoje às 18:07]


[Projecto] Bomba Airsoft por jm_araujo
[23 de Setembro de 2017, 16:54]


Apresentação por Tech_JA
[23 de Setembro de 2017, 09:19]


Medir Agua que está no Poço por filjoa
[21 de Setembro de 2017, 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Preços e fabricantes de pcb por Sérgio_Sena
[19 de Setembro de 2017, 10:20]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]


Ideias para construir um quadrúpede simples por zordlyon
[15 de Setembro de 2017, 10:18]

Autor Tópico: Multi task com arduino  (Lida 1487 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.641
    • 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.641
    • 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.641
    • 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/