Lustgas styrning.

Insprutning, Tändsystem och Elektronik

Moderator: backeliten

Användarvisningsbild
Kadett4wd
Forumsberoende
Inlägg: 10191
Blev medlem: fre dec 23, 2005 10:49 pm
Ort: Patrick Wetterskog Ludvika tel:0707928582

Lustgas styrning.

Inlägg av Kadett4wd »

Vet nån om nån liten lådda som man kan exempelvis koppla mot en roterande axel, i detta fall ett framhjul.
Och sedan ställa in en önskad hastighet det jordar en signal vid?

Det måste mao inte vara nån dedikerad lustgas lådda, den ska bara göra det jag beskrev ovan.

Mvh
///AMG
Att jag blir tyst i långvariga oeniga diskussioner beror OFTAST på att det inte är lönt diskutera längre, inte att ni hade rätt :D
Varning! Alexander Erik Sjöberg, skriven i Gävle, Väldigt frekvent bedragare!
Användarvisningsbild
super7
Forumsberoende
Inlägg: 1681
Blev medlem: tis nov 11, 2003 1:23 am
Ort: Umeå

Re: Lustgas styrning.

Inlägg av super7 »

Det skulle väl funka med en Vems box men det kanske är lite väl lyxigt för att bara
styra en hastighets utgång.
Behöver ni ha någonting svarvat , hör av er via PM
JoBy
Forumsberoende
Inlägg: 1473
Blev medlem: tor jan 05, 2006 2:29 pm
Ort: Timrå
Kontakt:

Re: Lustgas styrning.

Inlägg av JoBy »

Arduino NANO löser det nästan gratis, om man skriver några rader kod.

Det finns bra exempel. Utvecklingsniljön för windows laddar man ner gratis. Den programmeras via en USB-kabel.

Man kan mäta frekvens på digital in och sätta en digital ut.

Det bör alltså vara en aktiv pulsgivade, inte bara en VR-givare.

Den kan matas direkt med 12V.
nano.PNG
nano.PNG (327.87 KiB) Visad 1537 gånger
Jonas Bylund
Bild
Användarvisningsbild
Kadett4wd
Forumsberoende
Inlägg: 10191
Blev medlem: fre dec 23, 2005 10:49 pm
Ort: Patrick Wetterskog Ludvika tel:0707928582

Re: Lustgas styrning.

Inlägg av Kadett4wd »

Svar till båda:

uj uj,, jag är ju ingen programmerare direkt ;)

Ja en vemsbox blir lite kaka på kaka, jag har ju ett digitalt justerbart tändsystem redan(Ignitech,det är på en motorcykel/moped)
Och det har ganska bra utgångar att styra lustgas solenoider, saknar bara att kunna justera bort gasen i låga hastigheter.
///AMG
Att jag blir tyst i långvariga oeniga diskussioner beror OFTAST på att det inte är lönt diskutera längre, inte att ni hade rätt :D
Varning! Alexander Erik Sjöberg, skriven i Gävle, Väldigt frekvent bedragare!
JoBy
Forumsberoende
Inlägg: 1473
Blev medlem: tor jan 05, 2006 2:29 pm
Ort: Timrå
Kontakt:

Re: Lustgas styrning.

Inlägg av JoBy »

Får se om jag kan övertala dig att bli en programmerare då :) Det är ju nästan gratis att testa.

Här är en lämplig Hall-givare som känner av om en magnet är i närheten.
https://www.conrad.se/p/iduino-1485327- ... no-1485327

Här är ett program som troligtvis löser ditt problem. ( har ej testat )

Kod: Markera allt

#define pin_in  7
#define pin_out 8

int ontime, offtime, duty;
float freq, period;
   
void setup()
{
  pinMode( pin_in, INPUT );
  pinMode( pin_out, OUTPUT );
}

void loop()
{
   ontime = pulseIn( pin_in, HIGH );
   offtime = pulseIn( pin_in, LOW );
   period = ontime + offtime;
   freq = 1000000.0 / period;

   if ( freq > 1000 )
   {
      digitalWrite( pin_out, HIGH );
   }
   else
   {
      digitalWrite( pin_out, LOW );
   }
}
För början namnges två pinnar för att göra det mer lättläst samt att det blir enklare om man vill flytta in eller utgång till något annat ben.
Därfter deklareras några variabler. int är heltal och float är decimaltal.

Funktionen setup() anropas en gång när programmet startar. Här konfigureras pinnarna som ingång respektive utgång.

Funktionen loop() anropas därefter gång på gång så ofta den hinner.
Först mäts hur många millisekunder ingången är hög.
Sedan mäts hur många millisekunder ingången är låg.
Från dessa beräknas först perioden på signalen och sedan frekvensen.
Om frekvensen är över 1000 så skriver så sätts utgången hög = 5V, annars sätts den låg = 0V.

Det verkar väl enkelt :)

Vill man få det mer konfigurerbart kan man konfigurera en annan pinne som analog in och koppla den till en potentiometer. Sedan jämför man mätta frekvensen mot det analoga värdet från potentiometern. Då blir det lätt att justera hastigheten när signalen slår till.

exempel på hjälptexter:
https://www.arduino.cc/reference/en/lan ... setlang=it
Jonas Bylund
Bild
Användarvisningsbild
Kadett4wd
Forumsberoende
Inlägg: 10191
Blev medlem: fre dec 23, 2005 10:49 pm
Ort: Patrick Wetterskog Ludvika tel:0707928582

Re: Lustgas styrning.

Inlägg av Kadett4wd »

Oj oj,,, det där måste jag sätta mig in i, jag programmerade lite basic en gång i tiden på min vic20, typ 37år sen eller nåt :)
///AMG
Att jag blir tyst i långvariga oeniga diskussioner beror OFTAST på att det inte är lönt diskutera längre, inte att ni hade rätt :D
Varning! Alexander Erik Sjöberg, skriven i Gävle, Väldigt frekvent bedragare!
Användarvisningsbild
Steve
Steve, inte Stiiiv
Inlägg: 6048
Blev medlem: ons sep 24, 2003 7:58 pm
Ort: Lykksällä

Re: Lustgas styrning.

Inlägg av Steve »

Kadett4wd skrev: tis jan 26, 2021 12:11 pm Oj oj,,, det där måste jag sätta mig in i, jag programmerade lite basic en gång i tiden på min vic20, typ 37år sen eller nåt :)
10 PRINT "TURBO"
20 GOTO 10
RUN

Eller hur det nu var :D
Evighetsprojekten
If it has tits or wheels it will give you problems
JoBy
Forumsberoende
Inlägg: 1473
Blev medlem: tor jan 05, 2006 2:29 pm
Ort: Timrå
Kontakt:

Re: Lustgas styrning.

Inlägg av JoBy »

Kadett4wd skrev: tis jan 26, 2021 12:11 pm Oj oj,,, det där måste jag sätta mig in i, jag programmerade lite basic en gång i tiden på min vic20, typ 37år sen eller nåt :)
Jag har faktiskt kvar min gamla VIC20 i källaren.
Jonas Bylund
Bild
Användarvisningsbild
Kadett4wd
Forumsberoende
Inlägg: 10191
Blev medlem: fre dec 23, 2005 10:49 pm
Ort: Patrick Wetterskog Ludvika tel:0707928582

Re: Lustgas styrning.

Inlägg av Kadett4wd »

Steve skrev: tis jan 26, 2021 4:34 pm
Kadett4wd skrev: tis jan 26, 2021 12:11 pm Oj oj,,, det där måste jag sätta mig in i, jag programmerade lite basic en gång i tiden på min vic20, typ 37år sen eller nåt :)
10 PRINT "TURBO"
20 GOTO 10
RUN

Eller hur det nu var :D
Yes...
Men detta blev fränare:
10 PRINT "TURBO";
20 GOTO 10
RUN

Då blev det inte radbyte efter varje 'print' ;)
Så det fyllde skärmen jussom.

Jag skrev ett helt jäkla sånt där text äventyrsspel(hade minnes expanderkort) åt syrran, det var nån skatt hon skulle hitta, belöningen vart att skärmen blinkade gult och det stod 'GULD' med den där lilla koden ovan :)
///AMG
Att jag blir tyst i långvariga oeniga diskussioner beror OFTAST på att det inte är lönt diskutera längre, inte att ni hade rätt :D
Varning! Alexander Erik Sjöberg, skriven i Gävle, Väldigt frekvent bedragare!
Användarvisningsbild
Kadett4wd
Forumsberoende
Inlägg: 10191
Blev medlem: fre dec 23, 2005 10:49 pm
Ort: Patrick Wetterskog Ludvika tel:0707928582

Re: Lustgas styrning.

Inlägg av Kadett4wd »

JoBy skrev: tis jan 26, 2021 7:35 pm
Kadett4wd skrev: tis jan 26, 2021 12:11 pm Oj oj,,, det där måste jag sätta mig in i, jag programmerade lite basic en gång i tiden på min vic20, typ 37år sen eller nåt :)
Jag har faktiskt kvar min gamla VIC20 i källaren.
Min låg en massa år tills kondensatordöden tog den, då gav jag bort den till en kille som samlade på gamla datorer :)
///AMG
Att jag blir tyst i långvariga oeniga diskussioner beror OFTAST på att det inte är lönt diskutera längre, inte att ni hade rätt :D
Varning! Alexander Erik Sjöberg, skriven i Gävle, Väldigt frekvent bedragare!
JoBy
Forumsberoende
Inlägg: 1473
Blev medlem: tor jan 05, 2006 2:29 pm
Ort: Timrå
Kontakt:

Re: Lustgas styrning.

Inlägg av JoBy »

Jag tänkte att det är lika bra att knåpa ihop ett bättre program, och detta har jag även provkört.
Det är lite mer komplicerat men mycket bättre om man vill bygga vidare.

Den stora skillnaden är att denna variant använder en interrupt-rutin för att mäta tiden mellan två fallande flanker.
Huvuddelen av programmet ( loop() ) behöver då inte mäta periodtiden utan kan göra andra saker i godan ro. T.ex. mäta och styra andra saker om man vill det utan att det påverkar exaktheten i tidsmätningen.

Jag la även in en mätning av ett analogvärde så att det är enkelt att med en potentiometer trimma in frekvensen när utgången ska bli hög.

Programmet ser mycket längre ut men det är till stor del kommentarer.

Kod: Markera allt

// Först lite definitioner
#define pin_in  2
#define pin_out 8
#define pin_analog A0
#define min_period 1000

// Globala variabler som inte tappar minnet
// volatile är för variabler som använs både i och utanför interruptrutinen.
unsigned long lastTimestamp = 0;
volatile bool v_newPeriod = false;
volatile unsigned long v_period;

// Denna funktion anropas en gång när programmet startar.
// Konfigurera digitala pinnar.
// Koppla interrupt till fallande flank på pinne 2
// Serial används för att kommunicera med PC över USB-kablen. 
// Det används för att skriva ut frekvensen och verifiera att programmet fungerar.
void setup() 
{
  pinMode( pin_in, INPUT_PULLUP );
  pinMode( pin_out, OUTPUT );
  attachInterrupt( digitalPinToInterrupt( pin_in ), fallingISR, FALLING );
  Serial.begin( 9600 );
}

// Här är interruptrutinen som anropas varje gång pinne 2 går från hög till låg.
// Denna rutin ska vara kort och sparar bara nödvändiga data i delade variabler.
// Det är även en kontroll att pulsen inte är för kort för att undvika kontaktstudsar.
void fallingISR() 
{
  unsigned long microseconds = micros();
  unsigned long period = microseconds - lastTimestamp;
  lastTimestamp = microseconds;
  if( period > min_period )
  {
    v_period = period;
    v_newPeriod = true;
  }
}

// Denna funktion anropas gång på gång så ofta den hinner.
void loop() 
{
  unsigned long period;
  float freq;

  if( v_newPeriod )
  {
    // Interruptrutinen signalerar att den har mätt en ny period.
    // Stäng av interrupten, spara perioden och återställ flaggan.
    // Aktivera därefter interrupt igen.
    noInterrupts();
    period = v_period;
    v_newPeriod = false;
    interrupts();

    // Beräkna frekvensen
    freq = 1000000.0 / period;
    
    // Läs analog in och jämför mot frekvensen
    if ( freq > analogRead( pin_analog ) ) // 0V = 0, 5V = 1023
    {
      digitalWrite( pin_out, HIGH );
    }
    else
    {
      digitalWrite( pin_out, LOW );
    }

    // Skriv uppmätt frekvens till PC
    Serial.println( freq );
  }  
}

Jonas Bylund
Bild
Användarvisningsbild
Kadett4wd
Forumsberoende
Inlägg: 10191
Blev medlem: fre dec 23, 2005 10:49 pm
Ort: Patrick Wetterskog Ludvika tel:0707928582

Re: Lustgas styrning.

Inlägg av Kadett4wd »

Nice,, jag ska testa det där, ska köpa hem grunkorna få se =)
///AMG
Att jag blir tyst i långvariga oeniga diskussioner beror OFTAST på att det inte är lönt diskutera längre, inte att ni hade rätt :D
Varning! Alexander Erik Sjöberg, skriven i Gävle, Väldigt frekvent bedragare!
JoBy
Forumsberoende
Inlägg: 1473
Blev medlem: tor jan 05, 2006 2:29 pm
Ort: Timrå
Kontakt:

Re: Lustgas styrning.

Inlägg av JoBy »

Spännande :)

Här laddar du ner utvecklingsmiljö:
https://www.arduino.cc/en/software

I princip ska det efter installation bara väljas rätt com-port och ansluta USB-kabeln för att kunna kompilera och ladda programmet på controllern. Om man köper en billig pirat-controller istället för en äkta Arduino ( samma chip och samma prestanda ) så är det inte säkert att det fungerar. Jag var tvungen att ladda en annan drivrutin vilket inte var svårt bara man hade listat ut vad problemet var.

Det finns mycket funktioner direkt men även massor av funktionsbibliotek man kan komplettera med.
Jonas Bylund
Bild
Användarvisningsbild
Kadett4wd
Forumsberoende
Inlägg: 10191
Blev medlem: fre dec 23, 2005 10:49 pm
Ort: Patrick Wetterskog Ludvika tel:0707928582

Re: Lustgas styrning.

Inlägg av Kadett4wd »

Och eftersom jag är ganska rudis på sånt här måste jag försiktigt fråga om du kan länka vars man köper riktiga grejer?

Prettyplease ;)
///AMG
Att jag blir tyst i långvariga oeniga diskussioner beror OFTAST på att det inte är lönt diskutera längre, inte att ni hade rätt :D
Varning! Alexander Erik Sjöberg, skriven i Gävle, Väldigt frekvent bedragare!
Hasse Bus
För mycket laddtryck
Inlägg: 250
Blev medlem: tis jan 16, 2007 4:30 pm
Ort: Vadstena
Kontakt:

Re: Lustgas styrning.

Inlägg av Hasse Bus »

Nu frågade du ju inte mej, men jag handlar på Autema http://www.autemashop.com/category_Ardu ... d_nano.htm
eller M.nu https://www.m.nu/mikrokontroller-1/arduino
Har du problem med din Gula Volvo , askamaskinservice.se
Hans-Åke Rahm.
Skriv svar