Ir ao conteúdo
  • Cadastre-se

Formigoni

Membro Pleno
  • Posts

    39
  • Cadastrado em

  • Última visita

Tudo que Formigoni postou

  1. Ola Pessoal, Ressuscitando o tópico, mas é para da uma conclusão no projeto... Gostaria de agradecer as pessoas que me ajudaram aqui com o circuito e com a programação do PIC, foi de grande valia.. Alias, acho que se não fosse vocês talvez não teria conseguido... Segue algumas fotos do meu projetinho finalizado, agora é montar no carro e verificar seu comportamento no uso mesmo... Mas acredito que se precisar vai ser algum ajuste na programação. Aqui o painel montado com o circuito Aqui é só para o pessoal ver como fica a noite o painel, bem legal. E aqui um videozinho de como ficou seu funcionamento naquilo que foi o propósito do tópico... https://youtu.be/nDsUvU_n9mg Mais uma vez muito obrigado a todos que ajudaram. PS: Logo vou abrir um outro tópico sobre programação de motor de passo, e vai ser justamente para Cluster de RPM, quem puder me ajudar, agradeço de antemão Abraços Formigoni
  2. Ola Pessoal, Só para dar continuidade... Plaquinha tomando forma, corrigindo os erros para posteriormente queimar... Abraços Formigoni
  3. Ola Pessoal, cof, cof, cof..... rsrs.... Estou de volta para dizer que não desisti do projetinho não, alias ele está andando muito devagar mas está... Tive muitos contratempos nesse tempo todo mas fui fazendo conforme ia dando... Bom, só para dar uma atualizada, o desenho da placa de CI esta quase pronto, agora é dar uma confirida em tudo e queimar a bixinha, não reparem nas coisas mal feitas, é coisa de iniciante mesmo... Mas um dia chego lá... Um print da placa só para vocês verem .... E é isso pessoal, Logo monto e faço mais teste e posto aqui os resultados. Agradeço mais uma vez a quem ajudou aqui nesse pequeno projeto. Abraços Formigoni
  4. Ola Pessoal... Vamos a mais resultados... Ontem fiz mais alguns testes incluindo no circuito as modificações que nossa amiga Izadora mais uma vez sugeriu... E Mais uma vez obtive resultados positivos... Ficou funcionando bem perto do que eu quero, pelo menos em testes de bancada... A única coisa que senti que não ficou do jeito que deveria ficar é que em testes por exemplo quando se liga o contato do carro e se por acaso o combustivel já estiver baixo (na faixa de reserva) ele demora a dar o alerta pois acaba demorando um certo tempo até carregar o capacitor... Mais isso é um detalhe que não me faz mal... E falando em capacitor eu acabei usando um de 220uF ao invés de 100uF, achei que ficou melhor e mais "retardado" o sinal para o ADC do Pic... A única coisa é que não sabia se era para usar um eletrolítico ou não.. No mais é isso, agora vou terminar de montar meu circuito e começar a fabricar a placa de fenolite... Depois que estiver mais encaminhado eu volto aqui e posto umas fotos e um video do funcionamento... Obrigado a todos que me ajudaram até o momento, foi de grande valia a ajuda de todos... Abraços Formigoni
  5. Ok Isadora Ferraz, Entendi como faz a montagem... Vou fazer os testes com essas capacidades que você indicou inicialmente 10K e 10u... Quanto ao divisor de tensão eu estou usando sim 10k-10k.. Ficaria assim ?? E quanto ao calculo, você acha que está errado então?? Nas minhas medições a tensão variou de +ou- de 2.27 volts a 4.80 volts... Não entendi isso de dividir por 200 que você falou.
  6. Ola Pessoal... Bom, vamos aos resultados... Ontem eu fiz mais alguns testes. Ainda não mexi em nada relacionado a FUSES, o que eu fiz foi modificar o circuito para deixar do jeito que a Isadora Ferraz sujeriu... Aí peguei as medições, ajustei no programa as tensões e o negócio realmente funcionou, ficou bem legal... Está captando o sinal ADC certinho... Só que ficou muito sensível, estou fazendo os testes em bancada, tudo ligado a um painel de carro e juntamente com uma boia que vai no tanque... E quando mexo a boia, qualquer oscilada que chegue no ponto alvo já dispara o LED... O negócio agora é conseguir deixar ele mais estável, conseguir melhorar essa tal "média" ou então "retardar" a leitura do sinal... Ah, a única coisa que ainda não coloquei foi o capacitor em paralelo com os resistores... Não sei se isso ajudaria em alguma coisa na leitura. ?? Eu até tentei aumentar a média, mas não obtive resultado satisfatório.... void RTCC_isr(void) {//COMBUSTIVEL///////////////// set_adc_channel(0); Delay_ms(10); Media = 0; for(y=0;y<=64;y++){ delay_us(3000); Media = Media + read_adc(); } v = (media / 64); sinal=v*0.0048875855327468230694037145650049; //Printf("%f \n\r ",sinal);} Isadora Ferraz, Eu gostaria de tentar implementar esse esquema acima que você sujeriu também... Como faço para colocar no circuito.. Eu não entendi direito, e de quanto seria esse capacitor e o resistor ?? Obrigado, Abraços Formigoni
  7. Ok Vinicius, vou colocar esses FUSES e testar novamente para ver como fica... Não estou usando resistor entre os pinos MCLR e 5 Volts não.. Então vou colocar como NOMCLR ok.. Isadora Ferraz, O terra da boia é o mesmo sim do negativo da bateria/chassis do carro, e que também seria o mesmo GND do pic, a unica coisa que não sei é se posso colocar em qualquer um dos pinos VSS do Pic... No caso desse PIC18F2550, ele tem 2 pinos VSS. Mas pelo que medi acredito que não tem diferença né... Hoje a noite devo fazer mais alguns testes com essas modificações no circuito que você indicou e depois posto os resultados.. Obrigado pela ajuda Abraços Formigoni
  8. Oi Vinicius... No inicio eu iria usar o PIC 16F690 mesmo, mas só tinha um desses aqui e ele acho que esta com problemas pois não consigo gravar nada nele.. Então como tinha aqui 2 peças do 18F2550 eu usarei esse... Eu imagino que não poderá ficar assim mesmo essa configuração do Clock, só ainda não sei como arrumar... Abraços Formigoni Isadora Ferraz, Eu já estou usando o GND em comum Boia e PIC juntos... O meu "problema" é que essa variação de tensão é feita exatamente pelo terra da boia, e isso que não sei como passar para o PIC... Vou aplicar esse divisor resistivo para ver como fica então... Ficaria assim a montagem de resistor e capacitor ?? Obrigado pela ajuda pessoal. Abraços Formigoni
  9. Ola Pessoal, Primeiramente agradeço a ajuda de todos e o tempo dispensado para pensar com meu tópico... Mor, Vou dar uma lida melhor e ver se entendo melhor as suas colocações... Acredito que deva funcionar, mas também eu não sei se nos carros que tem essa indicação de nivel baixo se é usado essa lógica de programação... Bom, vamos aos testes de ontem a noite... Fiz o teste indicado pelo amigo Vinicius de um simples teste de Led piscando... Fiz inicialmente sem mudar nada na programação, simplesmente ocultei tudo que não ia usar para esse teste nas linhas de programação e deixei só as linhas para o led piscar... Ele funcionou só que para cada ciclo de piscada que estava programada com delay_ms(1000) demorava 48 segundos... Só consegui fazer ele funcionar com o tempo de 1 segundo mudando na programação na parte de FUSES para o que esta abaixo... Ah.. Também mudei mais algumas coisinhas e tirei algumas coisas que não iria usar mesmo conforme as dicas de vocês #use delay(clock=1000000) Dessa forma ele piscou o led a cada 1 segundo. Bom, ai voltei meu programinha todo para dentro para ver se funcionava... E ele funcionou, só que agora estou com outro problema... Não sei como pegar o sinal de tensão analógica no circuito para mandar para o PIC ler... Simplificadamente o circuito é este abaixo... Então vamos entender o circuito... A tensão vem da bateria, passa pelo regulador de tensão que mantem a tensão em +ou- 10Volts para quando a bateria do carro variar não ficar variando o ponteiro do combustivel... Aí entra no pino 2 do Rel. Combustivel... No pino 1 do Rel. Combustivel vem da boia do tanque, que nada mais é que um resistor que vem do Terra... Então nesse dois pinos do Rel. Combustivel eu tenho uma variação de tensão que vai de 1,55 Volts(tanque vazio) até 5,52 Volts(tanque cheio) ou resistencia da boia em 280 Ohms (tanque vazio) até 40 Ohms(tanque cheio)... Agora, gostaria de saber como faço para passar essa tensão para a porta analógica (AN0) do PIC, sendo que o PIC já tem seu terra e o que faz essa variação de tensão é o terra da boia ??? Não ter conhecimento é uma ***** pessoal... rsrs... Desculpem. Já tentei jogar direto um fio do pino 2 do Rel. Comb. para o PIC mais a tensão fica alta, alguem pode me dar uma luz ? Obrigado mais uma vez... Abraços Formigoni
  10. Isadora Ferraz, Desculpe, acabei comendo bola na hora de copiar e colar as linhas de fuses que estou usando... Na realidade são essas abaixo que uso nesse programinha... #include <18F2550.h>#device ADC=10#FUSES NOWDT //No Watch Dog Timer#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale#FUSES PUT //Power Up Timer#FUSES NOBROWNOUT //No brownout reset#FUSES NOMCLR //Master Clear pin used for I/O#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)#use delay(clock=48000000,crystal=48000000)//#use rs232(baud=9600,parity=N,xmit=None,rcv=None,bits=8,stream=PORT1) Esse negócio de estar configurado tal FUSE e não estar usando, realmente não sei dizer se fica ativo... Mas vou tirar para ver se muda alguma coisa... Quanto a eu estar usando pinos AD, se esse AD for portas analógicas... Sim, eu tenho que usar 2 portas analógicas do PIC... No caso eu uso as AN0 e AN1... Esse negócio do cristal eu não entendi direito.. Eu terei que instalar algum cristal fora do PIC ? A minha montagem esta sendo na Protoboard sim. Também não sei o que seria o capacitor de desacoplamento.. rsrsrs... Desculpe a minha ignorância, estou iniciando agora com programação com PIC e sou muito leigo ainda nisso... Se puder ajudar eu agradeço.. Abraços Formigoni
  11. Obirgado pela resposta Isadora... Então, esse printf na realidade é apenas para me mostrar no terminal virtual do Proteus a tensão que está quando simulo mudança no potenciometro... entendeu ? E o rtcc seria o Timer0 do Pic sim... Como teria que colocar o reload ou reset ?? Ah, e a configuração dos meu FUSES estão assim... #include <18F2550.h>#device adc=10#FUSES NOWDT //No Watch Dog Timer#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale#FUSES HSPLL //High Speed Crystal/Resonator with PLL enabled#FUSES NOPROTECT //Code not protected from reading#FUSES NOBROWNOUT //No brownout reset#FUSES BORV20 //Brownout reset at 2.0V#FUSES PUT //Power Up Timer#FUSES NOCPD //No EE protection#FUSES STVREN //Stack full/underflow will cause reset#FUSES NODEBUG //No Debug mode for ICD#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O#FUSES NOWRT //Program memory not write protected#FUSES NOWRTD //Data EEPROM not write protected#FUSES IESO //Internal External Switch Over mode enabled#FUSES FCMEN //Fail-safe clock monitor enabled#FUSES PBADEN //PORTB pins are configured as analog input channels on RESET#FUSES NOWRTC //configuration not registers write protected#FUSES NOWRTB //Boot block not write protected#FUSES NOEBTR //Memory not protected from table reads#FUSES NOEBTRB //Boot block not protected from table reads#FUSES NOCPB //No Boot Block code protection#FUSES NOMCLR //Master Clear pin used for I/O#FUSES LPT1OSC //Timer1 configured for low-power operation#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)#FUSES PLL5 //Divide By 5(20MHz oscillator input)#FUSES CPUDIV4 //System Clock by 4#FUSES USBDIV //USB clock source comes from PLL divide by 2#FUSES VREGEN //USB voltage regulator enabled#use delay(clock=48000000)#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) Obrigado... Abraços Formigoni
  12. Então Vinicius... No caso eu teria que fazer esse teste de colocar um led para piscar usando a rotina do Timer certo ?? Pois o meu programa roda até certo ponto, logo quando inicio (alimento) o PIC ele acende os leds que tem que acender e apagam conforme esta no meu programa... Mas aí fica por isso mesmo, não faz mais nada... Então, eu acho que o problema está no Timer, alguma coisa relacionada a frequência mesmo... Então, o certo seria eu colocar um led para piscar pelo timer né para ver se funciona né ? Vou fazer isso para ver como fica.. Abraços Formigoni
  13. Ninguem que possa dar uma dica o que poderia ser ?? Obrigado... Abraços Formigoni
  14. Ola Pessoal... Preciso de mais ajudas... rsrs... Não estou conseguindo fazer funcionar o projetinho no protótipo real... Ele funciona normal e muito bem na simulação com o Proteus, mas quando gravo o PIC e coloco no meu protótipo na Proto área, ele não funciona... Eu acredito que deve ser algum erro na configuração de Fuses, Cristal do PIC... Ou talvez na configuração dos Adc, Timer0... Pois ele funciona até certa parte, mas quando simulo a mudança de tensão na entrada Analógica não acontece nada... Eu estou usando o PIC 18F2550.. Se alguem puder me dar uma luz aonde eu estou errando, agradeço muito... Abraços Formigoni
  15. Ola Vinicius... Alias, você é meu xará.. rsrs... então, acabei fazendo do jeito que nosso amigo Vtrx falou... Acredito que da forma que você descreveu também funcione... Vou fazer uns testes reais do jeito que fiz e depois posto aqui os resultados... De qualquer forma eu agradeço a sua ajuda..] Abraços Formigoni
  16. OK Vtrx, Muito obrigado, vou escrever assim e depois fazer uns testes para ver como fica... Abraços Formigoni
  17. Vtrx, Eu fiz assim em cima da dica que você postou naquele outro tópico... Será que dessa forma estará fazendo a leitura pela média ?? Como posso fazer para testar se realmente está ?? void RTCC_isr(void) { //COMBUSTIVEL///////////////// set_adc_channel(0); Delay_us(10); sinal=read_adc(); Delay_ms(500); sinal=sinal*0.00586510263929618768328445747801; // (6.0 Volts/1023) Media = 0; for(y=0;y<=30;y++){ delay_us(100); Media = Media + sinal; } v = (media / 30); Printf("%f \n\r ",v); Obrigado, Abraços Formigoni
  18. Ola Vinicius... Achei interessante essa sugestão de fazer uma média em cima de 10 leituras da boia gravadas na memória. A única coisa que eu não sei como trabalhar com gravação da eprom no PIC... rsrs... Nem imagino como programar para fazer isso. Se puder me ajudar, agradeço... O que cheguei a fazer depois que postei esse tópico foi a dica do amigo vtrx... Eu procurei alguma coisa sobre média e achei esse tópico sobre estabilizar leitura ADC... Aí inclui uma rotina no meu código em cima desse tópico, mas não sei se isso resolveria meu problema... Vou fazer alguns testes e posto aqui... Obrigado pela ajuda amigos Abraços Formigoni
  19. Ola Pessoal... Como gosto de mexer muito com carros, eu mesmo gosto de colocar a mão na massa... Estou tentando fazer um projetinho para um painel que estou montando para um carro antigo meu... "Alarme de nivel baixo" Quero colocar uma luz de visualização e um buzzer temporizado quando o nivel atingir a reserva... Para ler o nivel do reservatório vou a propria boia que é um sensor que varia sua resistencia e gera uma determinada tensão... O problema é que o tanque do carro fica em movimente e com isso movimenta o combustivel que esta dentro certo.. A minha pergunta é: Como eu faria para pegar a média de leitura do sensor para que não desse alarme toda vez que o tanque se movimentasse e o liquido descesse abaixo do nível mínimo ??? Já fiz o programinha para acender o led e tocar um buzzer quando entra na reserva, mas estou tendo esse problema... Quando o carro se movimenta a boia fica variando muito e acaba acendendo a luz o ligando o buzzer toda vez que o sensor entra na faixa da reserva... Será que teria como fazer via programação isso ?? Alguem saberia ?? Estou usando o PIC16F690 Compilador Micro C Proteus para simular. O programa que estou usando é esse... float v,m;#int_RTCCvoid RTCC_isr(void) { //Delay_ms(1500); set_adc_channel(0); Delay_us(10); v=read_adc(); Delay_ms(1500); v=v*0.00586510263929618768328445747801; Printf("%f \n \r ",v); }void reserva(){ output_high(pin_a3); } void Alarme(){ output_high(pin_a3); output_high(pin_b4); delay_ms(250); output_low(pin_b4);}void main(){ setup_adc_ports(sAN0|sAN1|VSS_VDD); setup_adc(ADC_CLOCK_INTERNAL); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard enable_interrupts(INT_RTCC); enable_interrupts(GLOBAL);//Setup_Oscillator parameter not selected from Intr Oscillator Config tab // TODO: USER CODE!!lcd_init(); C=255; //Delay_ms(1000); output_low(pin_a3); output_low(pin_b4); While (true){ output_low(pin_a3); If (v<2.10) { Alarme(); While (v<2.10){ Reserva(); } } output_low(pin_a3); } // TODO: USER CODE!!} Obrigado Abraços Formigoni
  20. Ola Xykote... Então, é para um projetinho caseiro mesmo... Aprendendo a programar... rsrs.... E depois que postei esse tópico dei mais umas fuçadas e acabei conseguindo o que queria... Pelo menos no simulador né.. rsrs.. Mesmo assim agradeço a ajuda Abraços Formigoni
  21. Ola Pessoal... Estou tentando fazer um projetinho bem simples pois estou iniciando em programação em C para PIC... Eu uso o Micro C para escrever o código e o Proteus para simular.. O projeto consiste em acender um LED toda vez que a tensão recebida em uma Porta ADC do PIC for abaixo de um valor determinado... Estou usando um range de 0,00 a 6,00 Volts. Então seria toda vez que a tensão recebida pelo PIC for abaixo de 2.10 Volts ele acende o led por um determinado tempo definido, e todas as vezes que a tensão voltar a cair o led acende novamente por um determinado tempo... Ele não pode ficar acesso direto mesmo com a tensão baixa... Ele só acende quando a tensão abaixar e logo apaga... Escrevi o código dessa forma... Mas não estou conseguindo fazer o led temporizar, só consigo fazer ele ficar acesso direto com tensão baixa ou apagado com tensão normal... Ou então o led ficar piscando com a tensão baixa, mas não é isso que quero... Se alguem puder me falar aonde estou errando eu agradeço muito... Código.... #int_RTCC void RTCC_isr(void) { float v; Printf("\n \r TESTE!!"); set_adc_channel(1); v=read_adc(); Delay_ms(1000); v=v*0.00586510263929618768328445747801; Delay_us(10); Printf("%f \n \r ",v); } #include "lcd.c" #define LCD_DATA_PORT getenv("SFR:PORTB") #define LCD_ENABLE_PIN PIN_b0 #define LCD_RS_PIN PIN_b1 #define LCD_RW_PIN PIN_b2 #define LCD_DATA0 PIN_b4 #define LCD_DATA1 PIN_b5 #define LCD_DATA2 PIN_b6 #define LCD_DATA3 PIN_b7 float v; int32 c; void Alarme(){ output_High(pin_c1); delay_ms(2000); output_low(pin_c1); } void main() { setup_adc_ports(AN0_TO_AN1|VSS_VDD); setup_adc(ADC_CLOCK_INTERNAL); setup_spi(SPI_SS_DISABLED); setup_wdt(WDT_OFF); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_timer_3(T3_DISABLED|T3_DIV_BY_1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); enable_interrupts(INT_RTCC); enable_interrupts(GLOBAL); //Setup_Oscillator parameter not selected from Intr Oscillator Config tab lcd_init(); While (true){ set_adc_channel(1); v=read_adc(); Delay_ms(1000); v=v*0.00586510263929618768328445747801; Delay_us(10); If (v<2.10){ Alarme(); } else { output_low(pin_c1); } Obrigado, Abraços Formigoni
  22. Ola Felipe, Deixa eu te perguntar uma coisa ... você conseguiu uma boa precisão em intrumentos (RPM) com algum PIC de fácil acesso aqui no Brasil ?? Pois aquele PIC que a outra pessoa me indicou não tem aqui no Brasil e ai teria que importar um desses (fora o $$$). Estava querendo algum PIC que fosse fácil de se comprar mesmo que ele tenha que ter alguns pinos a mais... Obrigado, Abraços Formigoni
  23. Felipe, Obrigado... Abaixo segue a programação que estou usando e usei para fazer a simulação, não entendi muito como incluir o algorítimo que você me falou... Será que tens como me ajudar como fazer ?? #include "main.h" /* Motor de 4 cilindros... Motor de passo para o ponteiro */ #define passo1 pin_a0 #define passo2 pin_a1 #define passo3 pin_a4 #define passo4 pin_a5 unsigned int16 ponto_desejado; unsigned int16 ponto_atual; unsigned int8 passo; unsigned int8 pulse[4]; unsigned int8 old_pulse; unsigned int8 counter_pulse; unsigned int16 media; unsigned int8 freq; unsigned int8 rpm; //Rpm X100 short int calculado; void motor (void){ if(passo == 8) passo = 0; else if(passo == 255) passo = 7; output_low(passo1); output_low(passo2); output_low(passo3); output_low(passo4); switch(passo){ case 0: output_high(passo1); break; case 1: output_high(passo1); output_high(passo2); break; case 2: output_high(passo2); break; case 3: output_high(passo2); output_high(passo3); break; case 4: output_high(passo3); break; case 5: output_high(passo3); output_high(passo4); break; case 6: output_high(passo4); break; case 7: output_high(passo4); output_high(passo1); break; } } aumenta_passo(); #int_RTCC void RTCC_isr(void) //externo { } #int_TIMER1 //131ms void TIMER1_isr(void) //tempo de resposta 1/2 segundos { pulse[counter_pulse] = get_rtcc(); set_rtcc (0); media = pulse[0] + pulse[1]; media = media + pulse[2]; media = media + pulse[3]; media = media + old_pulse; // valor antigo vale o triplo media = media + old_pulse; media = media + pulse[counter_pulse]; // valor atual vale o quadruplo media = media + pulse[counter_pulse]; media = media + pulse[counter_pulse]; old_pulse = pulse[counter_pulse]; //grava o valor atual para valer o dobro depois counter_pulse ++; if(counter_pulse >= 4) counter_pulse = 0; //media é... 8 capturas sendo a ultima mais significativa... calculado = true; } void main() { setup_timer_0(RTCC_EXT_L_TO_H|RTCC_DIV_1); setup_timer_1(T1_INTERNAL|T1_DIV_BY_2); setup_comparator(NC_NC); setup_vref(FALSE); enable_interrupts(INT_RTCC); enable_interrupts(INT_TIMER1); enable_interrupts(GLOBAL); ponto_atual = 144; // TODO: USER CODE!! while(true){ if(calculado){ //printf("media %lu",media); calculado = false; //rpm = media /3.9; //printf(" RPM ",rpm); ponto_desejado = media / 1.23; //printf("posicao %lu \n\r",ponto_ponteiro); } //unsigned int16 ponto_desejado; //unsigned int16 ponto_atual; //unsigned int8 passo; //reduz posição if(ponto_atual > ponto_desejado){ passo--; motor(); ponto_atual --; } //aumenta posição else if(ponto_atual < ponto_desejado){ passo++; motor(); ponto_atual ++; } else{ output_low(passo1); output_low(passo2); output_low(passo3); output_low(passo4); } delay_ms(5); //painel de 0 a 9000RPM // angulo de 260º } } Obrigado, Abraços Formigoni
  24. Ola Pessoal, Felipe, fiz o teste ontem com o esquema que postei ontem... Dando umas mexidas na montagem (matriz de contato) que fiz desse esquema ultimo que te passei e com o mesmo programa HEX que tinha aqui feito para motor de 6 fios e PIC12F629 coloquei para testar o motor de 4 fios e até que o motor girou mas lógico que sem nenhum parametro para ver se está certo... Fiz um videozinho para você ver... Tenho aqui um protótipo com 555 para simular o sinal de RPM... Percebe-se que realmente quando mudo os potenciômetro do RPM devagar no stim o ponteiro se movimenta mas fica dando tranquinhos, provavelmente pelo motivo do software não ter o esquema do micro-passo e ficar sem precisão... acho eu... Eu precisaria saber como fazer para quando iniciar o sistema ele ir para a posição inicial que necessito (ex: 0 RPM) , isso é feito no software não é ?? Pois toda vez que desligo e sistema e reinicio ele vai para o fim de curso do motor. Teve uma outra pessoa que me indicou o PIC 12F1840 por ter 32Mhz, seria melhor para poder fazer o ponteiro ter mais precisão fazendo um micro-passo pelo software. Será que é isso mesmo ?? Segue o link do video. Obrigado Abraços Formigoni
  25. Obrigado Felipe, Vou testar anoite e amanha posto o resultado... Achei estranho de ligar os polos do motor no I/O do Pic porque a pessoa que estava me ajudando anteriormente tinha me dito que para fazer a sequencia de passos de um motor de passo de 4 fios dependia de fazer 2 pontes H, por isso minha dúvida. Eu simulei no Proteus com esse esquema que postei por ultimo e com o HEX que tinha aqui feito para motor de 6 fios e parece que funcionou, só não sei se na pratica vai ser assim e com amplitude de graus que preciso movimenta-lo 270º. O programa será que pode ser o mesmo para movimentar um motor de 4 ou de 6 fios ?? Outra dúvida.. Esse capacitor que você falou para eu ligar em paralelo nas bobinas do motor, que tipo tem que ser ?? Poliéster, Eletrolítico, ... ?? Vamos tentando.. Obrigado, Abraços Formigoni

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!