Inhoudsopgave:
- Stap 1: Theorie
- Stap 2: Database
- Stap 3: Apache instellen
- Stap 4: PHP instellen
- Stap 5: De machine ontwerpen
- Stap 6: De machine maken
- Stap 7: Arduino-code
- Stap 8: Python-programma
- Stap 9: De onderdelenkiezer gebruiken
Video: CNC onderdelenverzamelmachine - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Als je een serieuze maker bent zoals ik, dan heb je waarschijnlijk talloze weerstanden, condensatoren en verschillende andere elektronische componenten rondslingeren. Maar er is een groot probleem: hoe houdt men bij wat of hoeveel van iets ze hebben? Voor dit probleem heb ik een CNC-machine gemaakt die informatie haalt uit een MySQL-database die vervolgens het gevraagde item gaat ophalen. Naast de back-end van de database, heb ik een front-end webpagina gemaakt waarop gebruikers kunnen inloggen en vervolgens categorieën onderdelen kunnen maken, nieuwe onderdelen kunnen toevoegen en de hoeveelheden onderdelen kunnen wijzigen. Op deze manier kan elk afzonderlijk item worden verantwoord, net als een voorraadbeheersysteem.
componenten:
- Arduino UNO en echte UNO
- Machineschroeven: 8 mm, 3 mm, 4 mm
- MOSFET N-kanaal
- Gelijkrichterdiode 1N4001
- Stappenmotor NEMA 17x2
- Driver DRV8825 voor stappenmotoren x2
- Condensator 100 µF x2
- DFRobot servogrijper
- DFRobot Distributieriem x2"
- DFRobot 5MM Timing Katrol x2
- DFRobot Lineair Lager 6mmx12mm x2"
- DFRobot kogellager 8mmx12mm
Stap 1: Theorie
De basis van dit systeem is het bijhouden van de voorraad. Als iemand bijvoorbeeld 20 Arduino Uno-kaarten koopt, kunnen ze dat bedrag gemakkelijk toevoegen aan een databasetabel. De categorie zou zijn "Arduino", de naam van "Uno", en een hoeveelheid van 20. Voor meerdere personen zou de eigenaar van dat onderdeel de gebruikersnaam zijn van de persoon die het heeft toegevoegd. Het onderdeel zou ook gegevens bevatten over de locatie op een raster. Telkens wanneer het onderdeelbedrag verandert, selecteert de CNC-machine dat onderdeel en geeft het aan de gebruiker.
Stap 2: Database
Ik had een alomtegenwoordige database nodig die toegankelijk was voor zowel Python als PHP. Het moest ook gemakkelijk te gebruiken zijn met veel ondersteuning, waardoor MySQL de perfecte databaseserver was. Ik begon met het downloaden van het mysql-installatieprogramma van https://dev.mysql.com/downloads/windows/installer/ en voerde het vervolgens uit. Ik koos ervoor om de server (natuurlijk) te installeren, en ook de werkbank, shell en hulpprogramma's. Wanneer u een gebruikersnaam en wachtwoord kiest, zorg er dan voor dat u deze onthoudt, omdat dezelfde inloggegevens nodig zijn in alle PHP-bestanden en het Python-script. Nadat de server is gestart, moet deze als achtergrondproces worden uitgevoerd, zodat deze altijd actief is. Vanaf hier moet alles worden gespeld en in exact dezelfde volgorde als ik het heb. Maak vervolgens een nieuwe database (schema) met de naam "componenten". Voeg vervolgens de volgende tabellen toe: "categorieën", "onderdelen" en "gebruikers". Voeg in de categorieëntabel de volgende kolommen toe in deze exacte volgorde: "id" -int(11), PK, AI; "naam" -varchar(45); "eigenaar" - varchar(45).
Voeg in de onderdelentabel de volgende kolommen toe in deze exacte volgorde: "id" -int(11), AI, PK; "categorie" -varchar(45); "naam" -varchar(45); "hoeveelheid" -int(11); "eigenaar" -varchar(45); "locatieX" -int(11); "locatieY" -int(11);
Voeg in de gebruikerstabel de volgende kolommen toe in deze exacte volgorde: "id" -int(11), AI, PK; "gebruikersnaam" -varchar(45); "wachtwoord" -varchar(128);
Stap 3: Apache instellen
De webpagina's die ik heb gemaakt, maken gebruik van HTML, CSS, Javascript en PHP. Begin met het downloaden van de nieuwste apache-versie van https://www.apachelounge.com/download/ en pak het uit door de map naar de map C:\ te verplaatsen. Download vervolgens PHP van https://windows.php.net/download#php-7.2 en zorg ervoor dat het de Thread Safe-versie is. Pak het uit, hernoem het naar "PHP" en verplaats het naar de map C:\. Ga dan naar C:\Apache24\conf\httpd.conf en bewerk het. Voeg de volgende regels toe direct onder de sectie:
LoadModule php7_module C:/PHP/php7apache2_4.dll
DirectoryIndex index.html index.php
AddHandler-toepassing/x-httpd-php.php
PHPIniDir "C:/PHP"
Test vervolgens uw server door httpd.exe in de bin-map uit te voeren. Ga naar "localhost/" in uw browser en kijk of de hallo wereld-pagina verschijnt. Als dat zo is, hoera, je hebt nu een lokale webserver.
Stap 4: PHP instellen
Om MySQL voor PHP in te stellen, moeten verschillende dingen worden gedaan. Hernoem eerst "php.ini-recommended" naar "php.ini" en open het vervolgens in Kladblok. Ga naar de sectie extensies en voeg "extension=php_mysqli.dll" toe of verwijder het commentaar, waardoor PHP kan communiceren met de MySQL-server. Start nu httpd.exe opnieuw en maak een nieuw bestand met de naam "phptest.php" en plaats het in het bestand. Ga nu naar localhost/phptest.php en kijk of uw browserinformatie verschijnt.
Stap 5: De machine ontwerpen
Ik begon met het maken van enkele basisonderdelen in Fusion 360: een staaf van 6 mm, lineair lager en een stappenmotor. Daarna spande ik twee staven om de y-as te vormen, en plaatste ook een distributieriem rond de stappenmotor en het lager. Ik heb ook een x-as toegevoegd. Ik ben toen begonnen met het 3D printen van verschillende onderdelen en ook CNC gerouteerd twee zijpanelen.
Stap 6: De machine maken
Ik heb uiteindelijk meerdere iteraties van elk onderdeel doorlopen, dus als er een zijn die anders is, is dat de reden. Ik begon met het schuren van elk onderdeel en boor vervolgens elk gat in de 3D-geprinte onderdelen. Daarna plaatste ik lineaire lagers in de gaten en liet ik de staven van 6 mm erdoorheen lopen. Ik heb ook de stappenmotoren op hun respectievelijke locaties gemonteerd nadat ik de katrollen aan hun assen had bevestigd. De distributieriem werd voor beide assen om elk van de twee zijden gelust. Uiteindelijk realiseerde ik me dat de grijper te omslachtig zou zijn, dus koos ik in plaats daarvan voor een elektromagneet. Ik heb ook wat hulp gehad bij het bouwen, in de vorm van een kat.
Stap 7: Arduino-code
Mijn basis voor deze machine was GRBL. Het begin van de code vermeldt verschillende parameters, zoals afstand per rotatie, offsets en begrenzingen. Ik heb de BasicStepperDriver-bibliotheek gebruikt om de DRV8825-stappenmotorstuurprogramma's te besturen. De stepper-drivers zijn ingesteld om 1/32 micro-stepping te gebruiken, waardoor de resolutie wordt verhoogd. Telkens wanneer de machine "opstart", doorloopt deze een homing-reeks waarbij elke as stapt totdat deze een eindschakelaar raakt. Vervolgens beweegt het op basis van de offset naar een ingestelde locatie en stelt de locatie in op 0, 0. Wanneer het nu een verplaatsingscommando via serieel ontvangt, gaat het naar die rasterlocatie.
Stap 8: Python-programma
Ik koos ervoor om Flask te gebruiken als een webserver die GET-verzoeken van de hoofdwebsite zou ontvangen. De verzoeken bestaan uit de naam en categorie van het onderdeel. Nadat Flask het heeft afgehandeld, worden de gegevens geparseerd, waarna de MySQL-server wordt gevraagd om de locatie van het onderdeel te achterhalen. Vervolgens stuurt het python-script een commando naar de Arduino om aan te geven waar het onderdeel is.
Stap 9: De onderdelenkiezer gebruiken
Ik heb de websitebestanden in mijn github-repository geleverd: https://github.com/having11/cnc_part_picker_webpages Vervang de ontbrekende parameters in de PHP-bestanden voor uw specifieke MySQL-server. Zet de bestanden in de htdocs-map in de Apache-map. Voer gewoon het python-script uit en wanneer het onderdeelbedrag wordt gewijzigd, gaat de machine naar die locatie en haalt het op. Vind de 3D-printbestanden hier en de webpaginabestanden hier.
Aanbevolen:
Dobladora CNC: 6 stappen
Dobladora CNC: Het belangrijkste is dat het project wordt uitgevoerd en dat er een machinale dobladora van de CNC-machine is, een hoofdbestanddeel van de afbeelding van 0,8 / 0,9 / 1 mm en CUALQUIER forma 2D. la construcción de esta maquina es sencilla de realizar, con piezas que no dificultan
CNC servo stepper (geschikt voor GRBL): 4 stappen
CNC Servo Stepper (GRBL Capable): Dit project is een vrij eenvoudige motorcontroller die het gebruik van goedkope krachtige DC-motoren met GRBL mogelijk maakt om de spindels van een CNC-machine te bedienen. Bekijk de video hierboven voor een demonstratie van deze controller op mijn zelfgebouwde CNC-machinecon
CNC-plotter: 3 stappen
CNC-plotter: Ciao a tutti!Prima di tutto mi presento! Sono nuovo in Instructables.Sono Andrea Solari, 25 jaar geleden bekroond in ingegneria elettrica. In questi anni ho creato molti progetti personali, è giunto il momento di pubblicarne alcuni! se sei interes
CNC-MACHINEPROJECT: 6 stappen
CNC-MACHINEPROJECT: Korte samenvatting van mijn project: - Een CNC-machine of computernumerieke machine is ontworpen om verschillende machinefuncties te besturen met behulp van computerprogramma's. In dit project is de machine zo gemaakt dat de code die ervoor is gemaakt kan worden gebruikt om de uitkomst te tekenen
Arduino CNC-tekenmachine (of de weg naar succes): 10 stappen (met afbeeldingen)
Arduino CNC-tekenmachine (of de weg naar succes): dit project is voornamelijk gebaseerd op items die gemakkelijk te vinden zijn. Het idee is om twee ongebruikte computerschijfeenheden te nemen en deze te combineren om een geautomatiseerde tekenmachine te maken die lijkt op een CNC-machine. De stukken die uit de schijven worden gebruikt, zijn de mo