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

Committer:
hudakz
Date:
Tue Feb 05 14:00:02 2019 +0000
Revision:
1:e10c603cf0ae
Parent:
0:271d74b09d64
Child:
2:75153c8d2ef0
Updated.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 0:271d74b09d64 1 /* Hello World! for the TextLCD Enhanced Library*/
hudakz 0:271d74b09d64 2
hudakz 0:271d74b09d64 3 #include "mbed.h"
hudakz 0:271d74b09d64 4 #include "TextLCD.h"
hudakz 0:271d74b09d64 5
hudakz 1:e10c603cf0ae 6 // Host PC Communication channels
hudakz 1:e10c603cf0ae 7 Serial pc(PA_2, PA_3); // tx, rx
hudakz 1:e10c603cf0ae 8
hudakz 1:e10c603cf0ae 9 // LCD instantiation
hudakz 1:e10c603cf0ae 10 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
hudakz 1:e10c603cf0ae 11 Timer t;
hudakz 0:271d74b09d64 12
hudakz 0:271d74b09d64 13 int main()
hudakz 1:e10c603cf0ae 14 {
hudakz 0:271d74b09d64 15 pc.printf("TextLCD Enhanced Test. Columns=%d, Rows=%d\n\r", lcd.columns(), lcd.rows());
hudakz 0:271d74b09d64 16
hudakz 0:271d74b09d64 17 for (int row = 0; row < lcd.rows(); row++) {
hudakz 0:271d74b09d64 18 int col = 0;
hudakz 0:271d74b09d64 19
hudakz 0:271d74b09d64 20 pc.printf("MemAddr(Col=%d, Row=%d)=0x%02X\n\r", col, row, lcd.getAddress(col, row));
hudakz 0:271d74b09d64 21
hudakz 0:271d74b09d64 22 lcd.putc('0' + row);
hudakz 0:271d74b09d64 23
hudakz 0:271d74b09d64 24 for (col=1; col < lcd.columns() - 1; col++) {
hudakz 0:271d74b09d64 25 lcd.putc('*');
hudakz 0:271d74b09d64 26 }
hudakz 0:271d74b09d64 27
hudakz 0:271d74b09d64 28 pc.printf("MemAddr(Col=%d, Row=%d)=0x%02X\n\r", col, row, lcd.getAddress(col, row));
hudakz 0:271d74b09d64 29 lcd.putc('+');
hudakz 0:271d74b09d64 30 }
hudakz 0:271d74b09d64 31
hudakz 0:271d74b09d64 32 // Fill screen again and time it
hudakz 0:271d74b09d64 33 t.start();
hudakz 0:271d74b09d64 34
hudakz 0:271d74b09d64 35 for (int row=0; row<lcd.rows(); row++) {
hudakz 0:271d74b09d64 36 int col=0;
hudakz 0:271d74b09d64 37
hudakz 0:271d74b09d64 38 lcd.putc('0' + row);
hudakz 0:271d74b09d64 39
hudakz 0:271d74b09d64 40 for (col=1; col<lcd.columns()-1; col++) {
hudakz 0:271d74b09d64 41 lcd.putc('*');
hudakz 0:271d74b09d64 42 }
hudakz 0:271d74b09d64 43
hudakz 0:271d74b09d64 44 lcd.putc('+');
hudakz 0:271d74b09d64 45 }
hudakz 0:271d74b09d64 46 t.stop();
hudakz 0:271d74b09d64 47 pc.printf("All my hard work took %f sec\r\n", t.read());
hudakz 0:271d74b09d64 48
hudakz 0:271d74b09d64 49 // Show cursor as blinking character
hudakz 0:271d74b09d64 50 lcd.setCursor(TextLCD::CurOff_BlkOn);
hudakz 0:271d74b09d64 51
hudakz 0:271d74b09d64 52 // Set and show user defined characters. A maximum of 8 UDCs are supported by the HD44780.
hudakz 0:271d74b09d64 53 // They are defined by a 5x7 bitpattern.
hudakz 0:271d74b09d64 54 lcd.setUDC(0, (char *) udc_0); // Show |>
hudakz 0:271d74b09d64 55 lcd.putc(0);
hudakz 0:271d74b09d64 56 lcd.setUDC(1, (char *) udc_1); // Show <|
hudakz 0:271d74b09d64 57 lcd.putc(1);
hudakz 0:271d74b09d64 58
hudakz 0:271d74b09d64 59 pc.printf("Bye now\r\n");
hudakz 0:271d74b09d64 60 }