XAN77 Postat Ianuarie 28, 2007 Partajează Postat Ianuarie 28, 2007 Am facut un montaj (din pacate deja e construit) unde un atmega8 trebe sa citeasca 2 senzori ds18b20 conectati pe acelasi fir de date, cu alimentare parasita, deci fara Vdd. Acuma fac teste cu unu singur conectat dar nu merge. Imi afiseaza in continuu 85 grade C (ce are registru default la power on) deci nu face conversia de temp. Daca in timp ce merge conectez +5vcc la pinu de alimentare al senzorului merge f bine . De mentionat ca read si mach rom comand merg f bine . Pinu DQ este conectat la portc.4 al atmega8 fiind "tras" la Vcc pri un R de 4,7 k. Am incercat sa scad valoarea acestui R si la 1K ca sa aibe curent mai mare pe firu ala dar degeaba desi in datashet zice ca-i trebe pana la 1,5 mA ca sa opereze . Am pus Vdd al senzorului si la GND ca scria prin datasheet, degeaba. Faza e ca am cablaju asta gata facut cu conector pus si nu pot pune acum conector cu 3 pini. Vreo sugestie ? Link spre comentariu
XAN77 Postat Ianuarie 28, 2007 Autor Partajează Postat Ianuarie 28, 2007 dap, am rezolvat problema. aveam reset dupa start temp conversion ceea ce era o greseala ca in decurs de 10 uS de la start temp conversie linia de date trebe sa fie in 1 logic iar resetu respectiv il tinea in 0. Si mai e o chestie, trebe ca cat timp face conversia de temp (750ms la 12 biti rez) pinu respectiv al controlerului trebe pus pe 1 logic altfel curentu dat de rezistenta de 4,7 nu ajunge. Link spre comentariu
78ATI Postat Iunie 3, 2007 Partajează Postat Iunie 3, 2007 Buna, Nu aveti un exemplu de cod, respectiv schema de montaj BUS pentru DS18B20? Ma intereseaza sa folosesc un singur port I/O de la un PIC, si pentru a monta senzorii (in numar de 3) la 100 cm distanta folosind cat mai putin fire.Va multumesc! Link spre comentariu
XAN77 Postat Iunie 3, 2007 Autor Partajează Postat Iunie 3, 2007 schema e super simpla, nu am ce desena, doar masa si firu de date de la fiecare senzor, toti in paralel si conectati la controler cu cablu ecranat daca e asa lung, banuiesc . Cat despre cod, desi aici e vorba de AVR, pot sati spun ca eu am ales varianta oarecum simpla, si anume am folosit compilatoare de Basic atat la AVR cat si la PIC, recunosc ca in ultimu timp mam cam lasat de PIC de cand am invatat ceva AVR . Deci foloseam instructiunile speciale de comunicare 1wire ce le aveau acele compilatoare . Nu stiu in ce limbaj vrei sa faci, daca e in asm se poate face, dureaza putin pana iti faci rutinele dar se rezolva doar sa respecti timeingurile imipulsurilor din datasheet si simulezi in proteus pana iti comunica ok. Link spre comentariu
78ATI Postat Iunie 3, 2007 Partajează Postat Iunie 3, 2007 Eu folosesc Mikrobasic. Acum am copiat datasheet-ul de la DS18B20 scrie cate ceva despre one Bus. insa momentan nu ma prind cum sta treaba.Mikrobasicul are ceva functii direct implementate (librarii) pentru one wire...insa nu se specifica nimic despre montajul in cascada! sau citirea mai multor senzori pe aceasi fir. (as economistii 2 porturi) Link spre comentariu
78ATI Postat Iunie 3, 2007 Partajează Postat Iunie 3, 2007 @XAN77, am o intrebare:Am citit documentatia, oana la urma am inteles cam cum functioneaza citirea celor 3 senzori problema este urmatoarea. La un moment data softul respectiv PIC indentifica cei 3 sezori...problema este ca acestia sunt raspanditi in locuri diferite. Cum pot stii ca senzorul 1 masoara temperatura exterioara , s2, temperatura interioara, si S3 tempertura apei? Apoi din punct de vedere al depanarii odata schimbat un senzor, se poate intampla din nou un "amestec" al indentificarii acestora. Exista cumva o legatura intre FIZIC senzor si ROM code?Dupa parerea dvs, pentru siguranta ce trebuie sa adopt? Citirea a 3 senzori pe 3 porturi diferite sau on Bus Wire?Va multumesc Link spre comentariu
XAN77 Postat Iunie 4, 2007 Autor Partajează Postat Iunie 4, 2007 tiam raspuns si pe P.M. dupa ce miai scris (si) acolo dar pentru ca aici vad un lucru nou si deaia e forum sa citeasca / invete si altii raspund si aici, asta cu speranta ca are cineva ceva de invata si de la mine :smt003 Deci, intre "fizic senzor" si ROM code normal ca e o legatura, codul acela e serial numberul circuitului, si e ceva fizic implementat ce nu se poate schimba ci doar citi. Este implementat pentru ca citind poti face diferenta intre senzori si astfel poti conecta cati vrei pe o magistrala . In activitatea ta de proiectare faci si un programel utilitar sai zicem careti afiseaza pe un lcd ceva ROM CODE-ul ca sal sti si sal imementezi in softul tau final si vei sti ca senzoru x carel pui la baie e cel cu codu x. Referitor la schimbarea unuia daca decedeaza sau calci pe el :smt003 , presupune modificarea softului cu codul noului senzor dupa cel aflii evident cu utilitarul din colectia ta de utilitare . Dar asta e metoda pentru bizoni, daca faci ceva cu cap faci cu o functie de invatare senzori (cod) depinde de aplicatie daca ai un lcd, taste si poti implementa un meniu. Daca nu faci cum am zis anterior. Acum referitor la mikrobasic vroiam sa zic ceva, e prost. Daca faci o rutina de delay 100ms de exemplu si iti compileaza 50 de cuvinte in asambler vei observa ca pentru 2 astfel de instructiuni identice sau cu alta valoare de delay codul rezultat e dublu, respectiv triplu etc. Deci genereaza cod foarte prost si ineficient. un limbaj cat de cat destept, ca nu vreau sa laud Basicurile sunt destui care ar da cu rosii dupa mine :smt003 , foloseste niste rutine interne, ca niste macrouri ceva si la folosirea aceleiasi instructiuni doar mai compileaza 2 sau 4 cuvinte de asm cat e folositor sa incarce variabila ce indica timpul de delau de exemplu si sa apeleze rutina de delay. Nu stiu daca am fost inteles dar asta e cu mikrobasic si sincer mia parut rau cand ma dezamagit ca are versiune cu celasi limbaj si pentru AVR. Deci, pentru PIC exista Proton Basic, foarte bun iar pentru AVR, unicul, BascomAVR .Uitasem ceva, DA poti folosi conectarea/citirea senzorilor la acelasi pin de date al controlerului, chiar este indicat, castigi evident pini de date .Numai bine . Link spre comentariu
78ATI Postat Iunie 4, 2007 Partajează Postat Iunie 4, 2007 Am gasit pe internet informatii legate de modul parasite power. Sper sa fie util si altor colegi! http://pdfserv.maxim-ic.com/en/an/AN203.pdf @XAN77 Iti multumesc inca o data! Voi incerca ontajul cu alimentare parazita, si tip BUS. Iar in legatura cu Mikrobasicul este un program tipic de Windows, care intradevar incarca foarte repede memoria PIC-ului, observ acum, si de asta mi-e teama cand voi termina sa nu imi zica "not enough ROM". Sa vedem, mai un pic si e gata! Am sa va tin la curent! Link spre comentariu
78ATI Postat Iunie 8, 2007 Partajează Postat Iunie 8, 2007 @XAN77. In montajul senzorului su alimentare parazita, ai folosit sau nu un tranzistor MOSFET? In data sheet scrie acest lucru, iar daca da, poti sa imi spui tipul acestuia? Merci inca o data! (pana acum am reusit sa citesc temperatura in montaj obisnuit - alimentare, masa,dq pe 12 biti rezolutie) iar acum vreau sa modific acest lucru pentru alimentare parazita si o rezolutie de 9 biti, un timp de conversie mai mic.Iti multumesc! Link spre comentariu
XAN77 Postat Iunie 9, 2007 Autor Partajează Postat Iunie 9, 2007 NU am folosit nici un mosfet, eu am doar 2 senzori in paralel astfel alimentati. Am auzit la alte persoane ca au pus si 6 sau 8 bucati folosind tot alimentarea din pinu de date . Iar faza cu program de windows nu e chiar asa, mikrobasicul efectiv e mai prost ca Proton care e tot de windows . Link spre comentariu
78ATI Postat Iunie 9, 2007 Partajează Postat Iunie 9, 2007 Este diferit ca si sintaxa Protonul fata de Mikrobasic? Sincer as putea sa translatez tot programul in Proton, si as putea obtine astfel o optimizare a softuletului!Iti multumesc pentru ajutor! Link spre comentariu
XAN77 Postat Iunie 9, 2007 Autor Partajează Postat Iunie 9, 2007 nu am lucrat cu mikrobasic decat cat am probat delayurile alea sa vad cum compileaza. De asemanat sigur se aseamana ca sunt Basic ambele . Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum