wilk125: jeszcze mam takie pytanie, jeśli kwarc zew. mam 8MHz i preskaler ustawiony jest na 8, to jeden takt timera1 w tym przypadku będzie odpowiadał 1us ? Tak Tak powinno być TCCR1B, moja pomyłka Przy odczycie wartości z TCNT1, sróbuj najpierw odczytac TCNT1L(młodszy bajt TCNT1), i następnie TCNT1H (starszy bajt). Chociaż odczyt jak wyżej tez powinien...
Musze cie zmartwic. Timer 2 jest tylko 8 bitowy i przy maksymalnym czasie 5 sek dokladnosci 1ms nie uzyskasz. Maksimum 19 ms z chakiem. Jedynym rozwiazaniem to musisz ten licznik wydluzyc o jeden bajt zatrudniajac do tego przerwanie od Timet2, wtedy jest ta dokladnosc mozliwa do uzyskania.
Ponieważ tzw. casting w BASCOMie jest nieco zbyt prosto zrobiony to proponuję zrezygnować z: Dim Xl As Word Dim Xh As Word A w przerwaniu pobierać zawartość z rejestru ICR za pomocą specjalnie generowanej dla tego celu zmiennej typu Word: Capture1 . Pętlę Do..Loop zamieniłbm na sprzętowe porównywanie i kasowanie licznika przez CTC. Niech takimi rzeczami...
Do zrealizowania tego zadania nie trzeba nawet wykorzystywać TSOPa. Wystarczy prosty detektor na diodzie IRED i fotodiodzie. Za pomocą procka możesz wykonać prosty i bardzo efektowny licznik impulsów, ale pomiar przechodzących osób bd jedynie szacunkowy...
Przykład na ATmega8: http://mikrokontrolery.blogspot.com/2011...
Będziesz musiał zjechać częstotliwością PWM na tyle aby łapać czas między impulsami z wentylatora, gdy PWM jest na H.
Proponuję zamiast mierzyć czas 5 obrotów sprawdzać ilość impulsów co stały czas.
No, tak dobrze to nie jest. AVR-y (a w nich timery) nie mogą poprawnie zliczać impulsów o częstotliwości większej niż połowa częstotliwości zegara zakladając na wejsciu wypełnienie przebiegu 50%. Niezbędne będzie zatem zastosowanie preskalera. Proponowałbym ATMEGA8 z kwarcem 16MHz i z prescalerem /4 zbudowanym np z cyfrówki 74F74. Mamy zatem poniżej...
Moim zdaniem najlepszym rozwiązaniem będzie - "podpiąć impulsy" pod wejście licznikowe i niech zajmuje się liczeniem wewnętrzny licznik. Nie obciążamy wtedy procesora. Drugi licznik (np. cztery razy na sekundę) wylicza obroty i resetuje ten pierwszy licznik. Wadą jest problem z liczeniem powolnych impulsów. Zalety - prosty, szybki, zużywający mało zasobów...
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, Piszę program do atmega8 i mam problem z ustawieniem Timer1. Dopiero zaczynam programować więc proszę o wyrozumiałość. Chciałbym ustawić tak timer1 aby zaczął liczyć czas od pojawienia się na portd.3 pierwszego impulsu do drugiego impulsu, zapisał wartość do zmiennej, wyzerował się i zaczął zliczać czas od drugiego do trzeciego impulsu zapisał...
polecam pisać ten program w C. Kompilator opanujesz w kilka dni, a wygoda w stosunku do asm jest nieporónywalnie większa, przede wszystkim szybkość pisania kodu. W razie konieczności można użyć wstawek asm. Jak zajdzie potrzeba poznania nowego procka (np. ARM) lub przeniesienia kodu na inną machinę, to się nie namęczysz przy translacji kodu, tak jak...
Jaki uC określa dział;) To jaka będzie amplituda sygnału (oraz kształt) wymaga jedynie użycia odpowiednich elementów wejściowych. Do ustawienia rejestrów nic Ci bardziej nie pomoże jak dokumentacja techniczna - wpisz w googlach nazwę procka i odpal PDF'a (datasheet). Co do sposobu pomiaru częstotliwości to masz na szybko dwie metody - pomiar okresu...
Widzę, że moje programy znajdują uznanie i dobrze. Co do podawania impulsów na uC to nie można zmieniać dowolnie końcówek bo timery mają wejścia przypisane do konkretnych wyprowadzeń. Dla M8 są to T1 - 11, T0 - 6. Trzeba to brać pod uwagę przy projektowaniu układu. Dotyczy to końcówek używanych jako alternatywne. Po przeróbce czas odmierza T0 (8bit)...
W kwestii formalnej, ten kod się nazywa kodem Gray'a (od nazwiska Franka Gray'a 1887-1969, pracownika laboratoriów Bella, który go opracował) Co do samego problemu, to - prędkość obrotową wyliczysz z jednego kanału mierząc ilość impulsów w jednostce czasu lub mierząc czas trwania jednego okresu i przeliczając to na obroty (wiadomo ile masz impulsów...
Sorry, Wiesz ja to sie z tym bawie tylko i program pisze w bascomie metoda prob i bledow. Nie ma większego znaczenia w jakim środowisku programujesz (Basic albo C). Istotny jest koncept projektu i sposób rachunkowy, reszta to tylko inna forma zapisu programu. Wybrałeś za narzędzia: Timer1 i jeden z interruptów zewnętrznych. Zatem jest tez bez znaczenia...
To prawda. Ja korzystałem z tanich przetworników na 38kHz, średnica przetwornika koło 1cm. Ilość impulsów 5-8.
Żeby otrzymać wynik w ms mnożę wartość licznika przez 1,024. Żeby otrzymać wynik w ms dzielisz wartość licznika przez 1000
Tylko nie wiem czy mierząc ilość impulsów przypadających na jakiś okres czasu uda się osiągnąć precyzję 0.1 km/h przy tak niskich prędkościach a co za tym idzie obrotach. Chyba bardziej precyzyjny był by sposób z pomiarem czasu (z dokładnością do 1ms), między kolejnymi impulsami.
Na przetworniku napisane jest tylko PRZETWORNIK typ MPL 10 natomiast kabel rzeczywiście przechodzi przez jakieś "pudełeczko" ale nie wiem do czego ono jest. Stwierdziłem sobie na początku, że to układ odpowiedzialny za przerobienie sygnału na standard TTL, czyli 5 V na wyjście i to wszystko. (Enkoder podpinam bezpośrednio pod ATmegę - oczywiście uwzględniająć...
Masz rację, ale maje pytanie bardziej dotyczyło samochodów w których są wskaźniki wychyłowe. Chyba w Pandzie jest to tak zrobione. Przecież zanim weszły silniki krokowe musiało coś takiego powstać? Jak dotrzec do takich instrukcji. A może z innego zastosowania można podpatrzeć? Jakies sugestie? A tak przy okazji. Macie pomysł na pomiar prędkości, raczej...
Dzięki xury za linka z tematem. Bardzo mi pomógł, odliczam czas jak chciałem, co prawda pojawia się malutki błąd czasu wynikający z tego ze nie ma pełnych 31 impulsów tylko 31,25 ale na tak mała niedokładność mogę sobie pozwolić
Po długim analizowaniu problemu narodziło mi się coś takiego: 'pętla główna Dim I As Integer Dim Impulsy As Long Dim Sek As Integer Tccr1a = &H00 'ustawianie trybu pracy timera1 Tccr1b = &H0C Ocr1ah = &H7A 'załadowanie liczby 31250 do licznika Ocr1al = &H12 'przykładowa liczba do odmierzania (1s) Tcnt1h = &H00 ' zerowania rejestrów do zliczania...
A czy wiesz o tym ,że liczniki (nie wszystkie) mogą wprost liczyć impulsy pochodzące z zewnątrz? Po co używać Inty i co każdy impuls przerywać główny program, skoro masz do tego piękne narzędzie?
Czemu w przerwaniach nie zapamietujesz na stosie rejestru SREG? Dodano po 10 A tak na marginesie to ja bym raczej do liczenia impulsów zaprzągł przerwania a w programie głównym (który nawiasem pisząc się tutaj nie kończy )wyświetlał wyniki.
Podobny temat był ostatnio tylko dotyczył takiej zabawki do roweru. Z obliczeń wyszło, że pomiar impulsów na sekundę jest mało dokładny. Wypada liczyć ilość ms jednego obrotu. Przy motocyklu będzie tylko wyższa prędkość maksymalna.
Witam. Chciałbym skierować pytanie do fachowców na tym forum. Mianowicie interesuje mnie, czy bardzo kłopotliwe było by napisanie programu na mikrokontroler np atmega8, który by pokazywał mi na LCD aktualna prędkość. Pomiar miałby następować poprzez zliczanie impulsów z czujnika VR który współpracuje z wieńcem pierścienia ABS na przegubie. Ilość zębów...
Co do kontaktronu, to niedawno robiłem taki układ i bałem się o drgania (kontaktrony mają rzeczywiście beznadziejne styki). Jak się jednak okazało, w przypadku kontaktronu i obracającego się koła z częstotliwością kilku Hz - problem nie istnieje w ogóle. Zero drgań styków :) Niemniej, warto to po podłączeniu do rzeczywistego układu (roweru, nie przycisku...
Jest parę błędów które widzę już teraz. Pozwoliłem sobie wstawić to w syntax bo nie dało się czytać :) unsigned char ilosc_imp=0; powinno zostać opatrzone jeszcze etykietką volatile. Czyli: [syntax=c] volatile unsigned char ilosc_imp=0; [/syntax] Volatile wyłącza dla tej konkretne zmiennej optymalizację. Jest to konieczne jeżeli korzystasz ze zmiennej...
Mikrokontroler pracuje z częstotliwością 1 MHz. Dokładność chciałbym uzyskać jak największą, aby przekłamania licznika po obróbce sygnału były jak najmniejsze. A rezultaty tego programu w sumie żadne... dodałem obsługę diody, by po wykonaniu pomiaru zaświeciła się na jakiś czas, ale nawet nie mrugnie.
Witam potrzebuje układ który wykonywał by pomiar obrotów 100tys/min plus odczyt z termopary typu K Czy układ Atmega8 podoła zliczaniu impulsów z częstotliwością 3500Hz? prosiłbym o sprawdzenie poprawności narysowanego układu ewentualnie jakieś propozycje lub sugestie Jako układ do odczytu danych z termopary zastosowałem Układ MAX6675 http://silaresearch.com/data/max6675.pdf...
Standardowe aparatury do zdalnego sterowania, na pojedynczym wyjściu dają impulsy o długości 1-2ms (stąd mniej wiecej dwukrotna zmiana napięcia przy pomiarze woltomierzem) powtarzane 50 razy na sec. W kanale radiowym impulsy są nadawane kolejno i rozdzielone dłuższym impulsem, niestety do tego sygnału nie ma dostępu, a można by łatwo odebrać wszystkie...
Lecz jeśli jest to wystarczające może mierzyć kanały kolejno. Jeden po drugim. Tak, ale kolega chce uzyskać dokładność 1 obr/min , oraz jak kolega pisze mają być jednocześnie wyświetlane, mierząc kanały kolejno w danej chwili brany pod uwagę jest tylko jeden czujnik. Jeszcze taka uwaga, o jakich prędkościach mówimy? Dla małych prędkości obrotowych...
chyba chcialeś powiedzieć 1s, bo 1ms nie chce mi wyjść w żaden sposób. Więc działa to mniejwięcej w taki sposób: za każdym impulsem zwiększamy zmienną "częstotliwość" pomiar trwa 3.9ms i T1 wywołuje przerwanie, i przechodzi do programu czas, potem ilość impulsów jest mnożona przez 256(wartość presklera), otrzymujemy ilość impulsów na sekundę, czyli...
jest to dieselek więc zakłócenia raczej mniejsze.. jak to zrobić? jakiś ogólny szkic programu w bascomie? bo licznik chciałem zrobić na timerze jako counter z pomiarem co sekundę, ale skoro nie zrobiłem jeszcze nic poza programem to koncepcję mogę zmienić. pfff. to jak mam to podłączyć w końcu?
Napisz program w Bascom dla Atmega8, który będzie liczył pojedyncze impulsy w ciągu 24 godzin z zapamiętaniem najkrótszego odstępu między tymi impulsami, wynik wyświetlał na wyświetlaczu 2x16 opartym na HD44780. Oczywiście, chętnie pomogę Ci napisać ten program. Poniżej znajduje się kod, który powinien zrealizować to, co opisujesz. Wprowadziłem kilka...
A czy ktoś może zapodać jakiegoś linka do podobnego układu ? Jakoś nic nie mogę znaleźć. Próbowałem też dokonać pomiaru za pomocą kontaktronu i magnesu przyczepionego na wał ale jak wał zaniesie kręcić to kontaktron nie łapie impulsów z magnesu. Rozważam też opcję pomiaru za pomocą diody i tranzystora działających na podczerwień wydobytych z myszki.
Witam! Posiadam następujący przepływomierz: http://obrazki.elektroda.pl/8616298100_1... O parametrach: Pomiar bez reduktora: od 60l/h do 2100l/h 1 litr to 492 impulsy Pomiar z reduktorem od 30l/h do 600l/h 1litr to 1200 impulsów Napięcie zasilania12V. Chciałbym mierzyć jego impulsy za pomocą atmega8. Sygnał wychodzący z impulsatora ma...
Chcę napisac własny program z wykorzystaniem Timerów. Na początek proszę o wytłumaczenie dlaczego w poniższym programie: 1. wykorzystano podzial częstotliwości zegara (po preskalerze 256) 250/125 zamiast wykonac jedno dzialanie? 2. uzyto wartość początkową Timera0 = 250 przed Petlą do Loop End . O ile wyjaśnienie podane przez Tomq jest błędne(!) Load...
Ma 6 kabli bo ma gaszenie dodatkowo, co do sterowania wyprzedzeniem za pomocą mikrokontrolera to taki mikrokontroler można wpiąć przed fabrycznym zapłonem - między czujnikiem na magnecie a modułem zapłonowym. Mikrokontroler - wystarczy AVR np Atmega8. Cała zasada jest taka że mikrokontroler z impulsów dawanych przez czujnik w magnecie oblicza prędkość...
Z tego co wiem to w ATmega-ch raczej trudno o możliwość zliczania impulsów z 3 niezależnych źródeł zewnętrznych i generowania dla każdego z osobna przerwania (chyba że powyżej ATmega32, ale w grę wchodzi wtedy wysoka cena). Pytanie czy konieczne jest takie rozwiązanie jak zaproponowałeś? Przy pracy uC z prędkością 8MHz (np. jak dla ATmega8, ATmega16...
Co do samego prędkościomierza to sprawa nie jest skomplikowana. Podstawowe założenie zapewne będzie takie: jeden obrót koła = 1impuls. Procek natomiast niech zajmie się pomiarem czasu pomiędzy tymi impulsami (uruchamiasz sobie TIMER na czas pomiędzy kolejnymi imulsami). Mając te dane jesteś w stanie obliczyć prędkość oraz przejechane kilometry. Potrzebujesz...
Powiedzcie chociaż czy dobrze konfiguruje timer, aby działał w trybie licznika. Czy czegoś nie pominąłem, a jeśli są błędy to powiedzcie jakie. Jak ustawić rejestry aby licznik dawał sobie rade ze zliczaniem 360*2500 impulsów na minute. Jak na razie program pisany jest dla atmegi 8 ale docelowo będzie dla atmegi 1280. Ostatnio zmieniła sie koncepcja...
TRIG potrzebuje impulsu 10us by wyzwolić pomiar. W odpowiedzi na pinie ECHO mamy impuls o różnej długości, zapewne dłuższej niż 10us. Pin Echo HCSR04 połączyłeś z pinem TRIG. Sprawdzałeś, czy nie będzie sam siebie wzbudzał?
n = 60 / (ti * ni) n - prędkość obrotowa ti = i * p / F_CPU ti - czas trwania impulsu n = (60 * F_CPU) / (i * p * ni) Zakładając, że masz jeden impuls na obrót (jeśli dobrze zrozumiałem), to n = 60 / ti = (60 * F_CPU) / (i * p) , przy czym czas musisz mierzyć od zbocza narastającego do narastającego, czyli cały cykl, a nie tylko czas trwania jednego...
Z wskazówką na 0 to sie jeszcze zastanowie. Rozwiązań jest kilka. W tej chwili nie mam rozwiązanej kwestii prawidłowego pomiaru i odczytu częstotliwości. Kod, który koledzy proponują, jeszcze nie przetestowałem. Zrobie to wkrótce. Postanowiłem zacząć od początku, mianowicie od tego co właściwie mierzymy. Mając te dane pracować na programem. Dziś rano...
Witam ! Mam do skonstruowania układ liczący długość przewody. Do zliczania liczby obrotów koła pomiarowego używam enkodera Kubler Sendix 5000 o rozdzielczości 1000 impulsów na obrót. Enkoder ma wyjście typu Push-pull i będzie zasilany napięciem 19 V (wynika to z konieczności zasilania innego urządzenia takim napięciem). Problem dotyczy podłączenia enkodera...
Witam! Google mi nic nie podpowiedziały. Na ilu kanalach w ATmega8535 moge zliczac impulsy z wentylatora (jednoczesny pomiar predkosci wentylatorow)? Potrzebuje z 5-6 kanalow. Czy mozna to zrobic na jakims multiplexerze (moze byc odczyt jednego w danej chwili - ale zeby mozna bylo odczytac kolejno wszystkie)? Sterownik wentylatora zwiera chyba 12 V...
Zasadę ogólnie znam, tylko nie wiem jak to zrobić i czy wogóle się da na atmega. Bo wszystkie posty sa o pomiarze impulsów w ciągu 1 sekundy. To trochę za mało by płynnie sterować wskazówką. I inna sprawa, jak wpiąć do atmega sygnał z cewki? jakiś opornik czy kondensator? gdzie szukać działającego schematu ?
No to zacznijmy jeszcze raz:) Zacznę od konfiguracji Timera. Założyłem sobie że dokładność pomiaru ma być 100ms. uK Atmega8A-PU mam taktowany 1000000Hz [syntax=c] /*ustawienia TIMER2*/ TCCR2 |= (1<<WGM21); /*tryb CTC*/ TCCR2 |= (1<<CS20) | (1<<CS21) | (1<<CS22); /*preskaler = 1024*/ OCR2 = 97; TIMSK |= (1<<OCIE2); [/syntax]...
Wow jaki odzew :D To tak bocznik mam a przetwornika nie więc tylko sygnał przetworzyć z bocznika i testy, jak nie wyjdzie to zrobię na jakimś LEMie. Więc tak dam wzmacniacz operacyjny (jak radzicie AD820) za bocznikiem tylko pytanie ile razy wzmocnić sygnał. Chyba tyle żeby 5V nie przekroczył? Co do uśredniania pomiarów to troszkę nie rozumiem, bo tak...
Witam Troszkę przedobrzyłeś s tym licznikiem 16 bitowym, starczy połowa 8 bitowego, wróćmy do obliczeń, autor pisze o 4 impulsach na obrót, Ty o 2 i to wydaje mi się bliższe prawdy. Maksymalne obroty 7000, na sekundę daje nam to koło 117 obrotów, chcesz mierzyć 0,5 sekundy i i dwa impulsy na obrót czyli 117 impulsów przy maksymalnej prędkości obrotowej....
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)...
Kolego chrobek W programie zastosuj jedną pętle Do Loop i w niej umieść sprawdzanie przycisków,stycznika,komparatora,stanu przekażników.Uruchom programowy licznik i w pętli Do Loop wykorzystaj go do sprawdzania stanu przycisków i innych zewnętrznych urządzeń.Do podprogramów skacz tylko aby go wykonać (nie używaj Waitms a tym bardziej Wait 1 w tym czasie,...
Nie chciał bym za Ciebie pisać tego programu, bo jest to naprawdę proste zadanie i dlatego spróbuj sam napisać go jeszcze raz od początku wg np. takiego algorytmu: Ustaw timer powiedzmy na 10khz aby każde przerwanie wykonywało się co 100 mikrosekund. Możesz też gęściej od tego zależy dokładność - tu 100us czyli 0,1ms Zdefiniuj sobie zmienną licznikową...
Dysponujemy z paroma kolegami fordami z roczników 86 do 89. Część to diesle a część benzynowe. Zamierzamy je trochę "ubogacić" przez założenie obrotomierzy cyfrowych. Problemem jest brak doświadczenia i wiedzy w programowaniu. Jakich procesorów użyć by mierzyły obroty do 9,9tys obr/min (2 cyfry LED OK) -przez pomiar częstości impulsów zapłonowych lub...
Właśnie mam już cały program gotowy w bascomie , nie umiem w tej chwili na tyle dobrze C żeby napisać obsługę PCF, dwóch DS18B20 plus MPX4115. Także chodzi właśnie mi tylko o rozwiązanie pomiaru ciśnienia co 5-10 minut. Ok doszedłem wkońcu jak to zrobić . [syntax=basic4gl] Config Pinb.1 = Input 'usatwiamy Portb.1 jako wejscie Set Portb.1 'ustawiamy...
Witam, jednak okazało się iż sam TSOP1736 nie wystarczy, bo ma zbyt małe praktyczne zastosowanie :| Jako że jest to projekt szkolny, to po rozmowie z prowadzącym zajęcia zmieniły się troszkę kryteria :| jednak myślę że z takimi specami jak wy to rozwalimy ten problem bez żadnego problemu :) Prowadzący zajęcia zażyczył sobie bowiem, aby oprócz tego detektora...
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...
Główny problem dla mnie to rozwiązanie programowe zmiany żródła impulsów dla licznika przerwania. Jedno zródło to pin, na który doprowadzę 100Hz, drugie to oscylator 4MHz i skonfigurowany licznik. Zaniki sieci nie są obecnie duzym utrapieniem, ale ze względu na względny pomiar muszę zapewnić ciągłość. Zasilacz buforowy już mam z akumulatorkiem 3,6V...
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...
Tak na chłopski rozum pierwsze co przychodzi na myśl to stały pomiar częstotliwości wejściowej i na tej podstawie wytworzenie nowych impulsów o wyższej częstotliwości przeliczanych w czasie rzeczywistym. Oczywiście w takim układzie impulsy wyjściowe były by z lekkim opóźnieniem (co najmniej 2 imp. na wejściu), bo potrzebny jest przecież czas na zmierzenie...
Witam jestem w tracie projektowania pewnego przyrządu pomiarowego do serwisowania moich motocykli. Potrzebuje mierzyć prędkość obrotowa wału i wpadłem na pomysł a raczej przypomniało mi się ze widziałem już takie obrotomierze które łapały impuls zapłon z cewki zapłonowej a dokładnie z przewodu WN na który nawijalnio się ok 10 zwoji od-ekranowaną żyła...
Pracę idą dalej http://obrazki.elektroda.pl/7917519000_1... Skrzynka praktycznie gotowa i zawiera 1.sterownik na procesorze atmega8 z pomiarem trzech napięć, licznikiem obrotów, pomiarem temperatury, dwoma PWM-ami, (tryby pracy skokowy i płynny regulowane napięcia ON OFF MAX moc), cztery styki do załączania przekaźników (wykorzystuję...
Jak kiedyś robiłem komputer spalania do skody Felicji :D to zanim doszedłem co i jak z pomiarem czasu (pokręcona sprawa, zmiana zboczy podczas trwania pomiaru) to żeby nie latać do auta, zrobiłem generator "jazdy". Czyli Atmega8 generująca poprzez PWM częstotliwość rzędu 15Hz i każdy impuls o czasie trwania 3.8ms (stąd właśnie PWM by sobie ustawić czas...
emarcus super wykład, dziękuję! Starałem się wytłumaczyć ale faktycznie powinienem napisać - dwa niesymetryczne impulsy masowe w okresie 103ms (jednak wciąż nie jestem pewien czy precyzyjnie). Urządzenie już zrobione, działa. Ale napotkałem problem, o którym wspomniałeś. Mianowicie zawartość Counter1 w momencie rozpoczęcia cyklu jest przypadkowa. Nie...
Czy będą mi potrzebne jeszcze jakieś dodatkowe elementy do połączenia tego wszystkiego do kupy (rezystory, itp.)? Nie wiem przy jakich parametrach powinny pracować fotodioda i fototranzystor i czy coś do nich powinienem dołączyć. Do sklepu mam dosyć daleko, dlatego wolałbym kupić wszystko za jednym razem i nie chciałbym żeby się okazało po powrocie...
Tak myślałem, otałem sie o produkcje poligraficzną na maszynach offsetowych:D Główny problem to najniższa prękosc liczenia. Poza tym dość prosto, zewnętrzny kwarc jako podstawa czasu, wenętrzny ma za duże odchyłki. Timer 16-bitowy jako timer zliczający interwał czasu w którym odbywa się pomiar, drugi timer jako licznik impulsów z fototranzystora. Reszta...
Witam, przerobiłem nieco program kol. Teedd, pod swój mikrokontroler i kwarc, niby działa, ale nie mam regulacji częstotliwości, reguluje mi tylko wypełnienie, kończą mi się pomysły.. $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 'default use 10 for the SW stack $framesize = 40 'default...
Witam, zbudowałem miernik częstotliwości na ATmega8 wykorzystując przerwanie INT0 (reakcja na niski stan linii, podciągnięty wewnętrznie). Chciałbym indukcyjnie mierzyć obroty silnika w autku. Niestety mimo próby filtrowania tych impulsów nadal w sygnale jest bałagan mimo zastosowania transoptorka 6N137 z bramką Schmitta. Jak się domyślam, w takiej...
Tutorial do avr taki znalazłem: http://avr.elektroda.eu/?q=node/8 Jak byś czegoś w sieci szukał, to raczej unikaj tutoriala z patron.net, uczy złych nawyków i jest nieco nie na czasie. Pomiar częstotliwośći na AVR realizuje się w miarę łatwo, przy wykorzystaniu timerów, jeden timer pracuje jako licznik impulsów z zewnątrz, a drugi odmierza czas, mozna...
http://obrazki.elektroda.pl/8007934500_1... Witam szanownych kolegów! Do zaprezentowania mam swoją nową konstrukcje tj. Mikroprocesorowy miernik ESR. Parametrami które w pierwszym przybliżeniu charakteryzują kondensator elektrolityczny i mogą podlegać nieniszczącym pomiarom są: pojemność kondensatora oraz szeregowa ekwiwalentna rezystancja...
ad. Wojnar: nie sądzę, żeby kwarc 32768 mocno "pływał", są stosowane na codzień w tanim sprzęcie i trzymają całkiem nieżle częstotliwość. Zmniejszenie częstotliwości oscylatora głównego (wew. lub zew.) tylko powiększy błąd czasu. im więcej impulsów tym możesz robić mniejsze korekty. ad. Freddie: Tych 40k instrukcji w zasadzie wystarczy, ale jak miałem...
Na pewno ja się śmiał nie będę bo ten układ ma być też do kombajnu tyle że zbożowego :) Zasada działania identyczna bo i taka sama rolę ma to pełnić. Na jakim procku to jest zrobione? Masz może wsad do niego? Ja na razie chcę zrobić najprościej na diodach (poszczególne diody wskazują, który czujnik nie podaje impulsów) i podłączyć się do już istniejącej...
Witam Ponieważ nie do końca odpowiadają mi podane rozwiązania, zacznę od tego co powinienem na początku podać - ossochosi :) Programuję w bascom. Buduję układ który ma zadziałać jak uproszczony ABS: 1. pomiar prędkości obrotowej każdego koła 2. porównanie tych prędkości 3. min. 10 razy na sekundę reakcja na utratę przyczepności Doszedłem do takiego...
... wystarczy mi tylko to ze gdy adc 2 razy w ciągu powiedzmy 2 sekund zmierzy wartość większa niz 400 to ma sie zaświecić dioda a puzniej ponownie zmienić swoj stan Pojedyncze klaśnięcie składać się będzie z szeregu impulsów, które należy odpowiednio przefiltrować programowo i/lub kondensatorem. Jeśli programowo, to na przykład tak: - dodawaj kolejne...
Język programu dowolny, realizacje projektu oparłem na atmega8 I czujnikach ultradźwiękowych(odbiornik i nadajnik). Realizacja oparta została na podstawie pomiaru odległości (Wyemitowanie paczki impulsów o częstotliwości 40kHz i zmierzeniu czasu powrotu od napotkanego przedmiotu). 1.Zostaje wyemitowana paczka impulsów 2.Czekamy na powrót echa 3.Jeżeli...
Powtarzam: w tym programie sporo rzeczy jest źle. Pokazałem Ci powyżej wyświetlanie w 5 liniach kodu. Przy podłączeniu segmentów do dwśch portów wystarczy zamiast tablicy bajtów zadeklarować np. tablicę struktur dwubajtowych. Wartości cyfr do wyświetlania też powinny byś w tablicy - wtedy Twój kod skraca się np. 10-krotnie. Timer musi pracowaś w trybie...
Ok po kolei, wywalam wszystko z programu, zostawiam tylko...... zmienna impulsy jest zwiększana o kilkanaście a nie tylko o jeden ............ Licz: If Scisk = 1 And Ok = 1 Then Incr Impulsy Elseif Scisk = 0 And Ok = 1 Then Decr Impulsy End If Return Kontaktron (Reed switch) generalnie jest stosowany jako proxy switch, czyli w ukladach statycznych....
Sprawa jest dość prosta robisz pomiar ADC obrabiasz wpisujesz do OCR1A generujesz impuls potem ładujesz wartość przerwy i tak w kółko .... Jeśli będziesz pomysłowy to na 1 liczniku i jednym wyjściu PWM można zrealizować nawet 10 serwomechanizmów ... Proponuje zerknąc na dekoder stosowany w odbiornikach modelarskich zbudowany na CMOS-ie 4017 proponuje...
Witam. Robie stanowisko na uczelnie o silniku krokowym. Zrobilem sterownik na Atmega8. Silnik unipolarny. Problem jest taki ze przy wolnym ipulsowaniu silnik co krok drga. Tarcza po kroku trzesie sie. Tak jakby wal byl z jakies sprezynowej stali. Jest impuls, silnik obraca sie o krok i wyglada to jakby jechal krok do przodu i 1/4 kroku do tylu. Przy...
Witam Kod jak poniżej służy do zliczania czasu trwania jednego impulsu (ta funkcja działa prawidłowo) oraz do zliczania czasu (w celu zliczania ilości impulsów na jednostkę czasu). volatile unsigned char pomiar = 0; volatile uint32_t cw_impuls,impuls = 0; unsigned char sreg; float tc1; char czas[8]; void Inicjalizacja(void) { LCD_init();...
Obecna wersja testera stanów logicznych CMOS/TTL wygląda następująco: http://obrazki.elektroda.net/95_12693130... krótki opis: P1 - złącze programujące uC P2 - VDD + GND podłączone do badanego układu P3 - zasilanie układu z bateri 9V J1 - sonda Przycisk S1 - rozpoczynamy pomiar Przycisk S2 - CMOS/TTL U4 - Bufor - sygnał CMOS za jego pomocą...
Właściwie jest to dekoder AM lub szczytowy :) + w układzie formowania impulsów dwie bramki z przerzutnikiem Smitcha :) dopóki na rezystorze R1 nie pojawi się coś powyżej 2,7-3 V to jest stan niski. Powyżej 2,7-3 tak długo jak się napięcie nie zmieni masz stan wysoki jak zacznie spadać trochę poniżej 2,5-2,7 V masz przejście w stan niski . Tak więc szumy...
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...
zobacz sobie temat: http://www.elektroda.pl/rtvforum/topic81... 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ć):...
http://obrazki.elektroda.net/81_12834323... Witam Chciałbym przedstawić moje kolejne urządzenie. Prezentowany układ jest miernikiem prędkości obrotowej silników elektrycznych, a główną jego zaletą jest bezinwazyjny pomiar polegający na oświetleniu wirującego obiektu diodą LED dużej mocy. Pomiar polega na ustawieniu częstotliwości błysków zgodnej...
Tak właśnie myślałem, że ty coś nie tak - z tym pomiarem impulsów oscyloskopem. Więc daj sobie z tym spokój bo impulsy na pewno są - i przejdźmy do kolejnego etapu testowania ;) 1. czy ty NA PEWNO ustawiłeś w tym swoim terminalu prawidłowe parametry transmisji - czyli takie jak w procku? pokaż screenshot z tymi ustawieniami. 2. Może być sytuacja, że...
PWM to podawanie zasilania impulsami czyli pobór prądu też jest impulsowy (no trochę zniekształcony przez indukcyjność). Teraz 'wychwytywanie' próbek przez A/C powoduje ich spore rozbierzności. I tu potrzebne jest uśrednienie - np. można uśredniać analogowo przez RLC lub cyfrowo/matematycznie przez kontroler. Dokładność wszystkich marna lub czas reakcji...
Siema wszystkim. Od jakiegoś czasu siedzę nad moim projektem, posiada on 3 mikro kontrolery 2 Atmega8 i jeden Atmega32. Każdy z nich wykonuje inne funkcje w tym samym czasie, A32 jest szefem. Wymyśliłem system komunikacji miedzy nimi który polega na podawaniu sobie wzajemnie kodów sześciu cyfrowych w ciągu 100 milisekund. Wszystko działa super... mam...
Dzięki wielkie za poprawienie mnie, dużo mi to wyjaśniło, nie widziałem jak mogłbym to zrobić bardziej zwięźle, ale teraz już widzę. Linijki kodu określające wyświetlacz mogę ale nie muszę wyrzucać? I jeszcze jedno, zmiany na wyjściu mogą być najszybciej co sekundę? Jeżeli tak to chcąc, aby reakcja na zmiany częstotliwości była szybsza to muszę zmienić...
Witam, Napisalem program na atmega8 do regulatora dwukierunkowego, którego schemat można znaleść tutaj. [url=http://www.modelhobby.republika.pl/... Licznik pracuje z zegarem 8Mhz i prescalerem 64. Czyli licznik powinien zapelnić sie minimalnie po 2ms. Sygnał z odbiornika trwa od 1ms do 2ms. Najpierw zliczam czas impuslu. W zależności...
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...
Witam wszystkich serdecznie, to mój pierwszy post tutaj, a popełniony został z powodu projektu z mikroinformatyki, jaki muszę wykonać na uczelni ;) Chciałbym się opierać na projekcie opisanym w Praktycznym Elektroniku i danym poniższym schematem. http://obrazki.elektroda.net/100_1238869... Jednakże chciałbym zrobić go na mikroprocesorze Atmega8...
Zależy od wymaganej dokładności. Można pomiary zrobić tak: uint32_t motogodziny; const uint8_t precyzja = 10; /* 10 bitów ułamkowych = ok. 1/32 motominuty */ const uint16_t nominalne_rpm = 400; for (;;) { uint16_t impulsy = 0; while (!minela_minuta) { /* zliczaj_impulsy */ } /* zeruj licznik impulsów i odliczanie minuty...
Czy ATMEGA8 i jej 8kB wystarczy mi do obsługi wyświetlacza LCD z NOKII 3310 i wyświetleniu paru informacji ?? Oglądam i czytam informacje na temat obsługi wyświetlacza z Noki 3310 w bascomie i nie znajduje niczego co było by dla mnie czytelne. Dlaczego dla języka C jest mnóstwo różnego rodzaju kursów do obsługi tego wyświetlacza a dla bascoma jest tak...
Witam, Program zamieszczam, nie chce się skompilować, nie bardzo ogarniam co mam źle, mile widziane sugestie itp. Bez urazy, ale praktycznie wszystko co napisałeś jest pozbawione sensu, albo błąd jest niemal w każdej linii programu. 1. W jakim celu dokonujesz wpisów do eeprom jeżeli nigdy ich nie odczytujesz(!) 2. Wszyskie funkcje "Fusing"masz błędny...
To jest fragment kodu, którego używałem , żęby zrobić obsługę licznik, ale nie działa w symulacji $sim $regfile = "m8def.dat" 'Informacja dla kompilatora. $crystal = 8000000 'Też dla kompilatora,zastosujemy kwarc zewnętrzny 10MHz. Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E =...
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=http://mikrokontrolery.blogspot.com... Chciałbym go przerobić na Atmega16 na...
http://obrazki.elektroda.net/71_12466511... Witam Wszystkich, tym razem przedstawiam urządzenie do pomiaru odległośći. Zbudowane jest w oparciu o mikrokontroler ATMEGA8, a w roli czujnika obrotów pracują dwa fototranzystory, tworząc transoptor szczelinowy. Projekt opracowałem zainspirowany pomysłem jednego z użytkowników mojej strony. pomiar...
zliczanie impulsów atmega8 atmega8 licznik impulsów licznik impulsów atmega8
zamek drzwi ibiza unitra r8040 esp32 generator
philips 50pus8535 cewki radio lampowe
Używane części do Mercedesa Actrosa - gdzie szukać? Rozdzielczość w grach ograniczona do 1080p na telewizorze 4K XIAOMI przy duplikowaniu obrazu z monitorem IIYAMA 2K