Índice general Foros Digital, Electricidad e Informática AYUDA: Microchip PICAXE

AYUDA: Microchip PICAXE

Moderador: 241-2001


Nota 20 Ago 2011 16:35

Desconectado
Mensajes: 471
Registrado: 17 Jun 2011 18:34
Hola :D . Estoy intentando programar un microchip PICAXE (el 18X), para que coordine un paso a nivel para mi maqueta (luces alternativamente intermitente, barreras...), lo he intentado con el programa PICAXE Programming Editor y no consigo nada :oops: :oops:
Seria de gran ayuda, que alguien me pudiera echar una mano, o indicarme un foro, o algún otro lugar donde me pudieran ayudar. :)

Gracias anticipadas.

Juan.
Servus

________________________________________
Mi maqueta: LA MAQUETA DE renfero

Nota 20 Ago 2011 20:52

Desconectado
Mensajes: 137
Ubicación: almazora (Castellon)
Registrado: 08 Feb 2010 23:51
ostras eso seria una gozada verlo funcionar siento no poderte ayudar pero ha los pic todavia no he llegado seguro que hay gente que te puede ayudar,
un saludo

Nota 20 Ago 2011 21:49

Desconectado
Mensajes: 330
Registrado: 22 Feb 2011 13:45
No he manejado ese PIC, aunque he manejado algo el 16F84 y los microprocesadores Z80, 6502, 8051 y algún otro que ahora mismo no recuerdo. Por supuesto, toda la gama 80x86 de Intel en modo real y en lenguaje ensamblador.

Si me pasas el manual del compilador y el compilador (yo me encargo de buscar la documentación necesaria del PIC), lo puedo intentar. También necesitaría saber cómo está montado y cómo hay que activar y desactivar las luces, las barreras y la campana de tu paso a nivel, aunque no te puedo asegurar que lo logre.

Nota 21 Ago 2011 08:21

Desconectado
Mensajes: 1344
Ubicación: Esslingen
Registrado: 10 Oct 2010 12:11
Hola a todos,
Juan. si no tienes el fichero Hex para programar el Pic poco puedes hacer.

Un saludo, Angel

Nota 21 Ago 2011 09:22

Desconectado
Mensajes: 330
Registrado: 22 Feb 2011 13:45
Los ficheros *.hex son el resultado de efectuar la compilación, de los ficheros fuentes *.asm. Y son los que debes de grabar en el PIC (los *.hex).

Estos ficheros no se encuentran en Internet así como así. Los ficheros *.asm los hacen los programadores. Y éstos (los programadores o quien sepa) deben de pasarlos por el compilador que suministra la marca del microcontrontrolador, microchip, micropic o microprocesador para generar el código hexadecimal o código objeto en el caso de la familia Intel. En este último caso, hay que pasar el código *.obj por el linkador, generando así el código *.exe o algunas veces (dependiendo del programador), el código *.com.

Para hacer un programa que manipule un dispositivo electrónico, hay que conocer, tanto el dispositivo (paso a nivel) como el microprocesador o microcontrolador (PICAXE) así como las instrucciones (aritméticas, condicionales, bifurcación, etc) de las que éste dispone.

OrBahn escribió:
Hola a todos,
Juan. si no tienes el fichero Hex para programar el Pic poco puedes hacer.

Un saludo, Angel


Hay que saber lo que se dice antes de hablar en vano. Y confundir, lógicamente, al neófito.

Los microchips, hace mucho tiempo que se programan con un editor de texto en Basic, C, Ensamblador (Cobol, Clipper, por citar unos de los más conicidos) y no en código máquina (binario) o código hexadecimal.

En Google, de momento, he encontrado, entre otras páginas, ésta:
http://www.microedeias.pt/

Y, en español, ésta:
http://www.electronicaestudio.com/picaxe.htm

Ahora pregunto, sin afirmar nada (que cada uno piense lo que crea en consideración):
Angelito, qué piensas ahora de tus propias palabras ?.


Renfero:
Si te sigue interesando mi oferta (ofrecimiento), me mandas un mensaje privado y te respondo. No me mandes por privado ningún documento. Yo te diría mi Email privado y allí me podrás enviar cuanta documentación necesite.
Última edición por furdex el 21 Ago 2011 13:26, editado 2 veces en total

Nota 21 Ago 2011 11:27

Desconectado
Mensajes: 137
Ubicación: almazora (Castellon)
Registrado: 08 Feb 2010 23:51
gracias furdex por las paginas dan ganas de ponerse a estudiar ,pero en mi cabecita no creo que entre tanta tematica.
¿se puede preguntar si hay algun problema en enviar archivos por el privado del foro?

Nota 21 Ago 2011 12:18

Desconectado
Mensajes: 330
Registrado: 22 Feb 2011 13:45
En principio, no tiene por qué haber problemas. Pero prefiero, para el envío de ficheros personales, el correo electrónico personal. Siempre hay menos probabilidades de que se te viole el correo personal.

No es que los responsables vayan a hacerlo, pero cabe ese tipo de posibilidades en determinadas acciones en todas las páginas web dedicadas a algún tipo de foro, ya sea médico, relaciones sociales, zoológico, motor, etc, etc.

Eso ya me pasó en CTMS, avisando al destinario con copia del mensaje que lo tenía grabado, claro está, por lo que no suelo (salvo excepciones que no tienen importancia) dedicarme a ese tipo de mensajes.

Me gusta más prevenir que curar.

Nota 21 Ago 2011 13:50

Desconectado
Mensajes: 137
Ubicación: almazora (Castellon)
Registrado: 08 Feb 2010 23:51
te agradezco la forma y el contenido, para lo que necesites aqui un amigo
Raul.

Nota 21 Ago 2011 15:08

Desconectado
Mensajes: 471
Registrado: 17 Jun 2011 18:34
Gracias por intentarme ayudar :D :D . Os explico:

El chip que dispongo es de la casa inglesa PICAXE (os dejo el enlace ;) http://www.rev-ed.co.uk/picaxe/es/index.htm), el chip se programa mediante un cable algo especial que ya dispongo que conecta ordenador con el chip. La página oficial de PICAXE, en el apartado de Software, hay la opción de descargar el programa "PICAXE Programming Editor" (http://www.rev-ed.co.uk/picaxe/es/index.htm) para programarlo. Mi problema es que para ello, se utiliza unos códigos especiales que no domino (a pesar de tener unos manuales (solo están en inglés) que estan en la página: http://www.rev-ed.co.uk/docs/picaxe_manual2.pdf)

Solo necesito que alguien me pudiera "traducir" al código las acciones que ha de hacer el paso a nivel (yo ya las copiaría en el programa)

FUNCIONAMIENTO:
1º. Bajan las barreras, al mismo tiempo empiezan a funcionar los semáforos (cada uno de dos luces alterntivamente intermitentes).
2º. Las barreras ya bajadas, se encienden dos señales luminosas (que indican al maquinista que el paso está protegido).
3º. Manualmente (des de el cuadro de mando), se da la orden de subida de barreras, suben, se apagan las señales luminosas y los semáforos.
Adjuntos
chip.JPG
Os envío unas fotos
Servus

________________________________________
Mi maqueta: LA MAQUETA DE renfero

Nota 21 Ago 2011 17:23

Desconectado
Mensajes: 1344
Ubicación: Esslingen
Registrado: 10 Oct 2010 12:11
furdex escribió:
Hay que saber lo que se dice antes de hablar en vano. Y confundir, lógicamente, al neófito.

Furdex, si no tienes el fichero Hex para programar el Pic poco puedes hacer.

Un saludo, Angel

Nota 21 Ago 2011 17:56

Desconectado
Mensajes: 330
Registrado: 22 Feb 2011 13:45
OrBahn escribió:
Furdex, si no tienes el fichero Hex para programar el Pic poco puedes hacer.

Un saludo, Angel


REPITO:

El fichero *.hex será generado por el editor al compilarlo, o al mandarlo por el cable correspondiente, a la EEPRON del microchip a partir del fuente y éste código se almacena en forma de bits (es decir, código máquina para el microchip o código binario).

A ver si ahora vas a cambiar tú (Angelito) la informática y/o la programación.

renfero:
Me he descargado la documentación (*.pdf) que has proporcionado.

Veo que ese microcontrolador (microchip PICAXE) es más potente de lo que yo esperaba (los microcontroladores son muy fáciles de manejar. Al menos más fáciles que un microprocesador) y más fácil, por tanto, que el 16F84, aunque por simple que sea un microchip, tiene instrucciones necesarias en Basic y/o Ensamblador para manejar tu paso a nivel (o más).

He estado echando un vistazo por encima (vistazo que me ha llevado más de dos horas) a la documentación aportada.

He observado que las estructuras, se hacen en Basic, mientras que la manipulación de bits se hacen en código máquina (o sus nemónicos).

En Basic, por ejemplo, tienes las instrucciones For...Next, On.....Goto, Select Case........

En cuanto a las instrucciones en Ensamblador tienes Setbit, reverse (complemento de bit), input, etc.

Tiene la instruccion lógica en Basic AND. Así como también la instrucción OR.

Dispones de instrucciones que efectúan una acción concreta, como por ejemplo, pause xxx. Dónde xxx es el tiempo desde que entra la instrucción hasta que sale, medido en microsegundos.

Y también tiene un contador de tiempo programable por software.

Tienes varios puertos que se pueden programa como Entrada/Salida.

Y todo esto, como las CV's de los decoders, hay que programarlo.

Tendrías que decirme cuales de todas esas vías (taladros metalizados de la placa de la foto) son las que tienes conectadas a las barreras, campana, luces (bits o puertos de salida).

Y cómo detectas la llegada del tren para bajar las barreras y encender/apagar las luces (bits o puertos de entrada). Es decir, dónde (en qué bit) conectas el detector.

En la maqueta tienes detector de entrada para bajar las barreras, pero tienes detector de salida en el paso a nivel ?. Si no lo tienes, el ponerlo facilitaría la inutilización de la subida de la barrera desde el panel.

También me ayudaría mucho si tienes y me puedes mandar el programa fuente (programa que escribes en el editor) y me resultará más fácil seguir investigando.

No sé si me olvido de algo.

Editaré este post si así sucede.

Mi Email (aparte del pivado), es:
furdex arroba gmail punto com

Nota 22 Ago 2011 12:24

Desconectado
Mensajes: 330
Registrado: 22 Feb 2011 13:45
Tras toda la mañana estudiando la programación de un microchip que, de momento, desconozco y no poseo, he llegado a codificar el pseudocódigo para manejar un paso a nivel.

Es posible que haya algún error por no disponer de las herramienta necesarias.

El pseudocódigo es el siguiente:

Supongamos que en tu placa, tenermos los taladros metalizados A, B, C, D, E (PuertoB. Puerto de salida. Barreras, luces, etc). Y los taladros, F y G (Puerto A. Puerto de entrada. Detectores) que están conectados a:
A (Flecha ROJA) Barrera 1
B (Flecha ROJA) Barrera 2
C (Flecha ROJA) Luz que debe de efectuar la intermitencia
D (Flecha ROJA) Otra luz que debe de efectuar la otra intermitencia de forma alternativa luciendo cuando la primera luz esté apagada y apagarse cuando la primera luz está encendida
E (Flecha ROJA) Luz que avisa al maquinista que el paso está protegido.
F Detector de entrada al paso a nivel. Las barreras, al pasar el tren por el detector, bajan.
G Detector de salida del paso a nivel. Las barreras suben al pasar el tren por este detector.

Supongamos que el pin de salida está a 1 para bajar/encender (barreras/luces) y está puesto a 0 para subir/apagar (barreras/luces). Igualmente para la luz del maquinista. El pin puesto a 1 hace lucir la lucir la luz y puesto a 0 apaga la luz.

Los detectores (el de entrada al paso a nivel y el de salida del paso a nivel) están conectados a los pines F (Flecha ROJA) y G (Flecha ROJA). Estos dos pines, puestos a 1 dicen al microchip que el tren está pasando por el detector. Puestos a cero indica que el tren no está pisando el detector.

http://www.citfem.es/PICAXE_jpg.jpg




Un ejemplo de programación (pseudocódigo), bajo estas condiciones, sería:

programa:

1.- Se inicializa la configuración del sistema.

a) Se efectua la inicialización del microchip.

Inicio:

2.- Se inicaliza las barreras, luces de intermitencia y luz avisadora del maquinista (HARDWARE).

b) Se levanta (DESACTIVA) la barrera A.
c) Se levanta (DESACTIVA) la barrera B.
d) Se apaga (DESACTIVA) la luz C.
e) Se apaga (DESACTIVA) la luz D.
f) Se apaga (DESACTIVA) la luz E.

entrada_bucle_1:
lectura_detector1_entrada:

3.- Lectura del detector1 de entrada al paso a nivel.

4.- Si el bit F está a 1 (ACTIVO) entonces

g) se baja la barrera A
h) se baja la barrera B
i) se enciende la luz C
j) se apaga la luz D
k) Se enciende la luz E
Goto salida_bucle_1

Si no
Goto lectura_detector1_entrada
Fin de estructura IF
Salida_bucle_1:

entrada_bucle_2:
l) Posiblemente, haga falta un retardo con la instrucción pause.
m) Se invierte el pin A. (Si está activo, se desactiva y viceversa).
n) Se invierte el pin B. (Si está activo, se desactiva y viceversa).
o) Se invierte el pin C. (Si está activo, se desactiva y viceversa).
p) Se invierte el pin D. (Si está activo, se desactiva y viceversa).
q) Se invierte el pin E. (Si está activo, se desactiva y viceversa).

lectura_detector2_entrada:

5.- Lectura del detector2 de salida del paso a nivel.

6.- Si el bit G está a 1 (ACTIVO) entonces
Goto salida_bucle_2
Si no
Goto entrada_bucle_2
Fin de estructura IF
Salida_bucle_2:

final:

7.- Se desctiva todo el HARDWARE del paso a nivel.

r) Se desactiva (se pone a 0) el pin A.
s) Se desactiva (se pone a 0) el pin B.
t) Se desactiva (se pone a 0) el pin C.
u) Se desactiva (se pone a 0) el pin D.
v) Se desactiva (se pone a 0) el pin E.

vuelta_a_empezar:
goto inicio



Como la indentación en este foro brilla por su ausencia, pongo un enlace a mi Web con el programa indentado.

http://www.citfem.es/Furdex_Paso_a_Nivel.doc
Última edición por furdex el 26 Ago 2011 11:11, editado 2 veces en total

Nota 23 Ago 2011 16:38
LCS

Desconectado
Mensajes: 93
Registrado: 30 Mar 2011 10:25
Supongo que el picaxe sera algo del estilo del arduino o el basicstamp, supongo que alguien controlará el picaxe y dara una sencilla solución, si no, puedo preparar un archivo Hex que haga eso que queréis para un pic 16f628A aunque no dispongo de mucho tiempo.

Nota 23 Ago 2011 21:37

Desconectado
Mensajes: 330
Registrado: 22 Feb 2011 13:45
Yo sí dispongo de tiempo ya que puedo hacerlo en el tiempo libre dado que me dedico a la programación.

De momento, esto es lo que llevo. Estoy compilando con el compilador descargado de la página de PICAXE. Pero no sé si funcionará porque, claro, estoy trabajando a semi-ciegas. No tengo el HARDWARE necesario ni el requerido.

Yo con mis trabajos, siempre he entragado los fuentes (*.asm).

Además, el PICAXE es más potente, por lo que he visto, que el 16f628 y este úlimo implica cambiar de HARDWARE.

LC5:
Vas a entregar el fuente con el que generarás el *.hex del 16f628 ?. Pregunto.

Sería un puntazo a tu favor si lo hicieras (trabajo altruísta por y para todos).

http://www.citfem.es/foro2.txt
Última edición por furdex el 26 Ago 2011 10:21, editado 2 veces en total

Nota 24 Ago 2011 16:05
LCS

Desconectado
Mensajes: 93
Registrado: 30 Mar 2011 10:25
Yo no trabajo en programación, pero me hago mis propios proyectos, al cabo de unos añitos me he montado un esqueleto desde cero, contiene lo básico de este chip, Usart, teclado 6 teclas con 5 lineas, control LCD 4 bit manejo de interupciones y temporizadores, solo me falta el comparador y el PWM que hasta ahora no he necesitado.

Personalmente el asm no lo cuelgo en internet porque hay mucho oportunista, pero no tengo problemas en mandarlo a alguien si esta interesado, y que incluso utilice partes o todo si las necesita, ya que yo mismo aprendo mucho viendo ejemplos y soluciones imaginativas de otros.

Saludos.

Nota 24 Ago 2011 20:16

Desconectado
Mensajes: 330
Registrado: 22 Feb 2011 13:45
Felicidades LCS.

Si alguna vez necesito de ayuda respecto al 16f628, te avisaré.

Saludos.

Nota 24 Ago 2011 21:05
LCS

Desconectado
Mensajes: 93
Registrado: 30 Mar 2011 10:25
Me ha tocado lidiar con gente que lo único que quiere es que le hagas el trabajo con el mínimo esfuerzo posible por su parte.

Ahora estoy con un proyecto entre manos, pero se esta demorando. Si encuentro fuerzas y tiempo hago un programita sencillo, según lo que ha expuesto Furdex, pero para reducir la electronica al máximo, la idea es utilizar el PWM para accionar un servo para las barrerasy los led activados por el chip.

Saludos.

Nota 24 Ago 2011 23:47

Desconectado
Mensajes: 137
Ubicación: almazora (Castellon)
Registrado: 08 Feb 2010 23:51
os comprendo pero estamos los que no sabemos,
y por unos pagamos todos ,
en lo que pueda ayudar aqui estoy.
P.D:
gracias a todos

Nota 25 Ago 2011 00:39

Desconectado
Mensajes: 330
Registrado: 22 Feb 2011 13:45
De momento, para quien le interese, nueva versión, superada.

No es el definitivo.

http://www.citfem.es/foro1.txt
Última edición por furdex el 26 Ago 2011 10:22, editado 1 vez en total

Nota 26 Ago 2011 10:06

Desconectado
Mensajes: 330
Registrado: 22 Feb 2011 13:45
Bueno, pues a falta de corregir el funcionamiento real del programa con el paso a nivel instalado y las herramientas de programación hardware necesarias (PICAXE 18X, grabador para la EEPROM, etc), debido a la programación teórica solamente por falta del hardware necesario, el programa lo doy por concluído. Se deben de consultar los requerimientos hardware (http://www.citfem.es/Furdex_Paso_a_Nivel.doc).

El programa concluído es:

http://www.citfem.es/foro.txt

En la compilación del programa se ha usado un ordenador portátil con USB sin RS-232. Se ha usado el compilador bajo la ventana MS-DOS de Windows XP.

El compilador da el siguiente resultado:

Compilad succesfully.
Memory used = 78 out of 2048

Line# 0 col# 0

Error: Can't open port usb.

Este último ERROR, supongo, que será por carecer del hardware necesario citado con anterioridad. Yo uso la RS-232 en una torre. Y para aquellos que usen también este puerto para sus comunicaciones, deben de corregir la penúltima linea y poner:

1) #com 1
en lugar de
2) #com usb.

Se debe de tener en cuenta que estamos hablando del puerto de comunicaciones para el PICAXE 18X.

Sin embargo, en la torre, el ERROR sigue saliendo.

Por lo que, bien colocando la primera como la segunda directiva, si no se dispone del hardware, obtendremos el mismo ERROR. Es decir:

Error: Can't open port xxx.

El comando para la compilación en la ventana de MS-DOS es:
picaxe18x foro.txt

Saludos.


Volver a Digital, Electricidad e Informática

Síguenos en Facebook Síguenos en Youtube Síguenos en Instagram Feed - Nuevos Temas
©2017   -   Información Legal