Fläktvarvräknare med raspberry pi

Skriv svar
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Fläktvarvräknare med raspberry pi

Inlägg av Honda »

Tröttnade på att inte ha någon koll på vad lambdaregulatorn sysslar med så jag knopade ihop en varvräknare för fläkten med en ir-diod och ir-mottagare kopplad till en ingång på raspberryn och en bit aluminiumtejp på fläkthjulets nav.
Bild
Petade in kortet i ett "telefonuttag" från classe för att snygga till det lite:
Bild
Första fullständigt naiva programversionen i python tar 2.6% av raspberryns cpu vid 1800rpm. Testade med borrmaskinen upp till 4500rpm och det blev ca 10% så det finns nog marginaler så det räcker. Jag trodde faktiskt att jag skulle hamna att koda det i c, men det verkar ju helt onödigt. En interrupt på nedåtgående kant på ingången läser av en frilöpande megaherztimer och sparar undan diffen till förra värdet i en buffer. Första versionen av filtrering sorterar 5 senaste sampel och tar medeltalet av de tre mellersta + lite lowpass på det. Verkar funka helt tillfredsställande trots att interrupthantering via python har minst sagt varierande latency.

Ska nog fixa någon bild på monteringen i brännaren i något skede, men det hann jag inte med ikväll och dessutom ska jag nog fixa ett snyggare montage än en fasttejpad bit spikband tvärs över insuget.

Sedan blir det ett plugin till PellMon för loggning av lambdaregulatorns pådrag räknat från differensen mellan norm-varvtal och uppmätt varvtal, och alarm vid avvikande varvtal kommer ju på köpet. Och koden kommer naturligvis på github...

Onödigt men skoj!
Senast redigerad av Honda den ons 22 jan, 2014 10:31, redigerad totalt 1 gånger.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
subaru95
Fröträd
Inlägg: 64
Blev medlem: sön 05 okt, 2008 00:09

Re: Fläktvarvräknare

Inlägg av subaru95 »

Inte alls onödigt bara skoj

//Hasse
psau
Energiprofet!
Inlägg: 551
Blev medlem: mån 17 jan, 2011 11:26
Ort: Segeltorp

Re: Fläktvarvräknare

Inlägg av psau »

Snyggt jobbat Honda, jag har varit inne på att läsa fläkten men inte gått den manuella vägen utan snarare läsa tacho returen från fläkten själv, detta är ju mkt lättare!

/Peter
Panna: Effecta 220 tidigare Nibe City
Brännare: BioNordic B16GL med modulerande drift, tidigare PX21
Dragbegränsare: Tigex 25(liten)
Ventilation: Flexit Uni3 FTX
Hus: två plan 160kvm tot, 23grader inne.
Förbrukning: 6-7 pall
rod02
Pannrumshärskare!
Inlägg: 2637
Blev medlem: lör 20 dec, 2008 02:01

Re: Fläktvarvräknare

Inlägg av rod02 »

Lite bilder på fläkten skulle vara kul.
Egor duplomat D1F 1978 Pellx 2001 7.0 Tigex25 Bulkföråd Termomatic ERA
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: Fläktvarvräknare

Inlägg av Honda »

Ok, så här ser det ut nu (men förhoppningsvis inte länge till):
Bild
Tänkte egentligen att dosan bara skulle "kika över kanten" på fläkthuset, men ögat hamnade lite för långt från navet då. Men det gick ju så här också, och nej den blockerar inte märkbart luftflödet.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: Fläktvarvräknare

Inlägg av Honda »

Provade det här http://fritzing.org/download/ igår. Helt användbart för att rita upp små kretscheman, så här kopplade jag 'ögat' ifall någon är intresserad:
Bild
Fritzing kan även autorouta till enkel eller dubbelsidig pcb och till och med routa till breadboard!
Bild
Komponenter valda ur skrotlådan utan större eftertanke, transistorn bara för att ir-sensorn vill ha minst 5V och raspberryn 3,3V på ingången.

Och för att vara komplett så kan jag ju lägga till kodsnutten jag testade med:

Kod: Markera allt

#! /usr/bin/python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import mmap
import sys

def timer():
    m.seek(4)
    s =  m.read(8)
    o = 0
    for c in range(0,7):
        o += ord(s[c])<<(8*c)
    return o

def edge_callback(channel):
    global last_time
    global buf
    global index
    global f
    global lapse
    time = timer()
    timediff = time - last_time
    last_time = time
    buf[index] = timediff
    if index == 4:
        index = 0
    else:
        index += 1
    lapse += timediff
    l = buf
    l.sort()
    s = l[2]
    if s>1:
        f1 = 1/float(s) * 1000000 * 60
        f=(f + f1) / 2
    else:
        f=0
    if lapse < 500000:
        return
    lapse = 0
    s='='*int(f/25)+'>'
    a=str(int(f))
    s=a+s[len(a):]
    l=len(s)
    s=s+' '*(100-l)
    sys.stdout.write('\r'+s)
    sys.stdout.flush()

print " 0     150   300   450   600   750   900   1050  1200  1350  1500  1650  1800  1950  2100 2250 2400 "

f = open ('/dev/mem','r')
m = mmap.mmap(f.fileno(), 4096, mmap.MAP_SHARED, mmap.PROT_READ, offset=0x20003000)

GPIO.setmode(GPIO.BOARD)
GPIO.setup(15, GPIO.IN)

f = 0
buf = [0,0,0,0,0]
index = 0
last_time=timer()
lapse = 0

GPIO.add_event_detect(15, GPIO.FALLING, callback=edge_callback)

a=raw_input()

Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: Fläktvarvräknare med raspberry pi

Inlägg av Honda »

Fläktvarvtalet med i loggen nu:
Bild
och koden hittas här: https://github.com/motoz/PellMon. Den missar toppen på renblåsningarna var 5:e minut med 1 sampel/10s, ska fixa nåt filter som hittar såna toppar i något skede.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: Fläktvarvräknare med raspberry pi

Inlägg av Honda »

Nu filtreras de riktiga peakarna fram som de ska:
Bild
Fläkt-lambda-regulatorn är en PD regulator, så fläkthastigheten fladdrar en del pga den deriverande termen i den här bilden. Kan ju inte låta bli att tweaka regulatorn i det oändliga, men jag tycker att PD verkar fungera bättre än bara P (eller inget alls). Det finns även en långsamt integrerande term som justerar pelletmatningen. Sonden är en lsm11 som Icecap har dömt ut som obrukbar :-), jag kan hålla med om att den nog kunde vara betydigt exaktare, men tycker ändå att den fyller en funktion.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
Skriv svar