anolog 12F675

Ahoj, chtel jsem se zeptat a poradit nez se do neceho pustim. Bych potreboval vedet kolik ma anologovych vstupu mikroprocesor 12F675?

Chtel bych postavit automaticke zavirani el. oken u auta bez dojezdovych spinacu.

Chtel bych udelat tak, ze by byl jeden moturek pripojen pres rezistor na kterym by mikroprocesor snimal ubytek napeti a pri dojezdu okna na konec by se napeti zvysilo a pic by odpojil napeti do moturku.

Neznate lepsi zpusob? slo by to tak? umi ten mikroprocesor vic anologovych vstupu nebo bych musel pouzit dva?

Diky za odpovedi

jo jěště nemá někdo dokumentaci registru, nejake priklady apod s tou to pickou?

Datasheet k PIC16F675 si můžeš stáhnout třeba zde. Analogové vstupy jsou označeny ANx. Na přiloženém obrázku je tedy vidět, že jsou obsaženy čtyři analogové vstupy.

Nápad na ovládání oken je pěkný. Možná bych přidal časovač, který by zabezpečil spuštění motorku jen po nějakou dobu - pro jistotu, kdyby něco selhalo.

Dokumentaci registrů najdeš v datasheetu (záložka “ANALOG-TO-DIGITAL CONVERTER (A/D) MODULE”). Kdybys snad něčemu nerozuměl, klidně napiš a objasním ti to. Příklady přímo pro 12F675 nemám, ale AD převodník funguje u všech PIC stejně, takže není problém použít nějaký podprogram třeba pro 16F877A (je nutné jej samozřejmě mírně upravit - registry, takt, apod.).
12f675-ad.jpg

Výborný, děkuju, kdyžtak dám vědět. S tim časovačem to bude zbytečny. Signal na stahovani je kratkej impuls kterej staci na to aby ty okenka vyjela nahoru … tak bud ho privedu jako vstup nebo tim budu napajet cely obvod. Musim najit jak moc ho můžu zatížit. je to vystup z autoalarmu. Diky moc …

Český manuál najdeš copsu.cz/mikrop/?default=czmanualy
Připojuji jednoduché příklady pro 12F675, ale není tam použit převodník.
Vymysli návrh zapojení a můžeme ho prodiskutovat
LZ4B28.zip (14.3 KB)
DD5130.zip (3.44 KB)
AS4B27.zip (14 KB)

Řekl bych, že toto není zrovna vhodné řešení. Co když bude okno někdy drhnou. Pak taky vznikne větší úbytek na odporu, motor se odpojí a okno se nedovře.
Druhá věc je, že motor bude pod napětím a v plných otáčkách právě v okamžiku, kdy okno narazí na doraz. To způsobí velké namáhání převodů. Ten dojezdový kontak určitě vypíná motor těsně před dovřením, takže se neuplatní setrvačné hmoty jako ráz.

Jsi zdravý pesimista :smiley:
Ale na druhé straně, když bude okno drhnout stejně, jako když dojede na doraz, tak je to problém, který neřeší ani koncový spínač a bude se muset stejně spravit mechanika. A když se použije microcontroller, tak je možné do něj vložit adaptační algoritmus, který vypne motor o chvilku dřív než dojede na konec. Nebo ho řízením PWM nechá dojet pěkně pomalu. A takový mc také může třeba motor brzdit nebo indukovaným napětím zjišťovat, jestli se ještě dotáčí.

Měl by ses snést z nebeských výšin a stát nohama na pevné zemi. MCU není všespasitelná součástka, i když se těší velké oblibě.
Adaptační algoritmus sám o sobě nic nevyřeší. Na to, aby to fungovalo, potřebuješ přinejmenším odměřování polohy okna, aby MCU věděl, kdy začít brzdit. PWM nelze jen tak odflinknout, pokud nechceš, aby ti to rušilo rádio. Navíc motor a převody jsou od výrobce navrženy na plné otáčky, při kterých je pohyb skla optimální a snižování otáček nemá žádné opodstatnění. Takže suma sumárum ti z toho vznikne drahé monstrum, kolem kterého budeš více lítat než větrat. :laughing: A co když se jednoho dne ten MCU zblázní a otevře okénka v noci na parkovišti nebo za jízdy a ti se k vůli tomu vybouráš.
:astonished:

Začnu od konce, když se mcu zbázní, tak klidně jdeš do kytek. Vystřelí ti airbag, přestane fungovat ABS a motor se nejspíš zakousne. Jsi mrtvej dřív než slovo mcu ve stokilometrový rychlosti vyslovíš. Proti tomu je otevřený okno brnkačka. Adaptační algoritmus nemusí odměřovat polohu okna, stačí si to zkusit jednou, dvakrát a tu absolutní polohu ani znát nemusím. Proto hovořím o adaptačním algoritmu. Rušení rádia je srandička, když ho neruší zapalování, proč bych nebyl schopen odrušit motor okna. Speciálně, když jde o zavírání při opouštění auta, tak to rádio určitě řešit nemusím. Ale i za jízdy bych těch pět vteřin asi přežil neodrušených.

Když chci zajistit pomalý doběh bez rázu, tak tak to opodstatnění má. Co je to proboha optimální pohyb skla? Tady nejde o dynamiku. To je nesmysl.

Začnu od prostřed. Proč neruší zapalování? Protože i auto podléhá jistému procesu schvalování a do toho patří i rušení. Dnes už je to tak samozřejmá věc, že o tom nikdo nepřemýšlí. Občas projede okolo más motorka (staršího data) a ta spolehlivě ruší jak rádio (VKV) tak i televizi, neboť za komunistické éry si s rušením nikdo nedělal těžkou hlavu.

Optimální pohyb skla je takový, aby úplné otevření netrvalo příliš dlouho a přitom aby bylo možné je otevírat jen o několik cm. Je to určitá empirická hodnota, která vyhovuje většině uživatelům.

A že nejde o dynamiku? Tak to si piš, že jde. Pokud se tem motor nevypne těsně před dorazem, narazí sklo okna v plné rychlosti a s plnou energii. A hádej na co se ta energie přemění? Všude se to řeší tak, že koncák vypne motor kousek před dorazem a pak to dojede setrvačností. Podívej se, jak je řešen např. šuplík od CD přehrávače. Krom toho se rázy potlačují třecí spojkou na motoru, řemenovým převodem popřípadě odpruženým převodem nebo měkkým dorazem. Tohle je už dávno vyřešeno k téměř naprosté dokonalosti a cpát do toho MCU je nesmysl. Na ovládání okna stačí třípolohový přepínač a dva koncáky a funguje to na 99,9999% po dobu životnosti auta.

Netvrdím, že každé okno v autě musí mít nejmíň dva procesory. Ale říkám, že by to s tím MCU udělat nejspíš šlo, protože tahle součástka s trochou fantazie nabízí i nekonvenční řešení. Třeba dokážu zjišťovat i přesnou polohu rotoru motoru z komutačních přechodů, co já vím? Pokud se někdo dík stahování okna v automobilu naučí programovat MCU, tak je to super i kdyby to nefungovalo. V tomto případě je podle mě důležitější cesta než cíl. Rozhodně je to nápaditější než oblíbené demo pro PIC - blikání LED.

Určitě by to s MCU šlo, v tom není spor. Ale o kolik se zvýší užitná hodnota? Pozná vůbec někdo rozdíl mezi tím, jestli je okno stahováno s MCU nebo bez? Není leší svůj um, elán a fantazii využít třeba na zabezpečení vozu proti krádeži? Na to se přeci MCU báječně hodí.

Tak z toho nevím, jestli si to dokázal nebo si myslíš, že to dokážeš. Ale kdyby to bylo schůdné, jistě by to už dávno využili výrobci magnetofonů pro regulaci otáček ss motorků. Jak je ale známo, komutátor je tou nejméně spolehlivou součáskou na motoru, takže když elektroniku tak už hned bezkartáčový motor (brushless). A jak jsem pochopil z dotazu pána Zubika, hledá nejjednodušší řešení bez zásahu do mechaniky tedy i motoru a tudíž mi příjde tato debata spíše jako akademická než praktická. S nevyšší pravděpodobností se neobejde bez nějakého snímaní polohy byť jen v krajních polohách.

Z příspěvků Zarubika soudím, že chce udělat něco jednoduchého a použít na to malou 12F675ku. Diskuze je tu sice pěkná :slight_smile:, ale pokud je Zarubik začátečník, tak ho spíše vyděsí a odradí, než mu pomůže něco udělat… Počkejme raději, než se sám vyjádří, jak a pro co se rozhodl.

Tak dekuju za odpovedi. Myslim ze nad tim az moc premyslite. Chtel jsem to udelat takto, protoze v aute nejsou zadne dojezdove spinace. Takze tim odpada nejake odmerovani dojezdu. Protoze kdyz v aute za normalniho chodu stahuju okynko nahoru či dolu, tak kdyz okenko narazi na konec tak do moturku jde max proud, až kdyz pustim tlacitko tak se napeti odpoji. Proto si myslim ze mala chvilka proudu na max proud nevadi. Kdyby ano bylo by to resene uz pri vyrobe aby nemohl jit do moturku proud kdyz uz se nemuze tocit.
Proto chci vyuzit pres mikroprocesor abych nemusel rozebirat dvere dodava spinace apod.

Bohužel do této diskuze asi vstupuji s křížkem po funusu, ale přesto bych rád dodal, že s původním nápadem zásadně souhlasím. Je to prostá a účinná myšlenka. Mnoho teoretiků se ji tu smažilo zpochybnit, podobně jako scholastici, když diskutovali, zda má krtek oči, místo aby nějakého krtka vykopali a prohlédli si ho. Zkrátka to doporučuji zkusit. Předpokládám, že mechanika doraz vydrží. Tato metoda se docela s oblibou používá u levných zařízení (dá se tím i přibližně měřit rychlost motoru) a ukazuje se, že je i celkem spolehlivá. Jakmile se totiž začne motor zpomalovat, jeho impedance se prudce snižuje a při zastavení je rovna tomu, co naměříte ohmetrem v klidu. Podle toho vhodně zvolte měřící odpor. Pokud bude například poměr impedance motoru a měřícího odporu 9:1 bude se v odporu při dorazu ztrácet desetina výkonu (tepelně) a přitom 10bitový převodník bude použitelný do hodnoty asi 240 (motor je na 12V a PIC maximálně na 5V). Odpor by měl být samozřejmě co nejmenší, ale potom to zase vyžaduje přesnější měření, ne-li operační zesilovač, abyste vůbec něco změřil. Zatím bych to zkusil bez toho zesilovače a použil bych rezistor pro větší výkon (aby se nepřehřál). Být Vámi, tak tu myšlenku určitě zrealizuji.
Napište, jak se Vám to daří!

Tak mi konecne prisli soucastky tak se do toho i pustim, zkousel par odporu. dal jsem tam dva paralelne jeden 0,1ohm a druhy 0,27ohm, oba jsou keramicke 5W. Co jsem zkousel tak pri dojezdu celeho okynka se rezistory nestaci znatelne zahrat. Pri zavirani na rezistoru je 1,8V a pri dojezdu na konec je hodnota 2,3V. tak ted jeste spajet vymyslet program a pak napisu :slight_smile: