Hlavní menu
|
Dpot - i s malým kašpárkem velké divadloVydáno dne 23. 07. 2006 (21633 přečtení)Název článku možná vybízí k nepatřičným představám, ale stále zůstáváme u elektroniky. Jen jsem tímto úslovím parafrázoval použití jednoho z rodinky malých MCU, a to PIC12F675. Toto zařízení vzniklo původně na žádost jednoho z členů modelářské konference Mojehobby. Cílem bylo umožnit ovládat driver krokového motoru se vstupy STEP a DIR bez použití PC. Ovládací prvkem je bežný potenciometr 5kohm/lin. Jelikož je třeba ovládat otáčení motoru oběma směry, je celý rozsah rozdělen na dvě části s nulou uprostred. FW je napsany tak, že po spuštění je nutne natočit potenciometr do středové polohy Celý problém byl zpočátku triviální (čtení AD a generovani frekvence pomocí timeru) a vše by se mělo bez problémů stíhat i s interním oscilátorem. Bohužel jsem si nejak něuvědomil, že se intervaly mezi jednotlivými frekvencemi půlí a ke konci rozsahu jsou již rozdíly minimální. To také nakonec ukončilo pokusy s 8-bitovým timerem, který z tohoto důvodu byl naprosto nedostatečný. I tak je vše podřízeno přerušením od časovače a čtení polohy potenciometru se dělá jen jak se to zrovna stihne. Aby se eliminovala fluktulace AD převodníku nesampluje se vice hodnot, ale vysledek se poníží jen na 8 bitů a na základě získané hodnoty se přednastavuje timer. Nakonec se ale opět potvrdila kvalita kompileru od f.Mikroelektronika a výstupní frekvence jede naprosto plynule od nuly až do cca 5kHz rozděleno do 120 kroků. Vyšší frekvence by se dalo dosáhnout už jen s použitím externích hodin MCU. Myslím, že pro to není důvod neboť v případě 200 kroků na otáčku umožňuje dosahnout až 1500 ot/min (pro půlkrok je to ještě velmi slušných 750 ot/min). Když jsem po kompilaci koukl na využitou pamět (bylo to cca 50% z 1000 slov) v MCU tak jsem začal přemýšlet jak zbývající pamět využít tak, aby se dal využít stávající hardware. Bylo jasné, že to musí být velmi podobná aplikace. Jelikož jsem si chtel už dávno vyzkoušet řízení modelařského serva tak se to zde přímo nabízelo. Moderní modelářské servo je řízeno kladnými pulzy o délce 900-2100us s tím, že střední poloha vystavení serva je při délce pulzu 1500us. Pulzy se opakují s frekvencí 50Hz tedy s rozestupem 20ms. Vzhledem k tomu, že je MCU taktovany jen na 4MHz interním oscilátorem nelze udělat rozlišení na 256 poloh (alespoň ne tak jak se můžu vejít do zbytku paměti v PICu) což, ale vzhledem ke kvalitě převodovek u serv nepoznáte. Vzhledem k tomu, že obě aplikace jsou řízeny potenciometrem zapojeným jako dělič mezi zem a +5V je možné místo něho zapojit libovolny čidlo s napěťovým výstupem a D-pot nechat pracovat samočinně. Zde jsou fotky jak vypadá výsledný HW. Jo a v té paměti PICu zbylo ještě 25% volného místa takže ještě se tam třeba něco nechá nacpat - třeba PWMka a nějaká regulace...
Související články:
Celý článek |
Autor: administrator |
Oddělovací deska pro LPT (15.01.2006) Řídicí jednotka pro CNC frézku (19.12.2005) Driver pro bipolární krokový motor (08.12.2005) CNC frézka (18.11.2005) |
Novinky
06.06.2008: Meteostanice:
V sekci download je zveřejněna zatím veškerá dokumentace k meteostanici. Více informací viz. www.jakjevenku.info
29.04.2008: Nová linka Server byl přepojen na novou 50Mbps linku a během dneška můžou být problémy s dostupností kvůli změně DNS záznamů.
Anketa
Měli byste zájem si postavit meteostanici s připojením na webserver a případně se podílet na vývoji HW a SW?
Rád bych si meteostanici jen postavil (4420 hl.) Celkem hlasovalo: 20040
|
Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.