Foros Airsoftmadrid

Foro General => Técnica, Mantenimiento y Reparaciones => Mensaje iniciado por: OniAkai en Diciembre 13, 2010, 01:35:35 am

Título: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 13, 2010, 01:35:35 am
LLevo muy poco en este mundillo, lo he pillado con ganas y he estado investigando un poquito. Me he comprado un TAR21 (menudo estreno) y la verdad que quiero cuidarlo. Me encanta customizar todo aquello que tengo y empecé en este foro viendo pequeños upgrades de la réplica: SCS, gomas de hop, mosfets...
Es ahí donde me empecé a rallar: en los mosfet. Me pareció muy buena idea pero la veía rudimentaria, seguí investigando y encontré el famoso SW-CHEETAH, después el de 3One, el MARKIII, ahora el CHEETAH 2N, el LION (no está nada mal) y hoy me encontrado con ésto (http://"http://www.awsairsoft.com/scorpion"). Es un tio (para el que no lo conozca ya) del foro de airsoftmechanics (el mismo del que salen los otros mosfets) que ha creado lo que yo creo que es una bestia parda de los mosfet, de hecho es que ya no es un mosfet... En breve va a sacar el STEALTH que directamente es un sustituto del trigger switch, pero es que el Scorpion es una controladora muy completa del AEG que, según él la convierte en lo más parecido a las PTW de Systema.

Pero a lo que iba que me pierdo, yo me pregunto: Es que no tenemos gente aquí más que sobradamente preparada y con conocimientos para montar algo así? Aunque sea por frikismo!! (grupo en el que me meto).

Yo ahora mismo dispongo de los archivos gerber (el que sepa de electrónica sabrá que es esto) del Cheetah 2N (versión que no aparece AÚN en la web ya que está en fase beta aún) y de la programación (que es en C) y del Lion (en fase final de desarrollo también) dispongo del esquema (http://"http://img689.imageshack.us/f/swlion300.gif/") electrónico y estoy pendiente de que Terry (el desarrollador) me envie los gerber y la programación. También he solicitado los gerber y la programación del Scorpion pero ese proyecto no sé si es Open source. Supongo que sí por que vienen todos del mismo foro...

Alguien se anima?? Mis conocimientos de electrónica son limitados pero ayudaré en lo que sea necesario, en programación en C me defiendo... sé buscarme muy bien la vida. Fijo que sacamos algo potente si nos ponemos.

Por supuesto todo esto sería OpenSource (tal y como son los otros proyectos) pero si esto tira pa'lante, por que no comercializarlos??

O pongo las características del Scorpion que creo yo que es el proyecto más avanzado:

Advanced Technology

    * Driven by a powerful PIC18LF2321 28-pin CPU for extreme processing speed.
    * Uses the latest in ultra-small SMD components to minimize board dimensions.
    * 0.22F supercap and boost convertor allows normal operation on line-voltage dips down to 2.5V.
    * Unaffected by Magnum/Turbo motors or any future "Ultra Magnum/Turbo" motors.
    * Startup diagnostic prevents sudden firing if the trigger is shorted during battery connection.
    * Short-circuit, under-voltage, over-voltage(ESD), over-current, and over-temperature protection.
    * Advanced thermal management allows passive cooling even under sustained semi-fire.
    * Micro-amp sleep current allows batteries to remain connected for several years.

MOSFET Trigger Switching   

    * Eliminates damaging electrical arcing of the trigger switch contacts.
    * Lower resistance compared to mechanical switching, increasing motor current.
    * Driven by dual BSC016N03MSG MOSFETs, a combined rating of 200A continuous operation.
    * Improved handling of extreme inrush currents up to 800A.

Motor Active Braking

    * Eliminates motor spin-down time when powered off, preventing piston over-travel on semi-fire.
    * Allows semi-fire to properly reset the piston in any AEG setup, preventing component stress.
    * Driven by a SUM110P06 MOSFET, rated for 110A braking operation.

Full Cycle Completion

    * Gearbox always completes a shot cycle regardless of when the trigger is released.
    * Allows ANY firing mode to properly reset the piston regardless of AEG setup.
    * With the piston always reset, every shot gets the smoothest possible motor startup.
    * Sensor detection of each cycle allows auto-adapting to decreasing RoF/battery voltage.

Sensor-based Burst Fire

    * Replaces full-auto with 3-round burst, 2-round burst, or semi-only firing modes.
    * Sensor detection of each cycle provides reliable and foolproof burst fire operation. (no timing involved)

Adaptive RoF Control << Updated!

    * Every cycle runs at FULL speed and PAUSES between each shot to reduce RoF.
    * Adaptive RoF reduction to EXACTLY 10, 15, or 20 rnd/sec on any setup.
    * Very realistic sound and feel when enabled on very high-speed AEGs.

Li-poly Protection

    * Monitors li-poly battery voltage and prevents firing when below 3.2v per cell.
    * Calculates the cell voltage via the main line, reducing wire clutter.
    * Compensates for voltage fluctuations during motor operation.

Dryfire-lock & Bolt Charging

    * Included sensor-modified hopup allows the AEG to prevent firing when empty (dryfire-lock).
    * Switch add-on for the bolt release and/or charge handle resets the dryfire-lock.
    * Less dryfiring reduces stress on the gearbox and decreases reload reaction time.

Hopup Tracer Unit

    * The sensor-modified hopup also has a built-in UV LED for charging tracer rounds.
    * Draws power directly from the main battery so no extra batteries are needed.
    * Automatically turns on ONLY when firing, maximizing power efficiency.

Serial Comm Port

    * Dedicated wire port for trasmitting signals to custom add-on circuits (ie: ammo display).
    * Ouput signals include "shot fired", "no ammo", "bolt cocked", "low voltage", etc.
Título: Re: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 14, 2010, 12:08:06 am
Venga hombre.. Nadie esta interesado?? No puede ser..
Título: Re: Invoco a los genios del foro
Publicado por: Invisible/Adama en Diciembre 14, 2010, 12:22:02 am
En la segunda linea ya he necesitado ir a por el diccionario asi que...  :=
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 14, 2010, 12:52:50 am
yo hablé con Terry y tengo un Lion en casa y un programador y estuve echándole una mano.. pero no he tenido demasiado tiempo con la carrera. si te metes que sepas que es algo masivo, es muy bajo nivel y salvo que sepas exactamente qué está haciendo el hardware en todo momento puedes freir tu placa sin saberlo (aunque Terry ha hecho un trabajo genial con el diseño hardware y aunque metas señales incorrectas es muy dificil que lo quemes), o lo que es peor, tu motor, cables, o la batería. Terry se jacta de que sus usuarios han quemado antes los motores y las baterías que sus placas, para que te hagas una idea.

Yo llevo 4 o 5 años trabajando con C en diversos proyectos con microcontroladores, tanto ATMEL como PIC como simples 8051s y te aseguro que me llevó 4 o 5 horas para leerme el código y sobreentender que hacía, y unas 6 o 7 horas para recomponerlo un poco de manera que hiciera un poco más eficientemente lo que ya hacía. si te metes con el STEALTH con el puñado de features que tiene, vas a volverte loco con el código. Si estás acostumbrado a C para ordenador que sepas que esto es totalmente lo contrario. vas a tener que saberte el manual del micro bastante bien (y suelen tener unas 200 hojas) para saber qué estás haciendo. vas a echarle muchas horas y posiblemente avances poco (a menos que le eches muuuuchas horas).

En cuanto al hardware, usan componentes smd bastante complicados de soldar. Terry suele pedir las placas fabricadas e incluso soldadas a veces si no tiene tiempo. cuando las hace el usa un horno de soldadura para que le salgan perfectas.

si esto no te ha desanimado, entonces híncale el diente, y mantennos informados.
Título: Re: Invoco a los genios del foro
Publicado por: menague en Diciembre 14, 2010, 11:30:03 am
Esto se merece chincheta vamos ! que si nos jungamos 5 o 6 podemos hacerlo en condiciones
Título: Re: Invoco a los genios del foro
Publicado por: Paspawn en Diciembre 14, 2010, 09:07:53 pm
Esta página me la encontré hace un tiempo y vengo siguiendola desde entonces, aunque actualizan relativamente poco.

Como comienzo, un simulacro de modelo pulse me parece lo más acertado. No incluye el recuento de disparos para temas de carga/recarga ni el tracer unit, pero permite no tener que modificar las réplicas más que en la colocación del sensor, elemento por cierto que me parece introduce una mejora sustancial sobre sus contrapartidas de control de fuego por control de tiempos.
Título: Re: Invoco a los genios del foro
Publicado por: Playjodete en Diciembre 15, 2010, 01:20:55 am
Quiza el arduino sea una plataforma más fácil de usar para estos menesteres , y hace poco vi que lo había en tamaño mini :

(http://www.smartprj.com/catalog/images/arduini_mini.jpg)

Me gusta el tema , y si necesitáis ayuda en C/C++ puedo echar una mano

Un Saludo
Título: Re: Invoco a los genios del foro
Publicado por: mushroom en Diciembre 15, 2010, 11:56:22 am
Hola:

He realizado algunos proyectos sencillos con arduino, y es muy fácil programar con ellos.

En su momento programe uno para que realizase ráfagas limitadas por tiempo. Todo es ponerse.

Un saludo
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 15, 2010, 12:36:22 pm
el arduino no puede controlar picos de corriente tan potentes sin algunas seguridades de por medio. yo como mucho lo metería con un I2D o puerto serie de acompañamiento y para actividades de no riesgo (pintar en pantalla, puerto serie hacia arriba, leds, sensado de batería, control alto nivel, etc.

para bajo nivel mejor el micro que ya está integrado. y te digo por experiencia que los PIC son duros (muevo un motor de 1kW de un carrito de golf con uno controlando una placa de potencia)
Título: Re: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 17, 2010, 07:39:08 pm
Perdonad haber estado desaparecido unos dias, he estado incomunicado en Gredos... En fin que os traigo toda la info (http://www.megaupload.com/?d=XQYUHXN6) relacionada con el Lion que me ha enviado Terry. El software del Lion está en este (http://svn2.xp-dev.com/svn/lion/) repositorio público y aquí (http://forums.airsoftmechanics.com/index.php?topic=2252.0) el tema en el foro. Los archivos gerber no me los ha pasado por que él no usa gerber, usa expressPCB (http://www.expresspcb.com) que aúna diseño y producción + envío a casita. Os paso también el tema (http://forums.airsoftmechanics.com/index.php?topic=2251.0) donde se discute sobre el Lion en general.
La plataforma Arduino es interesante, no la conocía. Pero creo que sik_gerar ha despejado las dudas...
Playjodete cualquier tipo de ayuda se agradece y mucho. Yo hace muchísimo que no toco C.
Alguien con maña suficiente se ve capaz de soldar esto? o alguien que tenga acceso a fabricación de pcb's... no se, creo que debemos ir organizando esto, no? Yo creo que lo primero sería fabricar un Lion al que le podamos cambiar la programación sin desoldar y resoldar, usando un (varios) socket. Algún valiente?

PD A mi personalmente me atrae más el Scorpion, pero ni siquiera me responde a los mails y no hay stock, así que de momento lo aparco...

PD2 por fin me ha llegado mi TAR21 y estoy deseando meterle algún cacharrito de estos!!!
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 17, 2010, 08:56:06 pm
jeje, ese repositorio lo cree yo y luego le di los accesos de todo a terry, curioso que lo postees luego por aqui. prueba a usar tortoisesvn, es muy comodo para luego actualizar y todo.

en cuanto a como programar el micro, necesitas un programador externo y un conector. preguntale a terry y te dirá como hacerlo, yo debo tener por algun sitio el lion que me mandó y el programador, asique cualquier prueba que hagas la puedo testear yo tambien.

en cuanto a soldar, si pillas un soldador de 14w, hilo de estaño fino, unas pinzas de mosquito, lupa con peana, flux de base de alcohol y paciencia, puedes soldar los componentes smd sin quemarlos.
Título: Re: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 17, 2010, 09:18:05 pm
Ostia!! eres un crack entonces!! :D Contacto directísimo con Terry, eres colaborador suyo? Conoces el Scorpion?
Para la pcb, sabes algún sitio donde pueda hacerla barata? o sigo el proceso de expressPCB? o batchpcb? Concretamente qué componentes requieren programación? no he mirado la lista de componentes...

PD Vives en Madrid? No te interesa venderme el Lion que tienes perdido por ahi? :P
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 17, 2010, 10:49:26 pm
la verdad es que lo tengo bastante parado, dame algunos dias que lo busque y te digo que es lo que tengo exactamente. deberia tener aun asi un programador y el lion cableado, con una base de pruebas con un motor y un pulsador, todo con conectores. me lo montó y mandó Terry para probar el codigo y hacer mejoras, y estuve haciendo cosillas y le monté ese servicio para poder compartir el codigo más facilmente.

le conozco lo que he trabajado con el, pocos meses. Terry sigue indagando con el hardware, y de vez en cuando saca alguna mejora interesante, pero en general el control del micro no cambia (como mucho negar una salida o alguna tonteria así sin importancia).

en cuanto a pcbs, haz como te dice terry que tiene bastante experiencia, salen tiradas. lo mas complicado que veo es que pilles los componentes, aunque si te haces cuenta en RS / farnell puedes hacer el pedido completo que sale mejor de envío..  y mas de 150 €te lo portan gratis :P
Título: Re: Invoco a los genios del foro
Publicado por: hachazo en Diciembre 17, 2010, 11:32:21 pm
yo soldar se bastante...incluso en las bios de ps2, si necesitas alguien que lo suelde ya sabes
Título: Re: Invoco a los genios del foro
Publicado por: Playjodete en Diciembre 18, 2010, 12:39:16 am
Citar
el arduino no puede controlar picos de corriente tan potentes sin algunas seguridades de por medio

algo como transistores o resistencias ? ilumíname  :)
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 18, 2010, 01:01:15 am
Citar
el arduino no puede controlar picos de corriente tan potentes sin algunas seguridades de por medio

algo como transistores o resistencias ? ilumíname  :)

el lion y todos estos dispositivos tienen 2 placas, una de control, en la que se encuentra el microcontrolador y dispositivos de seguridad, y en la otra la potencia con los mosfet.

si haces tu la placa de control nueva, vas a tener que incluir todos esos dispositivos de control, porque sino te vas a quedar sin micro de aqui a que lo conectes por primera vez.

no, no soy tan simple como para decirte que vas a quemar una resistencia playjodete, que soy ingeniero electrónico. No es mala idea meter un arduino porque mucha gente programa para ellos. pero como normalmente la gente que programa para arduino no toca la capa más baja, que es la que importa aqui y que mueve amperios, interesa un micro en el que trabajes a más bajo nivel, como un pic o un atmel en este caso.
Título: Re: Invoco a los genios del foro
Publicado por: csv en Diciembre 18, 2010, 08:44:51 am
Por cuanto puede salir esto de lo que hablais? Seria instalable en cualquier AEG con gear V2?
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 18, 2010, 09:26:50 am
Por cuanto puede salir esto de lo que hablais? Seria instalable en cualquier AEG con gear V2?

http://extreme-fire.com/

creo que Terry tenía un 15% o un 20% de beneficio por cada uno, lo posteó en los foros de airsoftmechanics cuando se lo preguntaron, la verdad es que secretos cero. si le restas esa cantidad a cada uno te queda más o menos lo que le cuesta fabricarlo, pero ten en cuenta que él pide las piezas a retailers de 100 en 100, con lo que el precio de los componentes sería menor que el que pudiéramos conseguir aqui.


en cuanto al montaje, como el circuito actúa de mosfet, lo puedes poner a cualquier aeg, lo único que necesitas es espacio, y ya te digo que es muy pequeño, no tanto como dos mosfet TO220, pero aún así es muy pequeño.

Título: Re: Invoco a los genios del foro
Publicado por: Playjodete en Diciembre 19, 2010, 08:54:56 pm
Oido cocina

Gracias
Título: Re: Invoco a los genios del foro
Publicado por: csv en Diciembre 19, 2010, 09:57:47 pm
De todos modos no me parece muy caro los precios que ponen... es mas, es para pensarse el traer un par  ::)
Título: Scorpion
Publicado por: OniAkai en Diciembre 21, 2010, 05:35:53 pm
Por fin me ha respondido este chico para decirme que la plataforma Scorpion es open-source al igual que la Stealth (menudo proyecto también) y que me puede enviar los archivos también, pero me ha avisado de que el soldado es bastante dificil y que él usa una máquina pick and place ya que tiene un montón de componentes 0201 y yo no tengo acceso a una así que..
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 25, 2010, 11:49:50 am
cuando tengas un rato cuelga aqui los links al manual del micro que usas, el IDE (AVRstudio) y el codigo que quieres compilar. a ver si entre todos sacamos información útil de como hacer las cosas, y podemos sacar una "version española" del codigo.
Título: Re: Invoco a los genios del foro
Publicado por: Kralyzec en Diciembre 25, 2010, 11:54:02 am
La verdad es que yo de estos temas no entiendo demasiado, pero por lo que he podido entrever suena de lo mas interesante... asi que no me queda mas que agradeceros el esfuerzo que haceis con este tipo de cosas, y que al fin y al cabo repercuten para bien en el resto de la comunidad airsofter  ;)
Título: Ayuda!!!
Publicado por: OniAkai en Diciembre 25, 2010, 04:33:27 pm
Bueno, siguiendo el consejo de sik_gerar (menudo crack...) cuelgo aquí lo necesario para la programación del Lion que me he "agenciao" (gracias gerar!!) para ver si sacais algo en claro por que como dije, de electrónica no sé casi nada (lo que estudié en la carrera: Ing. Informática) así que se me escapan muchísimas cosas... Cualquier desarrollador que quiera probar algo en el Lion que me lo diga y yo lo programo...

Documentación (http://www.atmel.com/dyn/products/product_card.asp?PN=ATmega644P) del ATmega644P (es la CPU de que dispongo en el SW-Lion).
Enlace (http://www.atmel.com/forms/software_download.asp?family_id=607&fn=dl_AvrStudio4Setup.exe) al AVRStudio 4.
Código (http://svn2.xp-dev.com/svn/lion/) desarrollado hasta hoy por Terry y colaboradores (entre ellos: sik_gerar) sacados de airsoftmechanics (http://forums.airsoftmechanics.com/index.php?topic=2252.0). Descargad el TortoiseSVN (http://tortoisesvn.net/downloads.html), lo instalais y así podeis conectar con el repositorio directamente y tener el código actualizado (es un cliente de Subversion).
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 25, 2010, 09:14:43 pm
buen trabajo, todos los detalles de cosas complicadas que te vayas encontrando si los posteas ayudarás a que más gente se anime.

¿entiendo que has conseguido compilar el código y programar el micro ya? si es así me alegro, porque te abre las puertas a empezar a hacer cositas.

en cuanto al código dos cosas, una pensé que ibas a usar el código del otro tio y no el "básico".. pero ánimo con el. la segunda es que a la hora de programar, tu que vienes de informática tienes muchas ventajas al programar porque conoces el lenguaje y las formas, pero has de saber que programar para un micro controlador no es lo mismo que escribir código para un SO que te gestiona los IO. aquí TÚ gestionas los IO en las interrupciones, mientras que el código más general se gestiona en el main. en cuanto a código tienes que pensar también que se mueve en un reloj de 20Mhz, en vez de en un micro a Ghz, de manera que tienes que pensarte muy bien las temporizaciones y los peores casos porque si te pasas de ciclos entre interrupciones tu micro hará cosas raras, ya que se estará saltando lecturas de interrupciones o no podrá retornar al main si las interrupciones saltan continuamente.

a partir de aquí, ve probando cosas y me vas diciendo, en lo que pueda te iré echando una mano.
Título: Re: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 25, 2010, 09:19:54 pm
Como que "el básico"? Este es el código que hay en el repo...  ??? No si ya lo estoy viendo que no se parece demasiado... jejeje en fin... tú tienes alguna versión del soft más actualizada??
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 25, 2010, 09:30:10 pm
Como que "el básico"? Este es el código que hay en el repo... 

hay más gente trabajando en sus propias versiones. si te gusta más c++ hay gente con ello. yo preferí trabajar en C.
http://forums.airsoftmechanics.com/index.php?topic=3393.0

??? No si ya lo estoy viendo que no se parece demasiado... jejeje en fin... tú tienes alguna versión del soft más actualizada??

pero si eres informático.. esto está chupado en cuanto te acostumbres a programar para algo tan canijo. el software que hay en el repo es lo más actualizado, porque estuve trabajando offline en verano pero mi portátil terminó de morir y con el algunas cosillas que ya me funcionaban.
Título: Re: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 26, 2010, 12:08:51 am
Creo que esa rama está muerta... he intentado compilar el que me has pasado y faltan archivos de los que habla el autor.. aunque creo que está muy bien la idea, si no he entendido mal este tio ha creado una aplicación con un menú para configurar el Lion... no?

En el repositorio, la versión que hay del "OS" del Lion, por llamarlo de alguna manera, es del 29 de julio de este año...

PD El 1 de enero sale a la venta el Cheetah-2N ¿se llama así por que la única diferencia es el NPN, en vez del PNP?

En fin, basta por hoy... :D
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 26, 2010, 02:02:09 am
si, dice que tiene un GUI en el ordenador con el que saca la información del micro, pero me creo que no compile, no todo el mundo hace el codigo libre como debería. seguramente el codigo que ha hecho el para su gui y tal esté cerrado.

el repositorio si, la ultima versión tiene que andar por esa época, en agosto seguí con él pero ya te digo que perdí algunos updates.


en cuanto al cheetah si, es una actualización de hardware de la placa de potencia, pero no tiene nada nuevo en la de control, según entiendo.
Título: Re: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 28, 2010, 12:27:19 am
Bueno, hoy Terry ha colgado esto en un hilo nuevo que ha creado él mismo:

So Terry.....  Where is that ^&^%$%$%&$ damn LION at....
After TWO years...  Shocked
http://forums.airsoftmechanics.com/index.php?topic=1572.msg11793#msg11793
That damn LION!!!   Cheesy  Cheesy
It is is driving all the 2n stuff, like the new Cheetah now, like a "concept car" Cheesy We DID bite off more than we could chew!! Cheesy Cheesy
The LOIN's 'hardware' is very stable...
But the software to run the SOB is a very MONSTER thing!!!!!!!!!!!!!!!!!!!!!!
I have some cludged old software and there is very new software.....  It all sucks Cheesy Cheesy  The latest  dies at running the motor in slow motion Cheesy Grin Grin  =Broke...  I thought we would just "hurt ourselves with this one" Cheesy Grin
We NEED to pull up our pants there and get some "real" software for the lion going.  The new platform offered so much that it just ran us all over one the software side...
It is the monster in the pocket...  It can do anything if you can tame it...
Many have plans on how to make it in high quantity for cheap on the hardware side...
Being a hardware guy myself, I got 'derailed' on the 2n stuff...
I made the hardware....  But I challenged others to figure out the software....
I did the EASY part  Cheesy

Gnadolf
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 28, 2010, 01:15:47 am
y no ha dicho que no funcione, es que él se dedica a hardware y no tanto a software, y en el lion la parte que más tira es el software, y no tanto un hardware que el ya tiene muy estudiado y que es idéntico en el cheetah y el lion.

su problema es conseguir que el codigo del lion tome forma de verdad, y que desarrolladores de codigo se impliquen, nada mas.
Título: Re: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 28, 2010, 01:41:17 am
Ya hombre, ya, lo he pillao. Lo que pasa que no obtiene mucha colaboración... no? dos años de desarrollo y no ha llegado a mucho... y eso que el hardware promete mucho... yo estoy estudiandome el código a ver qué puedo hacer pero... entre la faena que ya tengo y la pereza que me da... ya te dije que de electrónica sé poco y encuentro mucho código que no entiendo, por que va directamente realacionado con el micro (ya sé, ya sé, tengo que empollarme el manual del ATmega644P) pero bueno... algo habrá que hacer!!!

PD soñar es gratis: OLED con la munición y mucha más info, mucha más protección de las baterías, motores, trazadoras más eficientes, etc.
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 28, 2010, 11:36:15 am
La parte coñazo de programar para un micro es siempre el bajo nivel, hacer los métodos y funciones de control del micro. Una vez tienes eso, hacer códigos encima es mucho mas comodo, pero para tener los mas recursos posibles en ese momento has tenido que ser eficente antes.

Personalmente, yo termino los exámenes el 1 de febrero, a partir de entonces tendre bastante tiempo libre. Como para entonces habras Leido bien todo el código  y el manual,  puedo echarte una mano y lo que te diga lo vas a aprovechar al máximo.

Otra cosa que te recomiendo es que hagas de este post un pequeño Blog con lo que vas haciendo, asi como unos pequeños tutoriales de como hacer las cosas, para que mas gente se anime a ayudar.
Título: Re: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 28, 2010, 02:38:30 pm
Por cierto en airsoftmechanics (http://forums.airsoftmechanics.com/index.php?topic=3728.0) están hablando de ti... jajajaja

Cita de: hunterseeker5
I realize I shouldn't be pointing fingers, but where are you sik_gerar? Over the summer it seemed like you had us all taken care of.  :P
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 28, 2010, 05:01:18 pm
jeje ya he contestado por alli, la verdad es que si, le di un buen empujón a aquello en verano.

le he metido yo un poco de caña tambien a kiwi_mat, a ver si saca el codigo y le echamos un vistazo.

en cuanto a la info.. ya te digo que estaría bien decir lo que hay que usar para hacer esto:

1. descargas:
- AVRstudio
- tortoiseSVN
- codigo
- manual del microcontrolador ATMEL

2. instalar AVRstudio, tortoiseSVN
3. crear un repositorio local con tortoise y bajar el codigo en la carpeta repositorio que hemos creado localmente
4. leer y escribir. chupao!
Título: Re: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 28, 2010, 07:22:14 pm
qué es el precocking??
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 28, 2010, 07:31:16 pm
dejar el muelle apretado para que cuanto aprietes el gatillo el muelle no tenga que retroceder el pistón y luego soltarlo, sino soltarlo directamente.

se gana tiempo de reacción, interesante sobre todo para los marksman (DMS).
Título: Re: Invoco a los genios del foro
Publicado por: OniAkai en Diciembre 28, 2010, 08:53:28 pm
Coño, pero como sabe el Lion en que posición está el motor o el pistón para hacer eso?? además será muy impreciso, no??

Oye otra cosa el Lion "apaga" el arma si: "Shut down if battery can not maintain 7 volts after 60 seconds on non use" creo que es demasiado justito, no? por ejemplo mi batería es de 7'4V... en cambio encuentro esto también: #define mMINVOLTAGE 6000 ¿?

Además te digo: el código puedo entenderlo aunque no sepa qué coño hace pero me estoy leyendo el manual del 644P y no me entero...

Me iría muy bien saber qué es lo que debería hacer el Lion en condiciones idóneas, más que nada para empezar a hacerme un diagrama de flujo o algo... no sé, saber el proceso que debe realizar... es que me siento perdidísimo. Como te dije yo estudié Ing. Informática (acabé hace más de 5 años, tengo 28) y me dediqué al marketing on-line y al diseño digital así que la programación la tengo un poco oxidada (nada irremediable) pero es que la electrónica... En fin...

Un saludo.
Título: Re: Invoco a los genios del foro
Publicado por: sik_gerar en Diciembre 28, 2010, 09:46:14 pm
Coño, pero como sabe el Lion en que posición está el motor o el pistón para hacer eso?? además será muy impreciso, no??

si estás alimentando el motor y estas sensando la corriente que absorbe para hacer ese trabajo, en cuanto detectas que la corriente consumida cae, puedes pensar que el motor no tiene carga, y por tanto que el muelle está suelto. no te creas que es tan impreciso, ten en cuenta que el programa corre a 20Mhz, si esa función es llamada cada milisegundo, y los ciclos suelen ser de unos 65ms, pues tu error puede ser de unos.. 2ms asi a bulto.. un 3% de error de parada no me parece mucho.

Oye otra cosa el Lion "apaga" el arma si: "Shut down if battery can not maintain 7 volts after 60 seconds on non use" creo que es demasiado justito, no? por ejemplo mi batería es de 7'4V... en cambio encuentro esto también: #define mMINVOLTAGE 6000 ¿?

es posible que los comentarios estén anticuados. es algo que intenté arreglar porque yo soy muy de comentar pero el codigo que cogí no lo estaba demasiado. mira los usos de ese define, y en caso de que no sean modificados en su uso... pues si, el valor mínimo será 6v. la verdad es que se puede guardar como variable para en un futuro poder ajustarlo via interfaz, pero por ahora ocupa menos así.

Además te digo: el código puedo entenderlo aunque no sepa qué coño hace pero me estoy leyendo el manual del 644P y no me entero...

Me iría muy bien saber qué es lo que debería hacer el Lion en condiciones idóneas, más que nada para empezar a hacerme un diagrama de flujo o algo... no sé, saber el proceso que debe realizar... es que me siento perdidísimo. Como te dije yo estudié Ing. Informática (acabé hace más de 5 años, tengo 28) y me dediqué al marketing on-line y al diseño digital así que la programación la tengo un poco oxidada (nada irremediable) pero es que la electrónica... En fin...

Un saludo.

el manual de un microcontrolador no te dice nunca las respuestas maravillosamente, es un texto árido y tedioso (siempre, da igual la compañia) que te indica lo que el micro hace o puede hacer, con ejemplos casi siempre en ensamblador, lo cual tampoco ayuda demasiado. normalmente leer la ayuda del compilador suele dar ideas mejores en cuanto a qué codigo usar para hacer lo mismo que lo que viene en el manual, pero antes has tenido que pasar por el manual para saber qué hacer.


breve intro a los microcontroladores...

... y como modificar lo que tu sabes para aplicarlo mejor aqui. los que quieran involucrarse un poco verán en este tochopost un buen punto de arranque

un microcontrolador es algo mucho mas sencillo que un ordenador, pero a la vez mas complicado. porque? la respuesta es sencilla: porque no hay un SO que haga las cosas por nosotros, sino que todas las operaciones de bajo nivel las debemos hacer nosotros, muchas veces con punteros rígidos (hardlinks) a zonas de memoria mapeadas en la ram/rom/rom de datos.
Además sus recursos son muy limitados, y debemos casi a veces contar los ciclos que va a ejecutar para saber si le dará tiempo a procesar una interrupción antes de que desborde otro contador que genere una nueva interrupción, y cosas asi. por tanto, intenta no hacer funciones que consuman demasiada cpu, e incluso haz simplificaciones cuando sea necesario si ganas espacio o tiempo.
Por otro lado para controlar el mundo real solo tenemos pines que controlamos en tiempo discreto, es decir, que leemos por ellos y modificamos su valor solo cada cierto tiempo (numero de ciclos). por ello cuando se hace un regulador se debe hacer en tiempo discreto, y si hacemos un control de potencia tenemos herramientas como el PWM (http://es.wikipedia.org/wiki/Modulaci%C3%B3n_por_ancho_de_pulsos).

al ir a programar un controlador lo primero que hay que hacer es adaptar el hardware. estos micros llevan un reloj interno, pero hay que programar los fusibles para decirle que queremos usarlo, a qué frecuencia se tiene que poner, como vamos a usar los pines de entradas y salidas, etc. estos fusibles en tu caso ya están programados y solo se puede hacer con un programador externo, no mediante I2C (el programador que tu tienes).

lo siguiente es preparar el hardware básico de IO para empezar a trabajar. como habrás visto en el main nada mas empezar se selecciona el hardware y los pines, y toda esta información está en el manual, es simplemente guardar en los registros de configuración una serie de bits que definen el funcionamiento de cada pin y de cada timer, AD, contadores... como nota he de decir que aunque esto se suele hacer al principio y no se modifique a lo largo del programa, SI que se puede modificar con algunas limitaciones para usar un pin para varias cosas distintas, simplemente añadiendo el codigo de configuracion en el punto deseado del programa. normalmente para hacer esto se paran las interrupciones y alguna cosa mas, pero como tampoco vas a dedicarte a esto no me explayo.

por ultimo, hay que generar el codigo de las interrupciones y el main; las interrupciones estarán generadas por flancos de señal externa en pines, o por desbordamiento de timers o de contadores. todos estos valores se guardan en registros del micro, aunque muchas veces se utilizan macros para acceder a estas direcciones, para mas info de esto mira la ayuda del compilador. estas interrupciones saltarán cada vez que se cumpla una instruccion logica, y harán que el micro salte del punto en el que esté del main para ir al código de la interrupción, limpiará el flag de interrupción y ejecutará el codigo. dependiendo de la prioridad de las interrupciones, es posible que estando el puntero de programa en una interrupcion se salte a otra interrupción. una vez terminado el codigo de la interrupción se vuelve al anterior punto del programa, segun el puntero de programa estuviera (el stack se guarda automaticamente no hay que preocuparse de guardar).

por tanto el codigo del main debe siempre estar en un bucle infinito while(1) mientras que las funciones de las interrupciones deben de ser lo más cortas posibles, llegando al minimo de guardar un resultado o lectura en una variable, activando un flag, y devolviendo el control al main en el caso más extremo. de esta manera con flags en main podemos controlar el flujo del programa.


por tanto, volviendo al Lion, el programa debe:

-arrancar en el main, configurar el micro, leer de rom datos de procesos anteriores
-entrar en el bucle principal y esperar en una maquina de estados y responder a los cambios
-leer y escribir informacion al mundo real a traves de las interrupciones
-comunicarse por los puertos usart/isp

en el main lo que hace generalmente es hacer comprobaciones de seguridad, y despues ejecutar cosas. no se debe hacer nada sin saber que el hardware está correcto, y hay que pensar con "bucles" y con lapsos de tiempo, teniendo en cuenta que solo hay un puntero de programa, y que este puntero se irá moviendo por el main y por las interrupciones.


lo que yo quería hacer cuando ví el codigo tan poco apañado que tenía terry era cambiar desde las bases la forma de trabajar.

terry hizo que el micro se colgara en el main hasta que un timer llegaba a 0, momento en el que entraba en el main, trabajaba, y al terminar su "ronda en el bucle" se colgaba hasta que pasara otro milisegundo (siempre es capaz de responder a interrupciones, no obstante). funcionaba porque su main siempre tardaba menos de 1ms, pero de no ser así esta aproximación deja de funcionar, y si queremos programadores que hagan cosas no podemos permitirnos esta limitación.

Mi idea era usar las interrupciones para ejecutar el código en etapas, seccionado en partes pequeñas, de manera que su procesado fuera rápido y no molestara al main, pero a la vez estuviera temporizado en ciclos de 1ms como él venía haciendo. de esta manera, aunque se hacen más interrupciones visto desde fuera, éstas son más cortas de procesar y por tanto no afectan tanto a los calculos del main. por otro lado, los programadores que vengan despues pueden introducir su código en el main tranquilamente sabiendo que aunque superen 1ms de procesado, no van a afectar a las tareas peligrosas del micro, como son los controles de seguridad o la activación de las salidas, que tienen que ir rigurosamente temporizados.

espero que te haya ayudado esto algo, si tienes dudas específicas me parecen más sencillas de resolver que esto..