collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]


Focos LED SMD por almamater
[16 de Dezembro de 2023, 14:12]


I Belive por dropes
[15 de Dezembro de 2023, 13:59]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[11 de Dezembro de 2023, 13:27]

Autor Tópico: Multi task com arduino  (Lida 3250 vezes)

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

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.224
    • 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.649
    • 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.224
    • 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.649
    • 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.224
    • 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.649
    • 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.224
    • 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/