Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola a todos,
Estoy realizando un controlador de posición para un cuadróptero (es mi PFC), quiero que sea Open-Hardware así que iré publicando por aquí y en el blog los avances que vaya haciendo. Se que ya existen alternativas comerciales y abiertas (el openPilot, el KK o el multiWii por ejemplo), pero mi idea es que al final sea totalmente autónomo.
Por otra parte quiero hacer el sistema lo más general posible para que pueda aplicarse a todo tipo de drones (áereos, terrestre, acuaticos, submarinos o espaciales).
He partido el proyecto en varios trozos:
- Piloto --> controlador de posición (mi PFC) evita que el cuadróptero se vaya al traste, controlará los sensores y enviará las señales a los drivers para controlar la estabilidad del conjunto.
- Navegador --> Es el que toma las decisiones para que sea autónomo. Por falta de tiempo no voy a realizarlo dentro del PFC, pero iré avanzando en él cuando tenga la parte del piloto hecha.
- Maquinista --> Mi idea es desarrollar unos drivers para motores brushless (los famosos ESC) que se controlen por bus SPI que den una mayor velocidad de respuesta al sistema (los 20ms del PWM me parecen mucho en una situación crítica).
- Controlador --> Servicio de telemetría en tierra para la recepción de la telemetría y el control (indicaciones) del equipo.
Las sugerencias serán bienvenidas.
S2
Ranganok Schahzaman
Hola,
La he estado buscando y he visto en la página de ST el datasheet:
Se llama STM32F3Discovery.
Muy interesante.
Y aqui algunos sitios donde la venden, parece....
Saludos,
Sphinx.
Una ojeada a los precios también pone los dientes largos...
La semana pasada Mouser no tenía ni una en Stock. Y sería raro que en poco tiempo no llegase también a Farnell y RS, aunque casi siempre el primero en recibir y despachar material suele ser DigiKey.
Sumamente interesante. De hecho, en el trabajo estamos prototipando ahora con el STM32F407, cuando los STM32F3 nos vendrían igual de bien (para qué queremos un Ethernet que no vamos a usar?), si bien los 72MHz suponen 'una traba' frente a los 166MHz de los STM32F407. 😈
Lástima que de momento no he podido jugar mucho con estos bichos (algo de SPI y USART, hace meses), ya que estoy haciendo de ideólogo, diseñando 6 pcb's en dos meses, etc. Para principios del año que viene, quizás. 😕 😯
Desde hace dos años empecé con los ARMs, para un proyecto de un cliente, concretamente con un ARM9 con Ethernet, demasido grande en cuanto a todo, vamos podría ser el nucleo de un ordenador de hace unos cuantos años.
A partir de ahí hemos seguido con los ARMv7, concretamente los cortexM3 y con micros de ST. Una de las cosas que más han acabado por gustarme es la versatilidad de los puertos, prácticamente puedes configurar en cualquier pin lo que quieras (casi, hay restricciones, sobre todo para los interfaces, solo tienes algunas opciones, lógico). Esto da un grado de libertad a la hora de diseñar el hardware, con decir que más de una vez me ha librado de volver a hacer el PCB. Aunque tengo que decir que inicialmente es complejo y tedioso.
Lo del vector de interrupcciones (NVIC) es una caña, te permite crear un bootloader en la misma FLASH de programa, aunque el propio micro ya trae opciones para ello por USB, RS-232, etc, pero si conectas un MODEM GPRS esas opciones no sirven. Una de las cosas que no me gusta es que no hay EEPROM de datos y tienes que usar la FALSH, teniendo que escribir y borrar páginas para guardar datos o una externa.
Otras de las cosas que más me gustan es el CLOCK, con un oscilador externo de 8 MHz y el PLL puedes subir a 72 MHz (14 nS). Y sobre todo la de poder configurar distintos frecuencias de CLOCK según el periferico, etc, muy bueno.
Y lo que menos me gusta es el precio, para un Cortex M3, con CAN y demás perifericos está del orden de 2 a 3 € para cantidades, en Farnell seguro que vale 5 ó 7 €. Pero bueno es mucho micro para decirle que te lo dejen a 1 €.
Lo recomiendo, eso si, se necesita tiempo para dominar la arquitectura y trabajar con ellos. Si alguien tienen pensado utilizarlo en plan rápido, se lo desaconsejo, es bastante complejo.
Si alguien ha leído hasta aquí disculpas por el tocho y espero que algunas observaciones le sirvan a alguien.
Saludos.
PD: Se me olvidaba, gracias al informático que me ha acompañado en estos temas, que si no solo no se si habría podido sacarle el potencial que tienen estos micros.
Yo con Cortex llevo algún que otro año también.
Uso sobre todo la STM32H103 y 107, aunque ahora tengo pedidas varias Cortex-M4 que salieron hace días a 8€ en la puerta de casa 😀
Yo sólo tengo que decir, que no me pareció complejo, o al menos no más que los AVR. Utilizo CooCox para programarlo, el cual tiene todas las librerías y ejemplos prácticos.
Se programa como siempre. Lo único complejo que veo, es el tener bien claro cómo configurar bien los diferentes puertos, periféricos y demás... pero para eso están los ejemplos que trae el propio Coocox 😉
Bien es cierto que cada fabricante usa sus propias librerías, y aunque CooCox tiene unas librerías estándar, yo siempre uso las del fabricante para evitarme dolores de cabeza en posible "bugs". En ST lo tienes todo bastante mascado.
Entiendo que no es nivel Lego, o Arduino, pero tampoco me pareció más complejo que otros micros (opinión personal, claro).
Hola,
Este proyecto lo terminaré con pic, en parte porque tengo mucho trabajo hecho, en parte porque es de diseño electrónico. Pero las librerías, como las voy ha hacer en C serán fácilmente adaptables a cualquier otro micro.
Dos cosas: alguna idea de cómo y dónde crear un repositorio para el código?
Y por otro lado, los que ya habéis utilizado ARM, podríais hacer un tutorial desde 0 para los que no sabemos por dónde empezar?
Los esquemas los pondré en breve.
S2
Ranganok Schahzaman