MICROCUTTER.SE. Mjukvara liam mc6. Mjukvara och hårdvara. Morgan

Relevanta dokument
Digitala projekt - Radiostyrd bil

Innehållsförteckning i Test o Uppdateringssatsen

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Dustino. Enklare Robotar

BILENS ELFÖRSÖRJNING. DEL 2: GENERATORN

Introduktion till Arduino

Instruktion handterminal fläktmotorstyrning, TBLZ-2-75 SILVER C

Laddningsregulator 12/24V 10A. Bruksanvisning

Optoisolerat USB Utgångskort

CanCom C721 RadioTransceiver V1.19

Systemkonstruktion Z3

Introduktion till Arduino

JUSTONE MANUAL ÅTERFÖRSÄLJARE

CanCom. DJ803 Prod.ver Specifikation Specification

2 / 3-axlig joystick med PWM-utgångar

EV3 Roboten. Sida 1 av 13

Svensk manual Version Revision 3

REV 3. Användarmanual

Bruksanvisning Fördelar med Vision II Plus

Installationsanvisning:

Laddningsregulator 25A MPPT med display

Bruksanvisning Varmkanalstyrning KT300S

HOWTO: HDD Clock. 1 Översikt. Eller: hur man gör en HDD klocka. Peter Faltpihl & Gustav Andersson. Linköpings Universitet, Norrköping

KYLIN 250 MANUAL. Tack för att du valt en Kylin 250 från Skycraft.se

Bilen som inte kan krocka

Displaykoder och indikeringar

SNABBGUIDE. Nishiki Pro SLE REGLAGE & DISPLAY / BATTERI & LADDNING MBK SNABBGUIDE 1

INSTRUCTION MANUAL SVENSKA/FINSKA

Instruktion handterminal fläktmotorstyrning, TBLZ-1-75 SILVER C

Manual Sportident Onlinekontroll via GPRS

POROMATIC. Tangentbord: En styrcentral för foder. POROMATIC är försedd med tangentbord och display. Ökar fodrets spridning (Slungmotorns hastighet)

OMRON. PLC till PLC kommunikation (CP1L-E) Ethernet. 22 april 2014 OMRON Corporation

SI-Master (TimeMaster och vanlig basenhet i samma)

Manual Regulator för EC-motorer (förkortad version)

Roboten. Sida 1 av 11

IndraDrive Open-loop. Styrning av asynkronmotor över Profibus. Version 1

Golfvagn bruksanvisning E3/R3

Meddelande Orsak Lösning

UDR-Plus Dörrlarm. axema Sida 1. Art. nr / E UDR Plus är ett kompakt dörrlarm, för att övervaka alla typer av dörrar

Temperaturregleringssystem

Galaxy Integrerad Fire RIO Med Kvitteringsenhet standard

Elrond Komponent AB Sida 2(8) NPW

MANUAL STYRENHET FÖR ROTERANDE VÄRMEVÄXLARE

Micro-PLC em4. 3G, GPRS eller Ethernet Loggar och larmar Analoga in-/utgångar Fullständig fjärråtkomst

Manual Regulator för EC-motorer (förkortad version)

.00 E00. Innehåll: Kablage allmänt. Tillägg för drift Radiostyrning Igångkörning Programmering Vinschradio Elschema Felsökning

E-Nummer katalog. Batteribackup för brand och rökluckor

Design vid utveckling av inbyggda system

UDR-Plus Dörrlarm. axema Sida 1. Art. nr / E UDR Plus är ett kompakt dörrlarm, för att övervaka alla typer av dörrar

Modulerande motorer AME 15(ES), AME 16, AME 25 och AME 35 V6-70C

MANUAL. Solpanelregulator med extern LCD-panel Art.no: Regulator typ: EPIP20-D LCD-panel typ: MT-2

Personsökare RX-300 Bruksanvisning

Börja med att ladda ner appen Blacklens till din mobil. Finns både till iphone på Apple Store och till Android på Google Play.

ARDUINO i RC sammanhang

535 Installationsmanual

Tack för att du valde denna produkt. Vänligen läs noga igenom instruktionerna för korrekt och säker användning.

µc 3011/3012 Programmerbar signalomvandlare Programmering via µ Consol Programvara MC Vision Digital datalänk

OCS-P Högupplöst Prissättningsvåg

Cecilia Ingard. Boksidan

Installationsmanual 501 GPS Tracker

22/02/16. Arduino Introduktion till Arduino. Arduino. Microcontroller - Embedded systems. Historia Organisation - Ekosystem

Systemets vanliga problem, felsökning och lösning

Manual Nya Akka-SMART

100% driftcykel Tystgående Tryck och dragkraft upp till 6000 N Lång livslängd

Handbok. Sladdlös skruvdragare SFAA0360S

DAC500 Door Access Control unit

Starta flygplan på vintern OBS: Detta är en lathund som INTE ersätter ordinarie flygplansdokumentation. Kolla i respektive flygplans POH.

Motorer för modulerande reglering AME 110 NL, AME 120 NL

ROBOT KLIPPARE ROBOTIC MOWERS

DIG IN TO Dator och nätverksteknik

Manual för hybrid regulator Till WK-450/WK-750

K3-SMS Fjärrstyrning Bruksanvisning

BRUKSANVISNING DAAB DB406 FÖR FREKVENSOMRIKTARE VFD-EL. För Styrautomatik DAAB EP104 med programversion 4.06

I/O kort för triggsignaler för LogiComm pistoldrivare

KALIBRERINGS MENY. För att komma tillbaka till Mätfunktionerna håll inne M -knappen 3s. eller vänta 1 min. 1 =MOD. 9.6 KBaud

SuperVario/PocketVario

Manual Uppdaterad UDR-plus. Axema Access Control AB Box Stockholm, Sweden

RLS RÖKLUCKESTYRNING

Instruktion EL SE

Manual för Elektrisk scooter

Micro:bit och servomotorer

FlyBot. Copyright Sagitta Pedagog AB

KVARTURET BRUKSANVISNING. Gewa AB

Swing-Gate. ECO B/S Installation av Swing Gate

Mikroprocessorstyrd Batteritestare

Design av inbyggda system

MELN/MELN WIFI (SE) Montageanvisning/Bruksanvisning

Komma igång med E-Line RIO

KOMFORTGUIDE FÖR EBERSPÄCHER PARKERINGSVÄRMARE

Longboard 500W. Instruktionsmanual

Ladda upp filer fra n PLC till PC

Handbok Milestone

Solcellsregulator. Användarmanual. 1. Egenskaper:

Anders Arvidsson ROBOTBESKRIVNING. Roboten på bilden är extrautrustad

Brand-/Brandgasspjällstyrning för två spjäll m. rökdetektor 8SC2:004, 8SC2-1:004 (endast ett spjäll)

Interfacemodul IDP-RM1 Installations- och programmeringsmanual

Användningsområde För tillfällig flödesmätning i applikationer där höga krav på noggrannhet ställs och där processen inte kan avbrytas.

INKOPPLINGSANVISNING. MicroMax180

Laddning av batterier

DIGIAIR PRO. Svensk Manual

Transkript:

MICROCUTTER.SE Mjukvara liam mc6 Mjukvara och hårdvara Morgan 2015-10-11 En komplett översikt av mjukvaran och hårdvaran till en komplett gräsklippare.

2 av 15 Innehåll 1. Allmänt... 3 2. Allmän beskrivning av driftläge:... 4 2.1. CUTTING... 4 2.2. DOCKING... 4 2.3. CHARGING... 4 2.4. LAUNCHING... 4 3. Hårdvara... 5 3.1. Hjulmotor... 5 3.2. Motorsköld för hjulmotorer... 5 3.3. Klipparmotor... 6 3.3.1. Borstad motor... 6 3.3.2. Borstlös motor... 6 3.4. Toppsköld MCTopp 1.8d (Morgan skölden)... 7 3.5. Batteri... 7 3.6. Batteriladdare... 7 3.7. Arduino Uno... 8 3.8. Tillbehör... 9 3.8.1. Klocka... 9 3.8.2. Bumper... 9 3.8.3. Tilltdetektor... 9 3.8.4. Gyro... 9 3.8.5. Display... 9 3.8.6. Logger... 9 3.8.7. PC-mjukvara... 9 3.8.8. App... 9 3.9. BOM -komponent lista... 9 4. Mjukvaran...10 4.1. Setup...10 4.1.1. Serieporten...10 4.1.2. Uppstart...10 4.1.3. Setup state...10 4.2. MainLoop...11 4.3. Interrupt...11 4.4. EEPROM minnesplatser...11 5. Styrfunktioner...12 5.1. switch (state)...12 5.1.1. State = Moving...12 6. Ordlista...14 7. Versionshistorik...15

3 av 15 1. Allmänt Detta dokument är tänkt att underlätta förståelsen av mjukvaran samt beskriva hur allt hänger ihop mellan olika delar i hårdvaran. Dokumentet skall vara skrivet på ett sådan sätt att även en person utan djupa kunskaper inom elektronik eller mjukvara.

4 av 15 2. Allmän beskrivning av driftläge: Klipparen kan anta följande driftlägen: cutting, docking, Charging, launching 2.1. CUTTING Driftläge "Cutting" är det vanligaste läget där klipparen befinner sig under hela klipptiden. Under läge cuttning är hjul och klippmotor alltid aktiva. 2.2. DOCKING Detta läget används när batteriet börjar ta slut och klipparen skall leta upp och följa slingan tillbaka till laddstationen. 2.3. CHARGING Här är hjul och klipparmotor alltid avstängda, laddning pågår tills batteriet är fullt. Med tillbehör kan även klockan hålla kvar klipparen i laddläget. 2.4. LAUNCHING Detta är ett kort läge som används för ta sig ur laddstationen och vända i rätt riktning innan klipparen återgår till normal drift "cutting".

5 av 15 3. Hårdvara 3.1. Hjulmotor Sikta på 50rpm och 12V motor på ca 200-500mA vi normal last och max 2Amp vid stall av motorn. 3.2. Motorsköld för hjulmotorer För att driva motorerna skall Arduinos motorsheild R3 användas, det finns många kina kopior som kan fungerar men nedan gäller orginalskölden från Arduino. Sköldens begränsningar Benämning Värde Kommentar Operating Voltage 5V to 12V (46V) Motor controller L298P Drives 2 DC motors Max current 2A per channel 4A max Current sensing 1.65V/A 3,3V = 2Amp EL inkopplingar Benämning Anslutning Direction Övrigt Direction A D12 Utgång Vilket håll ska hjulet gå Direction B D13 Utgång Vilket håll ska hjulet gå PWM A D3 Utgång Hastighet på hjulen PWM B D11 Utgång Hastighet på hjulen Brake D9 Utgång Används ej Brake D8 Utgång Används ej Current Sensing A A0 Ingång 1.65V/A Current Sensing B A1 Ingång 1.65V/A

6 av 15 3.3. Klipparmotor Det går att använda två alternativ av motor, borstad eller oborstad. 3.3.1. Borstad motor Borstad motor är benämningen för vanlig DC motor som styrs genom att med PWM sänka spänningen som kommer till motorn. Hastigheten blir teoretiskt från 0-100% men ett för lågt värde kommer resultera i att motorn inte rotera alls så det finns en lämplig minsignal på 30-40%. Kolen i motorn slits betydande vid låga nivåer då strömmen stängs av/på med full kraft. En högre signal motsvarar ett högre varvtal. DC-motor typ1 Motor Värde Kommentar Matning 12V Spänningen blir något högre vid fullt batteri Min RPM 1500rpm Motsvarar 30% signal Max RPM 3500rpm Motsvarar 100% signal 3.3.2. Borstlös motor Borslös motor är en mer modern typ av motor som är betydligt energieffektiv. Den motor som mjukvaran stödjer är en Nidec 22H677 12v motor. Motorn har en inbyggd driver vilket minskar störningar betydligt jämfört med externa alternativ. Om man driver motorn genom toppskölden kommer hastigheten att blir inverterad dvs. ju högre signal (PWM) ju lägre hastighet snurrar motorn med. Driver man direkt på PWM ut på plint kommer det dock vara omvänt. (se elschema) DC-motor typ1 Motor Värde Kommentar Matning 12V Spänningen blir något högre vid fullt batteri Min RPM 1500rpm Motsvarar 80% signal Max RPM 3500rpm Motsvarar 0% signal

7 av 15 3.4. Toppsköld MCTopp 1.8d (Morgan skölden) Gällande version av kortet är 1.8d men alla äldre versioner stöds av mjukvaran med vissa begräsningar. 3.5. Batteri Toppkortet är designat för 12V blybatteri, men det går att smyga in andra lösningar utan större problem. Högre spänning ger lägre ström vilket är fördelaktigt. Typ Fördelar Nackdelar Bly Enkelt, billigt, pålitligt Tungt, spänning låg på slutet NiMH Relativt billigt Tungt, Lipo Låg vikt vs prestanda, bra pänningskurva Brandfarligt, lätt att döda, dyrt Lion Lågvikt vs prestanda, tåligare än Lipo Dyrt 3.6. Batteriladdare Klipparen i sig har ingen laddning utan den sitter i basstationen. Valet måste anpassas efter vilken typ av batteri man väljer.

8 av 15 3.7. Arduino Uno För att styra klipparen behövs en styrning i form av CPU, denna mjukvara bygger på Arduino Uno men kan med modifikation även stödja andra som Leonardo, Mega osv...

9 av 15 3.8. Tillbehör 3.8.1. Klocka 3.8.2. Bumper 3.8.3. Tilltdetektor 3.8.4. Gyro 3.8.5. Display 3.8.6. Logger 3.8.7. PC-mjukvara 3.8.8. App 3.9. BOM -komponent lista

10 av 15 4. Mjukvaran 4.1. Setup Anropas endast när gräsklipparen startarom eller tex. efter ett spänningsbortfall. Används för att initiera variabler, definition av in/utgångar, inläsning av bibliotek, etc. Setup funktionen körs bara en gång, efter varje "PowerUp" eller reset/omstart av Arduino processorn. 4.1.1. Serieporten Används för att skicka data mellan dator/telfon/ipad och klipparen. Benämning Inställning Övrigt Baudrate* 115200 Passa till även till blåtand (HC05) Data bits 8 The number of data bits in each character Parity None detecting errors in transmission Stop bits 1 sent at the end of every character * följande går att sätta 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, och 115200. 4.1.2. Uppstart Läs in inställningar från eeprom Reset av SOC medelvärdet (SOC = state of charge dvs batterispänning) Reset av kompassen om den finns Sätt klockan om den finns 4.1.3. Setup state Eftersom klipparen har varit spänningslös eller startatom vet vi inte vad vi gjorde innan omstarten. Därför måste vi söka av tillståndet och fortsätta med var vi gjorde innan. Kolla av om vi står i laddstationen, i så fall skall vi stå kvar tills batteriet är fullt. Kolla om vi är ute å kör, i så fall starta klipparmotorn och kör vidare.

11 av 15 4.2. MainLoop Här körs alla funktioner om och om igen tills batteriet tar slut. 4.3. Interrupt attachinterrupt(0, updatebwf, RISING); 4.4. EEPROM minnesplatser Adress Benämning Värde Övrigt 0x00 Signal för inne 85 Måste stämma med sändaren 0X01 Signal för ute 8 Måste stämma med sändaren 0x02 Hjulmax fart 100 Går att sätta mellan 0-100 0x03 Hjullåg fart 20 Går att sätta mellan 0-100 0x04 Hjul triggerlevel 300 Går att sätta mellan 0-1024 0x05 0x06 0x07 0x08 0x09 0x0A 0X0B

12 av 15 5. Styrfunktioner Allt som ligger före switch (state) sker utananför huvudloopen och antas därför snabbare. här ligger skyddsfunktioner som bumper och lyft skydden. Även delar av display interface ligger här. 5.1. switch (state) Klipparen loppar genom alla state och ser var i koden vi är, detta sker löpande utan någon timning. 5.1.1. State = Moving 5.1.1.1. BWF Sensor Först kontrolleras om sensor 0 är inne eller ute. Sensor.select(0); if (mower_is_outside) Mower.stop(); Ovan menar att är vi ute så stannar klipparen och tar nya beslut skulle klipparen vara utanför slingan med sensor 0 svänger vänster i 30sek, om inte vi träffar något nytt i sådana fall backar vi fullt i 1sek för att komma bort från slingan. Efter det görs ett nytt försök likt ovan. if (int err = Mower.turnToReleaseLeft(30) > 0) Mower.runBackward(FULLSPEED); delay(1000); Mower.stop(); Efter ovan är över kontrolleras sensor 1 med samma procedur fast vi svänger höger om vi träffar slingan. När klipparen åter är fri kör den framåt med fullfart enligt definierad maxfart. 5.1.1.2. Cutter overload Klipparen läser av lasten på klipparmotorn och om den överstiger max nivån som är definierad justeras hastigheten på hjulmotorerna. Mower.compensateSpeedToCutterLoad(); Denna funktion saknar funktion i dagens mjukvara.

13 av 15 5.1.1.3. Compass direction

14 av 15 6. Ordlista Ord / förkortning state Förklaring Tillstånd som klipparen kan anta tex. moving, charging, osv. Arduino BOM BWF Motorsköld Open Source PWM Toppsköld Mikrokrontroller, CPU Bill Of Materials, en lista över material som behövs (Buried Wire Fence) eller begränsningsslinga Drivenhet för hjulmotorerna kod som är öppen för vem som helst att använda Pulsbreddsmodulering, för att styra effekten på något. används för att för känna av begränsningsslingan, styra klipparmotorn, hålla koll på om klipparen är i laddaren, mäta batteri spänning, osv...

15 av 15 7. Versionshistorik Version Datum Ansvarig Ändring 1.0 2015-10- MMg Första upplägget 04