Ofrezco ayuda para proyectos de electronica.

Estado
Cerrado para nuevas respuestas.
Hola, pues yo queria controlar un motor brushless outdoor, con el pic 16f876 programandolo en PBP que es el que mas o menos domino, solo necesito un sentido de giro y poder variar su velocidad. Tengo que decir que llevo unos 15 dias mirando en la web pero con la informacion que he encontrado la he llevado ha la practica y no ha funcionado. Bueno sin mas rollo agradezco las posibles respuestas.
 
ayuda con cargador de bateria de acido

buenas hermano.
tengo un problema con el cargador d un scooter electrico;no estaba cargando ya rebise el cargador y un transistor esta en corto.el problema aqui es que tiene los codigos borrados por eso de el plagio,asi q no tengo ni la mas remota idea d cual sea o komo conseguirlo.
tu me podria hechar la mano¿?
saludos y grax d antemano
:vientos:
 
hola amigo a ver si me puedes ayudar con mi proyecto de un sensor de temperatura con pic16f688
y un lcd de 2x16 bueno ala hora de compilar el codigo fuente en mikroc me sale error ahi te paso el codigo gracias y espero tu ayuda:
/*
Digital Room Thermometer using PIC16F688
Copyright@Rajendra Bhatt
July 13, 2010
*/
// LCD module connections
sbit LCD_RS at RC4_bit;
sbit LCD_EN at RC5_bit;
sbit LCD_D4 at RC0_bit;
sbit LCD_D5 at RC1_bit;
sbit LCD_D6 at RC2_bit;
sbit LCD_D7 at RC3_bit;
sbit LCD_RS_Direction at TRISC4_bit;
sbit LCD_EN_Direction at TRISC5_bit;
sbit LCD_D4_Direction at TRISC0_bit;
sbit LCD_D5_Direction at TRISC1_bit;
sbit LCD_D6_Direction at TRISC2_bit;
sbit LCD_D7_Direction at TRISC3_bit;
// End LCD module connections

// Back Light Switch connected to RA1
sbit BackLight at RA1_bit;
// Define Messages
char message0[] = "LCD Initialized";
char message1[] = "Room Temperature";

// String array to store temperature value to display
char *tempC = "000.0";
char *tempF = "000.0";

// Variables to store temperature register values
unsigned int temp_whole, temp_fraction, temp_value;
signed int tempinF, tempinC;
unsigned short C_Neg=0, F_Neg=0, TempH, TempL;

void Display_Temperature() {
// convert Temp to characters
if (!C_Neg) {
if (tempinC/1000)
// 48 is the decimal character code value for displaying 0 on LCD
tempC[0] = tempinC/1000 + 48;
else tempC[0] = ' ';
}
tempC[1] = (tempinC/100)%10 + 48; // Extract tens digit
tempC[2] = (tempinC/10)%10 + 48; // Extract ones digit

// convert temp_fraction to characters
tempC[4] = tempinC%10 + 48; // Extract tens digit

// print temperature on LCD
Lcd_Out(2, 1, tempC);

if (!F_Neg) {
if (tempinF/1000)
tempF[0] = tempinF/1000 + 48;
else tempF[0] = ' ';
}

tempF[1] = (tempinF/100)%10 + 48; // Extract tens digit
tempF[2] = (tempinF/10)%10 + 48;
tempF[4] = tempinF%10 + 48;
// print temperature on LCD
Lcd_Out(2, 10, tempF);
}

// ISR for LCD Backlight
void interrupt(void){
if (INTCON.INTF == 1) // Check if INTF flag is set
{
BackLight =~BackLight; // Toggle Backlight
Delay_ms(300) ;
INTCON.INTF = 0; // Clear interrupt flag before exiting ISR
}
}

void main() {
TRISC = 0x00 ;
TRISA = 0b00001100; // RA2, RA3 Inputs, Rest O/P's
ANSEL = 0b00000000;
PORTA = 0b00000000; // Start with Everything Low
PORTC = 0b00000000; // Start with Everything Low
CMCON0 = 0b00000111;
Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // CLEAR display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
BackLight = 1;
Lcd_Out(1,1,message0);
Delay_ms(1000);
Lcd_Out(1,1,message1); // Write message1 in 1st row
// Print degree character
Lcd_Chr(2,6,223);
Lcd_Chr(2,15,223);
// different LCD displays have different char code for degree
// if you see greek alpha letter try typing 178 instead of 223

Lcd_Chr(2,7,'C');
Lcd_Chr(2,16,'F');

// Interrupt Setup
OPTION_REG = 0x00; // Clear INTEDG, External Interrupt on falling edge
INTCON.INTF = 0; // Clear interrupt flag prior to enable
INTCON.INTE = 1; // enable INT interrupt
INTCON.GIE = 1; // enable Global interrupts

do {
//--- perform temperature reading
Ow_Reset(&PORTA, 5); // Onewire reset signal
Ow_Write(&PORTA, 5, 0xCC); // Issue command SKIP_ROM
Ow_Write(&PORTA, 5, 0x44); // Issue command CONVERT_T
INTCON.GIE = 1; // 1-wire library disables interrpts
Delay_ms(600);
Ow_Reset(&PORTA, 5);
Ow_Write(&PORTA, 5, 0xCC); // Issue command SKIP_ROM
Ow_Write(&PORTA, 5, 0xBE); // Issue command READ_SCRATCHPAD

// Read Byte 0 from Scratchpad
TempL = Ow_Read(&PORTA, 5);
// Then read Byte 1 from Scratchpad
TempH = Ow_Read(&PORTA, 5);
temp_value = (TempH << 8)+ TempL ;
// check if temperature is negative
if (temp_value & 0x8000) {
C_Neg = 1;
tempC[0] = '-';
// Negative temp values are stored in 2's complement form
temp_value = ~temp_value + 1;
}
else C_Neg = 0;
// Get temp_whole by dividing by 2
temp_whole = temp_value >> 1 ;
if (temp_value & 0x0001){ // LSB is 0.5C
temp_fraction = 5;
}
else temp_fraction = 0;
tempinC = temp_whole*10+temp_fraction;

if(C_Neg) {
tempinF = 320-9*tempinC/5;
if (tempinF < 0) {
F_Neg = 1;
tempF[0] = '-';
tempinF = abs(tempinF);
}
else F_Neg = 0;
}
else tempinF = 9*tempinC/5 + 320;
//--- Format and display result on Lcd
Display_Temperature();

} while(1);

[FONT=&quot]}

[/FONT]
 
Que tal Ing. Yo soy técnico en electrónica yendo al grano tengo un problema quiero programar Pic de la familia microchip con el Mplab. Pero mi PC actualmente y mi sistema operativo es Windows 7 ya no cuenta con puerto DB9 me gustaría saber si tiene información de cómo hacer la descarga de programa con el puerto USB y qué tipo de cable necesito… Gracias por su tiempo
 

mcpiebot

Bovino adicto
Hola, pues yo queria controlar un motor brushless outdoor, con el pic 16f876 programandolo en PBP que es el que mas o menos domino, solo necesito un sentido de giro y poder variar su velocidad. Tengo que decir que llevo unos 15 dias mirando en la web pero con la informacion que he encontrado la he llevado ha la practica y no ha funcionado. Bueno sin mas rollo agradezco las posibles respuestas.
Hola, que tal?

Que circuiteria estas ocupando?

Saludos!
 

mcpiebot

Bovino adicto
hola amigo a ver si me puedes ayudar con mi proyecto de un sensor de temperatura con pic16f688
y un lcd de 2x16 bueno ala hora de compilar el codigo fuente en mikroc me sale error ahi te paso el codigo gracias y espero tu ayuda:
/*
Digital Room Thermometer using PIC16F688
Copyright@Rajendra Bhatt
July 13, 2010
*/
// LCD module connections
sbit LCD_RS at RC4_bit;
sbit LCD_EN at RC5_bit;
sbit LCD_D4 at RC0_bit;
sbit LCD_D5 at RC1_bit;
sbit LCD_D6 at RC2_bit;
sbit LCD_D7 at RC3_bit;
sbit LCD_RS_Direction at TRISC4_bit;
sbit LCD_EN_Direction at TRISC5_bit;
sbit LCD_D4_Direction at TRISC0_bit;
sbit LCD_D5_Direction at TRISC1_bit;
sbit LCD_D6_Direction at TRISC2_bit;
sbit LCD_D7_Direction at TRISC3_bit;
// End LCD module connections

// Back Light Switch connected to RA1
sbit BackLight at RA1_bit;
// Define Messages
char message0[] = "LCD Initialized";
char message1[] = "Room Temperature";

// String array to store temperature value to display
char *tempC = "000.0";
char *tempF = "000.0";

// Variables to store temperature register values
unsigned int temp_whole, temp_fraction, temp_value;
signed int tempinF, tempinC;
unsigned short C_Neg=0, F_Neg=0, TempH, TempL;

void Display_Temperature() {
// convert Temp to characters
if (!C_Neg) {
if (tempinC/1000)
// 48 is the decimal character code value for displaying 0 on LCD
tempC[0] = tempinC/1000 + 48;
else tempC[0] = ' ';
}
tempC[1] = (tempinC/100)%10 + 48; // Extract tens digit
tempC[2] = (tempinC/10)%10 + 48; // Extract ones digit

// convert temp_fraction to characters
tempC[4] = tempinC%10 + 48; // Extract tens digit

// print temperature on LCD
Lcd_Out(2, 1, tempC);

if (!F_Neg) {
if (tempinF/1000)
tempF[0] = tempinF/1000 + 48;
else tempF[0] = ' ';
}

tempF[1] = (tempinF/100)%10 + 48; // Extract tens digit
tempF[2] = (tempinF/10)%10 + 48;
tempF[4] = tempinF%10 + 48;
// print temperature on LCD
Lcd_Out(2, 10, tempF);
}

// ISR for LCD Backlight
void interrupt(void){
if (INTCON.INTF == 1) // Check if INTF flag is set
{
BackLight =~BackLight; // Toggle Backlight
Delay_ms(300) ;
INTCON.INTF = 0; // Clear interrupt flag before exiting ISR
}
}

void main() {
TRISC = 0x00 ;
TRISA = 0b00001100; // RA2, RA3 Inputs, Rest O/P's
ANSEL = 0b00000000;
PORTA = 0b00000000; // Start with Everything Low
PORTC = 0b00000000; // Start with Everything Low
CMCON0 = 0b00000111;
Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // CLEAR display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
BackLight = 1;
Lcd_Out(1,1,message0);
Delay_ms(1000);
Lcd_Out(1,1,message1); // Write message1 in 1st row
// Print degree character
Lcd_Chr(2,6,223);
Lcd_Chr(2,15,223);
// different LCD displays have different char code for degree
// if you see greek alpha letter try typing 178 instead of 223

Lcd_Chr(2,7,'C');
Lcd_Chr(2,16,'F');

// Interrupt Setup
OPTION_REG = 0x00; // Clear INTEDG, External Interrupt on falling edge
INTCON.INTF = 0; // Clear interrupt flag prior to enable
INTCON.INTE = 1; // enable INT interrupt
INTCON.GIE = 1; // enable Global interrupts

do {
//--- perform temperature reading
Ow_Reset(&PORTA, 5); // Onewire reset signal
Ow_Write(&PORTA, 5, 0xCC); // Issue command SKIP_ROM
Ow_Write(&PORTA, 5, 0x44); // Issue command CONVERT_T
INTCON.GIE = 1; // 1-wire library disables interrpts
Delay_ms(600);
Ow_Reset(&PORTA, 5);
Ow_Write(&PORTA, 5, 0xCC); // Issue command SKIP_ROM
Ow_Write(&PORTA, 5, 0xBE); // Issue command READ_SCRATCHPAD

// Read Byte 0 from Scratchpad
TempL = Ow_Read(&PORTA, 5);
// Then read Byte 1 from Scratchpad
TempH = Ow_Read(&PORTA, 5);
temp_value = (TempH << 8)+ TempL ;
// check if temperature is negative
if (temp_value & 0x8000) {
C_Neg = 1;
tempC[0] = '-';
// Negative temp values are stored in 2's complement form
temp_value = ~temp_value + 1;
}
else C_Neg = 0;
// Get temp_whole by dividing by 2
temp_whole = temp_value >> 1 ;
if (temp_value & 0x0001){ // LSB is 0.5C
temp_fraction = 5;
}
else temp_fraction = 0;
tempinC = temp_whole*10+temp_fraction;

if(C_Neg) {
tempinF = 320-9*tempinC/5;
if (tempinF < 0) {
F_Neg = 1;
tempF[0] = '-';
tempinF = abs(tempinF);
}
else F_Neg = 0;
}
else tempinF = 9*tempinC/5 + 320;
//--- Format and display result on Lcd
Display_Temperature();

} while(1);

[FONT=&quot]}

[/FONT]
Hola, que tal?

Yo no uso C para programar, pero bien le puedes preguntar al autor del codigo Rajendra Bhatt, ver si has copiado y pegado todo lo necesario, a veces pasa que no copian todo, o copian cosas de mas.

En los errores de la misma compilacion te indica cual es o podria ser el error.

Saludos!
 

mcpiebot

Bovino adicto
Que tal Ing. Yo soy técnico en electrónica yendo al grano tengo un problema quiero programar Pic de la familia microchip con el Mplab. Pero mi PC actualmente y mi sistema operativo es Windows 7 ya no cuenta con puerto DB9 me gustaría saber si tiene información de cómo hacer la descarga de programa con el puerto USB y qué tipo de cable necesito… Gracias por su tiempo
Hola, que tal?

Necesitas un programador como el pickit 2 o el pickit 3 que son de microchip y se usan con el puerto USB.

Saludos!
 
hola .....soy nuevo en esto de los circuitos ..me dejaron un reloj digital en el protoboard......y no se por donde empezar podiras aydarme ??,lo tengo k hacer con 6 displays de catodo comun ...
xfa .....grax ..
 

arecksin

Bovino maduro
Buenas tardes
Necesito tu ayuda para la elaboraicon de una fuente poder.
Si pudieras proporcionarme un manual con los pasos a seguir el material.
Sopy estudiante de universidad.
 
Hola de nuevo, Pues circuitos he realizado muchos con led, control de servos de r.c., motores c.c. escobillas, p.a.p. unipolar y ahora me falta el brushless. Todo lo hago en casa, nunca he fui a ninguna escuela. Por lo que agradezco su respuesta.
 
a ver si me explico bien es un controlador que le va a entrar señal de 5 volts con corriente de 12 y tierra fisica .que a cierto conteo de sñal de 5 volts como un efecto hall me de salida una corriente de 12 volts a cierto conteo de pulsos como veloicidad
 

mcpiebot

Bovino adicto
Buenas tardes
Necesito tu ayuda para la elaboraicon de una fuente poder.
Si pudieras proporcionarme un manual con los pasos a seguir el material.
Sopy estudiante de universidad.
Que voltaje de entrada necesitas?
Que voltaje de salida necesitas?
Que corriente de salida necesitas?

La necesitas simétrica o simple?

Saludos!
 

mcpiebot

Bovino adicto
a ver si me explico bien es un controlador que le va a entrar señal de 5 volts con corriente de 12 y tierra fisica .que a cierto conteo de sñal de 5 volts como un efecto hall me de salida una corriente de 12 volts a cierto conteo de pulsos como veloicidad

Pues no entiendo, si es pregunta o si es respuesta o que es lo que realmente quieres.

Organiza tus ideas, tomate el tiempo de redactar una buena pregunta y me daré el tiempo de redactar una buena respuesta.
Saludos!
 
buenas tardes me gustaria hacer un circuito que cuente con una bateria auxiliar en dado caso de que se valla a luz y cuando regrese cargue la bateria y a su ves deje de cargar cuando la bateria este completamente cargada
 
Que tal amigo buenas tardes me gustaria saber si me podrias ayudar hacer funcionar un display de 7 segmentos catodo o anodo, pero con cumpuertas logicas. estoy en 5 semestre de prepa y me lo dejaron como actividad pero no tengo mucha experiencia con eso. gracias por todo. espero tu respuesta
 
Hola.

Soy Ingeniero en Electronica con varios años de experiencia, mi idea es cooperar con el foro tratando de resolver dudas o con apoyo a los bakunos.

Mi area de especialidad son los microcontroladores y todo lo que se puede hacer con ellos, asi que conozco tambien de sensores y de actuadores.

Procurare responder tan pronto como me sea posible.

Procuren ser especificos con sus preguntas, no soy adivino.

*NO contestare por MP ni a ningún correo electrónico, el foro es para compartir la informacion disponible*

*Tómense el tiempo de redactar bien su pregunta y me tomare el tiempo de darles una buena respuesta.*

Saludos!

P.D. Por educación, no contestare preguntas como esta:
"Kiero controlar el mundo con electronica, pero no se nada de electronica ni de programacion, komo le puedo acer?"

Gracias por ayudar a la comunidad y por tener buena ortografia, me parece insensato que alguien trate de ayudar cuando tiene mala redacción. Como diría mi profesor de filosofia, en el nivel de expresion se nota el nivel de inteligencia.
 
Estado
Cerrado para nuevas respuestas.
Arriba