beveiliging rolstoel lier

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 12
Geregistreerd: 17 Jan 2019, 20:50

beveiliging rolstoel lier

Berichtdoor Bartsmetsers » 29 Jan 2023, 23:31

Ik heb een goedkope lier in de rolstoel auto gebouwd om mijn vrouw met rolstoel en al in de auto te trekken. nu kan dat ding 1300kg trekken.
als er iets mis gaat trekt die dus zo die rolstoel kapot. nu wil ik met een arduino mega een tft scherm en een amp meet module een beveiliging maken. dit op basis van een voorbeeld volt amp meter. en dan zodra het ampère hoger word dan ingestelde waarde dat hij het relais inschakelt.
het is al weer lang geleden dat ik met arduino aan de hobby ben geweest. kan iemand mij tips geven hoe ik in de bij gevoegde code een trigger maak dat bij een bepaald ampère het relais schakelt?


#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
int a,b,c;
long volt,current,power,ah;
unsigned long msec = 0;
float time = 0.0;
int sample = 0;
float totalCharge = 0.0;
float averageAmps = 0.0;
float ampSeconds = 0.0;
long ampHours = 0;

void setup()
{

lcd.begin(16, 2);
Serial.begin(9600);
}


void loop()

{
for(int i=0;i<200;i++){
c = analogRead(A1);
a = analogRead(A0);
volt=volt+a;
current=current+c;
delay(1);
}
current=(current/200-514);
if(current<1)current=0;
current=current*7;// change the number to different value to calibrate the current sensor
volt=volt/30;
power=(volt*current)/1000;

sample = sample + 1;

msec = millis();



time = (float) msec / 1000.0;

totalCharge = totalCharge + (current);

averageAmps = totalCharge / sample;

ampSeconds = averageAmps*time;

ampHours = ampSeconds/3600;

Serial.print(volt);
Serial.print(" ");
Serial.print(current);
Serial.print(" ");
Serial.print(power);

Serial.print(" ");
Serial.print(ampHours);
Serial.print(" ");
Serial.println(time);

lcd.setCursor(6,0);
lcd.print("V");
b=volt%10;
lcd.setCursor(5,0);
lcd.print(b);
b=(volt/10)%10;
lcd.setCursor(4,0);
lcd.print(b);
lcd.setCursor(3,0);
lcd.print(".");
b=(volt/100)%10;
lcd.setCursor(2,0);
lcd.print(b);
b=(volt/1000)%10;
lcd.setCursor(1,0);
if(volt>999)lcd.print(b);
else lcd.print(" ");

lcd.setCursor(14,0);
lcd.print("A");

b=current%10;
lcd.setCursor(13,0);
lcd.print(b);
b=(current/10)%10;
lcd.setCursor(12,0);
lcd.print(b);
lcd.setCursor(11,0);
lcd.print(".");
b=(current/100)%10;
lcd.setCursor(10,0);
lcd.print(b);


lcd.setCursor(6,1);
lcd.print("W");
b=power%10;
lcd.setCursor(5,1);
lcd.print(b);
b=(power/10)%10;
lcd.setCursor(3,1);
lcd.print(b);
lcd.setCursor(4,1);
lcd.print(".");
b=(power/100)%10;
lcd.setCursor(2,1);
if(power>99)lcd.print(b);
else lcd.print(" ");
b=(power/1000)%10;

lcd.setCursor(1,1);
if(power>999)lcd.print(b);
else lcd.print(" ");
//------------
lcd.setCursor(14,1);
lcd.print("AH");

b=ampHours%10;
lcd.setCursor(13,1);
lcd.print(b);
b=(ampHours/10)%10;
lcd.setCursor(12,1);
lcd.print(b);
lcd.setCursor(11,1);
lcd.print(".");
b=(ampHours/100)%10;
lcd.setCursor(10,1);
lcd.print(b);
b=(ampHours/1000)%10;
lcd.setCursor(9,1);
lcd.print(b);

delay(100);

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: beveiliging rolstoel lier

Berichtdoor shooter » 02 Feb 2023, 09:58

als power > instelling dan een output van relais stoppen (soms is dat HIGH vaak is dat LOW) ligt aan relaisschakeling. Er gaat veel ampere door het relais dus een speciaal autorelais is aanbevolen
en ik zie amphours nog niet zitten
verder gebruik je overal een b als variabele dus dan wordt een fout wel snel onzichtbaar, geef ze een naam en je zet bijvoorbeeld b=b+analog value maar nergens begin je met b=0
paul deelen
shooter@home.nl

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 7 gasten