Ölfatfyllarprojekt, hjälp med programmering

Robot, CNC, Pneumatik, Hydraulik, mm
Seasick
Inlägg: 3
Blev medlem: 20 december 2015, 18:31:17
Ort: Enskede

Ölfatfyllarprojekt, hjälp med programmering

Inlägg 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.
Användarvisningsbild
Mediespecialist
Inlägg: 479
Blev medlem: 18 oktober 2010, 18:43:24
Ort: Kalmar
Kontakt:

Re: Ölfatfyllarprojekt, hjälp med programmering

Inlägg av Mediespecialist »

Tjena.
Var i landet finns du?

/ Petter
Seasick
Inlägg: 3
Blev medlem: 20 december 2015, 18:31:17
Ort: Enskede

Re: Ölfatfyllarprojekt, hjälp med programmering

Inlägg av Seasick »

Hej,

Bor i Enskede, verkstaden på Södermalm.

/ Johan
Användarvisningsbild
Mediespecialist
Inlägg: 479
Blev medlem: 18 oktober 2010, 18:43:24
Ort: Kalmar
Kontakt:

Re: Ölfatfyllarprojekt, hjälp med programmering

Inlägg 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
Seasick
Inlägg: 3
Blev medlem: 20 december 2015, 18:31:17
Ort: Enskede

Re: Ölfatfyllarprojekt, hjälp med programmering

Inlägg 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
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
ViktorSigg
Inlägg: 376
Blev medlem: 11 januari 2015, 17:33:50
Ort: Eskilstuna-Ludvika

Re: Ölfatfyllarprojekt, hjälp med programmering

Inlägg 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??
Användarvisningsbild
Jonaz
Inlägg: 2330
Blev medlem: 4 november 2003, 22:06:33
Ort: Huddinge

Re: Ölfatfyllarprojekt, hjälp med programmering

Inlägg av Jonaz »

Den här tråden behöver bilder på anläggningen!!!
Användarvisningsbild
netrunner
Inlägg: 5510
Blev medlem: 4 februari 2005, 12:26:05
Ort: 127.0.0.1

Re: Ölfatfyllarprojekt, hjälp med programmering

Inlägg 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?
aske
Inlägg: 79
Blev medlem: 10 april 2012, 17:55:13

Re: Ölfatfyllarprojekt, hjälp med programmering

Inlägg 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;
         }
  }
}
Skriv svar