Ir ao conteúdo
  • Cadastre-se

Rafael da Silvaa

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

0
  1. Estou com um notebook toshiba satellite c55, windows 7 64b. Comecei a usá-lo e percebi que ele não reconhecia o wifi, aparecia sempre que o cabo ethernet não estava conectado. Achei que era configuração, apanhei pra caramba e, procurando na internet, vi que alguns notebooks toshiba já vem com problema no driver de wireless. Baixei o programa "Driver Booster", ele achou alguns drivers desatualizados, inclusive os de rede e wireless, e o wifi começou a funcionar normalmente. Dias depois, logo após conectar meu celular com o cabo no notebook (na real nem sei se há relação, mas foi exatamente ao conectar o celular) o wifi parou de funcionar de novo, o notebook sempre apenas dizendo que o cabo ethernet não ta conectado. Ao usar o Drive Booster de novo, ele não percebeu nada desatualizado. Já tentei reinstalar os drivers todos, instalar outro programa que atualiza driver, restaurar o sistema e etc, e nada deu certo. Alguém sabe o que posso fazer: Desde já, obrigado
  2. Olá, adquiri um pic 18f6520, que tem aproximadamente 1cm², e 16 pinos de cada lado, 64 pinos no total. Resumindo, ele é muito pequeno, e não sei como gravá-lo, utilizando pickit 3. Cada perninha nele é minúscula, não encaixa no protoboard igual outros pics. Alguém já trabalhou com isso, ou sabe como isso é gravado? Vou ter que botar numa placa só pra gravar?
  3. @Isadora Ferraz é em micro segundos, é rapidinho cada um
  4. Olá, irei utilizar o pic 18f6520 para controlar 4 motores. Estou na fase de simulação utilizando o proteus. O proteus está apresentando alguns problemas, onde, quando eu utilizo muito o comando __delay (xxx) ele reseta o programa do começo. Eu sempre fiz atividades utilizando 16f, e nunca tive problemas com isso, usava diversos "__delays" e não dava problema nenhum, e agora o 18f está me complicando. No proteus aparece escrito "processor has been reset by watchdog time expiring", porém, como vocês verão, o WDT já tá OFF. Já li que, na prática, não usa-se o "__delay", e sim, outros tipos de paralisação, que não domino, alguém pode me dizer onde posso ler sobre isso pro 18f? O código é o seguinte, ele tá partindo com 1/3 da tensão (ccp em 80) e vai pra tensão inteira (249), isso ainda não é o que vou fazer, to só testando ainda. // // PIC18F6520 1kHz PWM #include <xc.h> #pragma MCLRE=OFF,WDT=OFF,LVP=OFF,BOREN=OFF int main(void) { CCP1CON = 0b00001100; CCP2CON = 0b00001100; CCP3CON = 0b00001100; CCP4CON = 0b00001100; TRISC = 0b11111001; TRISG = 0b11110110; T2CON = 0b00000100; PR2 = 249; CCPR1L = 25; CCPR2L = 25; CCPR3L = 25; CCPR4L = 25; while(1) { // 100% duty cycle pra 500ms é 249 // 50% é 125 // 0% é 1, 0 n funciona CCPR1L = 80; CCPR2L = 80; CCPR3L = 80; CCPR4L = 80; _delay(125000); _delay(125000); CCPR1L = 249; CCPR2L = 249; CCPR3L = 249; CCPR4L = 249; _delay(125000); _delay(125000); _delay(125000); _delay(125000); }} Desculpa, não sei colocar o código em aba (alguém me ensina se der). Se eu colocar mais delays do que esses que já tem, ele reseta o código (durante a simulação). Meu professor disse que provavelmente o proteus não está reconhecendo o "WDT = OFF", e na prática não daria problema, porém, realmente não usa-se "__delay" para fazer delay, isso é só para programas bobos, ou pequenas paradas. Porém, ainda não sei como fazer esses delays da melhor forma, usa-se interrupção, timer? Alguém pode me mandar algum material?
  5. Eu tenho um programa que uso pra 16f877a, que controla 2 saídas pwm. Minha intenção é usar esse mesmo programa em 18f452 e 18f6520, não se se há diferença entre os dois (em relação à programação). O código funciona normalmente, já implementado em circuito real, no 877a. Já tentei o óbvio, só tacar no compilador e botar pra jogar pra 18f, mas não vai. Alguém sabe o que tenho que mudar? O código é: #define _XTAL_FREQ 20000000 #define TMR2PRESCALE 4 #include <xc.h> // BEGIN CONFIG #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT enabled) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled) #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming) #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off) #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control) #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off) //END CONFIG long freq; int PWM_Max_Duty() { return(_XTAL_FREQ/(freq*TMR2PRESCALE); } PWM1_Init(long fre) { PR2 = (_XTAL_FREQ/(fre*4*TMR2PRESCALE)) - 1; freq = fre; } PWM2_Init(long fre) { PR2 = (_XTAL_FREQ/(fre*4*TMR2PRESCALE)) - 1; freq = fre; } PWM1_Duty(unsigned int duty) { if(duty<1024) { duty = ((float)duty/1023)*PWM_Max_Duty(); CCP1X = duty & 2; CCP1Y = duty & 1; CCPR1L = duty>>2; } } PWM2_Duty(unsigned int duty) { if(duty<1024) { duty = ((float)duty/1023)*PWM_Max_Duty(); CCP2X = duty & 2; CCP2Y = duty & 1; CCPR2L = duty>>2; } } PWM1_Start() { CCP1M3 = 1; CCP1M2 = 1; #if TMR2PRESCALAR == 1 T2CKPS0 = 0; T2CKPS1 = 0; #elif TMR2PRESCALAR == 4 T2CKPS0 = 1; T2CKPS1 = 0; #elif TMR2PRESCALAR == 16 T2CKPS0 = 1; T2CKPS1 = 1; #endif TMR2ON = 1; TRISC2 = 0; } PWM1_Stop() { CCP1M3 = 0; CCP1M2 = 0; } PWM2_Start() { CCP2M3 = 1; CCP2M2 = 1; #if TMR2PRESCALE == 1 T2CKPS0 = 0; T2CKPS1 = 0; #elif TMR2PRESCALE == 4 T2CKPS0 = 1; T2CKPS1 = 0; #elif TMR2PRESCALE == 16 T2CKPS0 = 1; T2CKPS1 = 1; #endif TMR2ON = 1; TRISC1 = 0; } PWM2_Stop() { CCP2M3 = 0; CCP2M2 = 0; } void main() { unsigned int i=0,j=0; PWM1_Init(5000); PWM2_Init(5000); TRISD = 0xFF; TRISB = 0; PWM1_Duty(0); PWM2_Duty(0); PWM1_Start(); PWM2_Start(); do { if(RD0 == 0 && i<1000) i=i+10; if(RD1 == 0 && i>0) i=i-10; if(RD2 == 0 && j<1000) j=j+10; if(RD3 == 0 && j>0) j=j-10; PWM1_Duty(i); PWM2_Duty(j); __delay_ms(50); }while(1); }
  6. @Isadora Ferraz @aphawk Entendi o que disseram. Eu já fiz muitos projetos simples (trabalho de faculdade) em pics 16f628a e 16f877a. Ambos só tem 2 pwms por hardware, e eu não conheço muito essa onda de usar pwm por software. Por conta disso busquei um pic que tivesse pelo menos 4 saídas pwm por hardware, mas antes mesmo de comprar, tive problemas com o compilador, até mesmo com códigos simples. Ao sair da minha zona de conforto do 16f, to apanhando demais. O compilador C18 parece que não tá indo com a minha cara, porque até códigos 100% copiados de alguém da internet não estão compilando. Deve ser algum erro bobo, sei lá. Agora com isso que o @aphawk falou, sobre a memória, fiquei meio assustado, porque eles não vão rodar a 48Mhz, vou ter que pesquisar melhor sobre qual pic utilizar. Não tenho muito tempo/dinheiro pra ficar testando muita coisa, a minha ideia era que, se fosse errar, errar pra cima, e uma vez só. Nem que fosse gastar um pouco a mais, porém não ia perder o tempo do pic chegar, que pode durar umas 2 semanas cada encomenda.
  7. Olá, to fazendo um projeto de um drone controlado por pic. Estou na fase de programação (mplab x ide) simulaçao (proteus) e testes (com motores de baixa tensão). O problema é que na fase de programação, eu tentei achar na internet, com ajuda de um site... http://www.microchip.com/maps/microcontroller.aspx ...um pic que tivesse 4 pwms, achei um 18f6520 (entre outros), mas antes mesmo de comprar, tive dificuldades com o compilador C18 (ainda na programação) Alguém me recomenda algum pic com 4 pwms? Que tenha uma memória que aguente um código de um drone? Eu usaria os 4 pwms, e o controle dos sensores (giroscopio e acelerometro) nada mais. Fora isso, alguém conhece algum material na internet que possa me auxiliar? valeu obrigado.

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...