Hallo,
I 'm making a simple indication of the level of water in my watertank in the caravan.
I'ts a can with ca 40 liters of water.
With a simple system of sensors and a probe I put every x minuts a pulse on the probe.
During the pulse I can read out the inputs If they are under water I read about 200 - 220 of the 255, if the are above the waterlevel I read 0. I pull the inputs down with a 470k resistor.
So far so good.
But one of the inputs (input ADC-3,C3, pin nr7) of my M20 has a curious behaviour. I'ts completely foating. With a 470k resistor it's about zero, but it stays zero when I pulse. With a 5,7M resistor I can see differense between pulse and no pulse, but not very relaeble.
I've tried another M20 and a 20M2, but i'ts with the same result.
Is this a hardware isue??
Sorry, the description is in dutch. As you can see in the code I've experimentend with some pause ect. There is no difference.
Hans
I 'm making a simple indication of the level of water in my watertank in the caravan.
I'ts a can with ca 40 liters of water.
With a simple system of sensors and a probe I put every x minuts a pulse on the probe.
During the pulse I can read out the inputs If they are under water I read about 200 - 220 of the 255, if the are above the waterlevel I read 0. I pull the inputs down with a 470k resistor.
So far so good.
But one of the inputs (input ADC-3,C3, pin nr7) of my M20 has a curious behaviour. I'ts completely foating. With a 470k resistor it's about zero, but it stays zero when I pulse. With a 5,7M resistor I can see differense between pulse and no pulse, but not very relaeble.
I've tried another M20 and a 20M2, but i'ts with the same result.
Is this a hardware isue??
Sorry, the description is in dutch. As you can see in the code I've experimentend with some pause ect. There is no difference.
Hans
Code:
[color=Green]'water niveaumeter caravan.
'20m, 4 voelers, 5 niveauleds
'1 led algemeen
'1 x drukknop inschakelen niveau
#Rem korte beschrijving:
door puls op de probe te zetten en vervolgens gedurende de puls op 4 meetpennen te meten of ze in het water staan of niet is het mogelijk met 5 leds het waterniveau aan te geven.
probe:onder in de tank
Geen pen in water: rood
pen1: op 20% hoogte rood+oranje
pen2: op 40% hoogte rd+or+grn
pen3: op 60% hoogte rd+or+grn+grn
pen4: op 80% hoogte rd+or+grn+grn+grn
De drukknop meet de hoogte van het water in de tank. (geen continue meting ivm electrolyse)
of eens per x tijd meten en de laatste waarneming laten staan.
pin bezetting
1 = V+ 20 = V-
2 = RXD 19 = TXD
3 = InH4 18 = led1
4 = toets 17 = led2
5 = 16 = led3
6 = 15 = led4
7 = inH3 14 = led5
8 = inH2 13 = probe
9 = inH1 12 =
10 = 11 = led
evt 11 en 3 wisselen, 11 is dan probe en 3 is dan disp uit, pwm aansturing van 3 segment display
#Endrem
'toetsroutie nog toevoegen
'gevoeligheid pinc.3 is anders dan de andere drie. Hardware probleem?[/color]
[color=Black]init:[/color]
[color=Navy]#picaxe [/color][color=Black]20M[/color]
[color=Navy]#No_data[/color]
[color=Blue]Setfreq M8[/color]
[color=Green]'toewijzen alias:[/color]
[color=Blue]Symbol [/color][color=Black]inh1 [/color][color=DarkCyan]= [/color][color=Blue]C.1
Symbol [/color][color=Black]inh2 [/color][color=DarkCyan]= [/color][color=Blue]C.2
Symbol [/color][color=Black]inh3 [/color][color=DarkCyan]= [/color][color=Blue]C.3
Symbol [/color][color=Black]inh4 [/color][color=DarkCyan]= [/color][color=Blue]C.7
Symbol [/color][color=Black]dtoets[/color][color=DarkCyan]=[/color][color=Purple]pinC.6[/color]
[color=Blue]Symbol [/color][color=Black]led1 [/color][color=DarkCyan]= [/color][color=Blue]B.0
Symbol [/color][color=Black]led2 [/color][color=DarkCyan]= [/color][color=Blue]B.1
Symbol [/color][color=Black]led3 [/color][color=DarkCyan]= [/color][color=Blue]B.2
Symbol [/color][color=Black]led4 [/color][color=DarkCyan]= [/color][color=Blue]B.3
Symbol [/color][color=Black]led5 [/color][color=DarkCyan]= [/color][color=Blue]B.4
Symbol [/color][color=Black]probe [/color][color=DarkCyan]= [/color][color=Blue]B.5
Symbol [/color][color=Black]led [/color][color=DarkCyan]= [/color][color=Blue]B.7[/color]
[color=Green]'toewijzing variabelen
'symbol b0= W0 vrijhouden
'symbol b1=[/color]
[color=Blue]Symbol [/color][color=Black]inho1 [/color][color=DarkCyan]= [/color][color=Purple]b2[/color]
[color=Blue]Symbol [/color][color=Black]inho2 [/color][color=DarkCyan]= [/color][color=Purple]b3[/color]
[color=Blue]Symbol [/color][color=Black]inho3 [/color][color=DarkCyan]= [/color][color=Purple]b4[/color]
[color=Blue]Symbol [/color][color=Black]inho4 [/color][color=DarkCyan]= [/color][color=Purple]b5[/color]
[color=Blue]Symbol [/color][color=Black]toets [/color][color=DarkCyan]= [/color][color=Purple]b6[/color]
[color=Blue]Symbol [/color][color=Black]tel [/color][color=DarkCyan]= [/color][color=Purple]b7[/color]
[color=Blue]High [/color][color=Black]led1,led2,led3,led4[/color]
[color=Blue]Pause [/color][color=Navy]1000[/color]
[color=Blue]Low [/color][color=Black]led1,led2,led3,led4
Main:[/color]
[color=Blue]Gosub [/color][color=Black]lees[/color]
[color=Blue]Gosub [/color][color=Black]display1[/color]
[color=Green]'Gosub toetsin[/color]
[color=Blue]Goto [/color][color=Black]main
Lees:[/color]
[color=Green]'ongeveer 1 x per 60 seconden het niveau meten
'of slechts meten als er op de knop gedrukt wordt.
'of led's continue aan, verversen 1 per uur of zo of bij wijziging van de meetwaarden Kan dat???
' bijv door te meten na begruik van de pomp?
'LEES probe
'If tel = 60 Then '1 meting per minuut
[/color][color=Blue]High [/color][color=Black]probe
[/color][color=Green]'Pause 50
[/color][color=Blue]Readadc [/color][color=Black]inh1, inho1
[/color][color=Green]'Pause 50
[/color][color=Blue]Readadc [/color][color=Black]inh2, inho2
[/color][color=Green]'Pause 500
[/color][color=Blue]Readadc [/color][color=Black]inh3, inho3
[/color][color=Green]'Pause 500
[/color][color=Blue]Readadc [/color][color=Black]inh4, inho4
[/color][color=Green]'Pause 50
[/color][color=Blue]Low [/color][color=Black]probe
[/color][color=Blue]Let [/color][color=Black]tel[/color][color=DarkCyan]=[/color][color=Navy]0[/color]
[color=Green]'endif[/color]
[color=Blue]Pause [/color][color=Navy]1000[/color]
[color=Black]tel[/color][color=DarkCyan]=[/color][color=Black]tel[/color][color=DarkCyan]+[/color][color=Navy]1[/color]
[color=Blue]Sertxd([/color][color=Black]#[/color][color=Purple]b2[/color][color=Black],[/color][color=Red]" .B2."[/color][color=Black],#[/color][color=Purple]b3[/color][color=Black], [/color][color=Red]" .B3."[/color][color=Black], #[/color][color=Purple]b4[/color][color=Black], [/color][color=Red]" .B4."[/color][color=Black],#[/color][color=Purple]b5[/color][color=Black], [/color][color=Red]" .B5."[/color][color=Black],[/color][color=Purple]b6[/color][color=Black], [/color][color=Red]" .toets."[/color][color=Black],[/color][color=Blue]Cr[/color][color=Black],[/color][color=Blue]Lf)
Return[/color]
[color=Black]Display1:[/color]
[color=Green]'stuurt de leds van de niveaumeter.
'If toets=1 Then[/color]
[color=Blue]High [/color][color=Black]led1 [/color][color=Green]'brand altijd; minder dan 20%[/color]
[color=Blue]If [/color][color=Black]inho1 [/color][color=DarkCyan]>[/color][color=Navy]150 [/color][color=Blue]Then High [/color][color=Black]led2 [/color][color=Blue]endif [/color][color=Green]'20-40%[/color]
[color=Blue]If [/color][color=Black]inho1 [/color][color=DarkCyan]<=[/color][color=Navy]50 [/color][color=Blue]Then Low [/color][color=Black]led2 [/color][color=Blue]endif
If [/color][color=Black]inho2 [/color][color=DarkCyan]>[/color][color=Navy]150 [/color][color=Blue]Then High [/color][color=Black]led3 [/color][color=Blue]endif [/color][color=Green]'40-60%[/color]
[color=Blue]If [/color][color=Black]inho2 [/color][color=DarkCyan]<=[/color][color=Navy]50 [/color][color=Blue]Then Low [/color][color=Black]led3 [/color][color=Blue]endif
If [/color][color=Black]inho3 [/color][color=DarkCyan]>[/color][color=Navy]150 [/color][color=Blue]Then High [/color][color=Black]led4 [/color][color=Blue]endif [/color][color=Green]'60-80%[/color]
[color=Blue]If [/color][color=Black]inho3 [/color][color=DarkCyan]<=[/color][color=Navy]100 [/color][color=Blue]Then Low [/color][color=Black]led4 [/color][color=Blue]endif
If [/color][color=Black]inho4 [/color][color=DarkCyan]>[/color][color=Navy]150 [/color][color=Blue]Then High [/color][color=Black]led5 [/color][color=Blue]endif [/color][color=Green]'80-100%[/color]
[color=Blue]If [/color][color=Black]inho4 [/color][color=DarkCyan]<=[/color][color=Navy]50 [/color][color=Blue]Then Low [/color][color=Black]led5 [/color][color=Blue]endif[/color]
[color=Green]'endif[/color]
[color=Blue]If [/color][color=Black]toets[/color][color=DarkCyan]=[/color][color=Navy]0 [/color][color=Blue]Then
Pause [/color][color=Navy]5000[/color]
[color=Green]'Low led1,led2,led3,led4,led5 'afhankelijk of drukknop of continue gemeten wordt[/color]
[color=Blue]endif
Return[/color]
[color=Black]toetsin:[/color]
[color=Blue]If [/color][color=Black]dtoets[/color][color=DarkCyan]=[/color][color=Navy]1 [/color][color=Blue]Then
If [/color][color=Black]toets[/color][color=DarkCyan]=[/color][color=Navy]0 [/color][color=Blue]Then
[/color][color=Black]toets[/color][color=DarkCyan]=[/color][color=Navy]1
[/color][color=Blue]Else
[/color][color=Black]toets[/color][color=DarkCyan]=[/color][color=Navy]0
[/color][color=Blue]endif
endif
Do Until [/color][color=Black]dtoets[/color][color=DarkCyan]=[/color][color=Navy]0 [/color][color=Blue]High b.0 Loop [/color][color=Green]'wacht tot toets is losgelaten[/color]
[color=Blue]Low [/color][color=Black]led[/color]
[color=Blue]Return[/color]