Controller ethernet ENC28J60
#32
Postat 02 March 2009 - 02:39 PM
Kriminel, la Mar 1 2009, 08:35 PM, a spus:
da stiu. o mica eroare de programare ;). ma tot joc cu el
am nevoie de sfaturi pentru comutarea liniei de 220 volti.
am urmatoarea schema pentru controlul unui releu:

vcc=5 volti din care se alimenteaza si placa mea
vdd=220v
cand tranzistorul nu are tensiune pe baza releul comuta.
cum pot proteja circuitul meu in cazul in care releul cedeaza? exista posibilitatea sa imi introduca in circuit acei 220?
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#33
Postat 03 March 2009 - 03:21 AM
Ar mai fi ideea sa comanzi releul printr-un optocuplor, cu un circuit de alimentare separat pentru releu in loc de Vcc.
--------------------
Modele: Robbe Pitts S12, GL-450C, Pelikan X-treme, Ripmax Bossanova 15cc, Raptor 620SE
R/C: Futaba FF9C 35MHz/Jeti Duplex 2.4GHz, ESU ECoS II
#35
Postat 03 March 2009 - 09:40 AM
docmarius, la Mar 3 2009, 03:21 AM, a spus:
asta e problema mea. ca mai trebuie inca o sursa...si nu as vrea sa fac treaba asta.
uite ce releu ma gandeam sa pun http://conexelectron...us.php?id=36055
ms frumos de sfaturi marius!
Aceasta postare a fost editata de hash84: 03 March 2009 - 09:41 AM
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#37
Postat 04 March 2009 - 08:51 AM
Daca mi se permit si mie cateva opinii.
In primul rand ca programator eu folosesc un AVRISP de la Atmel primit cadou la inceputurile mele in ATMEGA-uri. Am 2 amici care si-au construit http://www.fischl.de/usbasp/ care functioneaza foarte bine. Cu ponyProg am avut cateva probleme legate de fuse-uri la un moment dat si reuseam sa imi dau disable la pinul de RESET (si devenea pin I/O) si kput programare seriala.
hash84 releele sunt izolate foarte bine. Important este sa gasesti unele "rated" la 250Vac sau 400Vdc (Gasesti tot la comet relee ieftine de 5V) Sau alta solutie: optocuplor (cu circuit de sincronizare la trecerile prin zero: MOC3043) + triac (BT136 and friends).
O completare la schemele voastre as avea: O dioda pusa in paralel pe alimentarea releului pentru a limita tensiunea inversa aparuta la borne (cand inchizi tranzistorul de comanda), ca aici: http://www.rentron.c...p/pc-relay4.gif
Ah... Felicitari pentru controller!! :blink:
Cosmin
#39
Postat 04 March 2009 - 09:47 AM
protheus, la Mar 4 2009, 09:08 AM, a spus:
e stabil domne :blink:
protheus, la Mar 4 2009, 09:08 AM, a spus:
verdele e o culoare frumoasa :)
am descoperit ca atmega16 are eeprom. sa vad cate ip-uri pot pastra in el :)
PS: refreshul ala de 1 secunda e doar de test
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#40
Postat 04 March 2009 - 11:14 AM
Filipone, la Mar 4 2009, 08:51 AM, a spus:
Revin cu o schema. Daca ai in principal consumatori de natura rezistiva (plite, becuri etc) metoda iti ofera avantajul unui gabarit redus + fiabilitate.
#41
Postat 05 March 2009 - 04:31 PM
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#42
Postat 05 March 2009 - 08:41 PM
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#44
Postat 06 March 2009 - 01:00 AM
protheus, la Mar 5 2009, 11:41 PM, a spus:
Felicitari, din ce in ce mai perfectionat e in spatiul ala mic de stocare :( .
uite am cautat pe google "atmega print server". nu am gasit ceva relevant in primele 10 pagini. in principiu se poate dar trebuie sa ai sistem de operare pentru asha ceva. poti pune un linux dar iti trebuie un microcontroller mai puternic. investitia in el ca piese cumparate nu se justifica.+ munca.
poti cumpara un ruter wireless cu print server cu bani mult mult mai putini!
ce mi-a facut cu ochiul ar fi un ftp server. foloseste ca spatiu de stocare un card sd. mi s-a parut super super tare ideea :(. viteza maxima este de 10megabiti, dar la cata energie mananca nici nu vreau mai mult!
codul pana acum cu tot ce vedeti are vreo 50k necompilat (scris in c ) si 11 k cand il scriu in microcontroller. deci as mai avea 5k. o gramada de spatiu. daca as putea implementa DHCP ar fi chiar foarte tare treaba. deocamdata leg sensorul de temperatura. sa vad ce aleg. unu cu comanda pe SPI sau ceva clasic, sa folosesc convertorul AD din microcontroller. tind spre a doua varianta ca s-a tot vorbit la facultate despre ele la greu, dar practic....... poate imi recomanda cineva ceva :D
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#45
Postat 06 March 2009 - 01:39 AM
hash84, la Mar 6 2009, 01:00 AM, a spus:
Folosesti suita WinAVR si switchul -s (size) pentru optimizare? Intreb pentru ca mi se pare destul de bine codul in 11K. Probabil mai poate fi periat prin comentarea functiilor pe care nu le folosesti. GCC-ul e destul de imbecil la capitolul acesta si nu iti scoate codul pentru aceste functii din hex-ul final.
hash84, la Mar 6 2009, 01:00 AM, a spus:
ceva :(
La C*met gasesti digitale TC77, TCN75, dar sunt in niste capsule SMD care pot fi lipite manual cu un pic de grija. Eu am luat la un moment dat un LM75 si a trebuit sa ii fac un fel de adaptor pe o placa cu gaurele si cu litze trase de pe fiecare terminal :(. Noroc ca avea doar 8 pini.
La cele digitale gasesti pe net cod sursa, appnotes suficiente, in plus ai avantajul ca nu necesita alte componente externe si nu au nevoie de calibrare (ca in cazul unui termistor sau dioda cu siliciu in conductie).
Daca vrei sa te murdaresti folosesti un senzor analogic ca LM335Z (capsula TO92) care iti ofera 10mV/K pe care il conectezi la un ADC. Faci mai multe citiri succesive si faci media valorilor pentru a filtra zgomotul si a creste precizia. In plus ai nevoie de o sursa de referinta de 5V (tensiunea de la iesire a lui LM335Z este de 2.73V la 0 grade Celsius si pentru un ADC Vintrare < Vref) pe care o poti lua de la AVCC (setezi registrii interni). Daca vrei mai multa precizie folosesti o referinta de 5V ca LM336Z.
Uite ce traznaie a trebuit sa fac eu pentru facultate semestrul trecut: http://statiemeteo43...nzortemperatura Poate te inspiri. Iti pot da si codul sursa daca vrei.
Personal iti recomand senzorul digital ca te descurci tu cu un amarat de SPI... sau I2C pentru ca SPI-ul are mainile ocupate cu ethernetul.
Spor!
Filipone
#46
Postat 06 March 2009 - 08:13 AM
Filipone, la Mar 6 2009, 01:39 AM, a spus:
Eventual ii faci o tzara de "reverse engineering" in assembler, si mai scoti de acolo - asta daca le ai cu assemblerul de atmega. La nivelul asta - 16 k - chiar iti recomand sa incerci, pot aparea niste rezultate extrem de interesante...
/me, regretand zilele cand sapa prin ROM-ul de ZX Spectrum si scria programele in ASM de Z80 (in liceu). Si se ferea de virushi de 120 bytes transmisibili cu discheta...
#47
Postat 06 March 2009 - 09:12 AM
ave, la Mar 6 2009, 08:13 AM, a spus:
/me, regretand zilele cand sapa prin ROM-ul de ZX Spectrum si scria programele in ASM de Z80 (in liceu). Si se ferea de virushi de 120 bytes transmisibili cu discheta...
Pai GCC-ul are niste switchuri ca sa iti pastreze dupa compilare listingul ASM pe care il poti recompila. Dar ar fi prea mult de munca intrucat ASM-ul generat nu are foarte multe comentarii si dureaza pana intelegi codul. Optimizarile se pot face tot in C cu un pic de studiu asupra compilatorului astfel incat codul C sa genereze un ASM optim, dar mai degraba trece pe un ATMEGA cu mai mult Flash si gata.
Filipone
#48
Postat 06 March 2009 - 09:38 AM
Filipone, la Mar 6 2009, 01:39 AM, a spus:
-nu sunt functii pe care nu le folosesc :D. codul a crescut substantial cu dezvoltarea paginii web, care in memoria microcontrollerului trebuie scrisa brut. nu ai ce compila la ea :D. si oricum 5k de cod compilat mai e o gamada :D
-da folosesc switchul -Os pt size optimisation
- in legatura cu senzorii. cred ca o sa raman la varianta lm335z - e mic cat un transistor si usor de lipit :D
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#49
Postat 06 March 2009 - 09:49 AM
Ideea cu un ftpd suna bine, poate reusesti sa si urci fisiere html pe care sa le serveasca httpd-ul, si ai scapat de cod html in sursa C, fisierele html fiind stocate bine mersi pe SD
P.S. mor sa am si io un asa webserverash... accepti comenzi? :D
Aceasta postare a fost editata de Kriminel: 06 March 2009 - 09:50 AM
#50
Postat 06 March 2009 - 10:56 AM
Kriminel, la Mar 6 2009, 09:49 AM, a spus:
Ideea cu un ftpd suna bine, poate reusesti sa si urci fisiere html pe care sa le serveasca httpd-ul, si ai scapat de cod html in sursa C, fisierele html fiind stocate bine mersi pe SD
P.S. mor sa am si io un asa webserverash... accepti comenzi? :D
-html e in codul c
-ca sa il trec pe un card SD trebuie rescris tot engine-ul webserverului, si pentru ce vreau eu sa il folosesc nu se merita. codul pe card doar in cazul in care vrei sa pui o pagina in toata regula cu flash, baza de date etc. dar nu vad rostul. pentru asta ai un calculator
-in leg cu comenzile, in principiu da :D dar mai intai sa il termin. eventual pun schema electrica care acum nu e realizata inca :D. e pe bucatele. pretul pieselor pana acum este in jur de 100 ron si e fara relee si senzor de temperatura.
mufa utp cu transformator : 12 lei
atmega16 : 13 lei
enc28j60 : 15 lei
sursa alimentare reglabila 3-12 volti : 40 ron
regulator 3.3v : 6 lei - scump rau de tot
placa montaj + restul de piese : 10 ron
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#51
Postat 06 March 2009 - 11:06 AM
hash84, la Mar 6 2009, 10:56 AM, a spus:
nu neaparat. Aceasta flexibilitate iti permite sa modularizezi codul. De exemplu pentru schimbarea parolei nu trebuie o recompilare/urcare a romului etc. Daca de exemplu vrei sa faci interfata mai frumoasa pentru aprinderea ledurilor, iti trebuie in esenta un X care parseaza variabilele GET (care poate fi hardcodat - de exemplu) si executa comenzi pe hardware in functie de ele..
L.E. in plus, html-ul inline in C nu e compilabil => manca mai multa memorie
L.E. ca sa elaborez putin ideea, injectarea de cod dinamic in html-ul static (care poate fi fisier) o poti face cu javascript, javascript care-l nestuiesti in codul C. De exemplu un callback poate arata ceva de genul:
var led1,led2, ... ledN; window.onload = function() { led1 = 1;led2=0;ledN =0; runStuff() }
iar in codul static vei avea ceva de genul
<script type="text/javascript" src="ledcontrol.js"/> <script type="text/javascript"> function runStuff() { document.getElementById("led1input").enabled = led1 ... } </script>
etc
Aceasta postare a fost editata de Kriminel: 06 March 2009 - 11:17 AM
#52
Postat 06 March 2009 - 06:52 PM
Kriminel, la Mar 6 2009, 11:06 AM, a spus:
ce spui tu e frumos :rolleyes:
hai sa iti spun efectiv cum functioneaza serveru meu web. se face negocierea http (alea 3-4 etape). apoi eu analizez pachetul primit de la tine , in special campul data. acolo vad ce imi ceri tu. ce pagina web in general. apoi eu construiesc efectiv pachetul ethernet si ti-l trimit. cu tot ce contine el. ip sursa , destinatie, macuri , syn, akn + campul data unde scriu efectiv pagina web.
ai spus ca pt schimbarea parolei nu trebuie compilare. uite cum am gandit eu treaba- nu stiu html sau programare web. prima data intri pe pagina aia de autentificare. bagi parola pe care browserul de net o trimite mai departe in URL. eu preiau pachetul ethernet de la tine, analizez campul data, si anume URL-ul. "confirm?pw=avion". in codul c verific daca ce e dupa ?pw este parola mea. daca este iti trimit pachet cu pagina de web principala, daca nu iti dau alt pachet tot cu pagina de autentificare. toata structura de fisiere este virtuala.
stiva TCP este Single Data Pachet. nu am implementat socketi sau sistem de fisiere. nu prea aveam cum in aia 16k . si repet. pentru ce vroiam eu la vremea respectiva nu se merita sa tin cod html pe un card sd...
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#54
Postat 06 March 2009 - 09:02 PM
Kriminel, la Mar 6 2009, 08:27 PM, a spus:
multumesc :D stiam deja :D
e interesant aici :rolleyes:
Aceasta postare a fost editata de hash84: 06 March 2009 - 09:12 PM
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#55
Postat 12 March 2009 - 03:49 PM
http://82.76.9.35/
incepe sa se urateasca rau de tot placa pe spate. multe fire ;) si mai trebuie sa adaug 2 leduri si 3 relee + 3 tranzistori + 3 diode
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#56
Postat 12 March 2009 - 09:53 PM
hash84, la Mar 12 2009, 03:49 PM, a spus:
http://82.76.9.35/
incepe sa se urateasca rau de tot placa pe spate. multe fire :( si mai trebuie sa adaug 2 leduri si 3 relee + 3 tranzistori + 3 diode
faina treaba, da' ma asteptam ca poza aia sa fie live, sa vad si eu rezultatul muncii mele de dat clici pe led-uri :blink:
observatie: cam cald la tine in camera :blink:)
ovi
#57
Postat 12 March 2009 - 10:20 PM
ovi_m, la Mar 12 2009, 09:53 PM, a spus:
hopaaa. acu arata 32 grade. maine debug :(.
LE: gata am rezolvat. era apropiat senzorul de calorifer :). acum arata bine. 24 grade.
ar fi o idee sa fac streaming live. din pacate nu am o camera web. si in plus de asta ar trebui sa tin si calculatorul non-stop deschis.
Aceasta postare a fost editata de hash84: 12 March 2009 - 10:28 PM
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#58
Postat 12 March 2009 - 10:27 PM
Citeaza
temperatura camera: 24 oC
pentru gradele celsius poti folosi tagul <sup>o</sup>
Mie imi par ok temperaturile, daca chipsetul e 40oC iar al doilea termometru e relativ aproape de scula poate fi oarecum influetata temperatura din jurul lui...
#60
Postat 12 March 2009 - 10:38 PM
renatoa, la Mar 12 2009, 10:30 PM, a spus:
ele sunt oricum publice. trebuie doar sa sti unde sa te uiti :(
in legatura cu senzorii. cred ca arata bine. am 2 termometre de camera. un ceas chinezesc cu termometru si unul cu alcool. ceasul arata 23,7; cel cu alcool 24. daca bag senzorul meu la subbrat am in 10 secunde 37 grade :)
tensiunea pentru 25 de grade a senzorului este intre 2.98 si 3.01V - din datasheet. atat citesc si eu cu microcontrollerul.
@kriminel : ms pt grade http://www.rhcforum....tyle_emoticons/default/tongue.gif. l-am pus la repezeala. nu conta foarte mult aspectul , vroiam sa invat sa folosesc ADC-ul si sa scot formula pentru calculul temperaturii.
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()