Bouw een Arduino-aangedreven CNC-plotter: stap-voor-stap tekenmachine DIY
Onderdelen en benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino Nano R3 | 1 |
| Texas Instruments Dual H-Bridge motor drivers L293D | 1 |
| SG90 Micro-servo motor | 1 |
| Stappenmotor uit DVD-speler | 1 |
| JLCPCB aangepaste PCB | 1 |
Benodigde tools en machines
- Lasersnijder (generiek)
- 3D-printer (generiek)
Apps en online diensten
- Arduino IDE
- Inkscape
- The Processing Foundation Processing
- EasyEDA
Over dit project
Hallo allemaal! Ik hoop dat jullie mijn vorige instructable "Hoe je je eigen Arduino-trainingsplatform maakt" al hebt genoten en klaar bent voor een nieuwe. Zoals gewoonlijk heb ik deze tutorial gemaakt om je stap voor stap te begeleiden bij het bouwen van dit soort super leuke, low-cost elektronische projecten: de CNC-plottermachine, ook wel bekend als CNC-tekenmachine of simpelweg Arduino CNC-machine.
Ik vond veel tutorials op het web over het maken van een CNC-plotter, maar door gebrek aan gedetailleerde informatie was het lastig om zo'n machine te bouwen. Daarom heb ik besloten deze instructable te schrijven waarin ik je in detail laat zien hoe je je eigen tekenmachine eenvoudig kunt maken.
Dit project is heel handig om te maken, zeker nadat je de aangepaste PCB hebt ontvangen die we bij JLCPCB hebben besteld. Hierdoor ziet de machine er netter uit en zijn er voldoende documenten en code in deze gids om je te helpen je machine gemakkelijk te creëren. We hebben dit project in slechts 5 dagen voltooid: drie dagen om alle benodigde onderdelen te verzamelen en de hardware te bouwen en te monteren, en twee dagen om de code voor te bereiden en aanpassingen te maken. Voordat we beginnen, laten we even kijken wat we gaan leren.
Wat je uit deze tutorial leert
- De juiste hardware selecteren voor je project, afhankelijk van de functionaliteiten
- Het schakelschema opstellen om alle gekozen componenten te verbinden
- Alle projectonderdelen monteren (mechanische en elektronische assemblage)
- De balans van de machine schalen
- Het systeem bedienen en testen
Stap 1: Wat is een plottermachine?
Omdat ik deze instructable voor beginners heb gemaakt, leg ik eerst uit wat een tekenmachine is en hoe het werkt.
Volgens Wikipedia staat CNC voor Computer Numerical Control: een machine die door een computer wordt bestuurd en instructies ontvangt via een seriële poort. De machine beweegt zijn actuatoren op basis van de ontvangen instructies. De meeste van deze machines zijn op stappenmotoren gebaseerd, wat betekent dat ze stappenmotoren in hun assen hebben.
Een ander belangrijk begrip is "as". Elke CNC-machine heeft een gedefinieerd aantal assen die door het computerprogramma worden bestuurd. Onze CNC-plotter is een tweeaasmachine die kleine stappenmotoren in zijn assen heeft. Deze stappenmotoren bewegen een actief plateau in een tweeaassige vlak om het tekenontwerp te creëren met een tekenpen. De pen wordt vastgehouden en losgelaten door een derde motor in onze structuur: een servomotor.
Stap 2: De stappenmotor is de hoofdactuator
Een stappenmotor (of stappenmotor) is een borstelloze DC-elektromotor die een volledige rotatie verdeelt in een aantal gelijke stappen. De positie van de motor kan worden aangewezen om te bewegen en te houden op een van deze stappen zonder enige positie-sensor voor feedback (een open-lus controller), mits de motor zorgvuldig is afgestemd op de toepassing wat koppel en snelheid betreft.
Waar haal je de stappenmotoren vandaan? Dat is eenvoudig: pak een oude DVD-lezer zoals op de foto. Ik heb er twee voor 2 dollar gekocht. Alles wat je hoeft te doen is hem ontmantelen om de stappenmotor en zijn ondersteuning te halen. We hebben er twee nodig.
Zodra je de motoren hebt, moet je ze klaarmaken door de motorspoelen te identificeren. Elke stappenmotor heeft twee spoelen. Met een multimeter meet je de weerstand tussen de motorpinnen; voor elke spoel zou dat ongeveer 10 Ohm moeten zijn. Na identificatie soldeer je draden aan de spoelen om de motor te besturen.
Stap 3: Het schakelschema
Het hart van onze machine is een Arduino Nano ontwikkelbord dat de beweging van elke actuator regelt op basis van de instructies die van de computer worden ontvangen. Om de stappenmotoren te besturen hebben we een stappenmotordriver nodig die de snelheid en richting van elke actuator regelt. We gebruiken een L293D H-brug motordriver die de motorcommando's van de Arduino ontvangt via zijn ingangen en de stappenmotoren bestuurt via zijn uitgangen.
Het schakelschema toont hoe alle onderdelen met de Arduino verbonden moeten worden. Volg dezelfde verbinding voor beide stappenmotoren en de servomotor. Het schema kan worden aangepast aan je eigen behoeften.
Stap 4: De PCB-maken (geproduceerd door JLCPCB)
Over JLCPCB
JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.) is het grootste PCB-prototypebedrijf in China en een high-tech fabrikant gespecialiseerd in snelle PCB-prototypes en kleine serieproductie. Met meer dan 10 jaar ervaring hebben ze meer dan 200.000 klanten wereldwijd en verwerken ze meer dan 8.000 online bestellingen per dag. De jaarcapaciteit is 200.000 m² voor 1-laags, 2-laags of meervoudige PCBs.
De elektronica ontwerpen
Na het maken van het schakelschema heb ik het omgezet in een PCB-ontwerp voor productie. Ik heb gekozen voor JLCPCB als leverancier vanwege hun betrouwbaarheid en lage prijs. Alles wat ik hoefde te doen was de Gerber-bestanden uploaden, parameters instellen (dikte, kleur, aantal) en 2 dollar betalen. Na vijf dagen had ik de PCBs ontvangen.
Gerelateerde downloadbestanden
Je kunt het schakelschema (PDF) en de Gerber-bestanden downloaden via de links in de originele handleiding. De PCB is uitstekend geproduceerd met alle labels en logo's die helpen bij het solderen.
Stap 5: Ontwerp een ondersteuning voor je machine!
Voor een betere uitstraling heb ik drie delen ontworpen met Solidworks die de DVD-lezers bij elkaar monteren. De DXF-bestanden zijn gelasersneden uit 5mm MDF-hout bij FabLab Tunisia. De penhouder is 3D-geprint. Alle benodigde bestanden zijn te downloaden via de links in de handleiding.
Stap 6: Benodigdheden (overzicht)
- De PCB die we bij JLCPCB hebben besteld
- Arduino Nano
- 2x L293D H-brug driver
- 2x IC-socket DIP 16 pins
- 1x IC-socket DIP
- SIL- en schroefheader connectors
- 1x servomotor SG90
- 2x DVD-lezers
- De 3D-geprinte onderdelen
- De gelasersneden onderdelen
- Schroeven voor montage
- Een tekenpen (bijv. de pen die je als cadeau krijgt van JLCPCB)
Stap 7: Elektronische assemblage en test
We gaan nu de elektronische componenten solderen. Op de bovenste zijde van de PCB vind je labels die de plaatsing van elk component aangeven, zodat solderfouten onmogelijk zijn.
Testen
Na het solderen schroef je de DVD-lezer aan de X-as-plaat en de hoofprint. De motordraden worden aangesloten op de schroefheaders. Met een eenvoudige testcode voor de stappenmotor kun je controleren of de motor correct beweegt.
// Testcode voor stappenmotor X-as
#include <Stepper.h>
const int stepPerRotation = 20;
Stepper myStepperX(stepPerRotation, 8,9,10,11);
void setup() {
myStepperX.setSpeed(100);
myStepperX.step(100);
delay(1000);
myStepperX.step(-100);
delay(1000);
}
void loop() {}
Stap 8: Assemblage van de mechanische onderdelen
Schroef de tweede stappenmotor aan de Y-as-plaat. Zodra de Y-as klaar is, heb je beide assen klaar om het tweeaassige vlak te creëren. Plaats de twee assen onder 90° ten opzichte van elkaar.
De penhouder maken
Plaats een kleine as in een veer om de 3D-geprinte penhouder te houden en schroef de servomotor vast. De penhouder wordt met hete lijm aan de wagen van de Y-as geklebt, zodat hij kan glijden. Het actieve plateau wordt aan de wagen van de X-as geklebt. Ten slotte worden de motordraden aangesloten op de connectors op de printplaat. Na wat afwerking is het mechanische ontwerp klaar voor actie.
Stap 9: Softwaredeel
We combineren drie softwarepakketten om de machine tot leven te wekken:
- Inkscape – om het ontwerp te maken en een G-code-bestand te genereren.
- Arduino IDE – om de firmware naar de Arduino te uploaden.
- Processing – om de G-code te koppelen aan de machine en de tekening te starten.
G-code voorbereiden met Inkscape
Stel in Inkscape de papierformaat en eenheden in. Maak je ontwerp en sla het op als "MakerBot Unicorn G-code". Als dit formaat niet beschikbaar is, installeer dan de benodigde add-on. Bij het opslaan verschijnt een venster voor G-code parameters; volg de instellingen zoals in de handleiding.
De machine koppelen aan het G-code-bestand met Processing 3
Open in Processing het bestand "CNC program" (te downloaden van de GitHub-repository) en start het. Een tweede venster opent. Druk op de toets p om de COM-poort te selecteren en op g om het G-code-bestand te kiezen. De machine begint direct te tekenen.
Stap 10: Test en resultaten
Na het uploaden van het G-code-bestand begint de machine te tekenen. De resultaten zijn uitstekend en het project is zowel prachtig als makkelijk te bouwen. Vergeet niet onze vorige projecten te bekijken en ons YouTube-kanaal te abonneren voor meer leuke video's!
Blijf elke dag electronica doen!
Het was BEE MB van MEGA DAS. Tot de volgende keer!
Code
Alle benodigde softwarebestanden vind je in de GitHub-repository: https://github.com/BEEMB/CNC_Plotter
Aangepaste onderdelen en behuizingen
STL- en DXF-bestanden voor de gelasersneden en 3D-geprinte onderdelen: CAD-bestanden op Thingiverse
Schema's
Schakelschema (PDF) en Gerber-bestand voor de PCB: schamatic_Z2mcsRwq7L.rar
Productieproces
- CNC-Machines: Geschiedenis, Ontwerp en Toekomsttrends
- Bouw je eigen DIY huiswerk-schrijfmachine thuis
- Bouw een Ultrasonische Zweefapparaat met Arduino – Stap-voor-stap Handleiding
- Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
- Find Me: Slimme Item Locator met Arduino en Bluetooth
- DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
- Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
- Arduino 101: Bouw een teller met DHT11 sensor & LCD display
- Bouw een Arduino RGB Kleur Mixer – Stap-voor-stap Handleiding
- Bouw een Volledig Functionele CNC-machine met Arduino Nano R3
- CNC-freeskes: Een uitgebreid overzicht