Arduino - řízení krokového motoru



Podobné dokumenty
Arduino - řízení krokového motoru

Řízení Brushless DC motoru 57BLF03 s driverem BLDC-8015A pomocí Arduina

Víkendový projekt: Bezklíčové otevírání domovních dveří

eses výukový multi shield pro Arduino UNO

Středoškolská technika Scoreboard výsledková tabule pro volejbal, fotbal, házenou a jiné míčové sporty

TFT LCD shield pro Arduino Mega 2560

1 Podrobná specifikace Yunifly Datasheet

Správné letování konektorů

Středoškolská technika 2012 CNC, BUDOUCNOST DOMÁCÍCH TISKÁREN

Merkur perfekt Challenge Studijní materiály

TFT LCD shield MCUFRIEND

Firmware USBasp pro modul AVRUSB. Milan Horkel. Parametr Hodnota Poznámka. Rozhraní USB Low Speed. Procesor ATmega8 ATmega88 Varianty překladu

Vánoční hvězda 2. Publikované: , Kategória: Blikače a optika.

ArduinotechGSMShield knihovna

MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Část 2

Cílem dnešní lekce je obohatit náš dosavadní systém a připravit se na připojení do cloudu

Automaticky stabilizované 4kolové vozidlo

Elektronická stavebnice: Teploměr s frekvenčním výstupem

WNC::WebNucleatCreator

Nový redakční systém pro detsky-web.cz /.sk

Středoškolská technika Robot MEDVĚDÁTOR

Laboratorní zdroj - 6. část

robot FERDA verze 1.0 beta L07 FERDA 2015 Tomáš Feltl TFSoft &

AXEmotor-10. Schéma zapojení AXEmotor-10: Popis zapojení. o bčasník p r o u ž i v a t e l e m i k r o k o n t r o l é rů PICAXE

Universální CNC stolní vrtačka

1. POPIS 2. SPECIFIKACE. ECLIPSERA s.r.o. Distributor pro ČR. VÝROBNÍ ČÍSLO. Tento malý a kompaktní modul je schopen určit vaši polohu

Středoškolská technika 2016 SOUŘADNICOVÁ FRÉZKA

Studentská tvůrčí a odborná činnost STOČ 2017

Rozhraní mojeid pro smartphone

Rezonanční řízení s regulací proudu

Návrh konstrukce odchovny 2. dil

Arduino Martin Friedl

Čtečka otisků prstů 1. POPIS 2. SPECIFIKACE. ECLIPSERA s.r.o. Distributor pro ČR. VÝROBNÍ ČÍSLO

CHYTRÝ PŘEPÍNAČ KYTAROVÝCH EFEKTŮ

CNC Technologie a obráběcí stroje

První kapitola úvod do problematiky

Středoškolská technika 2017 MINI 3D FRÉZKA

ÚVOD. Výhoda spínaného stabilizátoru oproti lineárnímu

WiFi LED informační panel

setup() { I = 0; } loop() { I = I + 1; }

Merkur perfekt Challenge Studijní materiály

Automatic Home System

Vstupy a výstupy základní sady modulů

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Popis vývodů desek, jejich zapojování a spárování robota

CNC Technologie a obráběcí stroje

FILIP SCHWANK. Katedra měření, listopad 2017

NÁVOD JAK NA TO. autor: Josef Cvrček.

Uživatelská příručka

PKM 02. Jednotka řízení krokových motorů. Příručka uživatele AUTOMATIZAČNÍ TECHNIKA

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: Předmět: ZAP

Datalogger Teploty a Vlhkosti

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST

ARDUINO L06. Programování a robotika snadno a rychle? Tomáš Feltl. Připraveno pro kroužek robotiky JAOS. Kroužek JAOS Farní sbor ČCE v Poličce

Logické řízení s logickým modulem LOGO!

Zařízení pro sledování polohy objektu pomocí GPS

Univerzální jednočipový modul pro řízení krokových motorů

Scada systém Promotic s přímým driverem pro PLC Simatic S7

První přihlášení do CMS. Po přihlášení

Programovatelný časový spínač 1s 68h řízený jednočip. mikroprocesorem v3.0a

Pro zprovoznění komunikace našeho Sigfox modemu se sítí je potřeba udělat následující kroky. Jako první si otevřeme webové stránky

Elektronická stavebnice: Generátor frekvence s optickým a akustickým výstupem

Stručný návod pro návrh přístrojového napájecího zdroje

1. Jde exportovat Power pointové sekvence do *.avi?

TECHNICKÁ UNIVERZITA V LIBERCI Studentská 1402/ Liberec 1

Elektronická stavebnice: Deska s jednočipovým počítačem

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

KP MINI KP MINI CONTROL

Robot Lego Mindstorms NXT doplněný o kamerku a software v jazyce C#

Elektronický přepínač rezistorů, řízený PC

Full HD širokoúhlá kamera s DVR

Měření radioaktivního záření pomocí Arduina

TIPES ČASTO KLADENÉ DOTAZY

VUT EBEC2017 Projekt. Wiping Turn Indicator Audi TT

Po zapnutí v klidovém stavu svítí červená LED (slabě, malý proud), při sepnutí výstupu se rozsvítí na dobu danou NE555 zelená LED.

PGSM-M10 - GSM/GPRS moduly s M10

6 Příkazy řízení toku

Krokové motory. Klady a zápory

Programátor AVRProg USB v3 MK II Eco Manuál

CHEAPTRONIC v1.0. 1) Drivery motorů

ETC Embedded Technology Club setkání 3, 3B zahájení třetího ročníku


UŽIVATELSKÝ MANUÁL FOTOPAST ACORN LTL-5210

Secutron Mini DVR. Návod k obsluze. Hlavní výhody: Jednoduché ovládání. podpora SD karty až 64Gb. Stránka 1

Uživatelská příručka

STABILIZACE PROUDU A NAPĚTÍ

MAKER WORKS TECHNOLOGY INC Technická podpora:

ARDUINO L05. Programování a robotika snadno a rychle? Tomáš Feltl. Připraveno pro kroužek robotiky JAOS. Kroužek JAOS Farní sbor ČCE v Poličce

REGULOVANÝ STABILIZOVANÝ ZDROJ

otazky jakž takž, ale hodnocení.. prej objektivní!!!!!!! hodne ště Stránka 1

Cvičení 2. Obsah a cíle cvičení. Obsah. A5MPL Programování mikropočítačů Digitální vstupy a výstupy - LED a tlačítka.

GSM/GPRS modul pro Arduino

Středoškolská technika ArduMoto. Setkání a prezentace prací středoškolských studentů na ČVUT. Kaiser Miroslav

LC oscilátory s transformátorovou vazbou

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce.

Řídicí systém pro každého

3D tiskárna. Martin Bílý Ondřej Chmelka. Smíchovská SPŠ Preslova 25, Praha 5

Přílohy. Příloha 1. Schéma řídicí části. Schéma zapojení řídicí části

Nesmazatelné obrázky v galerii Odeslal Maskyc :10

Návrh a realizace počítače skóre. Počítače skóre. Michal Černý. VOŠ a SŠSE Novovysočanská 48/280 Praha 9

Transkript:

Arduino - řízení krokového motoru autor: Johny, arduino, dne 11.11.2014 Delší dobu si na amatérské úrovni hraju s Arduinem. Už jsem zapojil hromadu různých legrácek, které by se občas hodili. Bohužel, často to jen zapojím zkusím funguje rozeberu zapomenu. Často je tak zapojení včetně programu ztraceno na vždy. A přitom třeba debugger DMX signálu za pár korun by se mi už tolikrát hodil! Měl jsem si to poznamenat. Znovu to znovu hledat a ladit se mi strašně nechce :( Proto jsem se rozhodl občas zde zveřejnit nějaké mé zapojení a programy tak, abych s odstupem času měl kam sáhnout, super, ne? :) Mé zapojení krokového motoru Dnes zkouším krokový motor Protože dlouho sním o vlastním CNC (frézka), tak je pro mě důležité vyřešit pohon. Vím, že se používají krokové motory a jeden takový jsem před časem koupil na EBAY za pár korun včetně řadiče. Jak se později ukázalo, řadič je vlastně jediný integráč který vlastně jen spíná silově vývody, tedy v podstatě je to jen hromádka tranzistorů v hezkém pouzdře (konkrétně ULN2003). Na mém ovládacím modulu jsou pro jednotlivé vývody do motoru navíc zapojené LED diody, takže je krásně názorně vidět, jak jsou vždy dvě po sobě jdoucí vývody na HIGH a dva na LOW, přesně to odpovídá dvojím vinutí v motoru.

Když jsem ještě víc pátral, našel jsem obrázek řízení krokového motoru pomocí paralerního portu PC zde je každý vývod zapojen na jeden výstup portu, pro názornost vkládám obrázek včetně obvodu ULN2003. To dále vysvětluje, proč většina čínských CNC strojů vyžaduje v dnešní době LPT port :-) Jak to je s řídícím obvodem -a zapojení přes LPT. Zdroj: electronics-diy.com Jak to tedy nakonec oživit? Program, který nakonec motor roztočil využil v první fázi knihovnu Stepper která je součástí arduina. Stačilo jen dopsat piny, na které jsem motor zapojil (v mém případě 8,9,10,11). Dále sem dopsal počet kroků. Zapojení pak předpokládá že na pinu A0 mám potenciometr pro nastavení rychlosti. #include <Stepper.h> const int stepsperrevolution = 200; Stepper mystepper(stepsperrevolution, 8,9,10,11); int stepcount = 0; const int analogpin = A0; //sem je připojene poťák void setup() { void loop() { int sensorreading = analogread(a0); //načtu hodnotu z A0 (poťák) int motorspeed = map(sensorreading, 0, 1023, 0, 100); // změna rozsahu, hezká věc ;-) if (motorspeed > 0) { mystepper.setspeed(motorspeed); mystepper.step(stepsperrevolution/100);

Ačkoliv se motor točil, tak strácel kroky, nefungoval druhý směr. Asi to bylo tím, že spínání cívek bylo takové, že spínal vždy jen jednu, tedy 1000 0100 0010 0001. Dole jsem si to napsal po svém, a to už funguje dobře! Samozřejmě aby to běželo, bylo potřeba motoru poskytnout nějaké napájení. Já nad tím v první chvilce nepřemýšlel a když bylo na plošném spoji driveru motoru napsáno 5 12V, zapojil jsem to na 7.5V baterii kterou jsem vyhrabal v šuplíku. Později, když sem si sáhl na horký motor mi došlo, že to peru přímo do něj ačkoliv na něm je uvedeno že je na 5V. No, neshořel dodnes (cca 4 dny topeení motorem). Ten popisek na driveru je zavádějící, co já mám zkoumat, zda tam je nějaký spínaný zdroj pro krokáče :) Názorně upravený program Pro lepší pochopení, jak vlastně krokový motor funguje mi pomohlo nalezení tabulky, kde je zobrazeno jak přesně vypadají jednotlivé kroky a jak jdou po sobě. Z toho se dá pak snadno sestavit program níže bez použití knihoven. Je dobré vidět přesně jak každý krok vypadá. Jinak je program naohrabaný, tedy fakt jen jako ukázka fungování ;-) int Pin0 = 8; int Pin1 = 9; int Pin2 = 10; int Pin3 = 11; int _step = 0; boolean dir = true; // gre const int analogpin = A0; long lastjob1; void setup() { pinmode(pin0, OUTPUT); pinmode(pin1, OUTPUT); pinmode(pin2, OUTPUT); pinmode(pin3, OUTPUT); void loop() { switch (_step) { case 0: digitalwrite(pin3, HIGH); case 1: digitalwrite(pin2, HIGH); digitalwrite(pin3, HIGH); case 2: digitalwrite(pin2, HIGH); case 3: digitalwrite(pin1, HIGH); digitalwrite(pin2, HIGH); case 4: digitalwrite(pin1, HIGH);

case 5: digitalwrite(pin0, HIGH); digitalwrite(pin1, HIGH); case 6: digitalwrite(pin0, HIGH); case 7: digitalwrite(pin0, HIGH); digitalwrite(pin3, HIGH); default: int sensorreading = analogread(a0); if (millis() > (1000 + lastjob1)){ if (dir){ dir = false; else{ dir = true; lastjob1 = millis(); if(dir){ _step++; else{ _step--; if (_step > 7) { _step = 0; if (_step < 0) { _step = 7; int motorspeed = map(sensorreading, 0, 1023, 0, 100); delay(motorspeed); A je to! Když jsem si to sem napsal, už to nezapomenu a kdykoliv budu moci zopakovat, není to super? :-) Připojená fotogalerie: 2014/2014_11_11_Stepper/ Podobné články: Arduino a RC vysílačka 9.12.2014 Arduino a krokový motor potřetí 20.11.2014 Arduino a motor 28BYJ-48 podruhé 17.11.2014

Implementace ICMP Pingu v PHP 10.1.2013 Štítky tohoto článku: 28byj-48 arduino programovani Diskuze: Arduino - řízení krokového motoru 1. Pavel (17.5.2015, 22:18) Zdravim muzu se zeptat kde bych to mohl sehnat a za kolik?predem dekuji za odpoved Johny ( http://nul.cz 21.5.2015 21:31) Dobrý den, motory kupuji na ebay, stačí dát vyhledávat jméno motoru. Zde třeba jeden konkrétní i s driverem za cca 60 korun: http://www.ebay.com/ 181013743961? Pavel (22.5.2015 17:50) Dobre ale kde sezenu ten regulator na otacky?a ten driver to je co za ucel? Johny ( http://nul.cz 23.5.2015 00:03) Nějak nerozumím dotazu. Vždyť odkaz na motor včetně driveru jsem dal, né? Kromě motoru a driveru je ve videu ještě arduino + jeden potenciometr. Nic víc. ISD ( http://www.isd-webspace.com 13.10.2015 11:17) napr aj tu: http://www.banggood.com/ p-74397.html 2. Johny ( http://nul.cz 23.5.2015, 00:03) Nějak nerozumím dotazu. Vždyť odkaz na motor včetně driveru jsem dal, né? Kromě motoru a driveru je ve videu ještě arduino + jeden potenciometr. Nic víc. 3. pavel (23.5.2015, 11:15) Tak moment tak ze ja koupim z ebaye motorek s drivrem a tady potenciometr ktery pak zapojim kde?pak vidim na fotce ze je zapojenej do modre desky.koukal jsem pak jeste na servocity.com a tam to maji sice palka jak hrom 4 servo controle nejak 109,99$ Johny ( http://nul.cz 26.5.2015 15:56) Aha! Článek pojednává o Arduinu takže mě nenapadlo, že nevíte, co arduino (modrá deska) na obrázku je. Arduino je plošný spoj s procesorem (většinou značky Atmel). Je to tomu vývojové prostředí které umožňuje snadno programovat. Nicméně, asi si o tom něco zistěte. Nejlevnější arduino (které je ale na řízení krokového motoru dostatečné) je Arduino Pro Mini a stojí na ebay kolem 70Kč. Pak tedy máte arduino+driver+motor a celé to je do 150 korun. Jen to prostě nefunguje samo programuje se.

Víc info pro uplné začátečníky třeba zde: http://www.hwkitchen.com/ uino-uvod-1/ 4. Pavel (27.5.2015, 10:30) Aha tak to se omlouvam ze jsem nenapsal ze nevim co je audrino no a je nekde ceske schema treba k tomuhle regulatoru? http://www.dx.com/ 6-90v-290621# Jelikoz nevim jestli by se platilo clo a dan pak na to me upozornil kamos. Jejpi (5.6.2015 13:53) Při těchto malých částkách nemusíš mít z daní ani cla strach. Přes ebay jsem již nakoupil stovky položek do 500, a nic nepodléhalo clu. Při nákupu je potřeba hlídat cenu za dopravu (většinou se dá najít zdarma). Také počítej u některých čínských výrobků, že za tu cenu nemůžeš očekávat excelentní kvalitu. 5. Pavel (5.6.2015, 19:00) Ok diky za info;) jak budu mit hotovo tak poslu odkaz na video a jeste jednou diky :) Diskuze: Arduino - řízení krokového motoru Vaše jméno (povinné) Váš email (nebude zveřejněn, povinný) WEB (bude zveřejněn, pište s http://) Text vzkazu: Kolik je 3 2? (ochrana proti spamu) Vložit příspěvek PDF vygenerováno 18.12.2015 08:32:52 z webu http://nul.cz. URL dokumentu je http://nul.cz/arduino/arduino-rizeni-krokoveho-motoru/