gabitzu2006 Postat Martie 25, 2015 Partajează Postat Martie 25, 2015 salutare! cine ma poate sfatui/ajuta in creara unei interfete grafice pentru un program ce ruleaza in linie de comanda? sa detaliez putin: e vorba despre un program care conecteaza PC-ul la o sursa de tensiune controlata digital (cu uc atmega8). adica ruland programul respectiv pot seta valoare tensiunii si a curentului de iesire al sursei. din comand promp trebuie sa navighez pana unde este acel exe si sa-l rulez cu parametrii doriti, de exemplu: portul serial pe care se face comunicatia si valoarea setata. de exemplu scriu in linie de comanda ceva de genul: remote.exe -p COM24 u=110. eu as vrea un programel, sau poate chiar o interfata web daca e mai usor, in care sa apas pe niste butoane, cum ar fi plus si minus si sa se transmita comanda catre sursa sa-mi mareasca tensiunea sau s-o micsoreze. ma gandesc ca se poate lega cumva acea interfata grafica si dand din butoanele alea plus si minus sa scrie in linie de comanda parametrii doriti. asadar...cineva? Link spre comentariu
rlodina Postat Martie 25, 2015 Partajează Postat Martie 25, 2015 Daca te descurci un pic cu programarea - un punct de plecare gasesti aici: http://www.elforum.info/topic/92553-aplicatie-pc-pentru-control-arduino/?p=1017623 Link spre comentariu
rlodina Postat Martie 25, 2015 Partajează Postat Martie 25, 2015 Salut. Pt. ca vara nu dorm si am o banuiala ca nu te prea intelegi cu programarea ti-am facut eu 2 programele: 1. Din linia de comanda: RemoteLab.exe - (codul sursa in RemoteLab.src.zip) 2. O versiune cu o interfata grafica: UIRemoteLab.exe (codul sursa in UIRemoteLab.src.zip) Pentru a rula aplicatiile trebuie sa ai instalat pe sistem .NETframework (e ok si 2.0). Succes Radu RemoteLab.exe.zip RemoteLab.scr.zip UIRemoteLab.exe.zip UIRemoteLab.scr.zip 1 Link spre comentariu
gabitzu2006 Postat Martie 26, 2015 Autor Partajează Postat Martie 26, 2015 (editat) Multumesc mult, dle Radu. aveti dreptate, chiar imi prind urechile. se pare ca ruleaza aplicatiile si pe calc meu, deci cred ca am ce trebuie ca sa ruleze. banuiesc ca interfata asta grafica creata de dvs tine legatura cu acel remotelab.exe. eu am un alt programel a carui denumire i-am schimbat-o eu in remote.exe - el de fapt se numeste ic2talk.exe. L-am pus intr-o arhiva si-l incarc aici. eu as vrea o interfata care sa-mi permita sa reglez tensiunea, curentul si sa-i pot da o comanda sursei sa memoreze valorile setate. habar nu am cum sa mai fac o rubrica si pentru curent si memorare. ce program ar trebui sa folosesc ca sa pot edita acele scripturi? ca eu unul din acele linii de cod nu resesc sa pricep mare lucru. asta nu e un repros, ci doar afirm ca nu ma pricep deloc la asa ceva. am incercat programelul dvs (si cel in linie de comanda si cel grafic) insa nu reuseste niciunul din ele sa comande sursa (probabil pentru ca nu ati avut programelul meu). am rugamintea, daca nu va solicit prea mult, sa ma ajutati sa modific ce ati creat dvs pentru a face ceea ce-mi tb mie. multumesc mult! oricum, foarte tare programelul. ma apuc de studiat, poate totusi reusesc ceva.ic2talk.zip Editat Martie 26, 2015 de gabitzu2006 Link spre comentariu
rlodina Postat Martie 26, 2015 Partajează Postat Martie 26, 2015 O luam metodic: Pe scurt: 1. Nu am fost foarte atent la textul din primul post al d-voastra drept urmare prima varianta de program nu avea cum sa functioneze. 2. Aceasta varianta (0.2) ar trebui sa mearga (la setarea tensiunii). In arhiva atasata sunt 2 executabile: UIRemoteLab.exe - interfata grafica si i2ctalk.exe - aplicatia care comunica efectiv cu sursa. Va rog sa le dezactivati in acelasi director. La apasarea butonului set (sau la schimbarea tensiunii cu "Set automat la modificare V") se apeleaza aplicatia i2ctalk.exe cu parametrii -p portul setat in interfata -d device id-ul si u=valoarea setata. Rezultatul intors de aplicatia i2ctalk.exe este afisat in partea de jos a ferestrei. Pe lung: 1. Sursa d-voastra comunica cu calculatorul printr-un port serial (COM) - posibil sa aveti si un USB-Serial .... 2. Protocolul de comunicare este I2C (mai multe detalii gasiti pe net) pe scurt: fiecare device din retea are o adresa (device id), comunicarea se face in sistemul master - slave. Acest mod de comunicare PC->device folosind protocolul i2c este rar folosit (este pt. ptima data cand i-l intalnesc) - de obicei se utilizeaza o comunicare seriala standard. Protocolul I2C se poate implementa pe PC direct pe serial deoarece ai control direct pe pinii Dtr si Rts - dar e (un pic) o munca de chinez - am gasit pe net ceva ... adica daca am implementa protocolul i2c direct in interfata grafica nu am mai avea nevoie de executabilul i2ctalk.exe. Avantaje: viteza de executie mult mai mare. O alta varianta ar fi sa punem un microcontroler (ex Arduino) intre sursa si pc (pe post de translator): PC ---- (serial/usb2serial ) ----> Arduino ----- I2C ----> sursa. In acest mod programarea ar fi mai simpla - si iNtegrarea functiilor sursei cu interfata grafica s-ar putea face mai ok. In fine va propun urmatoarele : T1. Verificam ca aplicata asta merge - seteaza tensiunea. T2. Implementam (tot in acest mod - cu apel i2ctalk.exe) si restul parametrilor pe care-i puteti controla la sursa (curent, memorare parametrii, etc)- aici ma intereseaza o documentatie a acestora. Apropo ce sursa este aceasta ? Este construita de d-voastra ? Aplicatia este scrisa in c# - windows forms - proiectul in VisualStudio 2012 (gasiti si o versiune free la Microsoft) - in attachment gasiti si sursa aplicatie (revin aici cu detalii intr-un post ulterior). Dati-mi un semn: T1 ? T2 ? Succes Radu UIRemoteLab.exe.0.2.zip UIRemoteLab.src.0.2.zip Link spre comentariu
gabitzu2006 Postat Martie 26, 2015 Autor Partajează Postat Martie 26, 2015 (editat) acum am vazut postul. rulez testele si revin cu rezultate. sursa este construita de mine, dar nu proiectata de mine. este luata de pe un site, tuxgraphics. org parca. daca va intereseaza va trimit linkul exact. da, ma gandeam si eu sa fie facuta implementarea i2c direct in interfata grafica, dar asta depaseste cu mult posibilitatile mele de intelegere. asa cum am procedat pana acum, sa apelam aplicatia i2ctalk mai inteleg cate ceva. brb! aplicatia functioneaza! cu urmatoarele amendamente: 1. as vrea ca tensiunea sa poata fi reglata in pasi de 0,1V (atasez poza cu display-ul sursei) iar curentul in pasi de 0,01A. 2. nu am inteles pentru ce anume este acel device ID si cum ar trebui sa-l setez...implicit era 3 si a functionat asa. 3. nu sunt inca sigur ca imi este necesar sa vad ce face aplicatia i2ctalk. v-as ruga sa-mi spuneti ce ar trebui sa fac sa o dezactivez (macar atata lucru poate reusesc si eu..sau cel putin mai invat cate ceva). 4. in descrierea modului de folosire al i2ctalk se spunea ca pentru a seta o valoare a tensiunii, de, sa zicem 13V, ar trebui scris u=130. sau pentru 13,3V ar trebui u=133 si tot asa...sigur ati prins ideea. asta ca sa va usurez munca pentru pct 1. ca sa sintetizez, aplicatia ar trebui sa poata regla tensiunea in pasi de 0,1V, curentul in pasi de 0,01A (e vorba de limitarea de curent) si sa poata memora in uc valorile setate (aici chiar nu ar fi utila o casuta de genul celei puse de dvs cu ”set automat la modificarea V”. in i2ctalk pentru memorare in loc de u=x se punea simplu s. exemplu: i2ctalk -p com24 s. Multumesc mult! am incercat azi sa instalez visual studio dar imi zice ca imi trebuie cel putin 10GB liberi pe drive, pe C nu am atata iar pe D tot nu vrea. incerc sa-i fac loc. un alt ”defect”: daca ii dau o valoare peste 100 (adica peste 10V) nu vrea si imi ia maximul, adica 100 (10V) autorul zice asa: I2C commands for the DC power supply:=====================================# set Imax to 0.20A:i2ctalk i=20# get current I value:i2ctalk i# store current settingsi2ctalk s# set Umax to 2.1V:i2ctalk u=21# get current voltage value:i2ctalk u insa in linie de comanda nu reusesc sa fac sursa sa-mi transmita valorile pentru u si i (sau din cine stie ce motiv nu mi le afiseaza calculatorul Editat Martie 26, 2015 de gabitzu2006 Link spre comentariu
rlodina Postat Martie 26, 2015 Partajează Postat Martie 26, 2015 1. as vrea ca tensiunea sa poata fi reglata in pasi de 0,1V (atasez poza cu display-ul sursei) iar curentul in pasi de 0,01A. OK - fac modificarea. 2. nu am inteles pentru ce anume este acel device ID si cum ar trebui sa-l setez...implicit era 3 si a functionat asa. pe aceiasi interfata i2c (cele 2 fire) pot fi atasate pana la 128 de device-uri acest nr (device id) le identifica 3. nu sunt inca sigur ca imi este necesar sa vad ce face aplicatia i2ctalk. v-as ruga sa-mi spuneti ce ar trebui sa fac sa o dezactivez (macar atata lucru poate reusesc si eu..sau cel putin mai invat cate ceva). acesta aplicatie comunica efectiv cu sursa - aplicatia grafica apeleza i2ctalk.exe - avem nevoie de ea in directorul aplicatiei grafice - nu inteleg la ce va referiti cu: ce ar trebui sa fac sa o dezactivez 4. Parametrii: 4.1 la tensiune i-mi este clar: U_sursa = U_interfata * 10; 4.2 la limitare curent ce parametru se foloseste ? 4.3 la salvare i-mi este clar: s revin cu un nou exe. Link spre comentariu
gabitzu2006 Postat Martie 26, 2015 Autor Partajează Postat Martie 26, 2015 la 3 ma refeream ca nu stiu inca sigur daca imi este necesara fereastra de jos a aplicatiei, acolo unde scrie comanda in linie de comanda. pe aceea e posibil sa vreau s-o dezactivez. la 4.2 e vorba de setarea curentului, i=100 (la sursa se seteaza valoarea curentului pentru care sursa intra in limitare de curent). intre timp am mai adaugat ceva: citirea valorilor u si i, de genul ”i2ctalk -p com24 u”. la mine, in linie de comanda, nu-mi afiseaza nimic dupa ce dau comanda asta, desi sta un pic „sa se gandeasca” dupa care imi afiseaza iar promptul. posibil sa nu mearga nici cu interfata grafica. dar eu as fi suuuuper multumit daca imi merge numai partea cu setarea si memorarea valorilor u si i. Link spre comentariu
rlodina Postat Martie 26, 2015 Partajează Postat Martie 26, 2015 1. Ce valori implicite sa afisez (cand porniti aplicatia - avand in vedere ca nu le putem citi din sursa) la tensiune si la curent ? Pe ecra vom afisa valorile reale ale V si I - si la transmitere voi inmulti V cu 10 si I cu 100. 2. Care este valoarea max la V si I ? Link spre comentariu
gabitzu2006 Postat Martie 26, 2015 Autor Partajează Postat Martie 26, 2015 1.hmm....e musai sa fie afisate valori implicite? adica daca de exemplu va fi afisat implicit 10V, asta inseamna ca sursa va da la iesire 10V? daca asa este, atunci ar fi bine sa fie 0V, 0A. 2. pentru V este maxim 28V iar pentru I maxim 3A. Link spre comentariu
rlodina Postat Martie 26, 2015 Partajează Postat Martie 26, 2015 Vers. 0.3. Cred ca incepe sa prinda contur. - cu patratelul din stanga jos: afisare/ascundere mesaje. - Memoreaza - trimite comanda de memorare a ultimelor valori setate - Tensiune: daca autoset este bifat la schimbarea valorii tensiunii aceasta este trimisa automat la sursa (nu mai trebuie apasat pe butonul de set). - volorile lui U si I se pot modifica si manual - prin scrierea valorii direct in casuta Da-mi un semn daca mai sunt observatii. Succes Radu Nu e obligatoriu acele valori implicite - pot fi si zero, dar cel mai logic ar fi sa fie valorile pe care le folosesti in mod uzual. UIRemoteLab.exe.0.3.zip UIRemoteLab.src.0.3.zip Link spre comentariu
gabitzu2006 Postat Martie 26, 2015 Autor Partajează Postat Martie 26, 2015 foarte tare! stiu ca dvs mi-ati intins un deget si poate cer toata mana, dar se poate pune o casuta de autoset si pentru curent? bine, e foarte bun si pana acum, dar.. Link spre comentariu
rlodina Postat Martie 26, 2015 Partajează Postat Martie 26, 2015 k - pun si pt. curent un autoset. Maine. Pana atunci va rol sa-l mai testati. ... e foarte bun si pana acum, dar.. dar? 1 Link spre comentariu
gabitzu2006 Postat Martie 26, 2015 Autor Partajează Postat Martie 26, 2015 acel „dar” se referea la autosetul pentru curent. mi-am facut loc pe hdd si instalez visual studio. daca nu ma ia somnul poate reusesc sa inteleg si eu ce „magie” ati facut acolo. inca o data, multumesc! si noapte buna Link spre comentariu
rlodina Postat Martie 27, 2015 Partajează Postat Martie 27, 2015 Vers. 0.4 - actualizat cu acel autoset pt. limitare curent: Da-mi un semn daca mai sunt observatii. Pune-mi, te rog, si mie un link la proiectul sursei. Autorul da si codul sursa ? Succes Radu UIRemoteLab.exe.0.4.zip UIRemoteLab.src.0.4.zip 1 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