Kiedyś przerobiłem na szybko jedną z dostępnych bibliotek na obsługę kilku ds18b20 na różnych liniach: [syntax=c] //#ifndef 1wire //#define 1wire #include "hardware.h" ////////////////////////////////////////... // ROM commands #define DS18B20_ROM_SEARCH 0xF0 #define DS18B20_ROM_READ 0x33 #define DS18B20_ROM_MATCH...
DS1820 to czujnik 1-wire ,czyli można teoretycznie podłączyć wiele czujników jednocześnie pod jedną linię i w układzie teoretycznie nie trzeba wprowadzać zmian (ale w oprogramowaniu już może być to konieczne), ale czego ty szukasz? przecież podany schemat dotyczy podłączenia do komputera a nie do atmegi, zobacz też to : http://ds18b20.friko.pl/montaz.html...
Juz byl taki temat ale został zamknięty. Moj problem polega na tym ze nie moge ruszyc ds1820 w C z wykorzystaniem bliotek rklib do obslugi ds. #include <avr/io.h> #include<avr/interrupt.h> #include<avr/eeprom.h> #include<string.h> #include "lcd.h" #include "ds18x20.h" #include "delay.h" uint8_t gSensorIDs[OW_ROMCODE_SIZE];...
Ja sobie to rozwiązałem tak: Procesor master na ATmega ma interfejs RS485 Wszystkie końcówki pomiarowe na DS1820 lub DS18B20 mają procka AT89c2051 i interfejs RS485 Wszystkie są podpięte razem Master woła sobie każdy czujnik a ten odpowiada mu ostatnią przeczytaną temperaturą Wszystko ładnie sobie działa. Na razie maksymalną ilość jaką podpiąłem razem...
ps. Niech mi ktoś nie mówi żebym robił to na innym, bo już kupiłem. A po za tym to jest część całego projektu. Chłopie zdecyduj sie! LM35 czy inny?Jeżeli inny wpisz ds1820/ds18b20 i masz kilka stron czytania
Niestety zmiana DS18b20 na DS1820 nic nie dała nadal komunikat brak układu. Odnośnie 8MHz to przy wgrywaniu programu ustawiałem fuseBity na zewnętrzny oscylator w przedziale od 3-8MHz.
Wentylatory "komputerowe", zwłaszcza te najtańsze są wykonane paskudnie - nie posiadają praktycznie żadnych elementów ograniczających zakłócenia. Na początek proponowałbym diodę, anoda do + zasilania wentylatora, katoda do + zasilania układu, chyba że sterujesz wentylatorem od strony masy, wtedy dioda katodą do - wentylatora a anodą do masy zasilania....
http://helion.pl/ksiazki/avr-i-arm7-prog... zastanawiam się nad tym a nie chce pieniędzy w błoto wyrzucić Moją opinię znajdziesz tutaj: http://mikrokontrolery.blogspot.com/2011... Przejrzałem nie tylko Twoja opinie ale również Twój...
Piszesz DS1820 a czytasz dokumentację DS18B20, a te czujniki różnią się rozdzielczością. DS1820 ma 0,5 stopnia.
#include <mega8.h> #include <stdio.h> #include <delay.h> #include <math.h> // 1 Wire Bus functions #asm .equ __w1_port=0x15 ;PORTC .equ __w1_bit=5 #endasm #include <1wire.h> unsigned int status=0, error=0; int temperatura=0, temperatura_zadana=0; unsigned char rom_codes[5,9]; unsigned char devices, ii; int ds1820_status=1,...
Witam ! DS18B20 jest fabrycznie ustawiony na rozdzielczość 0,0625 stopnia co wymaga czasu pomiaru min 750 ms, Zaś w programie jest 500 ms. Próbowałem u siebie DS18b20 na atmega 16, kwarc 16MHz. Korzystałem z przykładu z książki pana M.W. Niestety pokazywał błędną temp gdyż to jest przykład na DS1820. Więc napisałem sobie wszystko w asemblerze i działa...
W Lispolu kupowałem DS18B20 3,99 sztuka sprawdź na allegro.
Witam Ja także mam problem z DS1820. Być może spotkaliście się z czymś takim i możecie mi podpowiedzieć co zrobić . Próbuję odczytać 64-bitowe adresy ROM układów celem podłączenia kilku sztuk do jednej lini i odpowiedniego adresowania. Mam podłączony 1 DS i używam nastepujących kroków: 1. reset 2. wysłanie 33h 3. odczyt 8 kolejnych bajtów adresu Ale...
Nie rozumiem twojego pytania. Jeśli nie masz czujnika to kup, zapewne najlepszym choc nie jednynym bedzie dla Ciebie coś z serji Dallasa DS1820, DS18B20 albo 18S20. Poczytaj noty katalogowe i zobacz co pasuje. A i jeszcze jedno, zaznaczyłes ze kozystasz z PCF'a 9zegar), nie mozna było kupic dwa w jednym zegar + czujnik temperatury. chyba DS1620 ale...
Dam tu trochę doświadczeń ze swojej strony i jedno pytanie (podbiję trochę temat): Moje doświadczenia z DS18B20 na logice 5V: - jeśli używasz wielu czujników (12+) i długich przewodów (10m+), musisz znacznie zmniejszyć rezystor podciągający (naprawdę drastycznie). Udało mi się zmusić 30 termometrów do pracy w topologii o wadze ponad 30-40 metrów. Nie...
Witam Poszukuję jakiegoś sprawdzonego rozwiązania pod kątem sprzętowym tak żeby jak najmniej stracić czasu na zabawę w lutowanie. Mam na myśli zestaw atmega + moduł gsm/gprs który mierzyłby temperaturę poprzez 1-wire i czujnik ds1820. Znalazłem coś takiego http://store.extremeelectronics.co.in/GS... ale to wymagało by jeszcze...
A może masz czujnik DS18B20, upewnij się że jest to DS1820. Ale dziwne, najpierw termometr działał poprawnie a później przestał. Zastanawia mnie jeszcze to że (jak piszesz) czujnik reaguje na zmiany temperatury bo zmienia się zmienna T1, a nie da się odczytać temperatury. Ciekawe w czym jest problem.
OK Znalazłem, że DS1820 rozdzielczość jest tylko 9 bitowa, a dla DS18B20 może ona być od 9 do 12 bitowej i dla DS18B20 wynik pomiaru dzielimy przez 16.mieniłem tą część: Temperatura(1) = Temperatura(1) / 16 i teraz pokazuje -6 C
Czym jest spowodowany fakt iż nie dostarczając napięcia do dsa " pracując w konfiguracji dwóch linii danych z podciągnięciem i masa " na pc czujnik działa ok a po podłączeniu do up nie można odczytać danych? Komunikacja jest poprawna ponieważ jest możliwe odczytanie id dsa. Ogólnie tym, że połączenie w trybie dwuprzewodowym (pasożytniczym) wymaga bardziej...
Dzięki za radę... fajny filmik :-) Tak to jest jak się jeszcze kuleje z tego :-).... A czas mnie nagli.... Mam ogólnie uruchomione już w projekcje: - pt100 -termopare typu-k - lm35DZ -KTY81-210 -MCP9700A-E i cyfrowe: Na 1-Wire: DS18B20 i DS1820 razem 4szt. Nawet zakupiłem Bascoma SE bo przekroczyłem wersje Demo a wersja lewa za bardzo mi nie działąła...
Dalej masz źle podłączony DS1820, powinno być 1/GND, 2/1W(DATA), 3/+5V Teraz masz połączone wejście 1W i +5V. Nie wiem czemu niektóre sygnały prowadziłeś zamiast Net 'em, to używałeś Wire , w kolorze czerwonym. Przykład jak to narysować http://obrazki.elektroda.net/53_12852489... Co do opcji Autorouter to można zaufać, ale co z tego wyjdzie...
Witam, chcialbym sie podlaczyc po ten topic gdyz mam pewien problem z obsluga DS1820 i DS18B20 z ATMega128 Mianowicie, po podlaczeniu w trybie 2wire (1 - GND, 2 - PinB.7/PinE.7 itp., 3 - Vcc 5V) do ATMega128 z kwarcem zewnetrznym 10MHz (innego uzyc nie moge) po wykonaniu komend w Bascom AVR: config 1wire= portb.7 dim rgn(8) as byte 1wreset wait...
Na pewno prostsze w okablowaniu byłoby połączenie czujników poprzez sieć 485. 4-żyłowy kabel umożliwia połączenie i zasilanie do 32 urządzeń. Każde urządzenie/termometr to np. - czujnik LM335 - ATTINY2313 (20 pin posiada UART i ADC) - układ do transmisji MAX485 lub odpowiednik Do tego potrzebny jeszcze układ Master - może być PC - Sterownik na ATMEGA...
$regfile = "m8def.dat". $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.6 , Db5 = Portb.7 , Db6 = Portd.5 , Db7 = Portd.6 , E = Portd.2 , Rs = Portd.0 Config 1wire = Portc.0 Declare Sub Odcz_temp Dim Temperatura(2) As Byte Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32, Do Call Odcz_temp Cls If Temperatura(2)...
Kiedyś wysłałem Ci coś takiego: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> //CRC #include <inttypes.h> #define CRC8INIT0x00 #define CRC8POLY0x18 //0X18 = X^8+X^5+X^4+X^0 uint8_tcrc8 (uint8_t* data_in, uint16_t number_of_bytes_to_read); //UART #include "uart.h" //uncoment if you like use...
Próbujesz wgrać kod na AT90S2313 do ATmegi16? Te dwa procesory mają zupełnie inne rejestry więc trzeba odpowiednio przerobić kod dla ATmegi. Oczywiście pisząc w bascomie nie było by tylu problemów z przerobieniem, DS1820 i DS18B20 też są w pewnym stopniu różne od siebie więc nie będzie dobrze wyświetlany wynik.
Ok, a teraz jeszcze jedna sprawa: Zmodyfikowałem trochę program by wyświetlał na multipleksowanych wyświetlaczach LED 4x7 odebraną komendę. Jak zwykle trochę chodzi, ale nie do końca - założenie jest takie: odbiera komendę z rc5 i wyświetla ją na led, efekt jaki uzyskuję: odbiera komendę, wyświetla na ułamek sekundy, potem wyświetla 95, czasem się zdarzy,...
SHT11/75 ma wlasny protokol, nie jest to TWI. Co do prostego czujnika cisnienia w stylu DS1820 dla temperatury to jest np. HP03D, ma to wyjscie I2C i jest tanie. Tylko nie mam pomyslu gdzie to kupic w Polsce.
problem tkwi w tym, że program masz do obsługi układu DS1820, a podpięty masz DS18 B 20 (różnią się one rozdzielczością i sposobem zapisu temperatury w rejestrach). W internecie znajdziesz masę programów pod BASCOM i nie tylko obsługujących ten termometr.
Tutaj masz wszystko... 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler Config Pinb.1 = Input 'linia PB1 jako wejściowa Config...
A to niby dlaczego nie wolno stosować waitms ??? U mnie jakoś działa przy wielu czujnikach na jednej linii i co to ma wspólnego z wysyłaniem przez uarta ? W tym przypadku waitms nie zakłóca obsługi przerwań, wiec nie widzę problemu. Kolega namieszał trochę w procedurze "odczyt". Na początku wyszukujesz czujniki na linii 1wire, a później, w procedurze...
Pozwolę sobie podpiąć się pod temat. Zleży mi na zwiększeniu czybkości odczytu z Dallasa więc zmieniłem warość konfiguracyja w DS18B20 na odczyt 9bitowy. Po odczycie wartość scratchpad wynosi 31, czyli jest ustawione dobrze (9bitów). Teraz nie wiem jak to poprawnie odczytać? Napsiałem 2 procedurki odczytujące i wyświetlające wynik na wyśletlaczu. Pierwsza...
Jeżeli w grę wchodzą duże odległości czujnika od układu to DSy są niezastąpione. Co do dokładności to chyba zależy od źródła DSów. Te z allegro nie są za dokładne, może to jakieś podróbki? Ja mam kilka z sampli i są idealne, ze sklepu też ok, a kolega kupił na allegro i były rozrzuty. A tak na marginesie to DS18B20 bedzie (wierząc nocie aplikacyjnej)...
Tak, marsz rację ale kod jest dla czujnika ds1820 (nie ds18b20) gdzie temperatura jest 9 bitowa
http://obrazki.elektroda.net/86_12805854... Witam, Chciałbym zaprezentować kolejny mini projekt aczkolwiek bardzo użyteczny i przydatny na codzień. Ponieważ posiadam kilka bardzo dużych wyświetlaczy VFD 2x20znaków (rozmiar lampy 20x6 cm !!!) postanowiłem zbudować mini panel reklamowy z wygodną obsługą dla klienta. Wyświetlacze omawiane były w http://obrazki.elektroda.net/65_12805841...
Prosze bardzo, zmenne oraz main. Zakomentowane linie sluza do odczytu temperatury z ds1820, wyswietlania jej na LCD czy tez zapiswanie do eepromu. [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include <util/twi.h> #include "hd44780.h" #include "ds18b20.h" #include "i2cds1307.h"...
ok bledy naprawione ale zwraca mi zmienna 0.0 z termometru może źle zainicjowany jest pin do dq i procesora bo używam go do termometru i jednocześnie wiatraka a moze mam jakis błędny odczyt... na modulestartowym i w artykule do niego przeznaczonym pisze ze termometr to ds1820 na nim wygrawerowane jest DALLAS ds18b20 jest to roznica ktora moze spowodowac...
Podaję przykład w którym obliczam crc8 dla termometru DS18B20. Działa tak jak należy. Dane z termometru to dziewięć bajtów. Atmega 8 , WinAVR, język C. Może pomoże w znalezieniu właściwego rozwiązania problemu. // tablica pomocnicza do sprawdzania sumy kontrolnej CRC danych z układu DS1820 // ATMEGA 8 , WinAVR // #include "pgmspace.h" static...
Witam. Mam kolejny problem z obsluga 1wire a dokladnie z ds1820. #define WIRE1_PORT PORTG #define WIRE1_DDR DDRG #define WIRE1_PIN PING #define WIRE1_CONNECT 4 #define WIRE1_0 sbi(WIRE1_DDR,WIRE1_CONNECT);cbi... //0 na wyjscie #define WIRE1_1 sbi(WIRE1_DDR,WIRE1_CONNECT);sbi...
Witam. Może być coś takiego? http://www.elektroda.net/dla_kompa/ds182...
http://idom.svn.sourceforge.net/viewvc/i... Przejrzyj pliki 1wire.h i DS1820.h oraz odpowiednie c. Co prawda w c++ ale na AVR i chyba dosyc przejrzyste.
Dalej to samo, pozałem wszedzie troszke czasyi teraz nawet jak wroce do porzedzneij opcji teraz wyswietla 0.0 jak wczesniej cos zmienilem temperatura była 236 tez własnie przy tym wyniku grzebalem. Moze byc tez opcja ze kod jest pod ds1820 a ja mam ds18b20 i mi bledny wynik czyta? Jesli tak to jak poprawic to? Juz naprawde nie mam sily do tego kody..
To jest tylko wycinek programu całość programu pochodzi z książki Autor: Marcin Wiązania " Programowanie mikrokontrolerów AVR w Bascom" Ja zmieniłem przeliczenie temperatury z DS1820 na DS18B20 Dim T As Byte Dim TLsb as Byte Dim TMsb as Byte Odczytałem dwa bajty TLsb = odczyt(1) TMsb = odczyt(2) Dodałem do swojego programu T=TMsb + TLsb I podzieliłem...
Sam nie tak dawno zaczynałem.... Proponuje podejść do tematu spokojniej i zapoznać sie po kolei z zagadnieniami / tematami: - fuserbity - konfiguracja prędkości i sposobu taktowania mikrokontrolera - obsługa LCD - wyświetlanie czegokolwiek w różnych kombinacjach, np. Ala ma kota ;) - obsługa 1 sztuki DS18B20 - obsługa 2 sztuk w/w czujników Tak wiem...
Takie funkcje opóźnień (jak te z linku) nie są zbyt precyzyjne. Ten sam parametr (np. 50us) działa inaczej na różnych częstotliwościach. Powiedzmy dla f=8Mhz będzie to 48us ale już dla f=2Mhz będzie 200us. Znaczny wpływ na takie funkcje ma też ustawiony stopień optymalizacji kompilatora. Nie są to teorie, kiedyś również walczyłem z DS1820 używając podobnych...
Dlaczego poniższy kod ni działa jak pownien? Nie czepiajmy się zbędnch dziwnych opoznien i takich tam bzdetów które wykorzystywale do rozmaitych testów i szukanie dziury w tym czymś. Funkcja testująca obecnosc czujnia dziala.. czujnik zglasza sie. Sam DALLAS sprawny. Dlaczego nie czyta temperatury... co jest nie tak z tymi procedurami? Wszystko testowane...
Witam. Sprawdź tutaj: http://www.elektroda.pl/rtvforum/topic57... No i spróbuj w opcji szukaj wpisać "ds1820 bascom"
Podpinałeś kiedys ds1820 z 4,7K opornikiem podciagajacym na 20m kablu? I co udało się? Bo mi nie chciało zadziałąć - zawsze albo 0 stopni albo te magiczne 85 stopni. Wiadomo ze na takie odległości tylko pętle prądowe i nic innego. W nocie aplikacyjnej AN244 od Dallasa jest projekt drivera 1-wire dla kabli do 500m.
* Program demonstrujacy dzialanie termometru DS1820; This program measure a temperature from DS1820 and shows it at LCD. Piny/Pins: PD1 - RS PD2 - E PD3 - D4 PD4 - D5 PD5 - D6 PD6 - D7 */ #include <avr/io.h> #include <stdlib.h> #include <util/delay.h> #define _AVR_DELAY_H_ 1 #define F_CPU 10000000UL #define DDR_DB4 DDRD #define...
teraz doczytalem znegowałem to co miałem i jest suler działa ;) no ok a jesli chcialbym odczytac dane z termometu DS1820 (tak pisze na płytce testowej na termometrze DS18b20 nie wiem czy to jakas roznica) podpietego pod jeden pin np. PD0 i wyswietlic je na LCD albo wyswietlaczu led to w jakiej postaci dostaje te dane i jak je odebrac?
OK. Poradziłem sobie z czasami. Narazie robię dla 1MHz. Jeżeli chodzi o kwarc 16MHz to myślałem żeby zrobić coś podobnego jak delay_loop_2(). Dzięki za wskazanie bo bym sam się męczył a tu obok nie zauważyłem gotowa funkcja:D Teraz brnę z moim termometrem dalej i znowu nie wiem co nie gra:cry: Oto kod: unsigned char ow_reset(void) // reset lini...
Bardzo fajny opis :) tylko czy bedzie dzialal na DS1820? Bo widze z ty opisujesz DS18B20... Pozdrawiam
witam,w ds1820 wartosc odczytanej temperatury dzielimy przez 2 a w ds18b20 dzielimy przez 16,ponadto 2 ds1820 ma rozdzielczość 9bitowa a ds 19b20 9 lub 12bitowa i czas konwersji dla ds18b20 wynosi 750ms a dla ds1820 200 ms
Witam, od jakiegoś czasu próbuję stworzyć sobie zegarek z termometrem + napięcie akumulatora do auta. Wszystkie programy osobno działają bez zarzutu. Problem zaczął się z chęcią wprowadzenia przełączalnych ekranów i wprowadzeniu przerwań. Doczytałem że przerwania skutecznie psują komunikację z DS'ami przez co temperatura się nie odczytuje. Ogólnie to...
[url=http://www.elektroda.pl/rtvforum/to... post [/code] 100% podobny problem naj efektywniej będzie zrobić emulator ds18b20 2 przewody mnogość czujników standardowe procedury obsługi na różnych platformach Jetem z okolic Gostynia mam kody emulatorów w asm , c , i bascom potrzebuje pomocy przy przekonwertowaniu dla atmega8 bo takie mam...
Jasne, program sprawdzony na ATmega 32, rezonator 8 MHz. void delay(unsigned int tau) { unsigned int tau2=tau; do {asm("nop"); //wstawka asemblerowa } while(--tau2); } unsigned char ow_reset(void) // reset lini one wire { unsigned char presence=1; sbi(DDRD,3); //DQ = 0; //pull DQ line delay(245); // leave it low // wystawienie na czas 490us "0" na linię...
Witam Na wstępie chciałbym zaznaczyć iż jestem początkującym programistą i dlatego proszę o wyrozumiałość. Robię termometr na lampach nixie, ale nie działa mi poprawnie komunikacja z ds18b20 i ds1820. Problem polega na tym, że na lampach pokazuje się wartość -00.1 tak jak by wyjście czujnika było zwarte bezpośrednio z + , a nie jest . Czujnik jest podpięty...
Biblioteka do DS18B20
Hej. Napisz dokładnie jakie czujniki masz. Z tego co wiem są czujniki DS18B20, DS18S20,DS1820. Jeśli masz zastosowane dwa różne czujniki może to być przyczyną innych odczytów gdyż informacja odczytywana z tych czujników ma różną postać binarną na przykład +25 stopni dla DS1820 ma postać 0032h natomiast DS18B20 ma postać 0191h. Pozdrawiam
akurat niedawno przerabiałem ten temat, odświeżanie w przerwaniu timera: [syntax=c] double decicelsius = 88.8; int main(void) { // set preskaler /64 TCCR0B |= (1 << CS00) | (1 << CS01); // enable timer overwlow interrput TIMSK0 |= (1 << TOIE0); // enable interrputs sei(); led7s_display_init(); ds18b20_reset(); _delay_ms(250); while...
Tak jak pisałem mam odczyt z rozdzielczością 9-bitową, próbowałem wielokrotnie zapisać rejestr konfiguracji, ale przy odczycie zawsze dostaję, że zawiera same jedynki. Wczoraj, kiedy już straciłem całą nadzieję zauważyłem, że w sklepie sprzedali mi ds1820 zamiast ds18b20, a ten właśnie ma 9-bitową rozdzielczość. Dziękuję wszystkim za pomoc i zamykam...
Witam mam 2 problem pierwszy odnosnie atmega8515 i na pisaniem programu w bascomie. Wiec uklad ten w jak dostanie na na portb.1 stan wysoki to wchodzi w petle programowa ktora to wyglada tak Do set port.2 waitms 1 reset portb.2 incr x if x=240 then call pocz enf if loop no i nie dziala mi to, aha na samym poczatku zadeklarowalem portd=&b00000110 Drugie...
To, że można użyć innych termometrów (z pomiarem ciągłym) napisałem. To, że DS2482 jest wolniejszy od DS2480 udowodniłem. To, ze kolega nie używał w/w układów można wywnioskować. Reasumując: Przy pomiarze temperatury, DS2480 (115200) będzie szybszy od DS2480 (400kHz), może o 0,2% ale szybszy. To jest fakt. Jeśli jest inaczej proszę to udowodnić . Tak...
W końcu przespałem się z tematem :) Ostateczny wybór padł na rodzinę AVR... uznałem że to najlepszy wybór na początek przygód z... Starając się dalej iść w stronę zakupu gotowego zestawu wybrałem kilka które uznałem za najbardziej warte uwagi: EvB ATmega 16-32 ( 222 z ł – ATMEGA32 + WYŚWIETLACZ ) http://obrazki.elektroda.pl/8258948300_1...
Witam. Czy udało się komuś uruchomić zegar w wersji 2a z termometrem DS18B20? U mnie nie mierzy temperatury. Zarówno w wersji 4c jak i 6c wskazuje 0. Sam zegar chodzi ok. Dodano po 1 Porównywałem noty katalogowe DS18B20 oraz DS1820. To chyba jednak nie jest taki zwykły zamiennik. Wydaje mi się, że skoro program był pisany pod DS1820 to przy zmianie...
http://palmavr.sourceforge.net/cgi-bin/f...
Witam ! Wgrałem ten program do megi8, przedtem dopisałem przed liną Do, CLS. Program działa źle pokazuje TEMP: -72stopnie C po podgrzaniu czujnika temperatura maleje -63... Kod działa ok tylko użyłeś inny typ czujnika ma być DS18S20 (DS1820), a nie DS18B20. Wszystkie fusebity są w stanie OFF sprawdziłem to za pomocą nakładki na avrdude gui Burn-O-Mat...
Ja kupuje za 19 zł wyświetlacz 2*16 w sklepie elektronicznym razem z pozostałymi elementami. Podam Ci spis elementów: LCD 2*16 Atmega8 DS18B20 lub DS1820 - czujnik temp stabilizator 7805 rezystor 10k rezystor 4k3 potencjometr montażowy 10k kwarc 8MHz kondensator 100n x3 kondensator 100uF x1 kondensator 220uF x2 goldpiny ok 30 Programator: http://obrazki.elektroda.net/42_12074908...
Też mam problem z crc. Chcąc wesprzeć się programem kolegi Freddy musiałem dodać wcześniejszy ciąg programu i nie jestem pewien czy wszystko jest oki. Skompilował się bez problemu ale ciągle na LCD pojawiają się "**" czyli jakby crc nie było w porządku. Dodam że mam oryginalną płyte z atmega644p i czujnik Ds18b20 jest na niej umieszczony. Co może być...
Niestety na twoim programie też nie działa B Wyświetla "DS18B20" "temp: -0,1*C"
Kilka problemów: - przy czytaniu temperatury pierwszy odczytany bajt jest mniej znaczącym, czyli czytanie trzeba zmienić na: [syntax=c] temp = Ow_Read(&PORTB, 2); temp |= Ow_Read(&PORTB, 2) << 8; [/syntax] - o ile pamiętam, temeperatura w DS18B20 jest wyrażona w jednostkach 1/16 stopnia. Aby uzyskać temperaturę w stopniach, trzeba ją przesunąć...
http://obrazki.elektroda.net/22_12018195... Pomysł na wykonanie zrodził się po awarii telewizora którego pilot wykorzystywał stary regulator oświetlenia. Z racji tego że dużo czasu spędziłem nad rozpracowaniem kodu starego pilota postanowiłem do problemu podejść troszke inaczej :wink:. OPIS UKŁADU Sercem układu jest Atmega88 pracująca na kwarcu...
Książka to "Programowanie Mikrokontrolerów AVR w jez. BASCOM" Program termometra. Przykład z książki. 'Program obsługi jednego układu DS1820 dołączonego 'do magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler...
Jakiś szczególny powód dlaczego każdy termometr jest podłączony osobno? Pamiętaj ze termometry DS1820 działają na magistrali 1wire i możesz wszystkie podłączyć do jednego portu procesora (potencjalnie)
Dziękuję wszystkim za pomoc, rozwiązaniem było zmiana fuse bitów - zmieniłem wewnętrzny oscylator na 8MHz i wszystko pięknie pokazuje. Kod gotowego programu dla kogoś kto miałby problem: [syntax=basic4gl]$regfile = "m8adef.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.0 , Db5...
A co pisze dokładnie na czujniku? DS1820, DS18S20 czy może DS18B20?
Witam. Może temperatury są złe bo programy są dla ds18b20 a nie dla ds1820. między ds18b20 a ds1820 jest spora różnica jeżeli chodzi o konwersje temperatury. Poszperam w swoim archiwum i postaram się wstawić odczyt tem. dla ds1820. Po chwili. Poszperałem i znalazłem coś takiego, nie są to moje programy ale znalezione w sieci( nie pamiętam gdzie) wiem...
Witam, programując termometr z czujnikiem DS18B20 i up Atmega8 napotkałem bardzo drażniącą przypadłość, pomiar temperatury z DS'a potrafi wahać się nawet o 2*C, co jest błędem niedopuszczalnym i nie wiem jaka może być przyczyna takiego uchybu. Czujnik ma 1s na dokonanie konwersji pomiaru, w zupełności wystarczające jest 750ms, ale dałem z zapasem, co...
Mógłbym prosić kogoś o poprawienie kodu termostatu który będzie obsługiwał 3 wentylatory? Czujnik temperatury, którego będę używał to DS18B20. Dodano po 4 Tutaj postarałem się przerobić inny kod, wydaje mi się że powinno być nieco lepiej niż z tym 1... [syntax=text] $regfile = "m8def.dat" $crystal = 8000000 '***************************************...
Witam. Koledzy prosze o pomoc w napisaniu programu, ktory by obsłużył 2 czujniki temperatury Ds1820 i wyświetlacz LCD od Nokii 3310. Na tym wyświetlaczu chce zeby byly wyświetlone oby dwie temeratury np. Zewnetrza z lewej strony a wewnetrza z prawej. Myślałem jeszcze o dodaniu graficznego słupka rtęci, ale raczej to bedzie dużo z tym roboty. Szukałem...
Czy ten układ jest już w miarę sprawny? W dalszym ciągu układ nie będzie pracował.. -Tranzystory Q1 i Q2 włączone odwrotnie, - brak podciagania do VCC (R=4.7k) dla linii DQ dla DS1820, - połącz najpierw ze sobą (równolegle) segmenty o tejsamej denominacji obydwu wyświetlaczy a następnie przez rezystory do portów processora; tym sposobem zredukujesz...
Zauważyłem ,że sterownik zachowuje się jakby temperatura była za wysoka w stosunku do tej zadanej mimo, że w pokoju jest chłodniej niż zadane 30*C (temperatura do testów) jeśli ustawię zadaną temperaturę na dużo większą np... Ten twój program termometru jest błędny! Przy symulowaniu przykładowych parametrów dla temp. 25 st C.; w wyniku otrzymujesz...
Co do DS1820 to strzelam że trzeba rzutować temp1 i temp2 na float temp=(float)(temp1+(temp2*256))/16; czyli temp=(float)((float)temp1+((float)temp2*...
Nie wiem co wy sie tago zasilania czepiacie tak ja mam ładowarke chyba impulsową do se 450mA 4,9V Pod obciązeniem na procku jest 4,6V a na układzie ds1820 ktory jest pociagniaty 4 zylowym kablem (dane, zasilanie i gnd wszytko oddzielnie) 30m i zadnego kondensatora nie ma ani przy układach ani na płytce (na płytce są tylko 100nF do filtracji ADC) i 2x...
Oczywiście że jest, podpinasz 1-wire pod wejście przerwania zewnętrznego, pdf z dokładnie opisaną transmisją 1-wire w ds1820 i jedziesz z programem.
Masz coś z czujnikami, pliki hex i bin działa mi poprawnie, na początku wyświetla ID czterech czujników, potem wyświetla cztery temperatury, jak wypnę któryś z czujników to w miejsce temperatury wskakują kreski -.-. Po podłączeniu czujnika ponownie pojawiają sie cyfry temperatury. Nie napisałeś czy wyświetla ID na początku wszystkich czujników i czy...
BearBeer - prawdopodobnie tak MAT_91: zamień: itoa(ds.tds/2,buf,10);//temper. całkowita write_text(buf); write_text(".\0"); itoa(abs((ds.tds*10/16)%... //części dziesiętne na: itoa((ds.nds[1] << 4) | (ds.nds[0] >> 4),buf,10); write_text(buf);...
Na początek spróbuj podłączyć czujnik do innego portu np. PB.0, port przetwornika lubi czasem wariować. Potem sprawdź czy aby na pewno posiadasz DS18B20 a nie DS1820. Jeśli masz procek nowy to w programie zadeklaruj rezonator na 1MHz.
Może DS1820 /1821 ?
powiem ci ze dziwne te twoje programy, nie zebym sie znal na tym jakos specjalnie, ale mnie uczono tak: w przerwanie wchodz na chwilke i jak najszybciej je opuszczaj! wedlug tej zasady wydaje mi sie bardziej racjonalne zrobienie programu tak by petla glowna programu byla uruchamiana co 1sekunde, w petli glownej rob wszystkie przeliczenie razem z pomiarem...
Temat chyba przekazał wszystko kod od 10 lat nie ruszany działający ale zachciało mi się aby zwracał błąd gdy nie ma jednego czujnika na magistrali kombinuję i stoję w miejscu. [syntax=basic4gl] Sub Odcz_temp K = 1 For J = Poczatek To Koniec 'Odczyt numeru seryjnego z eeprom Readeeprom Register_number(k) , J Incr K Next J Call Zap_num 'Wywolanie procedury...
Witam. Zrobiłem termometr taki jak w temacie http://www.elektroda.pl/rtvforum/topic33... tyle że zamiast AT90s2313 dałem ATmege8, taktuje go wewnnetrznym oscylatorem 4MHz ponieważ portb jest zajęty dla wyświetlacza. Po uruchomieniu na wyświetlaczu pojawiają się "niepełne" cyfry coś podobne do 2 lub innej cyfry. Programu nie zmieniałem...
Układ poprawnie złożony na stykówce Ja bym jednak mimo wszystko poprosił o jakiś schemat/zdjęcie tego co tam poskładałeś :) Też tak uważam, bo programy są przetestowane do bólu i to nie tylko przeze mnie, czytelników ale też przez autora tych bibliotek (gościu z niemiec). U mnie np działaja na tym układy pomiaru temperatury na wielu czujnikach na magistrali...
Mam termometr na Ds1820 i Atmega8.Pracuje na wewnętrznym oscylatorze(przestawiłem na 4Mhz) bez zarzutu.Należy pamiętać o $crystal (np.4000000). Pozdrawiam!
$regfile = "m8def.DAT" $crystal = 1000000 '$lib "mcsbyte.lib" Declare Sub Init Declare Sub Convallt ' Convert T on ALL sensors Declare Function Decigrades(byval Sc(9) As Byte) As Integer Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.6 , Rs = Portd.4...
cześć. mam pytanie czy ktoś ma gotowe przykłady kodu w C użycia ds18b20? przeszukałem całą elektrode i akurat w C tego nie ma. działam na atmega8 pozdrawiam
co napisaliscie jako swoj pierwszy program na dany uC w danym jezyku (rozbudowy sie licza, byle by wciaz byla to ta sama baza) n. n. - literka, cyferke z przodu dodam sam. zachowujcie chronologie w swoich dokonaniach na roznych platformach jezykowych i sprzetowych, tak aby to mialo sens! ____________________ 0x1-a. Freddie Chopin - migacz diodkami o...
http://obrazki.elektroda.net/68_12224616... Witam Chciałem zaprezentować mój kolejny projekt. Jest to właściwie część projektu nad którym obecnie pracuję. Docelowo układ ma służyć do automatyki domowej. Na razie zrealizowałem tylko pomiar temperatury wraz z obsługą telefonu poprzez komendy AT. Zadaniem prezentowanego ukladu jest pomiar temperatury...
Moja koncepcja jest taka. Na 89c2051 + DS18b20 + MAX485 stanowi czujnik temperatury, który połączony jest przez interfrjs RS485 z procesorem głównym na ATmega32, który to wybrane wyniki wyświetla na wyświetlaczu. W moim modelowym urządzeniu były tylko dwa czujniki ale praktycznie może ich być nawet 32 sztuki. Czujniki na 1 wire podłączone do wspólnego...
Witam Jestem w trakcie tworzenia Sterownika do Pompy Ciepłej wody Użytkowej (C.W.U) ten sterownik ma spełniać dwa warunki: 1. Włączyć pompę, jeżeli temperatura zadana jest większa bądź równa temperaturze, jaka jest w bojlerze z ciepłą wodą 2. Włączyć pompę o określonej porze np. od godziny 6.00 do godziny 8.00 Mózgiem tego będzie ATMEGA8 układ czasowy...
ds18b20 ds18s20 ds1820 ds1820 ds18b20 ds18s20 różnica ds1820 ds18b20
silnik pompy hydroforowej kontrolka renault master wciśnij sprzęgło
rudocell viessmann ogranicznik przepięc
Części zamienne do silnika Bolens 13,5 hp OHV Renault Megane Scenic 3 - Radio i nawigacja nie działają po wymianie akumulatora