Stap 9: Motion Control: 100 watt DC servo motor controller voor $120, of voor $30 + enkele coderingen.
Ik gekozen om de CNC zeepbel iris met een DC-servomotor controle. DC servomotoren zijn enorm betere prestaties dan de stappenmotoren van gelijkwaardige stroomverbruik: sneller, sterker, meer accuraat, en vooral, kunnen handhaven nauwkeurigheid ondanks eventuele obstakels. Een DC-servomotor is een DC-motor die beschikt over een manier van zijn positie, met name een quadrature optische encoder sensing, aangesloten op de schacht. Een domeincontroller vergelijkt waar er waar het moet, en past de motor het koppel als dit nodig is om het naar de gewenste positie, met behulp van een algoritme genaamd "Evenredige, integraal, afgeleide", of "P.I.D. besturingselement". Ze zijn complexer instellen en besturen van beide omdat er meer draad connnections worden gemaakt - meestal vier extra draden (macht, gemalen, kanaal A, kanaal B, verbinding met het coderingsprogramma), en omdat een specifieke microprocessor moet constant controleren en het koppel dat de motor worden aangepast, afhankelijk van het heeft plaats. Ik heb dit eerder gedaan en zal publiceren onder afzonderlijk dekking een gedetailleerde procedure op te bouwen uw eigen voor ongeveer $30. ($20 voor een arduino of teensy 3.1 microcontroller met een arduino script, en $10 voor een H-brug LMD18200 versterker module , en met behulp van de open-source encoder bibliotheek en PID bibliotheek.) Er is ook een grote commerciële product dat met behulp van DC servomotoren enorm vereenvoudigt, waardoor u te praten met het station net als u wil een stepper motor-driver: met stap en richting pulsen. Ik gebruik deze controller, de GeckoDrive G320X stationgekozen. Na een eenmalige installatie is het station zo gemakkelijk te gebruiken als een stepper motor rijder.
Hier is een video van het openen van de iris van de zeepbel op belachelijke snelheid.
Vlotte versnelling en stap-maximumsnelheid met de AccelStepper-bibliotheek
De AccelStepper bibliotheek is een gratis open source bibliotheek voor de arduino compatibel microcontrollers snel berekening en timing van de opeenvolgingen van de stap om vlotte versnelling profielen en trapeziumvormige snelheid profielen. Het is nuttig voor stappenmotoren en servomotoren die wordt geboden in discrete stappen, zoals met de Geckodrive worden hier gebruikt. Ik vond dat op een Arduino Uno kloksnelheid van 16MHz, de maximale staptempo ongeveer 1.2 Khz. Dit is onvoldoende snelheid voor een servomotor, effectief, als 2048 stappen per omwenteling (dit wordt bepaald door de resolutie van de optische encoder gekoppeld aan de servomotor). Dus, met de Arduino uno, de maximale snelheid in dit geval zou ongeveer 30 rpm. Het vergroten van de snelheid van de stappen die zijn uitgegeven met de code accelstepper, opwaarderen mij voor de Teensy 3.1 microcontroller, die draait op 72MHz en annuleerteken zitten overclocked voor 96MHz. Ik klokte de AccelStepper bibliotheek produceren soepel getimede stap sequenties tot ruim 10 Khz of de snelheid van ongeveer 300 rpm, wat meer dan genoeg voor deze toepassing (zie video).