Arduino ATmega

Beste forumleden,

Dit jaar moeten wij een project voor school afmaken dat het mogelijk maakt een bipolaire stappenmotor heen en weer te laten gaan door middel van ene arduino mega.
Momenteel hebben we enkel nog problemen gehad, oa de motor dat geluid maakt maar niet(of amper) draait.We dachten aan te weinig spanning of stroom maar we zijn er nog niet uit. We gebruiken een H bridge dat voor de bipolaire stappenmotor gemaakt zou zijn en zou normaal gezien correct aangesloten moeten zijn.

Dus we hebben een stappenmotor die nog niet deftig draait op 12V Gelijk. En we moeten de motor heen en weer laten draaien.
Is het ook mogelijk een referentiepunt aan te duiden waarbij de stappenmotor moet stoppen en omkeer moet draaien ? bv: na 1meter te draaien ?

In bijlage vind u de H bridge aansluiting hoe wij de stappenmotor hebben aangesloten en welke stappenmotor wij gebruiken.(biP)

Dank bij voorbaat en een fijn weeken.

MVG

Untithhhled.png

Hallo en welkom.

Hoe wil je 1 meter draaien ? Dat zijn 2 dingen die erg weinig met elkaar te maken hebben als er niet meer factoren meespelen (die je niet gespecificeerd hebt).

Natuurlijk kun je een grens zetten in hoe ver je een stappenmotor beweegt. Want het moet bekend zijn hoe groot elke stap is. Zo niet, kun je dat meten. Daarna is het een kwestie van tellen.

En als je eerst een begin positie moet aannemen, kun je dat doen door ergens in het traject van je beweging een referentiepunt te creëren. Dat kan met licht of met een magnetisch veld, mogen jullie zelf iets voor bedenken als je dat nodig hebt.

Dan, je hoort de motor draaien, maar je ziet 'm niet bewegen. Heb ik een tipje voor je. Maak een groot object vast aan de as van je motor. Een groot wiel bijvoorbeeld (van papier of karton ofzo). Zet daarop een markering (duidelijk zichtbaar streepje), zodat je kan zien of het wiel ook maar een heel klein beetje verdraait. Zet met de hand dat streepje tegenover een ander, vast merkpunt. Schakel nu de bediening van je motor in, en kijk (heel goed) wat er gebeurt. Vermoedelijk draait je motor een klein stukje en gaat dan heen er weer, of blijft stil staan.

Je zegt te denken dat jullie de motor goed hebben aangesloten. Die motor van je plaatje heeft 5 draden (groen, wit, blauw, zwart en rood van links naar rechts). De motorsturing heeft er 4, of beter 2 keer 2. Je kunt met een multimeter vaststellen welke draden met elkaar verbonden zijn, en zo elke spoel vinden. Maar je kunt de polariteit van die spoel zo niet vaststellen. Dat kan wel als je een datasheet van de motor hebt. Anders moet je er van uitgaan dat je wellicht een van de spoelen omgepoold hebt. Je kunt dat vaststellen door slechts 1 van de spoelen omgekeerd aan te sluiten, en dan te zien of ie wel draait.

Als je wil weten of je m goed aangesloten hebt, moet je overigens de motor heel langzaam aansturen. Dus om de seconde een stapje laten maken bijvoorbeeld, dan kun je dus heel goed elke aparte stap zien. Als je gelijk op een bepaalde snelheid wil gaan draaien, kan dat al misgaan. Zeker als dat een relatief hoge snelheid is.

Dus als beginsnelheid == maxsnelheid, dan heb je zeker een probleem met massatraagheid. Daarom moet je eerst de massa in beweging zetten, en die beweging vervolgens versnellen.

Dit zijn allemaal zaken waar je rekening mee moet houden, en dan zijn er vast nog zaken die ik heb overgeslagen.

Dank, alles werkt nu zoals het hoort.

Alhoewel, de motor zoemt nogal, weet iemand waar dit aan zou kunnen liggen ?

dank bij voorbaat,

MVG

Stappenmotoren hoor je altijd, maar waarschijnlijk te weinig stroom (ampère). Er zal waarschijnlijk een potmeter op je stepperdriver zitten deze kan je dmv een multimeter precies afstellen.

Kijk hier eens naar, dit gaat over een ramps bordje voor 3d-printers maar werkt ook voor jou stepperdriver http://bootsindustries.com/portfolio-item/pots-adjustments/

Ik ben wel benieuwd naar wat je nu veranderd hebt om het aan de gang te krijgen. Anderen kunnen daar dan ook van leren.

Het zoemen hoor je inderdaad altijd. Dat komt omdat je niet een vleoiende beweging maakt, maar dus stappen zet, en je elke stap kunt horen. Als je dat geluid wil verminderen, kun je je later, als je verder alles onder controle hebt, eens op zoek gaan naar een microstepping oplossing. Daarmee zet je als het ware halve of kwart stapjes, die per stuk dan minder herrie maken. Je moet er dan natuurlijk wel weer veel meer stappen maken.

Wat ik veranderd heb op de motor te later draaien: Op de driver aka motorsturing zit onderaan een draai element of potmeter. Daarmee regel je de spanning dat de driver toe laat naar de motor(verbeter me als ik foutief ben aub) en zo is de motor beginnen draaien. De motor kreeg altijd te weinig spanning of stroom dat weet ik niet, waardoor hij geen beweging noch geluid maakte. En mijn voeding stond aan maar er ging geen voeding weg. Daarvoor zat mijn motorsturing op max, waardoor de motor te veel spanning kreeg en niet bewoog en alleen zoomde.

En door te beginnen draaien aan de potmeter op de driver, telkens een beetje maar, is hij uiteindelijk beginnen draaien. Hij maakt wel nog steeds een geluid, dat vind ik toch maar raar, heb schrik dat de motor doorbrand.

Als iemand weet hoe je het geluid kan dempen van de motor of mij met ZEKERHEID kan zeggen dat dit geen kwaad kan (liefst met source) dan is het ook goed.

dank bij voorbaat

Wat je met die potmeter instelt, is de stroom door die motor. Omdat de spanning een functie is van de stroom, zul je met een multimeter echter ook die spanning zien veranderen. Door heel langzaam aan die potmeter te draaien tot je de motor zag bewegen, heb je 'm ook goed ingesteld. Als je 'm maar niet ineens helemaal de andere kant op draait. Je zou nog ff kunnen proberen, als j 'm eenmaal hebt ingesteld, of je nog een tikkie terug kan draaien en dan te zien of de motor nog steeds draait. Wanneer je project klaar is en de motor op diens uiteindelijke kracht moet draaien, zou het kunnen zijn dat je de stroom nog iets hoger moet zetten. (Ik ga er van uit dat je nu met een losse motor dus onbelast aan het testen bent geweest)

Je hoeft niet bang te zijn dat de motor doorbrandt als je op deze wijze de stroom instelt, want dat is precies waarom die regelaar op je shield zit. Een stappenmotor zet dus telkens een enkele stap, en als je die stap gezet hebt en dan de stroom erop houd, remt ie. Dat betekent dat de motor niet zomaar gaat draaien door een of andere kracht die erop word uitgeoefend. Je kunt gerust proberen met de hand de motor te verdraaien als er geen stroom op staat, en vervolgens nog eens als er wel stroom op staat, je zult zien dat dat in het tweede geval niet of erg lastig zal gaan. Die motoren zijn hiervoor gemaakt en je kunt dit dus met een gerust hart doen.

Als ik jou was, zou ik je project verder afmaken, en nadien kijken of je iets kunt doen met dit shield en microstepping. Dan gaat het dus om prioriteiten, die kan ik niet voor je vaststellen, dat zul je zelf moeten doen.

Ik heb nog wel een vraagje over het zoemen. Is het zoemgeluid als de motor draait anders als het geluid als de motor stil staat ? In dat geval kan het namelijk zo zijn dat de shield of driver de stroom door de motor middels PWM stuurt, en dat je dus die PWM frequentie hoort in plaats van de stap frequentie.

Nu dat ik de potmeter goed heb ingesteld op de driver/shield hoor ik ene gezoom omdat er stroom? op de motor zit, die de motor zijn stand onthoud en vasthoud. Wat moet ik doen als ik voor mijn project ervoor moet zorgen dat de motor op dezelfde stand blijft als bv de spanning wegvalt ?

Ik maak een spuitcabine, met een spuitkop die een velg volledig zal spuiten. Daarvoor zorgen de twee stappenmotoren voor.

Ik heb nog even de datasheet van je driver chip opgezocht, en dat ding heeft al van zichzelf de mogelijkheid om microstepping te doen. Daarvoor gebruik je de pinnen m0 t/m m2. Als je die niet aansluit, is die als 0,0,0 geconfigureerd. Daarmee zet je hele stappen. Als je 0,0,1 instelt heb je halve stappen, als je 0,1,0 instelt heb je kwart stappen. Hierdoor zal er dus tijdens het draaien aanzienlijk minder geluid geproduceerd worden, maar je moet wel meer van die stappen zetten om je meter af te leggen.

Ook bevestigt die datasheet dat de driver een eigen PWM gebruikt om de stroom te regelen, en dat is dus het geluid dat je hoort als je motor stilstaat. Daarover hoef je je dus absoluut geen zorgen te maken, je motor zal niet verbranden.

Ik raad je aan die datasheet (klik !) te lezen. Ook als je niet alles daarin begrijpen zou, zal dit wel leiden tot een beter begrip van de werking van je motorsturing.

Als je wil voorkomen dat je installatie beweegt als de motor en/of driver zonder stroom komt te staan gaat bewegen, zul je zelf een rem moeten maken. Wanneer de spoelen van de motor kortgesloten worden, creëer je in principe ook een rem. Maar ik weet niet of die krachtig genoeg is om je installatie echt stil te zetten.

en een soort van geheugen creëren is dat mogelijk ?

dank voor u tijd.

Ik weet niet wat je daar precies mee bedoelt.
Ik vermoed dat je bij spanningsuitval wil vastleggen waar je was gebleven, en als de spanning hersteld is, dat je dan vanaf die positie hervat ?
In dat geval kun je een extern geheugen nemen waarin alles opgeslagen kan worden (zoals een I2C eeprom), en de spanning nog heel even door te laten gaan nadat er een spanningsuitval gezien word.
Dat kun je doen met een batterijtje of een relatief “dikke” condensator.
Als de spanning wegvalt, moet dat een signaaltje naar je Arduino geven.
Die moet zo snel mogelijk daarna de instellingen opslaan in die eeprom, en wanneer de spanning terug komt moet dat weer uitgelezen worden.
In eerste instantie zou je dan denken dat dat signaaltje via een interrupt moet komen, maar in een interrupt heb je niet genoeg tijd om die gegevens in een I2C eeprom op te slaan.
Daarmee kom je dan een aardig eind in de buurt.

Maar als je spuitcabine een paar minuten spanningsloos is, is je werk vermoedelijk ook al verpest.