Możesz dane przesyłać w obie strony po jednej linii DATA przez odpowiednio oprogramowany UART. To oprogramowanie zajmie pewnie nie więcej niż kilkanaście linii kodu (wraz z przełączaniem kierunku transmisji).
elbud napisał: Obecnie lutowanie elektroniki transformatorówką jest bez sensu. Wszystko małe i cienkie ścieżki od razu się przepalą. Nie mierz wszystkich swoją miarką. 12 milsów i cała tę płytke polutowałem transformatorówką mimo iz mam stacje Wellera i Salomona.. stosuje je do chirurgicznych dużo drobniejszych zabiegów. http://obrazki.elektroda.pl/3443677800_1...
Sprawdź w dokumentacji czy ta ATMega ma te same piny do programowania i do sprzętowego SPI.
No tak- ale to nie jest DS tylko pamięć na ATmedze zaprogramowana zgodnie z 1wire. Reszta układów podpieta do 1wire będzie miała swoje 3.3V. Tylko ta Atmega udająca 1wire będzie miała nieco niższe napięcie zasilania- o spadek na diodzie. P.S. A swoją drogą- fajny pomysł zrobić własne układy na 1wire. Szkoda tylko że sprzedawać tego nie można.
w czym napisales soft?? wlczyles zewnetrzny oscylator w ATMega??
Odpowiedź na Twoje pytanie znajduje się na stronie www.maxim-ic.com w dziale 1wire. Jest tam również gotowiec ale na PIC'e :D.
Wariant C jest OK.
Mam dwa układ na ATmega oba układy mają podłączone MAXA485. Ale poco ten konwerter,przecież procesor wysyła i odbiera sygnały TTL... Pobaw sie jeszcze z tymi prędkościami transmisji. czy jest jakaś możliwość wysyłania i odbierania danych w dokładniejszy sposób niż jest toprzedstawione w przykładach. input, print, input, waitkey Hmm,masz jeszcze polecenie...
Z założenia magistrala RS485 jest MASTER+ wiele odbiorników czyli podobnie jak 1Wire.
Atmegę kupiłem na allegro, posiada ona wbudowany Kwarc i Bootloader. ATMega nie posiada wbudowanego rezonatora kwarcowego, lecz wewnętrzny oscylator. Nie ma też wbudowanego bootloadera. Czy pin 11 jest odpowiednim pinem do podłączenia 1Wire? W jakiej obudowie jest ATMega DIP28, czy TQFP?
Z procka, z tego co wiem, to nie. Mozesz kupic sobie EEPROM z identyfikatorem unikalnym np. [url=http://ww1.microchip.com/downloads/... Mozesz sobie tez podlaczyc scalak o podobnej funkcjonalnosci na 1wire (sa takie). Dla pocieszenia powiem, że większość nowych ARMów ma unikalne serial numbery w krzemie ;]
ustawianie stanów logicznych na pinie odbywa się w przypadku 1-wire nieco inaczej niż pokazałeś. Ty ustawiasz kierunek i wymuszasz stan, a to troche nie tak. Ustalać powinieneś jedynie kierunek transmisji. Domyślnie w rejestrze PORTx są same zera, więc nie musisz się nim w ogóle przejmować. Dla np resetu powinno być tak: ustawiasz port jako wyjście,...
Niestety coś jednak nie tak podczas kompilacji kodu. Na zestawie uruchomieniowym również wyświetla się 0.0 C zamiast "error", jeżeli do linii 1Wire nie został podłączony żaden układ. Czy ktoś mógłby podesłać gotowy wsad dl atmegi8 dla chociażby sprawdzenia czy atmega wykrywa jakiś układ na linii 1Wire? U mnie widocznie sypie się eclipse, bo czysty układ...
Witam Czy można do tej funkcji również zastaosować uC? Jeśli tak to jak to zrobić? Jaki czujnik będzie potrzebny? Mozna, czujnik tani to np temistor, mozna i diode zwykla uzyc, ale wygodniej jest jakims cyfrowym np na i2c albo 1wire pozdrawiam
czemu nie ds1820 na szyne 1wire ,mozna do jednej nogi podpiąc ich 32 szt :) nawet atmega 16 da rade temu projektowi :)
Powiem tak zestaw to jest na wyrost bo wszystko sprowadza się do zintegrowanego czujnika temperatury oraz wilgotności Dodatkowo tranzystor przekaźnik dioda zabezpieczająca opcjonalnie stabilizator w sumie z 8 elementów bo nawet może wszystko chodzić na wewnętrznym kwarcu Czujnik np DHT11 na 1wire kontroler może być atmega 88 w zależności od finezji...
Witam Czy mógłbym prosić o sprawdzenie schematu płytki na AtMega324 ? Płytka będzie służyć do "doświadczeń" z kartą SD ( programowy SPI ), komunikacja UART RS232/RS485/Bluetooth/GSM oraz I2C. Jest również wyprowadzona magistrala 1Wire z rezystorem podciągającym zasilanie. http://obrazki.elektroda.pl/4787593100_1... W sumie zastanawiam...
Jeżeli jest tak, że wykona 1 przerwanie a potem 2 to ok. Tyle mi wystarczy.
w firmie gdzie pracuję używają codevision ale procedurki np. do 1wire czy do wyświetlaczy sami sobie piszą bo te dostarczone nie są za dobre więc może lepszym rozwiązaniem jest zainstalowanie avr-gcc który można ściągnąć z: http://www.avrfreaks.net/
"Ktoś podobny" pozdrawia :) i dzięki za informacje ...wracam do walki z Atmegą i 1Wire (pod asm żeby było trudniej ;) )
Nie rozumiem dlaczego jedziecie po UARTcie, że niby będzie nieodporny na zakłócenia. Przecież z elektrycznego punktu widzenia będzie to coś jak 1Wire, a do tego 3 przewodowy (osobna linia zasilania). Jedynie ramka danych będzie wzięta z UARTa. Czyli powinno to być tak samo odporne na zakłócenia jak 1Wire (oczywiście przy założeniu że prędkość UARTa...
Ma zewnętrzny oscylator 8Mhz. Z resetem to chciałem do prób zrobić tak żeby na lcd w górnym wierszu leciały kolejne próby a w dolnym wynik err , a ja w tym czasie podłączam do 1wire "pastylki" licząc że zadziała :-).
W moim przypadku przesiadka z rodziny Mega na inną Atmela lub nawet innego producenta wymagałaby poznania nowej rodziny, inwestycji w stosowne programatory itp. Stąd na chwilę obecną pozostaję przy Mega. W moim przypadku na tym sprzęcie dopiero "mrygam LED", bo bieżąca robota ma pierwszeństwo, więc nie jestem tak do przodu... ;). Z tą inwestycją w...
$crystal = 14745600 Czy oprócz podłączenia takiego kwarcu ustawiłeś odpowiednie fuse bity? Następna rzecz to nie musisz robić resetu 1wire. Największy błąd polega na tym że nie czytałeś helpa bo gdybyś to zrobił to dowiedziałbyś się że zmienna do której zapisujesz ilość urządzeń koniecznie musi być typu WORD lub INTEGER. Na koniec radzę ci skorzystać...
Witam Chciałbym połączyć dwie Atmegi przez SPI. Atmega 328 jest na głównej płytce, czyli MASTER. Obsługuje termometr 1WIRE, LCD oraz zapis na SD. Zapis na SD jest przez HARD SPI. Do tego chciałem podłączyć drugą płytkę z Atmega8, jako SLAVE. Chciałem je połączyć przez Sprzętowe SPI, tylko, czy fakt, że na MASTER jest już karta SD nie utrudni/uniemożliwi...
Witam, ciekawy projekt, taki sterowniczek, listwa zaworow z silownikami do grzejnikowi elegancko wszystko sie reguluje. Prosze powiedz tylko jaka dlugosc przewodu moze byc zastosowana do czujnikow po 1Wire. Pozdrawiam
Masz poniżej zawartość dwóch plików, które trzeba podmienić: [syntax=c] #include <util\atomic.h> #include <util\delay.h> #include <avr\io.h> #include "1wire_basic.h" uint8_t Error; uint8_t PinMask; void OW_SendBit(bool bit) { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { DDRB |= PinMask; _delay_us(3); if(bit) DDRB &= ~PinMask; _delay_us(60);...
Witam, Czasówki 1wire do zmiany. Sprawdzaj CRC numerów seryjnych.
Czy na pewno nie ma przerwy na magistrali 1Wire ? Ten program jest sprawdzony i należy szukać błędu w połączeniu i konfiguracji. Czy Atmega jest nowa tzn. bezpośrednio ze sklepu ?
Witam. Jeśli nie ten dział, to proszę o przeniesienie. Chciał bym zapytać znawców tematu: Czy MC34063AC nadaje się do zasilania układów opartych na Uc Atmega/Attiny, zamiast 7805? Czy Uc zasilany tym układem: http://obrazki.elektroda.pl/4599509700_1... Będzie działał prawidłowo, ADC, Uart, 1Wire?
Sprawa pierwsza czyli instrukcje konfiguracyjne w kodzie. Chodzi o to, że jeśli nie wstawisz takiej instrukcji a użyjesz w kodzie chociażby jednej instrukcji PRINT, INPUT albo innej związanej z UART to cudów nie ma, trzeba skonfigurować UART i kompilator musi przeliczyć prędkość dla UBRR i ustawić bity konfiguracyjne. Dane musi skądś wziąć więc weźmie...
Witam No i nie działa, jest kilka błędów kompilacji:... Ależ Twój program jest jak najbardziej OK , choć tylko w zakresie temperatur dodatnich :D Czy "podciągnąłeś" linię 1wire(DQ) do VCC , zewnętrznym rezystorem :?: Piotrek
Sygnały CS, SCK i SI połącz z uC bezpośrednio. uC w stanie spoczynku ustawia na CS HIGH a podczas komunikacji wystawia LOW. Nie zapomnij linii 1Wire podciągnąć do 5V rezystorem ~4K7 Pin 1 uC (Reset) też do 5V ~15K
Witam, poniżej zamieszczam kod z Bascoma mojego sterownika BMS, w tej chwili kontroluje temperaturę, czas, Rs232, LCD 2x16. Obsługa z klawiatury lub pilota RC5, w obecnej chwili rozwiajm go o dostęp przez internet. zajmuje ok 8kb pamięci więc w A162 będziesz miał jeszcze drugie tyle pamięci. Ja kożystam z A32 Pozdrawiam. PS. daj znać jak zakończysz...
(at)snnaap: Ta funkcja ("ms") to jakaś pozostałość - coś zmieniałem, ale skoro spełniło moje wymagania to już zostawiłem odłogiem. Pierwszego pytania nie rozumiem. Tu znalazłem jakieś informacje o tym, że można sobie efektywnie poradzić bez UART: http://mirekk36.blogspot.com/2011/09/fak... Nie ma (albo nie "doszukałem...
http://obrazki.elektroda.pl/6850537700_1... Witam. Posiadam czujkę dymu i ciepła Hekatron MTD 533X. Czujka komunikuje się z centralą prawdopodobnie za pomocą protokołu 1wire ponieważ do czujki podlaczone są tylko 2 przewody- masa i zasilanie(+)przewód spełniający również funkcję komunikacji- transmisji danych. Każda czujka posuada również...
No to mamy winowajcę. Robienie czegokolwiek długotrwałego w przerwaniu to chory pomysł, ale problem polega na tym, że procedury obsługi LCD nie blokują przerwań na czas wykonywania operacji na LCD - dołóż blokowanie i odblokowanie przerwań na prymitywach LCD i zadziała (jako proteza). żeby zadziałało dobrze - przenieś obsługę 1Wire do pętli głównej.
To jest przyklad tego jak mozna obsluzyc DS1820 przez mega 8 ale jest tam tez obsluga wyswietlacza w C.Moze sie pryda.Sam to dostalem od jednego kolegi z forum:-) wiec mam nadzieje ze sie nie obrazi...mnie interesowal DS. Pozdrawiam Maciek! #include <avr/io.h> #include <avr/pgmspace.h> #include <stdlib.h> #include <ctype.h> #include...
Witam Już od dłuższego czasu nie mogę poprawnie uruchomić termometru ds18b20. mikrokontroler to ATMEGA32A, F_CPU 16Mhz Próbowałem już na wiele sposobów, ostatecznie jednak korzystam z kodu zamieszczonego w książce tmfa. http://obrazki.elektroda.pl/9838684200_1... Każda próba kończy się odpowiedzią " No Presence Pulse" Jestem początkujący...
Chyba mam coś nie tak z podłączeniem. Atmega nie może ściągnąć linii do 0. Wygląda to tak, że gdy linia 1wire jest podłączona do mikrokontrolera i do rezystora 4.7k wówczas gdy ustawię pin jako wyjście i na port dam 0 to tak jest w rzeczywistości (sprawdzałem miernikiem - ustawiłem sobie czas na kilka sekund). Natomiast gdy do tej linii podłączę jeszcze...
Miło widzieć. To w Krakowie powstała konkurencja dla LabView Czy zanosi się na to że NI wkrótce zbankrutuje? A swoja drogą. slaweko co tam napchałeś w tym Bascomie że brakło 8kB pamięci w ATmega do prostego sterowania zał/wył z 1szt termometru na 1wire? Czy ta taśma izolacyjna nie rozmiękła i nie "rozlazła się" na rurze z gorącą wodą.
Witam, Mam pytanie do szanownych kolegow i kolezanek odnosnie mozliwosci zrobienia na Atmega "sterownika" do sterowania napieciem 0-10V (do wentylacji, wentylatory EBM maja na wejsciu mozliwosc sterowania napieciem). Na chwile obecna mam dwa pomysly (Atmega zasilana +5V): - poprzez konwerter DAC z wyjsciem +10V np. TDA 8444 - na wzmacniaczu operacyjnym,...
Sprzedawane procsory M8 są ustawione na wewnętrzy sygnał zegarowy o częstotliwości 1MHz (pdf strona 24) więc jeśli nie zmieniałeś niczego w fuse bitach to może to być żródło problemów z obsługą 1Wire. Albo zmienisz $Clock = 8 na 1 albo przestawisz bity kontrolne (!!!)
Zmien ten fragment: \code #define OW_PORT PORTD #define OW_BIT 2 \endcode na: \code #define OW_PORT PORTD #define OW_BIT 0 \endcode bo bylo ustawione na Port D.2 - chyba, ze tam podepniesz DS'a to bedzie smigac... Pozdro! Dodano po 3 a ten plik z kad wziasc?? 1wire_lib.h To jest wlasnie ten fragment: #include <avr/io.h> #include <inttypes.h>...
Kolega Mad Jaro mierzy czas pomiedzy INT-em i przelicza na obroty. zablokowanie INT spowoduje pływanie obrotów( INT nie liczy impulsow). Kolega xury ma rację odnośnie jednokrotnego użycia szukania czujników. A poza tym zsynchronizuj odczyt 1wire z przerwaniem INT tzn. komunikację z 1wire podziel na max -5 bajtowe odcinki i wykonuj je po przerwaniu INT....
Dzień dobry, Chciałbym Was prosić o sprawdzenie poprawności prostego schematu z komunikacją 1wire i przekaźnikiem. Chciałbym się dowiedzieć czy komunikacja z drugim układem może się odbywać za pomocą wewnętrznych kwarców (atmega-atmega, atmega-attiny), czy należy wykorzystywać zewnętrznych tak jak u mnie na schemacie? Zasilanie chcę zrealizować na trafo...
Cześć Mój problem jest podobny. DS 1820 na wyjściu daje same '1' pomimo tego że po resecie daje impuls. procek to ATMega 162. Jedno co nie rozumiem to to że jeżeli w linia 1Wire jest spolaryzowana wewnętrznym rezystorem to "impuls obecności " nie pojawia się. Czy ma ktoś sugestie co do dalszych badań nad draństwem.:cry:
Przerwanie żeczywiście wtedy nie zakłuci pracy 1wire ale sam odczyt 1wire zakłuci czestość występowania przerwania - it o jest powazym ograniczeniem w stosowaniu tego. Na ten problem równiez ja ostatnio wpadłem i nie udało się tego rozwiazać przyzwoicie. Moze atmega z najszybszym zegarem (20MHz) da radę ale jest to porywanie sie z motyka na księżyc....
Ja nie widzę problemu w izolacji 1WIRE, trzeba użyć 2 szybkich transoptorów (np. 6N137) i 2 linii mikrokontrolera - osobnych do nadawania i odbioru. Można wykorzystać USART, co dodatkowo uprości obsługę magistrali od strony programowej. Oczywiście dodatkowo potrzebna będzie izolowana przetworniczka DC/DC do zasilania czujników i elektroniki za transoptorami....
no ja mam na atmega32, komunikacje uart, spi, 1wire, i2c, dodatkowy kwarc zegarkowy, przyciski na zwyklych liniach I/0 i wszystko elegancko smiga
pisałem juz wcześniej cobyś sprawdził czy opoźnienia są poprawne. 1Wire to interfejs który bazuje na pomiarze czasu. Fabrycznie nowa Atmega ma ustawione fusebity na 1MHz wewnętrzny - w programie masz wpisane 4Mhz - jak jest naprawdę to należałoby sprawdzić fuse (jeśli używasz PonyProga to mogę Ci podpowiedzeć jak zmienić) Możesz zrobić prosty test:...
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...
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...
to , że procek działa na szybszym kwarcu może wpłynąć tylko korzystnie w takim układzie. Przecież masz deklarację kwarca 16MHz w programie więc kompilator wszystko kompiluje zgodnie z tą dyrektywą.... czyli jak dobrze rozumiem to już na tym czysto wstępnym etapie programu Cls W = 1wirecount() Cls Lcd "Ile =" ; W ; "szt" Wait...
Obsługa 1Wire w BASCOMie nie jest obsługiwana w przerwaniach. Możesz spróbować czegoś takiego: cli 1wreset 1wwrite &H55 sei cli 1wwrite B2 sei cli 1wwrite &H44 sei Chodzi oczywiście o porozdzielanie wszystkich instrukcji 1Wire sekwencjami sei,cli.
Witam, Jakiś czas temu zacząłem budowę termometru wielopunktowego opartego na ATMEGA162 i DS18B20. Układ działa super, do wejścia 1wire podłączyłem 17 czujek temperatury i wszystko śmigało jak należy ale niestety po podłączeniu czujek przez skrętkę już tak cudownie nie jest. Między układem ATMEGA a DSami jest dość duża odległość nawet do 50m. W momencie...
Magistrala 1Wire jest bardzo zależna od czasów. Ponieważ nowa Atmega8 ze sklepu jest ustawiona na 1MHz zapytam czy zmieniałeś ustawienia FuseBitów w tych Atmegach? Pytam ponieważ w kodzie masz zadeklarowaną prędkość 4MHz. Taką predkośc podałes kompilatorowi i do takiego taktowania policzył czasy do komunikacji z czujnikiem. Jeśli nie zmieniałeś nic...
;* ;***************************************... ;*PROCEDURY OBSŁUGI MAGISTRALI 1-Wire DLA MIKROKONTROLERA AVR ;***************************************... ;* ;*Nazwa pliku :AVR_1Wire.asm ;* ;*Przeznaczenie :dowolny AVR, za wyjątkiem AT90S1200 ;*Kwarc :4MHz ;* ;*******************************OPIS****...
Witam mam problem. Mam program do pomiaru temp 2xDS18B20 podłączone do PB0 (1wire). Po uruchomieniu uK z prawej strony LCD wchodzi pewnien napis potem znika i wyświetla się temp. Na 8535 działa wszystko Ok napis ladnie i płynnie wjeżdża a na 32L wchodzi ale wooolno co 4 sekundy jedna literka a pomiar temperatury w ogóle nie działa. Program jest napisany...
Mam dziwny problem z ATmega8515 i obsługą szyny 1wire w Bascomie AVR 11.7.4. Prosty program zbudowany w oparciu o nieznacznie zmodyfikowany przyklad z helpa do odczytu temp. z ds18b20 działa na AT90S2313, a nie działa na ATmega 8515. Sposób podłaczenia jest ten sam, próboałem też konfigurować szynę 1wire na różne porty. Problem jest zawsze ten sam -...
Aaaale... Czy generowanie tego przebiegu ma być jedynym zadaniem twojego mikrokontrolera? Jeśli w pętli głównej będziesz chociażby odczytywać czujnik 1wire lub mocno utylizujesz przerwania, błąd nie będzie rzędu 10% (220Hz zamiast 200Hz), tylko rzędu 50%, a może i nawet 100%. Tego nie wie nikt, i nie ma takiej mocy żeby to policzyć... Co tu dużo tłumaczyć?...
Problem jest w sprzęcie a nie w programie. W układzie brakuje kondensatorów ceramicznych 100nF na pinach zasilających uC, LCD, czujnika, wejściu ADC. Nie widzę też filtru na AVCC oraz jakiegokolwiek tantala/elektrolita na zasilaniu. Popraw zasilanie a zamiast analogowego czujnika użyj cyfrowego np DS18B20 na 1Wire.
Stara mega32 da radę, ale dla pewności taktowałbym ją zewnętrznym generatorem kwarcowym (taniocha) a nie kwarcem. Bascom to przeliczy. Widziałem 1wire jak działa z Bascom w Xmedze na 48MHz. Wystarczy dobrze zadeklarować prędkośc taktowania, co obstawiam jeśli reszta protokołów działa. Dalej obstawiam błąd w oprogramowaniu przez programistę :)
Brak kropki w deklaracji pinów wyświetlacza ma byc: DB6 = portb.1 Następnym razem sprawdz dokładnie tego typu błedy i nie dodawaj tematu z tak błahego powodu
Hey czyli problem jest w instrukcji Ss = Format(ss , " 0.0") wrzuć ten program i powiedz czy wszystko gra jeżeli tak będę pisał co zrobiłem. [syntax=basic4gl]$regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja portów od wyświetlacza...
http://obrazki.elektroda.pl/4776361100_1... Witam wszystkich, jest to mój pierwszy projekt opisywany na tym forum. Przedstawiam projekt mojego autorstwa, zegar z termometrem wyświetlający aktualną datę, godzinę oraz temperaturę z 3 czujników. Założeniem projektu było zbudowanie zegara wyświetlającego godzinę oraz temperaturę wewnątrz...
Cześć Bascom Atmega mało portów, więcej po I2c jak to zrobić Więc zrobiłem pewien projekt już opisywałem na elektrodzie - sterownik domowy Brakuje mi portów do sterowania i potrzebuję rozwiązania swojego problemu. Niestety sterowanie drugą atmegą kodem BCD nie rozwiązuje problemu. Na i2C mam zegar PCF 8563, Jak rozwiązać mój problem Program napisany...
http://obrazki.elektroda.net/30_12564983... W ostatnim czasie przestałem pisać programy typu mrugająca dioda i obsługa przycisków i zabrałem się za coś poważniejszego. Postanowiłem zbudować prosty zegar. Po kilkuset linijkach kodu, okazało się, że zegar nie jest już tak prosty, bo pojawił się w nim: obsługa LCD, RTC, PWM, timer w trybie CTC,...
Po prostu raz odczytujesz id termometrów i potem na stałe zapisujesz je w odpowiednich tablicach, zamiast stosować instrukcji wyszukujących układy na magistrali. --- Choć z tego co wiem o magistrali 1wire czujniki powinny być zawsze wyszukiwane w tej samej kolejności, stąd może masz jakieś błędy w komunikacji (np. poprzez za długi kabel złej jakości...
Muszę cię zmartwić ale nie ma gotowych poleceń i super prostych rozwiązań jeśli chodzi o Bascom dla takiego zastosowania ultradźwięków. Trzeba sobie samemu zrobić jakiś układ, podpatrzeć jak to inni robią - być może użyć dodatkowo jakichś wzmaczniaczy operacyjnych dla wzmocnienia odbieranych czy nadawanych sygnałów (zależy jaki chcesz mieć zasięg) no...
Witaj! Co masz na myśli mówiąc "jednocześnie"? Masz na myśli immobiliser z termometrem w jednym? :) Ten przykład tutaj działa :) To niewątpliwie, bo kiedyś go uruchomiłem ... z pełnym sukcesem, tak więc musisz próbować :) Albo pisz co jest niejasne, co Ci nie działa, albo jakie masz błędy ... Ja teraz zmagam się z zegarem :) Chcę zrobić zegar ATMEGA8+PCF+właśnie...
A jak masz połączone te rezystory? Szeregowo czy równolegle? Czemu posługujesz się czyimiś bibliotekami, nie napiszesz ich sam? A to już nie można cudzych bibliotek wykorzystać? Nie wiem czy tutaj byłeś: [url=http://www.hobby.abxyz.bplaced.net/... Na dole artykułu jest gotowa biblioteka do ds18b20 działająca na 100%. W msb i lsb...
No to spróbuj tego: $regfile = "m16def.dat" $crystal = 4000000 $hwstack = 32 $swstack = 32 $framesize = 32 config 1wire= portb.7 Do 1wreset if err=0 then print "PP_ok" ' czy LCD "PP_OK" - co tam masz else print "PP_err" ' j/w endif waitms 500 Loop Napisz o wyniku doświadczenia :D Piotrek
informującego o zmianie temperatury co 1 stopień w górę lub dół To są założenia więc co każdy stopień ma być krótki sygnał. Warunek If T >= 200 then spowoduje że przekroczenie 20 stopni spowoduje sygnał. Muszę chwilę pomyśleć. Trzeba badać także różnicę pomiędzy odczytem poprzednim a następnym. Sprawdź to: (zmień procesor, konfigurację LCD, portów,...
wcześniej miałem #define CLEAR_1WIRE DDRD|=_BV(WE) #define SET_1WIRE DDRD&=~_BV(WE) No to dobrze miałeś. Ale wtedy miałem temperaturę 0.0 przy podłączonym czujniku, a jak go odłączyłem było -0.1. Jak odłączę rezystor to pokazuję się "Brak pomiaru". Kolego nolab . Częstą przyczyną kłopotów z 1wire, są np. niewłaściwe opóźnienia, bo umieszczenie...
Witam serdecznie i dziękuje za zainteresowanie tematem. Czy ten napis "Rozpoczynam temp" znika po tej sekundzie, czy wyświetla się cały czas? Odpowiadam: Napis pali się cały czas Jak tylko wypije kawę sprawdzę kod Pana snnaap. To znaczy tyle, że procek łapie zwiechę na TERMOMETR_RESET(); albo na TERMOMETR_ODCZYTAJ_TEMPERATURE(tablica); a najbardziej...
$regfile = "m8def.dat" $crystal = 'Częstotliwość rezonatora Config Lcd = 'Sam nie wiem co wpisać Config Lcdpin = 'Konfiguracja LCD Cls Cursor Off Cls Deflcdchar 1 , 32 , 12 , 18 , 18 , 12 , 32 , 32 , 32 Cls Dim A(2) As Byte Dim T(3) As Byte Dim Temp As Byte Config 1wire = Port 'Konfiguracja magistrali 1-wire Do 1wreset 'Inicjalizacja...
Wiem że procek ATmega 8 to zbyt mocny ale ten czujnik temperatury to jest uzupełnienie większego projektu który na nim buduję, docelowo ma być kilka czujników temperatury na przwodach do 2 metrów ale najpierw musze jakoś uruchomić jeden
Przykładowo coś takiego. O ile dobrze myślę to na nóżce DQ dallasa powinno być 0 a tak nie jest . Dodam, że w trybie parasite power wszystko jest ok. #define F_CPU 16000000UL #include <avr\io.h> #include <util/delay.h> #include <stdlib.h> #include "lcd.h" #define WIRE_PORT PORTF #define WIRE_DIR DDRF #define WIRE_PIN PINF...
Można wykorzystywać wewnętrzne podciąganie. Urządzenie slave 1wire może jedynie ściagać linie 1wire do masy i dlatego jest konieczne jakiekolwiek podciąganie. Moje procedury wykorzystują sterowanie 1wire przez właśnie rejestry PORTx. Przy odpowiednie dobranych czasach pozwala to uzyskać transmisję na bardzo długich liniach (udalo się uzyskać transmisję...
Chyba nie zauważasz różnicy. Po pierwsze jeśli tam pisze Go_lo to na pinie ma być ustawiony stan niski. Można to zrobić tylko ustawiając stan wysoki w rejestrze DDR.x Mniejsza o to bo zrobiłem Ci takie makra jak tam. Po drugie po wpisaniu wartości bitu czeka się ponad 10 ms a nie 10 us - to chyba wydatna różnica? Testnij tak. [syntax=vbnet]$regfile...
Problem polega na tym, że odczytujesz wartość ADC z uC zamiast z DS18xxx. Brakuje ci obsługi DS18B20. Poniżej fragment kodu działającego u mnie. [syntax=vbnet] Config 1wire = Portb.0 '0,1,2 NOP 3,4,5,6,7 works good ON MY Equipment Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms...
Po pobieżnym przyjrzeniu się programowi nasuwają mi się takie wnioski. 1. Zadeklarowałeś wejścia, ale zostawiłeś je jako "pływające". Powinieneś port-y przycisków podciągnąć do plusa, czyli ustwić stan wysoki =1 2. Nie widzę deklaracji dla magistrali 1wire dla DS-ów i całej procedury odczytu i zapisu danych do pamięci. Być może to celowe na tym etapie,...
Czesc, Tutaj ktos walczyl z takim termometrem na atmega i udalo mu sie uruchomic : http://www.elektroda.pl/rtvforum/topic71... Moze masz podobny problem? Sprawdz oscyloskopem co sie dzieje na pinach FPGA. Pozdrawiam, tony_tg
A wiec pwm masz na oc1a i oc1b to jest timer1 (jak sie nie myle). Poza tym masz 3 pwm oc2 na timerze2. Wiec jak bys chcial jeszcze czas liczyc lepiej uzyj jakis zew. ukladu, bo zostal ci tylko timer0, na ktorym bedzie ciezko to osiagnac. Na timerze1 i 2 mozesz zrobic sterowanie diodami rgb. Wlasnie widze ze ten czujnik wilgotnosci nie ma mozliwosci...
http://obrazki.elektroda.pl/5636705900_1... https://filmy.elektroda.pl/37_1378532310... Termometr mikromocowy LCD ATMEGA16 Tym razem głównym celem projektu było sprawdzenie możliwości wykonania mikromocowego systemu pomiaru temperatury w oparciu o możliwie standardowe elementy, mówiąc w skrócie byłem ciekawy czy zwykły avr może być...
No to trzeba je oprogramować tak, aby nie bruździło... czas obsługi przerwania ok. 1-2 µs (przez wstawkę asemblerową) chyba nie zrobi na transmisji 1Wire większego wrażenia ? Przy 8 MHz mamy do dyspozycji 8 cykli zegarowych w czasie 1 µs, a przy 16MHz - 16 cykli zegarowych. reti zajmuje 4 cykle, cbi / sbi po 2 cykle, ewentualne nop pomiędzy...
Czy wykorzystujesz wszystkie wyjścia uP ? Przecież wykorzystywanie wszystkich wyjść procesora do obsługi iluś tam czujników 1wire to po prosu totalnie nieporozumienie. To po co jest magistrala 1wire ? Takie podejście marnuje nie tylko piny procesora, wypacza ideę 1wire ale też wcale nie uczy programowania i na dodatek zajmuje więcej miejsca. O wiele...
... Mikrokontroler taktowany jest wewnetrznym rezonatorem RC (nie posiadam w tej chwili kwarcu) ... A kompilator o tym wie :?: Czy masz zadeklarowaną częstotliwość oscylatora w programie :?: $Crystal = 1000000 Config 1wire = Portx.x Masz to w programie lub w ustawieniach globalnych poustawiane :?: Nic o tym nie wspominasz :( Pozdrawiam Piotrek
bascomowi nie robi różnicy czy to attiny czy atmega - należy tylko wybrać odpowiedni typ procesora w opcjach i ustawić fusy. Nie jest tu kluczowe ile tych 1w bo numery urządzeń można by nawet do eeprom wrzucić ale same biblioteki obsługi 1w w bascomie to kawał pamięci .
Czy teraz mam dobrze? $regfile = "m8def.dat" $crystal = 4000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.6 , E = Portd.1 , Rs = Portd.0 'piny lcd-atmega Config Pinc.5 = output Cursor Off Cls Lcd " Witaj " ; Lowerline Wait 2 Lcd "Sterownik by Kark" Wait 5 Cls Odczyt_1czujnik:...
Witam Nie wiem czemu po dodaniu do kodu serw mikrokontroler zaczyna zachowywac sie kompletnie "niespodziewanie" Generalnie Atmega chodzi na kwarcu 16K obsługuje wyświetlacz alfanumeryczny i 11-Czujników (1wire) Zrobiłem małe menu ,po przejściu do odpowiedniej zakładki uruchamiane jest pierwsze 8 czujników albo gdzie indziej inne 3 , jest też zakładka...
No tak to właśnie zrobiłem... No chyba nie bardzo :D Przetestuj ten kodzik :D [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000 Config Submode = New Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Porta.0 , Db6 = Porta.1 , Db7 = Porta.2 , E = Portb.3 , Rs = Portb.4 Config Pind.2 = Input : Set Portd.2 : Ok Alias Pind.2 Config...
Witam. Maiłem zbudowany zegar z pomiarem temperatury na atmega 16, lcd standard, temp na ds18b2, czas na wewnętrznym oscylatorze 1mhz. Ze względu na dużą niestabilnośc wewnętrznego generatora dołożyłem zewnętrzny kwarc zegarkowy oraz zmieniłem program, który używał timera1 na timer2. I tu pojawiły sie problemy z 1wire. Przypuszczam, że procedury Bascom...
Właśnie tak jak wcześniej napisałem z elektroniką w praktyce dopiero zaczynam. Więc reguł , które właśnie wymieniłeś wcześniej nie znałem. A schemat starałem się zrobić czytelnie tylko ,że nie umiem jeszcze dobrze operować miejscem które daje eagle. A co do postu powyżej to pin 9 ze złącza lcd to masa tak samo jak 6,7,8,10 tylko ale jest to podłączone...
Nie wiem na które pcb patrzysz , to ostatnie do pełnej wersji z pomiarem prądu i napięcia ,patrzę i widzę że jest OK . pin40 i pin39 są podpięte do dzielnika kondensator żeby nie pływał pomiar zbytnio. nie widzę tego o czym piszesz . Wieczorem sprawdzę jeszcze raz i podam zaktualizowane . Ok jest wieczór więc zamieściłem na 2 str. schemat i pcb w eagle...
Poczytałem trochę w internecie i zmieniłem na coś takiego (wywaliłem w ogóle funkcje pojedynczych bitów). [syntax=c] unsigned char uc1Wire_ResetPulse(void){ WIRE_DIR |=1<<WIRE_CON; // pin 1wire jako wyjscie WIRE_PORT&=~(1<<WIRE_CON); // pin 1wire -> 0 _delay_us(650); // tx reset pulse WIRE_PORT|=1<<WIRE_CON; // pin 1wire ->...
Zacznijmy od początku. Czy posiadasz podpięte czujniki DS do jednego pinu ?, czy do 4 ? Z tego urywka programu nie mogę tego wywnioskować. Jeśli do jednego pinu to polecam [url=http://avrhelp.mcselec.com/index.ht... Natomiast, jeśli do 4 pinów to polecam [url=http://avrhelp.mcselec.com/index.ht... Niestety posiadasz...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu ) [syntax=basic4gl] $include "Config_AVR-DOS.BAS"...
Witam Zależy ile ADC potrzebujesz, może wystarczą te wbudowane w procesory? Tak na styk to nawet jakaś Atmega wystarczy Xmegi niezbyt dobrze znam ale mają 12 bitowe przetworniki, kwestia sprawdzenia powtarzalności wewnętrznego Uref, bo w Atmegach jest wystarczająco stabilne do twoich celów ale mało powtarzalne więc trzeba by zastosować zewnętrzne. To...
atmega 1wire ds18b20 czujnik 1wire esp8266 1wire
alarm keyless volvo silnika przelacza benzyne
silnik bipolarny silnik bipolarny
Kody do pilota Grundig 8w1 - jak zaprogramować? Ford Focus MK1 – wolno opadające obroty na rozgrzanym silniku, IAC, TPS, VSS, dolot