Jump to content

Moto Zajednica

LED osvetljenje u zavisnosti od broja obrtaja

Recommended Posts

  • Strucnjak, 1619 postova
  • Lokacija: Novi Sad - Šabac
  • Motocikl: CRF300L

Poceo sam da radim na jednom malom projektu. Ideja je da osvetljenje motora (ili kola) menja boju od zadate pocetne do zadate krajnje (recimo od plave ka crvenoj) u zavisnosti od broja obrtaja.

 

Prvi deo je gotov. Uradio sam prelaze boja u zavisnosti od gustine impulsa sa senzora. Kao izvor impulsa koristim fototranzistor, laser i ventilator za PC. To ce kasnije biti zamenjeno ocitavanjem impulsa sa kabla svecice.

 

Ugradio sam i mogucnost kalibracije. U prvih 5 sekundi stisnete gas onoliko koliko zelite da vam bude najvisa zona. Evo kako to izgleda na stolu. Za 10-ak dana ce biti i na motoru.

 

 

Zamislite kako bi izgledalo da motor na leru ne sija uopste (ili sija recimo plavo) a kad ga zavrtite u visoke obrtaje on se uzari sijajuci crveno :)

 

Nisam ljubitelj osvetljenja vozila ukrasnim svetlima ali ovo mi bas deluje interesantno.

 

Komentari su dobrodosli.

  • Podržavam 1

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Strucnjak, 1619 postova
  • Lokacija: Novi Sad - Šabac
  • Motocikl: CRF300L

Naravno!

 

Ceo projekat je zasnovan na Arduino (Atmega 328) platformi

 

http://www.arduino.cc/

 

Sema trenutno ne postoji vec samo programski deo projekta. U ovoj fazi diode su spojene direktno na PWM izlaze arduina, a kasnije ce ici preko tranzistora jer ce ih biti vise a arduino trpi samo 40mA po izlazu.

 

Senzor koji ce da "skida" impulse sa kabla ce biti radjen po shemi prilozenoj ispod, samo uz dodatak optocouplera da bih izolovao mikrokontroler od mogucih peak-ova napona. Sve je jos uvek u fazi osmisljanja pa nema definitivne sheme.

 

 

 

 

Kod mikrokontrolera trenutno izgleda ovako:

 

volatile long lastTime = 0;
volatile double period = 0;
volatile int rpm = 0;
int rpm2 = 0;

//kalibracija
int max = 0;
int min = 10000;

int cnt = 0;

void setup()
{
 pinMode(9, OUTPUT);
 pinMode(10, OUTPUT);
 pinMode(13, OUTPUT);
 pinMode(2, INPUT);
 attachInterrupt(0, interuptr, RISING);
 Serial.begin(9600);

 calibrate();
}


int rpms[4];
int sum = 0;
int j = 0;
int powerred = 0, rpmunconstrained;

void loop()
{
//Vadjenje proseka poslednjih 5 merenja radi "glatkih" prelaza
rpms[3] = rpms[2];
rpms[2] = rpms[1];
rpms[1] = rpms[0];
rpms[0] = rpm;
sum = 0;
for(j=0; j<4; ++j)
 	sum = sum + rpms[j];

//Skaliranje vrednosti obrtaja na 0-255 za diodu
rpmunconstrained = (int)(sum/4);
rpm2 = (int)constrain(rpmunconstrained, min, max);
powerred = map(rpm2, min, max, 0, 255);

Serial.println(rpms[0]);

//Crvena od 0 - 255
analogWrite(9, powerred);

//Plava od 255 do 0
analogWrite(10, 255 - powerred);

//Mala pauza
delay(20);
}


//Odredjivanje raspona obrtaja, min i max
//prvih 5 sekundi rada kontolera
void calibrate()
{
//Upali signalnu diodu
digitalWrite(13, HIGH);
min = 10000;
max = 0;
int now = millis();
while(millis() < now + 5000)
{
		int rpm2 = rpm;
		delay(200);

		if(rpm > max)
  		max = rpm;
		if(rpm < min)
  		min = rpm;
}
//Smanjivanje maksimuma za 2% radi dobijanja pune skale
max = (int)(max*0.98);
//Povecanje minimuma za 2% radi dobijanja pune skale
min = (int)(min*1.02);
//Ugasi signalnu diodu
digitalWrite(13, LOW);
}


//Racunanje RPM na osnovu proteklog vremena od proslog impulsa
//ovu proceduru poziva impuls na ulaznom pinu
//Trenutno je podeseno da radi sa ventilatorom od 7 pera
//Kasnije se uvedu druge konstante u zavisnosti od tipa motora i 
//broja cilindara
void interuptr()
{
  long now = micros();
  rpm = (long)(60000000 / ((now - lastTime) * 7));
  lastTime = now;
}

post-11338-0-70429500-1297888667_thumb.jpg

  • Podržavam 5

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Strucnjak, 1619 postova
  • Lokacija: Novi Sad - Šabac
  • Motocikl: CRF300L

Hvala! Doslo je do manjeg zastoja zbog kupovine novog motora, a i cekam da mi stignu vodootporne LED trake. Postavicu ovde sve podatke cim nastavim projekat.

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Zainteresovan, 183 postova
  • Lokacija: Ada
  • Motocikl: Z1000SX

Imam ovo ugradjeno na motoru koji sam nedavno kupio Bandit 600,obrtaljka svetli zuckasto,i posle 6000 obrtaje prelazi u crveno odlicno izgleda pogotovo nocu

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Strucnjak, 1619 postova
  • Lokacija: Novi Sad - Šabac
  • Motocikl: CRF300L

moze da se namesti da se na jedan taster bira koji je tim motora (1t, 2t, i koliko cilindara) a moze i direktno da se unese u kod za odredjeni tip. U sustini, on samo broji broj opaljivanja jedne svecice u sekundi.

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Strucnjak, 1619 postova
  • Lokacija: Novi Sad - Šabac
  • Motocikl: CRF300L

5-6 jula :(

 

Imam sve delove i kod spreman i testiran, ali ne stizem da sklopim :( Nekoliko dana nisam ni video motor...

 

Izvinite sto sam vas zainteresovao pa sad zavlacim, ali obecavam da ce biti zavrseno kad tad

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Svrati ponekad, 140 postova
  • Lokacija: Subotica
  • Motocikl: Kawasaki KLE - 2004

Nemoj da bude samo zavrseno...hocemo i mi to da imamo... ;)

Znaci komplet upustvo sa potrebnim delovima... :zvizduk:

 

A sto se tice ispita znam kako ti je... ja sam do pre 3-4 godine bio student..tako da samo napred :takoje::takoje::takoje::takoje::takoje:

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Drug član, 1448 postova
  • Lokacija: subotica
  • Motocikl: Honda ness 150

hvala! :)

 

Naravno, sve ce biti detaljno objasnjeno :)

ču objašnjeno,ima svakome da napraviš po jedan!!! :moto3: za ladno pivo!! :nanana: toliko čekamo po ovoj vrućini! :Mina::BJB-burgman:

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Svrati ponekad, 140 postova
  • Lokacija: Subotica
  • Motocikl: Kawasaki KLE - 2004

hvala! :)

 

Naravno, sve ce biti detaljno objasnjeno :)

ču objašnjeno,ima svakome da napraviš po jedan!!! :moto3: za ladno pivo!! :nanana: toliko čekamo po ovoj vrućini! :Mina::BJB-burgman:

 

Kad budemo montirali idemo da se 2BJB7.gif a onda na muzicari.gif

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Zainteresovan, 532 postova
  • Lokacija: Kragujevac
  • Motocikl: Ducati 748 S

Ovaj motor sto Djordje vozi ima jednu od najlepsih obrtaljki od svih motor , a na pocetku teme sam video da je to radio na nekom drugom motoru. Ipak je ova tema stara 2 godine.

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Strucnjak, 1619 postova
  • Lokacija: Novi Sad - Šabac
  • Motocikl: CRF300L

ne mogu da verujem da je 2 godine proslo ... Postoji to negde u garazi, funkcionalno a nikad namontirano... Ove zime bi moglo malo da se igra sa tim. Hvala na podsecanju :)

 

Ovaj motor sto Djordje vozi ima jednu od najlepsih obrtaljki od svih motor

 

0takoje.gif

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • ..., 2427 postova
  • Lokacija: Tемерин
  • Motocikl: Honda VFR 800 Vtec

Људи у школи немам шта да радим, сам у последњој клупи, само отворим форум, и копам тако редом, на шта занимљиво наиђем.

И предпостављао сам да се заборавило, пошто је последњи коментар још од 2011.

 

 

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

Pridruži nam se!

Možeš sada da napišeš svoj odgovor, a kasnije da se registruješ. Ako imaš nalog, uloguj se i napiši svoj odgovor.

Gost
Odgovori na ovu temu...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Aktivni korisnici   0 članova

    • Nema ulogovanih članova koji gledaju ovu stranu.


×
×
  • Create New...

Važno obaveštenje

Nastavkom korišćenja ovog sajta prihvatate Pravila korišćenja