LusoRobótica - Robótica em Português

Robótica => Tutoriais => Tópico iniciado por: metRo_ em 06 de Fevereiro de 2009, 18:04

Título: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: metRo_ em 06 de Fevereiro de 2009, 18:04
Olá,
Aqui fica um tutorial para explicar o porquê de utilizar um mux para controlar uma ponte H. Este tutorial vem no seguimento da criação da Lusorobotica Motor Board.
Espero que gostem.

[Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H (http://www.lusorobotica.com/ficheiros/utilizarmux.pdf)

Abraços
Título: Re:[Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: microbyte em 06 de Fevereiro de 2009, 18:22
Podes dar exemplos de multiplexers?
São IC's?
Título: Re:[Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: TigPT em 06 de Fevereiro de 2009, 18:31
Parabéns metRo_, está muito bom!

Exemplos de MUXs:

74LS157
74LS153
74LS151
Título: Re:[Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: metRo_ em 06 de Fevereiro de 2009, 18:46
Que falha minha não ter colocado lá isso :p Já corrigi!
Título: Re:[Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: TigPT em 06 de Fevereiro de 2009, 18:56
Já alojei o novo e mudei o link deste post para o do LusoRobótica.

Mais uma vez, excelente trabalho ;)
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: Jay_OR em 20 de Julho de 2010, 23:11
Gostei bastante do tutorial, mas fiquei com uma duvida.
Temos que usar MUX de diferentes modelos, para que ao serem ligados na saída digital 7 um deles reaja ao selector HIGH (1) e outro ao LOW (0)?

Não sei se me fiz entender, mas vou dar um exemplo absurdo, usar um 74LS157 para actuar em HIGH e um 74LS153 para LOW?

EDIT: Meti-me a pensar nisto quando fui para o trabalho e acabei por entender, estava a fazer uma confusão dos diabos num copo de agua. xD
Afinal de contas basta usar 2 MUX do mesmo modelo, visto que um deles reage ao HIGH e ou outro ao LOW do pino 7.
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: metRo_ em 20 de Julho de 2010, 23:37
Os dois muxs que uso são iguais não sei se isto ajuda. Não percebi muito bem a tua duvida.
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: maurosmartins em 21 de Julho de 2010, 00:04
Viva pessoal!

metRo_, o tutorial está mto fixe, mas se calhar não é preciso meter mais hardware! para controlar um motor basta um sinal de PWM, e dois pinos digitais para a direcção, ou 1 se lá quiserem meter uma porta not.

meter o mux acho que não tem mta vantagem.

Cumprimentos, Mauro.
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: metRo_ em 21 de Julho de 2010, 00:19
Viva pessoal!

metRo_, o tutorial está mto fixe, mas se calhar não é preciso meter mais hardware! para controlar um motor basta um sinal de PWM, e dois pinos digitais para a direcção, ou 1 se lá quiserem meter uma porta not.

meter o mux acho que não tem mta vantagem.

Cumprimentos, Mauro.

Pois em vez de actuar nos sinais, dizes para actuar nos enables né? Tenho que dar uma vista de olhos no datasheet para ver o diagrama da ponte para ver se é solução não tem nenhum inconveniente.
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: maurosmartins em 21 de Julho de 2010, 00:20
Ei, sim é isso!

Acho k não tem inconveniente, uso sempre assim e já vi em dezenas de esquemas a usar assim também.

Cumprimentos, Mauro.
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: Jay_OR em 21 de Julho de 2010, 09:12
metRo_ acabei por entender o problema que estava a colocar no tópico, e já editei o meu post em cima.

maurosmartins a vantagem que eu vejo no MUX é que assim apenas tens que usar uma porta PWM e outra digital, em quanto da forma que falas teríamos que usar uma porta PWM e duas digitais. Em projectos simples e que não precisem de muitas portas é uma solução mais económica,  mas se fizermos uso de mais portas o MUX torna-se muito vantajoso.

Se a solução do maurosmartins não tiver nenhum inconveniente, acho que deveria ser adicionada ao tutorial, é capaz de dar em alguns casos, um certo jeito.
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: maurosmartins em 21 de Julho de 2010, 10:48
Olá pessoal.

Jay_OR, também podemos usar só uma porta digital, mas para isso precisamos de adicionar uma porta not, que pode ser feita com um 7404, ou de outra forma com um transístor NPN e uma resistência de pull-up (ou um PNP e uma pull-down). Desta forma utiliza-se uma porta digital uma gate not e uma de PWM, ao contrário de duas de PWM e um mux.

As duas são válidas, mas acho a minha mais simples (suspeito...  ;)   )


Cumprimentos, Mauro.
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: Jay_OR em 29 de Agosto de 2010, 02:30
Seria possível eu controlar 18 servos, através de MUX's com um Arduino Duemilanove?

Comprei 4 MUX's SN74LS257BN, mas não estou a entender o datasheet (http://focus.ti.com/lit/ds/symlink/sn74ls258b.pdf), por o que entendi com um único destes posso alternar entre 4 saidas e preciso de 4 selectores? Mas para fazer o numero 4 (100 em binário) apenas preciso de 3 selectores. Ou estarei a entender isto de modo errado? =S
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: senso em 29 de Agosto de 2010, 13:04
Para usares um multiplexer com 4 saidas, só precisas de dois bits/dois pinos de controlo porque:
00 Saida 0
01 Saida 1
10 Saida 2
11 Saida 3

Não sei se usar multipexers funciona muito bem a comandar servos, se for só unica e exclusivamente para controlar servos e não vais usar a comunicação serial então podes usar 13 pinos digitais mais os 6 analógicos, que dá um total de 19 pinos, e penso que as bibliotecas que existem já permitem fazer ppm(sinal que controla os servos) em todos os pinos do arduino, se não o melhor é talvez usar um micro que receba dados por serial ou i2c para reduzir os pinos usados e transformar esse micro num controlador dedicado de servos.
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: Jay_OR em 29 de Agosto de 2010, 13:12
Pois já procurei no fórum, mas não encontrei nenhum esquema com este MUX, vou andar as cegas a liga-lo. =S

Não quererás dizer 14 pinos digitais + 6 analógicos? (O pino 0 também se conta)

Se existisse uma biblioteca para converter todos os pinos em PWM era mesmo o ideal, será que existem mesmo?

Pois mudar de micro acabavam-se os problemas, mas não quero estar a investir num novo micro. Por isso queria arranjar uma solução mais barata. =X
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: senso em 29 de Agosto de 2010, 13:18
Esqueci-me de um lol, sim, tens 20 pinos para brincar, penso que a biblioteca mega servo faz ppm em qualquer pino e permite penso que até 24 servos(num arduino mega).
Título: Re: [Arduino] Tutorial - Mux para reduzir nº de PWM's no controlo de uma Ponte H
Enviado por: Jay_OR em 29 de Agosto de 2010, 14:37
Posso usar simplesmente a biblioteca <Servo.h>, correto?
Enquanto estava a escrever este post, experimente e realmente funciona com outro pino que não seja PWM, no meu caso foi o pin 8 digital e o pin 1 analógico.

Sendo assim vou dispensar o uso de MUX, embora vou precisar de utiliza-los para outro projeto que tenho em mente, mas com motores DC.