Inhoudsopgave:

Tekenrobot voor Arduino: 18 stappen (met afbeeldingen)
Tekenrobot voor Arduino: 18 stappen (met afbeeldingen)

Video: Tekenrobot voor Arduino: 18 stappen (met afbeeldingen)

Video: Tekenrobot voor Arduino: 18 stappen (met afbeeldingen)
Video: The BIG LIE with robot lawn mowers - Don't fall for it. 2024, Juli-
Anonim
Image
Image
Tekenrobot voor Arduino
Tekenrobot voor Arduino
Tekenrobot voor Arduino
Tekenrobot voor Arduino

Opmerking: ik heb een nieuwe versie van deze robot die een printplaat gebruikt, gemakkelijker te bouwen is en IR-obstakeldetectie heeft! Bekijk het op

Ik ontwierp dit project voor een 10-uur durende workshop voor ChickTech.org waarvan het doel is om tienervrouwen kennis te laten maken met STEM-onderwerpen. De doelen voor dit project waren:

  • Eenvoudig te bouwen.
  • Makkelijk te programmeren.
  • Iets interessants gedaan.
  • Voordelig, zodat deelnemers het mee naar huis konden nemen en blijven leren.

Met die doelen in gedachten, waren hier een paar van de ontwerpkeuzes:

  • Arduino-compatibel voor eenvoudig programmeren.
  • AA-batterijvoeding voor kosten en beschikbaarheid.
  • Stappenmotoren voor nauwkeurige beweging.
  • 3D afgedrukt voor gemak van maatwerk.
  • Pen plotten met Turtle-graphics voor interessante uitvoer.
  • Open Source zodat u er zelf een kunt maken!

Hier is de robot die het dichtst in de buurt kwam van wat ik wilde doen: https://mirobot.io. Ik heb geen lasersnijder en verzending vanuit Engeland was onbetaalbaar. Ik heb wel een 3D-printer, dus ik denk dat je kunt zien waar dit naartoe gaat…

Laat je niet afschrikken door het ontbreken van een 3D-printer. U kunt lokale hobbyisten vinden die u willen helpen op www.3dhubs.com

Het kostte veel moeite, maar ik ben blij met hoe het is geworden. En ik heb nogal wat geleerd tijdens het proces. Laat me weten wat je denkt!

Stap 1: Onderdelen

Onderdelen
Onderdelen
Onderdelen
Onderdelen
Onderdelen
Onderdelen
Onderdelen
Onderdelen

Er zijn een aantal manieren om robots aan te drijven, te besturen en te besturen. Je hebt misschien verschillende onderdelen bij de hand die zullen werken, maar dit zijn degene die ik heb geprobeerd en waarvan ik heb vastgesteld dat ze goed werken:

Elektronica:

  • 1- Arduino UNO of gelijkwaardig- adafruit.com/products/50

    Adafruit is nu de Amerikaanse fabrikant voor echte Arduino's! Haal ze bij de bron

  • 2- Geared 5V Stepper- adafruit.com/products/858
  • 1- ULN2803 Darlington-stuurprogramma - adafruit.com/products/970
  • 1- Half-size breadboard- adafruit.com/products/64
  • 12- Heren-heren truien- adafruit.com/products/1956

    Ten minste twee moeten 6 inch zijn, de rest kan 3 inch zijn

  • 1- Micro servo- adafruit.com/products/169
  • 1- Mannelijke pin header- digikey.com/short/t93cbd
  • 1- 2 x AA-houder- digikey.com/short/tz5bd1
  • 1 -3 x AA-houder-digikey.com/short/t5nw1c
  • 1 -470 uF 25V condensator - www.digikey.com/product-detail/en/ECA-1EM471/P5155-ND/245014
  • 1 -SPDT schuifschakelaar - www.digikey.com/product-detail/en/EG1218/EG1903-ND/101726
  • 1- USB-microkabel
  • 5 - AA-batterijen

Hardware:

  • 2- 1 7/8" ID x 1/8" O-ring- mcmaster.com/#9452K96
  • 1- Caster 5/8" lager- mcmaster.com/#96455k58/=yskbki
  • 10- M3 x 8 mm schroef met platte kop- mcmaster.com/#92005a118/=z80pbr
  • 4- M3 x 6 mm schroef met platte kop- mcmaster.com/#91420a116/=yskru0
  • 12- M3 Nut- mcmaster.com/#90591a250/=yskc6u3D
  • 2 - 1/4" draadvormende 4-20 schroeven

Gedrukte onderdelen (kijk op www.3dhubs.com als je geen printer hebt):

  • https://www.thingiverse.com/thing:1091401

    • 1 x kogelgelagerde zwenkwiel
    • 1 x chassis
    • 2 x wielen
    • 2 x Stepper beugel
    • 1 x pennenhouder / servobeugel
    • 1 x pennenkraag
  • Ik gebruik lage resolutie, 100% vulling en geen ondersteuning. Dit is ongeveer 4 uur printen.

Benodigdheden:

  • Phillips schroevendraaier
  • Heet lijmpistool
  • Digitale multimeter
  • Scherp mes
  • Crayola gekleurde stiften

Stap 2: Flash de firmware

Voordat we te ver in de constructie gaan, laten we de testfirmware op de microcontroller laden. Het testprogramma tekent alleen voor dozen, zodat we kunnen controleren op de juiste richting en afmeting.

  1. Download de Arduino-software van www.arduino.cc/en/Main/Software
  2. Open de Arduino-software.
  3. Download het bijgevoegde zipbestand en pak het uit naar de Arduino-schetsboeklocatie.

    Je kunt deze locatie vinden (of wijzigen) in de Arduino IDE: [File] -> [Preferences] -> "Sketchbook Location"

  4. Laad de testschets: [File] -> [Sketchbook] -> [TIRL_Arduino_TEST]
  5. Sluit uw Arduino aan op uw computer met een USB-kabel.
  6. In de Arduino-IDE:

    1. Stel je boardtype in: [Tools] -> [Board] -> Je boardtype.
    2. Stel uw seriële poort in: [Tools] -> [Poort] -> Meestal de laatste die wordt vermeld.
  7. Upload de schets met behulp van het pijlpictogram.

Raadpleeg bij problemen www.arduino.cc/en/Guide/Troubleshooting voor hulp.

Stap 3: Pennenhouder en batterijhouders

Penhouder en batterijhouders
Penhouder en batterijhouders
Penhouder en batterijhouders
Penhouder en batterijhouders
Penhouder en batterijhouders
Penhouder en batterijhouders
Penhouder en batterijhouders
Penhouder en batterijhouders
  1. Plaats de moeren aan de bovenzijde van het chassis (Afbeelding 1). Het kan zijn dat je ze moet indrukken.
  2. Installeer de pennenhouder met de servobeugel aan de bovenzijde van het chassis (Afbeelding 2 & 3).
  3. Bevestig de batterijhouders aan de onderkant van het chassis met behulp van 3Mx6mm platkopschroeven (Afbeelding 4)

    • Je hebt minimaal 5xAA nodig om een Arduino goed van stroom te voorzien via de ingebouwde regelaar. Zes zou ook werken, dus ik heb aan beide zijden gaten voor beide maten toegevoegd.
    • U wilt dat het gewicht naar de zwenkwiel wordt verplaatst, dus plaats de 3xAA naar achteren.
    • Richt de houders zo dat de kabels zich het dichtst bij de rechthoekige kabeltrajecten bevinden.
  4. Leid de batterijdraden door de rechthoekige kabelgeleidingen (Afbeelding 4).
  5. Herhaal dit voor de andere batterijhouder.

Opmerking: Tenzij anders aangegeven, zijn de overige schroeven 3Mx8mm pankopschroeven

Stap 4: Stepper Backets

Stepper Backets
Stepper Backets
Stepper Backets
Stepper Backets
Stepper Backets
Stepper Backets
Stepper Backets
Stepper Backets
  1. Steek een moer in de stepperbeugel en bevestig deze met een schroef aan de bovenkant van het chassis (Afbeelding 1).
  2. Plaats de stepper in de beugel en bevestig met schroeven en moeren.
  3. Herhaal dit voor de andere beugel.

Stap 5: Caster

Caster
Caster
Caster
Caster
  1. Plaats het kogellager in het zwenkwiel.

    Forceer het niet, anders breekt het. Gebruik indien nodig een föhn of heteluchtpistool om het materiaal zacht te maken

  2. Bevestig het zwenkwiel aan de onderkant van het chassis voor de batterijhouder.

Ik heb andere ronde objecten zoals knikkers geprobeerd, maar glad en zwaar lijkt goed te werken. Als je een andere diameter nodig hebt, kun je het openScad-bestand (https://www.thingiverse.com/thing:1052674) aanpassen aan wat je maar bij de hand hebt.

Stap 6: Breadboard en Brains

Breadboard en hersenen
Breadboard en hersenen
Breadboard en hersenen
Breadboard en hersenen
Breadboard en hersenen
Breadboard en hersenen
  1. Verwijder een van de stroomrails met een scherp mes en snijd door de onderste lijm (Afbeelding 1).

    De ene rail heeft stroom (rood) aan de buitenrand, de andere negatief (blauw). Ik houd de eerste bijgevoegd, en het zal overeenkomen met de schema's en foto's. Als u de andere gebruikt, past u de draden dienovereenkomstig aan

  2. Houd het breadboard over de chassisrails en markeer waar ze de rand kruisen (afbeelding 2).
  3. Gebruik een richtliniaal (zoals de verwijderde stroomrail), markeer de lijnen en snijd door de achterkant (afbeelding 3).
  4. Plaats het breadboard op het chassis met de rails tegen de blootliggende lijm (afbeelding 4).
  5. Bevestig de Arduino aan de andere kant van het chassis met 4-20 schroeven (afbeelding 5).

Stap 7: condensator en onderdeelplaatsing

Condensator en onderdeelplaatsing
Condensator en onderdeelplaatsing
Condensator en onderdeelplaatsing
Condensator en onderdeelplaatsing
Condensator en onderdeelplaatsing
Condensator en onderdeelplaatsing
Condensator en onderdeelplaatsing
Condensator en onderdeelplaatsing
  1. Plaats de darlington-driver en de aan / uit-schakelaar op het breadboard (afbeelding 1).

    • Ik heb oranje stippen toegevoegd voor zichtbaarheid om het volgende te markeren:

      • Pin 1 van de darlington-driver
      • De batterijpin van de microtroller. De aan/uit-schakelaar "aan".
  2. Knip indien nodig de condensatordraden af (langer is negatief) (Afbeelding 2).
  3. Plaats de condensator in de juiste rails aan de bovenkant van het breadboard (afbeelding 3).

Stap 8: Stroom

Stroom
Stroom
Stroom
Stroom
Stroom
Stroom
  1. Met de rechter accukabels: Verbind de rode lijn met de eerste pin van de aan/uit-schakelaar (Afbeelding 1).
  2. Sluit de zwarte draad aan op een lege rij tussen de microcontroller en de darlington-chip (afbeelding 1).
  3. Met de linker accukabels: sluit de rode lijn aan op dezelfde rij als de zwarte kabel van de andere accu (Afbeelding 2).
  4. Verbind de zwarte lijn met de negatieve rail van het breadboard (Afbeelding 2).
  5. Sluit de voeding aan op de microcontroller:

    1. Rode jumper van positieve rail naar de batterijpin (oranje stip, afbeelding 3).
    2. Zwarte jumper van de negatieve rail naar de pin gemarkeerd met "G" (Afbeelding 4).
  6. Plaats batterijen en schakel de stroom in (Afbeelding 5).
  7. Je zou de groene en rode lampjes van de controller moeten zien gaan branden (Afbeelding 6).

Probleemoplossen:

  • Als de lampjes van de microcontroller niet gaan branden, schakel dan onmiddellijk de stroom uit en los het volgende op:

    • Batterijen in de juiste richting geplaatst?
    • Controleer de positionering van de batterijkabels nogmaals.
    • Controleer de positionering van de schakelaarkabels.
    • Gebruik een multimeter om de spanning van batterijen te controleren.
    • Gebruik een multimeter om de spanningen van de stroomrail te controleren.

Stap 9: Stepper Power

Stappenvoeding
Stappenvoeding
Stappenvoeding
Stappenvoeding
Stappenvoeding
Stappenvoeding

Nu je stroom hebt naar de microcontroller, laten we de bedrading naar de steppers afronden:

  1. Sluit een zwarte jumper van de darlington-pin linksboven aan op de negatieve kant van de stroomrail (afbeelding 1).
  2. Sluit een rode jumper van de darlington-pin linksonder aan op de positieve kant van de stroomrail (afbeelding 1).
  3. Sluit een rode jumper van de darlington-pin linksonder aan op een rij rechts van de darlington (afbeelding 2).
  4. Plaats pin-headers voor de witte JST-connectoren van de stepper (afbeelding 2).

Stap 10: Stappenbesturingssignalen

Stappenbesturingssignalen
Stappenbesturingssignalen
Stappenbesturingssignalen
Stappenbesturingssignalen
Stappenbesturingssignalen
Stappenbesturingssignalen

De microcontroller levert 5 volt-signalen aan de darlington-array die op zijn beurt VCC levert aan de stappenspoelen:

  1. Begin met de pin naast de aardingspin op de darlington-driver en installeer de oranje, gele, groene en blauwe draden in die volgorde (afbeelding 1).
  2. Bevestig de jumpers aan de volgende Arduino-pinnen (Afbeelding 2):

    1. oranje - Digitale pin 4
    2. geel - Digitale pin 5
    3. groen - Digitale pin 6
    4. blauw - Digitale pin 7
  3. Terug bij de darlington, ga verder met jumper voor de andere stepper in het omgekeerde van de anderen:

    blauw, groen, geel en oranje (Afbeelding 3)

  4. Bevestig de jumpers aan de volgende Arduino-pinnen (Afbeelding 4):

    1. blauw - Digitale pin 9 (pin 8 laatst gebruikt voor de servo).
    2. groen - Digitale pin 10
    3. geel - Digitale pin 11
    4. oranje - Digitale pin 12

Stap 11: Stepper Coil-aansluitingen

Stappenspoelaansluitingen
Stappenspoelaansluitingen
Stappenspoelaansluitingen
Stappenspoelaansluitingen
Stappenspoelaansluitingen
Stappenspoelaansluitingen

De witte JST-connectoren van de stepper worden bevestigd aan de pin-header. De rode draad is stroom en moet overeenkomen met de rode stroomjumpers die we eerder hebben geïnstalleerd (Afbeelding 1).

Alle kleuren moeten overeenkomen met de jumpers van de microcontroller aan de andere kant van de darlington, met uitzondering van groen, dat overeenkomt met de roze draad van de stepper (afbeelding 2).

Stap 12: servo

Servo
Servo
Servo
Servo
Servo
Servo
  1. Installeer de servohoorn met de servo rechtsom gedraaid tot aan de aanslag en de hoorn horizontaal (afbeelding 1).
  2. Bevestig de servo aan de houder en de hoorn wees naar de rechterkant van de stepper (afbeelding 1).
  3. Bevestig bruine (aarde), rode (5V voeding) en witte (signaal) jumpers in de servoconnector, passend bij de servodraadkleuren (Afbeelding 2).
  4. Bevestig de stroom- en grondjumpers aan de grond en 5V-header op de Arduino (afbeelding 3).
  5. Sluit de witte signaaldraad aan op de Arduino's Digital Pin 8 (Afbeelding 4).

Stap 13: Wielen

Wielen
Wielen
Wielen
Wielen
  1. Plaats de rubberen o-ring rond de rand van het wiel (Afbeelding 1).
  2. Als de naaf op de as los zit, kunt u een 3M schroef gebruiken om hem op zijn plaats te houden (Afbeelding 2).

    Draai het niet te strak aan, anders strip je het plastic

Stap 14: Testen

Hopelijk heb je de firmware al geüpload in stap 2. Zo niet, doe het dan nu.

De testfirmware tekent gewoon herhaaldelijk een vierkant zodat we richting en nauwkeurigheid kunnen controleren.

  1. Plaats uw robot op een glad, vlak, open oppervlak.
  2. Schakel de stroom in.
  3. Kijk hoe je robot vierkanten tekent.

Als u geen lampjes op de microcontroller ziet, ga dan terug en los de stroomvoorziening op zoals in stap 8.

Als uw robot niet beweegt, controleer dan nogmaals de stroomaansluitingen naar de darlington-driver in stap 9.

Als je robot onregelmatig beweegt, controleer dan de pinverbindingen voor de microcontroller en de darlington-driver in stap 10.

Stap 15: Kalibratie

Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie

Als je robot ongeveer in een vierkant beweegt, is het tijd om wat papier neer te leggen en er een pen in te steken.

Meet uw wieldiameter (Afbeelding 1) en wielbasis (Afbeelding 2) in millimeters.

Uw kalibratie-instellingen in de code zijn:

vlotterwiel_dia=63; // mm (verhogen = spiraal uit)

vlotter wielbasis = 109; // mm (verhogen = spiraal naar binnen) int steps_rev=128; // 128 voor 16x versnellingsbak, 512 voor 64x versnellingsbak

Ik begon met een gemeten wieldiameter van 65 mm en je kunt de dozen elke stap naar buiten of met de klok mee draaien (Afbeelding 3).

Ik kwam uiteindelijk uit op een waarde van 63 mm (afbeelding 4). Je kunt zien dat er nog steeds een inherente fout is als gevolg van tandwielen en dergelijke. Dicht genoeg om iets interessants te doen!

Stap 16: De pen omhoog en omlaag brengen

De pen omhoog en omlaag brengen
De pen omhoog en omlaag brengen
De pen omhoog en omlaag brengen
De pen omhoog en omlaag brengen

We hebben een servo toegevoegd, maar hebben er niets mee gedaan. Hiermee kunt u de pen omhoog en omlaag brengen, zodat de robot kan bewegen zonder te tekenen.

  1. Plaats de penhalsband op de pen (Afbeelding 1).

    Als het los zit, plak het dan op zijn plaats

  2. Controleer of het papier het papier raakt wanneer de servo-arm wordt neergelaten.
  3. Controleer of het het papier niet raakt wanneer het wordt opgetild.

De servohoeken kunnen worden aangepast door de hoorn te verwijderen en opnieuw te positioneren, of via de software:

int PEN_DOWN = 20; // hoek van servo wanneer pen omlaag is

int PEN_UP = 80; // hoek van servo wanneer pen omhoog is

De pencommando's zijn:

pen-up();

pendown();

Als u verschillende penformaten wilt gebruiken, moet u de penhouder (www.thingiverse.com/thing:1052725) en penhalsband (www.thingiverse.com/thing:1053273) aanpassen met de juiste diameter.

Stap 17: Veel plezier

Image
Image

Ik hoop dat je zo ver bent gekomen zonder al te veel vloekwoorden. Laat me weten waar je mee worstelde, zodat ik de instructies kan verbeteren.

Nu is het tijd om te verkennen. Als je naar de testschets kijkt, zul je zien dat ik je een aantal standaard "Turtle"-commando's heb gegeven:

vooruit (afstand); // millimeter

achteruit (afstand); links (hoek); // graden rechts (hoek); pen-up(); pendown(); gedaan(); // laat de stepper los om de batterij te sparen

Met deze commando's zou je zo ongeveer alles moeten kunnen doen, van sneeuwvlokken tekenen of je naam schrijven. Als je hulp nodig hebt om aan de slag te gaan, kijk dan op:

  • https://code.org/learn
  • https://codecombat.com/

Stap 18: Andere platforms

Andere platforms
Andere platforms

Kan deze robot worden gedaan met een ?

Ja! Dit platform is zeer flexibel. Je zou vooral alleen het chassis moeten aanpassen.

Ik heb het gedaan met een Raspberry Pi (Afbeelding 1) en een Adafruit Trinket (www.instructables.com/id/Low-Cost-Arduino-Compatible-Drawing-Robot/) (Afbeelding 2).

Laat me weten wat je bedenkt!

Aanbevolen: