Autolaturi toimimaan laturina irtomoottorin kanssa

Tänne kaikki aiheeseen liittyvät keskustelut ja kysymykset

Valvojat: Jammu, sohvi

Vastaa Viestiin
jarikos
Viestit: 4400
Liittynyt: Ke Elo 05, 2020 1:40 pm
Paikkakunta: Lohja
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja jarikos »

Äkkiseltään katsottuna mikä tahansa noista näyttäisi käyvän. Itse jotenkin vaan lukkiutunut noihin perinteisiin ja niitä pitänyt hyllyssä.
Fordson Major Diesel -57, työkone
Fordson Major Diesel -57, entisöinti
Fordson Power Major -59, entisöinti
Fordson Major 1958 kaivurialustaprojekti
ARA AK 131 C 1979
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

No niin, tässä olisi nyt eka versio koko hässäkän kytkennästä. Ei varmaan ole ihan kaikkien taiteen sääntöjen mukaan töherrelty kaavio, mutta toivotaan, että saa selvää. Huom. kuvaan ei ole piirretty virransyöttöä ollenkaan, koska se ei ole niin oleellinen. Laitan varmaan DC-DC step-downin tuohon syöttämään Arduinon jakin kautta sähköt korttiin.

Löytyykö virheitä kytkennästä? Varmaankin löytyy. :oops:

Katsele kuvaa täysikokoisena lataamalla tiedosto itsellesi hiiren oikealla korvalla.

Kuva
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
jarikos
Viestit: 4400
Liittynyt: Ke Elo 05, 2020 1:40 pm
Paikkakunta: Lohja
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja jarikos »

Lisäisin Arduinon AREF pinniin referenssijännitteen. 4,1V zener ja vastus vain lisää. Sillä tavoin saa laajemmin tuo 0-4V skaalan käyttöön.

Edit: näköjään 4,3V zeneriä on helpommin saatavilla. Silläkin saa skaalaa laajemmaksi.
Fordson Major Diesel -57, työkone
Fordson Major Diesel -57, entisöinti
Fordson Power Major -59, entisöinti
Fordson Major 1958 kaivurialustaprojekti
ARA AK 131 C 1979
jiipee
Viestit: 10749
Liittynyt: Su Tammi 01, 2006 5:01 pm
Paikkakunta: Kanta-Häme
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja jiipee »

Mauri Tähkä kirjoitti: Su Elo 20, 2023 10:10 pm Löytyykö virheitä kytkennästä? Varmaankin löytyy. :oops:
Olisiko PWM:n tasonmuunnospiiri kuvassa väärin päin? Arduinolta pitäisi varmaankin tulla ohjaus BC547:n kannalle (47k vastuksen kautta) ja laturin PWM-pinniin lähteä invertoitu signaali BC557:n emitteriltä.

Edit: siis piti kirjoittamani, että "laturin PWM-pinniin lähteä invertoitu signaali BC557:n kollektorilta."
Viimeksi muokannut jiipee, Ti Elo 22, 2023 5:43 pm. Yhteensä muokattu 1 kertaa.
Valtra-Valmet-Massey-Ferguson-Mercedes-Benz
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

jiipee kirjoitti: Ma Elo 21, 2023 9:25 am
Mauri Tähkä kirjoitti: Su Elo 20, 2023 10:10 pm Löytyykö virheitä kytkennästä? Varmaankin löytyy. :oops:
Olisiko PWM:n tasonmuunnospiiri kuvassa väärin päin? Arduinolta pitäisi varmaankin tulla ohjaus BC547:n kannalle (47k vastuksen kautta) ja laturin PWM-pinniin lähteä invertoitu signaali BC557:n emitteriltä.
No niin, miltä nyt näyttää?

Kuva
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
jiipee
Viestit: 10749
Liittynyt: Su Tammi 01, 2006 5:01 pm
Paikkakunta: Kanta-Häme
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja jiipee »

Juu, nyt en huomannut muuta kuin oman, aiemman kirjoitusvirheeni: signaali laturin PWM-inputtiin lähtee tietysti BC557:n kollektorilta, koska PNP-transistorin emitteri on +12 V linjassa.
Valtra-Valmet-Massey-Ferguson-Mercedes-Benz
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

jiipee kirjoitti: Ti Elo 22, 2023 5:54 pm Juu, nyt en huomannut muuta kuin oman, aiemman kirjoitusvirheeni: signaali laturin PWM-inputtiin lähtee tietysti BC557:n kollektorilta, koska PNP-transistorin emitteri on +12 V linjassa.
Jaha! Eli nyt uskaltanee tuolla kytkennällä laitosta testata?

Eihän tuossa mitään muuta sen epävarmempaa ole mulle kuin tuo opampin ja trankkupiirin kytkennät. Muutenhan tuo on ihan perushommaa.
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

jarikos kirjoitti: Su Elo 20, 2023 11:55 pm Lisäisin Arduinon AREF pinniin referenssijännitteen. 4,1V zener ja vastus vain lisää. Sillä tavoin saa laajemmin tuo 0-4V skaalan käyttöön.

Edit: näköjään 4,3V zeneriä on helpommin saatavilla. Silläkin saa skaalaa laajemmaksi.
Eli laskin nuo vastukset olemassa olevien vastuksien mukaan, nyt olisi 6800 ja 47 oomia. Eli kerroin vähän päälle 144. Tällöin saataisiin skaalaksi 0-~4,6 V alueella 0-80 A.
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

Nyt on ensimmäinen, ehkä väärin toteutettu testi tehty, ja koodi toimi kohtalaisesti. Heti käynnistäessä Arduinon, PWM nousee 0-60 Duty prosenttia määrätyssä ajassa. Siis heti käynnistäessä, kun sen pitäisi nousta vasta, kun määritellystä pinnistä tulee jännite riittävän pitkän ajan, ja jännitteen saantiin tässä testissa oli normaali painonappi. Muutin testiä varten koodin HIGH -kohdan LOW:hun, ja pinnin INPUTIN INPUT_PULLUPIIN, joka käyttää Arduinon sisäistä ylösvetovastusta. Täytyy ottaa huomioon, että koodissa ei ollut kytkimen värähtelyä huomioitu, joten väärä toiminta voi johtua yksistään siitäkin. Tarkoitus on tehdä seuraava testi kaikki komponentit kasattuna todellisessa ympäristössä, joskin ilman laturia vielä. Mitataan shuntilla opampin vahvistamana todellista virtaa. Mitataan oskilloskoopilla PWM-ulostulo.

Toki oma tietämyksenikään ei kummoinen vielä ole, mutta toivottavasti ainakin oikean suuntainen. Muuten, voin tämmöiseen hommaan täydelä sydämellä suositella noin 40 euron oskilloskooppia FNIRSI DSO-152. Ihan varmasti riittää tämmöisiin ei-niin-tarkkoihin mittauksiin vaikkapa autohommissa ja kun laite menee vielä taskuun.

Tässä koodi, jota voi ihmetellä ja kertoa, onko siinä jotain ongelmia. Todennäköisesti on, kun se on 90-prosenttisesti tekoälyn kirjoittama ja itse ymmärrän jotenkin vain nuo määrittelyn ja näyttö-ohjausta. Ja toki siellä mitataan aikaa määrittääkseen raja-arvojen laukasemia toimintoja.

Tässä ensin kuvaus vielä, mitä koodin pitäisi tehdä:
PWM-signaalia tekevä laturin ohjaus-ohjelma, jossa on kolme toimintoa. PWM-signaalin speksit ovat 122 Hz Square Wave Duty Cycle alueella 0-60 prosenttia.

Ohjelman kolme osaa:

1) Alkutoiminto

Seurataan, onko moottori käynnissä. Digitaalisesta pinnistä D7 saadaan tieto siitä, onko moottori käynnissä. Mikäli tästä pinnistä saadaan jännite vähintään 6 sekunnin ajan, käynnistetään tämä alkutoiminto. Alkutoiminnossa Duty Cycle nostetaan viiden sekunnin aikana 0 prosentista 60 prosenttiin. Näytetään I2C-väylään kytketyllä 16x2 lcd-näytöllä jatkuvasti latausvirta ampeereina. Latausvirta saadaan Arduinon analogisesta pinnistä A0. Tämä on lineaarinen tulo, jossa 4,62978 volttia tarkoittaa 80 ampeeria. Latausvirta lasketaan 1024 näytteen keskiarvosta. Kun alkutoiminto on valmis ja Duty Cycle on nostettu 60 prosenttiin, siirrytään perustoimintoon.

2) Perustoiminto

Pidetään Duty Cycle 60 prosentissa. Näytetään I2C-väylään kytketyllä 16x2 lcd-näytöllä jatkuvasti latausvirta ampeereina. Latausvirta saadaan Arduinon analogisesta pinnistä A0. Tämä on lineaarinen tulo, jossa 4,62978 volttia tarkoittaa 80 ampeeria. Latausvirta lasketaan 1024 näytteen keskiarvosta.

3) Sammutustoiminto

Sammutustoimintoon siirrytään, kun latausvirta laskee alle 5 ampeeriin. Sammutustoiminto kytkee pinniin 3 liitetyn releen pois päältä 60 sekunnin ajaksi, jonka jälkeen ohjelma palautuu alkutoimintoon. Näytetään I2C-väylään kytketyllä 16x2 lcd-näytöllä latausvirta ampeereina. Latausvirta saadaan Arduinon analogisesta pinnistä A0. Tämä on lineaarinen tulo, jossa 4,62978 volttia tarkoittaa 80 ampeeria. Latausvirta lasketaan 1024 näytteen keskiarvosta.


Koko ohjelman ajan, riippumatta mitä toimintoa juuri sillä hetkellä suoritetaan, käyttäjä näkee näytöllä ainoastaan latausvirran muodossa

Latausvirta:
XX A

missä XX on virta 0-99 ampeeria tasalukuun pyöristettynä.

Koodi: Valitse kaikki

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);  // Create a new LiquidCrystal_I2C display object with the correct I2C address and display size

// Define the pins
const int currentPin = A0;  //information about current, 4 volts = 80 amps
const int motorPin = 7;     //motor running pin, HIGH = motor running, TEST purpose LOW
const int pwmPin = 9;       //PWM output pin
const int relayPin = 3;     //Relay control pin

void setup() {

  // Initialize the LCD here
  // Give the screen time to boot
  delay(1000);
  lcd.begin(16, 2);
  lcd.backlight();
  lcd.clear();

  // Change timers on pins to change PWM freq to 122 Hz
  // Pins D9 and D10 - 122 Hz
  TCCR1A = 0b00000001;  // 8bit
  TCCR1B = 0b00000100;  // x256 phase correct

  // Make pins output/input
  pinMode(currentPin, INPUT);
  pinMode(motorPin, INPUT);
  pinMode(pwmPin, OUTPUT);
  pinMode(relayPin, OUTPUT);
}

void loop() {
  static unsigned long lastTime;
  static bool isInitialFunctionRunning;
  static bool isShutdownFunctionRunning;
  static unsigned long initialFunctionStartTime;
  static unsigned long shutdownFunctionStartTime;

  //Initial function
  // Check if the engine is running. If it has been running for at least six seconds, start the initial function.
  if (digitalRead(motorPin) == HIGH) {
    if (millis() - lastTime > 6000) {
      isInitialFunctionRunning = true;
      initialFunctionStartTime = millis();
    }
  } else {
    lastTime = millis();
  }

  // If the initial function is running, increase the Duty Cycle from 0 percent to 60 percent within five seconds.
  if (isInitialFunctionRunning) {
    if (millis() - initialFunctionStartTime < 5000) {
      int dutyCycle = map(millis() - initialFunctionStartTime, 0, 5000, 0, 60);
      analogWrite(pwmPin, map(dutyCycle, 0, 100, 0, 255));
    } else {
      isInitialFunctionRunning = false;
    }
  }

  //Basic function
  // If the initial function is not running and the shutdown function is not running either, keep the Duty Cycle at 60 percent.
  else if (!isShutdownFunctionRunning) {
    analogWrite(pwmPin, map(60, 0, 100, 0, 255));
  }

  // Calculate the charging current from the average of 1024 samples and display it on the LCD screen.
  float current = analogRead(currentPin) * (80.0 / (1024.0 * 4.62978));
  lcd.setCursor(0, 0);
  lcd.print("Latausvirta:");
  lcd.setCursor(0, 1);
  lcd.print((int)current);
  lcd.print(" ");
  lcd.setCursor(3, 1);
  lcd.print(" A");


  //Shutdown function
  // If the charging current drops below five amperes and the shutdown function is not running yet,
  // start the shutdown function and turn off the relay for sixty seconds.
  if (current < 5 && !isShutdownFunctionRunning) {
    isShutdownFunctionRunning = true;
    shutdownFunctionStartTime = millis();
    digitalWrite(relayPin, LOW);
  }

  // If the shutdown function has been running for sixty seconds,
  // stop it and switch the relay. Then return to the initial function.
  if (isShutdownFunctionRunning && millis() - shutdownFunctionStartTime > 60000) {
    isShutdownFunctionRunning = false;
    digitalWrite(relayPin, HIGH);
    isInitialFunctionRunning = true;
    initialFunctionStartTime = millis();
  }
}
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

Ainakin koodissa oli vinossa tuo virran laskenta. Näyttääkö nyt oikeammalta? Lisäsin myös tuon virtalukemien keskiarvoistamisen. Tekoälyn avulla tehty koodista noin 80 prosenttia. Tässä uusittu, koodi jota voit katsoa:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Create a new LiquidCrystal_I2C display object with the correct I2C address and display size

// Define the pins
const int currentPin = A0; //information about current
const int motorPin = 7; //motor running pin, HIGH = motor running, TEST purpose LOW
const int pwmPin = 9; //PWM output pin
const int relayPin = 3; //Relay control pin
const int currentFactor = 4.62978; //4.62978 volts = 80 amps
const int N = 10; // number of readings to average
int readings[N]; // array to store the readings

void setup() {

// Initialize the LCD here
// Give the screen time to boot
delay(1000);
lcd.begin(16, 2);
lcd.backlight();
lcd.clear();

// Change timers on pins to change PWM freq to 122 Hz
// Pins D9 and D10 - 122 Hz
TCCR1A = 0b00000001; // 8bit
TCCR1B = 0b00000100; // x256 phase correct

// Make pins output/input
pinMode(currentPin, INPUT);
pinMode(motorPin, INPUT);
pinMode(pwmPin, OUTPUT);
pinMode(relayPin, OUTPUT);
}

void loop() {
static unsigned long lastTime;
static bool isInitialFunctionRunning;
static bool isShutdownFunctionRunning;
static unsigned long initialFunctionStartTime;
static unsigned long shutdownFunctionStartTime;

//Initial function
// Check if the engine is running. If it has been running for at least six seconds, start the initial function.
if (digitalRead(motorPin) == HIGH) {
if (millis() - lastTime > 6000) {
isInitialFunctionRunning = true;
initialFunctionStartTime = millis();
}
} else {
lastTime = millis();
}

// If the initial function is running, increase the Duty Cycle from 0 percent to 60 percent within five seconds.
if (isInitialFunctionRunning) {
if (millis() - initialFunctionStartTime < 5000) {
int dutyCycle = map(millis() - initialFunctionStartTime, 0, 5000, 0, 60);
analogWrite(pwmPin, map(dutyCycle, 0, 100, 0, 255));
} else {
isInitialFunctionRunning = false;
}
}

//Basic function
// If the initial function is not running and the shutdown function is not running either, keep the Duty Cycle at 60 percent.
else if (!isShutdownFunctionRunning) {
analogWrite(pwmPin, map(60, 0, 100, 0, 255));
}

// Calculate the charging current from the average and display it on the LCD screen.

// take N readings and store them in the array
for (int i = 0; i < N; i++) {
readings[ i] = analogRead(currentPin);
delay(10); // wait for 10 milliseconds between readings
}

// calculate the average of the N readings
float sum = 0;
for (int i = 0; i < N; i++) {
sum += readings[ i];
}
float average = sum / N;

float current = average * 80.0 / currentFactor;
lcd.setCursor(0, 0);
lcd.print("Latausvirta:");
lcd.setCursor(0, 1);
lcd.print((int)current);
lcd.print(" ");
lcd.setCursor(3, 1);
lcd.print(" A");


//Shutdown function
// If the charging current drops below five amperes and the shutdown function is not running yet,
// start the shutdown function and turn off the relay for sixty seconds.
if (current < 5 && !isShutdownFunctionRunning) {
isShutdownFunctionRunning = true;
shutdownFunctionStartTime = millis();
digitalWrite(relayPin, LOW);
}

// If the shutdown function has been running for sixty seconds,
// stop it and switch the relay. Then return to the initial function.
if (isShutdownFunctionRunning && millis() - shutdownFunctionStartTime > 60000) {
isShutdownFunctionRunning = false;
digitalWrite(relayPin, HIGH);
isInitialFunctionRunning = true;
initialFunctionStartTime = millis();
}
}
Viimeksi muokannut Mauri Tähkä, La Loka 07, 2023 7:47 pm. Yhteensä muokattu 1 kertaa.
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
jarikos
Viestit: 4400
Liittynyt: Ke Elo 05, 2020 1:40 pm
Paikkakunta: Lohja
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja jarikos »

Lisäisin tuohon koodiin debuggauksen vuoksi tulostuksen sarjaliikenteellä monitorille. Siten pystyisi paremmin seuraamaan millaisia arvoja saadaan vaikkapa shuntilta. Kaikki tulostus toki hidastaa suoritusta mutta eihän tämä niin aikakriittinen sovellus ole.
Fordson Major Diesel -57, työkone
Fordson Major Diesel -57, entisöinti
Fordson Power Major -59, entisöinti
Fordson Major 1958 kaivurialustaprojekti
ARA AK 131 C 1979
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

No niin, eli tilannepäivitystä ja kysymyksiä.

Ollaan laittelemassa jo tuota säänkestävään kytkentäkoteloon, eli sinnikästä juottamista ja rakentelua, mutta sitten kysymyksiä olisi testausvaiheesta.

1) Voiko tietokone olla kytkettynä Arduinoon, kun systeemi on toimintakunnossa, näin ollen Arduino saisi virtansa tietokoneen USB:ltä eikä jännitegulaattorilta. Maa pitäisi olla vedetty ilmeisesti Arduinon GND-terminaaliin silti.

2) Voisiko joku katsoa tuota koodia, onko virran laskenta oikein? Edellisessä testissäni siis kytkin potikan +5 voltin ja shuntin pinnin väliin. Lopullisessa kytkennässähän tähän siis tulisi shuntti opampin kautta. Testissä virta-alue oli ainakin lcd:llä 100-999 ampeeria potikan kääntöjen mukaan. Mielestäni potikalta tulevan jännitteen ainakin olisi luullut olevan oikein, eli noin 0-5 volttia. Ihan joka paikkaan ei oikein pysty mittaria kytkemään, niin pakko vähän arvuutella. :wink:
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

Eli voiko tietokone olla kytkettynä Arduinoon, jolloin se saa virtansa USB:ltä eikä 12 V:n akulta regun kautta? Muuten laturia lukuun ottamatta koko viritelmä kytketään käyttöön. Mutta maa vain on yhteinen.
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
jiipee
Viestit: 10749
Liittynyt: Su Tammi 01, 2006 5:01 pm
Paikkakunta: Kanta-Häme
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja jiipee »

Arduino saa virran USB-kapelin kautta. Nyppää se muu virransyöttö irti silloin kun USB-kaapeli on kytkettynä. En tiedä tuleeko rinnakkaisesta virran tarjonnasta mitän ongelmaa, mutta uutta toteutusta tutkiessa kannattaa kaikki muuttujat vähentää minimiin.
Valtra-Valmet-Massey-Ferguson-Mercedes-Benz
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

No nii! Nyt olis pojat tuo koko hässäkkä lopultakin kytkettynä. Valitettavasti lähinnä ongelmia. Nyt ohjelma edelleen etuilee, eli pulssitus käynnistyy heti vaikka tärinätunnistin ei antaisi signaalia laitteiston käynnistyessä!

Enempää ei vielä pysty testaamaan, eikä kannatakaan, kun harmillisesti en saa lcd:tä toimimaan. Minulla on toinen protokytkentäalusta (toinen Arduino UNO R3 + toinen i2c lcd 16x2). Latasin tämän laturinohjauskoodin siihen ja näyttöhän toimii. Liitännät on varmistettu moneen kertaan ja olen luupilla ja yleismittarilla yrittänyt tutkia kylmäjuotosten tms. katkosten varalta tämän arduino-kortin + näytön, mutta ei sellaisia löydy. Mutta vika on mielestäni pakko kuitenkin olla kytkennällinen, koska toisella kokoonpanolla homma toimii. Joten en näkisi syyksi esimerkiksi kirjasto-ongelmaa tms..

Eli tässä näyttöön tulee kyllä virrat, mutta se ei alustu lainkaan, vaan ylärivin täyttävät neliöt. Tämähän viittaa siihen, että rittävästi tietoa ei tule kortilta näytölle saakka, kun ohjelmapuolen pitäisi näytön osalta olla kunnossa. Johdot kuitenkin ovat kunnossa, samoin Arduinon Screw Shieldin liitännät yleimittarin mukaan.

EDIT: Katsoin oskilloskoopilla, niin sillä toimivalla kortilla + näytöllä Arduinon näytölle menevistä pinneistä A4 ja A5 tulee koko ajan pulssia kun taas tässä, joka ei toimi, pulssia tulee vain vähän aikaa virran kytkemisen jälkeen. Mikä on vialla?
Muuten, sillä näytön tunnistuskoodilla näytön osoite kyllä löytyy. Eli jonkunlainen yhteys näyttöön silti on?
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
jarikos
Viestit: 4400
Liittynyt: Ke Elo 05, 2020 1:40 pm
Paikkakunta: Lohja
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja jarikos »

Näytön alustuskoodi on varmaankin käyty läpi eikä se ole vahingossa loopin sisällä?
Fordson Major Diesel -57, työkone
Fordson Major Diesel -57, entisöinti
Fordson Power Major -59, entisöinti
Fordson Major 1958 kaivurialustaprojekti
ARA AK 131 C 1979
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

jarikos kirjoitti: Su Helmi 11, 2024 6:01 pm Näytön alustuskoodi on varmaankin käyty läpi eikä se ole vahingossa loopin sisällä?
Jeps, on kunnossa. Ja siis täsmälleen samalla koodilla toimii eri kortilla. :(
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
jarikos
Viestit: 4400
Liittynyt: Ke Elo 05, 2020 1:40 pm
Paikkakunta: Lohja
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja jarikos »

Mauri Tähkä kirjoitti: Su Helmi 11, 2024 8:52 pm
jarikos kirjoitti: Su Helmi 11, 2024 6:01 pm Näytön alustuskoodi on varmaankin käyty läpi eikä se ole vahingossa loopin sisällä?
Jeps, on kunnossa. Ja siis täsmälleen samalla koodilla toimii eri kortilla. :(
Voihan se olla kortissakin vika eikä ollenkaan kytkennöissä. Taustavalon oletan säädetyn oikeanlaiseksi.
Fordson Major Diesel -57, työkone
Fordson Major Diesel -57, entisöinti
Fordson Power Major -59, entisöinti
Fordson Major 1958 kaivurialustaprojekti
ARA AK 131 C 1979
Mauri Tähkä
Viestit: 364
Liittynyt: Su Elo 05, 2018 2:22 pm
Paikkakunta: New Yorkin hillajängät
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja Mauri Tähkä »

jarikos kirjoitti: Su Helmi 11, 2024 11:08 pm Voihan se olla kortissakin vika eikä ollenkaan kytkennöissä. Taustavalon oletan säädetyn oikeanlaiseksi.
Kortissa se vika oli. Toisen kortin laitoin nyt, niin hienosti toimii lcd. Pitää heittää viallinen elektroniikkaromuihin ja hankkia tähän lopulliseen käyttöön sitten ihan alkuperäinen Arduino. Tarviihan noita olla vastaisuuden varalle myös yksi protokortti!

Valitettavasti lisää ongelmia tuli, kun edellinen ratkesi. Hyvä uutinen on kuitenkin se, että koodi näyttää olevan hyvällä mallilla virranmittauksen osalta. Huonoa on taas se, että kun shunttiin ei ole kytketty kuin "tuntojohdot", niin ampeereja on näytön mukaan 72, ja myös arduinolle menevä jännite on 4,2 volttia. Matemaattisesti koodin mukaan, kun noin 4,7 volttia on 80 ampeeria, niin oikein laskee tuosta jännitteestä. Eli tämä on varma ongelma siinä operaatiovahvistinpiirissä.

Eikös shunttivatuksen periaate ollut se, että jännitehäviö, josta operaatiovahvistinpiiri sen vahvistaa, kasvaa, kun virtaa tulee lisää? Eli Arduinolle menevä jännite nousee sitä mukaa, kun virtaa tulee lisää?

Ja onko opamp-piirissä jokin väärin?

Tässä kytkentäkaavio (huom. +12 V piiri ei vielä ollenkaan kytketty)
Kuva

Täysikokoinen kuva: https://onedrive.live.com/embed?resid=D ... ight=14033
Olen 100-vuotias ukko, siis kunnon vanha kukko.
Toista se ennen oli, mut nyt on meillä liivitön povi.
Nykymimmit ei seksiä pelkää, hyppää heti kiinni selkään.
Vaikka on nyt jo ikää mulla, taitojain onpi läppärin rulla.
Satavuotias aito suomimasinisti
jarikos
Viestit: 4400
Liittynyt: Ke Elo 05, 2020 1:40 pm
Paikkakunta: Lohja
Viesti:

Re: Autolaturi toimimaan laturina irtomoottorin kanssa

Viesti Kirjoittaja jarikos »

Joo tosiaankin nyt kun katsoin tuota kytkentää, niin alkujaan oli mielessä nuo kaikki samassa jännitteessä. Nyt tuo operaatiovahvistin pitäisi toteuttaa differentiaalina. Wikipediasta löytyy suoraan siihen kaavakin.

https://fi.m.wikipedia.org/wiki/Operaat ... enn%C3%A4t
Fordson Major Diesel -57, työkone
Fordson Major Diesel -57, entisöinti
Fordson Power Major -59, entisöinti
Fordson Major 1958 kaivurialustaprojekti
ARA AK 131 C 1979
Vastaa Viestiin

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Heka, Peksu123 ja 66 vierailijaa