peltier with 2 fans

Dependencies:   mbed TextLCD

Revision:
0:f2647a96f764
Child:
1:3aec489c7366
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Apr 08 03:55:31 2014 +0000
@@ -0,0 +1,97 @@
+#include "mbed.h"
+
+PwmOut peltier_cold(PTA12);
+PwmOut peltier_hot(PTA4);
+DigitalOut en_drv1(PTC13);
+DigitalOut en_drv2(PTC16);
+DigitalOut fan_in_peltier(PTC11);                                       // Peltier FAN inside  the camber
+DigitalOut fan_out_peltier(PTC10);                                      // Peltier FAN outside of the chamber
+
+unsigned int peltier_hot_pulsewidth;
+unsigned int peltier_green_pulsewidth;
+unsigned int peltier_cold_pulsewidth;
+unsigned int peltier_period =1000;
+unsigned int peltier_pulsewidth = 0;
+unsigned int peltier_step = 10;
+
+unsigned int pwm_cold_peltier(int brightness )
+{
+    if (brightness==1) {
+        peltier_cold_pulsewidth=peltier_cold_pulsewidth+peltier_step;
+        peltier_cold.pulsewidth_us(peltier_cold_pulsewidth);
+    };
+    if (brightness==0) {
+        peltier_cold_pulsewidth=peltier_cold_pulsewidth-peltier_step;
+        peltier_cold.pulsewidth_us(peltier_cold_pulsewidth);
+    };
+    return peltier_cold_pulsewidth;
+}
+unsigned int pwm_hot_peltier(int brightness)
+{
+    if (brightness==1) {
+        peltier_hot_pulsewidth=peltier_hot_pulsewidth+peltier_step;
+        peltier_hot.pulsewidth_us(peltier_hot_pulsewidth);
+    }
+    if (brightness==0) {
+        peltier_hot_pulsewidth=peltier_hot_pulsewidth-peltier_step;
+        peltier_hot.pulsewidth_us(peltier_hot_pulsewidth);
+    }
+    return peltier_hot_pulsewidth;
+}
+int main(void)
+{
+    en_drv1=0;//disable
+    en_drv2=0;//disable
+    fan_in_peltier=1;//enable
+    fan_out_peltier=1;//enable
+
+
+
+    en_drv1=1;//enable
+    en_drv2=1;//enable
+    while(1) {
+        en_drv1=1;
+        en_drv2=1;
+
+
+        // for cold
+        //   peltier_cold.period_us(peltier_period);
+        //    peltier_cold_pulsewidth=500;
+        //   pwm_cold_peltier(1);
+
+        peltier_hot.period_us(peltier_period);
+        peltier_hot_pulsewidth=500;//at 50%
+        pwm_hot_peltier(1);
+        wait(1.0);
+
+
+
+        /* peltier_cold.period_us(peltier_period);
+         peltier_cold_pulsewidth=peltier_pulsewidth;
+         for (int i=1; i<=100; i++) {
+             pwm_cold_peltier(1);
+             wait (0.1);
+         }
+         for (int i=1; i<=100; i++) {
+             pwm_cold_peltier(0);
+             wait (0.1);
+         }
+         peltier_cold_pulsewidth=10;    // set to 0
+         pwm_cold_peltier(0);           // set to 0
+
+         peltier_hot.period_us(peltier_period);
+         peltier_hot_pulsewidth=peltier_pulsewidth;
+         for (int i=1; i<=100; i++) {
+             pwm_hot_peltier(1);
+             wait (0.1);
+         }
+         for (int i=1; i<=100; i++) {
+             pwm_hot_peltier(0);
+             wait (0.1);
+         }
+         peltier_hot_pulsewidth=10;    // set to 0
+         pwm_hot_peltier(0);           // set to 0
+         */
+    }
+
+}