Obsah:
- Krok 1: Podívejte se na okruh
- Krok 2: Zapojte jej
- Krok 3: Nastavení souborů s hodnotami PWM
- Krok 4: Hrajte s DOSem: Konfigurujte svůj COM port a zkopírujte soubory
- Krok 5: Ovládejte motor z programu
- Krok 6: Experimentujte
Video: Sériově řízený motor s proměnnými otáčkami: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
Ovládejte rychlost malého stejnosměrného motoru pouze pomocí sériového portu v počítači, jediného MOSFETu a nějakého triviálního softwaru. (MOSFET a sériový port tvoří „ovládání rychlosti“; stále budete potřebovat motor a odpovídající napájecí zdroj pro tento motor; zatímco sériový port může poskytovat napětí pro zapnutí a vypnutí mosfetu, může ' t dodávat proud potřebný pro typický motor.)
Krok 1: Podívejte se na okruh
Uděláme Pulse Width Modulation pomocí generického N-kanálového napájecího MOSFET připojeného k datovému pinu Transmit z portu rs232 počítače. Když je sériový port nečinný, pin bude ve stavu „1“, což v době, kdy je přeložen do rs232, je něco jako -12V (v závislosti na ovladačích může být blíže k -9V nebo -5V) a tranzistor bude docela VYPNUT. Když vysíláme „0“bitů na sériový port, pin rs232 přejde na +12V nebo tak, což stačí k docela dobrému zapnutí většiny mosfetů.
Vysíláme -li mnoho „0“bis za sebou, motor bude téměř plně ZAPNUT a motor poběží rychle. Pokud vysíláme většinou „1“bitů, motor poběží pomaleji.
Krok 2: Zapojte jej
Protože existuje pouze jedna součást a jen několik připojení, můžete jednoduše přidat vodiče „volného tvaru“.
MOSFETy jsou citlivé na statiku, takže buďte trochu opatrní, ale velmi málo je kritické.
Krok 3: Nastavení souborů s hodnotami PWM
Jedním ze způsobů, jak ovládat motor, aniž byste museli psát ŽÁDNÝ software, je připravit nějaké soubory obsahující příslušné bajty (s více nebo méně 0 bity) a jednoduše je ZKOPÍROVAT do portu COM, kde máte připojený motor. Připravil jsem několik souborů (pomocí emacs, ale cokoli, co pro vás funguje, je v pořádku):
- 0.pwm:: obsahuje 5000 NULL znaků (řídicí prostor na většině klávesnic) [br] To je přibližně tak blízko „plné rychlosti“, jak se s touto technikou budeme moci dostat.
- 1. pwm:: obsahuje 5000 znaků ovládacího prvku A (ascii 01) (jeden bit "1" na znak)
- 3. pwm:: obsahuje 5000 znaků řídicího C (ascii 03) (dva bity "1" na znak)
- 7. pwm:: obsahuje 5000 znaků řídicí G (ascii 07) (tři bity "1" na znak)
- 15. pwm:: obsahuje 5000 ovládacích znaků (ASCII 15) (čtyři bity "1" na znak)
- 31.pwm:: obsahuje 5000 kontrolních _ znaků (ascii 31) (pět bitů „1“na znak)
- 63.pwm:: obsahuje 5000 "?" znaky (ascii 63) (šest bitů „1“na znak)
- 127.pwm:: obsahuje 5000 znaků DEL (ascii 127) (sedm bitů "1" na znak)
(Teď, když jsem nakreslil obrázky, si všimnete, že skutečné bitové vzory nejsou ideální. Protože sériový rs232 nejprve vysílá LSB, opravdu chceme místo jedniček posunout nuly. Cvičení pro studenta!)
Krok 4: Hrajte s DOSem: Konfigurujte svůj COM port a zkopírujte soubory
9600 bps je běžný datový tok. Pěkně se shoduje s „asi“jedním bajtem za milisekundu, takže v tomto případě corosponds na frekvenci PWM 1000 Hz, což by podle mě mělo být u malých motorů v pořádku. Můžete experimentovat s různými přenosovými rychlostmi, abyste zjistili, jak věci fungují, což je jedna z výhod této metody. Vytvořte okno DOS (nebo „Příkazový řádek“) (za předpokladu, že používáte operační systém Windows) a nakonfigurujte svůj port jako: mode com1: 9600, n, 7, 1 "To znamená, že komunikační port poběží rychlostí 9600bps a pošle 7 bitů v každém znaku (aby odpovídal našim 7 různým bitovým délkám.)" n "znamená ŽÁDNOU paritu, tak to budou jediné datové bity. „1“znamená, že bude existovat jeden „stop“bit, který nám zabrání v úplném zapnutí motoru (ach jo.) Takže nyní můžete motor zapnout příkazy jako: kopie 0.pwm com1: Protože posíláme 5 000 znaků přibližně 1 za milisekundu, motor by se měl zapnout téměř plnou rychlostí po dobu asi 5 sekund. Pokud chcete méně než 5 sekund, vytvořte kratší soubor. Podobně, můžete udělat: zkopírujte 127.pwm com1: aby motor běžel na nejnižší možnou rychlost. S nastavením, které jsem měl, by se motor vůbec netočil s ničím „pomalejším“než 31.pwm, ale YMMV (ředím k Měl jsem 12V motor s vybitím 5 V baterií.) Příkaz COPY vám umožní spojit soubory dohromady, takže pokud chcete, aby váš motor zrychlil a pak zase zpomalil, můžete udělat něco jako: zkopírovat 31. pwm+15. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:
Krok 5: Ovládejte motor z programu
Pokud píšete program, můžete pravděpodobně otevřít COM1: jako soubor a jednoduše do něj zapsat, jako by to byl jakýkoli jiný soubor. Zdá se, že by bylo velmi užitečné načasovat doby, po které je motor zapnut, zadáním určitého počtu znaků. Nezapomeňte, že systém velmi pravděpodobně ukládá do vyrovnávací paměti znaky, které posíláte na sériový port, takže to, že se vrátí volání WRITE, neznamená, že motor dokončil vše, co jste mu řekli. Vzhledem k tomu, že neděláme nic „fantazijního“se signály portů, neměli byste zkoumat tajemné možnosti, které by mohlo podporovat. (i když, pokud dokážete zjistit, jak poslat sekvenci BREAK na port com, je to nepřetržitý stav „0“a bude motor pohánět po celou dobu; více než odesílání nepřetržitých 0 znaků.)
Pokud vám váš programovací jazyk neumožňuje výstup na COM1:, můžete stále moci ovládat motor „voláním“systému DOS, který provede příkazy ke kopírování. (Dobře. Stáhl jsem si Microsoft Visual Basic Express 2005 (který je zdarma) a podařilo se mi svázat vodorovný posuvník s rychlostí motoru, ovládanou přes sériový port. Zip připojen. Pravděpodobně má více, než potřebuje k duplikování programu ve vašem systému, ale nemohl jsem přesně zjistit, jaké bity byly potřeba. Program je zjednodušený a obtížnější na pochopení (omlouvám se) tím, že je vícevláknový. Jedno vlákno nedělá nic jiného než výstup na sériový port a hlavní vlákno čte posuvník a aktualizuje informace používané sériovým vláknem.)
Krok 6: Experimentujte
Pokud věci v zásadě fungují, poskytuje to strašně velký prostor pro experimentování.
- Opravte moje bitové vzory!
- Záleží na bitrate hodně?
- Musíte ovládat šířku impulzů „zapnuto“a „vypnuto“, nebo stačí jednoduše ovládat jejich poměr?
- Pokud máte pouze ovládat poměr, můžete zvážit víceznakové sekvence s vyššími bitovými rychlostmi, abyste získali více úrovní rychlosti. Výstup 0 následovaný 127 by byl asi poloviční.
- To by mělo fungovat i pro stmívání žárovek.
Doporučuje:
Krokový motorem řízený krokový motor bez mikrokontroléru!: 6 kroků
Krokový motorem řízený krokový motor bez mikrokontroléru !: V tomto rychlém návodu vyrobíme jednoduchý ovladač krokového motoru pomocí krokového motoru. Tento projekt nevyžaduje žádné složité obvody ani mikrokontrolér. Takže bez dalších okolků začneme
Krokový motorem řízený krokový motor bez mikrokontroléru (V2): 9 kroků (s obrázky)
Krokový motorem řízený krokový motor bez mikrokontroléru (V2): V jednom z mých předchozích Instructables jsem vám ukázal, jak ovládat krokový motor pomocí krokového motoru bez mikrokontroléru. Byl to rychlý a zábavný projekt, ale přišel se dvěma problémy, které budou v tomto Instructable vyřešeny. Takže vtip
Krokový motorem řízený krokový motor - Krokový motor jako rotační kodér: 11 kroků (s obrázky)
Krokový motorem řízený krokový motor | Krokový motor jako rotační kodér: Máte pár krokových motorů a chcete něco udělat? V tomto Instructable použijme krokový motor jako rotační kodér k ovládání polohy jiného krokového motoru pomocí mikrokontroléru Arduino. Takže bez dalších okolků pojďme
Transistorem řízený motor s dálkovým ovládáním; Přehled obvodu: 9 kroků
Transistorem řízený motor s dálkovým ovládáním; Přehled obvodu: Tento obvod je tranzistorem ovládaný motor s dálkovým ovládáním. Dálkové ovládání zapíná napájení. Tranzistor zapíná motor. Kód programu zvýší otáčky motoru a poté snižte otáčky motoru na nulu
Světlo řízený krokový motor + nástěnný držák/stojan: 6 kroků
Světlo řízený krokový motor + nástěnný držák/stojan: Tento stojan slouží k umístění krokového motoru ovládaného Arduinem, určeného k automatickému ovládání závěsu podle úrovně světla v místnosti. Můžete také přidat LCD obrazovku pro tisk úrovně světla. 3D zařízení je pouze pro demonstraci