Otázka:
Mohu řídit napěťový výstup z mikrokontroléru?
user26136
2013-07-08 16:39:37 UTC
view on stackexchange narkive permalink

Musím generovat hodnoty mezi 0 V a 0,8 V pro obvod, vzít hodnotu napěťového výstupu ze systému a analyzovat data. Mohu pomocí mikrokontroléru automaticky generovat hodnoty napětí? (Například: 0,05 V, 0,1 V, 0,15 V ...)

Pokud je odpověď ano, jaký mikrokontrolér bych měl použít a jaké techniky byste doporučil?

Pokud odpověď je ne, můžete navrhnout jiné prostředky?

Pět odpovědi:
Olin Lathrop
2013-07-08 18:12:43 UTC
view on stackexchange narkive permalink

Ano, všechny mikrokontroléry mají nějaký způsob, jak vytvářet napěťové signály řízené firmwarem. Metoda hrubé síly je pro mikroobsahující digitálně-analogový převodník (D / A). Firmware zapíše číslo do D / A a vytvoří napětí úměrné tomuto číslu.

Jednou z důležitých specifikací D / As je, kolik bitů číslo má. To určuje jeho rozlišení. D / A může produkovat 2 N různé hodnoty, pokud je v čísle N bitů. Například 8bitový D / A může produkovat 256 různých úrovní napětí. Všimněte si, že běžný digitální výstupní pin lze považovat za 1 bitový D / A. Číslo má dva stavy, 0 a 1, a výstupní napětí je buď vysoké, nebo nízké.

Většina mikroprocesorů nemá vestavěný vícebitový D / As, protože je po něm malá poptávka. Obvykle se snažíme převádět analogové hodnoty na digitální co nejdříve v procesu, manipulace provádíme digitálně a poté věci ovládáme pulzy. Je neobvyklé chtít, aby mikroskop produkoval analogové napětí. Dokonce i v aplikacích, jako je zvuk, o kterém si můžete myslet, že je neodmyslitelně spojen s analogovým signálem, se věci často řeší digitálně nebo na konci pulzy. To je v podstatě to, co zesilovač třídy D. je.

Pokud nechcete použít jeden z omezené sady mikroskopů, které mají vestavěný D / A, můžete jeden přidat externě. Existuje mnoho D / As k dispozici, že mikro může řídit například po sběrnici SPI.

Pokud však nepotřebujete vysokorychlostní výstup, výsledkem nízkofrekvenčního filtrování výstupu PWM mikro je pěkný analogový signál. Mikroskopy jsou schopné produkovat dobře řízené sekvence pulzů a mnoho z nich má pro tento účel zabudovaný hardware. Zvažte například digitální výstup, který lze změnit každých 1 µs (rychlostí 1 MHz). Předpokládejme, že jste seskupili časové řezy 1 µs do bloků po 1023. U každého bloku můžete mít kdekoli od 0 do 1023 řezů vysokých. Pokud byste to měli průměrovat, dostali byste analogickou hodnotu s 1024 možnými úrovněmi, což je to, co byste dostali z 10bitového D / A. Surový signál bude obsahovat požadovanou průměrnou hodnotu plus vysoké frekvence začínající na 1 MHz / 1023 = 978 Hz. Použitím několika pólů nízkofrekvenční filtrace (jeden rezistor a kondenzátor na pól) můžete udržet nízkofrekvenční průměrný signál a zbavit se komponent 978 Hz a vyšších.

Tento typ A / D má některé pěkné vlastnosti v tom, že je velmi lineární, monotónní a bez výkonu dvou závadných výstupů. Jedinou nevýhodou je obvykle šířka pásma. U několika jednoduchých rezistorů a kondenzátorů tvořících dolní propust pravděpodobně nebudete moci získat analogový signál rychleji než za 10 s Hz.

Všimněte si, že použití 1023 řezů na blok bylo libovolnou volbou, kterou jste provedli . Pokud chcete větší rozlišení, zvětšete bloky, ale filtrovaný výstup se pak bude muset měnit pomaleji. Spousta mikroskopů však dokáže generovat PWM v hardwaru s mnohem rychlejší rychlostí řezu než 1 MHz.

Pokusil bych se zjistit, zda je možné PWM metodu před spuštěním na externí D / A.

Jako úplný nováček bylo užitečné vidět spektrum dostupných filtrů: http://www.analog.com/designtools/en/filterwizard/
Iancovici
2013-07-08 16:45:56 UTC
view on stackexchange narkive permalink

To, co se snažíte navrhnout, je systém sběru dat

Pokud má převodník digitálního na analogový (DAC), můžete to udělat. Jinak získáte externí DAC a mikrokontrolér komunikovat s ním prostřednictvím všeho, co je v jeho silách (I2C, SPI, UART atd.)

Všimli jste si, že jste označili mikročip, mají mikrokontroléry s DAC od jednoduchých (pic12f752, pic16f753,782) k posunu ( dsPIC33fj16GS504,502,302) a několik dalších. najdete je zde http://www.microchip.com/maps/microcontroller.aspx

Pak bych mohl použít například 12F752, použít jeho CDA ke generování napětí a použít CAD k převzetí hodnot systému a analýze, že?
@user26136, pokud CDA = D-A mikrokontroléru a CAD = A-D mikrokontroléru, pak ano !. Doporučil bych se také podívat do poznámek k aplikaci kalibrace
Haha ano, je.
pjc50
2013-07-08 16:58:33 UTC
view on stackexchange narkive permalink

V závislosti na proudu odebíraném systémem to můžete udělat pomocí žebříku rezistorů jako DAC: http://en.wikipedia.org/wiki/Resistor_ladder

Pokud chcete malý počet konkrétních hodnot napětí, můžete dokonce navrhnout odporový žebřík tak, aby vyzařoval tyto hodnoty přesněji než normální systém 2 ^ n rovnoměrně rozložených hodnot.

Pokud kreslí ne -triviální proud, budete chtít operační zesilovač na výstupu nakonfigurovaný jako vyrovnávací paměť. Ujistěte se, že váš operační zesilovač pracuje s vhodnou linearitou blízko 0V; možná k tomu budete potřebovat záporné napájení.

Phil Frost
2013-07-08 17:35:04 UTC
view on stackexchange narkive permalink

Kromě dalších odpovědí má většina mikrokontrolérů funkci PWM (a pokud ne, můžete ji vždy bit-bang). Pokud krmíte PWM do jednoduchého RC filtru, můžete vytvořit primitivní DAC bez mnoha dalších komponent nebo nákladů.

bot3663369
2015-04-08 13:13:32 UTC
view on stackexchange narkive permalink

Pokud jste v pořádku s PWM, pak by analogový výstup Arduina fungoval dobře. Můžete také zvážit přidání dolnofrekvenčního filtru, protože pulzy mohou být velmi hlučné.

Pokud potřebujete čistší řešení, najděte mikrokontroléry dodávané s moduly DAC. Některé z mikrokontrolérů MSP430 mají DAC ( viz strana 23), které můžete použít. Musíte nahlédnout do jejich datových listů.

Pokud zjistíte, že jste omezeni na mikrokontrolér bez DAC, můžete zvážit získání DAC čipu. Tyto čipy lze snadno ovládat pomocí SPI nebo I2C a jsou levné. Tady je 12bitový DAC, který stojí něco málo přes dolar.

Doufám, že to pomůže.



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...