Etikett: autonom

Hobbyhelg

Hobbyprojekten går vidare och nu i helgen har jag jobbat med två stycken, dels ’folkrace-buggyn’ och dels ett nytt som nog är lite hemligt…

Buggyn har fått en liten plattform för montering av sensorer, styrsystem och annat. Snart kan jag provköra den men det saknas fortfarande lite kontaktdon, en huvudströmbrytare och programvara men det ska jag jobba vidare med strax…

20161016_125142

Plattform för sensorerna och styrsystem mm. Kardborreband som är självhäftande är bra grejer 🙂

Vadderade kuvert österifrån

Idag låg det ett gäng vadderade kuvert i brevlådan. 🙂

En del av innehållet syns på bilden och det ska användas i diverse olika projekt. IR-sensorerna och några av kontakterna ska användas i ’buggyn’. IC-kretsarna är kretsar som används för styrning av DC-motorer så eventuellt använder jag en sån till ’buggyn’ också då den jag har nu är onödigt ’fläskig’.

20161012_180236

Kontaktdon, temperatursensorer, IR-sensorer och styrkretsar

Ett styrsystem

Nu har den autonoma buggyn fått en första prototyp på ett styrsystem. Åtminstone hårdvaran. Hjärnan är en Arduino Nano och på kortet sitter en voltmeter som visar batterispänningen och kontakter för IR-sensorer, motorstyrning, startsignal, servot och en I2C-buss. Jag lödde ihop det nyss och det verkar funka. Ingen rök när man ansluter spänningen 🙂

20160930_200925

Styrsystemet. Kontakten för I2C-bussen har plats för två givare och där sitter nu en kompass och en accelerometer/gyro.

Autonom buggy

20160922_192907

Chassit

Detta projekt ska bli ett autonomt fordon med ett chassi från en radiostyrd bil som bas. Chassit är 4-hjulsdrivet och har en 6V motor som drivning. Styrsystemet är en Arduino Nano och den kommer att ha några IR-sensorer för avståndsmätning, en accelerometer och kompass för att märka om den slår runt och sedan kanske någon mer sensor. Strömförsörjningen blir från början 4 vanliga AA-batterier eller mitt nätaggregat.

 

Steg 1, test av motorstyrningen

20160924_142809

Kopplingsdäcket med Arduinon och ansluten H-brygga och motor. Motorn matas nu från mitt nätaggregat.

Jag tog loss motormodulen i chassit och körde motorn via en H-brygga och styrning från Arduino Nano.  Det fungerade direkt.

int IN1=8;
int IN2=9;
int ENA=3;

void setup()
 {
 pinMode(IN1,OUTPUT);
 pinMode(IN2,OUTPUT);
 }
 void loop()
 {
 analogWrite(ENA, 200);// motor speed
 digitalWrite(IN1,LOW);// rotate forward
 digitalWrite(IN2,HIGH);
 delay(2000);
 digitalWrite(IN1,HIGH);// rotate reverse
 digitalWrite(IN2,LOW);
 delay(2000);
 }

 

Steg 2, test av mini-servot

Jag lät även Arduino Nano provköra kod för att styra servot. Även detta funkade felfritt med den exemplekod jag hittade.

#include <Servo.h>

int IN1=8;
int IN2=9;
int ENA=3;
int SERVO = 7;
int START=4; //start race via the remote
int KILL=5; //cut power to the motor
// analog inputs from ir-sensors
// analog input from US sensor
// i2c bus, accelerometer and compass

Servo myservo; // create servo object to control the servo
int pos = 0; // variable to store the servo position

void setup()
{
 pinMode(IN1,OUTPUT);
 pinMode(IN2,OUTPUT); 
 myservo.attach(SERVO);
}

void loop()
{ 
 setSpeed(255);
 forward();
 for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
 // in steps of 1 degree
 myservo.write(pos); // tell servo to go to position in variable 'pos'
 delay(15); // waits 15ms for the servo to reach the position
 }
 setSpeed(150);
 reverse();
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
 myservo.write(pos); // tell servo to go to position in variable 'pos'
 delay(15); // waits 15ms for the servo to reach the position
 }
}

void setSpeed(int speed)
{
 analogWrite(ENA, speed); // motor speed 
}

void forward()
{
 digitalWrite(IN1,LOW);// rotate forward
 digitalWrite(IN2,HIGH);
}

void reverse()
{
 digitalWrite(IN1,HIGH);// rotate reverse
 digitalWrite(IN2,LOW);
}

void setServo(int POS){
 myservo.write(POS); 
 }

Nästa steg blir att sätta ihop chassit igen med riktiga kullager och en vanlig bakaxel. Parallellt funderar jag på hur ett kretskort ska se ut för att koppla ihop de olika delarna. Jag vill kunna ansluta varje del för sig så att det är lätt att byta ut om det behövs. Någon form av ’moderkort’ med stift för resp. komponent kanske…

Jag ska även skapa ett nytt github projekt så fort jag får ihop lite ’riktig’ kod.

Steg 3, nya kullager

 

20160927_194245

Pyttesmå hjullager…

Nu har chassit fått riktiga kullager till alla hjul. Det var pilligt att få dit dom men det gick till slut.

Jag har även riktiga kullager till diffarna och drivaxeln men dom har jag inte bytt ännu.

Tyvärr fattas det lite delar för att jag ska kunna sätta ihop chassit helt men det får jag fixa på nåt sätt.

 

20160927_194220

Bakaxeln utan övre reaktionsstag. Dom jag hade var lite för korta.

Steg 4, Chassit komplett

Nu är chassit komplett med alla hjul och hel ’drivlina’. Även framaxeln och styrningen är ihopsatt men servo-länkaget saknas fortfarande. Nu kan jag börja göra lite prototypdetaljer, tex kretskort i väntan på att ir-sensorer ska dyka upp i brevlådan.

20160928_194351

Chassit med arduino nano (ovanpå) och en motorstyrningskrets.

Steg 5, styrsystemet

Bilden visar första prototypen på styrsystemet.

20160930_200925

Styrsystemet med kontakter för Servo, motorstyrning, IR-sensorer, startsignal och en I2C-buss. Kontakten för I2C-bussen har plats för två givare och där sitter nu en kompass och en accelerometer/gyro.

Steg 6, Plattformen

Nu finns en första prototyp på ’plattformen’ dvs det som ska hålla allt på plats. Jag valde att göra den av en bit hyllplan som jag hade liggande. Den är i ek så det är stadigt, hårt och bra men kanske lite för tungt. För montering av sensorer och kretskort använder jag kardborreband som är självhäftande. Det är nästan lika underskattat som smältlim…

20161016_125126

Plattformen med monterade sensorer.

Nu kan jag sätta ihop alltihopa men kan inte ansluta strömförsörjningen ännu pga att jag saknar några kontakter och en strömbrytare. Såå fort jag får ordning på det så ska jag göra ett litet testprogram som kör fram och tillbaka bara för att se hur fort den går.

En annan sak som saknas är servolänkaget. Servot inklusive styrningen fungerar men inte den lilla biten emellan.

20161016_124822

Nu börjar det likna något. Nästa steg är en provkörning.

Steg 7, Ett första test

Upp-pallad på en ask med batterier så kör den mha av Arduino-koden som nu finns på GitHub. Den saknar fortfarande ett servo-länkage men det ska jag försöka fixa snarast så att jag sedan kan börja prova på riktigt.

Steg 8, Hårdvaran fungerar

Nytt test. Denna gång med fungerande servolänkage och kod som nu också vrider på framhjulen. Allt sensordata läses in och skickas till seriekanalen så nu kan jag se vad som händer och snart fortsätta implementeringen av själva ’föraren’.

Sensordatat på seriekanalen

Sensordatat på seriekanalen

Nytt projekt!

Jag har börjat på ytterligare ett hobbyprojekt. Behöver jag fler kan man undra men det finns mycket som är roligt att hålla på med…

Det handlar om att bygga en ’autonom’ liten bil och jag köpte ett chassi av en arbetskompis som kommer från en radiostyrd bil i skala 1:24. Detta ska sedan byggas på med en arduino nano, lite sensorer och diverse andra prylar för att kunna köra själv. Som tur är finns det en marknad för reservdelar även till dessa småbilar så det går att komplettera med det jag behöver.

20160922_192907

Chassit helt avplockat. Detta chassi är 4WD och även styrning på bakaxeln men det plockar jag nog bort. Lite nya kullager och kugghjul behövs nog också innan det blir riktig fart på den.