Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

23/02/2011 #1


Control de un motor pap unipolar con pic 16f783
Hola desearia que me ayudasen, tengo que realizar un programa en pic c compiler sobre el control de un motor pap unipolar utilizando el pic 16f873 y el driver L293, se como es el funcionamiento del driver y del motor mi problema es el programa y se me da fatal programar, alguien me puede ayudar, gracias.
23/02/2011 #2

Avatar de Unikfriend

Hi Nightcrawl,
Necesitas poner un poco mas de informacion, el program es solo una parte.
Tienes experiencia con algun otro microcontrolador?
Que PCB vas a utilizar?

Si usas el buscador podras encontrar muchos temas relacionados.
24/02/2011 #3


Motor pap unipolar
Solo he usado el pic16F873, y en cuanto a la pcb, no vamos a hacerla, es para una placa de prototipos, mi problema es programar vamos realizar el programa.
24/02/2011 #4

Avatar de Pelelalo

Nightcrawl si sigues abriendo hilos con los mismos mensajes te van a llamar la atención. Te he dejado unas directrices y un manual para comiences por el principio. No esperes que hagan el trabajo. De hecho si eres bueno en electrónica será porque te gusta.
24/02/2011 #5

Avatar de Unikfriend

Nightcrawl dijo: Ver Mensaje
Solo he usado el pic16F873, y en cuanto a la pcb, no vamos a hacerla, es para una placa de prototipos, mi problema es programar vamos realizar el programa.
Hi,
que proyectos haz realizado con el pic16F873?
dices que ya manejas el driver y el motor, ya tienes el diseño del circuito?
24/02/2011 #6


respuesta a unikfriend
Si he realizado proyectos con el pic, como termómetros digitales, comunicación entre pics, pic con el pc, etc. el esquema electrico no le he realizado todavía puesto que el proteus no me funcioan en el ordenador.

He intentado realizar por mi mismo el programa y os pregunto si creeis que funcionará:
#include <16f873.h>
#fuses XT,NOWDT
#use delay(clock=4000000)
#include <lcd.c>
#use standard_io(a)
#use standard_io(b)
#use standard_io(c)

int estado,giro;

void main(){

lcd_init();

while(1)
{

if (input(PIN_A3)==0){
lcd_gotoxy(1,1);
printf(lcd_putc,"EN MARCHA ");
estado=0;}
else {
lcd_gotoxy(1,1);
printf(lcd_putc,"APAGADO ");
estado=1;}

if (input(PIN_A4)==0){
output_c(0x0c); // GIRO IZQUIERDA
delay_ms(20);
output_c(0x06);
delay_ms(20);
output_c(0x03);
delay_ms(20);
output_c(0x09);
delay_ms(20);
giro=1;}
else{ // GIRO DERECHA
output_c(0x03);
delay_ms(20);
output_c(0x06);
delay_ms(20);
output_c(0x0c);
delay_ms(20);
output_c(0x09);
delay_ms(20);
giro=2;}

if (giro==1){
printf(lcd_putc,"IZQUIERDA");
}
else{
printf(lcd_putc,"DERECHA");
}
24/02/2011 #7

Avatar de Unikfriend

La variable "estado" que funcion tiene?
24/02/2011 #8


Oye, me parece que tienes que revisar bien esa programación (personalmente prefiero el ASM, pero también uso un poco el C) me da la impresión que esta muy poco pensado el código, por ejemplo la variable "estado" que te señala Unikfriend, e incluso la variable "giro" en lugar de usarla como un flag puede contener el valor del pin, o la función "lcd_gotoxy(1,1);" se puede ejecutar fuera de las condicionales pues de igual manera va a correr .
Ahora, porque no usar un driver para este motor, hasta podrías usar un pic mas barato y conseguir un mejor desempeño del sistema entero.
Saludos
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.