Hoy hice una pequeña experiencia con mi prusa i3. Consiste en saber el rango de temperatura en el cual la impresión es optime. Ocupe el clásico cubo de calibración, pero lo amplíe en 10 veces en el eje Z. Hice un vídeo ya que no se me dan las letras :)
Video 1
https://plus.google.com/108025734869740404248/posts/GsH18G4WPVM
sábado, 6 de julio de 2013
jueves, 27 de junio de 2013
Capas separadas ABS
Después de no escribir en mucho tiempo en el blog para variar, me digno a escribir mi experiencia con mi nueva impresora 3D. Es una Prusa i3 derivada de los primeras versiones del proyecto reprap.
Pueden encontrar información sobre ello en el http://reprap.org/wiki/Main_Page.
Después de tanto leer en el grupo clone wars y hacer unos 5 cubos de prueba y calibrar, clibrar y calibrar. Logre hacer una muy buena impresión de una pieza mediana, esta es la pieza, bajada de
http://www.thingiverse.com/thing:18672.
Hice la impresión en ABS, me gusta más por la calidad de la terminación. Descubrí o aprendí que cuando hay variación de temperatura muy grandes entre el plástico (ABS) y la temperatura del aire cerca de la pieza se separan las capas. Aislar la impresora del ambiente. También ayuda aumentar el flow rate.
Estas delta de temperatura era muy grande en mi taller, hace un frió infernal todo el día ahorra que es invierno y calor cuando sea verano ppppffff mierda de aislacion.
Por esas cosas de la vida me enferme con una gripe fuertisima y por obviamente me lleve la impresora a la casa. Donde podía imprimir algunas cositas y probar distintas configuraciones en el slic3r. Estaba enfermo y con licencia medica, pero mi prusa i3 estaba perfecta. jajajaja.
Como cambio el medio ambiente y tuve mejor temperatura ambiental como 22°C o más, cosa que no sabia que influyera tanto en ese momento. Hasta que hice un par de cubos de calibración huecos sin tapa superior y nada de relleno y al imprimir... ooohhh están mejor de echo muy muy buenos, por que si la configuración es la misma.
Aaaaahhhhh que pasa no entiendo, me resigne y decidí imprimir la figura de la foto de arriba para encontrar la temperatura correcta para el ABS. Técnica que esta muy detallada en http://www.arduteka.com/2013/04/calibrar-temperatura-extrusion-plastico-abs/
Que consiste en poner la temperatura del extrusor a 250°C y he ir bajando la temperatura cada 1.5 cm de cinco en cinco hasta encontrar la temperatura en donde se separan las capas.
El resulta de mi prueba era que el ABS tenia una temperatura ideal de 240°C, con mi extrusor no es muy bueno porque tiene piezas plásticas (es el J-HEAD) esta es la foto.
Como se ve en la foto en el principio de la impresión comenzó a separando las capas. La solución fue aumentar el flow rate a 120%, esta modificación la hice en la mitad de la pieza y después la disminuí a 100%.
Al final de la impresión de las fotos de arriba se me tranco el filamento y salir muy poco aporte, por eso el horrible resultado de la parte superior.
Después de aumentar el flow rate obtuve esta pieza que esta en mi oficina.

Mantener estable la temperatura Ambiental
Esta es una solución muy temporal pero me funciona.
La idea es poner una sabana, ojo con los incendios.
Con esta solución ultra MacGyver obtuve las mejores piezas.
Estos son las piezas con un flowrate de 110% y con la sabana
Pueden encontrar información sobre ello en el http://reprap.org/wiki/Main_Page.
http://www.thingiverse.com/thing:18672.
Hice la impresión en ABS, me gusta más por la calidad de la terminación. Descubrí o aprendí que cuando hay variación de temperatura muy grandes entre el plástico (ABS) y la temperatura del aire cerca de la pieza se separan las capas. Aislar la impresora del ambiente. También ayuda aumentar el flow rate.
Estas delta de temperatura era muy grande en mi taller, hace un frió infernal todo el día ahorra que es invierno y calor cuando sea verano ppppffff mierda de aislacion.
Por esas cosas de la vida me enferme con una gripe fuertisima y por obviamente me lleve la impresora a la casa. Donde podía imprimir algunas cositas y probar distintas configuraciones en el slic3r. Estaba enfermo y con licencia medica, pero mi prusa i3 estaba perfecta. jajajaja.
Como cambio el medio ambiente y tuve mejor temperatura ambiental como 22°C o más, cosa que no sabia que influyera tanto en ese momento. Hasta que hice un par de cubos de calibración huecos sin tapa superior y nada de relleno y al imprimir... ooohhh están mejor de echo muy muy buenos, por que si la configuración es la misma.
Aaaaahhhhh que pasa no entiendo, me resigne y decidí imprimir la figura de la foto de arriba para encontrar la temperatura correcta para el ABS. Técnica que esta muy detallada en http://www.arduteka.com/2013/04/calibrar-temperatura-extrusion-plastico-abs/
Que consiste en poner la temperatura del extrusor a 250°C y he ir bajando la temperatura cada 1.5 cm de cinco en cinco hasta encontrar la temperatura en donde se separan las capas.
El resulta de mi prueba era que el ABS tenia una temperatura ideal de 240°C, con mi extrusor no es muy bueno porque tiene piezas plásticas (es el J-HEAD) esta es la foto.
Como se ve en la foto en el principio de la impresión comenzó a separando las capas. La solución fue aumentar el flow rate a 120%, esta modificación la hice en la mitad de la pieza y después la disminuí a 100%.
Al final de la impresión de las fotos de arriba se me tranco el filamento y salir muy poco aporte, por eso el horrible resultado de la parte superior.
Después de aumentar el flow rate obtuve esta pieza que esta en mi oficina.

Mantener estable la temperatura Ambiental
Esta es una solución muy temporal pero me funciona.La idea es poner una sabana, ojo con los incendios.
Con esta solución ultra MacGyver obtuve las mejores piezas.

Estos son las piezas con un flowrate de 110% y con la sabana
jueves, 7 de febrero de 2013
Actualización Proyecto Temperatura cosm.com
Después de haber bajado el proyecto anterior, he despertado de mi letargo.
Ya que mi taller y oficina era una bodega y el tipo que hizo la pega de transformar eso en una oficina era un inepto. No se hasilo ni medianamente bien.
Para solucionar esto como buen electrónico quise hacer la toma de datos, para responder ¿que tan mal aislado esta este infernillo.
Lo que hice es comprar un par de LM35 y un resistencias de 100k. Ocupando el mismo Arduino Mega y el shield Ethernet subimos la info a un servidor gratis (el mismo de antes cosm.com).
Esta es valor bruto del ADC para el sensor LM35 fuera de la oficina. El rango es 1 semana. El primer gráfico esta en rango fijo de 30 a 80 ADC.
El circuito es muy simple, solo tienes que cambiar la R1 por una resistencia de 100 k ohm y el -Vs es Gnd por lo tanto queda conectada a el pin 3.
Ya que mi taller y oficina era una bodega y el tipo que hizo la pega de transformar eso en una oficina era un inepto. No se hasilo ni medianamente bien.
Para solucionar esto como buen electrónico quise hacer la toma de datos, para responder ¿que tan mal aislado esta este infernillo.
Lo que hice es comprar un par de LM35 y un resistencias de 100k. Ocupando el mismo Arduino Mega y el shield Ethernet subimos la info a un servidor gratis (el mismo de antes cosm.com).
Bueno manos a la gráfica
Pueden ver los graficos en https://cosm.com/feeds/81159
Temperatura dentro de la oficina o indoor, se obtiene con "tmp = (analogRead(A0) * cont)" y cont es "static float cont = 488.759e-3".
La temperatura fuera de la oficina, específicamente en el entre techo. Al LM35 le llega un poco de viento así que deberia ser mas irregular la lectura que en el indoor. La formula es la misma.


Esta es valor bruto del ADC para el sensor LM35 dentro de la oficina. El rango es 1 semana. El primer gráfico esta en rango fijo de 30 a 80 ADC.


El circuito es muy simple, solo tienes que cambiar la R1 por una resistencia de 100 k ohm y el -Vs es Gnd por lo tanto queda conectada a el pin 3.
viernes, 23 de noviembre de 2012
Proyecto Cosm Temperatura
Los gráficos no funcionan pq los elimine. En el siguiente post subo los nuevos.
Bueno he tenido un poco botado el blog... la verdad es que muy muy botado y no subía nada hace mil años.
Bueno para los que me conocen he estado trabajando como loco para ganar como el orto, la vida del electrónico.
Tengo este nuevo proyecto con un arduino mega y un shild ethernet que están de miedo. El proyecto consiste en un simple sensor de temperatura que envía la info a cosm.com y se almacena hay. Ustedes dirán que mie"#$"# es "cosm.com" es un servicio gratis M2M en el cual podemos subir info de nuestros dispositivos y hacer simples gráficos de nuestra variable vs. tiempo.
Bueno he tenido un poco botado el blog... la verdad es que muy muy botado y no subía nada hace mil años.
Bueno para los que me conocen he estado trabajando como loco para ganar como el orto, la vida del electrónico.
Tengo este nuevo proyecto con un arduino mega y un shild ethernet que están de miedo. El proyecto consiste en un simple sensor de temperatura que envía la info a cosm.com y se almacena hay. Ustedes dirán que mie"#$"# es "cosm.com" es un servicio gratis M2M en el cual podemos subir info de nuestros dispositivos y hacer simples gráficos de nuestra variable vs. tiempo.
Ese es la temperatura en mi oficina. El sensor es malo y tiene una precisión de +/- 1°C
Lo interesante de esta experiencia es poder ver la info que se acumulado durante el tiempo. Por esto pense en hacer una comparación entre una señal tratada y una sin tratamiento.
El resultado fue este:
La señal cruda o sin tratamiento
El metodo para tratar la señal lo saque de Smoothing de los ejemplos de arduino en la sección analog. Aqui esta el programa completo Smoothing.
/*
Smoothing
Reads repeatedly from an analog input, calculating a running average
and printing it to the computer. Keeps ten readings in an array and
continually averages them.
The circuit:
* Analog sensor (potentiometer will do) attached to analog input 0
Created 22 April 2007
By David A. Mellis
modified 9 Apr 2012
by Tom Igoe
http://www.arduino.cc/en/Tutorial/Smoothing
This example code is in the public domain.
*/
// Define the number of samples to keep track of. The higher the number,
// the more the readings will be smoothed, but the slower the output will
// respond to the input. Using a constant rather than a normal variable lets
// use this value to determine the size of the readings array.
const int numReadings = 10;
int readings[numReadings]; // the readings from the analog input
int index = 0; // the index of the current reading
int total = 0; // the running total
int average = 0; // the average
int inputPin = A0;
void setup()
{
// initialize serial communication with computer:
Serial.begin(9600);
// initialize all the readings to 0:
for (int thisReading = 0; thisReading < numReadings; thisReading++)
readings[thisReading] = 0;
}
void loop() {
// subtract the last reading:
total= total - readings[index];
// read from the sensor:
readings[index] = analogRead(inputPin);
// add the reading to the total:
total= total + readings[index];
// advance to the next position in the array:
index = index + 1;
// if we're at the end of the array...
if (index >= numReadings)
// ...wrap around to the beginning:
index = 0;
// calculate the average:
average = total / numReadings;
// send it to the computer as ASCII digits
Serial.println(average);
delay(1); // delay in between reads for stability
}
El programa que ocupe para subir la info a cosm.com es este y tiene que cambiar lo que esta en esta parte
/*#define APIKEY "YOUR API KEY GOES HERE" // replace your Pachube api key here
#define FEEDID 00000 // replace your feed ID
#define USERAGENT "My Project" // user agent is the project name
*/
Por los datos de su proyecto cosm.com
/*
Pachube sensor client with Strings
This sketch connects an analog sensor to Pachube (http://www.pachube.com)
using a Wiznet Ethernet shield. You can use the Arduino Ethernet shield, or
the Adafruit Ethernet shield, either one will work, as long as it's got
a Wiznet Ethernet module on board.
This example has been updated to use version 2.0 of the pachube.com API.
To make it work, create a feed with two datastreams, and give them the IDs
sensor1 and sensor2. Or change the code below to match your feed.
This example uses the String library, which is part of the Arduino core from
version 0019.
Circuit:
* Analog sensor attached to analog in 0
* Ethernet shield attached to pins 10, 11, 12, 13
created 15 March 2010
modified 9 Apr 2012
by Tom Igoe with input from Usman Haque and Joe Saavedra
modified 8 September 2012
by Scott Fitzgerald
http://arduino.cc/en/Tutorial/PachubeClientString
This code is in the public domain.
*/
#include
#include
#include
#define APIKEY "xxxxxxxxxxxxxxxxxxxxxxx" // replace your Cosm api key here
#define FEEDID xxxxx // replace your feed ID
#define USERAGENT "xxxxxxxx"
// assign a MAC address for the ethernet controller.
// fill in your address here:
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
// fill in an available IP address on your network here,
// for manual configuration:
IPAddress ip(192,168,2,10); //Cambiar por la ip de su shild arduino
// initialize the library instance:
EthernetClient client;
// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
IPAddress server(216,52,233,121); // numeric IP for api.pachube.com
//char server[] = "api.pachube.com"; // name address for pachube API
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
boolean lastConnected = false; // state of the connection last time through the main loop
const unsigned long postingInterval = 5000; //delay between updates to pachube.com
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
// give the ethernet module time to boot up:
delay(1000);
// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// DHCP failed, so use a fixed IP address:
Ethernet.begin(mac, ip);
}
}
void loop() {
// read the analog sensor:
int sensorReading = analogRead(A0);
// convert the data to a String to send it:
float tmp = ((0.16129*sensorReading)-55); //linealisacion del sensor de temperatura
//dataString += sensorReading;
char buffer[25];
floatToString(buffer, tmp, 3);
//floatToString(tmp_stg, tmp, 3);
String dataString = "sensor1,";
dataString += buffer;
// you can append multiple readings to this String if your
// pachube feed is set up to handle multiple values:
int otherSensorReading = analogRead(A0);
dataString += "\nadc,";
dataString += otherSensorReading;
// if there's incoming data from the net connection.
// send it out the serial port. This is for debugging
// purposes only:
if (client.available()) {
char c = client.read();
Serial.print(c);
}
// if there's no net connection, but there was one last time
// through the loop, then stop the client:
if (!client.connected() && lastConnected) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
}
// if you're not connected, and ten seconds have passed since
// your last connection, then connect again and send data:
if(!client.connected() && (millis() - lastConnectionTime > postingInterval)) {
sendData(dataString);
}
// store the state of the connection for next time through
// the loop:
lastConnected = client.connected();
}
// this method makes a HTTP connection to the server:
void sendData(String thisData) {
// if there's a successful connection:
if (client.connect(server, 80)) {
Serial.println("connecting...");
// send the HTTP PUT request:
client.print("PUT /v2/feeds/");
client.print(FEEDID);
client.println(".csv HTTP/1.1");
client.println("Host: api.pachube.com");
client.print("X-pachubeApiKey: ");
client.println(APIKEY);
client.print("User-Agent: ");
client.println(USERAGENT);
client.print("Content-Length: ");
client.println(thisData.length());
// last pieces of the HTTP PUT request:
client.println("Content-Type: text/csv");
client.println("Connection: close");
client.println();
// here's the actual content of the PUT request:
client.println(thisData);
}
else {
// if you couldn't make a connection:
Serial.println("connection failed");
Serial.println();
Serial.println("disconnecting.");
client.stop();
}
// note the time that the connection was made or attempted:
lastConnectionTime = millis();
}
Velocidad variable de un motor PAP
Después de tanto pedir me apiadare de sus almas malditas en pena y les he subido el programa de este vídeo.
El programa esta explicado como el poto en el vídeo, pero bueno... es lo que hay.
Este es el esquemático para los que quieran armar el circuito.
Este es el esquemático para los que quieran armar el circuito.
El programa completo esta en esta dirección https://www.dropbox.com/sh/ir6f0drjqtwqwox/t08AhE7Byu
Si quieren mas proyectos Suscriban a mi Youtube. https://www.youtube.com/user/chinooxyla
Mira mis programadores de pic via USB ehacks-chile.blogspot.com
martes, 3 de julio de 2012
Cartel indicador de velocidad.
domingo, 18 de septiembre de 2011
Entrenadores para 18 pin's
Sin Stock
Entrenador para pic16f84a, pic16f628a. Con estos entrenadores podrás hacer rápidamente tus proyectos y ver su funcionamiento en los led's de cada puerto a y b. También posee dos botones con sus pull down para simular entradas lógicas. Solo necesitas tu programador pickit 2 o pickit 3 con el cual alimentaras el entrenador, no es necesaria una fuente externa, pero el entrenador incluye una fuente de poder de 1 Ampere en 5 volt. alimentada de forma externa con una fuente de 7 a 18 volt.
Cada uno de los entrenadores poseen un oscilador de 4 mhz y todo lo necesario para hacer funcionar un pic de 18 pin's.
Entrenador con fuente
Entrenador sin fuente
Entrenador para pic16f84a, pic16f628a. Con estos entrenadores podrás hacer rápidamente tus proyectos y ver su funcionamiento en los led's de cada puerto a y b. También posee dos botones con sus pull down para simular entradas lógicas. Solo necesitas tu programador pickit 2 o pickit 3 con el cual alimentaras el entrenador, no es necesaria una fuente externa, pero el entrenador incluye una fuente de poder de 1 Ampere en 5 volt. alimentada de forma externa con una fuente de 7 a 18 volt.
Cada uno de los entrenadores poseen un oscilador de 4 mhz y todo lo necesario para hacer funcionar un pic de 18 pin's.
Descontinuados
Entrenador con fuente
Entrenador sin fuente
martes, 17 de mayo de 2011
Programador PicKit 2 clon
Puedes ocupar cualquier compilador que quieras, en C, assembler, BASIC, C++, C#. Que sea compatible con microcontroladores Microchip PIC o dsPIC. Solo necesitas el archivo .hex y tu microcontrolador PIC
Podrás programar PIC10f/12f/16f/18f/24 dsPIC y muchos más que funcionen con Vcc de 3.3v y 5v. Trabaja con la interfase original de Microchip y MPLAB v8.
El Programador incluye:
- PicKit 2 Clon 3.3v y 5v.
- Bases para pics formato DIP 8/18/28/40 y EEPROM 24Cxx.
- Balsa anti estética para programador.
Con tu compra lleva de regalo un CD con:
- Ebooks Compilador C CCS y simulación para microcontroladores PIC (pdf)
- Compiladores (CCS, MPLAB en C y asm)
- Simulador ISIS Proteus v7.2
Entrenadores para pic16fxxx de 18 pins (sin stock)
Lista Componentes soportados por Pickit 2:
Baseline Devices
----------------
PIC10F200 PIC10F202 PIC10F204 PIC10F206
PIC10F220 PIC10F222
PIC12F508 PIC12F509 PIC12F510 PIC12F519
PIC16F505 PIC16F506 PIC16F526
PIC16F54 PIC16F57 PIC16F59
Midrange/Standard Devices
----------------
PIC12F609 PIC12HV609
PIC12F615 PIC12HV615
PIC12F629 PIC12F635# PIC12F675 PIC12F683#
PIC16F610 PIC16HV610 PIC16F616 PIC16HV616
PIC16F627 PIC16F628 PIC16F639
PIC16F627A PIC16F628A PIC16F648A
PIC16F630 PIC16F631 PIC16F636# PIC16F676
PIC16F677 PIC16F684# PIC16F685# PIC16F687#
PIC16F688# PIC16F689# PIC16F690#
PIC16F72+
PIC16F73+ PIC16F74+ PIC16F76+ PIC16F77+
PIC16F716
PIC16F737+ PIC16F747+ PIC16F767+ PIC16F777+
PIC16F785 PIC16HV785
PIC16F84A PIC16F87# PIC16F88#
PIC16F818# PIC16F819#
PIC16F870 PIC16F871 PIC16F872
PIC16F873 PIC16F874 PIC16F876 PIC16F877
PIC16F873A PIC16F874A PIC16F876A PIC16F877A
PIC16F882#
PIC16F883# PIC16F884# PIC16F886# PIC16F887#
PIC16F913# PIC16F914# PIC16F916# PIC16F917#
PIC16F946#
PIC18F Devices
--------------
PIC18F242 PIC18F252 PIC18F442 PIC18F452
PIC18F248 PIC18F258 PIC18F448 PIC18F458
PIC18F1220 PIC18F1320 PIC18F2220
PIC18F1230 PIC18F1330 PIC18F1330-ICD
PIC18F2221 PIC18F2320 PIC18F2321 PIC18F2331
PIC18F2410 PIC18F2420 PIC18F2423 PIC18F2431
PIC18F2450 PIC18F2455 PIC18F2458 PIC18F2480
PIC18F2510 PIC18F2515 PIC18F2520 PIC18F2523
PIC18F2525 PIC18F2550 PIC18F2553 PIC18F2580
PIC18F2585
PIC18F2610 PIC18F2620 PIC18F2680 PIC18F2682
PIC18F2685
PIC18F4220 PIC18F4221 PIC18F4320 PIC18F4321
PIC18F4331 PIC18F4410 PIC18F4420 PIC18F4423
PIC18F4431 PIC18F4450 PIC18F4455 PIC18F4458
PIC18F4480
PIC18F4510 PIC18F4515 PIC18F4520 PIC18F4523
PIC18F4525 PIC18F4550 PIC18F4553 PIC18F4580
PIC18F4585
PIC18F4610 PIC18F4620 PIC18F4680 PIC18F4682
PIC18F4685 PIC18F6310 PIC18F6390 PIC18F6393
PIC18F6410 PIC18F6490 PIC18F6493 PIC18F6520
PIC18F6525 PIC18F6527
PIC18F6585 PIC18F6620 PIC18F6621 PIC18F6622
PIC18F6627 PIC18F6628 PIC18F6680 PIC18F6720
PIC18F6722 PIC18F6723
PIC18F8310 PIC18F8390 PIC18F8393 PIC18F8410
PIC18F8490 PIC18F8493
PIC18F8520 PIC18F8525 PIC18F8527 PIC18F8585
PIC18F8620 PIC18F8621 PIC18F8622 PIC18F8627
PIC18F8628
PIC18F8680 PIC18F8720 PIC18F8722 PIC18F8723
dsPIC30 Devices
---------------
dsPIC30F2010 dsPIC30F2011 dsPIC30F2012
dsPIC30F3010 dsPIC30F3011 dsPIC30F3012
dsPIC30F3013 dsPIC30F3014
dsPIC30F4011 dsPIC30F4012 dsPIC30F4013
dsPIC30F5011^ dsPIC30F5013^ dsPIC30F5015
dsPIC30F5016
dsPIC30F6010A dsPIC30F6011A dsPIC30F6012A
dsPIC30F6013A dsPIC30F6014A dsPIC30F6015
^ These 2 devices are not supported for low VDD programming.
Serial EEPROM Devices
---------------------
24LC00 (AA)(C) 25LC010A (AA)
24LC01B (AA) 25LC020A (AA)
24LC02B (AA) 25LC040A (AA)
24LC04B (AA) 25LC080A (AA)
24LC08B (AA) 25LC080B (AA)
24LC16B (AA) 25LC160A (AA)
24LC32A (AA) 25LC160B (AA)
24LC64 (AA)(FC) 25LC320A (AA)
24LC128 (AA)(FC) 25LC640A (AA)*
24LC256 (AA)(FC) 25LC128 (AA)
24LC512 (AA)(FC) 25LC256 (AA)
24LC1025 (AA)(FC) 25LC512 (AA)
25LC1024 (AA)
Suscribirse a:
Entradas (Atom)



















