Sida 1 av 1

Ölfatfyllarprojekt, hjälp med programmering

Postat: 20 december 2015, 20:11:56
av Seasick
Hej,
Jag bygger en maskin som ska fylla ölfat till en bestämd volym. Systemet bygger på arduino, en digital våg och pneumatiska ventiler som öppnar i en viss sekvens.

Bygga, löda och koppla är jag hygglig på men programmera är för svårt. Jag behöver därför hjälp av någon som kan programmera arduino. Jag har gjort ett flödesschema med alla funktioner och har en skisser som beskriver systemet och hur det skall kopplas. Jag förstår hyggligt kod när jag ser den men kan inte utveckla eller "bygga om" allt för mycket.

Som ersättning kan jag erbjuda tex. ett kit med det som behövs för att bygga elektroniken till ett bryggverk inklusive programmerad arduino (Jag har tidigare byggt ett bryggverk som är en klon på Biermeister 20 med hjälp av arduino, bryggt 50 batcher utan problem). Om det inte är intressant så har jag en verkstad med en liten CNC-fräs, svets, komplett träverkstad så jag kan bygga något som du behöver.

Jag kan också tänka mig att byta tjänst mot pneumatikdelar, jag har massor av nya SMC-delar, tex 12 Volts pneumatiska miniventiler som är perfekta att använda med arduino eller ännu bättre med Controllino som har inbyggt 12V.

Tacksam för hjälp.

Re: Ölfatfyllarprojekt, hjälp med programmering

Postat: 20 december 2015, 20:30:07
av Mediespecialist
Tjena.
Var i landet finns du?

/ Petter

Re: Ölfatfyllarprojekt, hjälp med programmering

Postat: 20 december 2015, 20:33:46
av Seasick
Hej,

Bor i Enskede, verkstaden på Södermalm.

/ Johan

Re: Ölfatfyllarprojekt, hjälp med programmering

Postat: 20 december 2015, 20:37:35
av Mediespecialist
Okej.
Inga problem rent tekniskt men det är ju en bit mellan dej och mej.
Hittar du nån närmare är det ju enklare.

/ Petter

Re: Ölfatfyllarprojekt, hjälp med programmering

Postat: 20 december 2015, 20:52:43
av Seasick
Jo, men det går kanske att skicka kod som jag kan köra och "rapportera" eventuella fel. Bifogar PDFer som visar hur jag tänkt.

/ johan

Re: Ölfatfyllarprojekt, hjälp med programmering

Postat: 22 december 2015, 14:43:52
av ViktorSigg
Det är ju väldigt simpel kod kan man ju lungt säga.
Det är dock problem vid purge, denna kommer bara att inträffa fram tills nästa instruktion kommer. Det ska inte vara någon tid där??

Enda osäkerheten är väl vågen, vad är det för signal??

Re: Ölfatfyllarprojekt, hjälp med programmering

Postat: 22 december 2015, 17:13:23
av Jonaz
Den här tråden behöver bilder på anläggningen!!!

Re: Ölfatfyllarprojekt, hjälp med programmering

Postat: 22 december 2015, 23:30:26
av netrunner
Det är ju en enkel kod men frågan är hur den digital vågen är inkopplad och hur ofta den uppdaterar sin mätning?

Re: Ölfatfyllarprojekt, hjälp med programmering

Postat: 27 december 2015, 11:41:21
av aske
Har du fått hjälp eller har det varit fullt upp under julen?

Några frågor;
Vad bestämmer att man går ur läget "purge"?
Hur mäter man volymen? (gissar på att det är vågen, och som netrunner skrev är frågan hur ofta den mäter).

Annars låter det här som en ganska enkel sak, du verkar ha koll på saker och ting runtom. Klistrar in en kodstruktur så som jag tolkade ditt flödesdiagram, koden är inte skriven för att vara bra eller snygg men förhoppningsvis är den någorlunda lättläst :)

Kod: Markera allt

void loop(){

      switch (state){

      case GRUNDLÄGE:{
         greenLightA(OFF);
         valveA(CLOSED); 
         greenLightB(OFF);
         valveB(CLOSED);  
         if ( readStartButton() == PRESSED ){
            state = PURGE;
            }   		
         break;
         }

      case PURGE:{
         greenLightB(ON);
         valveB(OPEN);  
         if ( readStopButton() == PRESSED ){
            state = GRUNDLÄGE;
            }
         else if ( purgeStatus() == DONE ){
            state = FILL;
            } 
         break;
         }

      case FILL:{
         valveA(OPEN); 
         valveB(CLOSED);   
         if ( readStopButton() == PRESSED ){
            state = GRUNDLÄGE;
            }
         else if ( timeStatus() == TOO_LONG ){
            state = ERROR;
            }
         else if ( fillStatus() == DONE ){
            state = FILLED;
            }  
         break;
         }

      case FILLED:{ 
         greenLightA(ON);
         valveA(CLOSED); 
         buzzerSound();
         break;
         }
      case ERROR:
      case default:{ 
         //...
         break;
         }
  }
}