Wg dr powinienem wykorzystać 51 "bo jest lepsza" Mam wrażenie, że twój promotor zatrzymał się w poprzedniej "epoce". Generator w oparciu o ATMEGA8 (z wykorzystaniem wbudowanych liczników) jest wystarczająco dokładny i stabilny do tych celów. Nawet jeśli już generator zrobić osobno to wykorzystaj do tego przerzutnik schmitta (konstrukcja spotykana czasem...
Tak o coś takiego mi chodziło. Teraz jak zrobić te pomiary. Jak wyniki tych pomiarów pożenić z programowym PWM i sterowaniem czasami opóźnień?
Chciałem zaprezentować tutaj swoją pracę magisterską, jaką jest rozproszony system pomiaru temperatury z wykorzystaniem do transmisji danych technologii Bluetooth. System składa się z: - jednostki bazowej (na pierwszym foto) - jednostek zdalnych - komputera z odpowiednim oprogramowaniem Sercem jednostki bazowej jest ATMEGA16 (sprzętowo starczyło by...
Witam ! Tworzę projekt stacji pogodowej za pomocą ATMEGI16 + LCD 2x16. Tworzę licznik impulsów który zliczałby mi czas pomiędzy zboczami impulsów (prędkość obrotowa wiatru) Znalazłem w sieci program który działa na Atmega8 + 16MHZ kwarc. [url=]Link Chciałbym go przerobić na Atmega16 na wewnętrznym zegarze plus hallotron. Czujnik halla podłączyłem pod...
Witam. Potrzebuję W tym liczniku obrotów: [syntax=c]#include <avr/io.h> #include <stdio.h> #include <avr/interrupt.h> #include <util/delay.h> #include "HD44780.h" //tutaj ustaw własne zasady pomiaru #define POMIAR_ILOSC_IMPULSOW_NA_OBROT 4 //ilość inpulsów na jeden obrót #define POMIAR_ILOSC_OBROTOW 10 //ile obrotów ma trwać...
Witam, Mam pewien problem powiazany z UARTem pod atmega8l... Otoz mam pewnien program ktory pieknie dziala pod attiny2313(UART sprawny, komunikacja rs232<=>pc tez dziala dobrze). Problem narodzil sie, gdy chcialem przeniesc ten program na atmege8l... Podejrzewam, ze problem lezy we flagach... Nie znam sie jeszcze na tyle dobrze na C, zeby problem...
zobacz sobie temat: program będzie bardzo podobnie wyglądał. Chodzi mi o Timery. Dodano po 2 ale czy te diody mają się świecić cały czas to znaczy, że jeśli będzie więcej impulsów niż 200, to mają się świecić wszystkie 3 diody czy tylko 3 dioda?? Tak na szybko napisałem( nie testowałem ale powinno działać): Dioda świeci się tylko jedna w danym momencie...
Rozumiem Twoją ideę, ale nie za bardzo wiem jak ją zaimplementować w Bascomie. Na razie mam coś takiego: Nie wiem czy coś takiego się sprawdzi przy większej prędkości pracy i transmisji radiowej, czy tam nie będzie zbyt dużych rozbieżności w czasie trwania? Co do Twojego pomysłu spróbuje coś jutro, ale chciałbym, żebyś rozważył mój pomysł, i napisał...
Jak bateria bez ładowania to 2 diody, najlepiej Shottky (niski spadek napięcia), żeby układ zasilacza nie pobierał w stanie awaryjnym zbędnych mA. Oczywiście stan zasilania musi być monitorowany, i jeśli jest zasilanie bateryjne, to obsługujesz tylko pomiar czasu i nic wiecej. Czemu sie uparłeś na tą 8:00 ? Myślę, że można by go ustawiać, chociażby...
Witam. Chciałbym zmierzyć czas jaki występuje pomiedzy dwoma stanami tzn. Jeżeli zasłaniam transoptor to chciałbym żeby układ zaczął liczyć czas a kończy liczyć kiedy go odsłaniam. Napisałem kod ale nie chce coś działać. Oto ten kod: $regfile = "m8def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portb.1 , E = Portd.0...
Przy klawiaturce analogowej wystarczy dać 8-bitową rozdzielczość pomiaru. Szkoda czasu na lepszą. Będzie działać tak samo dobrze tylko szybciej.
Witam, męczę się z tym drugi dzień i dalej nic - może któryś z bardziej doświadczonych Kolegów będzie w stanie pomóc. Program ma mierzyć czas przelotu pocisku między 2 bramkami (z fototranzystorami), a następnie wyliczyć z tego prędkość (znana odległość 10 cm między nimi). Korzystam z przerwań INT0 (start) i INT1 (stop) oraz licznika Timer1. Uc jak...
Witam, Od jakiegoś czasu staram się ogarnąć co robię źle. Otóż w Atmedze8 na 3 pina ADC dokonuję pomiaru napięcia: - 2 porty do pomiaru temperatury (czujnik TMP36) - 1 port pomiar napięcia sterującego (0-10V) przez odpowiedni dzielnik napięcia. Napięcie to powoduje zmianę wypełnienia PWM Problem polega na tym, że na wyświetlaczu powinny się wyświetlać...
jak chcesz takie duze czestotliwości mieżyć to musisz użyć timera żeby liczył zewnętrzne impulsy, wtedy drógim timerem wyzwalasz przerwanie co określony czas (im dłuższy tym lepszy bo pomiar dokładniejszy) liczysz ile było ilmpusów z zewnątrz w okreslonym czasie. wydaje mi się że tą metodą dało by sie mieżyć nawet do 100Mhz ale jest jedno zalożenie...
chyba to powinno byc jako pierwsze : $regfile = "m8def.dat" $crystal = 8000000 i nie zapomnij przestawic fusebity na zewnetrzny zegar jaki ma byc algorytm pracy ? bo najczesciej jest to uklad dzialajacy podobnie jak radar wyslanie krotkiego impulsu o czestotliwosci ok 40khz pomiar czasu przelotu i odebranie odbitego impulsu. Twoj moze ma pracowac w...
Witam po raz kolejny. Buduje komputerek samochodowy przy użyciu atmega8 i walczę teraz ze zliczanie czasu trwania stanu wysokiego na wejściu int1. Dążę do tego żeby zliczać sobie ilość spalonego paliwa na danym dystansie. Resetuje wskazanie i będzie zliczał spalone paliwo aż do kolejnego resetu. Podłączyłem wtrysk poprzez diodę =>rezystor=>transoptor=>bramkę....
Jeśli okleję folią to podrzucę. Oczywiście, że można zrobić, sterowanie na pilota i wiele innych rzeczy. Lecz to miał być prosty zegar:) Właśnie jestem w trakcie budowy innego zegarka tylko na większych wyświetlaczach i tam będę miał właśnie sterowanie pilotem oraz pomiar temperatury. Jak będzie ukończony to zaprezentuje go na forum. pozdrawiam
Witam Od dłuższego czasu pracuję nad własnym sterownikiem bramy przesuwnej. Może ktoś pamięta jak stawiałem pierwsze kroki w tym kierunku ;) W zeszłym roku opracowałem teraźniejszą wersję sterownika - dodałem SOFT-START, SOFT-STOP (wykorzystując PWM). I wszystkie aktualne problemy kręcą się w zasadzie w okół tego. Po pierwsze, nie mogę ustawić częstotliwości...
Witam Mam prośbę o rozjaśnienie pewniej sprawy - mam do Atmegi8 podpięty odbiornik IR (SM3385P) cudo to zostało wymontowane z jakiegoś odbiornika Czujnik podpięty jest pod PB0 - do tego posiadam pilot TTS35AI - od zestawu SkyStar2 - do przetestowania wykorzystałem program ze strony Kod poniżej [syntax=c] //--------------------------------------...
Witam, Mam mały problem. Pewnie za bardzo kombinuje ale może pomożecie. Mianowicie chce mierzyć czas przejazdu pomiędzy bramkami. Wykorzystuje Atmega32 (bo taką mam na płytce testowej) a docelowo ma być Atmega8. Czas startu i mety wykonuje za pomocą przycisku na przerwaniach INT. Niestety program nie liczy mi czasu tylko "coś" sam sobie liczy max do...
Teraz myślę nad jakimś fajnym menu do ustawiania czasu. 3 przyciski, pierwszym wybieramy czy ustawiamy godziny, minuty, albo sekundy, a pozostałe 2 przyciski - w górę/dół. Jak to rozwiązać? Ponieważ jest to tylko prosty chronometr (nie stopper) należałby zastanowic się co jest priorytetem w ustawianiu i pomiarze czasu przez ten 'zegarek'. Wszak ta...
Witam, Napisałem prosty program wysyłający i odbierający sygnał z diody podczerwonej. Układ nadajnika składa się z: uC ATMEGA16, trzech przycisków i diody IR TSAL6200, a układ odbiorika z uC ATMEGA8, odbiornika IR TSOP1138 i diody led. Obok odbiornika dałem też elektrolit 47uF. Oto program nadajnika: [syntax=c] #define F_CPU 8000000L #define SET(port,...
Napisałem coś sam, nie wiem czy coś jest dobrze ale spróbowałem.. Prosiłbym o jakieś rady/wskazówki. Czy włączanie ventylatora/ów ma jakikolwiek związek ze zmianami temperatury? Jeżeli processor obsługuje/wykonuje pomiar czasów włączenia i wyłączenia vents, to kiedy robi pomiar temperatury? (!) Stosując instrukcje "Waitms " albo "Wait" - jak myślisz;...
Witam, Czy nakierowałby mnie ktoś w jaki sposób wykorzystując PWM można zrealizować płynne sterowanie jasnością diody LED przy użyciu pilota nadającego w standardzie RC5? Do tej pory udało mi się zrealizować płynne sterowanie jasnością diody wykorzystując PWM i microswitche - oto kod: [syntax=c]#define F_CPU 8000000UL #include <avr/io.h> #include...
Witam. Potrzebuję pomocy z dostosowaniem kodu napisanego na atmegę8 na attiny13. Domyślam się że największym problemem będą tutaj timery, ale jestem w ich temacie puki co zielony, a potrzebuję koniecznie(i niestety pilnie) odbiornika IR który zmieści się i będzie działał na attiny13. Jak całość kodu działa rozumiem(jest świetnie opisana komentarzami)...
jestem początkującym mam odbiornik podczerwieni sfh5110-36 i atmege8 wszystko podłączyłem jak na schemacie wgrałem też plik //--------------------------------------... // Plik "main.c" // // KURS AVR-GCC (abxyz.bplaced.net) // // Dekoder RC5 // // (schemat i opis działania w artykule) // testowanie na atmega8 (8MHz) //--------------------------------------...
W tygodniu dolutuje drugi tranzystor zwierający piny nadajnika do masy. Przychodzi mi też pewnien prosty trick do głowy jak zrobić "fitrowanie programowe". Można np zapisywać powiedzmy 10 ostatnich otrzymanych z pomiaru czasów, obliczyć ich średnią i teraz sprawdzić po kolei, czy któryś z pomiarów nie różni się przypadkiem za bardzo od średniej. Kryterium...
Fakt, pobór prądu jest nieco nad wyrost, ale poprostu obawiałem się o wytrzymałość atmegi :) .. (np mogłem coś pomylić w dokumentacji :P) Hmm, co do kalibracji, to postaram się zrobić jakąś poprawkę programową, narazie układ zlutuje :), i napisze program jak najprosciej, później zastanowię się nad dokładnością pomiaru czasu. To tylko pierwsze podejście,...
Przy PCFie masz kondensator 22pF. Zalecał bym w tym miejscu trymer, żeby móc wyregulować częstotliwość działania generatora, a co za tym idzie dokładność pomiaru czasu. Z doświadczenia wiem, że takie regulacje są konieczne jeśli nie chce się co trzy dni nastawiać zegara.
Nie da się zrobić pomiaru co 0,01 s dla takiego przedziału częstotliwości bo to bez sensu.. eeej tam zaraz się nie da ;) ... wszystko się da - tylko oczywiście tak jak piszesz trzeba dokładnie przemyśleć założenia. A takim założeniem może być autokalibracja pomiaru (odświeżania) w zależności właśnie od mierzonej częstotliwości W takim przypadku pozostaje...
A gdzie masz polecenie Start Timer0? Nie musi byc. Od momentu: Config Timer0 = Timer ,.... Timer startuje liczenie czasu w/g. zadanej konfiguracji. A jak autor mierzy ten czas? (8.2 ms).. Jezeli dioda jest indykatorem zmiany stanu pinu/portu wyjsciowego to nalezy odwrocic polaryzacje diody i wtedy zapali sie ona na stale po uplywie ok. 8.9 ms.od momentu...
Taki będzie mniej więcej schemat, tyle że zamiast przełącznika kontaktron i obok diody LED tranzystor z przekaźnikiem na wyjściu. Dziękuję za zmianę tytułu dzięki temu naprawdę dużo jeszcze znalazłem w internecie :) pozdrawiam Edit: [syntax=text] /* OBROTOMIERZ v.1 Obrotomierz przeznaczony do prostych pomiarów prędkości obrotowej. Pokazuje: - czas...
r"]Idę w jakimś kierunku ....... ? Niezupełnie, nie najlepsza ta droga..... Po pierwsze: wybór processora i parametrów. -Attiny13; praktycznie nie masz możliwości taktowania go 10 Mhz. Masz do wyboru: 1.2, 4.8, 9.6 Mhz. albo też 'zasilić' go (CLK1) z gotowego (zewnętrznego) źróła zegarowego co nie ma w zasadzie ekonomicznego sensu. Jego timer0 z przyjętym...
1) Strata z dokładnie tego powodu, o którym wspomniał wojekkk . 5) Może przeszkadzać przy publikacji kodu, przenoszeniu na innego kompa, itp. Generalnie obsługa timera powinna mieć wyższy priorytet niż reszta programu, bo od niej zależy dokładność. Nie liczyłbym na to, że wykonanie funkcji obsługi LCD za każdym razem wykona się tak, że nie przeszkodzi...
Cześć. Dziękuję za wasze odpowiedzi. Udało mi się poprawnie już komunikować i migam diodą sobie. Teraz chciałem przekazać całą instrukcje - tj. adres, po czym rozkaz, ilość parametrów wejściowych, ilość wyjściowych i potem n parametrów wejściowych, czyli pewnie będzie to kilka to kilkunastu bajtów. W odpowiedzi, chciałem dać status czy się udało + ew....
Gwoli uzupełnienia do tego, co napisał Dexter: 1MHZ to domyślna częstotliwość, na którą są ustawiane nowe procki. Można ją ustawiś na 1 ,2, 4 i 8MHZ. 1% to niestety dość dobry wynik. Jeżeli jednak stale się spóźnia - rzeczywiście kalibracja może pomóc. Jeżeli robisz zegarek - dobrzebędzie użyć kwarc 32,768 khz (opcja low-frequency cristal oscilator)....
Witam! Pomysl jest nastepujacy: ATmega88 pracujaca z wewnetrznym oscylatorem RC 8MHz i zewnetrznym kwarcem 32kHz dolaczonym do asynchronicznego licznika powinna dzialac z interfejsem RS-485 na predkosci 115kbps. Aby to osiagnac, chcialbym kalibrowac wewnetrzny oscylator z pomoca kwarcu zegarkowego, tak jak to opisano w [url=]nocie aplikacyjnej Atmela....
Witam. Znalazłem kiedyś, zdaje się że nawet na elektrodzie, program napisany dla AT89C2051 którego zadaniem było sterowanie czasowe wycieraczkami samochodowymi. ' Przerywacz pracy wycieraczek o programowanym czasie ' '$sim $regfile = "89c2051.dat" $crystal = 12000000 Wajchain Alias P3.2 'Wejscie z dzwigni sterowania wycieraczka Wajcha1in Alias...
Czy program poniżej nie ma już żadnych błędów? Czy trzeba zmieniać fuse bit? $regfile = "m8def.dat" $crystal = 8000000 Dim A As Byte Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls Lcd "Hello world." Wait 1 End Czy ten potencjometr trzeba dawać? Tak, trzeba zmienic...
Witam, jestem początkujący jeżeli chodzi o programowanie mikrokontrolerów, więc poniższy kod nie jest przepiękny. Proszę o poprawę... Główny problem: układzik jest to dalmierz ultradźwiękowy uzyskujący spory zasięg. Jednak by mógł też mierzyć odległość przedmiotów blisko umieszczonych muszę przełączać próg komparatora atmegi. Robię to za pomocą portu...
Witam Mam problem z programem odmierzającym czas. Mikrokontroler współpracuje z czujnikami ultradźwiękowymi. Ogólne założenie programu jest takie że generuje paczkę 8 impulsów prostokątnych o częstotliwości 40KHz następnie 4ms na wyciszenie układu. Generowanie paczki wykonywane jest za pomocą Timera2 w trybie CTC. Następnie za pomocą Timera1 powinien...
Witam. Próbuję napisać program odpowiedzialny za pomiar odcinków czasowych pomiędzy impulsami sygnału S1 i S2 (zgodnie z załącznikiem). Proszę o prześledzenie kodu, wszelkie uwagi i sugestie mile widziane. Nie mam pewności co do poprawności pobierania wartości licznika TIMER1 za pomocą TCNT1. 'program do pomiaru okresu sygnałów podpiętych do PD.2(INT0)...
Moim zdaniem 330R lub nawet 220R przy 3v3. No można by coś z ta plątaniną kabli zrobić ewentualnie. Dodano po 1 PS. jak wygląda układ zasilania? To są po prostu baterie? Czy zdajesz sobie sprawę z dokładności pomiarów czasu przy takim zasilaniu? Czy zamierzasz podłączyć jako XTAL1 kwarc zegarkowy?
Witam Od pół roku montuję i modyfikuję wielozadaniowy układ do samochodu osobowego, oparty o Atmega8 (program Bascom). Funkcje: -pomiar temperatury i ciśnienia oleju -pomiar składu mieszanki -pomiar temperatury cieczy chłodzącej -odczyt zerowego położenia przepustnicy -pomiar prędkości obrotowej silnika (pomiar czasu między impulsami zapłonowymi) -regulacja...
Można też przemyśleć opcję dwóch kontrolerów i synchronizacji na podstawie zegarów RTC. Przed zawodami można by zsynchronizować obydwa kontrolery tak żeby wskazywały dokładnie równy czas, a po przejeździe tylko się porównywały - np. meta wysyłałaby do startu swój czas wykrycia samochodu, a start na podstawie własnego pomiaru i otrzymanego wyniku obliczyłby...
Witam. Przedstawione rozwiązanie powstało z myślą o zdalnym (radiowym) sterowaniu modelem samochodu. Umożliwia płynne regulacje: kierunku (lewo/prawo) oraz prędkości ruchu (przód/tył). Rozkaz typu "włącz/wyłącz" pozwala np. uruchamiać sygnał dźwiękowy (klakson) lub włączać światła. Spośród innych opisanych na Forum prezentowany projekt wyróżnia się...
Witam, podczas kompilacji programu w atmelu, wyskakuje jeden błąd Co z tym faktem zrobić? Error1sys/time.h: No such file or directory Program: #include <inttypes.h> #include <sys/time.h> #include <sys/io.h> #include <unistd.h> #include <time.h> #include <sys/time.h> #ifdef AVR #include <sys/time.h> #include...
Kiedy zbliżała się tegoroczna jesień i słońce wschodziło coraz później, postanowiłem zbudować budzik świetlny - urządzenie, które o zadanej godzinie włącza stopniowo rozjaśniające się światło. Nawet, jeśli nie obudzi ono użytkownika, to sprawi, że kiedy zadzwoni zwykły budzik, będzie znajdował się w płytszej fazie snu. Jako źródło światła zastosowałem...
Nie trzeba robić przerwań, wystarczy pamiętać ostatnią wartość powiedzmy sekund i jeśli nowo odczytana bedzie się od niej różnić to odczytać temperature... ot cała filozofia ;) Pozdrawiam A jak pomiar czasu będzie oparte na czasie na przykład 100ms aby pomiar mieć z dokładnością do 0,1 sekundy to jak ten problem obejdziesz crazy_phisic ??? skoro odczyt...
a jak możnaby ściągnąć jakiś kod z pilota, żeby zaprogramować go na ATmega8? Czy ktoś mógłby podać mi taką instrukcję, dla przykładowego bitu - nawet nie RC5, ale np 110001101010 przy częstotliwości impulsu 36KHz. Ja używam takich komend: ... ...//przed wejściem do nieskończonej pentli, uruchamiamy przerwanie INT0 od opadającego zbocza sygnału cbi(MCURC,...
Witam Potrzebuje mierzyc czas pojedynczych impulsow dodatnich o czasie trwania od 0 do okolo 5 s podawanych na jedna z koncowek ATmega8 z kwarcem 4MHz. Moge zastosowac tylko Timer2. Jak wlaczyc ten timer po pojawieniu sie tego impulsu i jak go potem wylaczyc po jego zakonczeniu. No i jakich dokonac obliczen, aby czas trwania tego impulsu wyswietlic...
Witam. Zdaje sobie sprawę, że temat ten był poruszany na elektrodzie wielokrotnie, jednak po przeczytaniu kilkudziesięciu wątków nie znalazłem rozwiązania które może mi pomóc. Otóż potrzebuje mierzyć położenie obracającego się wału silnika w czasie, uzyskując wynik do dalszych obliczeń w kaskadowej strukturze sterowania. Ponieważ posiadam (niestety)...
Użyj jednostki input capture do precyzyjnego pomiaru czasu między impulsami. W przerwaniu input capture możesz od razu liczyć i wprowadzać zmiany do wypełnienia PWM'a. PWM oczywiście sprzętowy, nie ma sensu robić go ręcznie. Obie funkcje pracują na liczniku 1, wszystko znajdziesz w dokumentacji. Co do kontroli obrotów, algorytm też może być bardziej...
Włożyłem końcówki do gniazdka i na wyświetlaczu mam 3060 obr/min co odpowiada 51Hz czyli układ niby działa. A więc to jednak iskrownik zakłucia pracę układu. Co do układu formatującego impulsy to nie znam się za bardzo na tym. Moja przeróbka była tak na chłopski rozum bo po podłączeniu oryginału cały czas pokazywało się "0" więc doszedłem do wniosku...
Witam! Mam taki kod z tego tematu delikatnie przerobiony. $crystal = 12000000 Cursor Off Config Portc.4 = 1 Config Portc.0 = 0 Portc.0 = 1 Portc.4 = 1 Dim Czestotliwosc As Long Const Licznik = 22336 Config Timer1 = Timer , Prescale = 256 Config Timer0 = Counter , Edge = Falling Deflcdchar 1 , 2 , 4 , 14 , 16 , 16 , 17 , 14 , 32 ' replace ? with number...
kolega juz napisał ze stosował klika kwarców po za tym do doliczania czasu w bascom słuzy clock a nie odlicza sie czas za pomocą timerów (duzo bardziej niedokładny pomiar)
Chcałem prosić o poradę. Chcę zastosować ATMega8 i wewnętrzne przetworniki A/C. Pomair ma być dokonywany z dwóch kanałów. Ma to wyglądać tak że kanał jest podawany jako argument w funkcji (program w C). Np. unsigned int adc(unsigned char kanal); W nocie katalogowej czytałem ze pierszy pomiar po uruchomieniu przetwornika (wpisaniu do ADEN) zajmuje najdłużej...
robie uklad gdzie chce wykorzystac element max6575lzut.. zapoznalem sie z dokumentacja jednakze nie otrzymuje wartosci zmierzonej.. moze wiecej szczegolow.. uklad podlaczylem do wejscia portd.2 (int0) uP atmega 8... wybralem 5us/K (przez odpowiednie polaczenie wyprowadzene ukladu max).. w programie na wstepie ustawiam port jako wyjscie i ustawiam w...
Mam do zrobienia pomiar odległości za pomocą Atmegi i wynik chcę wyświetlić na LCD. Zrobiłem generację paczki impulsów lecz niestety nie bardzo wiem jak rozwiązać problem pomiaru czasu do przeszkody. Czy wykorzystać do tego celu komparator i timer? Coś próbowałem zrobić z komparatorem (a dokładniej generowanie przerwania gdy napięcie na AIN+ przekroczyło...
Witam wszystkich majsterkowiczów :D Oto mój jeden z pierwszy programów napisanych na ATMEGE 8. Dotychczas programowanie mikrokontrolerów traktowałem jako zabawę, używając do tego BASCOMA i zestawu Treningowego. Obecnie stoję przed zamiarem budowy pewnego urządzenia ale przed rozpoczęciem prac chciałbym mieć pewność że część programowa będzie ok. Sam...
Cześc. Pytanie jest takie: Czy istnieje możliwośc pomiaru napięcia w/w procesorku dodatniego i ujemnego?? Np +5 i -5 v czy pomiar dokonuje sie tylko w gałęzi dodatniej?? Chodzi mi oczywiście o pomiar w jednym czasie. Dziękuje za odpowiedzi.
Rację pewnie masz mrrudzin ale nie do końca. Bo gotowca nie szukam bo wole umieć to sam napisać ale chciałbym mieć jakiś wzorzec do podglądu. tutoriale przejrzałem tylko, niestety z braku czasu. Z rezonatorem i napięciem odwzorowania masz rację.
Na zasilanie Megi daj 100nF a także na ADC0. Często na podobnych schematach widać na wejściu AREF oraz na wejściu ADC0 rezystory. Czy ktoś może mi dokładniej powiedzieć do czego one służą i jak je dobrać? Jedyne co wiem to że bez nich może dojść do uszkodzenia przetowrnika. Daje się raczej diody zenera żeby nie przeholować z napięciem na wejściu przetwornika....
Witam, Musisz przeładowywać timer zaraz zgłoszeniu przerwania, wtedy błąd jest najmniejszy. W Twoim przypadku najpierw zmieniasz stan portów, później czekasz i w końcu ładujesz timer - w tym czasie timer też liczy, a więc pomiar czasu jest niedokładny. "Wyższa szkoła jazdy" to odjęcie od wartości ładowanej do timera czasu, który upływa między zgłoszeniem...
Witaj Twoje obliczenia wyglądają na poprawne jednak wydaje mi się, że to cli() jest w złym miejscu. Z ustawień timera widze, że mierzysz "powolne" sygnały. Zatem twój program może nie zdążyć złapać przerwania od INT lub złapie tylko zbocze opadające, ale narastającego już nie, bo zostanie wyłączone globalne przerwanie. cli() jest w dobrym miejscu jest...
witam Mam do zrealizowania coś takiego: Wejścia INT0 oraz Int1 muszą reagować na pojawiające się na nich sygnały (zbocza narastające ) po czym muszę zliczać czas trwania stanu wysokiego na powyższych wejściach gdy pojawi się zbocze opadające na int0,1 liczenie czasu ma być przerwane i wartość ta zapamiętana. W skrócie jest to pomiar czasu trwania stanu...
Ślicznie dziękuję wszystkim, kod działa, i to jak=]. Poprawiony kod, z eliminacją zakłuceń #include <avr/io.h> #include <avr/interrupt.h> #include "remote.h" #include <compat/deprecated.h> #define OSC 4 #define LED_ON PORTC |= 0x02 #define LED_OFF PORTC &= 0xFD unsigned int licznik=0; void waitms(unsigned char x)...
Z częstotliwością zegara nic nie kombinowałem więc mega pracuje na 1MHz Zgodnie z [url=]datasheetem do ATmegi8 wewnętrzny oscylator ma dokładność +/- 3% a i to pod warunkiem że masz równe 5V i 25*C Pisza tam też że można to jeszcze trochę poprawić (dodatkowa kalibracja), ale osiągniesz maks 1% błędu co w przypadku odmierzania czasu raczej nie jest...
Witam Mam za zadanie zrobic pomiar czasu wtrysku w ms poprzez przerwanie ICP1 Niestety po wielu bojach z rejestrami Tccr1B Tccr1A oraz Timsk i innymi , program nie dziala jak potrzeba w Proteusie Czytalem w dataszicie ze licznik T1 musi byc ustawiony w trybie TOP i musie byc wlaczony Noise Canceler , wszelkie ustawienia WGM nie dzialaja :/ Bardzo prosze...
Preskaler to mniej więcej licznik - dzielnik częstotliwości, zliczający od zera do 1023 wraz z taktami zegara, i dopiero przepełnienie tego wewnętrznego licznika powoduje zwiększenie wartości Timera o 1. Więc przy preskalerze 1024, gdy występuje przerwanie i wykonuje się twój kod, preskaler już zlicza kolejne 1024,więc jeśli przed upływem tych ~1000...
witam, jak zmierzyć czas między dwoma impulsami wchodzącymi na INT0 od odbiornika podczerwieni TSOP1736. czy włączenie timera poczekanie do nasepnego impulsu i cała procedura może odbyć się w ISR(SIG_INTERRUPT0) { } edit: napewno w kodzie musi się pojawić to: TCNT0 = 0; // wartość początkowa T/C0 TCCR0 |= (1<<CS01); //preskaler...
Ja bym się nie bawił w analogówke ... Sam zrobiłem stację meteo podłączoną do serwera , dane zbierane były do bazy danych mysql a stronka z odpowiednimi skryptami wyświetlała wyniki w postaci wykresów ( gnuplot ) oraz wskaźniki we flaszu bieżącą pogode. Zastosowałem mikrokontroler atmega8 pomiary temp czujnik DS18B20 pomiar wilgotności czujnik analogowy...
Witajcie. Zaczynam swoja przygodę z mikrokontrolerami AVR -> Atmega8. Postawiłem sobie za problem zmierzenie czasów migawki starych aparatów fotograficznych. Myślę sobie problem banalny więc do dzieła... niestety poległem. O ile program wykorzystujący polecenie waitus1 faktycznie działał to jednak nie do końca. Czyli Do waitus 1 Incr X Loop Jednak to...
Witam, robię obrotomierz do silnika o obrotach do 6000obr/min. Pomiar wykonuje następująco: - po 1 przerwaniu startuje timer1 - w obsłudze przerwania timera1 (co 100us) zwiększam zmienna X - po 20 takich pomiarach usrednam wyniki i poddaje kalkulacji: Impuls: Disable Int1 If Measure = 0 Then X = 0 J = 1 Timer1 = 65136 Enable Timer1 Measure = 1 Else...
Witam ponownie. Mam już wykonany program do pomiaru przyspieszeni, niestety mam spory problem z obliczeniem z tego prędkości. Próbowałem odczytywać wartość z przetwornika ADC co pół sekundy (16000000/256/500/125 = 1, a dla 63 to dwa razy na sekunde) i do tego wykorzystałem: $crystal = 16000000 ... Config Adc = Single , Prescaler = Auto , Reference =...
Witam! //pierwszy post na forum, pierwsze poważne starcie z AVR Skonstruowałem następujący układ do pomiaru temperatury z dokładnością do jedności (st. Celsiusza): - ATMEGA8 - Sensor DS18B20 - Podwójny wyświetlacz siedmiosegmentowy; ot z rodziny takich: Wszystko działa dobrze (o tym za moment). Wyświetlacz jest poprawnie multipleksowany (obie cyfry...
Witam! Bawię się czujnikiem ultradźwiękowym mierzącym odległość, z którym komunikuje się za pomocą interfejsu I2C. Dane z czujnika za pośrednictwem amtegi8 (8MHz) wyrzucam na kompa za pomocą RS-232 (9600 baudrate). Problem polega na tym aby obliczyć czas jaki upływa pomiędzy kolejnymi pomiarami i wyświetlać go z resztą danych na komputerze. Trochę poczytałem...
Problem polega na tym, aby pomierzyć ilość impulsów jaka upływa pomiędzy kolejnymi pomiarami czujnika. Chodzi o to żeby timer1 zliczający impulsy po wykonaniu pomiaru przez czujnika wyświetlał ich ilość, a następnie zliczał kolejne impulsy upływające do wykonania 2 pomiaru itd. Zamiast czasu podawać na monitor zliczone impulsy pomiędzy kolejnymi pomiarami....
Oczywiście na elektrodzie już nie szukałeś, no bo i po co? Przecież inni mają sporo wolnego czasu i odpowiedzą kolejny raz z rzędu, wystarczy zaczekać na gotowca. Na elektrodzie jest kilkanaście razy o tym mowa ! Wysil się trochę !
Witam. Podepnę się pod temat. Kolega "sulfur" mógłby podać link do tematu? Chciałbym zliczyć ilość obrotów na minutę ( max 250 ). Są 2 wyjścia. - Jedno, to zliczanie impulsów przez zewnętrzne przerwanie oraz obróbka w programie na rpm. - Drugie to zliczanie czasu między impulsami przez timer oraz obróbka w programie. Impulsy będą generowane przez zwieranie...
1. Z tego co widzę, to na schemacie optotriak jest podłączony do PORTB5, a w programie nigdzie nie jest to skonfigurowane - PINX to jest port wejściowy, a nie wyjściowy (PORTX) w AVR... 2. Pętla w obsłudze przerwania i to z obijaniem się procesorka po kątach jest bzdurą - pomijasz wciśnięcia przycisków, gdy procesor siedzi w krzakach... Od pomiaru czasu...
Witam. Jeżeli nie ten dział to przepraszam i proszę o przeniesienie do odpowiedniego działu. Napisałem program do pomiaru czasu trwania stanu niskiego. $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Enable Interrupts Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5...
Zamiast ICR1 powinieneś użyć np. OCR1A i przerwania TIMER1_COMPA_vect. Rejestr ICR1 służy do czegoś innego. Zapamiętuje wartość timera 1 na przykład w momencie zmiany stanu logicznego na pinie ICP1. Wykorzystuje się go np. do pomiaru czasu między zdarzeniami zewnętrznymi.
co spowodowalo, że użyles kondensatora, zamiast baterii jako źrodla podtrzymania zasilania? jaka jest podstawa pomiaru czasu? czy zegar posiada funkcję budzika? Kondensator dlatego, że akurat taki miałem z radia samochodowego, nie testowałem na ile wystarcza, ale wydaje mi się, że parę godzin pociągnie (wyświetlacze są wyłączone, atmega podtrzymuje...
To, że ono miewa nawet 2.3 albo 2.7V to nikt tego nawet nie ukrywa. I nie byłoby to specjalnym problemem, bo można to programowo skorygować. Ale jest drugi problem, bo w zakresie czasu i temperatury zmienia ono swoja wartość, i co wtedy? I to nie tak mało. Nie jest to tylko moja opinia, wielu już się o tym przekonało, na samej elektrodzie jest nawet...
...Mogłeś zastosować do projektu atmege 8. Zrób film by pokazać jak to działa Pierwotnie to miało sterować jedynie chronometrem i fotokomórką, więc ATMEGA8 była za duża. Co do filmu to mogę umieścić dopiero w przyszłym tygodniu, gdyż nie mam urządzenia ze sobą.
Jaka dokładność pomiaru czasu? Szkoda, że brak podtrzymania bateryjnego i przyciski bym dał gdzieś na panelu tylnim wyprowadzone, a nie tak w środku obudowy... I polecam naukę C z książki:
Program przepisałem całkowicie z zmieniłem tylko port na PC5. Najpierw podłączyłem dobrze i otrzymywałem takie coś: -16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00... No w moim mieszkaniu to tak ok 24°C. Potem wyciągnąłem układ i wpiąłem źle (odwrotnie masę z zasilaniem)....
Witam. Napisałem program który mierzy czas między podaniem napięcia na cewke przekaźnika, a przyciągnięciem kotwicy i zwarcia styków. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 1a Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 Config Timer0 = Timer ,...
Co do GOTO uwaga jak najbardziej słuszna - najlepiej nie używać. Program niby spełnia swoje zadanie ale jest napisany jakoś bardzo chaotycznie i mało czytelnie. Używaj wcięć w pętlach i warunkach, bo łatwo można później zabłądzić we własnym programie. Upraszczaj od razu to co można, bo kiedyś to się na tobie zemści, np: [syntax=basic4gl]If Pinc.1 =...
Polecam przeczytanie opisu jednego z mini projektów w bieżącej EP. Na jego podstawie udało mi się to uruchomić na układzie podobnym do podanego przez excray. Nie testowałem tego jeszcze w jakimś urządzeniu, ale na biurku i płytce prototypowej działa obiecująco. Do pomiaru czasu rozładowania testowanej pojemności zaprzężony jest jeden z timerów uP.
Witam Blue_17 nic nie musimy robić, polecam pogooglać hasła na temat prostownik idealny. Piotr Toszku się nie zrozumieliśmy i faktycznie ma kolega rację, dziękuję za lekturę pozdrawiam. P.S Przyznaję uczę się cały czas :)
No więc zgodnie z moimi przypuszczeniami masz tam sygnał cyfrowy, w którym informacja o położeniu jest kodowana jako czas trwania impulsu - 1,5ms położenie neutralne, 1 lub 2ms położenia skrajne. W takim przypadku to co potrzebujesz to: 1. Porzucić pomysły związane z ADC, 2. Zająć się timerem, a dokładniej układem pomiaru czasu trwania impulsu - input...
Witam, ....... Co jest nie tak w moim programie? W pierwszej kolejności proponowałbym zweryfikowac czy faktycznie processor jest taktowany f = 8 MHz; częsty błąd to brak przestawienia fusebitów z fabrycznych ustawień 1 MHz i deklarowanie innej częstliwości. W takiej sytuacji generalnie program może wydawac się że 'jakoś' funkcjonuje szczególnie gdy...
Witam Mam mały problem z tym dość prostym programem. Generalnie działa tak jak powinien, tylko przy włączeniu układu następuje krótkie załączenie przekaźnika. Jest to spowodowane tym, że początkowy odczyt z DS18B20 jest 85 stopni ( integer 850 ) co przekracza ustaloną przeze mnie początkową wartość 45 stopni ( integer 450 ). Próbowałem dać badanie warunku...
Witaj! Z czujnikiem (NTC = 10k), który ja stosowałem poradziłem sobie w następujący sposób. Włączyłem go szeregowo z rezystorem 10k pomiędzy wyjście napięcia referencyjnego i masę analogową mikrokontrolera. Przetwornikiem A/DC mierzyłem bezpośrednio wartość napięcia na termistorze. Ze względu na znaczną nieliniowość takiego układu pomiarowego nie zdecydowałem...
Getrc5 działa bez problemu na at90s2313 i attiny2313. Takie porady są najbardziej rzeczowe na tym forum ;), bardzo dużo pomogłeś, prawie problem rozwiązany :). Takie "nabijanie" tematu powinno być przez moderatorów korygowane... To dlaczego ciągle na tym forum jest mnogość tematów na temat GetRC5 i tiny2313 np. Witam Mam problem z odbiornikiem RC5...
Raczej ten przebieg podaj na wejście CLK licznika, a drugi licznik np. przepełniany co 1s (albo częściej, co polepszy responsywność) ma odmierzać wzorcowy czas i odczytywać CNT pierwszego licznika. CTN będzie zawierać liczbę impulsów zegara w mierzonym czasie.
Witam, Jestem w trakcie budowy komputera pokładowego na procesorze AtMega8 oraz na wyświetlaczu LCD LS020. Program który tworzę ma zrealizować podstawowe funkcję komputera pokładowego, takie rzeczy jak menu i możliwość nastawienia parametrów odpuszczam a jedynie chcę prawidłowo obsłużyć wejścia i pomiary sygnałów. W trakcie pisania programu natknąłem...
Witam. Robię układ do pomiaru czasu. Potrzebuję dokładność do 1ms. Napisałem taki kod: Według zmiennej K - czas w sekundach | Według zmiennej VAL - czas w ms 1|1 2|2 3|4 4|6 5|8 6|10 7|12 8|14 9|16 10|18 11|20 12|22 13|24 14|26 15|28 Gdzie jest jakiś błąd? Bo nie mam pojęcia dlaczego to nie działa.