Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino - tutorijali, pitanja, primjeri i projekti
Na primjer, na elektronikama od veš mašina, naročito onim jeftinijima gdje su ulazi nikad izolovani nego direktno povezani na pinove mikrokontrolera, nekad se nađe i po neki serijski optornik na tim vezama, ali ipak to nije urađeno po propisu, i sad na tome je senzor temperature koji radi na dvije žice, na koji način se softverski detektuje da je taj senzor u kratkom spoju ili ima beskonačni optor (opet neispravan) ili (kao kod skupljih modela i marki) prepozna da je veoma malo odstupanje otpora od originalne vrijednosti, u najčešćem slučaju zamjenski dio, naravno ispravan ali ga elektronika prepoznaje kao neispravan, tj. kopija dijelova?

To je trenutno jedan od primjera, a ima ih još dosta koji me interesuju da shvatim, mislim to je nešto osnovno (a možda i griješim).

EDIT:

Isti primjer je kao što si spomenuo za airbag, na autima/kamionima, vezano za svjetla, kako se mjeri potrošnja za taj izlaz, jer kada se halogena sijalica zamjeni sa led, on prepozna da je crkla sijalica, dok opet na mlađim autima ima softversko prebacivanje rasvjete na led i onda radi u modu za led sijalice?
Reply
Detkecija otpornog termo senzora (NTC ili PTC) se vrši merenjem napona na njegovim krajevima pri konstantnoj ili približno konstantnoj struji kroz njega, koja dolazi sa ploče.
Izvor struje može biti i samo jedan otpornik, gde struja nije baš konstantna ali je u MCU snimljena tabela za takav slučaj. Onda se taj otpornik napaja stabilisanim naponom.

U normalnom radu se njegov otpor kreće od - do i takođe napon na njegovim krajevima, koji se meri pomoću ADC.
U slučaju da granice napona budu ispod ili iznad okvira u kojima se pri normalnom radu menja otpor senzora, onda kod PTC viši napon znači prekid - niži kratak spoj, dok kod NTC obrnuto.

Jednostavno se zadaju margine graničnih veličina i one generišu grešku ako budu prekoračene.

Sasvim je moguć i test pri normalnoj sobnoj temperaturi, pri uključenju sprave, gde je temperatura u uskim granicama sobnih temperatura. tada je moguća daleko strožija detekcija ispravnosti jer je otpor ispravnog u uskim granicama određen. Ukoliko postoji još jedan takav negde u napravi onda poređenjem pri istoj temperaturi može detekcija biti vrlo stroga u okvirima procenta.

Što se tiče merenja potrošnje sijalica na autu, nekad je se to radilo običnom reed cevčicom sa nekoliko namotaja žice oko nje. To je bila vrlo niskopotrošna i krajnje jednostavna i pouzdana metoda. pad napona na tom malenom namotaju od debele žice je bio zanemarljiv a tok dovoljne struje bi "zalepio" reed kontakte.

Na modernim automobilima su verovatno Hall senzori pored pcb kroz koju ide struja konkretne sijalice i to je verovatno to. Stvarno ne znam jer se nisam upustao u tu problematiku. Valjalo bi ti rasturiti neku od tih elektronika i pogledati malo unutra...

Na primer, to bi mogao biti neki od ovakvih ili slično, možda minijaturnije:

https://www.google.com/url?sa=t&rct=j&q=...qKcnwl89zX

Pozdrav
Reply
Kako da povežem inkrementalni enkoder sa 12V izlazima A i B faze na Arduino, da li preko serijskih otpornika veće otpornosti ili da koristim optokapler sa gate driver-om?

Negdje sam na nekom forumu pročitao da se može dovesti 12V na digitalni ulaz preko nekih otpornika u serijskoj vezi, ali mi se to čini rizično, pa da pitam...
Reply
Pogledaj datasheet za cd4049 i cd4050.
Reply
Vezi enkoder na 5V, trebalo bi da radi i na tom naponu i onda nema problema.
Reply
Probao sam i neće na 5V.
Reply
Možeš da rešiš na više načina:



ili

Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.

塞爾維亞文
Reply
Da li neko ima savjet kako da riješim problem sa potenciometrom, tj. variranje vrijednosti potenciometra na analognom ulazu, Arduino čita vrijednost sa potenciometra i imam variranje vrijednosti do +/-5, da li se to riješava softverski ili hardverski?
Reply
(06-14-2020, 12:10 AM)Makso Wrote: Da li neko ima savjet kako da riješim problem sa potenciometrom, tj. variranje vrijednosti potenciometra na analognom ulazu, Arduino čita vrijednost sa potenciometra i imam variranje vrijednosti do +/-5, da li se to riješava softverski ili hardverski?
Kako variranje vrednosti? Kada ne diras potenciometar vrednost se menja ili kada ga okrenes pa vratis u istu poziciju vrednost ne bude ista? 
Meni se na Pic MCU davno desilo da kad sam direktno stavio pot na ADC pin, vrednost je shetala konstantno. To sam resio tako sto sam iza potenciometra stavio bafer napravljen od op-ampa. Probaj sa baferom, mozda je mala ulazna impedansa tog pina na Arduinu.
Reply
Unutrašnja otpornost naponskog izvora koji se povezuje na analogni ulaz PIC-a mora da bude manja od 10 k ohm. Slično je i za druge mcu.
Reko sam ti sve. a pomenuo te ne. ipak sada znaju svi. da si to ti
Reply
Da, treba jedinicni buffer da se postavi ispred ulaza u A/D + jedan kondenzator reda 0.1uF do 1uF na klizac potenciometra prema masi (ne na nozice A/D).
To ce da dosta poboljsa celu pricu, nije iskljuceno i posle toga da ima setanje ocitane vrednosti, bice sigurno manje.
Ako hoces jos malo da smiris onda mozes dodatno u SW da uradis filtriranje/ujednacavanje, to se prosto radi tako sto uzmes na primer 8 ili 16 ili 32 uzoraka i saberes zajedno (variabla mora da bude tipa Long-integer) i posle taj broj podelis sa brojem uzoraka.
Reply
Nesto ovako stavi, mozda ce da resi problem.


Attached Files Thumbnail(s)

Reply
Gimba, moze tako ako ima dodatan izvor za +/-12V a obicno u tim situacijama toga nema Smile
To oko napajanja je vezano za raspoloziv naponski opseg posle OP-a, napajanje treba da bude vece za bar 1-2V od ocekivanog izlaza tj nas interesuje 0 do 5V i u tom smislu bi bilo dovoljno odprilike +6V i -0.7V za OP da bi radio u punom opsegu. Ako nema takvo napajanje, moze onda OP da ide na 5V ali mora da se pomiri sa tim da nece moci OP da ide potpuno do nule i potpuno do 5V, suzava se malo opseg potenciometra (pri krajevima) sto i nije toliko strasno, radice i tako ali nema dodatna napajanja.
Reply
(06-14-2020, 08:43 AM)mikikg Wrote: Gimba, moze tako ako ima dodatan izvor za +/-12V a obicno u tim situacijama toga nema Smile
To oko napajanja je vezano za raspoloziv naponski opseg posle OP-a, napajanje treba da bude vece za bar 1-2V od ocekivanog izlaza tj nas interesuje 0 do 5V i u tom smislu bi bilo dovoljno odprilike +6V i -0.7V za OP da bi radio u punom opsegu. Ako nema takvo napajanje, moze onda OP da ide na 5V ali mora da se pomiri sa tim da nece moci OP da ide potpuno do nule i potpuno do 5V, suzava se malo opseg potenciometra (pri krajevima) sto i nije toliko strasno, radice i tako ali nema dodatna napajanja.
Slazem se 🙂
Reply
@Gimba

Za tvoj slucaj sa potenciometrom i +/-12V, nadam se da si predvideo neku prekonaponsku zastitu za A/D?
Znas i sam da STM32 nece ni malo lepo da se oseca ako mu na A/D ulaz dovedez vise od 3.3V, u najboljem slucaju ces sprziti A/D ulaz a u najgorem ceo kontroler!
Ta situacija se resava tako sto se prvo stavi unipolarna TVS 3.3V na glavno MCU napajanje i onda se sa nekim brzim Shotky diodama (npr neke iz BAT4x serije) A/D ulaz klampuje prema napajanju, dakle diode ne dozvoljavaju vece napone od 3.3V i manje od cca -0.3V, tako je zasticen ulaz.
Reply
(06-14-2020, 09:36 AM)mikikg Wrote: @Gimba

Za tvoj slucaj sa potenciometrom i +/-12V, nadam se da si predvideo neku prekonaponsku zastitu za A/D?
Znas i sam da STM32 nece ni malo lepo da se oseca ako mu na A/D ulaz dovedez vise od 3.3V, u najboljem slucaju ces sprziti A/D ulaz a u najgorem ceo kontroler!
Ta situacija se resava tako sto se prvo stavi unipolarna TVS 3.3V na glavno MCU napajanje i onda se sa nekim brzim Shotky diodama (npr neke iz BAT4x serije) A/D ulaz klampuje prema napajanju, dakle diode ne dozvoljavaju vece napone od 3.3V i manje od cca -0.3V, tako je zasticen ulaz.
Da znam, na celoj shemi je nacrtana i predvidjena zastita. Braca ima ceo schematic ali ga nisam objavio jos jer moram da isprobam jos neke sitnice i da kompletiram shemu. Znam za to, prosao sam tu skolu. 😁
Hvala ti za opomenu, desava se da neki put zaboravim te stvari ali imam srece jer se to desava samo na prototipu. 🙂
Reply
(06-14-2020, 08:25 AM)mikikg Wrote: Ako hoces jos malo da smiris onda mozes dodatno u SW da uradis filtriranje/ujednacavanje, to se prosto radi tako sto uzmes na primer 8 ili 16 ili 32 uzoraka i saberes zajedno (variabla mora da bude tipa Long-integer) i posle taj broj podelis sa brojem uzoraka.
Postoji i elegantniji metod za proračun aritmetičke srednje vrednosti.

Ako je x trenutno izmerena vrednost, a n broj vrednosti čija se srednja vrednost traži, onda:

xmean = x
for i = 2 to n
  xmean = xmean + (x - xmean) / i
end

Pozdrav
Reply
(06-14-2020, 10:36 AM)Braca Wrote:
(06-14-2020, 08:25 AM)mikikg Wrote: Ako hoces jos malo da smiris onda mozes dodatno u SW da uradis filtriranje/ujednacavanje, to se prosto radi tako sto uzmes na primer 8 ili 16 ili 32 uzoraka i saberes zajedno (variabla mora da bude tipa Long-integer) i posle taj broj podelis sa brojem uzoraka.
Postoji i elegantniji metod za proračun aritmetičke srednje vrednosti.

Ako je x trenutno izmerena vrednost, a n broj vrednosti čija se srednja vrednost traži, onda:

xmean = x
for i = 2 to n
  xmean = xmean + (x - xmean) / i
end

Pozdrav
Potpuno isto sam radio na mojoj masini za cerebralce za merenje pritiska vazdusnog jastuka. 
Tako se radi i za voltmetre i za jos mnogo mnogoo stvari.
Reply
Moze na vise nacina da se odradi SW filtriranje, Braca je postavio primer jednog resenja koje radi dobro, sve se svodi na duzinu filtera i njegovog kasnjenja, zato su na primer 1+MSPS A/D konverteri sa 12bit korisni, pusti 8096x oversampling ili duzina filtera, hehe to tek radi mnogo dobro, ima kasnjenje ali to je kompromis, imaju 4+MSPS koverteri sa 12bit u raznim MCU.
Reply
Formula koju sam postavio predstavlja transformaciju tradicionalne formule, a ja sam je naučio pre 40 godina, tj. u vreme kada su memorije bile male, pa je svaki bajt bio vredan.
Ako se osrednjava veliki broj vrednosti, za tradicionalnu formulu je potreban dug akumulator (Miki je već pomenuo long integer), jer inače zbir može da se prelije (overflow).
Kod rekurzivne formule to nije moguće.

Inače, ta formula je samo specijalan slučaj jedne klase modela diskretnih sistema, koja se naziva ARMA (Auto Regressive Moving Average) i koja omogućava realizaciju proizvoljnih prenosnih funkcija.
Konkretno, rekurzivni proračun srednje vrednosti predstavlja jedan IIR filter (Infinite Impulse Response).
Reply


Forum Jump:


Users browsing this thread: 16 Guest(s)