Ako funguju comparatory v mocrochipoch PIC??

Prosim vas panove mohol by mi niekto v strucnosti vysvetlit ako sa pouzivaju a naco sa sluzia comparatory??.. Viem co je to compare a aj ako sa pouziva napr. v porovnani dvoch text. suborov , alebo obrazkov a pod. No no bohuzial nepochopil som naco ako sa daju vyuzit comparatory v mocrochipoch. Mohol by mi niekto popisat alebo zaslat nejeku demonstaracnu ukazku??
dakujem Vladimir…

Ked myslime na to iste … tak to vychadza z funkcie OZ.

TJ nejaky pin si nadefinujes ci ma byt IN+ alebo IN- nastavis refernecne napatie pri ktorom sa OZ komparator preklopi a podla toho ako mas zadefinovane vystupi to nieco spravy.

V jednoduchosti umoznuje porovnavat 2 napatie a vysledok toho sa da spracovat v uP vysledok vo forme 0 alebo 1

Když máš na kladném vstupu komparátoru vyšší napění než na záporném, tak je na výstupu 1.
Slouží to k porovnávání dvou napětí, lze pomocí interního komparátoru, čítače a externího RC článku vytvořit jednoduchý integrační A/D převodník.

Mám taky otázku, dá se tedy tento komparátor použít jako klasický OZ komparátor ?

Záleží, co chceš dělat s výstupem. Nevím totiž, jesli pic nějakým způsobem umožňuje jeho propojení s I/O. Určitě to ovšem půjde programově a potom ano. Jen to bude mít nějaké zpoždění v závislosti na programu.

myslim ze spozdenie nebude az taky problem… ano daju sa nadefinovat vstupy a vystup na piny…ale vystup aj tak vecsinou vyuzijes v PIcku tak neviem…

Zpoždění je typicky 150ns, maximálně 400ns, problém to rozhodně může být…

hm aku rychlost ma obycajny oz ??? myslim ze neikto nebude pouzivat interny OZ na nejake speci ucely.

LM393: Large Signal Response Time 300 ns typ.
Ovšem samostatnému komparátoru nemůže ve změně výstupu zabránit probíhající přerušení :wink:.

Každopádně při max. frekvenci procesoru, musíš čekat na výstup 5 instrukčních cyklů . . . . pokud by bylo zpoždění menší než 1 instrukční cyklus, bylo by to o něco příjemnější:)

… tohle jsem trochu nepochopil:)

Pokud budeš chtít použít výstup komparátoru mimo mcu, pravděpodobně bude nutné hodnotu výstupu komparátoru přenášet na pin programově. Pokud těsně před změnou výstupu komparátoru začne obsluha nějakého přerušení, tak je změna pinu zpožděna ještě právě o obsluhu toho přerušení, která nemusí být zrovna krátká. Pokud bys používal komparátor např. pro proudovou ochranu, tak za 1-2 ms už nemusí být co chránit :wink:

Jasně, ale to už neni věc komparátoru, ale chyba programátora:) Ten se toho musí vyvarovat, tak jako u komparátoru, který má vyveden výstup na pin procesoru…když nebude procesor napájen…atp.

Druhá věc je ta, že jsem si myslel, že microchip vždy umožňuje vyvést výstup komparátoru na pin procesoru…ale možná u nějakých starších kousků je to jinak.

Vyvést výstup komparátoru umí například PIC16F628, 88
Opis z DS:
Výstupy komparátorů jsou k dispozici jako bity C1OUT a C2OUT v registru CMCON. Tyto bity je možné pouze číst, nikoli nastavovat. Tyto výstupy mohou být rovněž připojeny na vývody RA3 a RA4. V tomto případě není výstup komparátoru synchronizován s vnitřním taktem mikropočítače.
Na funkci vývodů RA3 a RA4 má pochopitelně rovněž vliv nastavení registru TRISA. Pro funkci výstupu musí být v příslušných bitech registru TRISA zapsána log.0. Polarita výstupu je závislá na nastavení bitů C2INV a C1INV.

Proto jsem psal “pravděpodobně”. PICy totiž neznám, tak jsem nevěděl, že to lze :wink: Pokud ano, tak to zpoždění nehrozí.

Tak jsem zběžně prohlédl pár datasheetů s 16Fxxx a všechny umožňovali připojit výstup komparátoru na nějaký pin,
otázka zní k čemu ho použít když má nastavitelné vnitřní referenční napětí jen v 16ti rozsazích.

A co třeba tu referenci připojit externě?:slight_smile:

To sice lze, ale ztrácí to svůj půvab a veškeré výhody. .

Pravda, na druhou stranu pokud uvážíš vstupní offset komaparatoru (max abs hodnota=30mV), dále nepřesnost dělících odporů (tu výrobce uvádi asi nerad, protoze ji neuvadi vubec:), ale tipuji min 1%), tak by asi ani o hodně menší dělení nemělo význam, zvlášt když nepoužiješ přesnější externí referenci.

Jinak některé procesory nabízí dělení 24 (na 2/3 rozsahu ref napětí) nebo 32 (na 1/2 rozsahu ref napětí).

Dálé novější procesory obsahují FVR (Fixed reference voltage, 1024mV), které lze násobit 1×,2× nebo 4×, tím získáš další zlepšení rozlišení, samozřejmě opět v rozsahu ref napětí. Škoda jen, že přesnost FVR je asi 3% a časovou stálost nebo teplotní vliv výrobce opět radši neuvádí:)