Arduino -ketju (kysymykset/keskustelu)

Liittynyt
14.05.2020
Viestejä
310
Tuo olisi vaatinut sen kokonaisvaltaisen takisenkytkennän sitten. Tai stopin virheeseen.. ko versio on musta oiva ja toimiva. Vaikka servo asiaa kommentoikin
Juu, ei tulisi mieleenkään yrittää lähteä parantamaan tuon kaverin työtä. Jos siirroissa on tarpeeksi voimaa ja tasalaatuista tavaraa jyrsitään, niin tuskin on mitään tarvetta. Itsellä vain jotain pinttyneitä mielikuvia miten asiat omasta mielestä kuuluu tehdä, vaikka siinä ei olisi järjen häivää.
 
Liittynyt
03.12.2019
Viestejä
557
Juu, ei tulisi mieleenkään yrittää lähteä parantamaan tuon kaverin työtä. Jos siirroissa on tarpeeksi voimaa ja tasalaatuista tavaraa jyrsitään, niin tuskin on mitään tarvetta. Itsellä vain jotain pinttyneitä mielikuvia miten asiat omasta mielestä kuuluu tehdä, vaikka siinä ei olisi järjen häivää.
Jeps miksi tehä vaikeeta jos helpolla pääsee? Enempi asetuksia vaan ois yms. Nyt ei haittaa jos eka menee sudeks, tokaan äkkiä optimoi. Ja rahaa jää uusiin leluihin ja kehiyksiin
 
Liittynyt
03.12.2019
Viestejä
557
Juu, ei tulisi mieleenkään yrittää lähteä parantamaan tuon kaverin työtä. Jos siirroissa on tarpeeksi voimaa ja tasalaatuista tavaraa jyrsitään, niin tuskin on mitään tarvetta. Itsellä vain jotain pinttyneitä mielikuvia miten asiat omasta mielestä kuuluu tehdä, vaikka siinä ei olisi järjen häivää.
Ja on mullakin noita kuvitelmia ko korjailen isoja cnc latheja ja routtereja sekä roboja.. mutta siitä oonkin alkanu oppii et mitä enempi perus kama sen paremmin toimii... Kaveri painaa töissä meille osia noihin cnc koneisiin ko rikki menee manuaali sorvilla, ja sen sorvia oo tarvinnu korjaa kertaakaan ainostaan mittasauvoja jotta ei terttee ihan kaikkea ite laskee, eli nopempaa.. vaikka pärjäis kyl ilman niitäkin
 
Liittynyt
17.01.2018
Viestejä
2 089
Enpä ole koskaan ohjelmalla törmännyt. Muutaman kerran kyllä käsin ajaessa väärään suuntaan ;)

Ja aina voi olla parannettavaa. Jos ei muuten niin vaihtaa 10 vuotiasta tekniikkaa uudempaan...

Oikeasti akseleilla pitäisi olla takaisinkytkentä juuri varmuuden vuoksi, yleensähän koneen pitäisi pysähtyä jos ei menekään sinne minne piti.
Sama juttu karalla, jos terä ei enää pyöri niin pitäisi vähintään keskeyttää ohjelman ajo.
Jos jostain löytyy järkevän hintaiset servot niin sitten tulee enkooderitkin, sitä ennen ei kannata.

Tällaisia on nyt tullut harrasteltua...

Tässäkin on vain askelmoottorit, vähän isommat vaan (4.5Nm, 5mm kuularuuvit) ja johteina kalanpyrstöt eikä sekään ole askeleita kadottanut.
Alunperin siis manuaali johon on lisätty sähköt. Varmaan tämäkin saa esiintyä arduino- ketjussa kun on osallistunut koteloiden yms tekoon.
Oikeasti pitäisi hommata tukevampi aihio, tolppa on liian joustava... ehkä sitten joskus
1707946290617.png


Tässä rakennuksen aikaisessa kuvassa näkyy hyvin enkooderit akseleilla + tietysti karalla. Moottorin päässä 2500pulssia/kierros, 4:1 alennusvaihde ja 5mm ruuvit. Laskennallisesti 5/(2500*4) eli 0.0005mm liikkeet, totuus ei varmasti ole noin tarkka. Liikemoottorit ja enkooderit on alkuperäiset -92 tekniikkaa Vilnasta.
Tässäkin on "melkein arduino" eli atmega88 avulla toteutettu työkalunvaihtajan ohjaus sarjaportin kautta.
1707946451218.png


Ja pari kuvaa kaiverretuista levyistä, molemmissa atmega88. Vähän suttuiset kyllä mutta tähän hätään ei ollut parempia.
Kummankin testiversio on alunperin tehty uno- kortilla.
1707947184665.png

1707947204986.png
 
Liittynyt
17.01.2018
Viestejä
2 089
Tiedän tuon eikun.. voi perkele tunteen :D
Ja atmelin megathan ne arduinon sallis... Ite alotin pienillä st sarjan prosuilla..
Eikun ei, pakko korjata.
Yhdestä puuttui retract ja ajoin seinän läpi, onneksi oli vaan 2mm alusuikale niin tuli vaan susikappale.
 
Liittynyt
11.10.2021
Viestejä
36
Levystä riippuen 0.1, 0.2 tai 0.3mm 30 asteen kaiverrusterät on toimineet. Loivempikin kulma toimii mutta on tarkempi syvyydestä.
Mistäs noita kaiverrusteriä saa hommattua? Ajattelin että aika kapea saa olla terä, mut tuo on jo pienempi siitä mitä arvelin.

Läpiviennit voinee porata jollain 0-8-1.2 poralla? Riippuu toki myös komponenteistä.

Itsellä on mahdollisuus käyttää pieniin omiin projekteihin vähän turhankin järeää konetta tähän käyttöön. Pöydän koko on 1,4m X 1,6m X 0,7m.
 
Liittynyt
17.01.2018
Viestejä
2 089
Mistäs noita kaiverrusteriä saa hommattua? Ajattelin että aika kapea saa olla terä, mut tuo on jo pienempi siitä mitä arvelin.

Läpiviennit voinee porata jollain 0-8-1.2 poralla? Riippuu toki myös komponenteistä.

Itsellä on mahdollisuus käyttää pieniin omiin projekteihin vähän turhankin järeää konetta tähän käyttöön. Pöydän koko on 1,4m X 1,6m X 0,7m.
Viimeksi ostin halvalla joko ebay tai aliexpress, 10 kpl paketeissa.
Edit: esimerkiksi joku tällainen: 0.47€ 89% OFF|5mm Router Bit|tungsten Carbide 3d Engraving Router Bits 10-25 Degree V-shape Set

Järeäkin kone on ihan hyvä kunhan terälle saa tarpeeksi kierroksia. Tuo oma 20krpm on ollut ihan ok, olen käyttänyt 1000mm/min 0.1mm syvyydellä.
Poraus menee normaalille lasikuitulevylle 0.8mm poralla saman 1000mm/min kerralla (syvyys 2.5mm). Poran koko tosiaan osasta riippuen, näissä omissa kun on käsin vaihdettavat terät niin ajan yleensä kaikki samalla 0.8 poralla ja ne muutamat jotka pitää suurentaa voi tehdä käsin sopivalla poralla.
Jos kierroksia laskee niin vastaavasti nopeudet alas tai menee terä rikki. Liian syvällä kaiverruksella menee myös mutta se ei varmaan ole yllätys :)
Alle 10krpm on mielestäni liian vähän kaiverrukseen mutta ainahan voi kokeilla.
 
Viimeksi muokattu:
Liittynyt
26.11.2021
Viestejä
14
Mitäs tästä on tulossa? Millasia venttiileitä ja mitä ne ohjaa?
Testausta ensi kesää varten.
Mahdollisesti tukkikouran & kääntäjän lisähydrauliikka traktoriin tai kaivuriin, mitään nosto- tai muuta riskialtista ei noilla passaa tehdä.
Venttiilit vaikkapa jotain tuon tapasia: https://www.virhydro.fi/vincke-hydrauliikkaventtiili-80l-min-1-2-3-kara-2-toiminen/p/VNK220003/
Venttiilin takapäästä karakupit auki, keskitysjouset mäkeen ja servot joko vivulla tai hammastangolla suoraan karan päähän.
Etuna se, että venttiilin voipi sijottaa varsin vapaasti eikä niin paljon pitkiä hydr. letkun vetoja. Muutama sähköjohto aika paljon helpompi ja halvempi;)
 
Liittynyt
23.03.2017
Viestejä
394
Testausta ensi kesää varten.
Mahdollisesti tukkikouran & kääntäjän lisähydrauliikka traktoriin tai kaivuriin, mitään nosto- tai muuta riskialtista ei noilla passaa tehdä.
Venttiilit vaikkapa jotain tuon tapasia: https://www.virhydro.fi/vincke-hydrauliikkaventtiili-80l-min-1-2-3-kara-2-toiminen/p/VNK220003/
Venttiilin takapäästä karakupit auki, keskitysjouset mäkeen ja servot joko vivulla tai hammastangolla suoraan karan päähän.
Etuna se, että venttiilin voipi sijottaa varsin vapaasti eikä niin paljon pitkiä hydr. letkun vetoja. Muutama sähköjohto aika paljon helpompi ja halvempi;)
Okei. Jos venttiilit on jo hommattu ja niitä haluaa välttämättä käyttää niin vaatii kyllä aika tehokkaan rc servon että saa toimimaan. (luulen) Toinen vaihtoehto jos ihan rakentelun ilosta tekee niin hommaa suoraan propoventtiilin keloilla ja niitä ohjaa arduinolla. Vissiin noilla uusimmilla arduinoilla saa jo jossain määrin rtos henkisen järjestelmän tehtyä :)
 
Liittynyt
26.11.2021
Viestejä
14
Tuossa hommassa kannattaa ehkä laittaa tarkjasti reguloitu oma jännite potikoiden syötölle (ei siis suoraan avr käyttöjännite) ja tuloihin sopivan kokoiset kondensaattorit että saa piikkejä ja heiluntaa pois
Kokeilin potikan syöttöön sekä lähdölle eri kokoisia kondensaattoreita yms. ,parani näilläkin eväillä.
Muutin kuitenkin ohjelmaa siten että arduinon ad- tulosta otin x määrä näytteitä, esim. 5 joiden keskiarvo mappasin servolle sopivaksi. Vissiin vähän niinkuin ohjelmoitava kondensaattori?
Samoin muutama ehtolause niin sain ohjainkapulan keskiasentoon vähän vapaaliikettä, kuitenkin siten että lähtee sen jälkeen lineaarisesti muuttamaan servon asemaa.
Toki kokeilin hystereesi yms. kirjastoja mutta eiväthän ne tähän sovi.
Käytin siis servo- kirjastoa ja servon kääntöön write() sijaan writeMicroseconds(). Tällä tuntui saavan paremman resoluution sekä max. kääntökulmat asetettua tarkemmin.
 
Liittynyt
17.01.2018
Viestejä
2 089
Kokeilin potikan syöttöön sekä lähdölle eri kokoisia kondensaattoreita yms. ,parani näilläkin eväillä.
Muutin kuitenkin ohjelmaa siten että arduinon ad- tulosta otin x määrä näytteitä, esim. 5 joiden keskiarvo mappasin servolle sopivaksi. Vissiin vähän niinkuin ohjelmoitava kondensaattori?
Samoin muutama ehtolause niin sain ohjainkapulan keskiasentoon vähän vapaaliikettä, kuitenkin siten että lähtee sen jälkeen lineaarisesti muuttamaan servon asemaa.
Toki kokeilin hystereesi yms. kirjastoja mutta eiväthän ne tähän sovi.
Käytin siis servo- kirjastoa ja servon kääntöön write() sijaan writeMicroseconds(). Tällä tuntui saavan paremman resoluution sekä max. kääntökulmat asetettua tarkemmin.
Tuokin on hyvä mutta jos ja kun syöttö on työkoneesta niin reaalimaailman kytkentä ja suodatus on yhtä tärkeitä kuin softalla tehty suudatus. Piikit mittauksista vähenee.
 
Liittynyt
26.11.2021
Viestejä
14
Okei. Jos venttiilit on jo hommattu ja niitä haluaa välttämättä käyttää niin vaatii kyllä aika tehokkaan rc servon että saa toimimaan. (luulen) Toinen vaihtoehto jos ihan rakentelun ilosta tekee niin hommaa suoraan propoventtiilin keloilla ja niitä ohjaa arduinolla. Vissiin noilla uusimmilla arduinoilla saa jo jossain määrin rtos henkisen järjestelmän tehtyä :)
Nyt menee aika rankasti off-topicin puolelle mutta...
Jokunen arduino, halpisventtiileitä, rc-servoja ja hammaspyöriä- ja tankoja on jäänyt nurkkiin pyörimään.
Tuo voiman tarve just kiinnostaa, esim. Savöx sc-1258tg: lle ilmoittavat 12kg/cm.
Jos servon akselille laitetaan esim. 8mm jakohalkaisijalla oleva hammaspyörä ja karan päähän hammastanko,
niin 180 asteella saadaan visiin vähän reilu 12mm liikematka. 11mm oli sen esimerkkiventtiilin mitattu karan liike.
Noh, tuosta hammaspyörästähän tulee tavallaan 4mm vipuvarsi servolle. 10mm/4mm=2.5 eli hammastankoon vaikuttava voima olisi 2.5x12=30kg?
Eikös se kutakuinkin noin mene, toki pitää vähentää kitka- yms. häviöt?
Oikeat propoventtiilit pyörivät sitten ihan toisessa hintaluokassa ja vaativat karalta asematiedon ohjauksella takaisinkytkentää varten..
Tämä hydrauliikka / mekaniikkapuolen jutustelu ei oikein kuulu tähän ketjuun, josko jätettäsiin se miun harmiksi:)?
 
Liittynyt
26.11.2021
Viestejä
14
Tuokin on hyvä mutta jos ja kun syöttö on työkoneesta niin reaalimaailman kytkentä ja suodatus on yhtä tärkeitä kuin softalla tehty suudatus. Piikit mittauksista vähenee.
Kiitos. Jos pääsen joskus kokeilemaan reaalimaailmassa työkoneessa, niin pitää pitää mielessä.
Siihen on vielä piiiitkä matka edessä, ainakin tämänhetkisellä rajallisella vapaa-ajalla.
 
Liittynyt
23.03.2017
Viestejä
394
Nyt menee aika rankasti off-topicin puolelle mutta...
Jokunen arduino, halpisventtiileitä, rc-servoja ja hammaspyöriä- ja tankoja on jäänyt nurkkiin pyörimään.
Tuo voiman tarve just kiinnostaa, esim. Savöx sc-1258tg: lle ilmoittavat 12kg/cm.
Jos servon akselille laitetaan esim. 8mm jakohalkaisijalla oleva hammaspyörä ja karan päähän hammastanko,
niin 180 asteella saadaan visiin vähän reilu 12mm liikematka. 11mm oli sen esimerkkiventtiilin mitattu karan liike.
Noh, tuosta hammaspyörästähän tulee tavallaan 4mm vipuvarsi servolle. 10mm/4mm=2.5 eli hammastankoon vaikuttava voima olisi 2.5x12=30kg?
Eikös se kutakuinkin noin mene, toki pitää vähentää kitka- yms. häviöt?
Oikeat propoventtiilit pyörivät sitten ihan toisessa hintaluokassa ja vaativat karalta asematiedon ohjauksella takaisinkytkentää varten..
Tämä hydrauliikka / mekaniikkapuolen jutustelu ei oikein kuulu tähän ketjuun, josko jätettäsiin se miun harmiksi:)?
Mun mielestä ollaan hyvinkin topikissa kun arduino projektista kuitenkin puhutaan :) Työkoneissa propoja ajetaan virralla, eli ainoa takaisinkytkentä on kelalle syötetty virta. Parametreina on minimi virta jolla venttiili liikahtaa ja max virta jolla venttiili on täysin auki. Mutta jos osia on ennestään niin tottakai hyötykäyttöön ja jätän asian sun harmiksi :)
 
Liittynyt
11.10.2021
Viestejä
36
Viimeksi ostin halvalla joko ebay tai aliexpress, 10 kpl paketeissa.
Edit: esimerkiksi joku tällainen: 0.47€ 89% OFF|5mm Router Bit|tungsten Carbide 3d Engraving Router Bits 10-25 Degree V-shape Set

Järeäkin kone on ihan hyvä kunhan terälle saa tarpeeksi kierroksia. Tuo oma 20krpm on ollut ihan ok, olen käyttänyt 1000mm/min 0.1mm syvyydellä.
Poraus menee normaalille lasikuitulevylle 0.8mm poralla saman 1000mm/min kerralla (syvyys 2.5mm). Poran koko tosiaan osasta riippuen, näissä omissa kun on käsin vaihdettavat terät niin ajan yleensä kaikki samalla 0.8 poralla ja ne muutamat jotka pitää suurentaa voi tehdä käsin sopivalla poralla.
Jos kierroksia laskee niin vastaavasti nopeudet alas tai menee terä rikki. Liian syvällä kaiverruksella menee myös mutta se ei varmaan ole yllätys :)
Alle 10krpm on mielestäni liian vähän kaiverrukseen mutta ainahan voi kokeilla.
Kiitos vinkistä, tarttee pistää tilaukseen.

Itsellä työstettävä materiaali on pääasiassa vaneria tai mäntyä ja kierrokset huitelee 10 000 - 15 000 rpm. Eiköhän tohon löydy ihan sopivat arvot, kunhan löytyy sopiva holkki.
 
Liittynyt
26.11.2021
Viestejä
14
Mun mielestä ollaan hyvinkin topikissa kun arduino projektista kuitenkin puhutaan :) Työkoneissa propoja ajetaan virralla, eli ainoa takaisinkytkentä on kelalle syötetty virta. Parametreina on minimi virta jolla venttiili liikahtaa ja max virta jolla venttiili on täysin auki. Mutta jos osia on ennestään niin tottakai hyötykäyttöön ja jätän asian sun harmiksi :)
No mennään sitten näillä:)
Vanhojen Monsun Tisonin lohkojen ja kahvojen kanssa jouduin askartelemaan joskus 80-90 lukujen taitteessa. Ei ole ikävä:)
Sen sijaan tein kolmisenkymmentä vuotta sitten ohjauksen eräälle työstökoneelle, sinne tuli mm. Boschin sähköpropoja takaisinkytkennällä.
Ohjelman väsäsin silloin Qbasicilla.
Monia testiprojekteja olen elämäni aikana tehnyt, ehkä 5/10 on sitten menny tuotantoon asti.

Arduino, kapula ja servo toimivat ihan ok.
Seuraavana talliin kasaamaan koneikkoa ja modaamaan venttiililohkon pääty servolle sopivaksi.
Mutta...kun talviloma alkoi niin saatan ihan pikkasen pitää muutaman päivän vapaata:sbeer:
 
Liittynyt
18.10.2016
Viestejä
528
Ihan höpö höpöä että piirilevy jyrsimen tarttis servoja moni alumiinin pystyvä cnc konekin on steppereillä. Itselläkin tollanen jamax liikkeet 3600mm/min ei pärjää 3d tulostimelle nopeudessa mutta kun tollanen. 50kg pöytä veivaa tuolla nopeudella niin jos enempi ois vauhtia niin kone hyppäisi syliin. Steppejä ei huku jos kone toimii kuin on tarkoitettu ja kaikki lineaarit ja kuularuuvit on herkkiä liikkumaan.
 
Liittynyt
18.10.2016
Viestejä
528
Yleisesti ottaen tuo i2c väylä kulkee huonosti yli metrin kaapelissa , väylä tarkoitettu laitteiston sisäiseen kommunikointiin. I2C Bus Range and Electrical Specifications, Freescale 9S12 HCS12 MC9S12 I2C Hardware.
10 metrin kaapeli niin nopeus pitäs pakottaa 10 Kbaud ja metrin kaapelissa 100KBaudiin. itse teen silleen jos tarttee usean metrin kaapeli vetoa hoidan liikenteen serialilla ja lisään kaapelin päähän esim arduino pro mini tms.
 
Liittynyt
17.01.2018
Viestejä
2 089
Tässä vielä yksi kun kaivattiin noita projekteja: läppärin näppis touchpadilla.

A-star 32U4 mini SV, vanha läppärin näppis ja jonkun toisen läppärin touchpad. Arduino yhteensopiva kortti mutta ohjelmistona tmk keyboard koska se on parempi tähän tarkoitukseen. Tässä touchpadissa oli vain kahden nappulan tuki joten keskimmäinen piti lisätä itse tmk koodin kautta.

Runko on jyrsitty 8mm pvc- levystä
1709411782557.png


Siivottavaakin tuli ihan riittävästi...
1709412182258.png


Hiiren napeille apulevy. Kytkimet on purettu jostain, en muista enää mistä.
Muovilevy toisessa reunassa toimii "saranana" eli nappulalevy painuu alas vain toisesta reunasta. Koko homma 2- puolisella teipillä pahvilevyssä.
1709411837258.png


Napit on samaa muovia
1709412386221.png


Tekniikka paikallaan. Näppisliitin oli aavistuksen haastava johdottaa, kuumaliima tukee.
Pahvilevyn alla siis hiiren napit, punaisella tulosterinkulalla pysyy touchpad paikallaan ja jämäpala pitää johdot. Ledit pysyy suoraan rei-issä ja ohjainkortti vaan on.
usb- johdosta piti veistää ulommainen muovikuori pois että mahtuu.
1709411992681.png


Alapinnassa "kuorena" on 0.2mm alumiinilevy 2- puolisella teipillä. Rungon paksuus 8.2mm ja näppäimien kanssa 10.3mm. Muuten mitat 41x13cm.
1709412099212.png


Tämä on ollut käytössä kaivertimessa 2020 alkuvuodesta lähtien.
 

Liitteet

Viimeksi muokattu:
Liittynyt
26.11.2021
Viestejä
14
Tein testit RC-Servolla, hydrauliikkalohkolla, testikoneikolla ja sylinterillä. Servovarrelta vein voiman vivuilla suoraan karan päähän.
Toimi ihan ok mutta toki servon n. 180 asteen liikevarasta jäi suurin osa puuttumaan.
Mistäköhän Suomesta löytysi mieluummin metallisia pieniä hammastankoja sekä pyöriä?
Hammastanko siis karan päähän ja hammaspyörä servolle..
 
Liittynyt
17.01.2018
Viestejä
2 089
Tein testit RC-Servolla, hydrauliikkalohkolla, testikoneikolla ja sylinterillä. Servovarrelta vein voiman vivuilla suoraan karan päähän.
Toimi ihan ok mutta toki servon n. 180 asteen liikevarasta jäi suurin osa puuttumaan.
Mistäköhän Suomesta löytysi mieluummin metallisia pieniä hammastankoja sekä pyöriä?
Hammastanko siis karan päähän ja hammaspyörä servolle..
Jos se karan liikematka on esimerkiksi tuo yllä mainittu 11mm niin tee servolle 6mm varsi. Tai 5.5mm niin tulee tasan 180 astetta.
 
Liittynyt
26.11.2021
Viestejä
14
Arvelin että hammastanko- pyöräyhdistelmällä saisi lineaarisemman liikkeen & kompaktimman rakenteen.
Tuo 11mm liike oli pienemmästä 3/8" testilohkosta, varsinainen 6- karainen 1/2" (3/4") ei ole vielä saapunut.
Veikkaan että karan liike on 13-16mm luokkaa.
 
Liittynyt
03.12.2019
Viestejä
557
Arvelin että hammastanko- pyöräyhdistelmällä saisi lineaarisemman liikkeen & kompaktimman rakenteen.
Tuo 11mm liike oli pienemmästä 3/8" testilohkosta, varsinainen 6- karainen 1/2" (3/4") ei ole vielä saapunut.
Veikkaan että karan liike on 13-16mm luokkaa.
Ulkotiloissaolevaa haluat ajaa näillä? Eikö sit ois helpompaa vaikka laittaa kaksi ventiiliä samaan ohjaukseen jossa toisen ventiilin ohjaus ois supistettu? Pikaliike toisen kautta ja hieno hitaalla?
 
Liittynyt
26.11.2021
Viestejä
14
Tämä on siis lähinnä testausta kuinka Arduino, Rc- servo, peruspeliohjain tms. halpisventtiilohko toimisi. Joku 6- karainen oikea propo kahvoineen maksaa helposti 5-10k€. Halpislohkon, servot, arduinon ja ohjaimet saa reilusti alle tonnilla ja arduino on helposti ohjelmoitavissa mielen mukaan.
Pihamaan hangessa odottaa lumien sulamista mm. pikkunen 12.5T telakaivuri, kourankääntäjä, tukkikoura ja motopää. Ehkä näihin saattasin hyödyntää. Tai sitten ihan johokin muuhun :)
 
Liittynyt
17.01.2018
Viestejä
2 089
Arvelin että hammastanko- pyöräyhdistelmällä saisi lineaarisemman liikkeen & kompaktimman rakenteen.
Tuo 11mm liike oli pienemmästä 3/8" testilohkosta, varsinainen 6- karainen 1/2" (3/4") ei ole vielä saapunut.
Veikkaan että karan liike on 13-16mm luokkaa.
Lineaarisemman saa tietysti, tosin riippuu siitä kuinka tarkka paikoituksen pitää olla. Jos riittää esim millin välein niin siihenhän on helppo tehdä taulukko jossa on oikeat servon asennot.
Eikä sillä matkalla sinänsä ole väliä, vivun pituus vaan vaihtuu.

Hammastangossakin on se ongelma että pitää löytää sopivan kokoinen ratas servon päähän jolla saa halutun liikkeen, jokaiselle eri kokoiselle liikkeelle siis eri tanko & ratas olettaen että haluat aina 180 astetta päästä päähän mikä olisi tietysti hyvä. Riippuu rattaan koosta, mallista ja käytettävistä työkaluista sen asentaminen servon päähän voi olla haastavampi kuin vivut.
Ja kumpikin pitää tietysti suojata ulkona ja sisällä.

Joitakin vuosia sitten tilasin osia movetec.fi, soittamalla ja keskustelemalla löytyi oikeat osat ihan järkevään hintaankin yksityiselle.
Tosin pienin tanko taitaa olla poikkileikkaukseltaan 15x15mm ja pienin ratas 12x15. Ei sekään enää kovin kompakti kokonsa puolesta ole... tarkkuustankoja saattaa saada pienempänä mutta veikkaan että hinta hieman pompsahtaa ylöspäin. Kysymällä selviää.

Ja onhan noita muitakin, Etra, Masino, Kentso, jne. Googlella löytyy.
Vaikka eivät suoraan mainosta niin saattaa silti saada pienempiäkin jos vain toimittajilta löytyy.
 
Liittynyt
03.12.2019
Viestejä
557
Tämä on siis lähinnä testausta kuinka Arduino, Rc- servo, peruspeliohjain tms. halpisventtiilohko toimisi. Joku 6- karainen oikea propo kahvoineen maksaa helposti 5-10k€. Halpislohkon, servot, arduinon ja ohjaimet saa reilusti alle tonnilla ja arduino on helposti ohjelmoitavissa mielen mukaan.
Pihamaan hangessa odottaa lumien sulamista mm. pikkunen 12.5T telakaivuri, kourankääntäjä, tukkikoura ja motopää. Ehkä näihin saattasin hyödyntää. Tai sitten ihan johokin muuhun :)
Mutta eikö tähän just se supistettu suutin auttais? Jollei ole tarkoitus ihan mitta tarkkaa asetusta? Ja toinen ajais pikaliikettä? Sillon voisivat enempi olla myös ulkoilmassa ilman et tarvee pelätä rikkoja kuten arduinossa ja servoissa
 
Liittynyt
03.12.2019
Viestejä
557
Tiedän kyl tunteen ko haluis rakentaa kaiken ite.. mutta aina se ei oosen väärtti
 
Liittynyt
18.10.2016
Viestejä
528
Minä itse en laittaisi peliohjainta tai arduinoa mihinkään missä voima riittää tappamaan ihmisen. Pien härö potikassa ja joku kuolee sen seurauksena niin kellään ei oo kivaa? Minimissä servo asennettu niin että virtojen katkettua jouset ajaa servon keskelle ettei jää liike päällä
 
Liittynyt
17.10.2016
Viestejä
5 407
Minä itse en laittaisi peliohjainta tai arduinoa mihinkään missä voima riittää tappamaan ihmisen. Pien härö potikassa ja joku kuolee sen seurauksena niin kellään ei oo kivaa? Minimissä servo asennettu niin että virtojen katkettua jouset ajaa servon keskelle ettei jää liike päällä
Minä voisin laittaa mutta silloin pitää vaan suunnitella koko kokonaisuus mahdollisimman failsafeksi eli pienenkin häiriön sattuessa laite pysähtyy ja mahdollisesti palaa johonkin turvalliseen asentoon ja joku hätäseis-mahdollisuus on olemassa jne. Eli esimerkiksi jos joku ohjaus yhtäkkiä muuttuu laidasta laitaan muutamassa millisekunnissa tms niin menee vikatila päälle. Tosin, noiden turvatoimintojen tekeminen monesti onkin paljon monimutkaisempaa kuin itse varsinaisen toiminnallisuuden tekeminen.

Aikanaan on tullut jonkun verran lastauslaitureiden nostopöytien sekä tavarahissien elektroniikkaa kasattua ja testattua ja siinä kyllä oppi kuinka paljon oikeassa kaupallisessa tuotteessa on pelkästään noita turvatoimintoja että laite hajotessaan hajoaa mahdollisimman turvallisesti. Tyyliin joka ikinen rajakytkin on tavalla tai toisella kahdennettu tai valvottu että sen vikaantuminen havaitaan ja pysäytetään laite turvalliseen tilaan.
 
Liittynyt
26.11.2021
Viestejä
14
Tämä on tulossa vain omaan kotikäyttöön, koneita ei lainata eikä vaara-alueella saa tietenkään olla muita henkilöitä.

Jos ajatellaan vaikkapa kaivurin puomistoa tai traktorin kuormaajaa niin melkeinpä todennäköisempää on letkurikko kuin arduino / servovika.

Hätä-seis toiminto on helppo toteuttaa on-off venttiilillä P->T ennen varsinaista venttiililohkoa.
Toki kara voi jäädä mahdollisessa vikatilanteessa mihin asentoon vain, mutta koska painetta ei ole niin korkeintaan puomi / kuormaaja tulisi silloin alas.

Servon sähköinen Failsafe sekä kaasun jousipalautus ovat kyllä tuttuja nitro ja bensa rc- ajoista, mutta nekään eivät todellakaan ole 100% toimintavarmoja.

Keskitytään nyt olennaiseen, eli ohjain-> arduino-> servo-> kara ohjaukseen.
 
Liittynyt
25.01.2018
Viestejä
93
Tässä vielä yksi kun kaivattiin noita projekteja: läppärin näppis touchpadilla.

A-star 32U4 mini SV, vanha läppärin näppis ja jonkun toisen läppärin touchpad. Arduino yhteensopiva kortti mutta ohjelmistona tmk keyboard koska se on parempi tähän tarkoitukseen. Tässä touchpadissa oli vain kahden nappulan tuki joten keskimmäinen piti lisätä itse tmk koodin kautta.

Runko on jyrsitty 8mm pvc- levystä


Siivottavaakin tuli ihan riittävästi...


Hiiren napeille apulevy. Kytkimet on purettu jostain, en muista enää mistä.
Muovilevy toisessa reunassa toimii "saranana" eli nappulalevy painuu alas vain toisesta reunasta. Koko homma 2- puolisella teipillä pahvilevyssä.


Napit on samaa muovia


Tekniikka paikallaan. Näppisliitin oli aavistuksen haastava johdottaa, kuumaliima tukee.
Pahvilevyn alla siis hiiren napit, punaisella tulosterinkulalla pysyy touchpad paikallaan ja jämäpala pitää johdot. Ledit pysyy suoraan rei-issä ja ohjainkortti vaan on.
usb- johdosta piti veistää ulommainen muovikuori pois että mahtuu.


Alapinnassa "kuorena" on 0.2mm alumiinilevy 2- puolisella teipillä. Rungon paksuus 8.2mm ja näppäimien kanssa 10.3mm. Muuten mitat 41x13cm.


Tämä on ollut käytössä kaivertimessa 2020 alkuvuodesta lähtien.
Inhottaa ko jyrsii, nii ei saa lastuja roskiin. Ne niin sähköisyys staattisia.
 

pAy

Liittynyt
15.08.2020
Viestejä
78
Osaisiko joku kääntää tuon muotoon joka toimii Arduinossa (esp8266), eli tuo Node.js esimerkki hakee pörssisähkön tuntihinnan.

Koodi:
import fetch from 'node-fetch';

const PRICE_ENDPOINT = 'https://api.porssisahko.net/v1/price.json';

// Tämä esimerkki olettaa että tietokoneen aikavyöhyke on Suomen aikavyöhyke.
const dateAndTimeNow = new Date();
const year = dateAndTimeNow.getFullYear();
const month = dateAndTimeNow.getMonth() + 1;
const day = dateAndTimeNow.getDate();
const hour = dateAndTimeNow.getHours();

const twoDigits = (number) => (number < 10 ? `0${number}` : `${number}`);

const params = `date=${year}-${twoDigits(month)}-${twoDigits(day)}&hour=${twoDigits(hour)}`;
const response = await fetch(`${PRICE_ENDPOINT}?${params}`);
const { price } = await response.json();

console.log(`Hinta nyt on ${price}`);
 
Liittynyt
03.12.2019
Viestejä
557
Osaisiko joku kääntää tuon muotoon joka toimii Arduinossa (esp8266), eli tuo Node.js esimerkki hakee pörssisähkön tuntihinnan.

Koodi:
import fetch from 'node-fetch';

const PRICE_ENDPOINT = 'https://api.porssisahko.net/v1/price.json';

// Tämä esimerkki olettaa että tietokoneen aikavyöhyke on Suomen aikavyöhyke.
const dateAndTimeNow = new Date();
const year = dateAndTimeNow.getFullYear();
const month = dateAndTimeNow.getMonth() + 1;
const day = dateAndTimeNow.getDate();
const hour = dateAndTimeNow.getHours();

const twoDigits = (number) => (number < 10 ? `0${number}` : `${number}`);

const params = `date=${year}-${twoDigits(month)}-${twoDigits(day)}&hour=${twoDigits(hour)}`;
const response = await fetch(`${PRICE_ENDPOINT}?${params}`);
const { price } = await response.json();

console.log(`Hinta nyt on ${price}`);
Ei tota koodia tollssenaan voi kääntää.. ja tarveet json parserin jne arduinoon.
Mutta tällänen tuli vastaan. En tutkinut enempiä
 
Liittynyt
03.12.2019
Viestejä
557
Osaisiko joku kääntää tuon muotoon joka toimii Arduinossa (esp8266), eli tuo Node.js esimerkki hakee pörssisähkön tuntihinnan.

Koodi:
import fetch from 'node-fetch';

const PRICE_ENDPOINT = 'https://api.porssisahko.net/v1/price.json';

// Tämä esimerkki olettaa että tietokoneen aikavyöhyke on Suomen aikavyöhyke.
const dateAndTimeNow = new Date();
const year = dateAndTimeNow.getFullYear();
const month = dateAndTimeNow.getMonth() + 1;
const day = dateAndTimeNow.getDate();
const hour = dateAndTimeNow.getHours();

const twoDigits = (number) => (number < 10 ? `0${number}` : `${number}`);

const params = `date=${year}-${twoDigits(month)}-${twoDigits(day)}&hour=${twoDigits(hour)}`;
const response = await fetch(`${PRICE_ENDPOINT}?${params}`);
const { price } = await response.json();

console.log(`Hinta nyt on ${price}`);
Ei tota koodia tollssenaan voi kääntää.. ja tarveet json parserin jne arduinoon.
Mutta tällänen tuli vastaan. En tutkinut enempiä
 

pAy

Liittynyt
15.08.2020
Viestejä
78
Löysin koodin jolla saan esp8266:lla haettua pörssisähkön hinnan. Yritän sitä lisäillä omaan koodiini, jossa pitää muuhun tarkoitukseen hakea tunti, päivä ja kuukausi muuttujat, mutta tuo pörssisähkö koodi sekoittaa, miten saisin looppiin vielä tuon kuukausi muuttujan? Oma osaaminen kun ei kummoista ole, Kiitos jos joku viitsii auttaa!

C++:
#include <Wire.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <NTPClient.h>
#include <WiFiUdp.h>
#include <ArduinoJson.h>



//Wi-Fi asetukset
const char* ssid = "xxxx";
const char* password = "xxxx";


//SHA1 sormenjälki api.porssisahko.net SSL-sertifikaattiin

const char fingerprint[] PROGMEM = "14 C5 E3 6F 3D A7 98 1E A4 98 0C 73 8F 98 A5 8F 3A B2 B2 DC";

// NTP-palvelimen tiedot
const char* ntpServer = "pool.ntp.org";
const long gmtOffset = 2 * 3600;  // Aikavyöhyke: GMT+3 (3 tuntia)

WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, ntpServer, gmtOffset);
double price;

// Muuntaa ajan (epoch time) päivämäärän muotoon "YYYY-MM-DD"
String epochToDateString(unsigned long epochTime) {
  time_t t = (time_t)epochTime;
  struct tm* ptm = localtime(&t);
  int year = ptm->tm_year + 1900;
  int month = ptm->tm_mon + 1;
  int day = ptm->tm_mday;

  String dateString = String(year) + "-" + leadingZero(month) + "-" + leadingZero(day);
  return dateString;
}

// Lisää nollan yksinumeroisiin eteen kuukausiin ja päiviin
String leadingZero(int number) {
  if (number < 10) {
    return "0" + String(number);
  } else {
    return String(number);
  }
}

void setup() {

  //Sarjaportin alustus
  Serial.begin(115200);


  // Yhdistetään Wi-Fi-verkkoon
  Serial.print("Yhdistetään Wi-Fi verkkoon ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  // Alustetaan NTPClient
  timeClient.begin();
}

// Tällä saadaan toimimaan käynnistyksessä sähkön hinnan tarkistus ja sen jälkeen tasatunnein
bool initialRequestMade = false;

void loop() {
  if (WiFi.status() == WL_CONNECTED) {
    // Päivitetään aika
    timeClient.update();

    // Haetaan aika (epoch time)
    unsigned long epochTime = timeClient.getEpochTime();

    byte tunti = timeClient.getHours();
    byte minuutti = timeClient.getMinutes();


      Serial.print("tunti");
      Serial.println(tunti);
      Serial.print("minuutti");
      Serial.println(minuutti);
      Serial.print("kuukausi");
      Serial.println(?????????);  // Miten saa muuttujan kuukausi?
   
    // Tarkista, onko tasatunti tai onko käynnistyksessä haettu jo tiedot
    int currentMinute = timeClient.getMinutes();
    if (!initialRequestMade || currentMinute == 0) {
      // Muunnetaan aika päivämääräksi
      String formattedDate = epochToDateString(epochTime);

      // Haetaan nykyinen tunti
      int currentHour = timeClient.getHours();

      //Asetukset pyyntöä varten
      WiFiClientSecure client;
      client.setFingerprint(fingerprint);
      HTTPClient http;

      // Pörssisähkön API osoite + YYYY-MM-DD muodossa päivämäärä + kuluva tunti
     
   
      String url = "https://api.porssisahko.net/v1/price.json?date=" + String(formattedDate) + "&hour=" + String(currentHour);
      Serial.println(url);

      // Lähetetään HTTP GET -pyyntö
      http.useHTTP10(true);
      http.begin(client, url);
      http.GET();

      // Parsi vastaus
      DynamicJsonDocument doc(32);
      deserializeJson(doc, http.getStream());

      // Lue arvot
      price = doc["price"].as<double>();
      Serial.println(doc["price"].as<double>());

      // Näytä hinta OLED-näytöllä

      Serial.print("Hinta nyt:");
      Serial.print(price, 2);
      Serial.println("snt/kWh");

         
     Serial.println(String(formattedDate) + " tunti: " + String(currentHour));
     

      // Katkaise yhteys
      http.end();

      // Muutetaan totuusarvomuuttuja falsesta trueksi
      initialRequestMade = true;
    }
  }
  // Odota 1 minuutti ennen seuraavaa tarkistusta
  delay(60000);



}
 
Viimeksi muokattu:
Liittynyt
17.01.2018
Viestejä
2 089
Löysin koodin jolla saan esp8266:lla haettua pörssisähkön hinnan. Yritän sitä lisäillä omaan koodiini, jossa pitää muuhun tarkoitukseen hakea tunti, päivä ja kuukausi muuttujat, mutta tuo pörssisähkö koodi sekoittaa, miten saisin looppiin vielä tuon kuukausi muuttujan? Oma osaaminen kun ei kummoista ole, Kiitos jos joku viitsii auttaa!

C++:
#include <Wire.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <NTPClient.h>
#include <WiFiUdp.h>
#include <ArduinoJson.h>



//Wi-Fi asetukset
const char* ssid = "xxxx";
const char* password = "xxxx";


//SHA1 sormenjälki api.porssisahko.net SSL-sertifikaattiin

const char fingerprint[] PROGMEM = "14 C5 E3 6F 3D A7 98 1E A4 98 0C 73 8F 98 A5 8F 3A B2 B2 DC";

// NTP-palvelimen tiedot
const char* ntpServer = "pool.ntp.org";
const long gmtOffset = 2 * 3600;  // Aikavyöhyke: GMT+3 (3 tuntia)

WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, ntpServer, gmtOffset);
double price;

// Muuntaa ajan (epoch time) päivämäärän muotoon "YYYY-MM-DD"
String epochToDateString(unsigned long epochTime) {
  time_t t = (time_t)epochTime;
  struct tm* ptm = localtime(&t);
  int year = ptm->tm_year + 1900;
  int month = ptm->tm_mon + 1;
  int day = ptm->tm_mday;

  String dateString = String(year) + "-" + leadingZero(month) + "-" + leadingZero(day);
  return dateString;
}

// Lisää nollan yksinumeroisiin eteen kuukausiin ja päiviin
String leadingZero(int number) {
  if (number < 10) {
    return "0" + String(number);
  } else {
    return String(number);
  }
}

void setup() {

  //Sarjaportin alustus
  Serial.begin(115200);


  // Yhdistetään Wi-Fi-verkkoon
  Serial.print("Yhdistetään Wi-Fi verkkoon ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  // Alustetaan NTPClient
  timeClient.begin();
}

// Tällä saadaan toimimaan käynnistyksessä sähkön hinnan tarkistus ja sen jälkeen tasatunnein
bool initialRequestMade = false;

void loop() {
  if (WiFi.status() == WL_CONNECTED) {
    // Päivitetään aika
    timeClient.update();

    // Haetaan aika (epoch time)
    unsigned long epochTime = timeClient.getEpochTime();

    byte tunti = timeClient.getHours();
    byte minuutti = timeClient.getMinutes();


      Serial.print("tunti");
      Serial.println(tunti);
      Serial.print("minuutti");
      Serial.println(minuutti);
      Serial.print("kuukausi");
      Serial.println(?????????);  // Miten saa muuttujan kuukausi?
  
    // Tarkista, onko tasatunti tai onko käynnistyksessä haettu jo tiedot
    int currentMinute = timeClient.getMinutes();
    if (!initialRequestMade || currentMinute == 0) {
      // Muunnetaan aika päivämääräksi
      String formattedDate = epochToDateString(epochTime);

      // Haetaan nykyinen tunti
      int currentHour = timeClient.getHours();

      //Asetukset pyyntöä varten
      WiFiClientSecure client;
      client.setFingerprint(fingerprint);
      HTTPClient http;

      // Pörssisähkön API osoite + YYYY-MM-DD muodossa päivämäärä + kuluva tunti
    
  
      String url = "https://api.porssisahko.net/v1/price.json?date=" + String(formattedDate) + "&hour=" + String(currentHour);
      Serial.println(url);

      // Lähetetään HTTP GET -pyyntö
      http.useHTTP10(true);
      http.begin(client, url);
      http.GET();

      // Parsi vastaus
      DynamicJsonDocument doc(32);
      deserializeJson(doc, http.getStream());

      // Lue arvot
      price = doc["price"].as<double>();
      Serial.println(doc["price"].as<double>());

      // Näytä hinta OLED-näytöllä

      Serial.print("Hinta nyt:");
      Serial.print(price, 2);
      Serial.println("snt/kWh");

        
     Serial.println(String(formattedDate) + " tunti: " + String(currentHour));
    

      // Katkaise yhteys
      http.end();

      // Muutetaan totuusarvomuuttuja falsesta trueksi
      initialRequestMade = true;
    }
  }
  // Odota 1 minuutti ennen seuraavaa tarkistusta
  delay(60000);

}
Koska tuo ntpclient ei suoraan tarjoa päivämääriä niin katsomalla tuota sun koodia hiukan tarkemmin löytyy jos vastaus.

C++:
// -->> tämä koodi on kopsattu suoraan tuosta ylempää
// Muuntaa ajan (epoch time) päivämäärän muotoon "YYYY-MM-DD"
String epochToDateString(unsigned long epochTime) {
  time_t t = (time_t)epochTime;
  struct tm* ptm = localtime(&t);
  int year = ptm->tm_year + 1900;
  int month = ptm->tm_mon + 1;
  int day = ptm->tm_mday;
  String dateString = String(year) + "-" + leadingZero(month) + "-" + leadingZero(day);
  return dateString;
}
// <<-- tämä koodi on kopsattu suoraan tuosta ylempää


// Jos haluaa tehdä muunnoksen vain kerran niin sopivassa paikassa ennen sitä missä tarvitaan pitää kutsua
time_t t = (time_t)timeClient.getEpochTime();
struct tm* ptm = localtime( &t );

// Noiden jälkeen ptm struct sisältää kaikki päivämääräpalaset:
int year = ptm->tm_year + 1900;   // Vuosiluku 1900 lähtien
int month = ptm->tm_mon + 1;   // kuukausi 0 .. 11
int day = ptm->tm_mday;    // kuukauden päivä 1 .. 31
int hour = ptm->tm_hour;  // tunti 0 .. 23
int minute = ptm->tm_min;  // minuutti 0 .. 59
int second = ptm->tm_sec;  // sekunti 0 .. 59
 
Liittynyt
26.11.2021
Viestejä
14
Tämä on tulossa vain omaan kotikäyttöön, koneita ei lainata eikä vaara-alueella saa tietenkään olla muita henkilöitä.

Jos ajatellaan vaikkapa kaivurin puomistoa tai traktorin kuormaajaa niin melkeinpä todennäköisempää on letkurikko kuin arduino / servovika.

Hätä-seis toiminto on helppo toteuttaa on-off venttiilillä P->T ennen varsinaista venttiililohkoa.
Toki kara voi jäädä mahdollisessa vikatilanteessa mihin asentoon vain, mutta koska painetta ei ole niin korkeintaan puomi / kuormaaja tulisi silloin alas.

Servon sähköinen Failsafe sekä kaasun jousipalautus ovat kyllä tuttuja nitro ja bensa rc- ajoista, mutta nekään eivät todellakaan ole 100% toimintavarmoja.

Keskitytään nyt olennaiseen, eli ohjain-> arduino-> servo-> kara ohjaukseen.
Ohjain - arduino - servo yhdistelmä toimii ihan ok ja parametrejä on helppo säätää.
Mutta.. yllättäen "oikean" venttiilin kara vaatii n. 100 Nm voiman ennenkuin se lähtee liikkeelle ja liikematkakin on lähes 20mm. Esim. Savöx 1258TG on juuri ja juuri rajoilla mutta ei yhtään varmuuskerrointa eli ei riitä. Savöx on " Hi-Speed" servo, koska se on aikas nopea, se selittää vaatimattoman momentin. Pitää yrittää ettiä kohtuuhintainen, hitaampi servo. Ehdotuksia? Joku roboservo? 20kg/cm voisi olla riittävä. En viittisi lähteä HV- servoihin, monesti hinta ja koko hyppää..
 
Liittynyt
14.05.2020
Viestejä
310
Osaako joku ehdottaa koodia jossa yksikertaisuudessaan olisi analog read, ja sen perusteella kirjoitettaisiin PWM- tasoa ulos? Hardiksen tekeminen pitäisi onnistua, 10k säätövastus jännitejakoon ja siitä arduinolle signaali.

Yritän rakentaa auton laturille jännitteensäädintä, jossa olisi vähintään muutama eri PWM taso. Jos kerralla katkaisee laturin koko magnetointivirran, tämä värähtely näkyy auton sähköjärjestelmässä.

Esim:
4,00V (tai alle) PWM = 255
4,25V PWM = 191
4,50V PWM = 127
4,75V PWM = 64
5,00V (tai yli) PWM = 0
 
Liittynyt
16.12.2016
Viestejä
656
Osaako joku ehdottaa koodia jossa yksikertaisuudessaan olisi analog read, ja sen perusteella kirjoitettaisiin PWM- tasoa ulos? Hardiksen tekeminen pitäisi onnistua, 10k säätövastus jännitejakoon ja siitä arduinolle signaali.

Yritän rakentaa auton laturille jännitteensäädintä, jossa olisi vähintään muutama eri PWM taso. Jos kerralla katkaisee laturin koko magnetointivirran, tämä värähtely näkyy auton sähköjärjestelmässä.

Esim:
4,00V (tai alle) PWM = 255
4,25V PWM = 191
4,50V PWM = 127
4,75V PWM = 64
5,00V (tai yli) PWM = 0

on varmaan paljon parempiakin tapoja, mutta itse lähtisin liikkeelle about noin.

C:
#define sensorPin  A0    // Input pin for voltage reading
#define pwmOut  A2  // Pwm output pin

int sensorValue;
float voltage;

void setup() {
  pinMode(sensorPin, INPUT);
  pinMode(pwmOut, OUTPUT);
}


void loop() {
  sensorValue = analogRead(sensorPin);
  float voltage = sensorValue * (5.0 / 1023.0);


  if (voltage <= 819) { // 4v
    analogWrite(pwmOut, 255);
  }
  if (voltage == 870) { // 4.25v
    analogWrite(pwmOut, 191);
  }
  if (voltage == 922)  {  //4.50v
    analogWrite(pwmOut, 127);
  }
  if (voltage == 973)  { // 4.75v
    analogWrite(pwmOut, 64);
  }
  else if (voltage == 1023)  { // 5v
    analogWrite(pwmOut, 0);
  }

}
 
Liittynyt
14.05.2020
Viestejä
310
on varmaan paljon parempiakin tapoja, mutta itse lähtisin liikkeelle about noin.

C:
#define sensorPin  A0    // Input pin for voltage reading
#define pwmOut  A2  // Pwm output pin

int sensorValue;
float voltage;

void setup() {
  pinMode(sensorPin, INPUT);
  pinMode(pwmOut, OUTPUT);
}


void loop() {
  sensorValue = analogRead(sensorPin);
  float voltage = sensorValue * (5.0 / 1023.0);


  if (voltage <= 819) { // 4v
    analogWrite(pwmOut, 255);
  }
  if (voltage == 870) { // 4.25v
    analogWrite(pwmOut, 191);
  }
  if (voltage == 922)  {  //4.50v
    analogWrite(pwmOut, 127);
  }
  if (voltage == 973)  { // 4.75v
    analogWrite(pwmOut, 64);
  }
  else if (voltage == 1023)  { // 5v
    analogWrite(pwmOut, 0);
  }

}

Kiitokset sinulle! pääsen tässä lähipäivinä kokeilemaan arduinolla. Onko tässä koodissa tarkoituksella ulostuoloporttina käytetty analogista porttia? Itse olisin varmaan yrittänyt ulostuloon vaikka PWM3 ja korvannut analogWrite komennon digitalWrite?
 
Liittynyt
16.12.2016
Viestejä
656
Kiitokset sinulle! pääsen tässä lähipäivinä kokeilemaan arduinolla. Onko tässä koodissa tarkoituksella ulostuoloporttina käytetty analogista porttia? Itse olisin varmaan yrittänyt ulostuloon vaikka PWM3 ja korvannut analogWrite komennon digitalWrite?
Itseasiassa en edes tarkistanut tuota porttia. Oli vain esimerkkinä / place holderina. Eli siihen tilalle sen sun arduinosi pwm kykyinen porttinumero. Megassa, Due:ssa ja joissakin nanoissa tuo 2 toimii, joissakin vaatii esim 3 jne.

Käsittääkseni et voi käyttää digitalWrite komentoa. Se pistää pinnin joko high tai low tilaan eli käytännössä 0 tai 1 (255). Eli sillä et voi säätää duty cyclea, kuten esim analogWrite komennolla voit tehdä. Jos olen aivan väärässä niin fiksummat korjatkoon.

pwm (1).gif
 
Viimeksi muokattu:
Liittynyt
14.05.2020
Viestejä
310
Itseasiassa en edes tarkistanut tuota porttia. Eli siihen tilalle sen sun arduinosi pwm kykyinen porttinumero. Megassa, Due:ssa ja joissakin nanoissa tuo 2 toimii, joissakin vaatii esim 3 jne.

Käsittääkseni et voi käyttää digitalWrite komentoa. Se pistää pinnin joko high tai low tilaan eli käytännössä 0 tai 1 (255). Eli sillä et voi säätää duty cyclea, kuten esim analogWrite komennolla voit tehdä. Jos olen aivan väärässä niin fiksummat korjatkoon.

Tarkastelin tuossa aikasempia harjoituskoodejani ja tosiaan käsky on analogWrite, jolla olen fettiä ajanut ennekin. Eli se on varmasti oikein! Lautana on Uno ja siinä PWM portit on ilmeisesti 3, 5, 6, 9, 10 ja 11. Eli joku niistä! Palaan asiaan kun jotain on poltettu! Kiitokset vielä kerran!
 
Toggle Sidebar

Statistiikka

Viestiketjut
240 291
Viestejä
4 196 788
Jäsenet
70 886
Uusin jäsen
aulaabe

Hinta.fi

Ylös Bottom