Ir ao conteúdo
  • Cadastre-se

MatheusLPS

Membro Pleno
  • Posts

    2.903
  • Cadastrado em

  • Última visita

Tudo que MatheusLPS postou

  1. A criatividade das pessoas com a ideia de moto perpétuo não tem limites!!! Engraçado que tem aparecido diversos tópicos aqui sobre o assunto. Todas as ideia sendo derrubadas. Como previsto... :D Não posso falar muita coisa não pois a alguns anos atrás tentei argumentar algo do gênero com amigo meu sobre carros elétricos + movimentos das rodas gerando energia de volta....... Bom, depois que estudei o assunto, vi que estava falando asneira.... auhauhauhaauhauh Falou
  2. Nos exemplos utilizei basicamente a versão 7.9 e a 7.10 Falou
  3. Antes de partir para a parte elétrica da coisa, leia sobre energia cinética rotacional: https://www.google.com.br/search?q=energia+cinética+rotacional&o que=energia+cinetoca+r&aqs=chrome.1.69i57j0l3.12830j0j4&client=ms-android-samsung&sourceid=chrome-mobile&espvd=1&ie=UTF-8 Tipo isso: http://pt.m.wikipedia.org/wiki/Energia#Energia_cin.C3.A9tica_rotacional Falou
  4. @Bruxos Tipo esse? http://produto.mercadolivre.com.br/MLB-579156860-potenciometro-rotativo-encoder-com-chave-para-volume-dvd-cd-_JM Falou
  5. No caso o ou não da necessidade de ventoinha, vai depender do tamanho do dissipador e o quanto os LEDs esquentam. Só testando pra ver. Falou
  6. A fonte 1 sendo de 3 e 3A, terá 9w e não 20w. Seu led 1 diz trabalhar a 2.85V. Eu acho meio arriscado colocar o .és. o em 3V. Como o led tem comportamento exponencial, talvez a corrente passe muito dos 3A quando em 3V. E nesse caso é bem capaz da fonte desativar por sobre corrente. A fo te 2 tem 36V. Mesmo caso anterior. O LED trabalha entre 32 e 34V. Nesse caso, eu usaria um resistor mesmo. Falou
  7. Escrevi errado ali em cima. Era para ser 300uS mesmo. O pulso sendo de 500uS + 300uS do intervalo, você tem um período de 800uS. A frequência é o inverso do período. 1/800uS = 1250 Hz. Mais fácil ainda. Na pior das hipóteses você terá um pulso 1 uS + 300 uS que daria uma frequência de aproximadamente 3400 Hz. O PIC lê isso fácil fácil. Falou Falou
  8. @rodrigocirilo Ele pode até ser 5MIPS, mas o incremento de uma variável não gasta somente 1 instrução. Você precisa calcular o incremento. O uC não sabe com 1 + 1 = 2. É tudo calculado. A grosso modo, ele precisa carregar em um registrador, mover para outro, somar, mudar para outro, e depois soltar o resultado. Isso leva-se instruçõeS (no plural mesmo). Você disse que o tempo ENTRE os pulsos não passa de 300mS. Mas não informou a duração dos pulsos. Mesmo assim, na pior das hipóteses você terá um período de 302uS e com isso uma frequência de ~3400Hz. O PIC lê isso com 38 pernas nas costas. Falou
  9. Code blocks funcionaria para você não? Nem sei se serve para esse propósito. Mas é outra ide de programacao. Falou
  10. Se você pegar o código que postei e trocar o 16F877A pelo 18F4550, tem q funcionar com o mínimo de ajuste. Os pinos são compatíveis. Se tiver q ajustar vai ser no AD. O seu código tem um monte de configurações desnecessárias. Você está usando o compilador CCS? Qual versão? Falou
  11. @circuit Obrigado pelo elogio. @KainanXD Desculpe não analisar seu código. Estou sem PC até hoje. Analisar código pelo smartphone é tenso. Mesmo o meu tendo uma tela fullhd de 5.7". Esse tipo de coisa necessito do compilador e do simulador para testar. E sem falar que você nem usou as tags para postar código. Veja (code) seu código aqui (/code). Substituindo os parênteses por colchetes. Normalmente ignoro códigos sem tags pois ficam ilegíveis. Falou
  12. @KainanXD O 0.195 seria a quantidade de passos necessária para alcançar a posição requerida. Explico: Veja a imagem do Excel logo acima onde relaciono a leitura do AD com a quantidade de chamadas necessárias para 1 giro completo. Assim, pela imagem do Excel, no eixo X temos o AD variando de 0 a 1023. E o You variando de 0 a 50. Bom, imagina que seu potenciômetro está na posição 0V, seu AD lê zero. Agora, você gira o potenciômetro todo para um lado e seu AD vai ler o valor máximo. Isso quer dizer q seu motor deverá dar uma volta completa. Certo? Nesse exemplo eu considerei um motor com 4 bobinas a serem controladas e considerei que cada passo do motor gira ele em 1.8*. Com isso, precisamos dar 200 passos para dar uma volta (200×1.8 = 360). Mas eu disse q nosso motor tem 4 bobinas e vou controlar individualmente. Nesse caso,ativo uma bobina por vez em sequência. Meu motor não precisa de 200 steps para dar 1 volta? Mas cada loop é composto por 4 bobinas. Ou seja. Se eu chamar meu loop das 4 bobinas 50 vezes dou uma volta completa. Mas nem sempre vou precisar dar uma volta completa. Imagina que eu queira apenas meia volta pois meu potenciômetro saiu do zero e foi para metade. Nesse caso faço uma regra de três para saber quantos step preciso para chegar nessa posição. Como é tudo linear, para não ter q fazer regra de três o tempo todo eu relacionei o AD com a quantidade máxima de chamadas (50) ao meu loop de 4 bobinas. Ora, eu preciso ativar as bobinas 4 x Y. Sendo Y a relação entre AD e 50. Nesse caso minha função linear entre AD e 50 deu Y = 0.048x. Aí eu já sabia que a quantidade total de steps deveria ser multiplicada por 4. Assim sendo: Total de passos = (0.048x) × 4 = 0.192x Sendo x a "distância" a ser percorrida. Por isso no código eu sempre pego o AD atual e subtrai o do AD antigo. Com isso sei a distância entre a posição do potenciômetro de agora e a anterior. Veja que esse é apenas um exemplo. O código que usei está longe do ideal. Isso é apenas um exercício didático. Vejo melhorias a serem feitas para alguma aplicação prática. Como filtragem do sinal do potenciômetro. Talvez uma histerese. Adicionar aceleração ao motor de acordo com a distância. Ou até mesmo mudar completamente o código e aplicar um controlador PID. Observe que nesse exemplo, considerei que o motor sempre dará os passos. Na prática pode ser que ele patine ou dê passo a mais. Nesse exemplo você não tem certeza de onde o motor está. Teria que adicionar um controle de posição real do motor. Seja por encoder ou outro tipo de feedback. Falou
  13. Esse página pode te ajudar a escolher uma lista de componentes para iniciar. http://dorkbotpdx.org/wiki/recommended_parts_parts_store Falou
  14. Interessante a ferramenta. Temos vários colegas lá no fórum de eletrônica que somem um tempo e do nada voltam. Acredito ser bem útil. Falou
  15. @Lucas Pereira de Souza A rotação da ventoínha não tem ligação nenhuma com a frequência do PWM. O PWM normalmente tem uma frequência bem mais alta. Para motores, costumo usar entre 100 e 200Hz, pois já vence a inercia do mesmo. Mas pode ser que você escute um zumbido. Nesse caso, terá que trabalhar acima do áudio que podemos escutar. Algo em torno de 20Khz. E sim. Se você tentar fazer o PWM no PIC com uma frequência tão baixa (3,3Hz), o PR2 dará muito alto mesmo e nem funcionará pois o PIC só consegue um PWM mínimo de 244Hz com cristal de 4MHz. Falou
  16. @maps75 Só para eu entender direito: você terá 12 entradas de áudio e gostaria de selecionar qual deseja ouvir. Certo? Sempre será apenas uma saída? Ou pode ter o caso de você querer ter duas ou mais saídas tocando ao mesmo tempo? Falou
  17. Vi navegando pelo Facebook: Algumas empresas estão mandando a fonte com esse aviso. Devem ter percebido o mal e tentando evitar RMA. Falou
  18. @ Li o Datasheet todo aqui e pelo que pude notar, além do couter de 3 bits, temos que ter outro para escolher entre o canal direito e esquerdo, não? Veja: Outra coisa, agora uma dúvida mesmo, só para eu ver se eu interpretei direito pois li o datasheet bem rápido: Essa parte: Isso aí seria o tempo de acomodação toda vez que escolho um dos filtros? Se for, esse CI é bem lento, não? Falou
  19. @mister nintendo Sim, acho bem complexo o método de comunicação. Mesmo sendo SPI. O problema não é o PIC, é o software. Eu sempre usei o CCS. Problemas: 1 - O CCS não vem com biblioteca TCP/IP por padrão. Você precisa solicitar a eles por email. Ora, como vou solicitar uma coisa que nem comprei? (sacou?) 2 - Você pode tentar outro compilador. No MikroC, não tenho ideia de como anda essa biblioteca. 3 - Você pode usar os copiladores da Microchip onde eles dão de graça a stack TCP/IP. Tem exemplos no forum deles. Mas e se você não tiver costume, terá que aprender outro compilador. O que eu resolvi fazer: Aceitar as sugestões dos amigos aqui do fórum que o futuro são os atmega. Mesmo usando a IDE padrão do arduino, dá para brincar bastante. Tem MUITA biblioteca pronta. Confesso que sou hobbysta e não quero/pretendo gastar meu tempo tentando aprender a fazer bibliotecas. A não ser que seja muito necessário e já não tenha uma que eu precise. Deixo isso para as pessoas que tem mais paciência/conhecimento/dom. Então, sim, o pouco que mexi no arduino até agora, gostei. Estou com uma problema chatinho na IDE que fica maluca. Mas vou dar um jeito depois. Olha, montei um sensor de distância, 1 de umidade e temperatura e o módulo ethernet em 1 tarde estudando sobre o assunto no google. Botei tudo junto, passei cola, fita adesiva e voilá, tudo funcionando, com acesso externo pela internet. Isso que nunca mexi na vida com arduino. Está tudo muito divertido. Mas tem um porém. O que eu gostava muito no PIC e que me ensinou muito foi a questão de hardware. Montagem mesmo física de componentes. Isso no arduino você não tem pois vem tudo pronto. Exemplo: Você vai lá e compra um shield de ponte H. Ele vai vim pronto e você terá uma biblioteca para controlar. Bem provável que a pessoa nem vá pesquisar para ver como funciona a ponte H. No PIC eu tinha que montar a ponte do zero. Nem que seja usando ci pronto como o L293D. Mas eu sabia o que estava montando. Eu lia o datasheet para saber como controlar o CI, o que cada pino fazia e tal. Esse tipo de conhecimento pode ser que esteja sendo perdido no arduino. Falou
  20. @Magril Olha que pesquisei viu. Sai mais barato você comprar um arduino chinês com o módulo ethernet já montado do que você começar do zero. Veja que para se comunicar na rede ethernet, você vai precisar de um CI controlador. Seja o EN28J60 (http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en022889) ou o W5100 (http://www.wiznet.co.kr/Sub_Modules/en/product/Product_Detail.asp?cate1=5&cate2=7&cate3=26&pid=1011) Agora, pesquise aqui no Brasil os dois chips avulsos e tome um susto com o preço dos mesmos e mesmo assim se você conseguir encontrar. Depois compare com o preço do módulo pronto já soldado, só ligar e usar. Só para te orientar, esses controladores (acho que só o W5100) necessitam de um jack de the ethernet (RJ45) que possuem um transformador interno. Esqueci o nome do transformador. Sem ele, não funciona. Olha o preço do RJ45 com esse transformador no Brasil. Depois de comprar o chip, o RJ45, já deu o preço do KIT no mercado livre. Ainda faltará todo o resto. Vai por mim, que comprando arduino mais shields prontos você ganha em produtividade. Falou
  21. @Magril Já estive nessa posição e recomendo arduino + módulo ENC28J60. Muito fácil de trabalhar com ele. Com PIC você irá tomar uma surra se ir pelo lado do compilador CCS. http://blog.filipeflop.com/modulos/modulo-ethernet-enc28j60-arduino.html Falou
  22. @joseca A fórmula para cálculo da frequência é: T=(1/clock)*4*Prescaler*(carga Timer2+1)*Postcaler De acordo com seu código fica: T=1/4000000*4*16*(248+1)*1 T=0.003984 Então freq=1/t= 251hz O frequencímetro do proteus precisa ser configurado para se comportar como tal. Clique duas vezes sobre ele e no lugar de TIME escolha frequency. Edit Já vi que você já fez isso. O LED NO PRO TEUS não se comporta como um doido. No help eles comentam que foi feita uma modelagem digital. Por isso acredito que seja difícil você ter o visual dele meio apagado. Se bem q no projeto enviado pelo @vtrx o mesmo tem esse efeito. Bom, sugiro apenas retirar o ler e o osciloscópio e testar sem eles. Lembrando que seu duty cycle so pode ir de 0 a 248. Se quiser ter resolução de 10 bits, tem que colocar um L depois do número do duty (set_pwm1_duty(124L) ) ou declarar a variável como long. Falou
  23. @aphawk No caso dos servos é tranquilo pois os mesmos usa uma frequência baixa que é de 50Hz com um tempo ON entre 1ms e 2ms em geral. Aí tudo fica tranquilo via software. Até por que via hardware, vai ser difícil uma frequência tão baixa. Essas considerações que foram feitas no forum do CCS, tem o PIC como uC em mente e que possui uma arquitetura diferente dos atmega. Mas concordo que é uma pergunta complicada. Se você tem uma aplicação onde precisa de ter vários canais PWM, hoje temos uC e CIs próprios para isso. A não ser que você já esteja no desenvolvimento de uma aplicação e precisa de 1 canal extra de PWM. Mas tem que ver até que ponto vale a pena comprometer seu código principal e executar um PWM de 20Khz via software. Agora, para PWMs de baixa frequencia e vários canais, acho de boa ia via software mesmo. Falou
  24. Li certa vez no fórum do CCS a respeito da "polêmica" do PWM via software. Eles estavam discutindo até que ponto seria viável o PWM feito via código. Qual a freqüência máxima? Alguns chegaram a dizer algo em torno de 5 ou 6 Khz seria o limite. Além disso, seria mais viável usar o hardware dedicado ao PWM. Até porque esse era o intuito desse módulo. Deixar o PIC livre para fazer outras coisas enquanto o sinal seria gerado a parte. Esse tópico explica de forma geral algumas coisas: https://www.ccsinfo.com/forum/viewtopic.php?p=177578 Falou

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!