Mähroboter – Induktionsschleife

In den Mähroboter aus dem 3D-Drucker möchte ich versuchen die Induktionschleifenerkennung des ArduMowers nachbauen und in den 3D-Mähroboter einzubauen.

Zur Seite bei Ardumower geht es hier

Weitere Informationen gibt es bei
Begrenzungsschleife – Induktionsschleife

Hierzu habe ich bei marotronics.de folgende Teile bestellt:

2 x Schleifenempfänger Kit
1 x LM386 Audio Verstärkermodul
LM386 Audio-Verstärker-Modul mit 200-fach Verstärkung
Schaltplan Verstärkermodul
Datenblatt LM386
1 x Empfänger Spule
150mH

 

 

 

1 x Perimeter Sender Board mit Platinen Zubehör
Perimeter Sender Board (Prototyp) mit Platinen Zubehör

 

 

 

 

1 x Arduino Nano
Arduino IDE-kompatibeles Board
100%  kompatibel mit Arduino Nano V3.0 ATmega328P-AU
Microcontroller ATmega328P-AU
ATmega328 Microcontroller

 

 

1 x Motortreiber
Der Pololu Dual MC33926 Motor Treiber ist für Spannungen von 5 … 28V geeignet und für eine Dauerbelastung von 3A (Spitzenbelastung 5A) ausgelegt. Zwei Kanäle können unabhängig von einander angesteuert werden.

Weitere Merkmale:
Überstromschutz
Stromsensoren
für den Arduino Einsatz geeignet

 

1 x INA169 Analog DC Current Sensor Breakout – 60V 2,5A / 5A 
Der Ina 169 Stromsensor ist ein Modul womit man Ströme in ein Bereich bis 5A messen kann. Zusätzlich zu anderen Strommodulen lässt sich der Messbereich durch schließen einer Lötbrücke auf 2,5 A anpassen. Auch andere Messbereiche sind möglich da die Option besteht einen eigenen Widerstand anstelle der 2 SMD Widerstände einzulöten. Das Modul kann mit Spannungen bis 60V DC arbeiten. Mit diesem Stromsensor ist es möglich auch kleine Ströme zuverlässig zu messen ohne das deren Messwerte groß voneinander abweichen.
Das ist auch der Grund weshalb er in den Ardumower Projekt verwendet wird. Auf der Platine 1.2 und 1.3 wird er verwendet um den Ladestrom zu überwachen und bei Bedarf die Ladung auch zu beenden.
Ebenso findet der INA169 Stromsensor Verwendung in den Perimeter bzw. Schleifensender. Dort sorgt er dafür das wenn der Ardumower sich in der Ladestation befindet die Begrenzungsschleife abgeschaltet wird um Energie zu sparen.

 

1 x DC-DC Spannungsregler LM2596S Step-Down Regler einstellbar

Daten:

  • Eingangsspannung: 4.5-35V
  • Ausgangsspannung: 1.5-35V (einstellbar)
  • Ausgangsstrom: Nennstrom ist 2A, 3A max (zusätzlicher Kühlkörper erforderlich)
  • Wirkungsgrad: bis zu 92% (Ausgangsspannung höher, je höher die Leistungsfähigkeit)
  • Schaltfrequenz: 150kHz
  • Gleichrichter: Non-Synchrongleichrichtung
  • Modul-Eigenschaften: Nicht isolierte Abwärtsmodul (Buck)
  • Betriebstemperatur: Industrieller Grad (-40 bis +85) (Ausgangsleistung 10W oder weniger)
  • Volllast Temperaturanstieg: 40
  • Laständerung: ± 0,5%
  • Spannungsregelung: ± 2,5%
  • Geschwindigkeit der dynamischen Resonanz: 5% 200uS
  • Größe: ca. 43 * 20 * 14mm (L * W * H)

Konstante Ausgangsströme von 2 – 3 A erfordern auf der Unterseite der Platine ein kleinen (Finger-)Kühlkörper der unterhalb des IC aufgeklebt werden muss.

Weitere Informationen zu den einzelnen Boards gibt es im Shop von marotronics.de – Link ist auf den Bildern.

FPV Drohne / Quadrocopter

Ich hab beschlossen als weiteres Druckprojekt einen Quadrocopter zu bauen. In diesem Beitrag halte ich mal fest, was ich vor habe und was ich verbaue.

FPV = first person view

Was wird für einen Quadrocopter benötigt

  • Fernsteuerung

    Ich hab mir zum Anfang eine Flysky FS-T6-RB6 bestellt. Hierzu benötigt man noch Akkus mit einem entsprechendem Ladegerät. Die gleiche Steuerung gibt es auch bei Conrad unter der Bezeichnung Modelcraft. Hier findet man auch eine Beschreibung in deutscher Sprache.Fernsteuerung 6 Kanäle RC Sender mit Empfänger

    In die Fernbedienung passen 8 Mignon-Batterien (z. B. Best.-Nr. conrad.de 650117) oder Akkus die über die Ladebuchse mit einem 12V-Netzteil geladen werden können.

  • Rahmen / Frame

    Den Rahmen werde ich selber drucken. Als Druckprojekt habe ich mir den PEON230 – Quadrocopter auf www.thingiverse.com herausgesucht. Der Copter wurde von Tech2C entworfen und auch schon ein paar mal erfolgreich nachbebaut.

    Den Rahmen werde ich zum großen Teil aus PLA drucken.
    Vorgaben zum Drucken:
    Layerhöhe: 0,2mm
    1 x Rahmen Unterteil, 30% Füllung
    1 x Rahmen Oberteil, 30% Füllung
    4 x Arm, 100% Füllung
    2 x Armbefestigung, 100% Füllung
    1 x Kamerahalter FPV, 30% Füllung
    1 x Kamerahalter HDCam, 30% Füllung

    Sinnvolle Erweiterungen für den Rahmen:
    Landefüße von Captain_sq bei www.thingiverse.com
    Batteriehalter von Captain_sw bei www.thingiverse.com

  • Flugsteuerung Hardware

    FC = flight controllerMögliche Kandidaten:
    KISS
    KISS CC
    Betaflight
    Naze32 V6
    Platinengröße: 36x36mm
    Gewicht: 6g
    2000 °/Sekunde 3-axen MEMS Gyro + Accelerometer (MPU6050)
    3-axen Magnetometer (HMC5883L)
    Drucksensor (MS5611)
    Quad/Hexa/Tri/Bi/Y4/Y6/Octo/Camera Gimbal.
    Bis zu 8 RC Eingänge
    Moderner 32-bit Prozessor 3.3V/72MHz.
    Onboard USB für Setup und Konfiguration
    sehr helle LED’s
    MultiWii-based Konfigurationssoftware

    Als Flugestuerung hab ich nach langem hin und her eine Naze32 V6 10DOF bestellt.

    Die LEDs bedeuten folgendes:
    Blau = ON/OFF/BootLoaderModus (FunktionsStatus des FC)
    Grün = Arm/Disarm (GefahrenStatus des FC)
    Rot = Angle/Horizon/Acro (FlugModusAnzeige des FC)

    Blau aus = FC aus
    Blau leuchtet durchgehend = BootLoaderMode
    Blau blinkt = FC normal in Betrieb

    Grün blinkt (oder aus) = DisArm
    Grün leuchtet durchgehend = Armed

    Rot leuchtet = AcceleroMeterSelbstStabilisierung aktiv
    Rot aus = FreiFlugModus (Acro)

  • Flugsteuerung Software

    Mögliche Kandidaten:
    – Baseflight
    Cleanflight
    Da ich im Internet eine recht ausführliche Anleitung von Philipp Seidel gefunden habe, habe ich mich für Cleanflight entscheiden.
    Betaflight
    Betaflight ist eine Weiterentwickllung von Cleanflight von Boris B.

  • Motoren

    Motorbezeichnung
    2206 2300KV
    22 mm Durchmesser
    06 mm hoher Stator
    2300 Umdrehungen pro Volt

    Hier habe ich folgendes bestellt:
    4x Neu X2204 2300KV CW CCW Bürstenloser Motor für QAV250 RC Quadrocopter Drohne

    In der Beschreibung war zu lesen:
    X2204 2300KV CW / CCW bürstenloser Motor für QAV250 RC quadcopter. Mit CNC-bearbeiteter 6061 T6 Billet-Aluminium-Kühlkörperdose und hochreiner Kupferwicklung maximiert es die Betriebseffizienz.Eigenschaften:
    Herausnehmbarer / austauschbarer Rotor
    Anzug für 5-6-Zoll-Propeller
    CNC gefräste 6061 T6 Billet Aluminium Kühlkörperdose
    Hochreine Kupferwicklungen maximieren die Effizienz
    Präzision für maximale EnergieumwandlungSpezifikationen:
    Drehung: CW / CCW
    Typ: X2204
    KV: 2300
    Stromversorgung: 2 ~ 3S LiPo Batterie
    ESC: 12A bürstenloser ESC (nicht enthalten)

    Paketinformationen:
    Paketgröße: 9.5 * 8 * 6cm / 3.8 * 3.2 * 2.4in
    Paketgewicht: 146g / 5.1oz
    White-Box-PaketPaketliste:
    2 * X2204 2300KV CCW bürstenloser Motor
    2 * X2204 2300KV CW bürstenloser Motor

  • Propeller

    GEPRC 5040 V2 5 Inch 3 Blade Propeller Triblade Props Colver Prop Trans

  • ESC (Motorregler)

    ESC = electronic speed controller

    Hier habe ich folgendes bestellt:
    4Pcs 30A SimonK Brushless Speed Control ESC mit BEC für Quad Multirotor RC681

    In der Beschreibung war zu lesen:
    Eigenschaften:
    Dieser Regler mit der SimonK-Firmware bietet Ihnen die perfekte Lösung für den Mehrmotorenbetrieb.
    Höchster Wirkungsgrad 100% N-FET-Design.
    Höchste Genauigkeit mit Quarzoszillator (die Temperatur beeinflusst nicht den PWM-Betriebsbereich wie andere billige Regler).
    Keine Unterspannungsabschaltung, da bei einem Multirotor eine Abschaltung = Crash ist.
    Kein Übertemperatur-Cutoff, da ein Cut-off in einem Multirotor = Crash ist.
    Super hohe Bildwiederholrate, keine Pufferung des Eingangssignals, was zu einer Ansprechrate von mehr als 490Hz führt.
    16 kHz Motorfrequenz, schnellste Reaktion des Motors und leisester Betrieb (kein 8 kHz Quietschen).
    Super einfache, kinderleichte Bedienung! Nichts anderes als der Gasbereich programmieren.Spezifikationen:
    Konstantstrom: 20A max
    Spitzenstrom: 30A (10s)
    Stromspannung: 2-3S
    BEC: 5V / 3A
    Artikelgröße: 50 x 25 x 8 mm / 2,0 „x 1,0“ x 0,3 „

    23.06.2018 Die Motorregler sind die Tage gekommen. Allerdings sind diese für den PEON-230 viel zu groß. Ich habe nun noch folgende Regler bestellt:
    4x EMAX Simon Series 12A Brushless ESC Mini Quadcopter Set SimonK

    Hier war in der Beschreibung folgendes zu lesen:

    EMax SimonK Series 12A Brushless ESC Speed Controller 1-3S Lipo for Quadcopter 4pcs

    Specifications:
    – Constant Current: 12A
    – Input Voltage: 1-3 cell Lipoly
    – BEC: Yes (linear) [Remove middle wire to dissable]
    – BEC Output: 5V/1A
    – PWM: 8 KHz
    – Max RPM: 240,000rpm for 2 Pole Brushless Motor
    – Size: 22*17*7
    – Weight: 8g

    Package included:
    – 4* EMax 12A ESC

  • PDB power distribution board
    Mit dem PDB wird die Spannung vom Akku auf die vier ESC’s verteilt. Zusätzlich werden 12V und 5V konstant erzeugt.Ich hab mich für diese PDB entschieden:
    36mm Stromverteiler PowerHub Board PDB 2 x BEC 5V 12VIn der Beschreibung war zu lesen:
    Features
    • 2oz Kupfer
    • klein und leicht
    • 12V Kamera & 12V LED Versorgung ohne Störungen
    • 3-6S Lipo Unterstützung
    • wenn Befestigung mit Schrauben nicht möglich ist kann es auch mit Tape verklebt werdenTechnische Daten
    • Spannung: 3~6S LiPo
    • Lineare Ausgangsspannung: 5V & 12V
    • Linear Ausgangsstrom: 500mA (4S IN), 200mA (6S IN)
    • ESC Anschlüsse: 4
    • Current Ausgang: 4 x 20A
    • Größe: 36 x 36mm
    • Gewicht: 3.5g
    • Befestigung: 30.5mm / Φ3mm
  • Flugakku

    LiPo Akku
    11.1V 1100mAh 65C 3S Lipo Battery XT60 PlugWas steht in der Bezeichnung:
    LiPo = Lithium-Polymer
    11.1V = Spannung die der Akku liefert, 3,7Volt Nennspannung pro Zelle, 4,22Volt Ladeschlussspannung pro Zelle
    1100mAh = Kapazität / Strom den der Akku eine Stunde lang liefern kann
    65C = Maximalstrom den der Akku abgeben kann (1100mA x 65 = 71,5A)
    3S = 3 Zellen in Reihenschaltung
    P-Wert = Anzahl der parallel geschalteten Zellen

HyperCube 3D – Rahmen (Frame) und Druckbettauflage

Beschreibung
Der Rahmen wird aus Aluminiumprofil 20x20mm B-Typ NUT 6 aufgebaut.

Bauraum: 200x200x150mm

Stückliste

Bauteilset Rahmen
Bild Menge Beschreibung
4 Stk. X-Achse
Aluprofil 20x20mm
Länge 340mm
4 Stk. Y-Achse
Aluprofil 20x20mm
Länge 303mm
4 Stk. Z-Achse
Aluprofil 20x20mm
Länge 350mm
2 Stk. Druckbettauflage
Aluprofil 20x20mm
Länge 285mm
1 Stk. Druckbettauflage
Aluprofil 20x20mm
Länge 135mm
48 Stk. Schraube M4x8mm
48 Stk. Gewindeplatte M4
24 Stk. Winkel 20 B-Typ

Aufbau Rahmen
Der Rahmen muss winklig aufgebaut sein !!!


Die Teile die für den Zusammenbau des hinteren Rahmens benötigt werden.


Die linke obere Ecke. Die rechte Ecke wird spiegelbildlich aufgebaut.


Die linke, obere Ecke. Die rechte Ecke wird spiegelbildlich aufgebaut.


Die linke, untere Ecke. Die rechte Ecke wird spiegelbildlich aufgebaut.


Die linke, untere Ecke. Die rechte Ecke wird spiegelbildlich aufgebaut.


Hinterer Rahmen, der vordere wird gleich aufgebaut. Das auf dem Bild gezeigte Teil wird also zwei mal benötigt.

Aufbau Druckbettauflage
Muss winklig sein !!!

3D Drucker – Austausch Umlenkrollen

Am Mendel habe ich die Umlenkrollen, die ich aus Multiplexplatten gefertigt hatte, gegen einen gedruckten Umlenkrollenhalter mit integrierter Spannmöglichkeit ausgetauscht.

Umlenkrollenhalter aus Holz – X-Achse
Umlenkrolle mit Spannmöglichkeit für Riemen

Umlenkrolle Y-Achse

Grundlage für den Umbau habe ich bei www.thingiverse.com gefunden. Den Schlitten für die X-Achse habe ich in OpenSCAD, so dass dieser um 90° gedreht ist, neu gezeichnet.

Mähroboter Landroid

Heute 16.04.2018 habe ich den WORX-Landroid SB450 WR102SI.1 beim Bauhaus in Pforzheim gekauft.

20 V, Li-Ionen, 2 Ah, Max. Flächenempfehlung: 450 m²

  • Mäht bis zu 450 m² Rasenfläche vollautomatisch im Zufallsprinzip
  • W-LAN Funktion für einfache Programmierung per Smartphone
  • Multi-Zonenfunktion für unterschiedlich beschaffene Gartenbereiche
  • Schafft Steigungen bis 35 %
  • Patentierte AIA Technik ermöglicht das mühelose Mähen von engen und verwinkelten Flächen

3D Drucker – Extruderumbau

  1. Der bisherige Extruder, direkt am Hotend soll auf einen Bowedenextruder umgebaut werden.

Gründe für den Umbau:

  • PLA-Filament wird beim Fördern teilweise so warm, das es durch den Extruder nicht mehr in den Kühlkörper des Hotend’s geschoben wird. Durch das trennen von Hotend und Extruder verspreche ich mir einen besseren Materialtransport.
  • Die Mechanik am Extruder wird durch das Hotend nicht mehr erwärmt
  • Die mitfahrende X-Achse wird um einiges leichter. Der Schrittmotor plus Halterung sowie der jetzige Vorschub entfallen auf der X-Achse.

Die erforderlichen Teile habe ich bestellt bez. werden aus Hartholz hergestellt. Später werden die Holzteile mit ABS gedruckt.

HyperCube 3D-Drucker

Nach dem ich den Franzis-Mendel erfolgreich zum laufen gebracht habe, habe ich beschlossen, einen HyperCube 3D Drucker zu bauen. Den HyperCube habe ich bei thingiverse.com gefunden. Der Drucker HyperCube 3D Printer/CNC von thingiverse-Mitglied Tech2C ist lizensiert unter der  Creative Commons – Attribution – Non-Commercial Lizens.

Von Tech2C gibt es bei YouTube einen BuildLog wo Tech2C genau den Aufbau, leider nur auf Englisch, beschreibt. Das BuildLog besteht aus zur Zeit 20 sehr ausführlichen und guten Videos.

Warum will ich den Drucker bauen?
Der Franzis-Mendel funktioniert, vor allem nach den diversen Verbesserungen, gut. Vom HyperCube erwarte ich allerdings einiges mehr an Genauigkeit, und vor allem an Geschwindigkeit.

3D Drucker – Schritte pro mm berechnen

Anzahl der Microschritte
RAMPS unterstützt 1/16 Schritte (Steps)

Berechnung Riemenscheibe:
Berechnung Schritte (Steps)/ mm

Motordaten:
Schrittwinkel = 1,8 Grad/Schritt
Schritte für eine Umdrehung = 360 Grad / 1,8 Grad/Schritt
Schritte für eine Umdrehung = 200 Schritte

Motrotreiber:
Jeder Schritt wird in Microschritte aufgeteilt
Treiber Microschritte = 1/16
Microschritte pro Umdrehung = 200 Motorschritte * 16 Microschrittt = 3200 Schritte

Riemenscheibe:
Zahnteilung = 2mm (GT2 Belt)
Anzahl Zähne = 36 (20)
Scheibenumfang = Zahnteilung * Zähne
Scheibenumfang = 2mm * 36 Zähne
Schiebenumfang = 72mm (40mm)

Schritte pro mm = 3200 Schritte/Umdrehung / 72mm
Schritte pro mm = 44,4444 (80) Schritte
==================================

Berechnung Trapetzspindel:
Berechnung Schritte (Steps)/mm

Motordaten und Treiberdaten bleiben wie bei der Riemenscheibe

Trapetzgewindespindel:
Steigung der Spindel (Pitch) = 2mm/Umdrehung

Schritte pro mm = 3200 Schritte/Umdrehung / 2mm
Schritte pro mm = 1600 Schritte
==================================

Berechnung Extrudervorschub:
Berechnung Schritte (Steps)/mm

Motordaten und Treiberdaten bleiben wie bei der Riemenscheibe

Vorschubrad für 1,75mm und 3mm Filament:
Durchmesser Zahnrad = 11mm
Umfang = 3,14 * Durchmesser = 34,5mm
Schritte pro mm = 3200 Schritte/Umdrehung / 34,5mm
Schritte pro mm = 92,75 Schritte

 

Arduino – Bitmanipulation

&       bitweise AND – Verknüpfung (bitwise and)
<<     (bitshift left)
>>     (bitshift right)
^       bitweise XOR – Verknüpfung (bitwise xor)
|         bitweise OR – Verknüpfung (bitwise or)
~       bitweise NOT – Verknüpfung (bitwise not)

Bit Setzen 

// Setzen von Bit 2 und 7 im Register
// Die Bit's in Register werden mit B10000100 ODER verknüpft

   Register |= B10000100; // Nur Bit 2 und 7 werden auf 1 gesetzt, die restlichen Bits bleiben unverändert
   // entspricht
   Register = Register | B10000100;

// oder
   Register |= (1 << Bit2); //Bit2 wird auf 1 gesetzt
   Register |= (1 << Bit7); //Bit7 wird auf 1 gesetzt

// oder
   Register |= (1 << Bit2) | (1 << Bit7); //Bit2 und Bit7 werden auf 1 gesetzt

Bit löschen

// Löschen von Bit 2 und 7 im Register
   Register &= ~B10000100;
   // entspricht
   Register = Register & ~B10000100;

// oder
   Register &= ~(1 << Bit2); // Bit2 wird auf 0 gesetzt
   Register &= ~(1 << Bit7); // Bit7 wird auf 0 gesetzt

// oder
   Register &= ~(1 << Bit2) | (1 << Bit7); //Bit2 und Bit7 werden auf 0 gesetzt

Bit invertieren (umschalten)

// invertiert Bit 4 im Register 
   Register ^= B00010000;
   // entspricht
   Register = Register ^ B00010000; // Invertiert Bit4

// oder
   Register ^= (1 << Bit4); // Invertiert Bit4

Bit abfragen

// abfragen des  WGM12-Bits im TCCR1B Register
   byte bitStatus = (TCCR1B & (1 << WGM12)) >> WGM12;

// oder mit
// Bedingungsoperator
   bool bitStatus = (TCCR1B & (1 << WGM12)) == (1 << WGM12) ? 1 : 0;

Quellen:
arduino-projekte.webnode.at