OpenESC

Tenkte bare å henlede oppmerksomheten på et ganske interessant prosjekt som startet for noen få uker siden.

https://groups.google.com/forum/?fromgroups#!forum/openesc

Det er ikke akkurat overskudd av fartsregulatorer til børsteløse motorer som snakker serieinterface (I2C, CAN, SPI o.l). Dette har en fyr ved navn Jason lyst til å gjøre noe med. Første prototype er rett rundt hjørnet. Bare å hive seg på hvis man er interessert i å bidra.

Materiale til former

Corian (materiale brukt i kjøkkenbenkeplater) er svært populært å frese ut former fra. Sannsynligvis fordi det er svært stabilt, og rimelig lett å frese. Det er også visstnok ganske enkelt å få bra finish. Han fyren som støper DLG-er som Bernt nevnte i forrige innlegg bruker nettopp det.

Men ….

Jeg sjekket priser.

  • Det ser ut som 12mm Corian plater på 0.7m bredde ligger på ca 5000.- pr meter.
  • Til sammenlikning koster 50mm tykk Prolab65, som jo er laget for bl.a. dette formålet, ca 1900.- 1800.- for samme areal. 25mm 30mm tykk koster akkurat halvparten nesten like mye.
  • Samme areal med 15mm aluminium koster omtrent 3200.-

Ser ut som om Corian er ganske uaktuelt.

Bygge sin egen DLG

Denne posten er en kort introduksjon til konseptet DLG og med endel nyttige linker til viktig basisinformasjon.

Mark Drelas SuperGee II

DLG – Discus Launched Glider. Usikker på historien, men dette er en egen klasse innen modellfly konkurranser. Flyet kan ha et vingespenn på opp til 150cm, og det kastes i luften ved at man tar tak i vingetippen og slenger flyet rundt nærmest som om man skulle kaste en diskos.
Dette er en meget effektiv måte å tilføre flyet energi iform av høy hastighet. Som igjen kan byttes mot høyde for å kunne fly og finne termik eller bare leke bort energien.

All DLG bygging gjennomgikk en revulosjon når en herre ved navn Mark Drela begynte å legge ut sine design og poste om bygging av DLG på RC-groups.com. Han er professor i aerodynamikk på MIT og meget ivrig modellflyger og modellflybygger. Det kom en egen tråd om SuperGee bygging. Og her er det samlet en nærmest uendelig mengde nyttig informasjon og kunnskap (innimellom alt annet),
Han konstruerte altså et fly som han kalte Super-Gee. Så kom Super-Gee 2, og alt som er bygget etterpå er mer eller mindre kopi av dette designet. «Alle» benytter hans vingeprofiler som er optimalisert for formålet.

Super-Gee 2 er et meget vanskelig fly å bygge. I de senere årene har folk gjort store forenklinger på selve byggeprosessen. Noe som gjør det overkommelig å lage slike fly selv.

Vi (Bernt og Thomas) holder på å bygge noen fly nå. Vi bygger de ved å lage kropps-podden i en støpeform basert på en plugg Thomas laget for endel år siden.
Halene er kjøpt ferdige. Høyde og sideror tenker vi å bygge i form (her er det mye diskusjon om hvordan akkurat nå). Og vingene kommer vil til å bygge med skumkjerne og vakumstøping med glassfiber/kvelar som overflate og karbonstenger som forsterkning (vingebjelke).

Pr. idag har vi klart å støpe fantastisk fine kropps-podder i formene Thomas har laget. Men vi er ikke helt fornøyd med formen på delene. Dvs. De er perfekte estetisk, men vanskelig å utnytte videre. Dette kommer det sikkert en post om når vi har en løsning.

Det er flere måter å lage kropper på. Han karen her bygger hele kroppen i en form. Noe å tenke på for evt senere versjoner eller om man skal bygge større fly.

Han samme karen bygger nydelige høyde og sideror i former: Vi kommer nok til å gjøre det relativt likt.

 

 

Flyttet bloggen

Jeg flyttet nettopp bloggen min fra lentic.net.

Hvorfor?

–  Jeg har lenge hatt lyst til å hanke inn dette domenet (www.oppfinneriet.no)

–  Det er flere som ønsker å bidra litt

–  Rendyrke teknisk hobby og prosjekter.

Ambisjonene er akkurat passe. Denne siden skal ikke generere noe trafikk å snakke om (med mindre det bare skjer av seg selv). Det er utelukkende for å samle på erfaringer og gode ideer oss deltakere i mellom.

 

Kapasitiv lineær enkoder

Jeg har lenge drodlet litt om å lage custom servoer. Ikke fordi jeg tror jeg kan slå kjøpeservoer på ytelse, det er mer for å kunne lage noe som passer perfekt til sitt bruk. Det gjelder spesielt små servoer med litt spesiell formfaktor.

Det største problemet med dette er å lage gode enkodere som indikerer posisjonen til servoen. En essensiell del av at servosystem. På gamle kjøpeservoer ble dette ordnet med et pot-meter. Ganske enkelt, men ikke veldig fleksibelt. Hva som gjøres i moderne servoer vet jeg ikke, men det er mange muligheter. Problemet er å finne en løsning som både er bra, billig og mulig å mekke selv.

Litt inspirert av min venn Bernt sitt hovedprosjekt gikk tankene i retning av variabel kapasitans. Bernt brukte en spesiell ADC krets for å måle kapasitans, samt at giveren var roterende. Jeg ønsker å unngå en ekstra komponent samt bruke en lineær giver.

Løsningen min, som jeg tenker å teste ut ganske snart, er å lage giveren av et messingrør med innerdiameter på 2 eller 3mm. Inni dette røret støper jeg plast, som jeg borer ut et 1mm hull gjennom. I dette hullet kan man dra en 1mm messingstang. Kapasitansen øker jo lenger inn messingstangen føres.

For å måle denne kapasitansen tenker jeg å bruke en mikrokontroller med innebygget analog komparator. Mikrokontrolleren trengs uansett for å kjøre reguleringssløyfe, samt kommunikasjon. Komparatoren settes opp som en oscillator der frekvensen varierer med C. Hvis man skulle måle absoluttverdier, så måtte en god del nøkkelkomponenter være av høy presisjon, men i dette tilfellet er det kun relativ nøyaktighet, eller presisjon, vi er ute etter. Da blir presisjonen bestemt av jitter på MCU klokka og jitter på den nevnte oscillatoren. Oppløsningen bestemmes av hvor lenge man teller for å bestemme frekvensen.

Hvis dette ikke gir helt mening, så ta en titt på skissen under (klikk for større versjon).

 

Så tester vi litt.

Aller først er det greit å teste at systemet fungerer fra kommandolinjen. Last ned mitt lille Blink-LED-program, så har du noe som skal virke (på STM32F4Discovery vel og merke).

  1. Last ned ch.elf
  2. Plugg inn STM32F4Discovery kortet med USB mini kontakten (Den største). Dette er USB kontakten til ST-Link delen på kortet.
  3. Start to terminalvinduer.
  4. I den ene terminalen:
    > st-util
  5. Det skal da dukke opp noe slikt som:2012-06-19T23:23:25 INFO src/stlink-usb.c: — exit_dfu_mode
    2012-06-19T23:23:25 INFO src/stlink-common.c: Loading device parameters….
    2012-06-19T23:23:25 INFO src/stlink-common.c: Device connected is: F4 device, id 0x10016413
    2012-06-19T23:23:25 INFO src/stlink-common.c: SRAM size: 0x30000 bytes (192 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 16384 bytes
    Chip ID is 00000413, Core ID is  2ba01477.
    KARL – should read back as 0x03, not 60 02 00 00
    init watchpoints
    Listening at *:4242…
  6. I det andre terminalvinduet
    > arm-none-eabi-gdb
    Prompten vil da endre seg til (gdb)
  7. Koble debuggeren til gdb-serveren (st-util)
    (gdb)  target extended-remote *:4242
    Remote debugging using :4242
    0x08000340 in ?? ()
  8. Reset debuggeren
    (gdb) monitor reset_halt
  9. Last inn EFL fila
    (gdb) load ch.elf
    Loading section startup, size 0x188 lma 0x8000000
    Loading section .text, size 0x11d8 lma 0x8000190
    Start address 0x8000190, load size 4960
    Transfer rate: 4 KB/sec, 2480 bytes/write.
  10. Start programmet
    (gdb) run
    Svar ja på spørsmål.
  11. Nå skal den oransje, grønne og blå lysdioden blinke.

STM32 utvikling på Mac (og forsåvidt Linux)

Da prøver jeg meg på å beskrive oppsettet mitt for å skrive kode og debugge STM32F4 vha en Mac. Det kan hende jeg har glemt noe, eller at jeg allerede hadde installert noen av avhengighetene, men da er det fint om dere sier i fra, så kan jeg rette opp.

Denne beskrivelsen vil også fungere på Linux, med den lille forskjellen at systemet for å installere pakker heter noe annet. Alle stedene jeg bruker kommandoen «port», så må den byttes ut med passende kommando på ditt system (f.eks. «apt-get»). Og bare så det er nevnt, hvis du ikke klarer å bruke terminal har du tapt allerede før start, så fyr det opp med en gang. Det er forresten også greit å sjekke om pakkene allerede er installert før man kjører en «port install … »

  1. ** Kun Mac ** Det aller første som må gjøres installere XCode fra apple. Gå inn i App store og søk. Det tar laaang tid.
  2. ** Kun Mac ** Det neste er å legge inn Macports. Uten den blir dette en uvirkelig slitsom jobb.
  3. Installer GIT
    >  sudo port install git-core
  4. Installer autoconf
    >  sudo port install autoconf
  5. Installer libusb 1.0
    >  sudo port install libusb
    >  sudo port install libusb-devel
  6. Hent programvaren som snakker med ST-Link debuggeren
    >  git clone https://github.com/texane/stlink stlink.git
  7. Kompiler denne programvaren
    >  cd stlink.git
    >  ./autogen.sh
    >  ./configure
    >  make
    >  sudo make install
  8. Sjekk om applikasjonene «st-flash» og «st-util» finnes på systemet ditt.
  9. ** kun Linux **  Sett opp udev rules. Dette gør at du slipper å kjøre st-util som admin
    >  cp 49-stlinkv*.rules /etc/udev/rules.d/
    >  sudo udevadm control –reload-rules
  10. Last ned GNU ARM toolchain fra Yagarto (Mac og Win), eller Codesourcery Lite (Linux, velg bin fil).
  11. ** Kun Mac **  Installer Yagarto. Dette er i praksis å plassere den nedlastede filen der du ønsker å installere, og så dobbelklikke på den. Den pakker bare ut alle filene. Jeg har valgt å legge den på
    /Developer/yagarto
  12. ** Kun Linux ** Installer Codesourcery fra bin fil. Last ned «getting-started.pdf» og følg instruksjonene.
  13. Sett opp PATH variablen ved å editere et passende oppstart-script. På min Mac har jeg valgt å legge det til i .profile, så åpne denne med en vanlig teksteditor (f.eks emacs) og legg til
    export PATH=/Developer/yagarto/yagarto-4.6.2/bin:$PATH
    export PATH=/Developer/yagarto/yagarto-4.6.2/tools:$PATH
  14. Åpne en ny terminal og sjekk om du kan starte en haug med programmer som starter med «arm-none-eabi-«, f.eks «arm-none-eabi-gcc»
  15. Last ned Eclipse, eller mer presist, den som heter «Eclipse IDE for C/C++ Developers (includes Incubating components)»
  16. Legg Eclipse på et passende sted, f.eks i Application katalogen (kopier hele katalogen du lastet ned inn dit)
  17. Start Eclipse og gå inn på menyen «Help->Install new software …»  (Dette må du gjenta noen ganger da Eclipse insisterer på omstart hver gang du installerer noe)
  18. Installer GNU ARM Eclipse-plugin.
    Trykk på «Add» knappen og skriv inn
    Name:  GNU ARM Eclipse-plugin
    Location:  http://gnuarmeclipse.sourceforge.net/updates
    Velg så «CDT GNU Cross Development Tools» og trykk Next go Finish
  19. Installer Zylin debugger (Eclipse:  Help->Install new software …) ved å fylle inn dette
    Work with:  http://opensource.zylin.com/zylincdt
    Velg «Zylin Embedded CDT» og gå runden med Next, Finish og omstart av Eclipse.

Se så, da tror jeg faktisk alt  som skal installeres er inne. For Windows er installasjonen litt annerledes. Jeg skal ta den i en egen post senere.

Det neste på programmet er å teste at hele oppsettet virker, samt sette opp Eclipse slik at man kan debugge programmer.