Keresés

Részletes keresés

kiki71 Creative Commons License 2015.06.11 0 0 1146

Köszönöm az információkat. Elektronikai műszerész vagyok ezt még értem. Tovább?

Előzmény: halaloszto (1145)
halaloszto Creative Commons License 2015.06.11 0 0 1145

az a lényeg, hogy a led az nem tud high vagy low lenni, ezt el kell gyorsan felejteni. a led tud világítani meg nem világítani. akkor világít, ha feszültségkülönbség van rajta. ha az egyik fele a gnd-n van, a másik a kimeneten, akkor a high kimenetre világít. ha az egyik fele az 5V-n, a másik meg a kimeneten, akkor akkor világít ha a kimenet low.

 

Vajk

Előzmény: Vargham (1144)
Vargham Creative Commons License 2015.06.11 0 0 1144

> Villogtatva a lábak (digitalWrite HIGH-LOW):
> 1-es láb (TX1) led HIGH utasításra LOW értéket vesz fel. És fordítva.
> 0-ás láb (RX0) led HIGH utasításra LOW értéket vesz fel. És fordítva.
> 13-as láb led HIGH utasításra HIGH értéket vesz fel.

Miből gondolod, hogy a kimenetek nem megfelelő értéken vannak? Megmérted őket?

Megnézted már a kapcsolást? Nano 328

Az Rx/Tx LED-ek az USB TTL soros átalakító IC-re vannak kötve. Az dönti el, hogy mikor világítsanak.

 

Előzmény: kiki71 (1138)
halaloszto Creative Commons License 2015.06.11 0 0 1143

a 13-on a led a föld fele van téve, ha 5V-ot küldesz ki akkor világít.

 

a 0/1-en a led az nem is a procin van, hanem az usb illeszton. a d0 nem is szokott sosem kimenet lenni, mert az ugye a receive, nem a proci hajtja a ledet hanem az usb illeszto. úgy tűnik sikerül megerőszakolnod, és kimenetnek használni mindkettőt. viszont itt a ledek a kimenet és az 5V közé vannak kötve, ezért ha 5V-t küldesz, akkor nem világít, ha 0V-t, akkor világít. 

 

Vajk

Előzmény: kiki71 (1142)
kiki71 Creative Commons License 2015.06.11 0 0 1142

Persze :) :


void setup() {
pinMode (0, OUTPUT);
pinMode (1, OUTPUT);
pinMode (13, OUTPUT);
}
void loop() {
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);

digitalWrite(13,HIGH);
delay(3000);
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(13, LOW);
delay(3000);
}

Előzmény: Vargham (1141)
Vargham Creative Commons License 2015.06.11 0 0 1141

Bemásolnád az egész forráskódot? Úgy lényegesen könnyebb válaszolni.

Előzmény: kiki71 (1138)
kiki71 Creative Commons License 2015.06.11 0 0 1140

Bocsi, arduino nano.

Előzmény: halaloszto (1139)
halaloszto Creative Commons License 2015.06.11 0 0 1139

ez milyen arduino, es minek az 1-es lába?

Előzmény: kiki71 (1138)
kiki71 Creative Commons License 2015.06.11 0 0 1138

Sziasztok!

Kezdőként szeretném kérdezni, hogy az alábbi hibám tudjátok-e miért van?

 

Ha megcímezem a lábakat (pinMode(1, OUTPUT)):
1-es láb (TX1) led világít (HIGH). Ezt nem értem, hogy miért?
0-ás láb (RX0) led nem világít (LOW).
13-as láb led nem világít (LOW).

Villogtatva a lábak (digitalWrite HIGH-LOW):
1-es láb (TX1) led HIGH utasításra LOW értéket vesz fel. És fordítva.
0-ás láb (RX0) led HIGH utasításra LOW értéket vesz fel. És fordítva.
13-as láb led HIGH utasításra HIGH értéket vesz fel.

John Zero Creative Commons License 2015.06.07 0 0 1137

Most néztem, a MAX6675 dokuja írja is, hogy földelni kell a T- -t!

 

http://datasheets.maximintegrated.com/en/ds/MAX6675.pdf

 

Első oldal, "Typical Application Circuit" diagram!

Előzmény: granov (1133)
Törölt nick Creative Commons License 2015.06.03 0 0 1136

Készítesz egy másolatot más helyre tömörítve a felesleges könyvtárról, aztán törlöd.

Újraindítva az arduino idet már nem látja.

Az lényeges, hogy csak egy könyvtár legyen,  egy-egy librari.

A több egyforma miatt lehet ütközés.

Előzmény: Gogol69 (1135)
Gogol69 Creative Commons License 2015.06.03 0 0 1135

Valahogy a -jelek eltűntek. 

 

Így néz ki helyesen.

Used: C:UsersGáborDocumentsArduinolibrariesMAX6675
Not used: C:UsersGáborDocumentsArduinolibrariesMAX6675-Library-master

 

Előzmény: Gogol69 (1134)
Gogol69 Creative Commons License 2015.06.03 0 0 1134

Szia!

Leteszteltem a javasolt megoldásokat.

 Sajnos ez sem hozott eredményt.

Ha lekötöm az érzékelőt az sem zavarja.

Ugyan azt írja ki.

Észre vettem viszont valamit.

 Két Max könyvtár van.  MAX6675 és egy MAX6675-Library-master.

Mind a két könyvtár ,,MAX6675.h"-ként jött le letöltés után.

 A program hibát nem jelez, viszont a szövegben ezt írja ki.:

,,

Used: C:UsersGáborDocumentsArduinolibrariesMAX6675
Not used: C:UsersGáborDocumentsArduinolibrariesMAX6675-Library-master

Hogyan tudom a sima MAX6675-t eltüntetni?

Előzmény: Törölt nick (1131)
granov Creative Commons License 2015.06.03 0 0 1133

Nálam csak akkor működött helyesen, ha a K elem gnd le volt húzva a panel gnd-re, különben mászkált a hőmérséklet.

Előzmény: Gogol69 (1130)
Törölt nick Creative Commons License 2015.06.02 0 0 1132

 

Valahogy így:

Törölt nick Creative Commons License 2015.06.02 0 0 1131

Max6675 GND >>> pro mini GND

               VCC >>>               VCC +5 V

               SO   >>>               PD3 digitális láb

               CS   >>>               PD4 digitális láb

               SCLK>>>              PD5 digitális láb

 

Nézd meg, ha a K hőelem nincs rákötve a maxra, ír-e hibát. Akkor legalább van kapcsolat a maxxal.

Előzmény: Gogol69 (1129)
Gogol69 Creative Commons License 2015.06.02 0 0 1130

 

Valahogy letöltötte.

Folytatás.:

 Te mit, hová kötöttél?

Előzmény: Gogol69 (1129)
Gogol69 Creative Commons License 2015.06.02 0 0 1129

Szia!

,,max6675.h SCLK lábat ír"

Biztosan van jelentősége.

 

Lehet hogy a Max6675-öm nem jó?

Persze az is lehet hogy még a megfelelő bekötésre nem találtam rá. :-(

Nálam a Max6675-n a következő jelzések vannak.:

Gnd. Minusz

VCC 5V

SO   ???

CS   ??? 

SCK ???

 

Már megpróbáltam másik pontokkal is. 

Nem jöttem még mi lehet a hiba.:-(

 Te m

Előzmény: Törölt nick (1128)
Törölt nick Creative Commons License 2015.06.01 0 0 1128

 Nekem működik a korábban bemásolt programmal, lábkiosztással pro minin.

Nem tudom, van-e jelentősége, max6675.h SCLK lábat ír, és a programban is így szerepel.

Előzmény: Gogol69 (1127)
Gogol69 Creative Commons License 2015.06.01 0 0 1127

Azt azt tapasztaltam hogy ha az  első pin PL. 4-es (ha 4, 5, 6) nincsen csatlakoztatva akkor 0C fok.

 

Ha csatlakoztatva van akkor: nan.

Gondolom a 4-es pin az adatvonal & nem tud mit kezdeni azzal amit kap.

 Bocs ha túl 1xü vagyok most kezdek még csak ezzel foglakozni.

 

Előzmény: Gogol69 (1126)
Gogol69 Creative Commons License 2015.06.01 0 0 1126

Ez volt a példa program.:

 

/*
Demonstration sketch for Hobbybotics MAX6675 Thermocouple breakout board.

Reads temperature from MAX6675 in celsius and fahrenheit. Prints results to serial monitor.
*/

#include <MAX6675.h>

MAX6675 thermocouple;

void setup() {
Serial.begin(9600);
thermocouple.init(4, 5, 6);

Serial.println("MAX6675 test");
// wait for MAX chip to stabilize
delay(500);
}

void loop() {
// basic readout test, just print the current temp

Serial.print("C = ");
Serial.println(float(thermocouple.measure(TEMPC)));
Serial.print("F = ");
Serial.println(float(thermocouple.measure(TEMPF)));

delay(1000);
}

Előzmény: Prof (1124)
Gogol69 Creative Commons License 2015.06.01 0 0 1125

Szia!

Nano V3.0 ATmega328P Micro-controller Board Module For ,,Arduino" New.

 

+ Arduino MAX6675 Modul + K Type hőelem szenzor

 

Gondolom mind a kettő kinai klón.

,,Occo" volt.

Attól még mehetne nem?

Ezt már megtudtam csinálni vele próbaként.

https://www.youtube.com/watch?v=-kkxs_fekWM

 Így is néz ki, csak az ICSP alatt nem írták oda hogy arduino.

Gondolom nem ok nélkül maradt le. :-)

SO-MISO

SCK-SCK

CS-SSB

Leírás szerint ez 3 pont amin csatolni kell.

Az ICSP-hez hogyan kell illeszteni?

 

 

 

Előzmény: Prof (1124)
Prof Creative Commons License 2015.05.31 0 0 1124

Fő kérdés: milyen Arduino kártya?

Mivel a 6675 SPI, alapból sehol sem a 4-5-6 (digit vagy analóg) láb nyerő, hanem rendszerint a 10-11-12-13, illetve az SPI csatoló fent/középen.

 

Előzmény: Gogol69 (1123)
Gogol69 Creative Commons License 2015.05.31 0 0 1123

Sziasztok!

A Max6675-öt szeretném fel éleszteni.

Sajnos valamiért nem sikerül. :-(

Mindig 0C-ot ír ki.

 Elvileg a 4,5,6-t ponton keresztül kommunikál. (vagy még sem?)

Mi lehet a gond?

A program innen van.: http://hobbybotics.com/projects/hobbybotics-max6675-thermocouple-breakout/

 

 

 

Törölt nick Creative Commons License 2015.05.25 0 1 1122

Na jó, ez még csak 5 könyvtár, de nem teljes a vezérlés, nincs PID-es mód. Azért alakulgat a fűtésvezérlés.

Sketch uses 10 820 bytes (35%) of program storage space. Maximum is 30 720 bytes.
Global variables use 623 bytes (30%) of dynamic memory, leaving 1 425 bytes for local variables. Maximum is 2 048 bytes.

 

/* YourDuino.com Example: Multiple DS18B20 Temperature Sensors
Displayed on 4x20 character LCD display

DS18B20 Pinout (Left to Right, pins down, flat side toward you)
- fekete = Ground
- sárga = Signal (Pin 10): (with 3.3K to 4.7K resistor to +5 or 3.3 )
- zöld = +5 or +3.3 V

terry@yourduino.com */

/*-----( Import needed libraries )-----*/
// Get 1-wire Library here: http://www.pjrc.com/teensy/td_libs_OneWire.html
#include <OneWire.h>

//Get DallasTemperature Library here: http://milesburton.com/Main_Page?title=Dallas_Temperature_Control_Library
#include <DallasTemperature.h>
// Wire (I2C) Library
#include <Wire.h>
// LCD Library
//#include <LCD.h>
#include <LiquidCrystal_I2C.h> // F Malpartida's NewLiquidCrystal library
//Download: https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
// Move original LiquidCrystal library elsewhere, copy this in it's place
#include <MAX6675.h>

/*-----( Declare Constants and Pin Numbers )-----*/
// Data wire is plugged into port 10 on the Arduino (can be changed)
#define ONE_WIRE_BUS 10 // NOTE: No ";" on #define
#define HIDEGEBB 6 // relay1
#define MELEGEBB 7 // relay2
#define MOTORFUTASIDO 1000
#define CIKLUSIDOMP 30
/*-----( Declare objects )-----*/
// Setup a oneWire instance to communicate with any OneWire devices
// (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass address of our oneWire instance to Dallas Temperature.
DallasTemperature sensors(&oneWire);

// Start the LCD display library
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display
int LED1 = 13; // Status LED Pin
int CS = 4; // CS pin on MAX6675
int SO = 3; // SO pin of MAX6675
int SCLK = 5; // SCLK pin of MAX6675
int units = 1; // Units to readout temp (0 = raw, 1 = ˚C, 2 = ˚F)
float Celsius = 0.0; // Temperature output variable
float hofok10 = 0.0;

// Initialize the MAX6675 Library for our chip
MAX6675 temp(CS,SO,SCLK,units);


// Setup Serial output and LED Pin
// MAX6675 Library already sets pin modes for MAX6675 chip!
/*-----( Declare Variables )-----*/
// Assign the addresses of your 1-Wire temp sensors.
// See the tutorial on how to obtain these addresses:
// http://arduino-info.wikispaces.com/Brick-Temperature-DS18B20#Read%20individual


// WP 1
DeviceAddress Probe01 = { 0x28, 0xAC, 0xFA, 0x26, 0x06, 0x00, 0x00, 0x8C }; // "01"
DeviceAddress Probe02 = { 0x28, 0x15, 0x1F, 0x28, 0x06, 0x00, 0x00, 0x00 }; // "02"
DeviceAddress Probe03 = { Celsius }; // "03"
DeviceAddress Probe04 = { Celsius }; // "04"


void setup() /****** SETUP: RUNS ONCE ******/
{

//------- Initialize the Temperature measurement library--------------
sensors.begin();
// set the resolution to 10 bit (Can be 9 to 12 bits .. lower is faster)
sensors.setResolution(Probe01, 10);
sensors.setResolution(Probe02, 10);
sensors.setResolution(Probe03, 10);
sensors.setResolution(Probe04, 10);
lcd.init(); // initialize the lcd
lcd.backlight();
Serial.begin(9600);
pinMode(LED1, OUTPUT);
pinMode(HIDEGEBB, OUTPUT);
pinMode(MELEGEBB, OUTPUT);

}//--(end setup )---


void loop() /****** LOOP: RUNS CONSTANTLY ******/
{
// Read the temp from the MAX6675
Celsius = temp.read_temp();

if(Celsius < 0) {
// If there is an error with the TC, temperature will be < 0
Serial.print("Thermocouple Error on CS");
Serial.println( Celsius );
digitalWrite(LED1, HIGH);
} else {
Serial.print("Current Temperature: ");
Serial.println( Celsius );
digitalWrite(LED1, LOW);
}
// Wait one second before reading again
delay(1000);

int hofok10 = temp.read_temp()*10;
if(hofok10 > 300) {
digitalWrite(HIDEGEBB, LOW);
}
if(hofok10 < 290) {
digitalWrite(MELEGEBB, LOW);
}
delay(MOTORFUTASIDO);
digitalWrite(HIDEGEBB, HIGH);
digitalWrite(MELEGEBB, HIGH);
delay(CIKLUSIDOMP*100);
{ delay(100);}
// clear the screen
lcd.clear();
lcd.home();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("temperature");
lcd.setCursor(0,1);
lcd.print("C=");
lcd.print(Celsius);
{delay(3000);}
sensors.requestTemperatures(); // Send the command to get temperatures
lcd.clear(); // Reset the display
lcd.home();
lcd.backlight(); //Backlight ON if under program control
// Print our characters on the LCD
// NOTE: Line number and character number start at 0 not 1

lcd.setCursor(0,0); //Start at character 0 on line 0
lcd.print("1: ");
displayTemperature(Probe01);

lcd.setCursor(0,1); //Start at character 0 on line 1
lcd.print("2: ");
displayTemperature(Probe02);

lcd.setCursor(0,2); //Start at character 0 on line 2
lcd.print("3: ");
displayTemperature(Probe03);

lcd.setCursor(0,3); //Start at character 0 on line 3
lcd.print("4: ");
displayTemperature(Probe04);
{delay(2000);}
}//--(end main loop )---

/*-----( Declare User-written Functions )-----*/
void displayTemperature(DeviceAddress deviceAddress)
{

float tempC = sensors.getTempC(deviceAddress);

if (tempC == -127.00) // Measurement failed or no device found
{
lcd.print("Temperature Error");
}
else
{
lcd.print("C=");
lcd.print(tempC);
lcd.print(" F=");
lcd.print(DallasTemperature::toFahrenheit(tempC)); // Convert to F
Serial.println("ds18b20");
Serial.println(tempC);
}
}// End printTemperature

//*********( THE END )***********

Előzmény: Prof (1121)
Prof Creative Commons License 2015.05.23 0 0 1121

Azért az erős...

Gondolom most tartasz a harmadik-negyedik könyvtárnál?

Előzmény: Törölt nick (1120)
Törölt nick Creative Commons License 2015.05.23 0 0 1120

Egy módosítás: a max6675 Vcc eddig nem a pro minire csatlakozott, most ezt korrigálva elfogadható pontossággal mér. Kialakítottam a ds18b20 1wire csatlakozót is, legközelebb annak a tesztelése következik. Lassan a program mérete kinövi a pro minit.

Előzmény: Törölt nick (1119)
Törölt nick Creative Commons License 2015.05.22 0 0 1119

http://www.biopowered.co.uk/w/images/6/6b/N2006P_PID_Installation_&_Wiring.pdf

 

Jelenleg van a fenti kontroller K hőelemmel, aminek a vezetéke toldott kompenzációs vezetékkel, tehát az M-R1,R2 folytonossága, kémiai azonossága megoldott, R1,R2 azonos hőfokon van a mérőkörrel.

 

http://hobbybotics.com/projects/hobbybotics-max6675-thermocouple-breakout/

 

Van továbbá a fenti max6675 breakout K hőelemmel, amiben van 100 nF kondi is, ez kíván szoftveres hőfokkorrekciót, nem instabil, csak láthatóan eltérő hőfokot ad vissza pl szobahőfokon. A krimpelt érintkezőivel még bevisz némi eltérést, + a hőelem tokozás is befolyásolja a pontosságot és a mérés gyorsaságát.

Hegesztettem kompenzációs vezetékből érintkezők nélkül egy darabot, eddig az volt a leggyorsabb, pontosabb.

A breakouton belül nincs nagy távolság a max6675 és a referencia pontok között, a hőfokeltérés minimális lehet. Esetleg a tokozás saját hője befolyásolja a hőfokeltérést.

Mi a rossz kivitelezés, ami hibát okozhat?

Előzmény: halaloszto (1117)
halaloszto Creative Commons License 2015.05.20 0 0 1118

Ez jó leírás, ha ezt átolvasod rendesen képben leszel. Kiemelném ezt a bekezdést, mert erről beszéltem pont lentebb:

 

Reference junction compensation: The AD8495, which includes a temperature sensor to compensate for changes in ambient temperature, must be placed near the reference junction to maintain both at the same temperature for accurate reference-junction compensation.

 

Vajk

Előzmény: John Zero (1116)
halaloszto Creative Commons License 2015.05.20 0 0 1117

tudni tudja, de ha nem érted hogy mi az, akkor nem azt fogod mérni mint hiszed. 

 

a lényeg, hogy nem csak ott van termoelem ahol a szenzor van. hanem ott is ahol a szenzor vezetéke más anyagú vezetékkel összekapcsolódik. és ezeken a kötéseken is keletkezik termofeszültség, a hőmérséklettel arányosan. ha ennek a kötésnek a hőmérséklete ismert, akkor számolható a feszültség és lehet kompenzálni. 

 

tehát alapból az kell, hogy a szenzor kábele nem lehet toldva, és direktbe kell menjen az ic-re, azaz hogy a kötés azonos hőmérsékleten legyen az ic-vel.

 

Vajk

Előzmény: Törölt nick (1115)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!