Tiedote ylläpidolta:

Elektroniikkafoorumi sulkeutuu tietoturva ongelmien takia.
Käyttäjien tietoja (yv:t, sähköpostiosoite ja salasanan hash) on saattanut vuotaa vääriin käsiin.

Foorumi on asettettu vain luku tilaan. Vanhoja keskusteluja voi lukea palvelinsopimuksen päättymiseen asti.
Tietokannasta on poistettu kaikki salasanat, sähköpostiosoitteet ja yksityisviestit.

Jos haluat saada omat yksityisviestisi, lähetä sähköpostia yllapito@elektroniikkafoorumi.com
samasta sähköpostista mikä oli foorumin tiedoissa niin voin kaivella niitä varmuuskopioista.

Mielenkiintoni foorumin ylläpitoon on viime vuosina ollut vähäistä jo muutenkin joten tähän on hyvä lopettaa.
Kiitokset kaikille käyttäjilla ja pahoittelut mahdollisista ongelmista.

Päivitys: Näyttäisi siltä että mahdollinen vuoto koski vanhaa phpBB2 tietokantaa,
joten helmikuuta 2012 uudemmat tiedot pitäisi olla turvassa.

-Lahha
yllapito@elektroniikkafoorumi.com


Nopeusmittarin säätökytkentä

Keskustelua autoelektroniikasta

Valvoja: Moderaattorit


Jäsen
Jäsen
Viestit: 108
Liittynyt: Pe Heinä 03, 2009 17:18
ViestiLähetetty: La Huhti 24, 2010 21:46
Asensin Honda VTR 1000F 41-->44 takarattaan, mutta nyt nopeusmittari näyttää ehkä noin 5-10km/h liikaa (pitää mitata tarkemmin). Nopeusmittari on elektroninen eli ei ole mittarinpyörittäjä ym, pitäisi siis saada joku kytkentä anturin ja mittarin välille. En ole vielä tarkemmin tutkinut asiaa, ,mutta kysympä ,että onko kuinka vaikea homma. Tuohon on olemassa kaupallisia versioita esim Stormilla on Speedohealer palikoita joka asennetaan anturin ja mittarin välille joilla on hintaa 70-100€.

Jäsen
Jäsen
Viestit: 108
Liittynyt: Pe Heinä 03, 2009 17:18
ViestiLähetetty: Su Huhti 25, 2010 14:56
Noniin nyt sain mittailtua vähän, anturi on kolminapainen (käyttöjännitteet ja signaali). Anturi antaa noin 5V ,kun on virrat päällä ja ,kun ajaa mittarin mukaan 20km/h niin anturi antaa 50/50 pulssisuhteella noin 200Hz. Eli tuohon signaalijohdon väliin tarvitsisi olla sellainen kytkentä ,joka vähentäisi anturin signaalista vaikka 50Hz (säädettävä). Olisiko kenelläkään mitään kytkentä ehdotuksia?

Jäsen
Jäsen
Viestit: 147
Liittynyt: Su Elo 30, 2009 13:44
ViestiLähetetty: Su Huhti 25, 2010 16:39
Yksinkertaisin ratkaisu voisi olla mikrokontrolleri, joka mittaa tulevien pulssien välistä aikaa ja lähettää ulos pulsseja, joiden välinen aika on sopivalla kertoimella pidempi.

Jäsen
Jäsen
Viestit: 108
Liittynyt: Pe Heinä 03, 2009 17:18
ViestiLähetetty: Su Huhti 25, 2010 17:41
jjw kirjoitti:Yksinkertaisin ratkaisu voisi olla mikrokontrolleri, joka mittaa tulevien pulssien välistä aikaa ja lähettää ulos pulsseja, joiden välinen aika on sopivalla kertoimella pidempi.


Tuota itsekkin mietin ,mutta koodin teko tuottaa eniten ongelmia. Olisiko kukaan halukas tekemään edes pohjaa tuolle? Tuohon varmaan käy PIC 16F84 ,niitä olisi tuossa jo valmiina.

Jäsen
Jäsen
Viestit: 147
Liittynyt: Su Elo 30, 2009 13:44
ViestiLähetetty: Su Huhti 25, 2010 18:15
Laittaisin tuohon jonkun uudemman PIC:n esim. 12F683, jossa on sisäinen palikka (CCP = capture compare ) pulssien mittaamiseen.

Jäsen
Jäsen
Viestit: 108
Liittynyt: Pe Heinä 03, 2009 17:18
ViestiLähetetty: Su Huhti 25, 2010 20:13
jjw kirjoitti:Laittaisin tuohon jonkun uudemman PIC:n esim. 12F683, jossa on sisäinen palikka (CCP = capture compare ) pulssien mittaamiseen.


Voisihan siihen tuollaisenkin hommata ,mutta sitä koodia olisin vailla jos joku vain kehtaisi auttaa.

Jäsen
Jäsen
Viestit: 108
Liittynyt: Pe Heinä 03, 2009 17:18
ViestiLähetetty: Su Touko 09, 2010 20:04
Päätin alkaa harjoittelemaan koodin tekoa tuolle mittarinsäätimelle. Hommasin PICKIT 2:sen jonka mukana tuli pieni demolevy jossa on muutama ledi ,kytkin ,16F887 ja potikka. Olen saanut vasta ledit vilkkumaan. Olen yrittäny saada kytkimen mukaan ,mutta en ole saanut toimimaan.

void main()
{
TRISB.F0 = 1;
PORTD = 0;
TRISD = 0;

while(1)
{
if(PORTB.F0 == 1)
{
PORTD = 0xff ; // turn all LEDs ON
Delay_ms(500) ; // wait 500 ms
PORTD = 0 ; // turn all LEDs OFF
Delay_ms(500) ; // wait 500 ms
}
}
}

Kyseisen koodin pitäisi toimia siten että kun kytkintä painaa niin menisi tuonne if:n sisään vilkuttamaan lediä ja kun päästää niin ei vilku. Mikä tuossa on vikana ,kun nyt ei tapahdu mitään? Tuossa levyn kytkentä: http://ww1.microchip.com/downloads/en/D ... 41296B.pdf

Onko olemassa jotain kirjallisuutta suomenkielellä missä opastettaisiin miten noita piccejä ohjelmoidaan C-kääntäjällä? Ohjelmoidaanko kaikkia piccejä samoilla komennoilla vai onko niillä eroja?

Jäsen
Jäsen
Viestit: 147
Liittynyt: Su Elo 30, 2009 13:44
ViestiLähetetty: Su Touko 09, 2010 22:42
MikroC:n tekijöiltä löytyy erinomainen englanninkielinen kirja, joka on luettavissa netissä ilmaiseksi:
http://www.mikroe.com/eng/products/view ... ming-in-c/

Vanhempi jäsen
Vanhempi jäsen
Viestit: 400
Liittynyt: Pe Maalis 06, 2009 18:23
ViestiLähetetty: Ma Touko 10, 2010 4:09
P10neer1 kirjoitti:Päätin alkaa harjoittelemaan koodin tekoa tuolle mittarinsäätimelle. Hommasin PICKIT 2:sen jonka mukana tuli pieni demolevy jossa on muutama ledi ,kytkin ,16F887 ja potikka. Olen saanut vasta ledit vilkkumaan. Olen yrittäny saada kytkimen mukaan ,mutta en ole saanut toimimaan.

void main()
{
TRISB.F0 = 1;
PORTD = 0;
TRISD = 0;

while(1)
{
if(PORTB.F0 == 1)
{
PORTD = 0xff ; // turn all LEDs ON
Delay_ms(500) ; // wait 500 ms
PORTD = 0 ; // turn all LEDs OFF
Delay_ms(500) ; // wait 500 ms
}
}
}

Kyseisen koodin pitäisi toimia siten että kun kytkintä painaa niin menisi tuonne if:n sisään vilkuttamaan lediä ja kun päästää niin ei vilku. Mikä tuossa on vikana ,kun nyt ei tapahdu mitään? Tuossa levyn kytkentä: http://ww1.microchip.com/downloads/en/D ... 41296B.pdf

Onko olemassa jotain kirjallisuutta suomenkielellä missä opastettaisiin miten noita piccejä ohjelmoidaan C-kääntäjällä? Ohjelmoidaanko kaikkia piccejä samoilla komennoilla vai onko niillä eroja?


Noissa piceissä on hölmösti vakiona määritetty kaikki a/d-muuntimeen liitetyt pinnit analogisiksi sisäänmenoiksi, joten sun pitää määrittää ne digitaaliseksi. Eli muuta koodi seuraavanlaiseksi:
Koodi: Valitse kaikki
void main()
{
TRISB.F0 = 1;
PORTD = 0;
TRISD = 0;
ANSEL=0;
ANSELH=0;
while(1)
{
if(PORTB.F0 == 1)
{
PORTD = 0xff ;          // turn all LEDs ON
Delay_ms(500) ;         // wait 500 ms
PORTD = 0 ;             // turn all LEDs OFF
Delay_ms(500) ;         // wait 500 ms
}
}
}


Tuolla pitäisi ledien ruveta vilkkumaan.
Noilla ANSEL-rekistereillä voidaan siis määrittää noita pinnejä joko analogisiksi tai digitaalisiksi.

Jäsen
Jäsen
Viestit: 147
Liittynyt: Su Elo 30, 2009 13:44
ViestiLähetetty: Ma Touko 10, 2010 5:47
Eikös tuo koske vain PORTA:ta.
Kytkin on PORTB:ssä ja ledit PORTD:ssä.

Vanhempi jäsen
Vanhempi jäsen
Viestit: 400
Liittynyt: Pe Maalis 06, 2009 18:23
ViestiLähetetty: Ma Touko 10, 2010 9:32
jjw kirjoitti:Eikös tuo koske vain PORTA:ta.
Kytkin on PORTB:ssä ja ledit PORTD:ssä.


Tuossa kyseisessä PICissä(16F887) on analogisia pinnejä PORTA:ssa ja PORTB:ssä, yhteensä 12kpl.

Jäsen
Jäsen
Viestit: 108
Liittynyt: Pe Heinä 03, 2009 17:18
ViestiLähetetty: Ma Touko 10, 2010 9:47
Nyt toimii kytkin, lisäsin ne (ANSEL=0; ANSELH=0;). Toimi aluksi väärinpäin eli, kun painoi kytkintä niin ledit ei vilkkuneet, mutta muutin if:n 1 --> 0 niin toimi oikein. Mikä mahtaa olla vialla, kun nuo viiveet on 1000ms niin ledi on esim päällä noin 2-3s. Katsoin tuolta http://www.mikroe.com/eng/products/view ... ming-in-c/ että siellä on 10Mhz ja 32Khz oskillaattori. 10Mhz:lla toimii liian hitaasti ja 32Khz:lla palaa koko ajan, ja miksi noita oskillaattoreita on kaksi?.

Vanhempi jäsen
Vanhempi jäsen
Viestit: 400
Liittynyt: Pe Maalis 06, 2009 18:23
ViestiLähetetty: Ma Touko 10, 2010 10:33
Milläs kääntäjällä kirjoittelet koodia, ja millä ohjelmalla ohjelmoit?

Jäsen
Jäsen
Viestit: 108
Liittynyt: Pe Heinä 03, 2009 17:18
ViestiLähetetty: Ma Touko 10, 2010 12:20
Käytössä on MicroC PRO jolla kirjoittelen koodin ja sitten picille siirrän sen PICKIT 2 mukana tulleella ohjelmalla.

Jäsen
Jäsen
Viestit: 147
Liittynyt: Su Elo 30, 2009 13:44
ViestiLähetetty: Ma Touko 10, 2010 12:49
Oletko projektissa määritellyt 10MHz:n oskillaattorin ?

32KHz:n oskillaattorilla ajetaanTimer1:stä
Seuraava

Paluu Autoelektroniikka

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 1 vierailijaa

cron