Sari la conținut
ELFORUM - Forumul electronistilor

Probleme cu arduino


lutza2

Postări Recomandate

Personal nu inteleg de ce te cramponezi de ADC-ul din Arduino ca sa ai nevoie de variatii de volti direct de la iesirea fotodetectorului, indiferent de tipul lui.

Pune frate un amplificator si obtii ce variatie vrei. :)

Pe de alta parte, din ce stiu eu fotodiodele sunt f. sensibile si mai ales au o liniaritate excelenta....

Link spre comentariu

Fototranzistoarele sunt cele mai sensibile, că şi amplifică semnalul.

Dacă vrei să foloseşti neapărat fotorezistenţe poţi să le pui pe ambele într-un divizor unic fără alte rezistenţe, astfel sensibilitatea lui se dublează. Dacă foloseşti o referinţă de jumătatea tensiunii de alimentare, respectiv valoarea de 512 pe ADC, vei avea echilibru când ambele sunt iluminate egal. Orice deviere face ca una din fotorezistenţe să-şi crească rezistenţa iar cealaltă să şi-o coboare, dezechilibrând divizorul mai mult decât dacă ai folosi sistemul LDR-R. S-ar putea ca o punte cu 2 amplificatoare gen TDA2030 să fie suficientă pt. controlul poziţiei.

Link spre comentariu

daca ai nevoie sa orientezi ceva cu precizie dupa o sursa de lumina, poti folosi un senzor de scaner in fata caruia montezi o fanta cat mai ingusta, o lentila si eventual un filtru daca sursa de lumina e prea puternica (cum ar fi soarele). Senzorii au iesiri seriale analogice dar nu e nevoie de ADC ci doar de un Trigger Schmitt pentru-ca ai nevoie sa vezi doar care portiune din senzor primeste lumina. Cu un senzor alb/negru, cum ar fi ILX510 care are 5100 pixeli pe 36 mm (1 pixel are 7 microni) si o fanta de 0.05mm pusa la 4 cm in fata senzorului, am obtinut o precizie mai buna de o zecime de grad. Problema e ca trebuie sa iti faci singur programul pentru senzorul care il gasesti :)

Link spre comentariu
21 hours ago, cimitavita said:

daca ai nevoie sa orientezi ceva cu precizie dupa o sursa de lumina, poti folosi un senzor de scaner in fata caruia montezi o fanta cat mai ingusta, o lentila si eventual un filtru daca sursa de lumina e prea puternica (cum ar fi soarele). Senzorii au iesiri seriale analogice dar nu e nevoie de ADC ci doar de un Trigger Schmitt pentru-ca ai nevoie sa vezi doar care portiune din senzor primeste lumina. Cu un senzor alb/negru, cum ar fi ILX510 care are 5100 pixeli pe 36 mm (1 pixel are 7 microni) si o fanta de 0.05mm pusa la 4 cm in fata senzorului, am obtinut o precizie mai buna de o zecime de grad. Problema e ca trebuie sa iti faci singur programul pentru senzorul care il gasesti :)

 Deci din start pica varianta..

On 12/12/2018 at 6:42 PM, mihaicozac said:

Fototranzistoarele sunt cele mai sensibile, că şi amplifică semnalul.

Dacă vrei să foloseşti neapărat fotorezistenţe poţi să le pui pe ambele într-un divizor unic fără alte rezistenţe, astfel sensibilitatea lui se dublează. Dacă foloseşti o referinţă de jumătatea tensiunii de alimentare, respectiv valoarea de 512 pe ADC, vei avea echilibru când ambele sunt iluminate egal. Orice deviere face ca una din fotorezistenţe să-şi crească rezistenţa iar cealaltă să şi-o coboare, dezechilibrând divizorul mai mult decât dacă ai folosi sistemul LDR-R. S-ar putea ca o punte cu 2 amplificatoare gen TDA2030 să fie suficientă pt. controlul poziţiei.

 Nu am inteles um sa fac.. Fara schema nu prea ma descurc...

Link spre comentariu
22 hours ago, cimitavita said:

daca ai nevoie sa orientezi ceva cu precizie dupa o sursa de lumina, poti folosi un senzor de scaner in fata caruia montezi o fanta cat mai ingusta, o lentila si eventual un filtru daca sursa de lumina e prea puternica (cum ar fi soarele). Senzorii au iesiri seriale analogice dar nu e nevoie de ADC ci doar de un Trigger Schmitt pentru-ca ai nevoie sa vezi doar care portiune din senzor primeste lumina. Cu un senzor alb/negru, cum ar fi ILX510 care are 5100 pixeli pe 36 mm (1 pixel are 7 microni) si o fanta de 0.05mm pusa la 4 cm in fata senzorului, am obtinut o precizie mai buna de o zecime de grad. Problema e ca trebuie sa iti faci singur programul pentru senzorul care il gasesti :)

 Asta chiar ma depaseste.................................

Link spre comentariu

Daca sunt legate in serie fara nimic care sa limiteze curentul, si sunt luminate puternic, e foarte posibil ca sa se arda ambele fotorezistente.

Trebuie folosita schema de mai jos.

Resiztentele R1 si R2 trebuie sa limiteze curentul prin FR1, respectiv FR2. 20 - 50mA sunt de ajuns (R1 = R2 = 270 - 560 ohmi).

Resiztentele R1 si R2 trebuie sa fie cat mai egale dar e bine de facut sa se poata face corectii din program.

La multe ATMEGA, la intarile A0 si A2 se poate regla din program sensibilitatea la intrare: X1, X10 sau X200 si se pot citi si valori slabe ale luminii (merge numai la versiunea cu R1 si R2 puse la masa iar FR legate la Vcc)

Se citesc intrarile A0 si A2 apoi se face o comparatie intre rezultate. Daca este prea sensibil, se poate pune ADLAR=1 si se folosesc pentru comparatie doar cei 8 biti din ADCH fara a se folosi si ADCL (se pierd intentionat 2 biti LSB). E simplu de tot.

legare_2FR.jpg

Link spre comentariu
  • 3 săptămâni mai târziu...

am observat că din arduino 1.8.8 nu pot uploada într-un arduino nano(clonă chinezeasscă cu CH340G), însă în 1.8.2 ce foloseam pînă să iau acest 1.8.8 merge fără probleme. Știe cineva de ce?

 

Cam asta afișează arduino când încearcă să programeze:

 

Capture.JPG

Link spre comentariu

@x_dadu încerca și intrarea "manuala" in bootloader mode chiar daca nu are logica deoarece trebuia să o facă software că la versiunile anterioare.

Când scriu programul in arduino mini nu am programator cu pin de reset separat și îi dau reset de pe butonul fizic imediat când vrea sa facă "upload program".

 

l.e: Liviu a fost mai rapid.

Editat de Stefan.
Link spre comentariu

gata, asta era, mulțumesc. O băgasem pe mînecă pentru că l-am lăsat să-și facă un board update și nu-mi mai mergea nici pe versiunea veche.

Eu folosesc plăcile arduino dar de obicei scriu softurile cu codevisionavr, însă pentru anumite periferice, din simplitate, e util arduino IDE. Acum vreau să fac niște teste și am nevoie de un dataloger. Pentru asta încerc să folosesc un microSD cu arduino. Adaptor am versiunea cu level converter și syabilizator AMS onboard, deci nu cel simplu cu rezistențe. Totuși cînd merge cînd nu merge. Am încercat o scădere a clockului SPI cu 

SPI.setClockDivider(SPI_CLOCK_DIV16)

dar tot degeaba. tot schimb numele fișierului pentru log și cu unele vrea cu altele ba.

Link spre comentariu

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări