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…
Plattform för sensorerna och styrsystem mm. Kardborreband som är självhäftande är bra grejer 🙂
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’.
Kontaktdon, temperatursensorer, IR-sensorer och styrkretsar
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 🙂
Styrsystemet. Kontakten för I2C-bussen har plats för två givare och där sitter nu en kompass och en accelerometer/gyro.
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
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
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.
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.
Chassit med arduino nano (ovanpå) och en motorstyrningskrets.
Steg 5, styrsystemet
Bilden visar första prototypen på styrsystemet.
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…
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.
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’.
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.
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.
Senaste kommentarer