Säädettävä tihku autoon

Moi.

On sen ikäinen auto (95 Almera), ettei ole kuin samalla nopeudella toimiva tihkuasento.
Miten tuohon saa säädettävän tihkun nopeuden? Pitäisi jotenkin viivästää sen releen toimintaa siinä tihkuasennossa?

Onko liian helppo projsu, kun kukhan ei vaivau vastamhan? :smiley: Toivoisin, että olisi joku joka voisi ja tahtoisi vastaita! :smiley:

Ajastipiirillä NE555 tuota voisi lähteä toteuttamaan.

esim.

koti.mbnet.fi/~huhtama/ele/index … kk=1070283
circuitstoday.com/automatic- … ol-circuit
seekic.com/circuit_diagram/C … NTROL.html

Tihkun relekkin saattaa olla tehty samaisella piirillä tai vastaavalla tavalla, joten miksei sitäkin voisi modata säädettäväksi.

Oon miettiny itte ihan samaa projektia aikasemmin. Jäi vain sitte kuitenki suunnitteluasteelle. Tulin siihen tulokseen, että olisin toteuttanu tuon mikrokontrollerilla, ihan siitä syystä, että “Käyttöliittymän” olisi voinut tehdä millaiseksi haluaa.

Eli oma visio oli sellainen, että kun silloisessa (kuten nykyisessäkin) autossa oli ns. käsitihku asento. eli viiksestä ylöspäin löytyi säädöt tihku-jatkuva-jatkuva_nopea ja viiksestä kun painoi alaspäin, niin pyyhkiät pyyhkäisivät kerran ja viiksi palautui.

Ajatus oli siis rakentaa tuosta “käsitihku” asennosta pulssikytkin kontrollerille, niin, että joka kerta kun viikseä väännetään alaspäin, ikäänkuin annettaisiin käsitihku pulssi, kontrolleri huolehtisi pyyhkäisystä sekä käynnistäisi ajan laskun. Kun annat viiksestä seuraavan pyyhkäisykomennon, kontrolleri ottaisi näiden pyyhkäsyiden välin ajakseen ja jatkaisi pyyhkimistä tuolla taajuudella. Kun taas haluaa muuttaa aikaa, pyyhkäisee käsitihkulla, jolloin kontrolleri lopettaa automaattisen tihkupyyhkimisen ja mittaa jälleen aikaa. Seuraavasta pyyhkäisystä jälleen saataisiin tihkun taajuus.

Pyyhkiät sitten sammutettaisiin tihkun pitkällä pulssilla, josta merkiksi pyyhkijät voisivat vaikka kerran pyyhkästä.

Monimutkainen selittää, toivottavasti jotakin irtosi… Koko homma sai alkunsa siitä, että tavoite oli, ettei yhtään ylimääräistä painiketta, lediä, potentiometriä tai vastaavaa tarvitsisi asentaa törröttämään koelautaan. Eli kaikki toiminta olisi “piilossa” ja sitä kontrolloitaisiin auton orkkis hallintalitteilla.

Nimittäin tuomonen edullinen pieni kontrolleri attiny2313, attiny48 tai joku vastaava ei maksa juuri mitään ja oheiskomonenttejäkään ei juuri tarvitse.

edit: Löysin koneen syövereistä muistiinpanoja asiaan liittyen. Näissä luki, myös yksinkertaisesta jatkokehitysmahdollisuudesta, esim sadetunnistin… :bulb:

:smiley:

Minulla on valmiiksi tehtynä softa atmegalla, joka toteuttaa tuon tihkun. Toimintaperiaate on tämä:

Viiksi tihkuasentoon hetkeksi ja palautus nolla asentoon, jolloin pyyhkijä pyyhkäisee kerran. Kun haluttu pyyhkäisun välinen aika on kulunut, laitetaan viiksi pysyvästi tihkuasentoon. Tästä kontrolleri “oppii” halutun pyyhkäisytaajuuden. Viiksi offille, niin pyyhintä loppuu.

Tässä lähdekoodi:

[code]#include <avr/io.h>
#include <avr/eeprom.h>
#include <avr/interrupt.h>

#define LED1_ON() (PORTB |= (1<<3))
#define LED1_OFF() (PORTB &= ~(1<<3))
#define READSTALK() (bit_is_clear(PINB,PINB1))
#define SETWIPERON() (PORTB |= (1<<4))
#define SETWIPEROFF() (PORTB &= ~(1<<4))

enum {
IDLE_STATE,
WAIT_FOR_OFF,
WAIT_FOR_ON,
DO_WIPER_PULSE,
DO_WIPER_IDLE
};

#define MAXINTERVAL 150
#define PULSEHIGH 5

volatile uint16_t t10ms = 0;
volatile uint16_t t100ms = 0;

ISR(TIM0_COMPA_vect){
t10ms++;

if(t10ms % 10 == 0) t100ms++;

}

void init(void)
{

TCCR0B = 0x04;
TCCR0A = 0x42;
TIMSK0 = 0x04;
OCR0A = 0x27;
DDRB = (1 << PINB3 | 1 << PINB4);

}

int main(void)
{
uint16_t counter = 0;
uint16_t t_offtime100ms = 0;
uint16_t t_interval100ms = 0;
uint16_t t_pulsestart100ms = 0;
uint16_t t_pulseidlestart100ms = 0;
uint8_t state = IDLE_STATE;

init();	
sei();

/* Internal pull-up for stalker input */
PORTB |= (1 << PINB1);

for(;;)
{

	switch(state)
	{
	
		case IDLE_STATE:
			counter++;

			if(READSTALK() !=0)
			{
				SETWIPERON();
				state = WAIT_FOR_OFF;
		
			}
			else
			{
				SETWIPEROFF();
			}

			LED1_OFF();
			break;

		case WAIT_FOR_OFF:
			if(READSTALK() == 0)
			{
				t_offtime100ms = t100ms;
				SETWIPEROFF();
				state = WAIT_FOR_ON;
			}

			LED1_ON();
			break;

		case WAIT_FOR_ON:
			if(READSTALK() != 0)
			{
				SETWIPERON();
				t_interval100ms = (uint16_t)(t100ms - t_offtime100ms);
				
				if((t100ms - t_offtime100ms) < MAXINTERVAL)
				{
					state = DO_WIPER_PULSE;
					t_pulsestart100ms = t100ms;
				}
				else
				{
					state = IDLE_STATE;
				}
			}
			break;

		case DO_WIPER_PULSE:
			if(READSTALK() == 0)
			{
				state = IDLE_STATE;
			}
			else
			{
				SETWIPERON();
				if((t100ms - t_pulsestart100ms) > PULSEHIGH)
				{
					t_pulseidlestart100ms = t100ms;
					state = DO_WIPER_IDLE;
					
				}
			}

			break;

		case DO_WIPER_IDLE:
			if(READSTALK() == 0)
			{
				state = IDLE_STATE;
			}
			else
			{
				SETWIPEROFF();
				if((t100ms - t_pulseidlestart100ms) > t_interval100ms)
				{
					state = DO_WIPER_PULSE;
					t_pulsestart100ms = t100ms;					
				} 


			}
			break;

		default:
			break;
	
	}


}
return 0;

}[/code]

No ohhoh, täällähän on vallan rietasta meininkiä! Kuin jysy ois jysähtäny! :smiley:

Muttapa mutta. Hyvä, että muillakin on sama liri päällä, elikkä vakiotihku ottaa kupoliin.
Tuolla aiemmissa viesteissä oli tuo yksinkertaisempi kytkentä, saatanpa tuota yrittää joskus. Mutta periaatteessa, kytketäänkö tämä piiri siis tihkurelepaketin rinnalle vai sarjaan vaiko mitenköko?

No tietyt navathan siinä tihkukytkimessä yhdistyy, kun tihkun päälle laitat. Niin tietenki sitä kytkintähän voi käyttää ohjamisessa. Ja eiköhän niitä samoja karvoja vois yhistellä sillä 555 piirillä tai sitte atmellillä. Kun noita piuhoja vain käyttää yhessä, nii eiköhän nuo pyyhkiät hoida pyyhkimisen aina vain yhden kerran…

Toinen vaihtoehto tietenki on se, että laitat releen tuon normi tihkureleen rinnalle. Ja nyt kun tuon releen napoja napsauttaa yhessä, niin taitaa pyyhkiät pyhkästä.

Itse olen “käsi” näiden mikrokontrollereiden kanssa. Jos jotain tekisin, joutuisin luultavasti uhraamaan siihen Arduinon kehitysalustan / per projekti.

Onko kytkentäkaaviota ja mitä oheiskomponentteja tarvitsis tuollaisen älytihkun rakentamiseen? Itsellä on Arduino Uno ja muutamia mikrokontrollereja varalla, jottei tarvitsis tuota kehitysalustaa (ehkä) uhrata joka projektin mukaan.