Hopla, for en overskrift.
Jeg har endelig fått hoppet på et prosjekt med UAV. Har ruget på noe slikt i 4-5 år allerede uten at det har konkretisert seg så veldig, men her for litt siden ble jeg dradd med i et lite hexakoptermiljø av noen kollegaer. Disse hadde kjøpt sett fra DiyDrones, og de virket forsåvidt helt ok, men det var ikke vanskelig å se rom for forbedringer.
Et sted skal man jo starte, og det viste seg at autopiloten var basert på en Arduino løsning. Det vil i praksis si en usedvanlig shaity 8-bits AVR kontroller fra Atmel. Alle involverte var skjønt enig i at her burde det lages noe bedre. Vel, man det finnes jo forsåvidt noen bedre løsninger rundtom, men de er ofte dyre.
Siden jeg uansett var i gang med et mikrokontrollerprosjekt på jobb, så fristet det litt å lage noe vettugt her også. Etter ganske mye leting etter den rette chippen, så kom jeg over et aldri så lite kupp.
STM32F407/17
Dette er et råskinn av en ARM Cortex-M4 kontroller som kan gå opp til 168MHz. Det er 1MB flash og 192kB RAM. Rikelig mer periferienheter, og sist men ikke minst, en FPU. Det er gull når man skal lage et system som hovedsakelig skal drive med signalbehandling og regulering. Prisen var snill, og den kom i pakker med 64, 100, 144 og 176 pinner.
Men så kommer det som var det egentlige kuppet. ST har laget et evalueringskort som heter STM32F4Discovery. Dette er et lekkert lite kort med STM32F407 kontroller. I tillegg finnes det en ST-Link SWD programmerer/debugger på kortet, en USB kontakt (eller 2 med den til debuggeren), et 3 akse akselerometer, noen lysdioder + litt til. Alle IO pinnene var ført ut på vanlige pinnelister, og kortet er ca 6x12cm stort. Det er med andre ord perfekt for hobbyprosjekter og produkter der man ikke trenger/ønsker å lage noe selv. Det beste av alt, prisen …. jeg betalte 129kr + MVA på Farnell. De er litt billigere på mouser.com, men der er frakt litt dyrere.
Jeg har nok tenkt å lage en PCB selv til autopiloten, men dette kortet er helt klart perfekt for utvikling av SW, og testing.
Hvordan utvikler man så på dette. Vel jeg har snekret i hop løsninger på alle tre platformer, ikke for det jeg trenger å utvikle på alle, men det bare ble slik pga feilsøking. I hvertfall, man kan skrive, kompilere og debugge programmer til dette kortet på både Win, Mac og Ubuntu ved hjelp av Eclipse, arm-none-eabi- og et par andre småprogrammer.
Siden flere av mine medsammensvorne også har lyst til å prøve på denne kontrolleren, så skal jeg skrive en utførlig beskrivelse av hvordan man går fram. Kommer nok opp ganske snart (tror jeg).
PS.
Det finnes flere Discovery kort fra ST, men ikke alle er helt like. Sørg for å kjøpe et med ST-LinkV2. Det vil i praksis si STM32F4Discovery eller STM32F0Discovery.