Projekt: laboratorní zdroj řízený MCU, komunikace s PC

Díky zvolenému oboru je podmínka, aby výrobek obsahoval mikročip. Měl jsem představu a malém laboratorním zdroji, který by se napájel ťamanským adaptérem.
Aby ten mikročip něco dělal, tak celá krabička by byla ovládána z PC. Rád bych se zeptal na názory a rady o částech, které popíšu a jestli vůbec má smysl se do něčeho takového pouštět, protože rozbor je zatím opravdu jenom amatérsky teoretický a upozorňuju, že moje znalosti o mcu (51 asm,atmega16 C) se zatím pohybujou okolo srandiček s ledkama, tlačítky, lcd a přijatými řetězci přes RS232 hyperterminálem.

Samotný zdroj
jednalo by se o jednoduché (doporučené výrobcem) zapojením se stabilizátorem jako 78xx, L200, 317 atd. , kde jak se naivně myslím bych regulační část (potenciometr) nahradil digitální částí. Něco jako digitální potenciometr, silný DA převodník apod. To by bylo řízeno mcu, který by se řídil programem (to co je na výstupu a to co chce uživatel)

Komunikace
Tady to bude mnohem horší. Kdyby by bylo dovoleno komunikace přes RS232, tak bych měl skoro vyhráno, ale je vyžadováno USB. Zbývalo by naprogramovat klidně i konzolovej program (GUI by mi udělal učitel nebo bych si nějak poradil). Bohužel jazyk, který ovládám je Java (1,5 roku) (C radši vůbec nezminuju, projel jsem to jenom kvůli odlišené syntaxi pro mcu) a asi nemám počítat s tím, že budu řešit jenom implementaci programu ala přijmeme znak z mcu, zpracujeme a odešleme znak do mcu. :laughing:

No stydím se, že chci vůbec něco takového postnot, ale proč ne. Jde mi hlavně o reakci, abych věděl jestli se mám do něčeho takového pouštět anebo se nenervovat s maturitou a postavit klasický zdroj, kde by mcu bylo jako dva voltmetry (napětí, proud), třeba by ještě měřilo teplotu na součástkách atd a tohle vše by vypsalo na lcd displej… (jednoduché)

:arrow_right: administrator: přejmenováno z "mat. výrobek-zdroj"

Zdar, s USB si vůbec nemusíš lámat hlavu. Dáš tam ftdi nebo jinej přebodník a máš vystaráno. MCU se k převodníku připojí přes uart, v PC bude k dispozici virtuální COM. Pracuje se s tím na chlup stejně jako s obyčejným hw RS-232. Prostě jen místo maxe dáš ftdi. Požadavek splněn a pro tebe se nic nemění :wink:.

Připojení k PC je dobrý na hraní, ale rozhodně bych zachoval možnost ručního ovládání. Řídit výstupen mcu stabilizátor (pomocí OZ) není žádný problém. Mohl bys tam vytvořit nastavitelné proudové omezení, tyhle stabilizátory ho totiž mají obvykle pevně dané.
Nebál bych se ovšem tyhle stabilizátory nahradit spínaným zdrojem. Bude tam víc součástek, ale z pohledu řízení se nic nezmění - stále budeš jen manipulovat referencí švába. Co se ovšem změní budou požadavky na chlazení :wink:

Co se týká programu do PC, to by samo o sobě měla být dostatečná závěrečná práce kdyby to trochu něco umělo :wink:. Jesli v Javě rozjedeš uart, tak je to vpoho. Kdyby ne, je tu na fóru pár kousků kódu v C#. Když se do nich podíváš, zjistíš, že to vlastně znáš. Je to velice podobný :wink:

No právě koukal jsem na to a nakonec ten výrobek nebude tak levnej

Jo to mě napadlo udělat nějakým mechanickým přepínačem, který by oddělil potenciometr od digitálu-takže bych měl pojistku v tom, že kdyby se mi to nepovedlo, tak stále by tu byla možnost ručního ovládání. Právě mě stále nenapadá, jak nejpohodlněji realizovat tu regulaci. Co se týče OZ, tak jak jeho vstupy ovládat přes mcu (DA převodník)?

Toho se bojím, protože se stavbou i jednoduchých spínaných zdrojů nemám vůbec zkušenosti

Pokud ta komunikace zůstane na tom, co předpokládám, tak bych tu konzoli měl schopen udělat.

Jinak bude na tohle stačit Atmega16?

Mechanický přepínač je také možnost. Spíš bych to ovšem navrhl tak, že po zapnutí to pojede z manuálu a teprve po přihlášení PC se to přepne na něj. Z mcu dostaneš analogovou hodnotu buď převodníkem nebo filtrovanou PWM. Pro přepínání řízení mezi manuálem a PC bych použil analogový switch (z TI ti pošlou vzorky zdarma), řídil by to MCU.
LM317 se ovládá velice jednoduše. Na výstupu stavilizátoru je o 1.2V více než na řídicím pinu. Stačí tedy tento pin pověsit na výstup OZ a je to. Proudový omezení si ovšem budeš muset zbastlit sám.

Zkušenosti se stavbou spínaného zdroje získáš až ho postavíš :slight_smile:

Na tohle bude stačit jakejkoli procesor s dostatkem pinů. U množství paměti záleží co všechno to má umět a jak jsi dobrej písař. Do megy16 se určitě vejdeš :wink:.

Škoda, že používáš AVR. Já osobně bych to udělal s PIC18F14K50 - knihovna na USB je již hotová i s příkladama.

Pro řízení zdroje můžeš generovat PWM a jeden A/D vstup můžeš použít pro kontrolu výstupního napětí a druhý pro poťák.
Spínaný zdroj můžeš použít nějaký výkonový LM2…-ADJ od National a zpětnou vazbu můžeš ovlivňovat vyfiltrovanou PWM. Nejtěžší je zpočítat 3 odpory tak, aby to dělalo, co potřebuješ.

Druhá verze je MCP2200 - něco jako FDTI, ale měl by být levnější + libovolné MCU. Ve skutečnost MCP2200 obsahuje naprogramovaný PIC18F14K50 :slight_smile:

Připojuji schéma zapojení. D3 je 3A až 5A schotkyho dioda. Lze to použít například s LM2576-ADJ nebo LM2596-ADJ atd. Vše si dopočítáš dle požadovaných napětí a proudů. Návrh cívky a kondíku je v datasheetu k LM.
prikladLM2576.png

Rozhodně bych nevymýšlel zbytečné funkce, které stejně nejsou potřeba a použiješ je 1x za život a to ještě jen při oživovátí tohoto zdroje. Jako třeba měření teploty.
Postav klasický zdroj s 2 LED displeji (nikoli LCD, na ty je blbě vidět). Červený pro proud a zelený pro napětí. Řízení třeba 4 poťáky (fine, coarse) pro proud a napětí. To v praxi bohatě stačí a i tak je s návrhem a stavbou takového zdroje hodně práce.
Vymýšlet takové věci, jako je řízení PCéčkem a nahrazovat klasické poťáky digitálními vede k velkým komplikacím, které nakonec vyústí v nezdar. Kdo to kdy bude potřebovat? V 99,99% případů stačí ovládání knoflíkem.

USB musí být galvanicky odděleno od zdroje. Výstup zdroje musí být plovoucí!!! Takže žádná ťamanský adapter, ale poctivé dvoukomorové trafo se 4kV el. pevnosti mezi primárem a sekundárem. Žádný switching, ruší vše co může, ovlivňije citlivé měření.

Na co přepínač? To si moc nevěříš. Na potenciomeru nastavím potřebné napětí a vím, že ho tam mám. U digitálního řízení to není jisté. Přepnu přepínač a na výstupu skočí napětí na nějakou vysokou hodnotu a mám po obvodech. Ty poťáky jsou 100% spolehlivé, digitál ne.

Což o to, ale jak zajistíš, aby ti ten OZ nehaproval, když se zhoupne napětí. Docela velký problém. Zdroj musí po zapnutí naběhnou do nastaveného napětí bez překmitů, jinak oddělá připojené obvody. Totéž platí i pro vypnutí. U Diametrálu to vyřešili šalamounsky. Dali tam relé, které při zapínání připojí zátěž až po ustálení obvodů.

Pokud tam musí být MCU za každou cenu, tak jen pro měření U a I popřípadě by byl ještě zajímavý výkon. Změřená data pak posílat přes USB do PC, to by se také mohlo někdy využít, např. pro sledování zátěže. Víc není potřeba a i tak je toho dost nejen pro začátečníka.

S OZ jsem nezamýšlel žádné zpětnovazební řízení nebo tak. Měl hrát pouze roli “level shifteru” mezi MCU (pokud by to řídil) a referencí 317tky nebo jiného obvodu. Tudíž by mohl být hodně zpomalen (paralelním kondikem ve zpětné vazbě), o stabilizaci se pak stará už nějaký z navrhovaných stabilizátorů. Za případné nepříjemnosti by tedy neměl být odpovědný OZ.

Ale i v roli “level shifteru” tento problém také existuje. Vždyť ten OZ při nedostatečném napájení má výstupní tranzistory zavžené, zatímco 317 do něj bude pouštět proud několik mA. Jaké napětí tam asi bude?
Neříkám, že to není řešitelné, ale člověk o tom musí vědět a dát si na to pozor. Konečně takových “špeků” je tam dost i bez převodníků, proto radím tazateli, nevymýšlet zbytečnosti a komplikace nebo se v tom utopí.

P.S. Tazatel se směle označuje jako profesionál. Připomínám, že slovo profesionál je ten, který provádí svoji činnost (profesi) za účelem výdělku. Nemá to nic společného s kvalitou práce ani se vzděláním.

Tak daleko jsem to zas nedomyslel :slight_smile:. Je pravda, že napájení oz bude při startu za hlavním stabilizátorem zpožděno možná o dobré 4V + zpoždění filtrace, protože by měl mít vlastní stabilizátor pro sebe. Potom tam bude nějakou dobu bezvládí.

Pokud jde o rank, myslím, že se tak neoznačuje ze své iniciativy :smiley: To dostane každý snad za 50 přízpěvků nebo na kolik to je nastaveno.

Zdravim,
nedavno jsem take resil moznost RS232 v Jave, tak kdyby se Ti to hodilo tak tady odkaz na 2 knihovny + kratkej tutorial:

users.frii.com/jarvi/rxtx/index.html
kuligowski.pl/java/rs232-in- … -windows,1
giovynet.com/serialport.html

ale asi uz budes znat…

jo máš recht…co se týče ranku profesinonál, tak jsem to tady někde už řešil. Ve skutečnosti se považuju za total nooba :smiley: (i když vzhledem k mým spolužákům jsem zas jednookej mezi slepejma).
Minulý týden jsem se snažil rozběhat komunikaci RS232/Atmega (nejdříve coom knihovna oraclu a pak zmíněný rxtx) a došel jsem k závěru, že celý výrobek je nad moje síly…možnách bych to zvládl, ale za chvíli začne škola (+statní maturity) a prostě bych se v tom utopil. Navíc Technik správně řekl, že polovina věcí tam je uplně zbytečná viz už jenom to řízení z PC, které nejen, že by se složitě (na mě) realizovalo, ale nakonec bych ho stejně nepoužíval.
MCU je však nutné použít, takže stačilo by s ním udělat 2 voltmetry (napětí, proud) a pak třeba něco jednoduchého na měření teploty přičemž při překročení by se sepl ventilátorek. To je na mě tak akorát, abych to co nejdřív stihl a mohl se věnovat maturitě. Aby se neřeklo, tak bych tam ještě připravil DPS s FTDI a MAX232 na odesílání dat do PC a tím by to haslo.