Instrumentation Monitoring and Control INST81000 DESIGN AND DEVELOPMENT OF A CONTROL PROGRAM FOR A HEAT SEALING STATION

Dependencies:   mbed C12832 LCD_fonts

Files at this revision

API Documentation at this revision

Comitter:
alejandromontes
Date:
Thu Jul 30 20:18:36 2020 +0000
Child:
1:fac1f476e7d4
Commit message:
Alejandro Montes Instrumentation, Monitoring and Control PROJECT

Changed in this revision

C12832.lib Show annotated file Show diff for this revision Revisions of this file
Heat_Sealer.cpp Show annotated file Show diff for this revision Revisions of this file
LCD_fonts.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/C12832.lib	Thu Jul 30 20:18:36 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/chris/code/C12832/#7de323fa46fe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Heat_Sealer.cpp	Thu Jul 30 20:18:36 2020 +0000
@@ -0,0 +1,116 @@
+#include "mbed.h"
+#include "C12832.h"
+#include "Arial12x12.h"
+#include "Arial_9.h"
+#include "Small_7.h"
+#include "Small_6.h"
+
+Serial pc(USBTX, USBRX);
+C12832 lcd(p5, p7, p6, p8, p11);
+AnalogIn Pot1(p19);
+AnalogIn Pot2(p20);
+PwmOut spkr(p26);
+PwmOut r (p23);
+PwmOut g (p24);
+PwmOut b (p25);
+BusOut leds(LED1,LED2,LED3,LED4);
+Timer timer1;
+InterruptIn joystickcenter(p14);
+InterruptIn button(p9);
+float force, temperature;
+int k,v;
+
+// HMI function. Interface to control and initiate the system
+void HMI(){
+   
+    pc.printf("HEAT SEAL OPERATION\n TO START OPERATION PRESS 's'\n FOR SET UP PRESS 'p'");
+    lcd.locate(10,0);
+    lcd.set_font((unsigned char*)Arial12x12);
+    lcd.printf("HEAT SEAL\n");
+    char c = pc.getc();
+    
+    if(c=='s'){
+            timer1.start(); // start timer1 counting
+            pc.printf("CYLCE STARTED\n");
+            lcd.locate(85,0);
+            lcd.set_font((unsigned char*)Small_7);
+            lcd.printf("STARTED\n");
+            }
+    if(c=='p') {
+            pc.printf("SYSTEM READY\n");
+            lcd.locate(85,0);
+            lcd.set_font((unsigned char*)Small_7);
+            lcd.printf("READY!!\n");   
+    }    
+}
+
+//Cycle within specs
+void good(){
+    leds=0xf;
+    wait(0.5);
+    leds=!leds;
+}
+
+//Cycle out of Specs
+void bad(){
+    spkr.period(5.0/2000);
+    spkr=(0.5);
+    wait(0.5);
+    spkr=0.0;
+}
+
+// Joystick centre button. Activates the Emergency stop. System require Reset after E-stop activated.
+void flip() {
+    timer1.stop();
+    pc.printf("CYLCE STOPPED\n");
+    lcd.locate(85,0);
+    lcd.set_font((unsigned char*)Small_7);
+    lcd.printf("STOPPED\n");
+    r.period(0.001);
+    g=1;
+    r=0;
+    wait(2);
+    timer1.reset();
+}
+
+  
+// HEAT SEAL OPERATION    
+int main(){
+    
+    k=1;
+    v=1;
+    HMI();
+    joystickcenter.rise(&flip); 
+    button.mode(PullUp);
+    button.rise(&flip);
+    
+    while(1){
+        
+        r=b=1;
+        force=Pot1*5500;
+        temperature=Pot2*300+30;
+        lcd.locate(0,12);
+        lcd.set_font((unsigned char*)Small_7);
+        lcd.printf("Force=%.1fN\n",force);
+        lcd.locate(70,12);
+        lcd.set_font((unsigned char*)Small_7);
+        lcd.printf("Temp=%.1fC\n",temperature);
+        
+        if(force>=4700.0 && temperature>=230.0 && timer1.read()>=5.0){
+            good();
+            lcd.locate(15,24);
+            lcd.set_font((unsigned char*)Small_6);
+            lcd.printf("Pass=%d\n",k);
+            k++;
+            timer1.reset(); 
+        }
+        else if(timer1.read()>=5.0){
+            bad();
+            lcd.locate(70,24);
+            lcd.set_font((unsigned char*)Small_6);
+            lcd.printf("Fail=%d\n",v);
+            v++;
+            timer1.reset();
+        }        
+    }        
+}    
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LCD_fonts.lib	Thu Jul 30 20:18:36 2020 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/dreschpe/code/LCD_fonts/#d0b7d7bf1f56
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Jul 30 20:18:36 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file