vineri, 2 noiembrie 2018

Scari luminate inteligent

   Acest material mi-a fost trimis de Bogdan Argatu, asadar proiectarea, descrierea, realizarea, pozele si filmarea sunt ale lui.

Functionare:
   In mod normal, ledurile stau dimate (aprinse slab) pentru un iluminat ambiental.
   La actionarea unui senzor de la orice capat, acestea se sting, aprinzand-use cate unul pe rand la o viteza setata din program si care se poate reprograma. Eu am setat astfel incat sa nu fie nici prea lenta dar nici prea rapida. Programul este facut cu temporizare la 1min si 30 secunde dupa care se sting pe aceeasi directie si apoi se aprind toate la intensitate redusa.
   Daca senzorul de la capatul de jos al treptelor este actionat, acestea se aprind de jos in sus, iar daca este actionat cel de sus, iluminarea porneste invers, respectand directia de mers.
   Montajul are si 4 intrari cu jumper de setare a nivelului de iluminare din stand-by intrucat iluminarea de la teste difera de cea dupa montaj si pentru a nu mai sta sa rescrii iar timpii. Doar se adauga sau se scot unul sau mai multi jumperi regland astfel nivelul de iluminare ambientala.

    Proiectare:
    Intrucat nu exista o schema electronica de plecare ci doar o idee cu principiu de functionare si programare la Atmel, aceasta am facut-o in paint. Nu am desenat si conexiunile care se repeta de in/out, pinii de acelasi fel fiind colorati dupa tipul fiecaruia si notat.
   Initial, cablajul a fost proiectat pentru iesiri cu circuite ULN2003 insa, intrucat am folosit leduri cu consum un pic mai mare, ultimele module cu led de la trepte, cele mai indepartate, erau alimentate mai slab. asadar am proiectat o „placa interfata” in asa fel incat sa pot trece direct la comanda cu tranzistori npn BD241C (100V 3A) arhisuficienti pentru consumul ledurilor fara a modifica placa de baza cu microprocesorul.
    Astfel, montajul este compus de fapt din 3 placi: placa de baza cu microprocesor, placa de interfatare si placa de „comada de putere”.
    Pentru comanda de activare la capetele scarilor, am folosit senzori cu infrarosu cu senzor reflexivi (pentru a nu fi nevoie de cabluri si la emitator si la receptor. Acesta este de tip EL-G50-3B4NA achizitionat de pe www.electricalequipment.ro cel mai ieftin gasit pe piata in Romania. Link-ul direct catre acesta este https://www.electricalequipment.ro/control-si-semnalizare/aparate-de-masura-timere-si-relee/senzori/senzor-fotoelectric-el-g50-3b4na-46g503b11.html. Nu am folosit alt model intrucat avem si pisica si sa nu se activeze aiurea, dar se pot folosi senzori cu microunde sau orice alt tip.
   Pentru a nu aparea induceri aiurea in cablaj si implicit in porturile de intrare, langa modulul placii de baza, intrarea de la senzori este conectata prin doua SSR-uri LH1540.
   Cablajul de la modul catre senzori este din cablu panglica de tip DS1058-24M28-30.5 de la TME https://www.tme.eu/ro/details/ds1058-24m28/cabluri-panglica-multifilar/connfly/ds1058-24m28-305/ pentru ca il aveam deja „pe stoc” de la alte lucrari si un cablu panglica de 2x0,5mm pentru (–)-ul  senzorului de sus si (+)-ul ledurilor (deoarece acesta trebuie sa suporte consumul tuturor ledurilor cand se aprind) intrucat nu mai imi ramasesera fire suficiente, cel folosit nemaiavand 24 fire in panglica.
   Traseul fizic al firelor de alimentare a fost lipit de cantul plintei, separate si suprapuse cat sa nu depaseasca latimea gresiei. (de ex 3 benzi de 6 fire suprapuse).
   Intrucat pe timpul zilei exista geam la scari si este lumina suficienta, eu am adaugat si un crepuscul care la lasarea serii, printr-un releu, alimenteaza circuitul de +12V a ledurilor.
   Treptele au cate 2 sau 3 segmente de leduri banda 5050 de 14w/m conectate pe fiecare iesire in functie de latimea acestora (la mine fiind in spirala, cele din colt sunt mai late la perete).
   De cele mai multe ori, partea de circuit imprimat o confectionez din placa de test perforata astfel, ca traseul dintre componente este creat pe moment, in functie de dimensiunea si pozitia pieselor si a componentelor si de aceea, pentru cablaj nu exista decat poza.
   Folosesc o hartie imprimata la scara pe care fac traseele cu sarma (lita) din cablu multifilar subtire pentru interconectare dupa schema electronica. Poate e mai complicat asa, dar e mai mare placerea decat sa le „corodez” (nu am mai facut o placuta corodata de minim 10 ani)  si in plus, pot modifica oricand un traseu sau daca schimb o piesa mai mare,  va avea gauri pentru cea noua daca nu se potriveste.. Acum, fiecare cu „pasaricile lui” ... si mai am un defect, intotdeauna imi place sa folosesc conectori cu surub pentru fire, nu sa le lipesc direct si socluri pentru orice integrat.

PS: aici este fisierul hex pentru ATmega8A cu oscilator intern !

PS2: am realizat si eu un montaj si am scris programior pentru 16 trepte cu functionare similara;
si unul cu 17 trepte;

5.12.2020
   Link-ul la programul scris de mine pentru 17 trepte, acesta este 17leds_running_2button.ino si in acesta se observa ca:
- butoanele fara retinere dintr-un capat sunt la A4 si, respectiv, A5;
- iesirile sunt de la D1 la A3 (D1-D2-D3-D4-D5-D6-D7-D8-D9-D10-D11-D12-D13-A0-A1-A2-A3).
    Programul 17leds_running_2button.ino este flexibil si se pot comanda mai putin de 17 barete de leduri, doar se modifica linia 15
dar trebuie tinut cont ca numararea incepe de la D1. De exemple, daca comandati doar 5 barete, ca aveti o scara mica, comenzile baretelor (prin tranzistoare sau tranzistoare cu relee) se vor da pe iesirile D1, D2, D3, D4 si D5.
    Pentru a folosi senzori (PIR, infrarosii), care au iesirea in HIGH cand sunt activate si LOW cand sunt in repaus, se va folosi programul 17leds_running_2sensors.ino in care se pastreaza configuratia si modul de limitare al numarului de leduri:
- senzorii dintr-un capat sunt la A4 si, respectiv, A5;
- iesirile sunt de la D1 la A3 (D1-D2-D3-D4-D5-D6-D7-D8-D9-D10-D11-D12-D13-A0-A1-A2-A3).
   In repaus, ledurile se aprind slab, dar daca se doreste indepartarea aceset facilitati se comenteaza liniile:
astfel

    Pentru cei mai putin familiarizati cu electronica si Arduino, prezint schema pentru test cu 2 butoane fara retinere, ce functioneaza cu programul 17leds_running_2button.ino
respectiv schema ce foloseste senzori, de exemplu PIR, si functioneaza cu programul 17leds_running_2sensors.ino

marți, 30 octombrie 2018

Ceas RTC cu reglaj si termometru in 2 zone

   Pentru un ceas cu reglaj si afisare temperaturi pentru 2 zone, una fiind temperatura unei camere (rezolutie mare) si una pentru temperatura tur incalzire centrala (rezolutie redusa), am folosit informatiile din articolul Arduino Digital Clock & Thermometer.
   Schema mea este
   Testele au fost facute de Bogdan Argatu, dupa cum se vede in filmuletul clock with 2 thermometers
 si s-a folosit sketch-ul clock_2ds18b20.ino.
    Alte poze de la montajul realizat de Bogdan:

duminică, 28 octombrie 2018

Termostat simplu

   Desi pe parcursul anilor am prezentat diverse modele de termostate, pe diferse afisaje, dupa o discutie cu Tom, am zis sa il ajut sa-si faca un termostat simplu pentru pompa de recirculare a centralei de incalzire pe lemne, asa ca am facut o schema simpla:
unde se foloseste o placa Arduino Uno, dar merge fara modificari si Nano, Micro Pro, Pro Mini, etc. Ca senzor de temperatura e folosit un DS18B20, iar ca parte de comanda cu releu de 5V comandat de un tranzistor (bineinteles ca se poate pune si un releu de 12V, cu alimentarea dintr-o sursa separata sau modul de 5V, dar comenzile sunt inversate, ori se schimba contactele ori se schimba in program (sketch) HIGH cu LOW si LOW cu HIGH... In schema mai apar 2 butoane, care permit cresterea, respectiv scaderea valorii de prag cu cate un grad Celsius (oricum avem si un histerezis de 1 grad Celsius). Valorile sunt memorate in EEPROM-ul microntrolerului de pe placa Arduino.
    Programul (sketch-ul) folosit este DS18B20_thermostat.ino si permite alimentarea pompei la temperaturi mai mari decat cea dorita
respectiv oprirea la scaderea temperaturii
   Dupa cum se observa, Tom si-a modificat modul de afisare fata de ce am eu in sketch, ceea ce e indicat sa faceti si voi, ca de aia e Arduino, sa poti modifica usor prin el... urmariti filmuletul facut de el, Termostat cu Arduino
PS: Daca aveti nevoie de montaje si automatizari, apelati cu incredere la Tom...

Afisaj cu cristale lichide KTM-S1201 (2)

   In articolul Afisaj cu cristale lichide KTM-S1201 am realizat, dupa ce mi-am dat seama cum se comanda, un ceas cu reglaj din encoder, avand si un temometu si higrometru cu datele ofertie de la un DHT22 (AM2302). De data asta, am modificat putin programul sa am un ceas cu reglaj din 2 (3 butoane), un termometru cu date oferite de un senzor DS18B20 si un voltmetru de curent continuu pana la 20V. Afisajul a fost primit de la dl. Baricz János si dansul voia si aceasta a doua versiune de ceas, asa ca mi-am facut timp sa revad programul (sketch-ul) initial si sa-l (re)inteleg.
   Schema de conectare a afisajului nu difera de schema anterioara, doar am scos encoderul punand butoane fara retinere (2 pentru MENIU si PLUS sau MINUS, respectiv 3 pentru MENIU, PLUS si MINUS), am scos senzorul de temperatura si umiditate DHT22 (AM2302) si am pus un senzor digital de temperatura DS18B20, apoi am adaugat un divizor rezistiv pentru a putea masura tensiunea continua pana la 20V.
   De data trecuta am realizat o placuta adaptoare ce are semireglabilul de contrast pe ea, schema ei fiind
   Ceasul este indicat cu ora, minute si secunde, apoi este indicata temperatura si tensiunea, ca si la ceasul anterior:
   Nu am avut la indemana 2 butoane fara retinere, in momentul realizarii celor doua filmulete, dar ar trebui sa fie acelasi comportament pe partea de reglaj data si ora, cand folosim programul KTMS1201_RTC_18B20_voltmeter.ino
ceas cu reglaj, termometru si voltmetru pe afisaj LCD KTM-S1201
clock with adjust, thermometer & voltmeter on KTM-S1201 lcd display
  Pentru a se compila sketch-ul trebuie pus in subdirectorul programului si fisierul KTMS1201.h
PS: am gasit si 2 butoane fara retinere si am consata ca nu trebuie si al 3-lea, deoarece se poate schimba rapid valoarea... dupa cum se vede in filmuletele de mai jos:
ceas cu reglaj, termometru si voltmetru pe afisaj LCD KTM-S1201 (2)
clock with adjust, thermometer & voltmeter on KTM-S1201 lcd display (2)


marți, 23 octombrie 2018

Ceas matriceal cu alarma, termometru si higrometru (3)

english version

articolul initial


    Dupa ce am pus ceasul la teste, am constatat ca modul de afisare la temperaturii este deranjant datorita literei C foarte mici, am rescris partea de afisare a acesteai, in sensul ca pentru temperaturi pozitive, mai mari de 10 grade Celsius, am scos semnul de plus, iar la cele sub -10 grade Celsius, care sunt extrem de rare in casa 😇 am lasat C-ul ingust.
   Acum modurile de afisare ale temperaturii sunt:
- temperaturi mai mari de 10 grade Celsius

- temperaturi pozitive mai mici de 10 grade Celsius
- temperaturi negativa mai mari de -10 grade Celsius
- temperaturi negative sub -10 grade Celsius
restul afisarilor sunt normale:
- ceas
- umiditate relativa
   In filmuletele
ceas matriceal cu alarma, termometru si higrometru (3)
matrix mini clock with alarm, thermometer and hygrometer (3)
se vede modul de afisare (timpul de afisare normal al ceasului e mai scurt, iar pentru temperatura si umiditate mai lung, decat la functionarea normala), dar am refacut filmarile si am si timpii normali;
- ceas matriceal cu alarma, termometru si higrometru (3a)
- matrix mini clock with alarm, thermometer and hygrometer (3a)
PS: sketch-ul este mini_clock_1_3_c.ino !

duminică, 21 octombrie 2018

Ceas matriceal cu alarma, termometru si higrometru (2)

   In completarea articolului anterior, unde am implementat si afisarea temperaturii si umiditatii relative din aer la ceasul cu alarma, de data asta, am modificat sa avem informatia despre temperatura cu virgula:
    Punctele portocalii sunt puse (ulterior) pentru usurinta afisarii, iar caracterele sunt cu galben, initial nu le pusesem la temperatura:
- temperatura negativa cu 2 cifre inainte de virgula:
- temperatura negativa cu o cifra inainte de virgula:
- temperatura pozitiva cu o cifra inainte de virgula:
- temperatura pozitiva cu 2 cifre inainte de virgula:
   Programul, care realizeaza noul mod de afisare al temperaturii, este mini_clock_1_3_b.ino.
   Puteti vedea cum se vad informatiile pe ecranul matricial in filmuletele:
ceas matriceal cu alarma, termometru si higrometru (2)
matrix mini clock with alarm, thermometer and hygrometer (2)