Obligatorisk oppgave nr. 4
Denne oppgaven best?r av 4 valgfrie deloppgaver. Man velger en av oppgavene
Hva som skal leveres
Fysisk demonstrasjon for din gruppel?rer av f?lgende:
- Arduino som styrer en servo (Arduino student kit) slik at en lysf?lsom transistor (Arduino student kit) f?lger bevegelsen til sola eller en annen lyskilde (Demo mot bevegelig lyskilde p? gruppe?velsen evt. video)
eller
- Kode i Python p? PC som styrer en 2-akse Dynamixel-basert robotarm. Begge aksene skal rotere samtidig. (M? gj?res og demonstreres p? gruppe?velsen)
eller
- Kode i Arduino som styrer en enkel pneumatisk hopperobot. (M? gj?res og demonstreres p? gruppe?velsen)
eller
- Bygge og kj?re en DC motor (M? gj?res og demonstreres p? gruppe?velsen)
I alle deloppgavene kan man, hvis man vil, 3D-printe deler for ? f? bedre mekaniske l?sninger. 3D printer vil v?re tilgjengelig p? gruppe?velsene og i Sonen
Regler for gjennomf?ring av obligatoriske oppgaver
Leveringsfrist
- 19/4 kl. 23.59
Sikkerhet, regler og ressurser
- V?rt labreglement / sikkerhet p? labben
- Kj?p av Arduino student kit
- Nettressurser som medf?lger Arduino student kit. Arduino Online Learning Content, (hvis man har lyst p? mye mer nyttig info og eksempler)
- Komme i gang med UIO GPT-4
- Hvordan unng? ? ?delegge Arduino
Oppgave - valg 1
Lysf?lger
Den medf?lgende fototransistoren er mest f?lsom for lys som kommer inn vinkelrett p? toppplaten. Vil man ha enda bedre retningsf?lsomhet kan man evt. lime sort tape rundt sidene slik at man f?r en trakt/skylapper. Denne effekten kan man bruke til ? lage en liten robotarm som f?lger solen eller en annen lyskilde som beveger seg. Man kan enkelt montere fototransistoren til servoen i Adruino kittet slik som vist i figurene under. Servoen roterer til vinkel gitt av gjennomsnittsverdien p? et PWM signal (analogWrite). Sort ledning er GND, r?d ledning er 5V (power) og hvit ledning er PWM.
Man kan koble den lysf?lsomme transistoren til ledninger slik som vist i figurene under. Hvis man presser med fingeren slik som vist, vil pinnene f? relativt god kontakt med ledningene.
For ? f? servoen til ? f?lge en lyskilde m? man lese av fototransistorens verdi. Man kan for eksempel la servoen s?ke ved ? ?ke vinkelen s? lenge lysstyrken ?ker, og n?r styrken minker - stopper man og g?r tilbake. P? denne m?ten oscillerer servoens vinkel rundt den vinkelen som gir st?rst lysstyrke. Det kan v?re gunstig ? inkludere noe delay i koden.
Arduinos fototransistor - datablad. Her er noe grei info. 1kOhm resistor i serie er bra. Lang pinne kobles mot Vdd.
Denne oppgaven kan evt. gj?res hjemme og demonstreres ved video
Oppgave - valg 2
Dynamixel-basert robotarm
I figuren under ser vi de komponentene som skal til for ? lage en 2-akse robotarm. Dynamixel-sevoene er her montert inn i en 3D printet fot. Hvis dere har lyst og tid kan dere ogs? 3D printe holdere og fiksturer, men det er ogs? greit ? bruke de ferdige brakettene som ligger p? labben til ? lage en minimalistisk robot arm.
De komponeneten som m? brukes er:
- En power regulator, kobles til 12V batterieliminator
- En USB dongle, pass p? at bryteren peker vekk fra USB porten
- 2 stk AX12 eller AX18 servoer
- 3-pins kabler som kobler sammen alle komponentene over. Vilk?rlig rekkef?lge
Servoene styres fra din egen Python kode (sp?r GPT-4) gjennom serieport. For ? f? en servo til ? rotere til en gitt vinkel med en gitt hastighet
- Send f?rst over hastigheten (1-1023) til "Moving Speed"-register i servoen, adressen til dette registeret er 32
- Send s? over den nye vinkelen (0-1023) tilsvarer 0-300 grader, til "Goal Position"-registeret i servoen, adresse er 30
I det ?yeblikket den nye vinkelen er sendt over til registeret vil servoen g? til den nye vinkelen med spesifisert hastighet.
For ? spesifisere hvilken servo dere vil snakke med, m? dere F?RST sette inn en unik ID i hver servo - typisk verdi 1-10. Dette gj?r dere ved ?
- f?rst s?rge for at KUN en servo er koblet til 3-pins bussen. F?rste gang dere bruker en servo har den ID=1, og baud rate = 1000000 som default,
- bruke programmet DYNAMIXEL Wizard 2.0 til ? sette ID til en unik verdi. Fint ? teste servoen samtidig fra programmet. Vi bruker position mode ikke wheel mode
Under ser vi DynamixelWizard. F?rst klikker man options, i vinduet som kommer opp setter man parametre for skanning slik som vist med din aktuelle serieport valgt, s? skanner man, og s? finner programmet servoen og du kan sette ID slik som indikert. Her kan man ogs? teste ? bevege servoen til en ny posisjon
Oppgave - valg 3
Bygging av pneumatisk hopperobot. (Kan bli en omfattende oppgave)
I denne oppgaven lager dere en robot med 1 eller 2 f?tter. Hver fot kan typisk ha 2 ledd som aktueres av pneumatiske sylindere. F?ttene og evt. kropp vil best? av karbonfiberr?r som dere kapper til selv med baufil i kapperigg, se figur.
Dere 3D designer og printer ut ledd og sylinder-fester selv. Disse limes fast i karbonfiberr?rene med epoxy. For inspirasjon vil det ligge endel tilsvarende roboter fra gamle IN5590 p? assembler.
Roboten trenger ikke ? balansere selv, da den kan festes til en stang som roterer slik at roboten g?r i en sirkelbevegelse, se film under
Roboten styres fra Arduino med bin?re signaler. Hver sylinder styres inn og ut med verdiene 0/1 (0V/5V). Driver (solenoidventil med transistor) er ferdig koblet opp.
Tilgjengelige r?rdiametre er 12mm, 14mm og 20mm.
Festeflens - hull avstand er 47.2mm, antall hull er 6, hull diameter er 3mm
Oppgave - valg 4
"Do it yourself" DC motor
I denne oppgaven vikler dere en spole av kobbertr?d ved hjelp av en elektrisk drill, og bygger en DC motor slik som vist i denne videoen.
Dere kan bruke ferdig 3D printede deler slik som vist i figuren under.
Her vises permanentmagnet (nedodynium) med bl? farge, spole med gul farge og aksling med r?d farge. Kommutatoren er ikke vist p? dette bildet. Dere kan tilf?re str?m ved ? manuelt holde to ledninger fra spenningskilden intil kommutatoren.
F?r dere kobler til spenning m? dere m?le motstanden i spolen med multimeteret og beregne str?mmen som vil g?. Str?mmen b?r ikke v?re st?rre en 2 -3 ampere pga. varmeutvikling og smelting av PLA plasten i spolen. Ha dette i tankene n?r dere velger antall vindinger.
Dere m? vikle deres egne spoler og montere deres eget oppsett.
NB1 : N?r dere vikler spolen, pass p? ? vikle veldig forsiktig s? ikke den 3-delte spoleholderen demonteres, da f?r dere ikke p? den tr?den dere har viklet og m? starte ? vikle ny tr?d p? nytt
NB2 : N?r dere har tredd tr?d i kommutatoren m? dere slipe vekk lakken med sandpapir. Lakken er en isolator.
NB3 : For ? f? hastighet m? dere holde ledningene veldig forsiktig intill kommutatoren slik at den ikke bremses.
(Husk at mangetene har en retning) :)