collapse

* Posts Recentes

Protocolo TLS por KammutierSpule
[Ontem às 11:08]


Pequenas chapas de Aluminio - Onde comprar? por Tech_JA
[15 de Junho de 2019, 08:30]


Nuestros dominios web hasta las nubes! por JuanAlbeiro321
[15 de Junho de 2019, 08:25]


stepper motor por jm_araujo
[14 de Junho de 2019, 20:42]


Proteção Lipo por Njay
[11 de Junho de 2019, 21:18]


Medidor de indutâncias por SerraCabo
[10 de Junho de 2019, 12:14]


Carro autónomo por zordlyon
[06 de Junho de 2019, 09:43]


Outlet Lidl por jm_araujo
[03 de Junho de 2019, 13:53]


Torradeira por senso
[30 de Maio de 2019, 16:50]


Editor de ficheiros Gerber por fergas
[28 de Maio de 2019, 15:20]

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