Styrning av länspump

Berätta om dina pågående projekt.
Användarvisningsbild
adent
Inlägg: 4103
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Styrning av länspump

Inlägg av adent »

Eftersom det är roligare att starta projekt än att avsluta dem så påbörjade jag ett till.
Med den skillnaden att detta projekt har kommit ganska långt.

Eftersom jag är en smula lat så klipper jag in från vår träbåtsblog här.
(Inlägget kan läsas i original här: https://s210.wordpress.com/2015/06/24/s ... -lanspump/)

Eftersom våra länspumpsgivare gärna slutar fungera tänkte jag göra en utan rörliga delar och spånade på att mäta vattennivån med ultraljud. Men efter funderingar runt vattentäthet så kom jag fram till att kapacitivt mätning nog är bättre.

Principen går ut på att två elektriskt ledande plattor som är isolerade från varandra och från vattnet kommer att ha olika kapacitans beroende på hur mycket täckta de är av vatten. Noggrannheten blir på centimeternivå. Om detta låter intressant kan ni fördjupa er i detta examensarbete jag hittade på nätet: Givare för mätning av spolarvätskenivå

När jag väl började designa en prototyp fick den en LCD-display med menysystem och fyra knappar.
Men sen slog det mig att pumpen alltid varvar upp när den har pumpat ur allt vatten och börjar pumpa luft. Detta borde gå att använda (pumpen drar mindre ström när den går ”i tomme”). Min prototyp fick även en krets för att mäta strömmen till pumpen. Den fick också möjlighet att mäta batterispänningen. På så vis kan man ackumulera hur mycket effekt som har tagits ur batteriet i form av Wh (Watt-timmar) eller om man så vill uttryckt i Ah (Ampere-timmar). Här började jag fundera på att även ha möjlighet att mäta ström IN till batteriet från en solcell, men så långt kom inte prototypen. I nästa version kanske.

Tanken är att man ska kunna köra länspumpen helt utan givare om man vill.

Man kan valfritt ställa att pumpen ska börja pumpa på följande kriterier:
  1. Vattennivån överstiger en given nivå. (valbar, kan ställas upp vid svällning) (Via kapacitiv givare)
  2. Ett tidsintervall, här behövs ingen givare alls om man inte vill.
  3. Vanlig switch, men avstängning kan fortfarande gå på något av nedanstående kriterier.
  4. (Man kan själv starta en tömning via menyn)
Man kan ställa att pumpen ska sluta pumpa på följande kriterier:
  1. Vattennivån understiger en given nivå (via kapacitiv givare)
  2. Att pumpen går torr (upptäcks via strömförbrukningen). Ingen givare behövs.
Provkörde startalternativ 4 med stopalternativ 2 idag och det fungerade perfekt som ni kan se här:

https://youtu.be/d3jWHkGJbYU
Senast redigerad av adent 24 juni 2015, 23:13:29, redigerad totalt 1 gång.
Användarvisningsbild
adent
Inlägg: 4103
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Styrning av länspump

Inlägg av adent »

Kretskortet visades upp för ungefär ett år sedan här:

http://elektronikforumet.com/forum/view ... 5#p1078221

Att ha 555:an på kortet fungerade dåligt eftersom ledningarna också är kapacitiva och lättpåverkade.
Nästa version kommer inte ha den "onboard" utan jag tänkte nog göra kretskort som _är_ den kapacitiva
givaren med 555:a på. Gäller bara att få dem helt vattentäta... Räcker verkligen krympslang och smältlim här?

Jag fick även överge min kära ATmega8 eftersom menysystemet tog en del plats. 8kbyte räckte inte riktigt.
Men nu när jag gick över till ATmega328 så har jag inte kommit över 10kbyte trots att jag implementerat
en hel del ny funktionalitet.

MVH: Mikael
Användarvisningsbild
adent
Inlägg: 4103
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Styrning av länspump

Inlägg av adent »

Det jag är mest nöjd över är menysystemet. Så här ser koden ut som sätter upp hela menysystemet. Väldigt lättändrat.
Helst hade jag velat generera menyn statiskt "i förväg" men eftersom den innehåller funktionpekare och referenser till variabler blir
det lurigt:

R - Root node
I - Intermediate node
L - List node (kan nog lika gärna vara I, ska kolla på det.)
O - Option node (en av dessa är valbar och den valda markeras med [x])
A - Action node (om den väljs kommer innehållet i 4:e argumentet att stoppas i förälderns 4:e argument, menyn avslutas tillfälligt)
D - Dynamic node (Fjärde argumentet är en funktionspekare som tar över knapptryckningar, Femte är option till funktionen)

Kod: Markera allt

	add_node('R',0,"Menu",NULL, NULL);
		add_node('I',1,"Settings",NULL, NULL);
			add_node('L',2,"Start on...",&stSettings.start_cond, NULL);
				add_node('O',3,"Switch",SWITCH, NULL);
				add_node('O',3,"Level",LEVEL, NULL);
				add_node('O',3,"Time" ,TIME, NULL);
			add_node('L',2,"Stop on...",&stSettings.stop_cond, NULL);											
				add_node('O',3,"Level"	,LEVEL, NULL);
				add_node('O',3,"Current",CURRENT, NULL);
			add_node('I',2,"Lvl- Settings",&action, NULL);		
				add_node('I',3,"Start depth",&stSettings.start_depth, NULL);		
					add_node('D',4,"%d cm",menu_event_integer, 1);			
				add_node('I',3,"Stop depth",&stSettings.stop_depth, NULL);		
					add_node('D',4,"%d cm",menu_event_integer, 1);			
				add_node('A',3,"Calibrate",LEVEL_CALIBRATE, NULL);		
			add_node('I',2,"Curr. Settings",&action, NULL);
				add_node('A',3,"Calibrate",CURRENT_CALIBRATE, NULL);
				add_node('I',3,"Threshold",&stSettings.current_threshold, NULL);
					add_node('D',4,"%d A",menu_event_integer, 1);			
			add_node('I',2,"Start interval",&stSettings.start_interval, NULL);
				add_node('D',3,"%d minutes",menu_event_integer, 10);			
		add_node('I',1,"Run manual",&action, NULL);
			add_node('A',2,"Run to stop",RUN_TO_STOP, NULL);
			add_node('A',2,"Start pump",START_PUMP, NULL);
			add_node('A',2,"Stop pump",STOP_PUMP, NULL);
RADIOT
Inlägg: 471
Blev medlem: 29 oktober 2011, 19:04:54
Ort: Öckerö JO57TR

Re: Styrning av länspump

Inlägg av RADIOT »

Intressant projekt, kommer att följa det med spänning. (Ha ha där var man vitsig).

Har haft liknande tankar till min båt.

Med tanke på Mr Murphy som har ett finger med överallt, så skulle jag även montera en vanlig strömbrytare som för att kunna "nödköra" pumpen den dagen som automatiken lägger av just när man MÅSTE pumpa.
Skriv svar