Ir ao conteúdo
  • Cadastre-se

antonioosergio

Membro Júnior
  • Posts

    14
  • Cadastrado em

  • Última visita

Tudo que antonioosergio postou

  1. Pelo o que estava lendo essa atualização já gerou problemas para outros usuário. No site da Gigabyte ele indica como utilizar esse ECFW Update Tool, o qual atualiza para que os 4 slots de memória sejam reconhecidos pela 3ª geração dos Ryzen, algo assim. Estou realizando um update para o R5 5600, e nesse processo de atualização de BIOS suspeito ter iniciado meus problemas, porém acabei percebendo só agora. Existe a chance do Firmware não ser compatível com o R5 1600? E por isso não está reconhecendo esses dois slots? Será que tem como reverter essa atualização? Algumas Imagens - OBS.: Só consigo abrir esse .exe quando apago algum detalhe da suas configs Esse é o EXE Quando eu clico em get ROM ele da esse erro E acaba que não consigo regravar esse firmware Este mesmo erro ocorre quando clico em flash. Na primeira vez eu consegui rodar o software, porém agora ele apresenta este problema. Infelizmente eu não consigo dar 100% de certeza que seja isso que está influenciando nos 2 slots. Porém alguns tópicos do reddit citam que "salvaram" 2 slots com esse cara, para a 3 geração dos Ryzen, e isso me fez pensar se poderia ter perdido a compatibilidade com meu r5 1600
  2. Uma atualização de firmware mal concretizada, poderia causar isso? De qualquer forma assim que possível irei realizar o hardman, vai que.
  3. Vou tentar também, assim que obtiver resultado volto aqui. Mas eu andei lendo, tenho a impressão que após executar o ECFW Update Tool que apareceu esse problema, eu li diversos tópicos com alguns problemas com esse software. Sabe sobre algo?
  4. Sim sim, hoje tentei fazer uma varredura dos possíveis problemas, olhei os pinos, todos ok, fiz uma limpeza nos slots e nas memórias, tudo ok com as memórias. Poderia ser um problema com o processador? De reconhecer a memória, mas por algum motivo não conseguir utilizar? O que mais me deixa intrigado é o fato dele reconhecer os 16Gbs, reconhecer o dual channel, porém o pente de memória no local defeituoso aparece como reservado para hardware. E o XMP não aceita mais que 2667Mhz. Seria alguma via do processador ou do Slot que não está conseguindo comunicar?
  5. Olá, ocorreu algo do nada com minha placa, onde 2 Slots de memória RAM pararam de funciona. O caso é exatamente igual a este: Onde quando coloco uma memória nos slots danificado o computador não liga, quando coloco em modo dual-channel o computador liga, reconhece os 16Gbs, porém no windows se encontra apenas como 8Gb utilizáveis. Dito isso, o XMP também não funciona, ativa porém não passa dos 2667Mhz e fica com CL19. Alguém pode me ajudar a ter um norte? A única solução seria uma placa nova?
  6. Olá, estou com problemas com minha placa-mãe, recentemente ela começou apresentar este problema: Notei que ao ligar a fonte na energia, o LED do botão Power ligou também (não fazia isso), e após alguns segundos os LEDs da memória RAM ativam também (anteriormente os LEDs só ligavam depois de pressionar o botão de Power). Após notar tal problema, desmontei o por completo o PC e coloquei a placa-mãe na bancada. Sem nenhum componente nela ligada, apenas a fonte e o cooler do processador (mas sem o processador), acionei o Power com uma chave de fenda, logo aciona o cooler, porém ao segurar a chave de fenda no Power ele não desliga, apenas desligando a fonte. Fiz o reset da BIOs e também não obtive resultados. Apenas com os componentes básicos também não obtive resultado. O que pode ser? Qual componente pode ter entrado em curto? Outro detalhe, com um multímetro e a placa desconectada de tudo, ao testar continuidade entre o GND (preto) e o vermelho (3V3?) Há um breve BIP do multímetro, mas logo se encerra, isso é normal? placa-mãe: Biostar B350ET2 Fonte: KCAS-400W Processador: R5 1600AF Placa de Vídeo: RX 570 4G XFX Memória RAM: XPG Spectrix D41 TUF Há possibilidade de ter queimado algum componente principal? A fonte, fiz o teste em outra placa-mãe, e está normal. Não consigo testa memória e processador no momento. Irei testar a placa de vídeo.
  7. Depois do que você disse, consegui realizar a leitura de um valor pelo lcd, o problema é que o valor está errado, aparece 134,99ºC, (Temperatura ambiente) e o a variação do sensor da temperatura do objeto é de apenas 3ºC (varia de 135°C até 133ºC), sim diminui. O que pode estar havendo de errado? No arduino o sensor le corretamente. /* Programação PIC18F4685 - TESTE Mack1 I2C Programção para leitura sensor Temperatura CVT Sensor: MLX90614 MCU: PIC18F4685 Endereçamento: Sensor: 0x5A Temperatura Ambiente: 0x06 Temperatura Objeto: 0x07 ProcoBaja 2019 - Campeonato Nacional Equipe Eletrônica */ #include<stdio.h> #include<string.h> #include<math.h> const sensor = 0x5A; const ambiente = 0x06; const sensorbin = 0x5B; const objeto = 0x07; char Temp1, Temp2, Temp3, Temp4; //Função auxiliar conversão binário em hexadecimal //Protocolo de comunicação I2C (Leitura do sensor) char leiturasensor(char temp_source){ unsigned int Temp_var, Temp_var1; I2C1_Start(); // start no barramento i2c I2C1_Wr(sensor<<1); // endereço da memória no barramento + comando de escrita(0) I2C1_Wr(temp_source); // endereço da eeprom onde será lido o byte I2C1_Repeated_Start(); // re-start no barramento I2C1_Wr(sensor<<1); // endereço da memória no barramento + comando de leitura(1) Temp_var = I2C1_Rd(0); // Leitura do endereço Temp_var1 = (((I2C1_Rd(0) << 8))); // Função para conversão de bit para decimal (Função auxiliar) I2C1_Stop(); // finaliza a comunicação i2c return Temp_var1; } char leiturasensor2(char temp_source2){ unsigned int Temp_var2, Temp_var3; I2C1_Start(); // start no barramento i2c I2C1_Wr(sensor<<1); // endereço da memória no barramento + comando de escrita(0) I2C1_Wr(temp_source2); // endereço da eeprom onde será lido o byte I2C1_Repeated_Start(); // re-start no barramento I2C1_Wr(sensor<<1); // endereço da memória no barramento + comando de leitura(1) Temp_var2 = I2C1_Rd(0); // Leitura do endereço Temp_var3 = (((I2C1_Rd(0) << 8))); // Função para conversão de bit para decimal (Função auxiliar) I2C1_Stop(); // finaliza a comunicação i2c return Temp_var3; } void main(){ TRISC = 0xFE; //Configura o RC como saída PORTC = 0xFE; //Inicializa o PORTC (RC em LOW) TRISC = 0xFD; //Configura o RC como saída PORTC = 0xFD; //Inicializa o PORTC (RC em LOW) ADCON1 = 0x0F; CMCON = 0x07; I2C1_Init(50000); Delay_ms(100); while(1){ Temp1 = leiturasensor(objeto); Temp2 = (Temp1*0.02)-273.15; if (Temp2>134) { LATC0_bit=0x01; } else { LATC0_bit=0x00; } } while(1){ Temp3 = leiturasensor2(objeto); Temp4 = (Temp1*0.02)-273.15; if (Temp4>134) { LATC1_bit=0x01; } else { LATC1_bit=0x00; } } } Esse foi o último código de teste utilizado. Nesse trecho que mudei, o que está acontecendo? Temp_var1=(((I2C1_Rd(0) << 8)+Temp_var));
  8. Isadora, andei dando uma pesquisada, e encontrei alguns programas que poderiam me servi como base. Partindo do príncipio deles, queria saber qual o problema do mesmo, pois não consigo simular no proteus (não tem o sensor no proteus), e utilizando direto no pic ainda não está funcionando. const _IR_THERMO_ADDR = 0x5A; const _AMB_TEMP = 0x06; const _OBJ_TEMP = 0x07; char Temp; char ReadSensor(char Temp_Source){ unsigned int Temp_var; I2C1_Start(); I2C1_Wr(_IR_THERMO_ADDR << 1); I2C1_Wr(Temp_Source); I2C1_Repeated_Start(); I2C1_Wr(_IR_THERMO_ADDR << 1); Temp_var = I2C1_Rd(0); Temp_var = (I2C1_Rd(0) << 8) + Temp_var; I2C1_Stop(); return Temp_var; } void main(){ ADCON1 |= 0x0F; CMCON |= 0x07; TRISB = 0xFC; //Configura o RB0 como saída PORTB = 0xFC; //Inicializa o PORTB (RB0 em LOW) I2C1_Init(50000); Delay_ms(1000); while(1){ Temp = ReadSensor(_AMB_TEMP); Temp = (Temp * 0.02) - 273.15; if( Temp>25) { LATB0_bit = 0x01; //RB0 em High } else { LATB0_bit = 0x00; //RB0 em low } Temp = ReadSensor(_OBJ_TEMP); //hata veriyor Temp = (Temp * 0.02) - 273.15; if ( Temp>40) { LATB1_bit = 0x01; //RB1 em High } else { LATB1_bit = 0x00; //RB1 em low } } } O que estou fazendo de errado? Na parte do I2C eu não entendi exatamente o que ocorre, usei do código de exemplo. O código exemplo utilizado foi este: sbit LCD_RS at RD4_bit; sbit LCD_EN at RD5_bit; sbit LCD_D4 at RD0_bit; sbit LCD_D5 at RD1_bit; sbit LCD_D6 at RD2_bit; sbit LCD_D7 at RD3_bit; sbit LCD_RS_Direction at TRISD4_bit; sbit LCD_EN_Direction at TRISD5_bit; sbit LCD_D4_Direction at TRISD0_bit; sbit LCD_D5_Direction at TRISD1_bit; sbit LCD_D6_Direction at TRISD2_bit; sbit LCD_D7_Direction at TRISD3_bit; const _IR_THERMO_ADDR = 0x5A; const _AMB_TEMP = 0x06; const _OBJ_TEMP = 0x07; char Temp; char ReadSensor(char Temp_Source){ unsigned int Temp_var; I2C1_Start(); I2C1_Wr(_IR_THERMO_ADDR << 1); I2C1_Wr(Temp_Source); I2C1_Repeated_Start(); I2C1_Wr(_IR_THERMO_ADDR << 1); Temp_var = I2C1_Rd(0); Temp_var = (I2C1_Rd(0) << 8) + Temp_var; I2C1_Stop(); return Temp_var; } void Display_Temperature(char Temp_Source, float temperature){ char text[15]; FloatToStr(temperature, text); if (text[1] == '.') text[4] = 0; if (text[2] == '.') text[5] = 0; if (text[3] == '.') text[6] = 0; strcat(text, "°C"); if (Temp_Source == _AMB_TEMP) Lcd_Out(2, 1, text); if (Temp_Source == _OBJ_TEMP) Lcd_Out(2, 10, text); } void main(){ ADCON1 |= 0x0F; CMCON |= 0x07; Lcd_Init(); Lcd_Cmd(_LCD_CLEAR); Lcd_Cmd(_LCD_CURSOR_OFF); Lcd_Out(1,1,"Initialising I2C"); I2C1_Init(50000); Delay_ms(1000); Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1,1,"Init OK"); Delay_ms(1000); Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1,1,"Amb. t: "); Lcd_Out(1,9," Obj. t:"); while(1){ Temp = ReadSensor(_AMB_TEMP); /* kod bu satira kadar derleniyor ama bu satira gelince hata veriyor bu kismi fonksiyon alarak yazdim ama degisen bir sey olmadi arkadasimin bilgisayarinda derleyince kodu demo hatasi verdi microc'nin demo sürümünden kaynakli oldugunu düsünüyorum bi türlü main fonkiyonun içide bu kismi çalistiramiyorum */ Temp = (Temp * 0.02) - 273.15; Display_Temperature(_AMB_TEMP, Temp); //hata veriyor bu satirlari silince sorun olmuyor Temp = ReadSensor(_OBJ_TEMP); //hata veriyor Temp = (Temp * 0.02) - 273.15; Display_Temperature(_OBJ_TEMP, Temp); //hata veriyor Delay_ms(500); } }
  9. Sobre isso, a comunicação entre I2C do PIC18f4685, é dessa maneira? I2C_Init(100000); // frequencia de clock do barramento I2C (CONSULTAR DATASHEET DO CHIP PARA SABER SUA FREQUENCIA MÁXIMA) //esta função só precisa ser inicializada somente 1 unica vez no programa I2C_Start(); // start no barramento i2c I2C_Wr(0xA0); // endereço da memória no barramento + comando de escrita(0) I2C_Wr(0x00); // endereço da eerprom onde será salvo o dado I2C_Wr(variavel_A); // grava a variável A no endereço 00 da memória serial I2C_Wr(variavel_B); // grava a variável B no endereço 01 da memória serial I2C_Wr(variavel_C); // grava a variável C no endereço 02 da memória serial I2C_Wr(variavel_D); // grava a variável D no endereço 03 da memória serial I2C_Stop(); // condição de stop na comunicação i2c
  10. Sou iniciante no fórum, caso haja algum erro, me perdoem, irei arrumar. Pessoal, me deparei com a seguinte questão, necessito usar um sensor de temperatura infravermelho junto de um PIC18F4685. Através do arduino (com bibliotecas) encontrei diversos exemplos, tanto com I2C ou usando a biblioteca do sensor. O problema é que preciso "passar" esse código do arduino para o PIC18F4586, porém ainda sou iniciante e estou com alguns problemas para entender como funciona etc. O código usado em I2C no arduino foi o seguinte: /** * Infrared Thermometer MLX90614 * by Jaime Patarroyo * based on 'Is it hot? Arduino + MLX90614 IR Thermometer' by bildr.blog * * Returns the temperature in Celcius and Fahrenheit from a MLX90614 * Infrared Thermometer, connected to the TWI/I²C pins (on the Wiring v1 * board 0 (SCL) and 1 (SDA) and on Wiring S board 8 (SCL) and 9 (SDA)). */ #include <i2cmaster.h> int deviceAddress = 0x5A<<1; // From MLX906114 datasheet's, 0x5A is // the default address for I²C communication. // Shift the address 1 bit right, the // I²Cmaster library only needs the 7 most // significant bits for the address. float celcius = 0; // Variable to hold temperature in Celcius. float fahrenheit = 0; // Variable to hold temperature in Fahrenheit. void setup() { Serial.begin(9600); // Start serial communication at 9600bps. i2c_init(); // Initialise the i2c bus. PORTC = (1 << PORTC4) | (1 << PORTC5); // Enable pullups. } void loop() { celcius = temperatureCelcius(deviceAddress); // Read's data from MLX90614 // with the given address, // transform's it into // temperature in Celcius and // store's it in the Celcius // variable. fahrenheit = (celcius*1.8) + 32; // Converts celcius into Fahrenheit // and stores in Fahrenheit variable. Serial.print("Celcius: "); // Prints both readings in the Serial Serial.println(celcius); // port. Serial.print("Fahrenheit: "); Serial.println(fahrenheit); delay(1000); // Wait a second before printing again. } float temperatureCelcius(int address) { int dev = address; int data_low = 0; int data_high = 0; int pec = 0; // Write i2c_start_wait(dev+I2C_WRITE); i2c_write(0x07); // Read i2c_rep_start(dev+I2C_READ); data_low = i2c_readAck(); // Read 1 byte and then send ack. data_high = i2c_readAck(); // Read 1 byte and then send ack. pec = i2c_readNak(); i2c_stop(); // This converts high and low bytes together and processes temperature, // MSB is a error bit and is ignored for temps. double tempFactor = 0.02; // 0.02 degrees per LSB (measurement // resolution of the MLX90614). double tempData = 0x0000; // Zero out the data int frac; // Data past the decimal point // This masks off the error bit of the high byte, then moves it left // 8 bits and adds the low byte. tempData = (double)(((data_high & 0x007F) << 8) + data_low); tempData = (tempData * tempFactor)-0.01; float celcius = tempData - 273.15; // Returns temperature un Celcius. return celcius; } Acredito que a partir dessa base consigo com alguma ajuda a programar para o PIC. Agradeço se alguém puder me dar umas dicas e quais o detalhes preciso me atentar. O sensor utilizado é o MLX90614 (Datasheet em PDF). No datasheet tem alguns detalhes para a comunicação como endereçamento e tal, mas como usar com o I2C? Acabei não compreendendo da melhor forma o datasheet. Agradeço desde já quem puder me dar uma luz, e em caso de alguma infração, assim que avisado eu arrumo (li as regras, mas mesmo assim pode acontecer). MLX90614_rev001.pdf
  11. @albert_emule @albert_emule @Isadora Ferraz @FelipeZ. @FunkyClearMen Cat Estão me ajudando muito obrigado, por enquanto no projeto estamos usando um motor de passo para estar gerando, quando conseguirmos mais rotação vamos ver qual será seu potencial. Observei o vídeo que mandou, e percebi que utilizaram um inversor, pesquisei um pouco mais sobre isso e vi de 12V DC já iria sustentar os 220V, mas tudo tem um porém, para conseguirmos a tal feito (um inversor de 500W) iriamos precisar de mais corrente para funcionar? Não chegamos a medir a corrente nos testes ainda, mas sei que é baixa. E para armazenar essa energia gerada (no caso que iria vir uma bateria antes do inversor certo?) Desculpem, mas sou leigo nesses assuntos ainda kkkkk aprendemos apenas o básico no curso, ele é muito voltado para mecânica, estamos estudando mais a parte elétrica, algum livro para indicar?
  12. Nosso 1º objetivo sempre foi usar em uma maquete com alguns LEDS, mas pensamos em algo maior, por isso talvez fosse usado 110/220V, mas iriamos precisar aumentar muito nosso protótipo, então decidimos apenas carregar um celular e ascender alguns LEDS (Carregar celular com 5V). Qual poderia ser um bom motor para gerar em torno de 25V, 30V? Qual motor mais indicado para gerar uns 30V? Fizemos alguns testes com um motor de passo, ele gerou em torno de 5V apenas, usamos retificadores de meia onda em cada bobina (2 bobinas) e 4 capacitores de 4700uF para armazenar essa energia, chegamos a ter um pico de 6 volts, e chegou a carregar rapidamente o celular, mas não passou muito mais do que isso, com os leds conseguimos manter alguns segundos aceso por causa do capacitor. Bom qual melhor para se usar neste caso? Precisamos gerar tensão, mas e a corrente, será muito fraca? Vi um vídeo que o cara de um tal de Ladrão de Joules, isso funciona? Acho que para o nosso protótipo não será mais que 30V
  13. Olá, sou novo aqui, este é meu primeiro tópico. Preciso esclarecer algumas duvidas, faço técnico em Mecatrônica, mas tenho muitas dúvidas ainda em eletrônica. Andei estudando muito sobre geradores de energia (está envolvido com meu TCC). Vamos lá Precisamos desenvolver um projeto que gere energia, mas a maior dúvida é o gerador, vou separar em tópicos. 1° - Usar um motor de passo para gerar energia Para gerar energia optamos por um motor de passo, precisamos gerar em torno de 110/220V, é possível com um motor de passo de uma impressora por exemplo? Ou precisa de algo maior, melhor para isso? 2° - Os Circuitos Sei que não é simplesmente pegar e ligar os fios e pronto, temos energia, fiz algumas pesquisas e observei que uns utilizam retificadores, pontes de diodo etc, não tenho muita noção disso, meu professor não chegou a nos passar isso, mas preciso ir adiantando tudo, e me a dúvida é: para gerar essa energia, qual circuito, e por que utilizar isso? 3° - Armazenar a energia O que é recomendado para se armazenar essa energia? Ou é melhor fazer algo direto, sem armazenamento? Banco de capacitores, baterias, o que usar?AC ou DC? Bom, acho que por enquanto essas são as maiores dúvidas, se alguém que entenda melhor do que eu e possa ajudar, muito obrigado, se puderem indicar alguns livros para melhor pesquisar, sites, agradeço.

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