TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: frozenpork en 26 de Julio de 2007, 20:50:34
-
Holas a todos, tengo una situacion estoy desarrollando un sistema de control para motores AC basado en un 12f675 en el cual senso temperatura,corriente ac,voltaje ac q es visualizado travez de un software de altonivel y el motor es controlado desde ese altonivel. es decir mediante un programa en VB manejo un motor AC usando el pic como el hardware de control. el problema es que si me desconectan el cable de comunucacion serial el motor debe pasar a un control manual con un potenciometro en uno de los canales analogicos. mi pregunta es: ¿Como reconocer que me desconectaron el cable para que el micro pase a control manual? tomando en cuenta que YA NO TENGO PINES PARA OTRAS COSAS
-
Puedes enviar un dato constantemente desde VB al PIC cuando este dato ya no este presente que salte a la rutina manual. o bien el PIN de GND del cable serial que sea tu switch cuando entre el pin que lo lee este en bajo si este es desconectado pon una resistencia 5V y se pondra en alto y saltara a la rutina manual. Bueno son ideas.
-
NO CREO QUE LO DE LA RESISTENCIA FUNCIONE, USARLA COMO SWITH IMPLICA QUE ESTA EN COMUN CON LA TIERRA NORMAL DEL CIRCUITO ENTONCES NO PODRA COMUNICARCE. CUANDO LO DESCONECTE ESTA VIENDO LA TIERRA DEL SISTEMA Y NO NOTARA LA DIFERENCIA
-
YA VA EXPLIQUE MAL. SI ESTA SIENDO USADA COMO SWIC QUIERE DECIR Q NO ES LA MISMA TIERRA DEL SISTEMA. ENTONCES SI NO ES LA MISMA TIERRA NO SE COMUNICA. CUANDO LE PONGA LA TIERRA DEL RESTO DEL CIRCUITO NO NOTARA LA DIFERENCIA SI ESTA EL CABLE CONECTADO O NO
-
No hay duda que lo de la resistencia no funcionaria, las masas del circuito deben estar unidas al pin GND del puerto para hacer de referencia a las señales, por ende siempre tendrias una la resistencia a masa, ya que al conectar la resistencia al pin masa este es justamente masa jejeje.
La mejor opción es la primera, establecer una comunicación entre la pc y el pic, seria un estado de OK, de esa manera cuando no llega el "ok" entra en modo manual tal como dijo navaismo.
-
Cuando no hay pin libres, lo normal es hacer como te indicaron, comprobando la actividad del bus.
Se suele asociar a la rutina que descodifica los datos una base de tiempos, temporizador,
timer, etc., este contador esta continuamente siendo puesto a cero cada vez que entras
en la rutina de Rx del puerto serie, por eso la necesidad de enviar como minimo un dato
serie con un cierto periodo para que esta rutina no llegue nunca al valor prefijado ya que nos
conmutaria del modo serial al analógico y viceversa en el caso que se restablezcan los datos serial.
Incluso hay procesos que una vez que sobrepasaron ese tiempo "X" sin actividad en el puerto
serie pasan a un modo de bloqueo del que no pueden salir por si solos y requieren la supervision del operario.
-
Esa función la cumple el pin DTR del PC, tu debes controlar ese DTR. Al activarlo, ese pin DTR le llega al PIC como GND si el cable no esta, le llegara VCC.
Si se desconecta el cable del PC, con el cambio de estado, el PIC reconoce el evento.