CNCnet: 20. 10. 2020  | Hlavní stránka | Seznam rubrik | Download | Weblinks | RSS | Public key |  

Návštěvnost
počítadlo.abz.cz

Elektronika

* Dpot - i s malým kašpárkem velké divadlo

Vydá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:
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)
[Akt. známka: 1,50 / Počet hlasů: 6] 1 2 3 4 5
Celý článek | Autor: administrator | Vytisknout článek

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ů.


Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.