Witam, Po inicjalizacji timera i przed jego włączeniem przeładuj timer (zapisz bit UG do rejestru EGR),a następnie wyczyść flagę w Status Register (TIM4->SR &=~TIM_IT_Update). Dopiero po tych czynnościach włącz timer - przerwanie powinno przyjść dopiero po odmierzonym czasie.
trzeba uzyc timer TP (time Pulse) z czasem 5 min - S5T#5m. Wejscie podłączyc pod czujnik a wyjscie pod Lampke. Mozna ewentualnie zblokowac ponowne wyzwolenie timera podczas swiecenia lampki wstawiajac w szereg z wejsciem czujnika zanegowany kontakt(NC) o warosci timer.
Witam - tu jest pokazane ; http://circuitswiring.com/pulse-width-mo...
No mam podobne właśnie rozwiązanie (poza tym, że zaproponowałeś coś w stylu inkrementalnego podawania ilości impulsów, a ja absolutnego, ale to nie takie istotne). Nie używam PWM tylko właśnie FREQ GEN (Szkoda, że nie wspomniałeś o tym trybie w swej książce. Znalazłem to w pdf AVR1306 / doc8045 p. 3.8.2. Podobny efekt można uzyskać w normalnym trybie,...
Witam Nigdzie jakiejś w miarę definicji licznika i timera nie znalazłem. Może mi ktoś powiedzieć czy takie coś jest poprawne? Moduł czasowy (timer) - Działanie modułu czasowego odpowiada sposobowi działania przekaźnika czasowego z opóźnionym załączaniem lub wyłączaniem. Maksymalnie można zaprogramować 128 modułów czasowych oznaczonych instrukcją T0...
Witam WszystkichMoje pytanie jak nastawić czasy na semaforach (jak zabrać się za tą sprawę, każdy pomysł mile widziany). Ja myślałem o rozwiązaniu z 4 timerami Pulse, dwa dla każdego kierunku. Witaj, ja już doszedłem w swoich działaniach do własnego mechanizmu sterowania czasem i światłami na skrzyżowaniu. Moje rozwiązanie finalnie zbudowałem jako...
Nie wiem jak sterowniki Easy serii 500 ale mam 400, 600, 800 i mają timer w trybie single pulse generujący właśnie impuls o określonym czasie trwania. Nie chce mi się dokumentacji do serii 500 szukać ale na pewno jest coś takiego też,
Przyznam się bez bicia, że ideę tego kodu zaczerpnąłem z jakiejś strony. (at)tadzik85: PSC 1uS, trochę bez sensu. I tak, zbyt powierzchownie wczytałem się w manuala i zapomniałem o update, błąd nowicjusza. (at)atom1477: Tak, masz rację widzę, to teraz, że jest to bez sensu. Najlepszym rozwiązaniem w takim razie byłoby użycie timera w trybie one pulse...
(at)seba_x:A co to za bzdura?:> • Peripheral Features – Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode – One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode A co do pytania autora, nie, zliczanie umożliwiają tylko dwa pierwsze timery. Trzeciego można używać jako wewnętrznego. Nie tylko...
Pulse powinno robić robotę. Jednakże widzę dwie rzeczy które wydają się śliskie. Pierwsza to brak ptaka przy "internal clock" - jak więc timer jest taktowany? Druga: Fast Mode Enabled - coś mi się niejasno kojarzy (dawno o tym czytałem i pobieżnie), że ten tryb jakoś wpływa (ale nie pamiętam jak :-D) na sposób wyzwalania więc warto by o tym poczytać w...
nie wiedziałem, nie używam Logo tylko s7-300 podejrzewam że tam nie ma takiej funkcji Przejrzałem dostępne funkcję w Logo http://www.scribd.com/doc/33288380/Logo-... i zastanawiam się czemu Wiping w którym trzeba użyć timera a nie Miscellaneous – Pulse relay?
Timery mają taki fajny tryb jak OPM one pulse mode.... Buforowanie ARR można wyłączyć, więc update nie będzie konieczny.... Podoba mi się ten mix SPL i nie SPL :D
Do pomiaru krótkich czasów czy z dużą rozdzielczością używa się przechwytywania w timerach a nie pulseIn(). Podaj jakieś przykłady :?: Z pamięci nie napiszę a na szukanie po projektach i wycinanie istotne fragmentów kodu szkoda mi czasu. Ustaw timer w tryb przechwytywania. Jeśli chcesz mierzyć czas jednego z poziomów, w przerwaniu zmieniasz zbocze....
Witam mam taki problem z OPM w stm32f3: otóż potrzebuję generować impulsy prostokątne wyzwalające 4 różne urządzenia i każde urządzenie ma swój charakterystyczny czas impulsu wyzwalający w konkretnej chwili. Chcę również, że od razu kiedy uruchomię TIMER to przez 4 kanały wysyłane są naraz wszystkie impulsy o różnych długościach bez opóźnień. Niestety...
(at)nasiono Nie chce Kolega z uporem wartym lepszej sprawy napisać co chce osiągnąc. Bo teraz zakładając że wszystko jest ok. To timer 4 pyknie tylko raz.
Oczywiście, że tak nie mogłoby działać. Fakt, że dobrze myślałem, ale za szybko pisałem i mogłem wprowadzić Cię w błąd, przepraszam. Miałem na myśli coś takiego (bardziej pseudokod): #define TIMER_LEN2048 //albo 4096 #define SHIFT_REG_BIT0 #define TIMER_PRESCALER ... uint8_t servo_id; uint8_t pulse_low; uint16_t next_pulse; uin16_t servo[8];...
Na przykład w ten sposób: https://obrazki.elektroda.pl/3961263100_... Musisz wybrać TIM, który posiada rejestr TIMx_RCR, do którego wpisujesz ilość impulsów do powtórzenia. Zaznaczyć też trzeba opcję One Pulse Mode i wtedy po odliczeniu odpowiedniej liczby cykli, timer się zatrzyma. W STM32G030xx właściwe są TIM1, TIM15, TIM16, TIM17....
Przecież timer liczy tak: niech MR0 = 4 to 0,1,2,3,4,0,1,2,4,0,... zatem trzeba odjąć 1. W takim razie zrób test preskaler ustaw na wartość taktowania uC, żeby do timer był taktowany 1 s natomiast do rejestru MR0 załaduj 10 a później 9 LPC_TMR32B0->MR0 = s - 1; Teraz dopiero zauważyłem, że AN jest jedno przerwanie od timera i jego wejścia CAP. Ale...
To akurat jest dla mnie w miarę oczywiste, bo podobny program robiłem już na AVR. Natomiast z STM32 nie chciałem się zagłębiać właśnie w konfiguracje zegarów - stąd pytanie o jakiś gotowy projekt, który można by tylko dostroić do potrzeb. Wygląda na to, że jednak będzie trzeba napisać samemu od zera. Przeglądałem opis procesora z F4 i doszedłem do wniosku,...
nie pomyslalem, masz racje, dziekuje... pojawil mi sie dzis problem przy sterowniku... program smiga na symulatorze (s5 4 windows) a po zaladowaniu na sterownik mam nie moge wejsc w tryb run bo caly czas pali sie czerwona lampka stop pomimo ze przelaczam... doszedlem do tego ze dzieje sie to przez segment w ktorym wystepuje licznik CU i czasowka (SP-pulse...
http://obrazki.elektroda.pl/5431448900_1... 74HC74 bramkuje sygnał wejściowy tak aby jego impulsy nie były krótsze niż impulsy taktowania licznika 74HC590(już samo to wyfiltrowuje część krótkich szpilek) - blokuje to możliwość wyzwalania przerwania ICR1 z nadmierną częstotliwością. W układzie jak na rysunku 74HC590 zlicza gdy sygnał...
Jeżeli sterujesz silnikiem, inwerterem albo innym urządzeniem Tez tak myślałem że może taka przyczyna ale 50ms i 1000ms jakoś do tego nie pasuje A tak trochę teoretyzując moje pierwotne wyobrażenie było takie, że po przepełnieniu licznika( w moim przypadku co 50Hz) inkrementowane są wartości dla poszczegolnych kanałów i jeśli one osiągną wartość Pulse...
] Gdybym chciał jednak mierzyć załóżmy do 1kHz to wymaga aby zliczać przepełnienia? Dlatego napisałem..."Nie znaczy to jednak..." w złym obliczeniu 1 sek wartość wynosiła 61630, przy prawidłowym obliczeniu wynosi 34 286 uwzględniając czas 1sek, częstotliwość taktowania 8MHz i prescaler 256. Przecież czas (1 sec.) odmierzasz timerem0, który jest 8-bitowy...
Witam! Mam w swoim programie chciałbym wykorzystać timer w trybie one pulse do odmierzania czasu, ale w taki sposób, żeby można było wyłączyć timer w przerwaniu od wartości CCR. Do tego celu wykorzystuje TIM2 (general purpose). Niestety timer nieprawidłowo odmierza czas kiedy chcę go wyłączyć bitem CEN(np wpisuję ze ma się wyłączyć po 100us a wyłącza...
Przedstawię Ci kolego przykład zastosowania Pulsein żebyś miał jaśniej. Myślę że będzie "rzeczowiej". To przykład dla dekodowania transmisji pilotów podczerwieni. Sygnał podłaczony jest do zewnetrznego przerwania INTx i w momencie zmiany na pinie program skacze do tej procedury. Mierzy impuls i poddaje rozwadze jego długość. [syntax=basic4gl]Int_1isr:...
Witajcie, Mam problem ze zmianą polaryzacji wyjścia timer w locie. Sprawa wygląda tak. Mam dwa timer jeden (TIM1 na CH1) generuje PWM o dużej częst. a drugi (TIM7) zlicza czas w dół i następnie w przerwaniu zmienia polaryzację wyjścia PWM TIM1. Niestety pojawia się wtedy flaga UIF w rejestrze SR, co powoduje przeładowanie TIM1 i wtedy na krótki czas...
Po pierwsze to mega dziwnie ustawiasz ten oscyloskop, ale to detal. Po drugie, powiem szczerze, nie do końca rozumiem działanie trybu 15 TIMER1. W tym trybie licznik liczy do wartości ustawionej w OCR1A, ale kiedy następuje przełączenie wyjścia? Chyba już wiem w czym rzecz. Z noty: "Combined with the WGM13:2 bits found in the TCCR1B Register, these...
Dlatego najlepiej napisać obsługę wyświetlacza w przerwaniu, a nie czekać aż się zmieni stan na jakimś pinie. Obsługa wyświetlacza na HD44780 w przerwaniu to jakaś masakra a nie rada dla początkującego. W przerwaniu (i to częściowo) można robić VGA albo composite ;) Inicjalizacja powinna być tam gdzie wszystkie inity w programie typu system_init, main_setup...
Tu jest jakiś prosty przykład sterowania metodą PWM (Pulse Width Modulation): http://focus.ti.com/lit/an/slaa120/slaa1... To jest jedna metoda, polega na cyklicznym włączaniu i wyłączaniu napięcia na silniku, proporcje podziału cyklu decydują o mocy silnika i prędkości obrotowej. Inną metodą jest regulacja napięcia na silniku (jak gdyby modulacja...
Witam. Używam TIM1 (master) i TIM3 (slave). Konfiguruję je tak jak na listingu poniżej. TIM1 generuje przebieg prostokątny o określonej częstotliwości na wyjściu kanału OC1, jednocześnie sygnał porównania przekazywany jest jako źródło taktowania TIM3 który ma zliczać te "porównania". Na pierwszy rzut oka wszystko jest ok, ale podczas pierwszego uruchomienia...
No chyba programowe bedzie prostrze. Podłaczas do wejscie INT0 w którym ustawiasz jakąs flagę. na tomiast gdzies tam w programie zerujesz tą flagę. Przed wyzerowanie flagi sprawdzasz czy flaga jest ustwiona - jezeli tak to masz "pulse" jezeli nie to masz "stałe". program około 16 bajtów.
Witam ogarnąłem już dużo na temat programowania w bascom, tylko mam kolejny problem, mianowicie chciałbym zaprogramować obsługę serwa pilotem nadającym w RC5 lecz gdy połączę obsługę rc5 i serwa mam takie błędy i nic nie działa: ........ Pojedynczo programy działają ok. ................. Rc5+ servo (nie działa) Pozdrawiam. Zauważ że zarówno 'Config...
Coś takiego znalazłem. Co prawda na Atiny ale można przerobić. [syntax=c]// // Talking to ultrasonic sensor HC-SR04 with an ATtiny84, and // sending distance data using serial communications. // // electronut.in // #include <avr/io.h> #include <string.h> #include <util/delay.h> #include <avr/interrupt.h> #define F_CPU 8000000...
Kupione, bardzo ciekawa, dużo przykładów. Znam już trochę timer (przynajmniej podstawy), ale teraz pytanie. Jak zrobić żeby zmienna trwała krócej niż impuls, który ustala jej wartość? (pewnie piszę herezje) [syntax=vbnet] If PULSE=1 Then T=1 Waitms 1 T=0 End if [/syntax] Proble jest w tym, że moje PULSE trwa ok 300-500ms, a moje T musi być wyzwalane...
Ależ kombinujecie... [syntax=c] void delay_init(void) { RCC->APB1ENR |= RCC_APB1ENR_TIM6EN;//timer 6 clock on TIM6->PSC = 47; TIM6->ARR = 999; TIM6->CR1 |= TIM_CR1_OPM; //config in one pulse mode } [/syntax] [syntax=c] #define TIM_D TIM6 #define TIM_D_BIT0 #define D_BIT (1<<TIM_D_BIT) #define D_BIT_REGTIM_D->CR1 #define TIM_D_EN_bbbitband_t...
Przepraszam 3 waity pomiędzy Do a Loop. P.S Najpierw sprawdź co zapodajesz na forum zanim będziesz kwestionował to co sam wstawiłeś. Nie kwestionuje tego co wstawiłem ale najwyraźniej Sam nie wiesz na czym polega program i o czym piszesz. Jest on jak najbardziej poprawny. Problem polega na tym że nie jest wykonane polecenie load timer1,250 jak pisałem....
PPS to wyjście niezależne od portu szeregowego. Nie wiem jak zmienić częstotliwość. Na pewno w dokumentacji znajdziesz ale 1Hz jak dla mnie to bardzo dobra wartość do synchronizacji timera. Z portu szeregowego odczytujesz czas a precyzyjnie ustawiasz timer tym 1Hz sygnałem. edit można użyć detykowanego programu: Question: How to set clock pulse (PPS)?...
Może zaczniesz od czegoś łatwiejszego , będzie prościej i mniej stresująco . No, nie żartuj z faceta!. Co może byc łatwiesze (?) ? miganie diodą ?... Spójrz na jego ?credentials? w lewym oknie. Gośc jest tu około 10 lat, więc pewne rozeznanie w temacie posiada i ?kurs? z miganiem diodą z pewnością dawno ukończył. Może potrzebuje troche odmiennego spojrzenia...
Witam, chciałem zrobić sterowanie silnikiem krokowym przy wykorzystaniu Timera. Niestety milisekundy są za długie a potrzebuję uzyskać większe prędkości. Wcześniej zamiast timera miałem delayMicroseconds(); ale z timerem jest łatwiej, tylko nie mogę znaleźć sposobu żeby obliczał w mikrosekundach. Czy jest w tej bibliotece taka opcja? a może są inne...
Nauczcie się wreszcie, że od sterowania licznikiem w trybie COUNTER podczas symulacji jest opcja PULSE. Czytanie instrukcji/helpa przecież chyba nie boli: The pulse generator can be used to supply pulses to the timer when it is used in counter mode. First select the desired pin from the pull down box. Depending on the chip one or more pins are available....
Ogarnełem CTC. Teraz nawet co 1s mam z wykorzystaniem ctc a program wygląda tak: [syntax=basic4gl]$regfile = "ATtiny24.DAT" ' specify the used micro $crystal = 8000000 ' used crystal frequency $hwstack = 32 ' default use 32 for the hardware stack $swstack = 32 'default use 10 for the SW stack $framesize = 32 'default use 40 for the frame space Config...
LPTIM ma przecież: External clock source over LPTIM input (working with no LP oscillator running, used by Pulse Counter application) Wydaje się to dużo lepszą opcją niż budzenie co przerwanie. Impulsy taktują timer, cały układ jest wyłączony, co godzinę budzisz układ przez RTC, odczytujesz licznik timera, odejmujesz od poprzednio odczytanej wartości,...
Mówisz o One-pulse mode? a to nie jest tylko dla output? Pokombinuje jutro, to i tak koniec końców będę musiał sprawdzić długość BREAK oraz MARK_AFTER_BREAK. Więc czy użyje Timera w taki modzie czy w takim ma to jakieś znaczenie? To na razie pierwsza próba podejścia do tematu, dzięki za sugestie.
Dzięki pomocy jednego z forumowiczy ( dziękuję mrh :) ), udało się ustalić, że przyczyną problemów komunikacyjnych z ds18b20 są źle skonfigurowane opóźnienia. Opóźnienia chciałem zrealizować na jednym z timerów 2-5 w trybie one pulse mode. Niestety nie udało mi się do tej pory znaleźć błędu, więc proszę o pomoc w walce z opóźnieniami. Zamieszczam kod...
czy wiesz jak będzie wygłądał przebieg napięcia zwrotnej SEM na cewce w zależności od tego czy lokalizator wykrywa diamagnetyk lub paramagnetyk? Z tego co wiem przebieg ten jest w każdym przypadku inny. Zasadniczo przebieg jest taki sam i różni sie o na pewnych odcinkach o zaledwie o np 1mV, więc jako takiej różnicy nie zobaczysz. Ten przebieg to impuls...
1. http://pl.wikipedia.org/wiki/Modulacja_s... 2. http://en.wikipedia.org/wiki/Pulse-width... 3. http://www.atmel.com/dyn/resources/prod_... Timery ogólnie ustawiasz w tryb Fast PWM. Żeby silnik (wnioskuje po zdjęciu że silnik jest DC) mógł się kręcić w obie strony musisz zastosować mostek H. Sama atmega...
Witam serdecznie, Mam pytanko. W jaki sposób skompilować plik w asemblerze na plik hex lub bin dla układu PIC 12F675? Nigdy tego nie robiłem, więc prosiłbym o jakieś wskazówki lub pomoc. Poniżej kod w asemblerze. Poprawiłem temat, pisownię i kolorowanie składni.
Musisz poszukać sterowania PWM - w zależności od stopnia skomplikowania można to złożyć na popularnym timerze NE555, na mikroprocesorze i do tego trzeba napisać programik, można też zbudować regulator obrotów PWM na tranzystorach - poszukaj schematów które będziesz uważał za możliwe do zbudowania przez Ciebie. PWM - Pulse Width Modulation - sterowanie...
Kod inicjalizujący timer do generacji PWM: [syntax=c] SIM->SCGC5 |= SIM_SCGC5_PORTD_MASK | SIM_SCGC5_PORTE_MASK; PORTD->PCR[5] = PORT_PCR_MUX(4); PTD->PDDR |= 1<<5; PORTE->PCR[29] = PORT_PCR_MUX(3); PTE->PDDR |= 1<<29; SIM->SCGC6 |= SIM_SCGC6_TPM0_MASK; // wlaczenie taktowania Timera0 SIM->SOPT2 |= SIM_SOPT2_TPMSRC(1);...
A co powiesz na takie cuś :wink: $regfile = "m8def.dat" $crystal = 8000000 Dim Tdelay As Word , Do1w As Bit , Tab(9) As Byte Const Pulse = 9950 '<10 ms Tgate Alias Portb.1 'Pin OC1A Config Timer1 = Timer , Prescale = 8 Stop Timer1 Config Int0 = Falling Config Pinb.1 = Output On Int0 Int0_int , Nosave Enable Int0 Enable Interrupts...
No właśnie tylko u mnie dość cienko z programowaniem i obawiam się, że może mnie to przerosnąć. Do tej pory udało mi się odpalić wiele rzeczy, ale nie wiedziałem ze z tym będą takie problemy. Dobrze by było jakbyście rzucili też okiem na całość programu, czy jest jakoś w miarę poskładany. Edit: Znalazłem coś takiego: [syntax=vb] //Timer1 Capture //Timer1...
Witam, Korzystam z tego kodu: [syntax=c]#include "main.h" #include "stm32f3_discovery.h" /** * (at)brief Initializes the putput pins for the Timer one channels. Currently * hard coded to drive the LED3 (channel 1), LED7 (channel 2), and * LED10 (channel 3) on the STM32F3 Discovery board. * (at)param pwm_freq: Frequency of the PWM in Hz * (at)retval...
Tak na szybko to możesz sobie utworzyć blok FB i w jego parametrach STAT tworzysz sobie timery IEC_TIMER. W bloku FB piszesz kod generujacy te 10sekundowe pulsy przy wykorzystaniu tych utworzonych timerow. Ustawiasz sobie jakieś wyjście OUT i do niego podpinasz ten twój 10s pulse. Teraz wywołując ten blok w programie tworzy ci się blok instancyjny więc...
Te 750 ms to była moja pomyłka, ale przy reset pulse musisz robić delaye po 480us, potem czekać na presence, w wielu przypadkach poprawna obsługa wymaga czekania aż magistrala wróci do 1 - efektem jest blokowanie procesora na czas nawet do 750us - reset_pulse+precence_pulse z czekaniem aż wróci do 1. Typowo na czas rzędu 100us. Ponieważ robisz to z...
Witam. Chcę sobie zrobić zegar ze strony: [url=http://www.micro-examples.com/publi... Tylko mam problem, ponieważ kod programu jest przeznaczony dla wyświetlaczy ze wspólną katodą, ja natomiast posiadam wyświetlacze ze wspólną anodą. Co w kodzie należy zmienić, aby działało to z wyświetlaczem ze wspólną...
Witam, mam problem z czujnikiem odległości HC-SR04, cały czas na wyświetlaczu mam wartość 0. kod jest następujący: Dodano po 21 Dobra chyba wiem po co zmiana zbocza na końcu przerwania, po prostu czekamy na zobocze opadające aby ponownie wejść w przerwanie i odczytać wyniki, program nadal nie działa ale już wiem jak powinien działać chociaż : )
Lampka nie będzie świecić w przełączniku, gdyż nie jest to dioda LED tylko najprawdopodobniej neonówka na 220V. Dodano po 3 Inny rozwiązanie regulacji prędkości obrotowej silnika to wykorzystanie tylko 12V oraz PWM na bazie timera NE555.Układ w miarę prosty oraz płynna regulacja prędkości na potencjometrze. Coś jak w linku poniżej: http://www.electronics-tutorials.ws/blog...
Zdaje się wiem: timer1 zlicza 65536 (0xffff) x cykl 1us to daje ok. 65 ms, a transmisja: 48bit x 2 x 400us (lub 1200) przyjmijmy 100 x 400us co daje ok. 40ms - minimum!!! Więc to po prostu nie ma prawa działać! no i poprawiłem, czyli zerowanie timera po pierwszym impulsie - transmisja 40ms 'zmieści się': p1_ok: bsf ir_reg, 1 ;first pulse btfssir_reg,...
Jest gdzieś skrótowa dokumentacja do ustawień CubeMX, aby zaczynający programista się nie zniechęcił? Nawet jeśli korzystasz z CubeMX to zacznij najpierw od jakiejś literatury. "Poradnik Szczywronka" takie rzeczy dość łopatologicznie tłumaczy tzn. podstawy działania timerów (i nie tylko). Na pierwszym zrzucie mamy włączony OPM na drugim wyłączony....
Witam zainteresowanych tematem. Czy ktoś może mi wytłumaczyć tak troszkę łopatologicznie, krok po kroku, jak działają te dwa liczniki? // TIM3 jest masterem dla TIM4 TIM3->CR1 = 0; //CNT_EN jako TRGO TIM3->CR2 = TIM_CR2_MMS_0; //Trigger mode, wyzwalanie przez T1FP1 TIM3->SMCR = TIM_SMCR_TS_0 | TIM_SMCR_TS_2 | TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1; //Włączenie...
... tak naprawdę ma to być obrotomierz do motocykla . ... Priorytetem jest bardzo szybka reakcja wyniku .... Zastanów się czy nie warto wykorzystać w tym procesorze Timera pracującego w trybie Capture Mode: http://obrazki.elektroda.pl/4130623300_1... Znajdziesz w nim dodatkowo wbudowany układ redukujący szumy sygnału wejściowego oraz...
Nie możesz tylko używać Timera2 do innych celów, bo właśnie jest on używany przez RC5 Funkcja GETRC5 domyślnie wykorzystuje Timer0 a nie Timer2. Oczywiście można to zmienić w konfiguracji, jednak autor tego nie czyni. Zatem pozostają mi dwie opcje, albo przestać używać timera0 do odliczania 1s odcinków czasu i zaprzęgnąć do tego timer2 (co może nie...
A nie ma ktoś gotowca na pomiar częstotliwości z wykorzystaniem TIMER0 i TIMER2? Już mnie powoli trafia.... ehh Nie,... nie mam ale powiem ci jak to zrobić... W zasadzie wystarczyłby ci tylko jeden dowolny timer do pomiaru częstotliwości, mierząc nim czas pomiędzy dwoma kolejnymi zboczami bądź to rosnącymi lub opadającymi. Procedurę tę możesz uskutecznić...
https://obrazki.elektroda.pl/8760486500_... Po przygodach z matrycami zbudowanymi na max7219, przyszła pora na coś bardziej zaawansowanego. Miałem w planach zrobienie własnej matrycy z 1500 jednokolorowych ledów 0603, 3 rejestrów przesuwnych i paru elementów dyskretnych, ale jak już ją zaprojektowałem, to przypadkiem trafiłem na matryce...
IRQ tester https://obrazki.elektroda.pl/3243423400_... IRQ Tester to proste narzędzie, głównie do testowania czasu odpowiedzi na impulsy, lub czasów międzyzboczowych dostarczonego sygnału. Program został napsiany na ukontroler AVR Atmega168, a jego głównym zadaniem jest funkcja multiwibratora monostabilnego, którego działanie polega...
No i wszystko. Panowie, popełniłem błąd bo założyłem błędnie ten właśnie czas, nie wiem skąd mi się to w głowie pojawiło, przepraszam. Natomiast dzięki Waszym wyjaśnieniom i oscyloskopowi który służy mi nie od dziś, doszedłem do wszystkiego co aktualnie dla mnie istotne. Dziękuję za wyjaśnienia. Aktualnie z AtTiny85 wyciskam ile się da, i proszę mi...
Wkrada mi się czasami odbiór samych jedynek z ds18b20; Na soscyloskopie wszystko ładnie wygląda tylko kiedy jest odbiór nic znaczącej ramki (same jedynki) widać że ds nie odebrał poprawnie komendy 0x44cc Przy wysyłaniu komend występuje obcinanie bitów pojedyńczych. Okazało się że po testach robi to sam czujnik. Wysyłanie komend robię na przerwaniu timera...
Jakby ktoś z zewnątrz zajrzał może wynajdzie błąd, bo samemu póki co nic nie widzę. Taki oto programik. Ma generować dwie szpilki na wyjściu w określonym odstępie i co określony czas: ----- SZPILKA----- void pulse(){ IR_ON; asm("nop"); asm("nop"); asm("nop"); IR_OFF; } -----MAIN-----...
https://obrazki.elektroda.pl/3305421000_... Ostatnio trafiłem na czujnik tętna oparty o element fotoelektryczny. Testując czujnik UV z cyfrowym interfejsem Ostrzeżenie: Tego typu tanie czujniki "medyczne" nie mają nic wspólnego z prawdziwą elektroniką medyczną, prezentuję tutaj efekty własnych prób podejmowanych na własne ryzyko, osoby...
Można eliminować drganie styków w bardzo prosty sposób wyzwalając w przerwaniu EXTI jakiś bardzo prosty timer w trybie one_pulse_mode, jednocześnie wyłączając przerwania. Jak timer skończy liczyć jeden impuls i wejdzie w swoje przerwanie to załącza przerwania z EXTI. absolutna konieczność
Witam PWMa proponowałbym zrealizować w oparciu o TIMER. Będzie to napewno stabilniejsze. Trudno jednoznacznie zrozumieć o co Ci chodzi z tą przekładnią. Czy o tyle chcesz zredukować obroty czy masz motoreduktor do silnika. Jeśli motoreduktor to sprawa nie jest zbyt skomplikowana bo obciążenie ma stosunkowo niewielki wpływ na obroty i korygowanie chyba...
To napewno wynika z nowej konstrukcji tego procka jest to prawie nowy układ na rynku. Układ ten wyparł AT90S2313. Ja Też mam problem z min dobrze napisamy program błędnie działa na tym nowym. Czyli przerwania od timera przychodzą znacznie póżniej niż mają przychodzic Na AT90S2313 działał poprawnie. Także moim zdaniem wynika to głównie z konstrukcji...
Cześć piszę aplikację pod silnik krokowy wysyłam paczkę Period, Repetition Counter, 50 % Pulse. Bez konfiguracji USARTA program działa bez zarzutu inkremntowana jest wartość bufora DMA i przesyłana do timera. Jak mam konfigurację USARTA to nagle przestaje działać i silnik kręci się o stałych obrotach. Czy mógłby mi ktoś powiedzieć co robię nie tak ?...
Jak wygląda kod w BASCOM do bariery optycznej z modulowaną wiązką? Portb.2 - nadajnik IR Portb.0 - LED - kontrolka Portb.3 - odbiornik IR Aby stworzyć kod obsługujący barierę optyczną z modulowaną wiązką IR w BASCOM, musimy wykonać kilka kroków: 1. Modulacja sygnału na nadajniku IR : Sygnał IR jest często modulowany, aby uniknąć zakłóceń z otoczenia....
Jeźel ktoś wierzy w działanie urządzenia i chce go mieć to nie mam oporów w jego wykonaniu. Nie wykonuję urządzeń do zabijania / pulser/ zasilany z sieci.
witam , potrzebuję pomnożyć 7razy impulsy wejściowe , częstotliwość wej nie jest duża max 200hz , znalazłem podobny program na pic16 mnożacy 39razy i kawałek kodu na atmege8 również mnożący 39razy , jednak zupełnie nie mam pojęcia jak cos takiego napisac w bascomie kod dla pic: Device 16F628A Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_ON...
To co kolega proponuje to prawdopodobnie wykorzystanie przerwań zewnętrznych i start/stop Timera w przerwaniu. A jak inaczej chcesz liczyć czas trwania "impulsu". Przecież najpierw trzeba go jakoś wprowadzić do MCU, prawda? Reszta będzie realizowana w sposób banalny: Przy pierwszym impulsie - start timera, przy drugim - odczyt jego stanu - i obliczenie...
Hi, why don't you do it with Pulse Width Modulation (PWM) ? It's the simplest and cheapest way. I did similar project with PIC12F675. There is built-in A/D converter and PWM can be generated with timer. You don't need anything else except some power transistor. Vasek Wymyśliłem sobie taki projekt układ do regulacji obrotów wiatraczka, w sumie banalna...
Qrcze a jednak :( :( :( :cry: ... jeszcze pamiętam jak Raabe pisał w którejś elektronice że taka emulacja nie jest mozliwa. Robie układ ochrony dostępu do pomieszczeń i myślałem że kopiowanie kluczy bedzie niemożliwe... jak widać teraz juz tak :cry: A może istnieje jakiś pewny sposób na odróżnienie takiej skopiowanej pastylki od oryginału? ; ------...
Witam wszystkich serdecznie. Właśnie zacząłem zabawę z modelarstwem i chciałbym sobie zrobić prosty regulator do silników szczotkowych. Znalazłem w necie kilka schematów. Poskładałem sobie układ wg schematu http://obrazki.elektroda.pl/7049138000_1... Przerobiłem kod z noty katalogowej bascoma [code:1] $regfile = "ATtiny2313.dat" $hwstack...
Witam, Na początek przestawię kod konfiguracji timera: [syntax=csharp] LPC_SYSCON->SYSAHBCLKCTRL |= (1 << 9); LPC_TMR32B0->TCR = 0x02; LPC_TMR32B0->PR = (SystemCoreClock/1000000) - 1; LPC_TMR32B0->MR0 = 1; LPC_TMR32B0->MR2 = PI_MAX_PERIOD; LPC_TMR32B0->MCR = (1 << 0) | (1 << 1) | (1 << 3) | (1 << 4)/*...
Mogę pomóc jedynie koncepcyjnie, ponieważ nie programuję w arduino. Pierwszy błąd jaki widzę to brak wiedzy jak to działa. TCS3200 zamienia RGB na częstotliwość a Ty nie mierzysz częstotliwości tylko sprawdzasz czy jest stan/niski wysoki używając [url=https://www.arduino.cc/reference/en... Zerknij na stronę...
oryginalnie wygląda to tak: [syntax=vbnet] $regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 16 $swstack = 8 $framesize = 16 Config Timer0 = Timer , Prescale = 1 Enable Timer0 On Timer0 Pwm Enable Interrupts Start Timer0 Declare Sub Miganie Config Pinb.3 = Input Set Pinb.3 Config Portb.4 = Output Przycisk Alias Pinb.3 Config Portb.0 = Output Config...
Hm, wydaje mi się, że całe rozwiązanie opisałeś w treści zadania. Stwórz sobie zmienną typu int i zliczaj wyłączenia pompy na zbocze opadajace. I1 (N) -> ADD 1 do licznika Kiedy licznik =20 wrzucasz np off delay timer na 5 sekund (do wystawienia elektrozaworu) i w tym samym networku resetujesz licznik (Move 0) W załączniku wrzucilem drabinkę zrobioną...
Panowie dziękuje za pomoc. takiego schematu raczej bym sam nie zrobił. zostaje jeszcze parę kwestii: przy symulacji zauważyłem że przy Q1 oraz Q2 tzn roleta góra dół trzeba by trzymać cały czas przycisk. Czy wystarczy tam wstawić kolejny pulse relay? Jak rozwiązać to że jeśli silnik zwija roletę rozwijanie jest zablokowane i odwrotnie( w instrukcji...
Jęśli chodzi o pytanie nr 3 to tak Dodano po 7 Bezpośrednia odpowiedź na pytanie Aby jednocześnie wyświetlać prędkość obrotową (RPM) wentylatora oraz ustawioną moc (np. w formie procentowego wypełnienia PWM) na wyświetlaczu dotykowym podłączonym do Arduino Mega, należy: - Zliczać impulsy z tachometru (pin TACH) wentylatora, przeliczać je na obr./min...
Witam Jestem początkującym w dziedzinie mikrokontrolerów ale chciałem zbudować moduł CDI oparty na kontrolerku jak w temacie. Mam tylko mały problem. Mianowicie nie mogę poradzić sobie z kompilacją kodu wsadu. Kod wygląda następująco: ;Programm for 89c2051 as CDI ignition TT600R ;Important: Chrystal 24MHz !!!!!!!!!!!!! ;Trigger by Comparator input...
Nie,ma liczyć litry tak jak dystrybutor . Dodano po 2 Nie wiem w jaki sposób dodawac litry do zmiennej po przekroczeniu okreslonej liczby impulsów z przepływomierza to co znalazłem to liczone wszystkie w czasie a tu chyba chodzi o przepełnienie licznika Czas tu nie ma znaczenia! Użyj dowolny timer w charakterze licznika (Counter), i tak jak sugerowano...
faktycznie - jedyny błąd to było że przerwanie bylo uruchamiane zboczem a nie poziomem. Działający kod zamieszczam poniżej, może komuś się przyda ;) #include<avr/io.h> #include<avr/interrupt.h> #include<stdint.h> #define xISC01 1 << 0 #define xINT0 1 << 6 #define xCS11 1 << 1 #define xOCIE1A 1 << 4 uint16_t...
Ok, zrobiłem to sudo apt-get remove --purge alsa-base pulseaudio dźwięku nadal nie ma, chciałem wejść w "dźwięk" ale wyskakiwał jakiś błąd więcuruchomiłem ponownie i taka niespodzianka: https://obrazki.elektroda.pl/6494488300_... chyba linux mnie nie lubi... pownie jak zwykle coś pochrzaniłem, nacisnąłem ok ale czarny ekran i kursor
Nie denerwuj się. PWM to nie jest żadne rozwiązanie dla krokowców. One potrzebują impulsów, a nie wypełnienia-PWM-Pulse width modulation. PWM jest dla sterowania silnikami DC grzałkami itp. A ty masz silniki krokowe. Nie jestem na tyle dobry w programowaniu żeby ci pomóc. Może inni. Ale o sprzęcie to mam pojęcie. Nie próbuj sterować silnikami krokowymi...
Witam. Temat dziwny bo i problem dziwny. Otóż, jeśli w przerwaniu Timera 1 ustawię wypełnienie PWM timera 3 to cały pomiar na timerze 2gim zwraca jakieś pierdoły. Mam następującą konfigurację Timerów: [syntax=c] #include "inc/timers.h" #include "inc/stm32f10x_gpio.h" void InitTimers(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseInitTypeDef...
"Kilka" częściej spotykanych słówek i wyrażeń na początek amplifier (amp) - wzmacniacz preapmlifier (preamp) - przedwzmacniacz power amplifier - wzmacniacz mocy analog multiplier - analogowy układ mnożący ****************************************... PLL - Phase Locked Loop - pętla z synchronizacją fazy ****************************************...
Mam ciągle problem z funkcją itoa. Chyba nie do końca wiem jak sie nią posługiwać. Chciałbym odczytane bajty zapisać jako kod w hexie, żeby potem stworzyć jakieś funkcje do obsługi tych kodów. Muszę mieć rozgraniczenie na poszczególne bajty, żeby wyciągać charakterystyczne części tylko. Zdarza się że pilot którego muszę obsłużyć ma początek bajtu inny,...
Dziękuję, o takie coś mi chodziło :) Napisałem wobec tego takie funkcje: [syntax=c]uint16_t pRegulator(uint16_t output, uint8_t actualValue, uint8_t desired_value, uint8_t kp) { int error = desired_value - actualValue; output += kp*error; return output; } void setActualValue(uint8_t evsysValue, uint8_t *actualValue) { *actualValue = evsysValue; } //...
Impulsy pobieram przy liczniku z kabelka który wg "Sam naprawiam ..." pochodzi od czujnika drogi umieszczonego przy skrzyni. Do zliczania impulsów wykorzystałem timer0 (oczywiście znalazłem przykład), który liczył i podbijał mi zmienną. Zrobiłem 10 km i sprawdziłem wynik. Było 5150 więc podzieliłem aby zamienić na m i wyszło 5,15 Nic mi się nie zgadza...
Witam, w związku głośną pracą wentylatora nie zaprzestaje w poszukiwaniach co na to poradzić, założyłem kiedyś temat, ale miły moderator zamknął temat. Grzebiąc po stronach o konsolach u braci zza wielkiego jeziora znalazłem właśnie taki mod jak w temacie. Oparty on jest o Timer NE555 i oszukują czujnik obrotów wentylatora tak, aby wentylator chodził...
Dzięki, szczerze powiem że nie przyszło mi to do głowy. Diody mam 3,3V. Niestety ale na diodach 3,6V jest to samo. Jakieś inne pomysły? http://obrazki.elektroda.pl/7658833200_1... Programator USB ISP działa bezproblemowo na tej płycie, a tez jest na wirtualnym USB. O co kaman? Znalazłem problem, problem stwarza biblioteka "IRremote.h"...
Witam, Jak w temacie zaznaczam, że jestem początkujący w C a moje pytanie związane jest z próbą rogryzienia kodu w C a przy okazji zrozumienia do końca funkcji Compare. Znalazłem taki kodzik: #include <avr\io.h> #include <avr\interrupt.h> #include <avr\iom8.h> #define ICP PINB0 //define ovrflow counter uint16_t ov_counter; //define...
Czy jest jakiś sposób żeby to obejść? Tak, aby nie zaburzyć pakietu danych? Oczywiście, wydłużyć tablice do których przepisujesz dane o 1 i dodać na ostatni indeks zapis zera. O ile sytuacje udało się poprawić w przypadku PWM poprzez dodanie jednego zerowego elementu, to niestety w przypadku kolejnych elementów wciąż pojawia się problem z konwersją....
timer funkcja pulse stm32 timer pulse pulse pulse
klimatyzacja zasilanie kabel monitor 120hz wentylator klimatyzatora
schemat elektryki skutera schemat elektryki skutera
Zmywarka Indesit pobiera wodę, ale nie działa Różnice między "0" a "-" w prądzie elektrycznym