[Logo www.acvariu.ro]

Acvariu.ro - forum - Cea dintai comunitate a acvaristilor
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Top Downloads] Top Downloads   [Members] Member Listing   [Groups] acvariu.ro 
[Register] Register / 
[Login] Login 
DIY cu pcDuino  XML
Forum Index » Hardware
Author Message
vm70
Member
[Avatar]

Joined: 16/08/2012 22:02:23
Messages: 173
Location: Bucuresti
IP:
Offline

Eu stiu doar ca sunt foarte sensibile la conexiunea cu proba. Ai ceva link-uri cu discutii pe tema asta?

Daca va intereseaza va pot imprumuta un stamp pH pentru dezvoltare si teste. Nu e ultima generatie, dar va faceti o idee.

Reef 600L / Planted
Lucian
Administrator
[Avatar]

Joined: 20/12/2001 02:00:00
Messages: 6118
Location: Bucuresti
IP:
Offline

vm70 wrote:Eu stiu doar ca sunt foarte sensibile la conexiunea cu proba. Ai ceva link-uri cu discutii pe tema asta?

Daca va intereseaza va pot imprumuta un stamp pH pentru dezvoltare si teste. Nu e ultima generatie, dar va faceti o idee.

Au fost doar discutii... Daca vor, cei implicati pot sa comenteze...
Aceasta sesnibilitate se poate transforma intr-o instabilitate si o variatie a datelor citite si asta este naspa si trebuie tratata.


„Singurele lucruri care se intampla rapid intr-un acvariu sunt cele rele. Lucrurile bine facute se observa in timp si necesita rabdare, rabdare, rabdare...”
Shubi
CNC-ist de frunte

Joined: 25/03/2012 13:43:16
Messages: 2463
Location: Timisoara
IP:
Offline

koala wrote:
Shubi wrote:Eu il faceam mai simplu, puneam priza

Si, dup-aia, taiai firu' rosu... stim!


Da, da.....obligatoriu sa contina un fir rosu
Sti care-i faza cu noi Nea Ursuletu ?...n-avem barba !!!

This message was edited 1 time. Last update was at 02/06/2014 22:37:37

viulian
Aquamaster
[Avatar]

Joined: 03/10/2007 22:03:37
Messages: 3646
Location: Buc./Brx.
IP:
Offline

Shubi wrote:Eu il faceam mai simplu, puneam priza


M-am gandit si eu sa "bag acvariul in priza" dar am o retinere de 220V mai puternica decat cheful.

@vm70 excelente piese ... esti la curent cu tot ce misca la masurat pH - respect! Am ales the lazy way ... decat sa stau sa lipesc SMD-uri si sa fac circuitele, cand am deja multe necunoscute in sistem, am preferat sa dau cei 30 euro pe PWR ISO si e pe drum. Bun pontul si cu prelungitoarele - nu stiam ca imi trebuie, mi se parea un accesoriu exotic - dar sper sa evit cei 70 euros pentru fiecare electrod si sa ma descurc cu 4 chinezarii, nu ma intereseaza viteza de stabilizare asa mult, cat sa urmareasca totusi curba pH-ului, si oi mai masura eu din cand in cand separat, mai vedem, macar sa le am pe toate conectate dupa aceea reevaluez.

Despre instabilitate, am intalnit ceea ce spunea si vm70 - ground loops (adica de la el am aflat prima data ca trebuie acel PWR ISO cand ambele sonde de Redox si pH sunt in acelasi acvariu, merci de pont man, cred ca mi-ar fi luat ceva sa aflu si sa ma oftic ).
Cand am zis apoi ca poate pot evita cei 30 euro pentru PWR ISO construind de mana ceva (si am ajuns la discutii despre amplificatoarele pentru electrozii pH, teraohmi si femptoamperi, la opamp-urile super sensibile si impedante de intrae uriase, condensatori super specializati care sa nu faca X sau Y) am zis ... mai bine dau banii si gata.

Problemele la instabilitatea masuratorilor pot apare (din cate am citit) si de la conexiunile incorecte intre sonda si amplificator (adica fire neizolate coaxial) - firul BNC-ul sondei este izolat pana in mufa, dar daca din mufa tragi tu cablaj de 10cm pe placa de cupru pana amplificatorul de voltaj (pH Circuit-ul sa zicem), firele acelea nu mai sunt izolate electromagnetic -> instabilitate la masuratori.

Atlas Scientific vine un montaj unde mufa BNC este lipita foarte aproape de pH Circuit (dar pH Circuit trebuie comandat separat): http://www.exp-tech.de/images/product_images/original_images/atlas_single_circuit_carrier_board_2.jpg vandut aici : http://www.exp-tech.de/Sensors/Biometrics/Single-Circuit-Carrier-Board.html ( pH circuit este bucatica aceea rosie de sus).

Am comandat un board cu 4 mufe BNC si locasurile pentru pH circuit ( http://www.exp-tech.de/Sensors/Biometrics/Multi-Circuit-UART-Carrier-Board.html ) si sper ca in felul asta sa reduc inferferenta electromagnetica care poate apare asupra montajului caci sonda este foarte aproape de integratul care o masoara. Daca ar fi fost mai departe pe montaj, pui sonda intr-un colt, si ai rute luuungi pana la partea care o masoara, pot creste foarte mult interferentele asupra acelei parti -> masuratori instabilite.

Asta am gasit eu cel putin ... (legat de instabilitate). As fi curios sa aflu si alte opinii. Am vazut ca au sonde si de ORP, baietii par ca se ocupa.

Acv. 30L, Acv. 10L, Acv. 16L, Reef 30L, Acv. 0.09L; In trecut: Acv. 25L, Acv. 8L
Pt. imbunatatit navigarea pe forum (My Stats, Big Images resize, Timezone fix)
[WWW]
viulian
Aquamaster
[Avatar]

Joined: 03/10/2007 22:03:37
Messages: 3646
Location: Buc./Brx.
IP:
Offline

Nemtii astia sunt de o eficienta infernala.

Azi am avut deja produsele acasa credeam ca o sa am timp sa mai studiez despre sonde, sa dau comanda de un kit de pH 4, 7 si 10 bla bla bla. De unde. Executat. Au si anulat prima comanda (la rugamintea mea) fiindca uitasem de PWR ISO si nu voiam sa platesc shipping de 2 ori.

image image
image image

Nu credeam ca ph Circuit sunt atat de mici sunt cablajele mici rosii din plasticul protector. Al 5-lea negru este de fapt PWR ISO.

Cei de la Atlas Scientific au zis acum 3 zile ca ma vor ajuta cu o schema de instalare. O sa le reamintesc trimitandu-le si lor pozele
Am si o mica dilema, au cod sursa pentru Arduino (am un Arduino) dar vreau sa folosesc pcDuino3 asa ca o sa fiu nevoit sa portez si codul sursa. Oricum, am deja o sonda pH, dar nu stiu daca pot calibra taraneste doar la 7 - fiindca solutiile de 4 si de 10 imi lipsesc deocamdata. Avantaj pH circuit este ca merg la 3.3V si fiecare modul trage 4mA maxim. Ma gandeam ca totusi am o separare galvanica fata de retea in transformatorul care alimenteaza controller-ul. Si nici cablu de retea nu voi avea, controllerul are deja WiFi on board.

Asa ca inca sunt sceptic ca schema va fi imuna perfect la ground loops. Om vedea.

Acv. 30L, Acv. 10L, Acv. 16L, Reef 30L, Acv. 0.09L; In trecut: Acv. 25L, Acv. 8L
Pt. imbunatatit navigarea pe forum (My Stats, Big Images resize, Timezone fix)
[WWW]
vm70
Member
[Avatar]

Joined: 16/08/2012 22:02:23
Messages: 173
Location: Bucuresti
IP:
Offline

Din cate am citit se recomanda pentru pH o calibrare in cel putin 2 puncte, care sa includa intervalul uzual de masuratori. Eu am calibrat cu 4 si 7 , desi l-am folosit la reef.

Reef 600L / Planted
viulian
Aquamaster
[Avatar]

Joined: 03/10/2007 22:03:37
Messages: 3646
Location: Buc./Brx.
IP:
Offline

@vm70 - perfect de acord, sunt constient ca in 2 puncte de referinta (chiar in 3 cum recomanda ei) are abaterile si mai mici (daca mai aplici si corectia de temperatura atunci e si mai bine). In acvariile marine am acum ... 26.62 in cel mic, si 24.69 in cel mare.

Voiam doar de nerabdare sa conectez ceva acolo, sa vad ca obtin o valoare, oricare ar fi ea dar nu e clar din .pdf-ul celor de la Atlas daca seria de calibrare (la 4 7 si 10) trebuie executata integral (altfel ignora orice) sau pot sa-i dau comanda de calibrare doar la 7 zi ce mi-o zice aia e, dar macar sa nu dea eroare ca ori trebuie calibrat in 3 puncte, ori nu merge.

In sensul asta ...

Acv. 30L, Acv. 10L, Acv. 16L, Reef 30L, Acv. 0.09L; In trecut: Acv. 25L, Acv. 8L
Pt. imbunatatit navigarea pe forum (My Stats, Big Images resize, Timezone fix)
[WWW]
vm70
Member
[Avatar]

Joined: 16/08/2012 22:02:23
Messages: 173
Location: Bucuresti
IP:
Offline

Cred ca cel mai bine e sa verifici cu Atlas... chiar sunt curios daca am procedat corect.

Reef 600L / Planted
Lucian
Administrator
[Avatar]

Joined: 20/12/2001 02:00:00
Messages: 6118
Location: Bucuresti
IP:
Offline

Si sa compari valorile citite in serie. Nu pot diferi mai mult de x% doua citiri consecutive. Trebuie sa faci un algoritm de validare a datelor pentru a prinde si elimina datele eronate...


„Singurele lucruri care se intampla rapid intr-un acvariu sunt cele rele. Lucrurile bine facute se observa in timp si necesita rabdare, rabdare, rabdare...”
viulian
Aquamaster
[Avatar]

Joined: 03/10/2007 22:03:37
Messages: 3646
Location: Buc./Brx.
IP:
Offline

Lucian, merci de idee ... citisem de niste algoritmi de mediat valori cand citeam despre senzorii de temperatura (nu mai tin minte daca am postat mai sus, dar link-ul este: http://www.elcojacobs.com/eleminating-noise-from-sensor-readings-on-arduino-with-digital-filtering/ )
Omul e tare, prima data masoara chior, apoi trece peste median si average filteric aplicand direct un "mode filter" apoi nemultumit trece la un "IIR Butterworth low pass filter". WTF.

Chiar si digitalul DS18B20 are o problema, cand repornesc board-ul, valoarea data (cu CRC corect!! ) este de 85 de grade. Deocamdata am un mic script care elimina valoarea din datele de intrare.

Dar se pare ca Lucian m-a adus cu picioarele pe pamant, nu imi pusesem problema ca va trebui sa mediez / elimin valori si la serialul asta eram inca in faza efervescenta.

Acv. 30L, Acv. 10L, Acv. 16L, Reef 30L, Acv. 0.09L; In trecut: Acv. 25L, Acv. 8L
Pt. imbunatatit navigarea pe forum (My Stats, Big Images resize, Timezone fix)
[WWW]
viulian
Aquamaster
[Avatar]

Joined: 03/10/2007 22:03:37
Messages: 3646
Location: Buc./Brx.
IP:
Offline

@vm70 - am primit raspuns de la Atlas Scientific - e ok si doar cu 2 calibrari - i-am intrebat daca merge doar cu 1 sau 2 calibrari vs 3 sau nimic ? Mi-au zis ca merge, si ca abaterile sunt foarte mici oricum si doar cu 2 calibrari.

Schema la care m-am gandit e validata si ea - in principiu e schema stas:

1 sonda in fiecare acvariu -> toate merg la multi circuit -> PWR-ISO -> controller (adica PWR ISO trebuie sa fie intre multi circuit board si controller). Din pacate, placa a venit fara mufele acelea negre lungi de conectat fire la protoboard (are doar gaurile in care trebuie sa lipesc - a trebuit sa dau o fuga sa caut niste mufe a la Arduino dar tre sa le mesteresc un pic pentru ca nu se potrivesc la lungime si o mufa trebuie taiata. Am gasit ceva gen http://www.exor-robotics.com/product/berg-strip-1x40-female-2mm-connector-2/ am luat 2 barete doar cu 6 gaurele, si cum placa are 7 gauri - de la una trebuie sa tai doar un pin.

--

Pana una alta am reusit sa adaug suportul pentru display. In 128x96 pixeli e foarte greu insa sa pui valorile incat sa le poti vedea aruncandu-ti privirea; trebuie sa privesc de la 30cm ca sa vad exact. Asa ca am introdus notiunea de "prag" si daca o temperatura depaseste 28 de grade o afisez cu rosu (atata pot sa vad de departe, ca e ceva cu rosu). Ar trebui sa pun si si limita inferioara specifica fiecarui acvariu, dar mai e pana la iarna
Ma intriga faptul ca in acvariul de 10L temperatura era de 29.2 grade - zic ma, sigur zice senzorul ce trebuie ?? Am zvarlit un termometru normal siiii ... surpriza, fix 29.2 grade arata si ala, ca si DS18B20-ul.

image image

PS:

O alta problema intalnita, dar nu a fost evidenta de la inceput - este ca trebuie sa ai un mic daemon care ruleaza pe placa si care raporteaza valorile cui are nevoie. Altfel, apar conflicte pe pini daca mai multe procese controleaza acelasi pin unde senzorii sunt conectati, caci se vor incaleca unul cu celalalt.
Facusem un mic executabil "temperatures" care rulat dadea valorile. Dar daca 2 procese se intampla sa ruleze "temperatures" in acelasi timp (de exemplu un proces care raporteaza valorile la Cacti si un alt proces care vrea sa faca refresh la ecranul LCD) si unul zice pin-ului mergi la GND si imediat celalalt proces care e in urma ar zice mergi la VCC (caci asta urma el sa faca daca ar fi fost singur pe bus)... nu mai intelegi nimic.

Asa ca a trebuit sa fac un daemon (in perl) care raspunde pe TCP/IP acum si face si caching la valori daca il intrebi prea des. Doar daemonul lanseaza temperatures cand considera (daca a trecut 1 minut de la ultima executie) iar daca il intrebi de 2 ori repede, raspunde cu valorea cachuita.

This message was edited 1 time. Last update was at 09/06/2014 09:07:20


Acv. 30L, Acv. 10L, Acv. 16L, Reef 30L, Acv. 0.09L; In trecut: Acv. 25L, Acv. 8L
Pt. imbunatatit navigarea pe forum (My Stats, Big Images resize, Timezone fix)
[WWW]
vm70
Member
[Avatar]

Joined: 16/08/2012 22:02:23
Messages: 173
Location: Bucuresti
IP:
Offline

Merci de informatii!
Referitor la demon, si eu cred ca e cea mai buna solutie pentru un controller Linux - pe Arduino sau echivalent nu exista problema asta

In legatura cu citirile de pH, nu cred ca este exclus ca aceasta mediere sa fie facuta deja de Atlas - ai vazut ca in datasheet ei indica timpul necesar unei operatii de citire pH - mie mi se pare cam mult pentru o citire individuala...
Astept cu mare interes update-uri la circuitele de pH!

Reef 600L / Planted
viulian
Aquamaster
[Avatar]

Joined: 03/10/2007 22:03:37
Messages: 3646
Location: Buc./Brx.
IP:
Offline

Exact Arduino are 2 mari avantaje in acest moment:
a) consuma putin daca ai nevoie sa-l lasi pe camp.
b) fara kernel si multithreading, doar cu un singur fir de executie, codul tau, e foarte usor sa faci delay-uri precise si sa ai viteze mari la controlul individual al pinilor (adica pe pcDuino3 ca sa deschizi un pin, este de fapt o operatie pe un virtual device in /sys/devices/virtual/misc/gpio/... - adica mai lent decat Arduino, dar suficient de rapid incat doar la extreme sa-ti dai seama).

M-am apucat aseara sa asamblez, se aprinde beculetul pe ph Circuit, doar ca am o problema: multi circuit board (mcb) are 7 pini, VCC / GND / Rx / Tx (cu care comunici cu fiecare pH circuit) si E A B (un soi de Gnd, A, B) cu care poti selecta care din cei 4 pH circuit sa fie cel activ (au un truth table imprimat pe board).

Acum, problema mea este ca PWR ISO are doar 4 pini care sunt facuti sa se conecteze la un pH Circuit - dar nu am si ceilalti 3 care sa controleze care din pH probes sa fie activa. Si presupun ca E A si B de pe MCB se conecteaza direct la controller incat controller-ul sa selecteze care electrod e masurat insa firele astea nu vor fi separate galvanic de controller. Asa ca am mai scris un mail aseara la Atlas Scientific sa ii intreb daca E si GND-ul de pe MCB sunt separate, altfel e ca si cum conectez GND-ul controllerului (prin E) cu GND-ul separat galvanic de pe iesirea PWR ISO. Nu stiu daca e usor de explicat fara o schema sper sa se inteleaga. PWR ISO pare facut sa fie conectat direct cu un pH circuit (sau alealalte) dar nu are si ceilalti 3 pini ceruti de MCB (pentru selectat proba). Adica tre sa ii conectez direct la controller, neseparati galvanic - prin urmare, GND-ul va vi conectat la PWR ISO, dar E-ul direct la GND-ul controller-ului. Si sper sa fie separate pe MCB caci vorbim de 2 mase deja.

Astept raspuns ... am si ceva poze, dar le voi pune cand mai fac pasi. Multumesc pentru sustinere

Acv. 30L, Acv. 10L, Acv. 16L, Reef 30L, Acv. 0.09L; In trecut: Acv. 25L, Acv. 8L
Pt. imbunatatit navigarea pe forum (My Stats, Big Images resize, Timezone fix)
[WWW]
viulian
Aquamaster
[Avatar]

Joined: 03/10/2007 22:03:37
Messages: 3646
Location: Buc./Brx.
IP:
Offline

Povestea continua, un personaj cheie este eliminat de catre autor, dar actiunea se incinge

In primul rand, MCB-ul (cu 4 mufe) mi-a luat o seara sa-i dau de cap pana mi-am pierdut cheful. Mufele BNC erau dezlipite (am vazut ca la ei pe site vad kitul dezasamblat, dar la al meu era totul lipit, mai putin pinii grosi care fixau mufele BNC), am purces la lipit:

image image

Apoi, MCB-ul a venit fara "stackable headers" pentru mufa de 7 pini de I/O, erau doar gaurele. In pozele lor ei conecteaza 7 pini tata si il infig intr-un protoboard, dar cum are deja gauri pentru suruburi, a pune pini tata "in jos" insemna ca ar trebui sa il fixez inalt in cutie mai incolo ca sa las loc de fire. In plus, n-aveam nici eu "stackable headers" mama de 7 pini, ci doar de 6, asa ca un cutter incins a facut rost de un pin, l-am lipit cu super glue si apoi facut conexiunile mai departe:

image image
image

Apoi, am zis sa incerc sa-l fac sa mearga cat de cat cu Arduino, inainte sa-l conectez la pcDuino3 ... mai ales ca tot codul lor este oferit pentru Arduino, si cumva sa ma familiarizez cu felul in care functioneaza ca sa-l pot porta. Prin urmare am avut nevoie sa fac conexiuni multe, dar n-am dat banii pe fire de conexiuni specifice, am luat un cablu cu mute fire ieftin (de telefon cred) si mi-am taiat ce am avut nevoie:

image image

Acum a inceput marea problema. Nu a mers. Pentru ca majoritatea Arduino nu au decat un singur port serial (unde de obicei este comunicarea cu PC-ul), nu ramane decat sa simulezi un "serial software" pe alti pini a discuta cu pH Circuit. Insa biblioteca de AltSoftSerial recomandata de Atlas Scientific nu merge. Am pierdut vreo 2 zile incercand diferite combinatii - stat pe Google cautand, nimic. Am decis sa scot din schema PWR ISO pentru a avea un modul in minus si a face debug-ul mai usor.
Insa gasisem cativa care au zis ca nu merge AltSoftSerial, si ca biblioteca SoftwareSerial (cu care vine Arduino IDE) merge mai bine. In disperare, am zis sa incerc. Supriza, a mers din prima! M-am ofticat super naspa - o sa le dau un mail acru celor de la Atlas Scientific.

Facusem primul pas si pH Circuit raspundea cu "check probe" (ca nu aveam nimic inserat) dar puteam sa-i dau comenzi sa-si aprinda led-ul, sa vad varianta de firmware, samd.
Asa ca tarziu in noapte, am decis sa pun si PWR ISO inapoi sa vad daca merge in continuare. Mare gresala. Fiind aproape intuneric in camera, si neprivind perpendicular pe protoboard - l-am infipt decalat cu 1 pin. Fsssssssssssssssss ............ + un pic de fum sa ma trezeasca. FUCK. De obicei shieldurile / Atmelurile sunt foarte rezistente, poti sa le faci mai orice, asa ca nu eram foarte concentrat. Insa plasticelul asta scump nu are protectii........

Am comandat unul nou (+alte chestii, o sa povestesc alta data despre ele) dar pana va veni, trebuia sa fac ceva caci macar pe direct, intre Arduino si pH Circuit mergea comunicarea (am avut noroc ca PWR iso nu a trimis curentul aiurea catre pH Circuit). Asa ca am decis sa conectez asa:

"pH Circuit -> MCB -> Arduino -> pcDuino"

unde Arduino va interfata MCB-ul spre pcDuino. De ce nu am conectat direct pH Circuit / MCB la pcDuino ? Pentru ca se pare ca MCB-ul are nevoie de 5V iar pcDuino este de 3.3V - deci inseamna ca atunci cand MCB-ul va scrie catre pcDuino ii va da 5V (fata de 3.3V cat intelege ele) si s-ar putea sa-l arda (si in manual la pcDuino spune sa nu-i dai mai mult). Cum deja arsesem PWR ISO - n-am vrut sa mai risc. Una din piesele comandate este un logic level shifter bidirectional pentru seriala intre 3.3V si 5V. Asa ca Arduino juca rol si de logic level shifter, caci pcDuino are USB unde e ok la 5V, doar pe pini nu pot pune direct 5V. Dar daca ar fi fost sa comunic de pe pcDuino pe Arduino pe seriala (via USB) puteam sa am Arduino conectat la 5V, el dadea 5V mai departe la MCB cat, pcDuino citea corect pe USB deci OK. (s-ar putea ca MCB-ul sa mearga la 3.3V dar nu am verificat deocamdata - pH circuit merge intre 3.3V si 5V, dar pe MCB scrie doar 5V - insa poate Atlas Scientific or fi facut treaba mai OK).

Apoi am mai pierdut vreo 2 zile sa fac Ubuntu de pe pcDuino sa comunice cu Arduino pe seriala si sa pot compila pe pcDuino ca sa nu trimit .hex-ul de pe pc pe pcDuino si sa scriu de acolo Arduino. Alta zi pierduta, caci SoftwareSerial NU MERGE compilat pe Ubuntu, merge compilat pe Windows doar. Am impresia ca avr-gcc-ul de Ubuntu optimizeaza altfel buclele de delay (le scoate sau stiu si eu) si nu merge. Acelasi cod pe Windows producea un .hex file care functiona corect, dar pe Ubuntu nu. Tot vrand sa elimin sa uploadez mereu .hex-ul de pe Windows, am decis sa folosesc Hardware Serial caci Arduino al meu (Atmelul Mega de pe el) are 2 porturi seriale. In sfarsit, reusisem sa pot accessa pe pe pcDuino3 valorile masurate de Arduino, si sa ii trimit comenzi de calibrare etc.

Arata cam asa acum:

image

Electrodul de la Sera dadea valori ok si stabile. Se pare ca in setup-ul meu nu sunt probleme cu ground loops, asa ca probabil ca m-am grabit comandand un alt PWR ISO, dar macar o sa ma simt mai in siguranta. Prea multe transformatoare, USB-uri, etc ca sa apara zgomot, nimic nu e conectat direct la groundul prizei.
Insa neavand incredere in electrodul Sera (am comandat o solutie de "revigorare" ) am mers la magazin si cumparat un electrod Dennerle pentru a avea o referinta cu care voi masura celelalte sonde (Sera + cele 2 chinezarii pe care le am in plan sa le comand).

A trebuit sa-mi improvizez de asemenea si statia de masuratoare Dennerle, cateodata nu inteleg, dar cereau 18 euros pe suportul acela de calibrat cu 3 tuburi. Lasa ca-mi fac eu - aveam ceva containere de la testele JBL, un zip tie si putin burete. Mi-am scris cateva indicii pe JBL: ordinea de calibrat ( ph 7 trebuie prima data, pH 4 a doua oara, pH 10 a 3-a oara, deci am 1 / 7, 2 / 4 si 3 / 10 ) si apoi litera de calibrare pe care trebuie s-o trimit la pH Circuit pe seriala, odata ce sonda si-a stabilizat valorile (in cazul pH 7 litera este 'S').

image image

Sondele la calibrat:

image image

Sondele in acvariile marine:

image image

Am atasat si un grafic cu valorile masurate timp de 11 ore azi noapte. Absolut nicio masuratoare aiurea totul super stabil. Electrodul Sera prefera cateodata sa oscileze intre 7.22 si 7.24 de exemplu (doar 0.02) asa ca nu fac decat sa citesc 10 valori si sa le fac media aritmetica, nu e nevoie de nicio filtrare separata.

Totusi nu am incredere in Sera electrode la mana a doua: mi se pare prea mic pH-ul raportat in acvariul marin - si aici sunt 2 posibilitati:
a) ori e dat peste cap si trebuie sa-l calibrez si la pH 10 (Si asa cand l-am pus in pH 7 zicea ca e 6.6, in pH 4 zicea ca e 3.4 samd, deci probabil trebuie calibrat si la 10).
b) ori e dat peste cap si trebuie sa-l reconditionez.
c) ori e dat peste cap si trebuie sa-l arunc.
Insa n-am avut inca energie sa mai var sonda Dennerle in acelasi acvariu cu Sera si sa verific. In seara asta insa ....

Sonda Dennerle insa, aproape impecabila din prima. Am pus-o in pH 7 si zicea 6.98 si in pH 4 zicea 3.4. Cred ca totusi trebuie calibrat si cu pH 10 pentru precizie .... o sa caut.

Cam asta. Totul merge, dar mai e mult pana departe:

a) tre sa scot Arduino din poza, dar dupa ce vin PWR ISO si logical level shifter bidirectional.
b) tre sa scriu cod pentru pcDuino sa comunice pe seriala direct el insusi (are hardware serial si el).
c) tre sa colectez datele de pcDuino catre Cacti si sa am grafice frumoase, deocamdata e un cron script care la 1 minut intreaba pe Arduino valorile, le face media si le scrie intr-un fisier ca sa vad daca masuratorile sunt stabile.

Cam asa arata debug-ul pe pcDuino:

Jun 16 08:19:01 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * opening /dev/ttyACM0
Jun 16 08:19:01 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * disabling debug leds
Jun 16 08:19:01 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * 1:L0 - ph_arduino::awrite (/home/ubuntu/c_environment/work/aquariums/ph_arduino.pl l. 63)
Jun 16 08:19:01 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * 2:L0 - ph_arduino::awrite (/home/ubuntu/c_environment/work/aquariums/ph_arduino.pl l. 63)
Jun 16 08:19:01 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * reading channel 1
Jun 16 08:19:01 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * 1:L1 - ph_arduino::awrite (/home/ubuntu/c_environment/work/aquariums/ph_arduino.pl l. 77)
Jun 16 08:19:01 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * 1:I - ph_arduino::awrite (/home/ubuntu/c_environment/work/aquariums/ph_arduino.pl l. 78)
Jun 16 08:19:06 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * read values: P,V5.0,5/13 7.00 7.00 7.00 7.00 7.00 7.00 7.00 7.00 7.00 7.00
Jun 16 08:19:06 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * 1:L0 - ph_arduino::awrite (/home/ubuntu/c_environment/work/aquariums/ph_arduino.pl l. 112)
Jun 16 08:19:06 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * reading channel 2
Jun 16 08:19:06 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * 2:L1 - ph_arduino::awrite (/home/ubuntu/c_environment/work/aquariums/ph_arduino.pl l. 77)
Jun 16 08:19:06 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * 2:I - ph_arduino::awrite (/home/ubuntu/c_environment/work/aquariums/ph_arduino.pl l. 78)
Jun 16 08:19:11 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * read values: P,V5.0,5/13 7.68 7.68 7.68 7.68 7.68 7.68 7.68 7.68 7.68 7.68
Jun 16 08:19:11 ubuntu /home/ubuntu/c_environment/work/aquariums/ph_arduino.pl[2651]: debug * 2:L0 - ph_arduino::awrite (/home/ubuntu/c_environment/work/aquariums/ph_arduino.pl l. 112)


A iesit un post urias multumesc daca l-ati parcurs ... o sa fie update-uri mai mici de-acum incolo, caci lucrurile sunt controlabile si nu cred ca voi mai intampina probleme ..
[Thumb - ph_chart_11_hours.png]


Acv. 30L, Acv. 10L, Acv. 16L, Reef 30L, Acv. 0.09L; In trecut: Acv. 25L, Acv. 8L
Pt. imbunatatit navigarea pe forum (My Stats, Big Images resize, Timezone fix)
[WWW]
kirucd
DIY Master
[Avatar]
Joined: 07/05/2011 19:27:18
Messages: 8209
Location: Bucuresti
IP:
Offline

Pentru acvariul marin incearca sa calibrezi in 7 si 10 sa vezi cum functioneaza.
Cand pH-ul care trebuie masurat e intre valorile de calibrare, deviatiile de citire
sint mult mai mici.

Oricum o munca de Sisif, spor in continuare

Filtre biologice
http://www.acvariu.ro/forum/posts/list/24422.page
Reef 500+
http://www.acvariu.ro/forum/posts/list/17511.page
Scubaline 460 - Discusi
http://www.acvariu.ro/forum/posts/list/15524.page
Bean animal overflow
http://www.acvariu.ro/forum/posts/list/20369.page
viulian
Aquamaster
[Avatar]

Joined: 03/10/2007 22:03:37
Messages: 3646
Location: Buc./Brx.
IP:
Offline

Sarumana Dragos, da, Sisif ca e frustrant sa te lupti cu un bolovan, stii ca-l vei scoate la capat, stii rezultatul, doar ca trebuie sa ai rabdare sa treaca timpul ....
Am dat comanda de etalon pH 10 o sa-l am Vineri. Motivul pentru care am luat un electrod "de calitate" (acum nu stiu ce calitate are electrodul Dennerle, dar fiind nou, sper sa fie si bun) ca sa pot sa am o referinta de corectitudine - mai ales ca Sera este second hand - am facut rost de la o persoana de incredere, a fost tinut in lichidul lui , dar nu stiu cat de bun mai e ...

Insa e clar ca trebuie facute toate 3 punctele pana la urma "functia" mai ales ca vad ca pana si Dennerle, chiar si calibrat la 7 (care e prima valoare recomandata in ordinea de calibrare), cand l-am introdus in etalonul de pH 4, a indicat de fapt: 3.62. O abatere ... consistenta (asta presupunand ca si pH Circuit citeste corect tensiunile date de electrod dar n-am nicio sansa sa ma prind decat sa iau tot ansamblul asa cum e).

Azi am facut primul test cu sondele in acelasi acvariu. It's a problem. pH-ul se schimba!

Daca introduc sonda Sera in acvariul cu Dennerle, Dennerle isi ridica valoarea cu 0.15 unitati de pH.
Daca invers, introduc sonda Dennerle in acvariul unde sta Sera, sonda Sera isi scade valoarea cu 0.25 unitati de pH.

E suficient sa introduc motul, si pac - valoarea citita e instantaneu ajustata - deci e clar o interferenta electrica la mijloc. Nu stiu daca va fi suficient doar un PWR ISO sa le separe, insa sper. Mai ales ca am scos apa din acvariu si masurat atat in cat si in afara acvariului (cu sonda Dennerle) si valoarea e la fel, deci nu e ground loops intre acvariu si montaj, ci intre sonde cumva. Nu conteaza unde introduc sonda "musafir", daca una langa alta sau in coltul opus, cum am atins luciul apei, pac, instantaneu pH-ul raportat de "gazda" se schimba. Nu suna chiar absurd pana la urma (lipseste separatorul galvanic intre controller si board).

Mai am un controller cu o sonda Redox (AquaMedic) insa ala nu are nicio influenta asupra masuratorilor chiar daca e conectat cu "apa" din acvariu - insa e conectat direct la priza. Ca opresc acel controller sau nu, nicio schimbare.

Deci ca un plus pentru Atlas Scientific, am observat este ca masuratorile sunt "coerente" in sensul ca stau una langa alta si nu am valori aiurea neasteptate (cum zic ei, random values daca faci montajul cu fire in aer, etc). Adica nu am cateva 8.25 si apoi brusc un 6.97 sau un 9.30 - cel mult oscileaza intre 8.24 si 8.26. Am mai facut un test, scos apa din acvariu intr-un recipient de plastic, pH-ul raportat e acelasi (am facut cu sonda Dennerle - deci nu am ground loops in acvariu si priza si controller, ci cumva intre sonde ? ).

Insa un minus pentru Atlas Scientific, e ca tot plimband eu sondele intre acvarii, sonda Dennerle a inceput brusc sa raporteze pH 10.06 cand niciuna din masuratori nu aratase mai mult de 8.4. Orice i-am facut circuitului pH pe seriala, ramasese batut in cuie, intre 10.04 si 10.6 cel mult. Am mutat sondele impreuna, mutat separat, pana mi-am dat seama ca nu sonda e de vina, ci circuitul. I-am dat un reset la integrat; am taiat tensiunea; repornit dupa 1 minut, nimic, 10.04. Singurul care a facut sa aduca brusc valoarea inapoi a fost comanda X care face reset la pH circuit - adica la offsetul de calibrare, referinta de temperatura inapoi la 25 de grade samd.

Ce mai pun ei este ca e posibil cand muti sonda dintr-un pH 4 intr-un pH 10 ca sa se reseteze pH circuit - si ca daca pui mana pe pH circuit, e posibil ca valorile sa se deregleaze pentru vreo 5 minute. E drept ca eu le tot mutam dintr-un acvariu in altul, aduceam asta, la un moment dat am desfacut si mufa BNC cand faceam incercarile, ma rog, cred ca a avut saracu cam multi "stimuli" - si dupa reset s-a stabilizat. Doar ca dupa comanda de reset trebuie recalibrat. Nu mai consum lichid acum pana nu am si referninta de pH 10 cat si PWR ISO ... le las asa, sa vad in timp macar ca urmaresc curba.

In principiu, ma declar multumit, daca se putea si fara ca sondele sa se influenteze reciproc ar fi fost ideal urmeaza sa mai studiez despre intereferente (ce spunea si vm70 de fapt, el a zis prima data de PWR ISO si ca daca avea ambele sonde in acvariu, pH si Redox, o luau razna, dar fiecare pe rand, nu). Om vedea cand vine PWR ISO.

This message was edited 1 time. Last update was at 16/06/2014 22:10:35


Acv. 30L, Acv. 10L, Acv. 16L, Reef 30L, Acv. 0.09L; In trecut: Acv. 25L, Acv. 8L
Pt. imbunatatit navigarea pe forum (My Stats, Big Images resize, Timezone fix)
[WWW]
laur.c
Junior member

Joined: 31/12/2010 02:21:30
Messages: 49
Location: Tulcea, Romania
IP:
Offline

Cred ca daca pui un voltmetru direct pe sonda ai sa vezi daca sonda are variatii, voltmetru sa aiba impedanta cit mai mare.
Daca ai o variatie de tensiune proportionala cu indicatia pH, inseamna ca sonda e ok.
Poti sa faci testul si in solutii calibrate. Apropo de solutii calibrate daca ai un laborant poate sa-ti faca cantitati mai mari 0,5-1l.
Faptul ca nu ai probleme cind misti sau atingi cablurile inseamna ca montajul are decuplari ok, mufele si cablul de la sonda e ok
Eu de exemplu la mine am renuntat la conectorul BNC care era sertizat pe cablu, am trecut pe direct.
Indicatia de 3,62 e posibil sa fie corecta, daca impedanta circuitului de masura e mai mica.
Asta nu trebuie sa te ingrijoreze pentru ca tu o calibrezi din soft.
Sunt curios daca cu pwr iso se rezolva problema.
Parerea mea e ca ar trebui izolate fiecare canal in parte, asta datorita nivelelor f mici masurate.

Sunt atent la topicul tau.
Am niste chestii in cap. Ceva de o placa de extensie cu tot ce trebuie pe ea sonde, prize, pwm, sa nu mai trebuiasca sa pui azi una miine alta.
viulian
Aquamaster
[Avatar]

Joined: 03/10/2007 22:03:37
Messages: 3646
Location: Buc./Brx.
IP:
Offline

Ce nu mi-e mie clar este daca un electrod pH introduce sau nu o tensiune in apa.

Dupa ce am citit mai toate .pdf-urile despre circuite echivalente ale electrozilor, problemele cu ground loops inseamna ca exista deja niste diferente de potential in apa, diferente date de alte pompe, lumini samd, si cum sistemul are tendinta sa se stabilizeze, tensiunile astea trebuie sa scape pe undeva catre exteriorul acvariului prin calea de minima rezistenta. Daca acvariul nu este impamantat corect, calea de minima rezistenta poate fi chiar senzorul de pH (prin elementul sensibil, si prin rezistenta (uriasa) a lui, catre controller si catre impamantare).

Asta pare a fi cea mai des intalnita situatie, adica acvariu de plastic cu tevi de plastic, cu pompe fara impamantare, si tensiunle acelea care apar de la pompe / lumini / echipamente (care se pot acumula, sau apar la intamplare) cauta sa plece din acvariu si daca nu ai impamantare la acvariu, pot incerca sa plece prin electrodul de pH. Cum senzorul de pH este foarte sensibil, curentul suplimentar care curge prin el ii da peste cap output-ul, si masuratorile ies aiurea, instabile, sau care se duc aiurea intr-o parte fara sa intelegi de ce.

In putinele experimente facute, se pare ca nu am curenti generati in acvariu - pentru ca pH-ul arata aceiasi valoare daca masor in apa din acvariu sau intr-un recipient alaturi.
Dar raman cu paradoxul acesta:
a) cum poate o sonda genera atata curent incat sa schimbe output-ul celeilalte ?
b) daca ele pun o tensiune in apa, de ce curentul nu se scurge in afara acvariului prin celelalte echipamente si prefera sa treaca prin electrodul celalalt ?

Nu mi-e clar inca procesul, am mai citit despre circuitul echivalent electric al pH electrode poate imi pica vreo fisa, dar majoritatea exemplelor sunt ca un pH electrode e o baterie mica inseriata cu o rezistenta si ca tensiunea asta nu este "pusa" in apa, caci electrodul care atinge apa este de fapt de potential 0 - diferenta de potential fiind preluata de electrodul din interior care nu e in contact cu apa.

Nu-mi ramane sa cred decat ca senzorul Sera nu mai e atat de bine izolat in interior, si ca motul sensibil lasa sa ajunga totusi o tensiune in acvariu. Un PWR ISO pe fiecare canal cred ca ar rezolva problema, in sensul ca tensiunea aceea n-are decat sa se acumuleze in acvariu in loc sa treaca prin celalalt senzor. Dar intr-adevar, suna logic sa fie unul pentru fiecare canal, si nu unul la placa de extensie - caci altfel pH circuitele sunt decuplate de controller, dar ele ar impartasi acelasi GND / Vcc al placii (daca doar placa e separata galvanic). Asta ar rezolva problema cand ai mai multe sonde in acvariu, si una baga ea curent aiurea in apa ... dar toti senzorii fiind conectati impreuna, sa fie sensibili. Un PWR ISO pus doar intre placa cu 4 mufe si controller ar impiedica _alte_ tensiuni din acvariu sa se scurga la masa prin controller - nu si cele generate de sondele in sine daca sunt stricate una din ele, caci atunci bucleaza intre ele cumva.

In timp poate o sa fac un experiment si sa cumpar doar un BNC din acela de la Atlas Scientific, o sa-l cumplez cu PWR ISO-ul lui, si sa vad daca se mai influenteaza atunci cu boardul, si cand o sa comand electrozii ceilalti, sa verific si daca 2 electrozi noi se interfereaza reciproc sau nu.

Alta justificare nu am in momentul asta ...

PS: pana la urma inseamna ca acvariul meu nu are impamantare - si curentul generatat de proba Sera (suspecta ca nemaifiind bine izolata in interior, lasa totusi o tensiune constanta in acvariu) nu se scurge catre impamantare, ci catre cealalta sonda si se echilibreaza asa sistemul (caci Sera raporteaza mai putina tensiune, caci pH scade, iar Dennerle mai multa, caci pH creste) - tre sa impamantez acvariul de test, sa vad ce se intampla.
PS2: nu e o problema daca sondele sunt in acvarii diferite - caci acvariile nefiind conectate intre ele, sondele nu se pot influenta reciproc iar un PWR ISO ar fi necesar daca unul din acvarii are un echipament care pune si el tensiune in apa si sa nu se duca spre controller. Insa puse in acelasi acvariu, fiecare sonda ar trebui sa aibe PWR ISO-ul ei (ma gandesc la alte tipuri de sonde aici, ORP, unde tot o tensiune masoara) dar atunci nu mai poti folosi placa de extensie de la Atlas Scientific caci nu ofera suport pentru PWR ISO pe fiecare canal. Daca vreau ORP in cele 4 acvarii, ar trebui alt board cu cele 4 circuite specifice si cu PWR ISO-ul pe board, separat de board-ul cu circuitele de pH care ar avea si el PWR ISO-ul lui.

This message was edited 3 times. Last update was at 17/06/2014 08:29:04


Acv. 30L, Acv. 10L, Acv. 16L, Reef 30L, Acv. 0.09L; In trecut: Acv. 25L, Acv. 8L
Pt. imbunatatit navigarea pe forum (My Stats, Big Images resize, Timezone fix)
[WWW]
laur.c
Junior member

Joined: 31/12/2010 02:21:30
Messages: 49
Location: Tulcea, Romania
IP:
Offline

Da ai dreptate genereaza o tensiune, este ca o baterie.
Senzorii nu se influenteaza intre ei.
Se influenteaza doar partea de masura, adica amplificatorul operational, primul.
Sticla sau gelul daca sunt permeabile pentru ionii din apa, atunci sunt si pentru curentul electric.
Daca pui doi senzori ei sunt independenti unul de altul, dar poate circula un curent de la un electrod prin sticla/gel-apa-sticla/gel alt electrod pentru ca folosesc aceeasi alimentare in circuitul de masura.
Valorile fiind f mici de aici vine problema.
De asta spuneam ca ar trebui folosite izolatoare pe fiecare canal.
Exista niste operationale pentru aplicatii bio, care au intrarile izolate fata de alimentare si iesire.
Cind iti vine pwr iso sunt curios ce cip folosesc ei
Uite aici cam cum sunt tensiunile

http://www.66pacific.com/ph/simplest_ph.aspx

Iar la pH 7, tensiunile sunt in jur de 0, iar o problema de masura. Ca sa poti masura ar trebui sa ai +/- min cit sa deschida primul tranzistor din operational.
De asta ziceam sa pui voltmetru pe sonda, sa vezi tensiunea la care nu masoara corect.
viulian
Aquamaster
[Avatar]

Joined: 03/10/2007 22:03:37
Messages: 3646
Location: Buc./Brx.
IP:
Offline

@laur.c - pot sa cer niste lamuriri suplimentare ?

a) Am citit, dar nu mai gasesc unde caci am parcurs multe materiale, ca electrodul care sta in apa ar trebui sa fie un electrod de potential 0 - adica el n-ar trebui introduca o diferenta de potential - diferenta fiind "generata" pe electrodul din interiorul sondei. In cazul unei sonde defecte, poate nu mai stau asa lucrurile ?

b) Nu inteleg cand zici ca "senzorii nu se influenteaza intre ei. Se influenteaza doar partea de masura" ... electrozii par a se influenta in cazul meu totusi - caci daca le pun simultan in apa, pac, incepe sa circule un curent suplimentar intre ei incat tensiunea din "bateriile" echivalente se echilibreze. Caci amandoi reactioneaza unul scazand valoarea raportata celalalt crescand-o. Curenti foarte foarte mici insa, caci ele sar doar cu o medie de 0.20 pH in sensuri opuse. Opamp-urile vor prelua noua tensiune din electrozi, si-mi arata asta cand cer valorile.

Am un voltmetru chinezarie, dar ce am mai intalnit pe net este ca trebuie un voltmetru cu o impedanta uriasa la intrare - incat sa nu afecteze diferenta de potential din electrod, rezistenta interna a voltmetrului sa fie mult mai mare decat a electrodului. Mi-e teama sa nu pierd timpul ...

Am incercat sa ma uit pe PWR ISO (cum ziceam mai sus in postul urias, am unul dar l-am ars infigandu-l aiurea in protoboard, shiftat cu 1 pin). Are 2 integrate, pot citi doar valorile de pe integratul mare: RECOM R1SE-0595 1247. L-am cautat pe net si el asigura si este un DC to DC converter pentru tensiune si atat. Pentru decuplarea optica pentru RX TX folosesc un alt integrat, un smd mic pe care nu-l pot citi oricat as privi. Pare un soi de ADUM6400 - sau echivalent, si integratul acesta s-a ars.

Acv. 30L, Acv. 10L, Acv. 16L, Reef 30L, Acv. 0.09L; In trecut: Acv. 25L, Acv. 8L
Pt. imbunatatit navigarea pe forum (My Stats, Big Images resize, Timezone fix)
[WWW]
 
Forum Index » Hardware
Go to:   
Powered by JForum 2.3.4 © 2012 JForum Team • Maintained by Andowson.com