Gå til innhold

Bremsebenk. måle omdreininger på aksel og sende resultat til datamaskin


Anbefalte innlegg

Vet ikkje om dette er helt rett mappe å legge tråden i, men prøver allikevel.

 

Saken er at eg går maskiningeniør og har eit prosjekt i forbindelse med et fag.

 

Problemet mitt er ikkje mekanikken, men eg trenger hjelp med elektronikk / programmering

 

Prosjekter består i å lage å dimensjonere en bremsebenk (dynomameter) for motorsykkel. Hensikten er å måle moment og effekt på bakhjulet. Det skal gjøres på følgende måte:

En massiv stålaksling med diameter mellom 300 - 500 mm og bredde på ca 300mm blir akselerert av bakhjulet på motorsykkelen. Det som skjer her er at Det krever en viss kraft (mykje kraft) for å akselerere denne akslingen.

Det som trengs å måles her er igrunn bare turtallet på akslingen (omdreininger eller radianer/s) Det kan gjøre så enkelt som med ein induktiv giver eller lignende. Men haka her er at måledataene må sendes til eit dataprogram som kan finne trommelens akselerasjon og regne dette om til moment og effekt for så å få opp effekt og momentkurver.

 

Da spør eg dere data og elektronikk kyndige korleis eg kan gjøre dette best mulig slik at eg får det tilkoblet pc via USB.

 

Når dette er funnet ut av kan eg også tenke meg å kunne få andre inputs fra for eksempel bredbåndslambda, trykk i innsugsmanifoil osv inn på dataen for å gi ytterligere informasjon.

 

 

Når det gjelder min bakgrunn har eg ein del erfaring fra programmering med PHP og Java, så kan tenke meg å bruke et programmeringsspråk som ligner på det. viss dette er mulig.

Lenke til kommentar
Videoannonse
Annonse

for å få til dette må du nok inn med mikrokontrollere og de fleste mikrokontrollere programmeres med C og det er ikke en så alt for stor overgang mellom php og c, i alle fall ikke utifra egen erfaring.

 

selve målinga av rpm kan vel måles ved at du enkelt og greit bruker samma prinsippet som på sykkelspeedometer hvor man har en magnet på hjulet og en magnetisk føler på gaffelen. om dette er nok så er det ikke det største programmet som trengs for å få sendt over usb. akurat hvordan dette gjøres veit ikke jeg etter som at jeg ikke har kommet så langt innen mikrokontrollere men det er mulig.

 

lykke til!

Lenke til kommentar

Dette er ganske enkelt å gjere med ein mikrokontrollar. Om du ikkje har erfaring med nokon frå før av vil eg anbefale Arduino. Eg har sjølv erfaring med denne og anbefalar han sterkt! Den består av ein ATMega168 mikrokontrollar saman med ein FTDI USB - TTL omformar slik at du får usb direkte. Kjøper du eit ferdig kort kjem han brent med bootloader slik at det er bare å kople han i pcen å programere (språket er C).

 

Når det gjeld det resten av elektronikken er det mange måtar å løyse den på, men eg ville brukt ei lysdiode og ein fototransistor. Det bør fungere å ha svarte tusjstrekar eller lignande med jamne mellomrom på sida av trommelen. Det er då ei smal sak å finne tida mellom kvar strek og dermed vinkelhastigheten.

 

Arduino kan kjøpast frå Electrokit i Sverige, SparkFun i USA eller ei mengd andre stadar

Lenke til kommentar
Dette er ganske enkelt å gjere med ein mikrokontrollar. Om du ikkje har erfaring med nokon frå før av vil eg anbefale Arduino. Eg har sjølv erfaring med denne og anbefalar han sterkt! Den består av ein ATMega168 mikrokontrollar saman med ein FTDI USB - TTL omformar slik at du får usb direkte. Kjøper du eit ferdig kort kjem han brent med bootloader slik at det er bare å kople han i pcen å programere (språket er C).

 

Når det gjeld det resten av elektronikken er det mange måtar å løyse den på, men eg ville brukt ei lysdiode og ein fototransistor. Det bør fungere å ha svarte tusjstrekar eller lignande med jamne mellomrom på sida av trommelen. Det er då ei smal sak å finne tida mellom kvar strek og dermed vinkelhastigheten.

 

Arduino kan kjøpast frå Electrokit i Sverige, SparkFun i USA eller ei mengd andre stadar

 

Altså du vil bruke tusjstreker og ein sensor som reagerer på dei strekene?

Ville det ikkje vere best viss eg kunne fått laget et tannhjul med lat oss sei 10 tenner jamt fordelt på heile omkretsen som var koplet til ein induktiv eller hallgiver som registrerte kvar gang den passerte ei tann. så må det vel være mulighet for programmet å finne ut kor lang tid det går mellom pulsene for så å bruke dei talla til å finne vinkelhastighet, akselerasjon osv?

 

(Dreiv å styrte med datasprut til ein bil en gang. da hadde vi ei skive med 2 tapper på veiva som vart målte med ein hallgiver (tror eg) det funka kjempebra, så må vel være mulig å bruke noe i samme dur?

Lenke til kommentar

Tanken var å ha ein lysdiode til å lyse mot blankt stål og bruke ein fototransistor til å gi signal når lyset blir absorbert av streken. Halleffektgivar blir ofte brukt til å registrere omdreining, men dei treng magnetfelt for å virke, så du må ha magnetar festet på akselen. Induktive giverar har eg ikkje særlig erfaring med, men så lenge dei klarar å gi ut nok pulsar pr sekund burde det gå. Eg veit ikkje om nokon induktive giverar som går på 5V, men om du finn ein som passar så er det ikkje noko problem.

Lenke til kommentar

Det enkleste, hvis du vil unngå å rote for mye med elektronikk er nok å få ta i et program som heter LabView http://www.ni.com/labview/

Det er grafisk programmering og ganske lett å lære seg spesiellt siden du kan litt programmering fra før. Og det skulle ikke forundre meg om skolen din allerede har en eller flere lisenser på det og en av disse små boksene som gjør at du kan lese av elektriske signaler via usb porten eller en com port.

Er du først i gang med en sensor vil det være en smal sak å utvide med flere sensorer.

Lenke til kommentar
Altså du vil bruke tusjstreker og ein sensor som reagerer på dei strekene?

Ville det ikkje vere best viss eg kunne fått laget et tannhjul med lat oss sei 10 tenner jamt fordelt på heile omkretsen som var koplet til ein induktiv eller hallgiver som registrerte kvar gang den passerte ei tann. så må det vel være mulighet for programmet å finne ut kor lang tid det går mellom pulsene for så å bruke dei talla til å finne vinkelhastighet, akselerasjon osv?

 

(Dreiv å styrte med datasprut til ein bil en gang. da hadde vi ei skive med 2 tapper på veiva som vart målte med ein hallgiver (tror eg) det funka kjempebra, så må vel være mulig å bruke noe i samme dur?

 

Det er løsningen du beskriver som er den riktige! Bruk et tannhjul(antal tenner spiller ingen stor rolle). Ved hjelp av en magnetisk pickup generes det en puls for hver gang en tann passerer pickupen.

 

Du trenger da en en liten krets og mikrokotroller slik at du klarer å telle disse pulsene. Altså du teller antall pulser pr tidsenhet. Ut i fra dette og noen enkle regnestykker kalkulerer du en nøyaktig RPM:) Denne metoden brukes blandt bla dieselmotorer.

Endret av Dundersalt
Lenke til kommentar
Altså du vil bruke tusjstreker og ein sensor som reagerer på dei strekene?

Ville det ikkje vere best viss eg kunne fått laget et tannhjul med lat oss sei 10 tenner jamt fordelt på heile omkretsen som var koplet til ein induktiv eller hallgiver som registrerte kvar gang den passerte ei tann. så må det vel være mulighet for programmet å finne ut kor lang tid det går mellom pulsene for så å bruke dei talla til å finne vinkelhastighet, akselerasjon osv?

 

(Dreiv å styrte med datasprut til ein bil en gang. da hadde vi ei skive med 2 tapper på veiva som vart målte med ein hallgiver (tror eg) det funka kjempebra, så må vel være mulig å bruke noe i samme dur?

 

Det er løsningen du beskriver som er den riktige! Bruk et tannhjul(antal tenner spiller ingen stor rolle). Ved hjelp av en magnetisk pickup generes det en puls for hver gang en tann passerer pickupen.

 

Du trenger da en en liten krets og mikrokotroller slik at du klarer å telle disse pulsene. Altså du teller antall pulser pr tidsenhet. Ut i fra dette og noen enkle regnestykker kalkulerer du en nøyaktig RPM:) Denne metoden brukes blandt bla dieselmotorer.

 

denne metoden brukes også på sykler men der regnes rpm om til km/t og evt avstand osv

Lenke til kommentar

Hei,

 

Siden jeg er kjent med visual basic så anbefaler jeg visual basic :D Jeg har tidligere laget noen guider her på hw.no der jeg styrte noen rele tilkoblet pc via datamaskin.

 

Nok om det,

 

Mitt forslag er som følger:

 

Sjekk ut:

 

http://www.trossenrobotics.com/Phidgets.aspx#gettingstarted

 

Og

 

http://www.trossenrobotics.com/store/p/544...ensor-10cm.aspx

http://www.trossenrobotics.com/store/p/323...High-Speed.aspx

 

Phidget har masse spennende utstyr som du enkelt kan programere i visual basic. Du får også med eksempler. Dette er USB, dvs enkelt å koble til.

 

Prosjektet ditt er faktisk ganske enkelt.

 

F.eks kan du her bruke IR sensoren som gir signal til high speed encoderen, encoderen kobles til usb porten på din pc. (Trossen robotics har en tannhjul som gir pulser/refleksjoner. Sett den på aksling. Jo mer pulser, jo bedre for oppløsningen)

 

Via et VB program får du opp turtallet. Har du da treghetsmomentet til rullen du akselererer kan du lage effektkurver etc.

 

Du har også mulighet til å koble til en rekke sensorer, analoge som digitale ved hjelp av phidgets usb utstyr. (eksostemperatur, vanntemperatur, vakuum, etc) det meste er mulig :-)

 

Det er også mulig å bruke parallellporten til dette, du må da telle pulser på parallellporten og hente fram dataene i et program.

 

 

Vet ikkje om dette er helt rett mappe å legge tråden i, men prøver allikevel.

 

Saken er at eg går maskiningeniør og har eit prosjekt i forbindelse med et fag.

 

Problemet mitt er ikkje mekanikken, men eg trenger hjelp med elektronikk / programmering

 

Prosjekter består i å lage å dimensjonere en bremsebenk (dynomameter) for motorsykkel. Hensikten er å måle moment og effekt på bakhjulet. Det skal gjøres på følgende måte:

En massiv stålaksling med diameter mellom 300 - 500 mm og bredde på ca 300mm blir akselerert av bakhjulet på motorsykkelen. Det som skjer her er at Det krever en viss kraft (mykje kraft) for å akselerere denne akslingen.

Det som trengs å måles her er igrunn bare turtallet på akslingen (omdreininger eller radianer/s) Det kan gjøre så enkelt som med ein induktiv giver eller lignende. Men haka her er at måledataene må sendes til eit dataprogram som kan finne trommelens akselerasjon og regne dette om til moment og effekt for så å få opp effekt og momentkurver.

 

Da spør eg dere data og elektronikk kyndige korleis eg kan gjøre dette best mulig slik at eg får det tilkoblet pc via USB.

 

Når dette er funnet ut av kan eg også tenke meg å kunne få andre inputs fra for eksempel bredbåndslambda, trykk i innsugsmanifoil osv inn på dataen for å gi ytterligere informasjon.

 

 

Når det gjelder min bakgrunn har eg ein del erfaring fra programmering med PHP og Java, så kan tenke meg å bruke et programmeringsspråk som ligner på det. viss dette er mulig.

Endret av Hondaen
Lenke til kommentar

Idag er det jo USB som gjelder, men jeg synes forsatt det er morro (og ekstremt billig) med parallellporten.

 

http://www.hardware.no/artikler/hauk_del_2/15421

 

Selve programeringen går jeg ikke i detalj om, men jeg viser deg hardware og legger ved par program som du styrer parallellporten med.

 

Jeg har uansett troen på phidgets til ditt prosjekt.

 

Jeg har laget lignene med visual basic, men da hentet jeg inn spenning og strømmer fra blysyrebatteri, ved hjelp av matematikk i et visual basic program og en hovedoppgave jeg hadde på høyskolen, så regnet programmet ut tilgjengelig restkapasitet på blysyrebatteri til norske ubåter.

Lenke til kommentar
Da har eg gått til inkjøp av

Arduino

Optisk giver

Batterieliminator, noen lysdioder og litt kabler og dill dall.. Så nå er det bare å håpe på at dei fungerer ilag og at eg greier å programmere det.

 

Såg bra ut det der! Gaffelen er utstyrt med ein fototransistor på utgangen, slik at det bare er å kopla ein motstand frå 5V til collectoren på transistoren og inn på ein inngang, og kople emitteren til jord. Verdien på motstanden er typisk ca 1 - 10 kOhm. Du må og ha ein motstand frå 5V til anoden på lysdioda på ca 200 Ohm

 

Om du treng tips til programmeringa eller liknande så må du berre sei i frå!

Lenke til kommentar
Da har eg gått til inkjøp av

Arduino

Optisk giver

Batterieliminator, noen lysdioder og litt kabler og dill dall.. Så nå er det bare å håpe på at dei fungerer ilag og at eg greier å programmere det.

 

Såg bra ut det der! Gaffelen er utstyrt med ein fototransistor på utgangen, slik at det bare er å kopla ein motstand frå 5V til collectoren på transistoren og inn på ein inngang, og kople emitteren til jord. Verdien på motstanden er typisk ca 1 - 10 kOhm. Du må og ha ein motstand frå 5V til anoden på lysdioda på ca 200 Ohm

 

Om du treng tips til programmeringa eller liknande så må du berre sei i frå!

 

Takk for det! trenger nok hjelp med programmeringa ja.

 

Hva skjer dersom eg ikkje brukar motstandane?

 

sikkert mange dumme spørsmål, men er heilt n00b på dette området :dontgetit:

Lenke til kommentar
Hva skjer dersom eg ikkje brukar motstandane?

 

sikkert mange dumme spørsmål, men er heilt n00b på dette området :dontgetit:

 

Om du ikkje bruker motstand vil straumen bli for stor og han blir øydelagt. Motstandar er billige og heilt nødvendige, om du ikkje har motstandar frå før vil eg anbefale deg å høyre med elektrolabben der du studerer eller høyre med nokon som held litt på med elektronikk. Om dette ikkje går så kan du kjøpe eit motstandssett på clas ohlson, men det inneheld 610 motstandar og er litt overkill. Husk at du treng motstand til lysdiodane viss du vil ha dei tilkopla. Om du går i Bergen så kan du få nokre motstandar av meg.

Lenke til kommentar

går i stavanger, så det er litt langt, men elles takk:)

 

har du noe forslag til korleis eg skal få kople opp dette? for eksempel korleis kan eg få ei led lampe til å lyse når det for eksempel er en ting som blokkerer lyset i optokobleren?

Lenke til kommentar
har du noe forslag til korleis eg skal få kople opp dette? for eksempel korleis kan eg få ei led lampe til å lyse når det for eksempel er en ting som blokkerer lyset i optokobleren?

 

Skreiv litt kode her kjapt, han kompilerer men eg veit ikkje om han fungerer. Planen er at han skriv ut tida mellom kvar periode (blokka, ikkje bokka). Då kan verdien brukast til å rekne moment og det andre du treng. Dette kan gjerast i mikrokontrollaren, men eg veit ikkje kor møkje matte som må til og om det vil ta for lang tid å rekne det ut.

 

const int pinGaffel = 2;
const int pinIndLED = 4;
unsigned long mikroLOW, mikroHIGH; 
long delta_t;

int status = LOW;
bool nyVerdi = false;

void setup()
{
 pinMode(pinGaffel, INPUT);
 pinMode(pinIndLED, OUTPUT);
 Serial.begin(115200);
 attachInterrupt(0, gaffelEndring, RISING);
}

void loop()
{
 if (nyVerdi == true)
 {
 delta_t = mikroHIGH - mikroLOW; //delta_t er i mikrosekund
 delta_t = abs(delta_t);

 if (delta_t < 20000000) //Sjekker at micros() ikkje har hatt overflyt (skjer ca kvart 70. minutt)
 {
 Serial.print("dT=");
 Serial.println(delta_t); //Skriver ut delta_t
 }

 digitalWrite(pinIndLED, status);

 nyVerdi = false;
 }
}

void gaffelEndring()
{
 if (digitalRead(pinGaffel) == HIGH)
 mikroHIGH = micros();
 else
 mikroLOW = micros();

 nyVerdi = true;
 status = !status;
}

 

Legger ved koplingskjema og.

post-122587-1238431242_thumb.png

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...