SOLDADOR DE DOBLE PULSO CON BLUEPILL STM32F103

Dependencies:   mbed QEI Debounced TextLCD

SOLDADOR DE PUNTO PARA SOLDAR BATERIAS DE IONES DE LITIO CON LAMINAS DE NICKEL. EMPLEA UN STM32F103 BLUEPILL. CON UN ENCODER ROTATORIO SE CONFIGURAN TRES TIEMPOS PARA LOS DOS PULSOS Y UN PERIODO DE ESPERA. EL PROGRAMA INICIA CON LA CARGA DEL CONDENSADOR (IGBT1)DE 5 FARADIOS Y TERMINADA LA CARGA DESCONECTA LA FUENTE DEL CONDENSADOR Y LUEGO ENVÍA EL DOBLE PULSO A LAS PUNTAS DEL SOLDADOR(IGBT). EL PULSO SE PUEDE REPETIR SOLO ACCIONANDO EL SUICHE DE PEDAL. (fire). UN PULSADOR ESTA INCORPORADO AL ENCODER (button) Y SIRVE PARA SELECCIONAR EL TIEMPO A CONFIGURAR. UNA VES LOS TIEMPOS SON LOS DESEADOS, SE PISA EL BOTON DE PIE (fire) Y LA SOLDADURA SE INICIA.

LOS tres TIEMPOS SE PUEDEN CAMBIAR ENTRE CERO Y 99 milisegundos

/media/uploads/tony63/spot1.png

IMAGEN DE PRUEBA CON OSCILOSCOPIO PULSO CORTO DE 5mS DESCANSO Y PULSO LARGO 20mS /media/uploads/tony63/scope1.png

Revision:
0:271d74b09d64
Child:
1:e10c603cf0ae
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Jan 15 11:07:07 2017 +0000
@@ -0,0 +1,65 @@
+/* Hello World! for the TextLCD Enhanced Library*/
+
+#include "stm32f103c8t6.h"
+#include "mbed.h"
+#include "TextLCD.h"
+
+
+int main()
+{
+    confSysClock();     // configure system clock (72MHz HSE clock, 48MHz USB clock)
+    
+    // Host PC Communication channels
+    Serial  pc(PA_2, PA_3);     // tx, rx
+
+    // LCD instantiation
+    TextLCD lcd(PA_8, PA_9, PA_10, PA_11, PA_12, PA_15, TextLCD::LCD16x2);  // 4-bit bus: RS, E, D4, D5, D6, D7
+    Timer   t;
+
+    
+    pc.printf("TextLCD Enhanced Test. Columns=%d, Rows=%d\n\r", lcd.columns(), lcd.rows());
+
+    for (int row = 0; row < lcd.rows(); row++) {
+        int col = 0;
+
+        pc.printf("MemAddr(Col=%d, Row=%d)=0x%02X\n\r", col, row, lcd.getAddress(col, row));
+        
+        lcd.putc('0' + row);
+
+        for (col=1; col < lcd.columns() - 1; col++) {
+            lcd.putc('*');
+        }
+
+        pc.printf("MemAddr(Col=%d, Row=%d)=0x%02X\n\r", col, row, lcd.getAddress(col, row));
+        lcd.putc('+');
+    }
+
+// Fill screen again and time it
+    t.start();
+
+    for (int row=0; row<lcd.rows(); row++) {
+        int col=0;
+
+        lcd.putc('0' + row);
+
+        for (col=1; col<lcd.columns()-1; col++) {
+            lcd.putc('*');
+        }
+
+        lcd.putc('+');
+    }
+    t.stop();
+    pc.printf("All my hard work took %f sec\r\n", t.read());
+
+// Show cursor as blinking character
+    lcd.setCursor(TextLCD::CurOff_BlkOn);
+
+// Set and show user defined characters. A maximum of 8 UDCs are supported by the HD44780.
+// They are defined by a 5x7 bitpattern.
+    lcd.setUDC(0, (char *) udc_0);  // Show |>
+    lcd.putc(0);
+    lcd.setUDC(1, (char *) udc_1);  // Show <|
+    lcd.putc(1);
+
+    pc.printf("Bye now\r\n");
+}