Página 1 de 2

Escolha do PIC

MensagemEnviado: 26 Fev 2009 19:21
por MOR_AL
Olá Pessoal.

Estou tentando projetar um controle angular para o eixo de um motor.
Possuo o 16F628, o 16F877 e o 12F675.
Após algumas horas de estudo, concluí que somente o 16F877 possui tudo que preciso para "ver se dá certo"! Porém gostaria de um PIC com menos pinos e mais barato.
Preciso de um PIC com as seguintes características:
1 - Possua facilidades de hardware para PWM.
2 - Idem para conversor AD de 8 bits (duas entradas analógicas)
3 - Entrada para referência externa.
4 - Custo relativo baixo.
5 - Duas saídas digitais.
6 - Facilmente disponível no mercado nacional.

Em princípio pensei que o 12F675 tinha tudo isso, mas descobri que não tem o PWM. Não tem nem o timer 2.

Pergunto:
1 - Qual PIC se enquadra nestas características?
2 - Acho que já ví no CCS que há um processo em que você escolhe o hardware interno e ele fornece os PICs que dispõe tais características. O problema é que não possuo o CCS e não sei qual seria o mais facil de se comprar. Será que há outro software que faz isso? Possuo o MPLAB 7.43, mas nunca prestei atenção a este detalhe.
MOR_AL

MensagemEnviado: 27 Fev 2009 00:51
por Rota
Tem o 12F683, o problema é que algumas funções que voce necessita esta compartilhado no mesmo pino com outras funções.
Eu ja comprei na multicomercial por R$ 3,80 (antes da crise), a ultima vez que cotei, tava R$ 6,XX.

MensagemEnviado: 27 Fev 2009 08:43
por renatokodaira
Tenta o 16F819 ou o 16F88, ambos sao de 18 pinos e facilmente encontraveis (Farnell).

MensagemEnviado: 27 Fev 2009 09:07
por otavio luiz
Eu utilizo bastante o 16f685, de fato ele é muito bom.

MensagemEnviado: 27 Fev 2009 09:58
por MOR_AL
Olá Rota, Renatokodaira e Otavio Luiz.

Obrigado pelas dicas.
[]'s
MOR_AL

Re: Escolha do PIC

MensagemEnviado: 27 Fev 2009 11:51
por amboni
sempre uso o 16F876A que tem mesmas caracteristias do 877A e tem só 28 pinos.....

MensagemEnviado: 27 Fev 2009 13:22
por Djalma Toledo Rodrigues
Mas, vc vai usar o Resolver como sensor ?
Pergunto devido aos dois ADC. Se vai usar Resolver o Soft fica bastante complicado, contudo este tem resolução infinita.

Outra possibilidade seria um Encoder fica tudo no digital.

Uma terceira possibilidade seria o Servo-motor industrial ( Trifásico Síncrono) dispensa transdutor.

MensagemEnviado: 28 Fev 2009 09:02
por MOR_AL
Minha intenção é fazer um controle bem simples, para pequenos motores alimentados com 13,6V. Algo em torno de 100mA.
No meu projeto original (sempre tem modificações a medida que avançamos) seria: (Vide figura)
Imagem
1 - (Duas entradas analógicas). Ler dois valores analógicos; o ângulo no eixo do motor (tt_med), com um potenciômetro de fio mecanicamente acoplado, e o ângulo desejado (tt_des), com um potenciômetro. CAD com 8 bits.
2 - (Duas saídas digitais). Estas saídas são os sinais de controle para o drive do motor. Uma "Sentido" de rotação, e outra "Liga/Desliga" o motor. Um PWM.
3 - Uma entrada para tensão de referência para o CAD. A tensão de alimentação regulada não possui a precisão nem a estabilidade necessária.
Incluindo os pinos de alimentação, dá um total mínimo de 7 pinos. Daí queria um PIC com 8 pinos.
Andei procurando os PICs sugeridos com apenas 8 pinos e cheguei a conclusão que são difíceis de encontrar. Quando encontrei concluí que seu preço era aproximadamente igual aos PICs de 16 pinos.

... Se lembra das modificações mencionadas acima?! Pois é!! Me empu%@$#& e decidi fazer um controle discreto com 2 comparadores e o Drive. Ainda estou em fase de projeto, mas posso mostrar algumas coisas já feitas. Claro que se houver alguém interessado. :D

Amboni - Agradeço pela sua sugestão, porém minha intenção seria usar uma solução mais simples. Valeu!
Djalma - Pra falar a verdade não sei o que vem a ser o "Resolver", mas pelas minhas explanações (e as suas) concluo que não seria útil no meu caso. As outras duas opções também não seriam úteis para o meu projeto. Grato pelas dicas. :D
MOR_AL

MensagemEnviado: 28 Fev 2009 17:44
por Djalma Toledo Rodrigues
Pensei que fosse posição ângular dinâmica, isto é, com o motor girando.

No seu caso poderia usar o PID Analógico, com Amplificadores Operacionais.

Vc. já teve a oportunidade de ver o Servo de Antena Parabólica ou o de Aero-modelo , Futuba é a marca mais conhecida.

MOR_AL escreveu:...No meu projeto original (sempre tem modificações a medida que avançamos) ... :D MOR_AL

Agora uma dica importante:
Quando se faz um projeto, se estabelece antes o objetivo a ser alcançado.
Se for modificando a medida que avança, isto pode é não terminar nunca.

Outra dica:
Guade em uma pasta, tudo que se referir ao projeto, cloquis, anotações, etc. pois, podera ser útil como ponto de retôrno para uma nova abordagem.

MensagemEnviado: 28 Fev 2009 18:02
por Djalma Toledo Rodrigues
MOR_AL escreveu:...Pois é!! Me empu%@$#& e decidi fazer um controle discreto com 2 comparadores e o Drive. ...:D MOR_AL

O mais indicado é o Subtrator e não o Comparador e porque ?
(Eu pergunto e eu mesmo respondo rs)
Porque o Subtrator tem a saída proporcional a diferença.

MensagemEnviado: 28 Fev 2009 21:06
por MOR_AL
Djalma.
Respondendo (ou tentando):

Pensei que fosse posição ângular dinâmica, isto é, com o motor girando.

É uma posição angular dinâmica entre zero grau e cerca de 120 graus. O controle tem que acompanhar as variações do ângulo desejado dentro desta faixa. O eixo do motor para, ou fica oscilando dentro de uma pequena faixa angular (delta_teta) quando alcançar o ângulo desejado. Esta última opção é semelhante ao motor de passo, quando se deseja que seu eixo permaneça fixo, no ângulo desejado, mesmo que haja um torque atrapalhando.

No seu caso poderia usar o PID Analógico, com Amplificadores Operacionais.

Sim. Mas desta forma o controle teria que ser ajustado para cada conjunto diferente de motor e carga. Certamente que uma vez ajustado, ficaria melhor, em termos de resposta a um deguau, do que a minha opção escolhida. Minha opção não terá uma resposta tão boa como um PID ajustado, porém não precisaria de ajustes.

Vc. já teve a oportunidade de ver o Servo de Antena Parabólica ou o de Aero-modelo , Futuba é a marca mais conhecida.

Até onde eu sei, o Fubata não é realimentado. Ou melhor. Nos aeromodelos, a realimentação é visual. O cara vê como está se comportando e altera a seu bel prazer. Quanto ao Servo de antena parabólica não tenho certeza, mas acho que também não é realimentado.

Agora uma dica importante:
Quando se faz um projeto, se estabelece antes o objetivo a ser alcançado.
Se for modificando a medida que avança, isto pode é não terminar nunca.

Correto. Meu objetivo é fazer um controle angular ou linear para um pequeno motor DC. Nele constam algumas diretivas que amarram o projeto.
As modificações podem aumentar o tempo de projeto, mas são função da facilidade de se encontrar peças, custo de material e outros pequenos detalhes. Minha opinião é que não se deve ser rígido quanto ao modo de resolver o problema. Acho mesmo que muita gente boa tenta resolver usando MC. Uma boa parte não sabe resolver o problema de outra forma, como por exemplo usando controle PID. Projetar um controle PID é conhecer eletrônica analógica, como circuitos com amplificadores operacionais, teoria dos circuitos (para os filtros), teoria de controle, etc.

Outra dica:
Guade em uma pasta, tudo que se referir ao projeto, cloquis, anotações, etc. pois, podera ser útil como ponto de retôrno para uma nova abordagem.

Correto. Possuo tudo guardado, com backUp em outro HD, e ao final imprimo tudo e guardo em uma pasta plástica.
Com algumas dezenas de anos trabalhando com eletrônica, acaba-se procedendo desta forma. Ainda possuo minha monografia da graduação de 1976. (Velho; não! Experiente; sim :lol: )

O mais indicado é o Subtrator e não o Comparador e porque ?
(Eu pergunto e eu mesmo respondo rs)
Porque o Subtrator tem a saída proporcional a diferença.

Correto. Como você pode ver no meu diagrama postado, há um bloco subtrator, fornecendo o erro. Aliás, seria um PID digital. Na verdade seria um pseudo PID, pois seria uma solução sem as dificuldades normais, quais sejam:
1 - Conhecer a função de transferência do modelo.
2 - Uso de um MC rápido e com facilidades matemáticas.
3 - Operações com ponto flutuante. Os coeficientes são números reais.
Digo que minha opção seria (houve a mudança relatada, mas não foi descartada sua aplicação no futuro. Já se encontra preparada para futura abordagem) um pseudo PID porque haveria um integrador, um diferenciador e um proporcional, tudo com uma abordagem diferente, com operações de subtração e multiplicação por 2 com apenas 8 bits. É um assunto interessante que pretendo voltar a trabalhar nele.
Pode-se fazer uma analogia entre o que você sugeriu e o que estou tentando fazer.
Você sugeriu uma operação de subtração, com o erro sendo proporcional. É o caso de uma fonte de alimentação regulada analógica. Eu estou sugerindo um comparador (na verdade são dois, mas isso é papo para depois), cuja analogia é uma fonte de alimentação chaveada, onde a tensão de saída fica oscilando entre os limites da tensão de ripple.
Quando tiver algo para mostrar eu posto, ok?
Em tempo.
Não desejo que você pense que este seu questionamento está me chateando. Pelo contrário. É sempre bom levantar uma discussão com um assunto que me dá prazer. E, acredite, posso aprender tanto com um PHD como um técnico recém formado. O interessante é saber garimpar.
[]'s
MOR_AL

MensagemEnviado: 28 Fev 2009 23:57
por Djalma Toledo Rodrigues
Muito bom . Muito bem colocado.

Apenas duas resalvas:
1ª) Os Servos Futuba ou das Antenas funcionam no mesmo principio . E ambos são realimentados, o Loop de posição é interno, através de um potenciômetro, só que em função da largura de pulso onde pulso de 1,5 ms corresponde a posição centra do eixo, a faixa vai de 1 ms a 2 ms, e se ajusta de modo que a largura do pulso gerado, através de um timer equivalente ao NE556 (interno no CI), seja igual a largura do pulso recebido .
Este é um sistema especial de Servomotor desenvolvido por dois engenheiros da Nasa.

2ª) Existe sistema onde além do contrôle de velocidade existe a necessidade do contrôle da posição ângular do eixo com ele girando, e as vezes a alta rpm.

MensagemEnviado: 01 Mar 2009 09:01
por _blackmore_
MOR_AL

Acho que já ví no CCS que há um processo em que você escolhe o hardware interno e ele fornece os PICs que dispõe tais características

Exato ... eu tenho usado o CCS IDE version 3.43 e PCB/PCM e PCH todos em versão 3.203 e a forma para encontrar é muito simples ... vá no menu tools ... Device selector .. pronto .. abre-se a janela de escolha de acordo com a família, I/O, ROM, RAM e recursos de cada um ...
De acordo com tuas necessidades postadas lá no início, além das opções já ditas pelos colegas você poderá escolher também a sua.

abrax!

MensagemEnviado: 01 Mar 2009 10:55
por MOR_AL
Djalma.
Agora entendi o funcionamento da Fubata (... pesquisei na web e achei Futuba e Fubata. Devem ser semelhantes). Achei bem interessante e já vem com toda a mecânica de redução. Agora vou tentar fazer com enfoque didático.
Grato pela dica.

_blackmore_
Não possuo o CCS, uso mais o assembler e pouca coisa do Basic.
Concluí­, porém, que não haveria muita economia entre um PIC com 8 pinos e outro com 18. Daí­ decidi fazer com o "feijão e arroz" da eletrônica. Comparadores e transistores. Só por curiosidade.
Grato.

MOR_AL

MensagemEnviado: 01 Mar 2009 13:33
por Djalma Toledo Rodrigues
_blackmore_ escreveu:Acho que já ví no CCS que há um processo em que você escolhe o hardware interno e ele fornece os PICs que dispõe tais características
abrax!

No Site Microship também há essa opção de seleção.

A propósito nos AN da Microchip existe muita informação sobre os diversos tipos de motores elétricos.

---------------------------------------------------------------------------------------

"Pequenos motores funcionam ligados a corrente da luz.
Quando parados nada custam"
(Antigo anúncio dessa maravilha que é o motor eletrico, nos USA.)
.