Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2025 05 06, 15:05. Visos datos yra GMT + 2 valandos.
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
Na pats holo efektas atsiranda dėl magnetinio lauko poveikio, pvz. magneto.
Bet tas magnetas gali būti prie pat holo puslaidininkio priklijuotas taip, kad atidarymui netiktų magnetinio lauko kryptis, bet prinešus artyn kitą metalinį daigtą kryptis keičiasi ir puslaidininkis atsidaro.
Taip aš kalbėjau apie tokį, bet šiam yra būtinas magnetas. Aišku jis nebūtinai turi būti ant disko. Diske gali būti skylė, vienoje pusėje magnetas, kitoje daviklis. Arba galima, magnetą priklijuoti prie daviklio iš kitos pusės, kad liktų neatidartas, šitas komplektas reaguos į metalo buvimą arba nebuvimą.
O kažkuris iš kolegų siūlė variantą, kur daviklis jau sukonstruotas taip, kad savyje turi ir Holą ir magnetą, jis jau pats reaguos į metalą. Tiesa jis pavadintas iduktyvumo davikliu. Nors reiktų neapsigauti, ęsu matęs visai kitu principu pagrystą induktyvumo daviklį, kuris čia visai netiktų, nes reguoja tik į magnetinio lauko kitimą.
Įsivaizduok, kad turi Opto porą, realiai panaudojimai galimi visi tie patys, na gal kiek sunkiau būtų prikabinti šviečiantį diodą anta disko , bet šviesti pro skylę, ar matuoti atspinį didelio skirtumo nėra.
void loop() {
holoState = digitalRead(holoPin); //nuskaitoma jutiklio busena
if (holoState == HIGH) { // jei holas duoda signala,
if (!solenoidasVeike) { // jei solenoidas nebuvo veikes, tada vykdoma komanda
digitalWrite(salenoidasPin, HIGH);
delay(500); //palaukiam puse sekundės
digitalWrite(salenoidasPin, LOW); //salenoidas išsijungia
delay(2000); //palaukiam 2 sekundes
solenoidasVeike = 1; // solenoidasVeike prilyginam vienetui, kad nekartotų komandos, kol holas suveikes
}
} else { // jei holas neduoda signalo
solenoidasVeike = 0; // solenoidasVeike vel prilyginamas 0
}
}
Visiems aciu uz pagalba, kadangi forume tiek daug geru zmoniu tai gal butu galima prie esamo kodo dar skaitliuka prideti kuris skaiciuotu salenoido suveikimus ir parodytu LCD ekranelyje
/* The circuit:
* LCD RS pin to digital pin 8
* LCD Enable pin to digital pin 7
* LCD D4 pin to digital pin 6
* LCD D5 pin to digital pin 5
* LCD D6 pin to digital pin 4
* LCD D7 pin to digital pin 3
* LCD R/W pin to ground
* LCD VSS pin to ground
* LCD VCC pin to 5V
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 7, 6, 5, 4, 3);
const int holoPin = 2;
const int solenoidPin = 10;
word holoState = 0;
word solenoidasVeike = 0;
word daigu = 0;
Na rašo, kad: "Supply voltage: 5-24VDC,6-36VDC" , čia gal klaida.
Jei maitinamas nuo 5V tai jokių priedų nereikia.
Ir parašyta, kad gali komutuoti signalą iki 200mA, o arduino įėjimui ir 1mA nereikia, bet rezervas gerai, galėsi nedidele varžele į korpusą patrumpinti, triukšmų mažiau bus.
O tas priedas kurį nurodei tai tikriausiai skirtas matuoti srovei santykis 1A / 100mV.
Holui maitinima gali paduoti per dioda nuo 12..24V. (nepamirsk ir mases, o nuosekliai diodui dar ir 100 Om varza nepamaisys)
jei pasuntuosi nedideles talpos kondensatoriumi - blogai nebus.
tarp holo maitinimo ir isejimo reikia varzos - sakykim, 5..20 kOm ribose, priklausomai kokia itampa maitinsi
Arduino puseje signala paduodi per 10 kOm varza ir 5.1V stabilitronas i Arduino GND
Beje tas ilgas Algio kodas turi vieną dideį pliusą, pas jį LOOPe nėra DĖLĖjų, tai jei planuojant į tą mikroschemą ateitye, dar kažką pridėti, reiktų rintis šį, bet jį dar reiktų patobulinti, kad atsisakyti antro HOLO.
Holui maitinima gali paduoti per dioda nuo 12..24V. (nepamirsk ir mases, o nuosekliai diodui dar ir 100 Om varza nepamaisys)
jei pasuntuosi nedideles talpos kondensatoriumi - blogai nebus.
tarp holo maitinimo ir isejimo reikia varzos - sakykim, 5..20 kOm ribose, priklausomai kokia itampa maitinsi
Arduino puseje signala paduodi per 10 kOm varza ir 5.1V stabilitronas i Arduino GND
Mano mintis buvo Arduino užmaitinti nuo 12v akumulaitoriaus per "prikurke", o hola užmaitinti jau paimant +5v stabilizuotą iš Arduino na ir žinoma GND.
Tik dabar idomu pasidarė dėl signalo iš holo "užtrumpinimo" per varžą į GND, kad sumažinti holo "triukšmus".
Taigi paties arduino įėjimo varža 100 megaomų. Per tokio dydžio varžą mažiausia srovelė virsta pakankamai aukšta įtampa U=I*R (pvz. jei ant laidelio neitkėtai susiindukuotų vieno mili ampero srovė tai 0,001A*100.000.000omai= 100.000V. Liaudiškai sakant tai ore kabantis laidas.
Ką reikia daryti, kad ant laido savaime neatsirastų įtampa? Jį reikia įžeminti. Tai vat per tą 5kOmų varžęlę jungi įėjimą į korpusą, rezultate jei vėl netyčia atsiras 1mA signalas 0,001*5000omų=5V. Rezultatas jau daug geresnis. Kuo gerisnis įžeminimas (tavo atveju mažesnė varža) tuo mažesnė tikimybė, kad ant jo susiindukuos atsitiktinės srovės. Bet tuo pačiu didesni nuostoliai, (t.y. tikrasis įėjimo signalas turės būti stipresnis).
Na bet 200mA čia sočiai rezervo.
P.S. paskutinėje nuorodoje, kur įmečiau su programos patikrinimu yra mygtukas, kuris kaip supranti, atstoja HOLO daviklį ir kaip matai išpradžių per varžą jį jungiu į korpusą, o tik tada į arduiną.
ukininkas, atrisk holo davikli nuo arduino per optrona, jei nedasunta ka ten parasiau.
Pati Holo davikli nemaitink nuo arduino 5V ir pasistenk nedaryti "ground loops"
pvz kaip cia http://www.plctalk.net/qanda/uploads/sinkinggoutplcin.jpg
Tenka pripažinti kad suprantu mažiau negu maniau suprantantis, kažkada prieš 20-25 metus domėjausiu šiek tiek elektroniką, bet labai daug metų viską buvau apleidęs, tai dabar susigaudyti darosi jau sunkoka. Beto ir elektronnikos komponentai jau nebe tie.
Betkokiu atveju šitą savo sumanymą aš visvien įgyvendinsiu.
Solenoidą galvojau jungti per tiristorių.
O kodėl reikia atrišti hola nuo Arduino, čia vien dėl to kad išvengti "pašalinio triukšmo".
Kalėdoms buvau pasidaręs dekoracijas tai 220v led girliandas valdė arduinas per tiristorius ir GND buvo bendras.
https://www.youtube.com/watch?v=lyqdTM9iLE4
Atrisimas nuo uCU butinas, nes technika toks daiktas, kur visada gali kazkur prasitrinti, uzsitrumpinti ar nusikirsti, todel netinka maitinti tiesiai nuo akumuliatoriaus be saugiklio ar sroves ribojimo varzos (varza galetu buti kazkur arciau saugiklio, o diodas arciau maitinamo irenginio).
Paimti signala is daviklio ir paduoti tiesiai i uCU irgi netinka, nes jei prasitrintu ir uzsitrumpintu 12..24V tiesiai i UCU i(s)ejima, tai butu dumeliai ne vien tik uCU, bet ir LCD ir holas gali perdegti.
O jei dar su ~230V tinklo itampa yra rysys, tai dar ir netinkamai prisilietus galima pajusti "malonu dirginima", o gal net ir nebloga smugi
Tam ir reikia holo isejime nedideles srove ribojancios varzos, kad uCU matuotu tik itampa 0..21..24V ribose (galima per ADC, o galima ir tinkamai parinkti varzu daliklius, kad signalas nevirsytu 5V, bet ir nebutu mazesnis uz 2,5V kai "1").
Kad isvengti nereikalingu trukdziu per "masiu kilpas" nuo generatoriu, el.varikliu ir t.t. - uCU uzmaitinti reikia tik vienoje vietoje, o signalu "mases" irgi jungti i ta viena taska, kur paduotas maitinimo "mase".
Matai, aš asmeniškai labai mėgstu paprastumą. Jau ne karta šiame forume man velnių duota atseit, aš pavojingus patarimus duodu, nors man regis aš išlaikau balancą tarp rizikos ir kainos:) .
Tai štai:
1. Pati adruino plokštė gali būti maitinam ir nuo 6 iki 20V, rekomenduojama 7-12V, bet žinant, kad ten stovi 5V stabilizatorius, ko gero tiesiogiai į 12 nedurčiau. Pasinaudočiau Algio patarimu ir pastatyčiau kokią varžą arbą papildomą, paprastą stabilizatorių. O jei gali rinktis kokią jungti įtanpą tai iškarto jungti mažesnę ir baiktas reikalas.
2. Tą daviklį maitinčiau, kaip tavo paties ir sugalvota, tiesiai nuo arduino 5V. Jo signalą vėlgi jungčiau taip, kaip rekomenduoja Algis, gal tik nebereikalingas stabilitronas tampa (čia turiu uomenį jo pirmą variantą).
3. Išėjimą galima pajungti ir per teristorių, bet jei gerai nesigaudai iškils klausimų. Jei nesudėliosi visų varželių, tai pirmą kartą atsidaręs jis toks ir liks, kol maitinimo neatjungsi. Atskyrimo turi nepražiopsoti, kad netyčia tavo teristorius nepasiųlytų ko nors arduinui, nes arduino "OUT" portas daug jautresnis nei "IN". Žodžiu nežaisčiau, o pirkčiau paprasta rėlytę ir su tavo dažniu tikrai pakaktų. Ją paprasčiausiai užmaitintu tiesiogiai nuo arduino plokštės, signalą per kokią nedidelę varžęlę ir baigta.
P.S. Na nenorint traktoriaus sudeginti, gal dar kur kokį saugiklį įdėčiau, bet geriau prie pat maitinimo (pvz. prie pat akumuliatoriaus, jei nuo jo maitinsi).