Arduino - spust in dvig bremena z eno tipko

Arduino je pojav za katerega bi težko rekli, da opisuje samo HW ali samo SW, zato mu tu namenajm poseben prostor.

Moderator: tilz0R

Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a Hoden » 17 Jan 2021, 19:56

Pozdravljeni,

zanima me vaš pogled na moj projekt. Rad bi imel samo eno tipko s katero bi dvigoval in spuščal breme. Za dvigovanje in spuščanje bom uporabil servo motor.

Zanima me kako bi v principu vi pristopili k projektu, da nebi vseboval končnih stikal oziroma drugih senzorjev. Predvsem me bega vprašanje ali naj krmilnik ob nedelovanju izključim Ž(dvignem breme, vse skupaj izključim, čez nekaj dni vključim in spet spustim breme) oziroma kako postopati, da si krmilnik "zapomni" zadnje stanje tipke tudi če nima vmes napajanja. Ali bi bila bolj enostavna in boljša rešitev z dvema tipkama? Program pa nebi pustil večkratnega pritiskanaja oziroma se nanj nebi odzval. Ampak spet pridemo do problematike ob prekinjenem napajanju. Kako se običajno postopa v takem primeru?

Hvala
Hoden
 
Prispevkov: 8
Pridružen: 08 Maj 2015, 07:25
Zahvalil se je: 0 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: ivor
Število neizkoriščenih povabil: 0

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a Cloud » 17 Jan 2021, 20:07

Lahko zapišeš vrednost v eeprom. Zakaj bi ga pa ugašal lahko ga daš samo v spanje.
Cloud
 
Prispevkov: 2431
Pridružen: 18 Mar 2015, 08:24
Kraj: Ljubljana
Zahvalil se je: 129 krat
Prejel zahvalo: 284 krat
Uporabnika povabil: BraneZ
Število neizkoriščenih povabil: 19

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a VolkD » 17 Jan 2021, 21:31

Nekoč sem naredil avtomat za premik tarč na strelišču. To so bili še časi, ko niti AT mikrokontrolerjev še ni bilo. Zadeva dela na seriji 51. Še danes deluje. Pa to ni ravno bistveno, bistven je princip.
Motorje za pogon smo dobili na odpadu, elektroniko sem naredil jaz, gumb, ki naj bo robusten (ko strelec zgreši, zna biti vse samo nežen na gumbu ne). Če bi moral imeti dva gumba bi se projekt podražil praktično za 100%. Torej 1 gumb.
Zraven je še detekcija tokovne preobremenitve, da mikrokontroler ve končne pozicije.

Mislim, da je problem tukaj dokaj sličen.

Če je tarča nekje na polovici, ko ugasneš, si mikrokontroler seveda ne zapolni v katero smer naj bi šla,...
Sicer pa dokler dela, gumb pomeni, da bi nekdo nekaj hotel, ker mikrokontroler ve kaj je zadnje delal je odločitev v katero stran bo šla tarča enostavna.
Problem nastane, če je tarča ostala na polovici poti, ko je mikrokontroler ostal brez napajanja. Rešitev je enostavna: pritisk na gumb pelje tarčo v eno od smeri (ni pomembno v katero), če smer ni prava potem mikrokontrolerju to povemo s še enim pritiskom na gumb. Tarča se ustavi ( na pol poti) nasledji pritisk na gumb spremeni gibanje tarče v drugo smer.

Izkazalo se je uporabno tudi, če je nekdo hotel pogledati kakšno je stanje na tarči, pa je to videl že ko je tarča na polovici poti. Dva hitra kratka pritiska na gumb in tarča se je vrnila v prvotno lego.

Upam, da ti bo ideja v pomoč.
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 48286
Pridružen: 29 Dec 2014, 19:49
Kraj: Kačiče (Divača)
Zahvalil se je: 11283 krat
Prejel zahvalo: 6385 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 95

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a jure94 » 17 Jan 2021, 22:19

Če si moral mikrokrmilnik zapomniti zadnje stanje, lahko to stanje ob spremembi zapisuješ v eeprom. Ob priklopu napajanja torej vedno veš zadnje stanje.
Če bi bil problem nenadnen izklop napajana ravno ob spremembi stanja, se lahko doda malo večji kondenzator (ali kakšno drugo rešitev) in spremljanje napajalne napetosti. Če je napajalna napetost prenizka, sistem ne dovoli premika, ampak ima še vedno dovolj visoko napetost, da prepiše eeprom.

Glede na to, da gre za arduino tole z eepromom ne bi smel biti problem.

Druga opcija pa je taka, kot je napisal VolkD. Tam ne potrebuješ niti eeproma. Ob prvem pritisku na tipko se breme začne premikati v eno smer (recimo, da se spušča). Če bi uporabnik raje, da se dviga, pač še enkrat pritisne tipko, da se zamenja smer.
Če bi želel imeti izbiro smeri ob prvem pritisku na tipko (brez eeproma) pa lahko to definiraš v programu. Če je ob priklopu napajanja tipka pritisnjena, bi to pomenilo, da se bo ob naslednjem pritisku breme dvigovalo, če ni bila, pa se bo spuščalo.
Uporabniški avatar
jure94
 
Prispevkov: 768
Pridružen: 18 Jan 2015, 00:33
Kraj: Jesenice/Ljubljana
Zahvalil se je: 37 krat
Prejel zahvalo: 75 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 9

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a Hoden » 19 Jan 2021, 10:34

Najlepša hvala za odgovore.

Ker se bo zadeva verjetno uporabljala 1x tedensko sem nameraval stvar kar ugašati, ampak dejansko mi je lažje (fizično) izvedljivo če uporabim sleep funkcijo.

Zanima me pa še to. Ko bo breme enkrat dvignjeno mora tam tudi ostati. Verjetno bo to najlažje storiti mehansko (polžasti prenos recimo). Ali je še kakšen drugi način kako preprečiti, da se servo motor ne zavrti ko nima napajanja?

Hvala
Hoden
 
Prispevkov: 8
Pridružen: 08 Maj 2015, 07:25
Zahvalil se je: 0 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: ivor
Število neizkoriščenih povabil: 0

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a miharix » 19 Jan 2021, 11:07

Lp,
M.
Uporabniški avatar
miharix
 
Prispevkov: 1293
Pridružen: 18 Jan 2015, 09:23
Kraj: Kamnik / LJ
Zahvalil se je: 475 krat
Prejel zahvalo: 372 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 76

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a jure94 » 19 Jan 2021, 11:32

Lahko s primernim prenosom oz. mehaniko lahko pa dodaš zavoro.
Uporabniški avatar
jure94
 
Prispevkov: 768
Pridružen: 18 Jan 2015, 00:33
Kraj: Jesenice/Ljubljana
Zahvalil se je: 37 krat
Prejel zahvalo: 75 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 9

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a VolkD » 19 Jan 2021, 14:04

Imaš motorje, ki imajo mehansko zavoro. Zavira torej vzmet. Zavora se sprosti z elektromagnetom.
Če napajanje izgine, se mehanska zavora aktivira.
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 48286
Pridružen: 29 Dec 2014, 19:49
Kraj: Kačiče (Divača)
Zahvalil se je: 11283 krat
Prejel zahvalo: 6385 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 95

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a Obelix » 19 Jan 2021, 14:39

Fajn bi bilo, če bi Hoden napisal kaj več o tem dviganju in spuščanju bremena. Kakšno je breme, masa bremena, višina dviga ... še kaj.

Pravi, da bi to izvedel s servomotorjem. Servo za dvig bremena ? Razen če gre za kak servo ranga velikosti modelarski servo ...
Obelix
 
Prispevkov: 765
Pridružen: 19 Jan 2015, 10:31
Kraj: Maribor
Zahvalil se je: 31 krat
Prejel zahvalo: 91 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 94

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a Hoden » 19 Jan 2021, 15:03

Pozdravljeni,

nisem vas hotel obremenjevat z samim "bremenom", da debata ne zaide na napačna pota ampak seveda ni nobena skrivnost.

Breme je sušilo perila, ki se spravi pod strop. Doma imam NEMA 17, 59Ncm, 2A zato sem hotel uporabiti kar tega. Teža polnega sušila je verjetno med 5 in 10 kg. Trenutno imam že izvedeno to na ročni pogon. Na stropu imam pritrjen set za spravilo kolesa, namesto kolesa pa sušilo. Problem je ta, da ko povlečeš vrv gre seveda najprej en konec sušila proti stropu šele nato drug (vnes perilo zdrsne na drug konec ...).

Motor bom imel nameščen na sredini med obema škripcema (na stropu) in ta motor bo navijal vrv. Trenutno razmišljam, da bi dokupil še polžasti prenos in mislim, da kar se tiče same fizične izvedbe nebi smelo biti problema.
Priponke
bik-ceil-cab-_nt_3-1.jpg
Način pritrditve
Hoden
 
Prispevkov: 8
Pridružen: 08 Maj 2015, 07:25
Zahvalil se je: 0 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: ivor
Število neizkoriščenih povabil: 0

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a igo » 19 Jan 2021, 18:28

Arduino, napajalnik, servomotor, ohišje, ... kup pripadajoče ropotije, ... potem pa ena tipka :_banghead ???

Daj dve tipki.
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
igo
 
Prispevkov: 1560
Pridružen: 11 Apr 2015, 12:38
Kraj: Krško
Zahvalil se je: 175 krat
Prejel zahvalo: 400 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 39

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a Hoden » 20 Jan 2021, 07:50

Ne gre se za eno ali dve tipki zaradi samega stoška. Gre se za čim bolj enostavno delovanje. In tudi če imam dve tipki je procedura precej podobna. Bom javil kako mi je uspelo, samo da se "izkopljem" iz gužve! :)
Hoden
 
Prispevkov: 8
Pridružen: 08 Maj 2015, 07:25
Zahvalil se je: 0 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: ivor
Število neizkoriščenih povabil: 0

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a MadMax » 20 Jan 2021, 11:59

Potem pa uporabi tipko 1-0-2, kot za žaluzije/rolete....
Vse drugo bo zahtevalo navodila za uporabo za pametne in telebane, ker z eno tipko brez nekih procedur v stilu Morzejeve abecede ne bo šlo, pa še izpad napajanja med ciklom dviganja/spuščanja imaš vmes.
Med dodatne senzorje spada tudi tok, s katerim posredno detektiraš zgornjo/spodnjo pozicijo + varovanje pred obešanjem sosedovega mulca, ker drugih (končnih) senzorjev nočeš.
Ampak ok, tvoja želja je najbolj poenostavljeno in čim ceneje zakomplicirat, pa naj stane kar hoče :)
Stvari so preproste, le ljudje smo neverjetni mojstri, da jih zakompliciramo.
MadMax
 
Prispevkov: 2576
Pridružen: 18 Jan 2015, 00:38
Kraj: Črnomelj
Zahvalil se je: 509 krat
Prejel zahvalo: 573 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 255

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a Cloud » 20 Jan 2021, 12:16

Gre se če sploh rabiš potem arduino in vse skupaj uporabiš tubularni motor npr eurodrive 12. In stikalo za rolete imaš gor in dol. Končne pozicije pa nastaviš na motorju.
Cloud
 
Prispevkov: 2431
Pridružen: 18 Mar 2015, 08:24
Kraj: Ljubljana
Zahvalil se je: 129 krat
Prejel zahvalo: 284 krat
Uporabnika povabil: BraneZ
Število neizkoriščenih povabil: 19

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a Hoden » 24 Jan 2021, 15:20

Pozdravljeni,

mogoče bo res najbolj pametno, da uporabim kar dve tipki. Ena gor, druga dol, brez končnih pozicij ... Vsaj za začetek. Danes sem že napisal en osnoven program. Če se bo tudi konstrukcijsko izkazalo za dobro rešitev pa imam plan posodobiti program tako, da se ga bo uporabljalo le z eno tipko. Enkrat pritisneš - sušilo se spusti dol, drugič pritisneš - sušilo gre spet gor (omejevanje s številom obratov). V kolikor bo prekinjeno napajanje pa bom pa bom imel še servisno tipko na samem ohišju, s katero bom popravi "začetni" položal servo motorja.

Se oglasim, ko dobim konstrukcijske dele za polžev prenos.
Hoden
 
Prispevkov: 8
Pridružen: 08 Maj 2015, 07:25
Zahvalil se je: 0 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: ivor
Število neizkoriščenih povabil: 0

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a jure94 » 24 Jan 2021, 17:28

Samo razmišljam. Če nimaš omejitve končne pozicije, kaj se zgodi, če pride perilo do vrha oz. tal in uporabnik še vedno drži tipko?
Uporabniški avatar
jure94
 
Prispevkov: 768
Pridružen: 18 Jan 2015, 00:33
Kraj: Jesenice/Ljubljana
Zahvalil se je: 37 krat
Prejel zahvalo: 75 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 9

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a Hoden » 24 Jan 2021, 20:33

Potem gre use u "maloro" :) No ampak ker bo to uporabljal samo eden in da gre za začasno rešitev, mislim da nebi smelo biti težav.
Hoden
 
Prispevkov: 8
Pridružen: 08 Maj 2015, 07:25
Zahvalil se je: 0 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: ivor
Število neizkoriščenih povabil: 0

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a VolkD » 24 Jan 2021, 20:54

Jaz ti toplo priporočam, da narediš krmiljenje servo motorja tako, da lahko meriš tok. Ob večji obremenitvi pa zadevo ustaviš.
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 48286
Pridružen: 29 Dec 2014, 19:49
Kraj: Kačiče (Divača)
Zahvalil se je: 11283 krat
Prejel zahvalo: 6385 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 95

Re: Arduino - spust in dvig bremena z eno tipko

OdgovorNapisal/-a Hoden » 26 Jan 2021, 10:49

DRV8825 ima sicer potenciometer za nastavitev maksimalnega toka. Ampak kolikor je meni znano se ob prekoračitvi tega toka motor ne ustavi ampak se napaja z maksimalno nastavljenim tokom še naprej.

Vidim, da je zelo popularna uporaba ACS712 za zaščito pred tokovno preobremenitvijo. Doma imam samo 20A verzijo, ki bo verjetno malce premalo natančna za ta projekt, ampak za test bo povsem ok.

Povezal ga bom pa po spodnji shemi, le da bo namesto A-metra ACS712.
Priponke
Wiring-Nema-17-Stepper-Motor-to-DRV8825-driver-Arduino.png
Povezava ACS712
Hoden
 
Prispevkov: 8
Pridružen: 08 Maj 2015, 07:25
Zahvalil se je: 0 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: ivor
Število neizkoriščenih povabil: 0


Vrni se na Arduino

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost