Czesc Program ma za zadanie mierzyc szerokosc impulsu za pomoca przerwania INT1. W skrocie dziala to tak ze podczas zbocza narastajacego wykonuje sie przerwanie ktore wlacza timer. Timer ma swoje wlasne przerwanie od przepelnienia i zlicza pelne cykle przepelnienien. Gdy pojawi sie zbocze opadajace to wylacza timer i zapisuje jego wartosc ktora nastepnie...
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...
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...
Dobra pierwsze podejście do kodu: Atmega8 ustawiona fusami na 8Mhz Najpierw dobór preskalera. Jak już wcześniej pisałem pomiar jest od 1,2-1,9ms więc zliczanie czasu moim zdaniem powinno być mniejsze od 0,05ms. Dobrałem preskaler 64 po czasie 524.288ms następuje przepełnienie T1 dla 0xFFFF, a więc jeden takt zliczania ma 524.288/65535 czyli 0,008ms...
Witaj, Za co jest odpowiedzialny Timer0? Za określenie częstotliwości granicznej? Czy masz wolny Timer 1? Jeżeli tak, to moim zdaniem strasznie sobie to komplikujesz. W końcu Twoim zadaniem jest zmierzenie okresu przebiegu o częstotliwości, którą podajesz z generatora, a od tego jest tryb Capture, czyli pomiar długości impulsu. strona 83: Input Capture...
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...
Witam. Sekwencja to kilkanaście sekund, odtwarzana w kilkuminutowej pętli. Proponowane wykorzystanie timera daje jedynie odmierzanie owych 1ms impulsów dla liczników i zapewni jedynie większą dokładność pomiaru niż waitms. Z tym nie ma problemu. Komenda ta zapewnia mi to czego potrzebuję i z tym nie mam problemu. Wykorzystanie tablicy to pomysł wart...
Dzieki wszystkim za pomysły. Zapomniałem na wstępie dodać że buduję tempomat do auta dziś wróciłem z holandii i nawet się sprawdził prądkość wacha się w granicy max 4 km / h - pomiar z licznika co 1 sekundę. Prędkość 10 km/h odpowiada czestotliwości w przyblizeniu 13 Hz ale załóżmy że 10km/h to 10Hz a 100km/h to 100Hz. Odczyt co 0,1 sekundy w zupełności...
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...
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...
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 Poniższy program mierzy długość trwania impulsu / stanu niskiego podanego na INT1. Pomiar jest wyzwalany przerwaniem, zboczem opadającym, następnie następuje włączenie timera i przestawienie przerwania na zbocze narastające. Gdy ono nastąpi jest wyzwalane kolejne przerwanie, które zeruje zatrzymuje timer. Odczyt timera (rejestr TCNT1) następuje...
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...
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...
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...
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)...
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....
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 z którego odczytuje...
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)....
Poniżej źródło w którym mam: -pomiar ADC -pomiar szerokości impulsu PWM wysterowanie przekaźnika -USART Mikrokontroler ma spełniać funkcję sterownika do ledów jako oświetlenie samolotu z wyróżnieniem wszystkich etapów startu jak kołowanie włączenie silników itp. [syntax=c] #include <avr/io.h> #include <inttypes.h> #include <util/delay.h>...
Witam, Konstruuje sobie chronograf na Atmega8. Inspirowałem się tym- . Schemat: Jednak że z programowaniem mam na pieńku to skleciłem takie coś... pomiar czasu przepisałem z książki i lekko zmodyfikowałem. Zależy mi na dokładności pomiarów. Program zamieszczam, nie chce się skompilować, nie bardzo ogarniam co mam źle, mile widziane sugestie itp. Założenia...
Witam. Zacznę od tego, że jestem amatorem/początkującym więc moje programy gównie opierają się na tym co znajdę w internecie + jakaś znikoma wiedza :) Chciałem zrobić sterowanie serwem w zależności od temperatury. Założenia: -Mikrokontroler atmega8 -Pomiar temperatury DS18B20 -Sterowanie serwem "binarne" dwa wybrane przeze mnie położenia do sterowanie...
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...
Witam, Chcę napisać kod, który realizowałby pomiar czasu pomiędzy impulsami (sygnał prostokątny o amplitudzie 5V). Zakres częstotliwości mierzonego sygnału będzie się zawierał w przedziale od 0 do maksymalnie 180 Hz. W internecie znalazłem artykuł, w którym zrealizowany jest podobny kod: Z tym, że ja potrzebuję pomiaru czasu pomiędzy każdym zboczem...
Witam, buduję obrotomierz do motocykla na bazie uC Atmega8 + LCD16x2. Posiadam obrotomierz elektroniczny w moto, z którego przechwytuje sygnał (chyba?) prostokątny do mojego uC. Trafia on do wyjścia Int0, a timer1 co pół sekundy zlicza impulsy. Mój problem polega na tym, że nie wiem, jaki dobrać rezystor R_gnd, który uziemia mi pin Int0 (likwiduje "floating...
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...
Witam po przerwie (długi weekend:) ). Rozkręciłem pudełeczko i rzeczywiście w środku znajduje się układ na tranzystorach. Problem odnośnie ilości impulsów na obrót polegał na tym, że sądziłem iż enkoder ma dawać 512 impulsów prostokątnych na obrót (trochę to określenie jest mylące). Poprostu niedouczenie:( naczytałem się na temat enkoderów i teraz wiem,...
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.
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 ?
Nieee- to się kompiluje. Sprawdziłem. To jest stary, klasyczny problem. Czętościomierz- czasomierz. Dokładność zależy od częstotliwości- czasu. Przy dużej częstotliwości otwieramy "okno"- bramkę i zliczamy ile tych impulsów było. Przy małej częstotliwości mierzymy czas między impulsami a bramka- pracująca teraz jako generator impulsów- zlicza czas między...
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ć
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...
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ą...
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...
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.
imer2 ma odmierzać czas między przerwaniami INT0 i INT1 z dokładnością 1uS Koniecznie musi być pomiar pomiędzy tymi wejściami? Do takich precyzyjnych pomiarów używa się trybu przechwytywania. Używanie do tego przerwań zewnętrznych jest nieporozumieniem. Wystarczy, ze będziesz miał aktywne inne przerwania i co jakiś czas wejście w INT0 czy INT1 będzie...
Konstruuję czujnik pulsu człowieka z radiową transmisją danych pomiarowych. Układ będzie się składał z czujnika złożonego z fototranzystora i diody IR. Następnie sygnał zostanie doprowadzony do wejścia przetwornika A/C mikrokontrolera ATmega8A. Następnie przetworzony sygnał będzie transmitowany na komputer za pomocą modułu bluetooth podpiętego do ATmegi....
Do tego wystarczyła by chyba Atmega8. Ma 6 przetworników AC o rozdzielczości 10bit, a z częst 10kHz powinna spokojnie sobie dac rade z odpowiednim kwarcem.
Opis jest czytelny. Moja uwaga, to z 10 pomiarów powinieneś wyznaczyć amplitudę początkową i współczynnik tłumienia (dekrement). Wtedy pomiary będą użyteczne. Jak zrobić pomiary? Hmmm... Najlepiej zmienić konfigurację sprzętową, ponieważ obecna nie jest najlepsza. Ale skoro masz taki układ, to możesz zrobić tak: 1. Konfigurujesz jeden z liczników/timerów,...
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, proszę o pomoc bo nie wiem jak sobie z tym problemem poradzić. Napisałem program, który mierzy czas trwania poziomu wysokiego impulsu za pomocą funkcji przechwytywania na proc. ATmega8. Sygnał jest podawany na wejście PB0 (ICP). Kiedy pisałem ten program nie miałem generatora, dlatego dopisałem jeszcze dwie linijki programu i na jednym z wyjść...
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...
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. Jestem początkujący i programuje w Bascom. Ogarniam już tematykę pomiaru prędkości obrotowych wałów i trochę już przećwiczyłem. Napisałem już działające programy mierzące prędkość obrotową wału przy pomocy pomiaru ilości impulsów w czasie, oraz metodą pomiaru okresu impulsów prostokątnych, generowanych przez czujniki indukcyjne, lub fotooptyczne....
Jako że prosty przykład, wiele tu informacji nie trzeba wiedzieć. Jedynie przerwaniu od INT0, oraz ustawienie timerta0 w tryb CTC (do stworzenia timera programowego). Reszta to tylko pętla główna w której jest sprawdzany warunek co około jedną sekundę zgodnie z założeniem:[syntax=c]#include <avr/io.h> #include <avr/interrupt.h> // Atmega16...
Cześć. Mój problem dotyczy Atmegi8 i obsługi Timera2 w trybie CTC. Poniżej przedstawie napisany kod i problem który próbuję rozwiązać od pewnego czasu. [syntax=c] #define F_CPU 1000000UL #include <avr/io.h> #include <avr/interrupt.h> volatile int zrob_pomiar=0; volatile int odswiez_wyswietlacz=0; int main() { TIMSK |= (1 << OCIE2);...
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...
Witam Tak Panowie ja się z Wami zgadzam (z racji tego iż w programowaniu jestem jak but) chociaż z tymi diodami i analogowym wskaźnikiem zupelnie nie. Jeżeli chodzi o program to od początku miałem takie wrażenie, że cos jest nie tak. Uważałem, że trzeba to napisać co najmniej w C, ale najlepiej w asemblerze - niestety programista mi nie powiedział w...
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...
A może zrobić to z innej strony - wykorzystać Timer/Counter1 z odszumiaczem (Noise Canceler). Licznik może zliczać impulsy z kontaktronu, a przerwanie w stałych odstępach może sprawdzać stan licznika. Tak sie niestety nie da zrobic poniewaz pomiar nie bedzie dokladny - bedziemy mieli czas ale nie z dokladnoscia do jednego obrotu , poniewaz nie mamy...
Witam Mam podpięty czujnika ultradźwiękowy mobot- us v2 do atmegi8. Steruje nim za pośrednictwem interfejscu I2C, a pomiary z czujnika za pomocą rs-232 wyrzucam na moniktor komputera. Problem polega na tym że przy prędkości transmisjii 9600 (rs) czujnik wysypuje pomiary do odległości 1,8m, a przy prędkości 38400 do odległości 35 cm, a pożniej podaje...
Witam! Posiadam następujący przepływomierz: 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 amplitudę ok 80mA i stąd pytanie jak wzmocnić ten sygnał?...
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...
Pomijając jak działa ten program to źle się do tego zabrałeś. Jak chcesz w sposób wiarygorny liczyć impulst >240kHz, jeśli ATMega jest taktowana np. 8MHz? To daje ci zaledwie 33 takty pomiędzy przerwaniami. Należy mierzony przebieg podać na wejście XCK timera, tak, żeby timer sprzętowo liczył impulsy, a przerwanie z drugiego timera wykorzystać do odmierzania...
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,...
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ł...
Witam. Mam problem z przerwaniami. Chcę przerwaniem INT0 uruchomić timer0 a przerwaniem INT1 go zatrzymać. Czy jest taka możliwość? 2 czujniki podpięte pod INT0/1, za pomocą których chcę zmierzyć czas przejazdu. Jeden czujnik ma wystartować zegar (bardzo dokładny przepełnienie timer0 co 1us) a drugi ma zatrzymać pomiar. Z góry dziękuję za pomoc i pozdrawiam....
Witam to mój pierwszy post na tym forum, stąd możecie mi wierzyć jak bardzo jestem zrozpaczony:) jeśli temat jest w złym miejscu to prosiłym moderatora o przeniesiegnie i z góry przepraszam:) zwykle staram się rozwiazywać wszystkie problemy sam ale tym razem mam coś czego nie jestem w stanie zrozumieć. Pracuję chwilę nad programem którego działanie...
Witam. mam problem z odczytaniem prawidłowo sygnałów z obu osi akcelerometru mxd7202. z jedną nie mam problemu. pojawia się on dopiero, jak próbuje odczytać z obu. Wyjścia akcelerometru (sygnał PWM 100Hz - wypełnienie proporcjonalne do przyspieszenia (50% = 0g)) podłączyłem do INT0 i INT1 ATMEGI. ATMEGA 8535 taktowana zegarem 16MHz. Procedura badania...
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 Dość długo podchodziłem do tego zagadnienia. Początkowo chciałem zrealizować to na mikrofonie i wzmacniaczu. Ostatecznie po poszukiwaniach i analizie postanowiłem to zrobić na odczycie temperatury przy nosie. Wdech omiata termometr powietrzem otoczenia i go ochładza, a wydech podnosi temperaturę powietrzem z płuc. W zasadzie to działa, ale sam...
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...
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...
Stworzyłem kod który powinien wyświetlać czas trwania stanu niskiego na lcd. Na wyświetlaczu pojawia się 0.0 ms oraz na przemian 1 lub 2 takt(czyli ile zliczył timer). kod: Bascom HELP "FUSING returns a formatted string of a single value." a zatem musiałbyś wprowadzić dodatkową zmienną np.: Dim Z As String * 10 i zamiast: Czas_2 = Fusing(czas_2 , "####.#########")...
Witam, dziekuję. Mój program mierzy czas kolejnych impulsów prostokątnych o losowym czasie trwania. zapamiętuje czasy w wektorze, który jest wysyłany po zakończeniu serii pomiarów. Wyniki wysyłane są jako bajty. To działa do ok 187 liczb 3 bajtowych, zarówno w ATmega8 jak i w ATmega32. W międzyczasie sprawdziłem że mogę odebrać wektor pomiarów o długości...
Czytaj dokumentację - rozdział I/O Ports , gdzie na samym początku znajdziesz taki oto rysunek i opis zaznaczony na czerwono: Następnie zastanów się, co się dzieje na pinie mokrokontrolera, gdy z dzielnika rezystorowego wyjdzie Ci napięcie większe niż Vcc. A dopiero później przeczytaj ten mój post: Co do transila, to wskazany parametr pokazuje prąd...
Źródłem wszystkich problemów jest LM358 i sposób jego podłączenia. To nigdy nie będzie działać prawidłowo. Zobacz tutaj: Możesz spróbować z układem z rysunku 33 lub 39. A na rysunku 1 widać, że minimalne napięcie na wejściu + to ~2V. Na wyjściu też nie uzyskasz więcej niż ~3,5V, ponieważ ten układ ma ograniczenie Vcc-1,5V. A tak serio, to wywal tego...
Cytowany rejestrator nie jest ani miernikiem ani regulatorem, Apar nie zszedł na psy, Sam "szukasz psów" i sam sobie zaprzeczasz. Nie sugerowałem, że Apar zaczął robić dziadostwo. Wręcz przeciwnie. Od strony sprzętowej wg. mnie wciąż trzymają wysoki poziom. Sam korzystam z ich wyrobów i jestem w miarę zadowolony. Mam tylko spore zastrzeżenia do programów...
Witam serdecznie. Jestem na etapie pisania programu w Atmel Studio 7 realizującego pomiar prędkości liniowej na bazie AVT1665 (Amega8) oraz enkoderze inkrementalnym. Poniżej zamieszczam program który napisałem, jednak mam problem z kilkoma błędami. Proszę o pomoc. Proszę również o opinię co do składni czy logika programu jest prawidłowa. Aktualnie czekam...
Tak czy inaczej mam ustawione i używam z zewnętrznego 8MHz obecnie Posiadam niestety stary sprzęt pomiarowy jak analogowy oscyloskop + generator, może nie być jakoś wiarygodny ale prostokąt 2000Hz generuje. Robię tak żeby wiedzieć jak wygląda i porównać z sygnałem od kontrolera. Tu niestety nie generuje się nic lub jakieś "głupoty" nie do odczytania...
Witam! Jak rozwiazac problem zliczania impulsow z 8 kanalow np. na ATmega8535? ATmega8535 ma 3 wejscia typu timer/counter (ATmega128 tylko 4) a ja potrzebuje zliczac impulsy z 8 zrodel (wentylatory)-w celu pomiaru ich predkosci. CZy jest jakas mozliwosc podlaczenia tego przez jakis multiplekser (jak tak to jaki i jak to podlaczyc )?? Poniewaz jestem...
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();...
Witam Buduję część pomiarową do zasilacza prądu stałego, wiele razy wałkowanego na Elektrodzie, projekt z electronic-labs. Nie mam akurat wyświetlaczy LED, ale mam wyświetlacz VFD z jakiegoś kalkulatora, wymaga 5V żarzenia i 24V na wyprowadzenia, zarówno segmentów jak i kolejnych cyfr, są multipleksowane. Podłączę to przez układy Darlingtona. Znalazłem...
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...
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....
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...
Zabawa z elektroniką polega w dużej mierze na używaniu przyrządów pomiarowych, gdybanie zostawiamy na wieczorne pogawędki na tym forum w dziale "Na pograniczu nauki"... ;). W pierwszej kolejności należałoby ustalić, czy teraz wyżej narysowany układ generuje impulsy, bo wyjście było przywarte do THRES. Warto podmienić NE555 na inny egzemplarz lub zbudować...
jej indukcyjność to 150uH ale opór prawie 17Ω :| . No i co z tego? Ten opór po prostu dokłada się do impedancji "widzianej" dla impulsu poboru prądu, to nawet lepiej. A dla statycznego poboru prądu rzędu nawet 1mA masz tam spadek 17mV. I wydaje mi się że ładowanie kondensatora na VREF powoduje spory spadek napięcia na AVCC, przez co przetwornik...
Mam tarcze z 1200 liniami. Sygnał A z enkodera podaje na przerwanie INT0 i badam tylko jego zbocze narastające. Natomiast sygnał B to ADC0. Podczas każdego przerwania sprawdzam stan sygnału B, jeśli jest wysokie to kierunek prawo, jeśli niskie to kierunek lewo. Gdy obracam w miarę wolno to wszystko gra, natomiast gdy trochę szybciej obrócę tarczę to...
Witam Od początku dzisiejszego dnia "męczę" się z ultradźwiękowym miernikiem odległości HC-SR04. Poszperałem w internecie napisałem program itp. Nawet działa, ale tylko do określonej odległości (ok. 30cm). Połączenia raczej mam dobre, próbowałem odmierzać impulsy z wykorzystaniem wejścia ICP1 (PB0 i wtedy diody wskazujące odległość bardzo słabo świeciły),...
Po pierwsze, masz błędne założenia. Przy czterech impulsach na okres pomiarowy stabilizacja obrotów będzie miała dokładność rzędu 25% - ciut bez sensu. Po drugie, kolejne błędy masz zapewne w tych częściach kodu, których nie pokazałeś.
Dobrym pomysłem jest zasilanie napędów i kontrolera z osobnego zasilacza lub chociaż stabilizatora. Na przewody doprowadzające zasilanie silników warto dołożyć pierścionki ferrytowe (od strony mostka) - zapobiega to szpilkom prądu wynikającymi z pojemności uzwojeń. Właśnie też tak sobie dzisiaj pomyślałem żeby spróbować logikę zasilać w standardzie...
Witam Mam prosty układ z Atmega8A i czujnikiem HC-SR04. uC taktowany fabrycznie 1MHZ. Wszystko niby działa poprawnie - dostaję poprawne pomiary od 2cm do 4m. Problem w tym że nie wiem do końca dlaczego. Z tego co rozumiem żeby otrzymać zmierzoną odległość, należy: 1. Podzielić szerokość impulsu w us przez 58 2. Obliczyć: Czas trwania stanu wysokiego*prędkość...
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...
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. Mam pewien problem. Zrobilem sterownik silnika krokowego unipolarnego i niestety nie dziala jak chce. Znaczy sie wszystko jest ok, ale na silniku jest jest zamontowana tarcza ktora wprowadza duza mase bezwladnosciowa. Problem polega na tym ze przy malych predkosciach gdy silnik dostaje napiecie na cewke i przesowa sie o jeden krok tarcza nie...
Zgadzam sie w duzej mierze z kolega PiotrPichuta szkoda czasu na LED-y skoro ma sie prosta obsluge LCD... Jak patrze w listing progamu stedujacego 4 wyswietlaczami LED to zajmuje ona okolo 3 strony formatu B5... Wiec kolego rozpatrz mozliwosc zastosowania wyswietlacza LCD... Co do czestosciomierza to znowu zgadzam sie z kolega Piotrem :)... i dodam...
Start Timer1 If R = 1 Then Stop Timer1 A = Timer1 End If Locate 1 , 1 Lcd A Wait 1 Ale chyba coś ze sprzętem mam nie tak, bo ciągle A wyświetla że jest zero (nie wchodzi do IFa) Hmm... ok załączasz Timer1 i odliczasz impulsy do czasu wystąpienia impulsu na R(z odbiornika) ale nie uwzględniłeś że ten impuls jest bardzo krótki i może wystąpić podczas...
Witam Mam problem z ultradźwiękowym miernikiem odległości na atmedze8. Generacja częstotliwości przebiega prawidłowo, na odbiorniku za torem wzmacniaczy otrzymuję widoczny syglał odbity od przeszkody. Błędy pojawiają się przy komparacji sygnału z napięciem referencyjnym. Wynik jest bardzo niedokładny, ponadto od drugiego bądź trzeciego pomiaru procesor...
Witam wreszcie znalazłem chwile czasu. czyli ma podleczyć START i STOP po portd.1 i portd.2 i kod zmienić -> $regfile = "m8def.dat" $crystal = 8000000 Config Pind.1 = Input Config Pind.2 = Input Config Pind.3 = Input Set Portd.1 Set Portd.2 Set Portd.3 Bramka_start Alias Portd.1 Bramka_stop Alias Portd.2 Przycisk Alias Portd.3 Nie bardzo...
Witam .Wykonałem osobiście obrotomierz mierzący z dokładnością do 1 obr/min na atmega88 i zegar 20MHz. Niestety projekt komercyjny ale kawałek kodu mogę wrzucić .Kod odpowiedzialny za wyliczanie obrotów. volatile double a; //zmienna zawierajaca liczbe obrotow char tab[12]; volatile long int c = 0; //zmienna zawierajaca zliczone impulsy wzorcowe...
Ś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)...
Witam Tak małe obroty mierzy się mierząc okres obrotu i przeliczając to na obroty, metoda którą proponujesz nie sprawdza się zupełnie bo jest niedokładna. Przewrotnie powiem że najlepiej byłoby to mierzyć analogowo jak w starych obrotomierzach, całkować by wyeliminować krótkotrwałe zmiany i wyświetlać przy pomocy ADC z Atmegi. Piotr Generalnie kolega...
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...
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...
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...
Zawsze mozna użyć "silniejszego" procka który będzie miał więcej liczników i więcej wejść int różnica w cenie to mniej więcej tyle ile kilka dodatkowych bramek TTL lub minimalnie więcej choćby atmega162 masz wszystko co trzeba za cenę 8-10 PLN dodatkowym plusem jest obudowa DIP jako jedna z wersji. Wyzwalanie int na 3 liniach albo na całym porcie,chyba...
Witam, chciałbym zbudować układ który będzie mierzył prędkość i puls podczas jazdy na rowerze. Układ ma działać na podstawie różnic w czasie między impulsami na wejściu uC. Problem w tym, że układ działa poprawnie tylko gdy sygnał jest wysyłany na jedno lub drugie wejście, gdy na oba wtedy pojawiają się błędy. Np. przy 1 wejściu prędkość wynosi 24km/h,...
Witam. Mam następujący problem z niedziałającym TWI. Mam kod na atmegę w C. /* Czujnik ultradzwiekowy sterowany z magistrali i2c C= 2010 Grzegorz Eliszewski grzegorz(at)eliszewski.pl esio.eu */ #define F_CPU 12000000UL // czestotliwosc kwarcu 12MHz #include <avr/io.h> #include <util/delay.h> // obsluga opoznien #include <compat/twi.h>...
Witam Na poczatek proponuje przecztac wątek a szczególnie przyjrzeć się 2 wypowiedzi użytkownika RSP "Sprawdzona metoda reanimowania akumulatorów ołowiowych ( wszystkich ).... " a później przeczytać sobie to ładowarka prosta i tania. Ja wykorzystałem do tego tranzystory (2 równolegle) przetwornic DC z uszkodzonej płyty głównej PC. Mają one po 140A w...