Regulace topení s Atmega, Ds18S20 (teď LM35) a GM37-14+L298N

Díky za reakci a rozbor.
Večer se to pokusím opravit.
Jinak motor má

  • naprázdno 80mA
  • v zátěži 800mA
  • v "0"ot. 1050mA
    měřeno mnou.

piityy
Se značkama se polepším.
Teploměr bude od regulátoru max.10m. Jaký snímač bys doporučil?
Když by se použili jiný snímače tak by se to “8” vešlo? Problém asi bude počet vstupů.
PIN 485 je pro komunikační modul pro budoucí automatizaci. 5V doplněno.
Pokud tam budou analog. teploměry tak tam (L1, C11) asi nechám?
RV1 - 4k7 takto?
Koncáky motoru třeba takto? (možná, že jsem to otočil)
Driver L298: když jsem okolo 1A hrozí také poškození?

Díky za kontrolu a poznámky

10m by nemel byt problem, pokud to nemas v nejak silne zarusenym prostredi.
Co znamena “8” by se veslo?
Pro napajeni analogovy casti mas ten filtr L1,C11 blbe, ten musi byt ve vyvodu AVCC. V datasheetu ty megy je to namalovany presne.
Koncaky motoru tam nevidim vubec. Mysli se tim koncove spinace (mechanicke, opto), ktere zablokuji dalsi pohyb motoru na konci drahy prislusnem smeru, ale zachovaji moznost chodu zpet.
Ty odpory cos tam nakreslil u motoru jsou na nic. Zkratujes s nima vystup toho mustku a mas je spojeny oba paralelne. Pokud by se jima mel merit proud, musely by byt ve vyvodech 1 a 15 toho mustku. Schema je v datasheetu.
1A je v pohode.

Ja tam pouzil analogovy snimace pripojeny 3-dratove, ale zkomplikujou ti schema. Merim to pres mustek, operaky a prepinam 8 snimacu pomoci multiplexeru 4051, protoze nebylo dost volnych vstupu. S tema DS to mas jednodussi, ale i drazsi a slozitejsi program (neco za neco).

Byt tebou, tak vazne uvazuju o ty mega16. Nemas tam zadnou rezervu pro pripadny rozsireni.

U běžných kódů pro DS18xxx je problém v pisatelích, nikoli v čidlech. Dá se to bez problému napsat celočíselně a pak je to mnohem menší.

Uvidíme jesli se nenajde někdo se zkušenostmi s dalasy na takovou vzdálenost, ale osobně bych dal analog, třeba LM35. V pdfku je i zapojení pro “vzdálené” čidlo. Z toho by se dalo krásně vyjít. Z pohledu programu to je pak jen přečtení hodnoty z převodníku (tedy ušetřené 4kB flash :slight_smile:). Přibyla by ovšem trocha smetí kolem mcu. Pokud bys šel na analogový čidla, bylo by změn docela dost.

Ohledně mcu: je s megou16 nějaký zvláštní problém? Kdyžtak m168 má stejný pinout(je stejně malá) jako m8. Takže pokud se budeš snažit za každou cenu ušetřit 30,- tak to v případě potřeby je naštěstí čím nahradit. Ovšem na prototypu bych neškudlil, to až v případě sériový výroby :slight_smile:.

Potenciometr je už ok.

L1, C11 by zůstalo, ale zapojené úplně jinak :slight_smile:.

Ohledně “koncáků”, tedy snímání proudu, podívej se do pdfka L298. Je tam zapojení odporu Rs - na něm se měří proud. Až ho tam naladíš správně, přivedl bych ho pak na jeden ze vstupů komparátoru, na druhý pak trimr s odporem zapojený stejně jako u lcd.
Opravdu se na koci motor zastaví a převodovka vydrží?
“Figure 7 : For higher currents, outputs can be paralleled. Take care to parallel channel 1 with channel 4
and channel 2 with channel 3.” - je tam ta paralelizace. Ovšem do 1A není nutná. Nevyužitým vstupům pak dej všem nulu.
Pin “enable” může být natvrdo na +5V, ušetříš tak pin procesoru.

Diody D7:10 jsou tam zbytečné. Když si důkladně prohlídneš schéma, zjistíš, že jsou paralelně s D1, D2, D4 a D5 (dát chudinku D3 jinam - to se s ostatníma nesnesla? :smiley:).

V čem to kreslíš? Abych to opravoval v malování, na to nemám :slight_smile:. Kdyby ses zítra hodně nudil a rád cestoval, jsem celej den v KH.

Hmm… než já se vymáčknu, tak už je pozdě :smiley:.

Kuto: LM35 lze připojit 2 vodičově a OZ potřeba nebude, jen nějaký ten odpor a kondik.

podobný regulator mam rozrobený povodna elektronika sa pokazila a nova vyjde cenovo na 3naobok modulu… Co sa tyka nasatvovania nemam tam 15 min ale max 1-2 min. samozrejme to zaleži od systemu cerpadiel a zapojenia. cidla su len dva jedno snima vonkajsiu teplotu a druhe teplotu vody za smiešavacim ventilom.
Inak dost som sa pohral kym som to vyladil aby servo klapka zbytocen nebehala a nekmitala okolo nejakej hodnoty zbytočne vela. Momentalne projekt stoji ale do zimy to musi byt hotove prakticky treba dopisat menu a previest to z pic16f628 na ATmega168. Keby to nebolo pre kamoša tak sa na to… P.S. je tam obycajny motor s zavitom na kratko tusim 2W a poloha ma nezaujima ma dorazover koncove spinace… reguluje sa podla teploty vody a krivky zistenej podla vonkajšej teploty.

šetřit nechci. jen se mi to nechtělo předělávat. ale jdu na to.
kreslím v “isis”

pitty: Ja ale pouzil odporove snimace KTY110. 3 draty kvuli eliminaci odporu vedeni. Nemyslel jsem snimace s napetovym vystupem. Vetsinou delam z toho co mam po ruce :slight_smile: Ty LM35 jsou koukam za lidovku :laughing:

Teď nevim, jesli tě rozesmála kovová verze za 270,- nebo plastová za 25,- :slight_smile:.
Ve dvojvodičovym zapojení, který mám na mysli, by to byl spíš proudovej “výstup” :slight_smile:. Ten se u procesoru převede na napětí, trochu vyfiltruje, zabezpečí a hurá do ADC.

Ještě jak jsem psal o trimru u komparátoru pro detekci zastavení motoru - to by se dalo připojit na některý PWM výstup a hranici nastavovat programově (což by šlo i u kontrastu displeje). Ušetřila by se tím jedna/dvě nespolehlivá součástka.

Piityy: mrkneš mi na to prosím? asi jsem nepochopil trimr s odporem na komparátoru.
Mega umí proud nebo se musí převést na napětí?
RL4 - snažil jsem se.
Díky moc

Ted uz to vypada pouzitelne, akorat bych ty tlacitka pripojil primo a ne pres AD prevodnik. AREF mas uzemeny. Pokud tam mas LM35, tak je budes muset dat na AD prevod, maj analogovy vystupy. A dej pozor aby ti stacily rozsahem teplot. Ty levnejsi verze jsou jen 0-100, coz je treba pro me potreby nepouzitelne). Navic jsem si vsiml, ze ty rozsahy teplot se nekde podle datasheetu lisej od udaju ktery pisou obchodnici (tme, gme,…)

Vida, docela pokrok v kreslení :slight_smile:.

L298: pin6 -> GND, pin11 -> Vcc (+5V)

Spínání relé (AD2) a řízení motoru (AD5 a AD4) bych připojil na jiné piny procesoru - AD převodník budeš potřebovat na teplotní čidla.

Snímání proudu(pin15 driveru, nyní připojen na AD3) bych připojil na vstup komparátoru, lze tak totiž využít přerušení k zastavení motoru, což není u avrkovýho AD převodníku možné (nemá okénkový režim). Tedy z pinu 15 driveru na AIN0(PB2), pro jistotu přes ochranný odpor 100R.
Na AIN1(PB2) bych přes odpor přípojil pwm výstup OC2 (PD7) a zároveň kondik mezi PB2 a gnd.
Pokud bys nechtěl mít možnost nastavovat proudovou mez progrmově, ale trimrem, použil bys úplně to samý zapojení jako u pinu Vee displeje a jezdec trimru na AIN1.

U konektoru J8 (485) se vyhejbáš pinu PD2. To má nějaký důvod?

Napájecí větev Vcc - na výstupu 7805 ta značka není. Seš si jistej, že až budeš routovat desku, že to tam bude správně připojeno? To samé platí pro napájení procesoru, které ve schématu není zobrazeno.

Jak píše kuto - AREF máš na gnd. To by ti nefungoval AD převodník. Má to být připojeno na GND, ale přes kondenzátor(100n).

Jelikož musejí být teploměry na AD převodníku (PORTA) a s jiným zapojením, uvolní se ti PORTC. Tam můžeš zapojit tlačítka (každé samostatně mezi pin a GND, pull-upy nejspíš nebudou třeba, ale můžeš pro ně udělat ve schématu místo).

Jelikož bude třeba kvůli komparátoru přemístit 2 spoje mezi LCDa procesorem, asi bych celý lcd přendal na PORTC a tlačítka z něj dal na volná místa na portuB.

Zapojení teploměrů by bylo podle “FIGURE 6. Two-Wire Remote Temperature Sensor (Output Referred to Ground)” v datasheetu. Jen napájené by to bylo z +12V, vynechat odpor 6k8 (kalibrace se udělá programově) a mezi výstup a pin procesoru vložit RC článek (R mezi výstup a pin, C mezi pin a GND).

Koukám na tranzistor - ty deska bude v provedení smd? Kdyby to mělo bejt v hole-through, tak bych použil spíš BC546, BC548.

Ahoj.
Konečně jsem se k tomu dostal.
Mohl bych tě poprosit?

kondik mezi PB2 a gnd.–Jaký?
se vyhejbáš pinu PD2. —Jsou věci mezi nebem a zemí … (netuším, asi jsem to odněkud okopíroval)
napájení procesoru.------Je pouze skryté ale je tam.
AREF máš na gnd.---------Takto?
RC článek.------------------ Jaké hodnoty? Je to vůbec správně?
smd nebude.

Děkuji moc moc moc

C11 nech uzeměn jak byl původně. Jen dej kondik 100n mezi AREF a GND.

Spoj pojmenovaný PB2 by se tak už asi jmenovat neměl (už není připojen k PB2 :slight_smile:), ale to není důležité. Kondik C14 má být paralelně k R6. Ale když necháš i u R14, nic se nestane, maximálně se neosadí. Konkrétní hodnoty se doladí později. Kde nevíš, sázej kondiky 100n.

Displej bych asi hodil na PORTC celej abys ho nemusel tahat kolem celýhoprocesoru.

Na procesoru je dost místa, tak můžeš tlačítka, která se momentálně dělí o ISP klidně připojit kamkoli jinam.

Kdyby sis chtěl do schématu dodělat konektory k teploměrům, tak by byl jeden pin na +12V a druhý pak uzel, na kterém se nacházejí piny č.3 teploměrů. Tedy např. teploměr U3 s odporem R2 budou v místě měření a zbytek zůstane na desce.
Opět součástky jako R3 a C3 se doladí později až na detail, že kondiky C3, C4… mají být u druhého konce odporu R3, R4…
Těch +12V by ovšem mělo být mezi diodou D3 a 7805 (trochu filtrované).

Jestli máš ještě trpělivost mrknul bys na to prosím?
Lm35 mám špatně. V simulaci z nich nic nedostanu. Všude je 0V.
Díky moc.

Čím to simuluješ?
Ve schématu nejsou piny teploměrů označené.
+Vs má být na +12V (radši ale až za diodou D3)
Vout na odpor 220R
GND patří do uzlu, ve kterém se všechny 3 odpory kolem čidla scházejí. Ve schématu to máš dobře, jen ti tam nějak haprujou čísla pinů. Jesli ti nejde simulace, tak to neřeš. Simulátory nejsou ani zdaleka dokonalý a všemocný. Pokud máš možnost, jeden nebo všechny senzory si kup a vyzkoušej si je fyzicky.

Při pokojový teplotě by měly mít napětí asi 0.25V mezi Vout a GND (piny senzorů) a to samé napětí by mělo být mezi GMD senzoru a GND desky (kde se to bude měřit procesorem).

Simuluji v Proteus 7/ ISIS
Už jsem si všiml, že simulace není vždy 100%. Ale většinou mi to šlo (cca ehmehmkrát)
Když to nešlo tak to vždy bylo v nastavení součástek - např. pinů. Proto si to hlídám. Tady je to ok.
Jinak je vše ok - můžu kreslit desku?


Podle datasheetu je výstup teploměru (pouzdro TO-92) uprostřed a napájení na krajích. V takovém případě ti to nesedí.

Jen nezapoměň, že kondik 100n v napájecí větvi 5V má být co nejblíže napájecím pinům procesoru.

Nebudeš do desky dávat konektory pro teploměry?

Datové vodiče displeje D0:3 uzemni. Při inicializaci totiž displej startuje v 8bit režimu a pro přepnutí do 4bit je na těchto pinech potřeba nula.

Jinak preventivně bych nastřelil kondiky 100n (rozteč 5mm) mezi PB2 a GND, pak k napájení displeje, mezi Vee displeje a GND. Dále pull-upy k tlačítkům (odpor mezi pin procesoru a napájení) a resetu procesoru. Patrně nebudou potřeba osadit, ale je lepší mít pro ně připravené místo než to tam pak lepit nějak zespoda.

Petr: většinou to chodí i z interního RC, ale když to nepojede, tak na nikoho nemůžeš. Interní RC oscilátor má totiž povolených 10% ve frekvenci a kdyby se ti k okraji tolerance přiblížil, už by sis moc nepokecal. Krystal je jistota. Navíc určité frekvence jsou pro standardní rychlosti uartu ideální (jako třeba 11.0592 MHz nebo 14.7456MHz).

Ahoj.
Snad už tě zdržuju naposledy.

U teploměrů jsem dal pouzdra - “nějaká”. Z pohledu simulace je to jedno hlavně, že sedí piny. Ale to je jedno budou na kabelu.

kondik 100n v napájecí větvi 5V = C11? (ptám se pro jistotu)

konektory určitě.

D0:3 díky

pull-up jsem pochopil dobře? i reset procesoru?

Díky moc

C11 také (analogové napájení), ale hlavně C2 (digitální napájení). To je právě problém, že tam ty napájecí piny nejsou vidět.
Doufám, že není ten sw case-sensitive. Máš tam titiž jeden spoj pojmenovaný “propoj” a druhý “PROPOJ”.

Jinak to už vypadá vpořádku.

na Céčka si dám pozor. Díky za upozornění.
PROPOJ je vidět na “reg smes vent l298n4a.jpg” že je tam stejný napětí.

mohlo by takto být zapojené a ovládané podsvícení LCD? místo LED by to bylo připojeno na LCD pin 15 a 16.

ještě bych se tě zeptal - jaká šířka cest napájení, země a ostatních je ideální?

děkuji děkuji děkuji