Chcesz generować sygnał synchronizacji poziomej i pionowej a kombinujesz coś z generatorem funkcyjnym? Eeee no trochę przegięcie chyba. Zobacz chociażby tu: [url=http://www.serasidis.gr/circuits/AV... Może to Cię naprowadzi.
Jak z Avt nie wyjdzie to trzeba samemu płytkę zaprojektować i program napisać. Z opisu wynika że nie zbyt trudny ten program.
R11, R12, R22 - 4k7 R20 - zostaw 1k Jak okażą się za jasne to zwiększ wartości. Zależy od LEDów.
Proszę, gotowy przyklad rozwiązania. Napisałem przy kawie i potestowałem w symulatorku czy się nie pomyliłem gdzieś ;) [syntax=basic4gl]$regfile = "m8def.dat" '$sim 'dla symulatora Config Portd.5 = Input : Set Portd.5 : Czuj_1 Alias Pind.5 Config Portd.6 = Input : Set Portd.6 : Czuj_2 Alias Pind.6 Config Portd.7 = Input : Set Portd.7 : Czuj_3 Alias...
Kolego (at)sp5gbw o ile rozumiem to program ma działać tak: - po uruchomieniu wczytuje z EEPROM ilość cykli (od 2 do 30) i generuje je czyli generuje przez czas Ta sygnał 5kHz z odstępem Tb między sygnałami. - po wygenerowaniu tego sygnału sprawdza stan klawiatury w oczekiwaniu na zmianę ilości cykli. Jeżeli taka nastąpiła zapisuje ją do EEPROM. Zweryfikuj...
Czy w moim przypadku gdybym wybrał transile jednokieunkowe to czas działania transila w kierunku "niezaporowym" będzie tak samo szybki ? Tak.
Fusebity nie wrócą. W innych mikrokontrolerach np. PIC, fusebity ładowane są razem z programem. W AVR tak nie jest.
Witam kolegę, popatrzyłęm na notę katalogową (sam też popatrz) i na mój gust to wyjście jest typu otwarty kolektor (tak przez analogię do ukłądów TTL) Więc problem w tym że owo wyjście należy jeszcze spolaryzować do plusa zasilania jakim opornikiem myslę że 1-2 k spokojnie starczy. Wówczas będziesz miał układ w pełni działający bo jak na razie to Twój...
...jestem ciekaw czy do się napisać program który będzie generował impulsy o danej częstotliwości (kilkudziesięciu kHz) na diodę nadawczą IR. Oraz program który będzie odbierał sygnały o tej zadanej częstotliwości z wykorzystaniem fotodiody (SFH203FA). Tak. Da się napisać taki program.
jeśli chcesz koniecznie atmega to nada się każdy choćby atmega 8, licznik ma wyświetlać impulsy na wyświetlaczu LED?
Halogeny też będą zabronione ?? a co do projektu, właśnie zakończyłem projekt na uczelnie gdzie wykorzystuję sterowanie halogenem. jest to zrealizowane w ten sposób, że mam 100 poziomów jasności (0-100%). Sterowanie fazowe oczywiście i triak załączany impulsem. Logicznie, program działa tak: 1) system detekcji zera (transoptor) wykrywa moment w którym...
1. z tego co piszesz to przerwanie o najwyższym piriorytecie będzie występowało z częstotliwością 4kHz. Zakładając że będziesz miał zegar 8MHz to na obsługe przerwania (zapisanie 8 bajtów) i obsługe innych przerwań będziesz miał: 8MHz/4kHz = 2000 cykli zegarowych co w przypadku procesorów typu RISC daje jakieś 1500 instrukcji. A to jest całkiem sporo....
Rozumiem, że nie chodzi o zliczanie impulsów w danej jednostce czasu tylko ogólnie ilość aż do wykasowania przez obsługującego lub aż do przepełnienia zmiennej. Jest to bardzo proste przy wykorzystaniu przerwania INTx Po porostu w obsłudze przerwania dodajesz 1 do zmiennej która przechowuje ilość tych impulsów.
Jak to jest z możliwością wykrywania krótkich impulsów przez ATmegę? https://www.arduino.cc/reference/en/lang... - dla ATmega 328 tylko piny 2 i 3 mogą być używane do wykrywania impulsów w taki sposób (to niestety jest istotne ograniczenie); może wykrywać zbocze narastające, opadające, oba, stan niski;...
Użyj przerwania od przechwytywania kiedy uc wykryje zmianę stanu na pinie ICP1 z niskiego na wysoki to jak będziesz miał odblokowane to przerwanie oraz będziesz miał odpowiednią reakcję(w tym przypadku to ma być zbocze narastające bo z 0 do 1) to wywoła si się przerwanie i w tym przerwaniu możesz zobaczyć ile timer1 zliczy ci impulsów
Która atmega? W atmega8 możesz użyć: Timer0 - odmierzanie czasu Timer1 - zliczanie impulsów Timer2 - PWM
A co pojawia się na tym buzerze? Jeśli napięcie stałe (np. 3V) przez 10 sekund, to nie trzeba robić czułego układu (wzmacniacz + detektor) dla sygnału 60mV. Swoją drogą, buzer z generatorem wprost do nogi ATmegi... nie wiem, czy nie za bardzo ją obciąża. Czy może jednak dokumentacja, o której pisze jarek_lnx, dotyczy innej wersji urządzenia, a tu jest...
Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną wartość rejestru licznika timera, czyli jak sądzę counter0 (nie znam BASCOM).
W moich układach do sterowania serwami korzystam z funkcji PULSEOUT (opis w Helpie), która wydaje mi się o wiele wygodniejsza od "servos". Trzeba tylko zadbać o to, żeby impuls na wyjściach pojawiał się co ok. 20ms.
Tak. Tylko mniej świadomość że procek będzie odrywany od pracy wieloma nieprzydatnymi impulsami. Ewentualnie po pierwszym impulsie na INT, wyłącz przerwania na czas drgań. Jak teraz masz podłączony kontrakton ? INT podciągnięty pod +5V ? Jak INT wyzwalasz ? W docelowym projekcie koniecznie czujnik kontraktonowy zamień na jakiś halotron albo transoptor...
Według mnie tranzystor nie wymusza odpowiednio stanu niskiego na pinie. Podaj jakie napięcia masz na pinie gdy nie ma przesłony. Brakuje rezystor przy diodzie, mam nadzieje że to tylko na schemacie brakuje.
Cześć, mam pytanie odnośnie Timerów w uC ATmega. Potrzebuję następujących opcji: - zliczanie impulsów z dwóch enkoderów - generowanie dwóch przebiegów PWM - generowanie przerwania co kilka ms. ..............? Czy są jakieś AVR'y mające 4 timery? ........... Pozdrawiam, Bartek Wystarczy ci Atmega48/88/168 Dla 2-ch sygnałów PWM wystarczyłby 1 timer z...
Witam, chciałbym zbudować licznik impulsów na atmega 8 który by zliczał ile impulsów było w czasie 1 sekundy i wartość tych impulsów wysyłała w postaci binarnej na wyjścia procesora. Dodano po 1 Język w którym bym to chciał to C znalazłem identyczny projekt na forum ale w bascomie a w tym języku się wogóle nie orientuje
timer sobie zostaw do pomiaru czasu, a liczenie impulsów zrób na INT0 lub INT1
Dziekuję za odpowiedz. Z tymi portami to była mała literówka z mojej strony pisząc tego posta. Generalnie jak widzę należy całkiem inaczej podejść do tych TIMERÓW, tego się spodziewałem.Jestem naprawdę mocno początkujący w programowaniu tych procków, ale Twój post pozwolił mi inaczej spojrzeć na ten problem i już pewne info znalazłem tutaj na elektrodzie,...
Czy otwarcie mosfetu jest synchronizowane z tentnieniem prądu za mostkiem prostowniczym ? Czy tętnienie jest wypłaszczane kondensatorem C11? Czy w drugim przypadku nie tracimy atutu ładowania impulsami transformatora ?
Jak już wspomniałem to Ty decydujesz jaki protokół sobie napiszesz. Możesz więc przewidzieć, np taki algorytm każdej transmisji: 1 na początku transmisji część zewnętrzna wysyła sygnał o długości np. 10ms (tak się wydaje nadajnikowi), 2 część odbiorcza zlicza czas trwania sygnału np. 11ms (bo temperatura zewnętrzna wpłynęła na nadajnik w taki sposób,...
PWM ustawiasz na przykład w tryb Fast PWM (patrz tab. 17-8): Mode 3 ustawiając: - bity WGM20 i WGM21, - preskaler bitami CS2x - dla wyjścia OC2A ustawiasz: -- pin jako wyjście rejestrem DDRx -- z tabelki "Table 17-3. Compare Output Mode, Fast PWM Mode " wybierasz tryb bez negacji sygnału ustawiając bit COM2A1 dzięki czemu będziesz miał sygnał w postaci...
Witam Patrz DEBOUNCE pin_portu , stan , etykieta w Help
W międzyczasie edytowałeś post i przedstawiłeś nowe dane. Mój teraz na razie będzie się tyczył tego co pisało wcześniej. Jeśli chciałbym rozdzielić dwa impulsy na dwa różne piny to zrobiłbym tak: Podłączył sygnał do zewnętrznego przerwania. Kiedy nadchodzi pierwszy plus to ustawiam flagę na 1 i wracam do pętli głównej. W niej tak długo jak pin jest...
Witam, potrzebuję pomocy przy budowie licznika impulsów z mikrokontrolerem, który można zaprogramować za pomocą arduino. Urządzenie ma zliczyć impulsy np. z czujnika zbliżeniowego, lub z przycisku ręcznego. Po uzyskaniu zadanej wcześniej liczby impulsów ma uruchomić przekaźnik.(podać napięcie na cewkę) ............ Potrzebowałbym tak naprawdę program...
Skopiowałem, wyrzuciłem obsługę LCD, skompilowałem, wgrałem i podłączyłem oscyloskop. Impulsy chyba są co 20ms. Ale impuls trwa 4us a nie 1.5ms. Coś jest nie tak w ustawieniach peryferii.
Witam, wiem że w sieci jest 1*e^6 lub więcej gotowych liczników impulsów, lecz ja chciałbym mieć pełną kontrolę nad moim kodem, a nie kopiować bezmyślnie. Tak więc sprawa tyczy się zliczania impulsów 5V od obrotów i prędkości w motocyklu. Do tego celu chcę wykorzystać układ AVR ATMega 16 lub mniejszy (po przeróbce w kodzie). PYT1: Obrotomierz kręci...
Sygnał mierzę w cyklach zegarowych 20Mhz, więc jak pisałem rozdzielczości mam 50ns. Mierzę przy użyciu Atmega. Impuls z wyjścia komparatora.
Tak jest to dość istotne... Do pomiaru używany jest 16-bit'owy timer 1 (atmega162 ma dwa ale po takim ogólnym rzucie okiem na pdf wygląda na to, że nie ma różnic w konfiguracji)... Co przy częstotliwości taktowania 8MHz prescalerze 8 daje max ~65,5ms przy dokładności do 1us... Poniżej fragment kodu który mierzy czas trwania stanu wysokiego... ... volatile...
Tak, dokładnie i wtedy nie będzie problemu, że Atmega przeoczy, krótki impuls. A przerzutnik można też zrobić na drugim komparatorze z układu podwójnego (patrz aplikacje komparatorów) ...
(at)R-MIK Robienie krótkich impulsów na timerze w ATMega jest bez sensu, bo ten timer nie ma trybu one-shot. Do tego celu trzeba kreatywnie wykorzystać inny układ peryferyjny... Oczekujesz, że podeślemy ci gotowy kod, który ty pod swoim nazwiskiem opublikujesz jako przełomowe odkrycie?:) Może by i tak było, gdybyś w międzyczasie nie zraził do siebie...
Witam, zastanawiam się, czy istnieje jakiś sposób zliczania impulsów zegara interfejsu SPI w mikrokontrolerze AtMega 16. Póki co jedyne na co wpadłem, to podłączenie tego sygnału do wejścia przerwania zew., jednak ten sposób wydaje się dość toporny. Pozdrawiam
W wentylatorze nie ma 1 impulsu na obrót tylko kilka. Musisz zmodyfikować program że by dzielił impulsy. Najlepiej policz ręcznie ile impulsów przypada na obrót.
Witam. Mam takie o to zagadnienie, potrzebuje zrobić regulowany generator 0-15hz. Na wyjściu sygnał prostokątny, albo tylko same impulsy mogą być. Wszystko było by fajnie, ale muszę do tego użyć Timera i przerwania. A nie mam w ogóle pomysłu od czego zacząć i jak to zorganizować. Potrzebuję zrealizować coś takiego aby nie zależnie od głównej pętli...
Cześć Mój problem jest podobny. DS 1820 na wyjściu daje same '1' pomimo tego że po resecie daje impuls. procek to ATMega 162. Jedno co nie rozumiem to to że jeżeli w linia 1Wire jest spolaryzowana wewnętrznym rezystorem to "impuls obecności " nie pojawia się. Czy ma ktoś sugestie co do dalszych badań nad draństwem.:cry:
4. Podłączenie sygnału z wyjścia PWM do ADC1 aby ponownie spróbkować sygnał PWM A po co? Po to aby odczytać ile kroków wykonał silnik. Sygnał PWM niski wysoki niski to jeden krok na wejście STEP. I chce żeby pwm był jakoś ogarniczony. Aby silnik wykonał na przykład 20 kroków - nie więcej. Na ATMega możesz to zrobić tak jak ci napisał kol. piotrva....
Witam! Sprawę załatwia w tym przypadku odpowiednie podawanie impulsów na wejście BSYNC.
Enkoder to mechanicznie zwykły przycisk. Ma też wszystkie wady przycisku, czyli np. drgania styków. Wiele enkoderów na jeden "przeskok" generuje 2-4 impulsów i oczywiście czasy trwania poszczególnych faz zależą od szybkości kręcenia. Przejrzyj darmowe przykłady do książek w mojej stopce - masz tam przykłady obsługi enkoderów w oparciu o ATMega i XMEGA.
zasilane podpiąłem +5 aby nie podawać impulsów powyżej 5V na atmege 16 (i tu mam problem bo amplituda tych impulsów pewnie nie będzie ok 3,5V Ten problem rozwiąże Wzmacniacz Operacyjny z wyjściem typu Rail to Rail. Warto poczytać datasheet'a bo Rail to Rail czasami jest różnie definiowane. Dodano po 3 Nie wiem za bardzo jak dobrać pojemność filtrującą...
Teoretycznie wygląda to na ubity scalak, ale nowe które kupiłem zachowują się w taki sam sposób. Możliwe, że trafiłeś na słabego dostawcę. Ewentualnie uszkodziłeś układy jakimś potężnym impulsem elektrostatycznym. Może masz jakiś brak kontaktu albo popełniasz jakiś czeski błąd.
Diody masz podpięte bezpośrednio pod porty ATmega? Jeśli tak to lepiej dołóż sobie oporniki aby nie spalić wyjść ATmegi. Bezpośrednio przy procku daj kondensator 100nF. Przed stabilizatorem np. 1000uF, a za stabilizatorem 100u (to i tak za dużo, ale lepiej więcej niż za mało). Zliczanie zrealizowałbym w taki sposób: - Odpalić któryś z wewnętrznych timerów...
https://obrazki.elektroda.pl/9601496700_... Jest mój kolejny metronom! Trzeci już na elektrodzie na przełomie parunastu lat :) Wszystkie z opcją TAP, a właściwie te dwa wcześniejsze tylko z tą opcją i prawdę mówiąc sporadycznie używane. Pierwszy z latającą linijką, drugi dość mały, przeciętne migadełko. Praktyka jednak i potrzeba (z...
Problemem byłoby łapanie 100.000 impulsów na sekundę. ;)
racja czyli jak rozumiem, mam fajkocewki do każdej faki idą dwa kabelki (12V) czyli np. 1 cyl. kazdy implus jeden obrót. Przy okazji w temacie zapytam, co do czujnika prędkości czujnik jest w skrzyni (3 przewody) jeden z nich z czego wiem daje impulsy pozostałe do zasilanie, w jaki sposób obliczyć prędkość z niego na procesorku atmega ile impulsów wpływa...
Też na początku myślałem o rezystorze tylko nie wiedziałem czy to bedzie bezpieczne. Jak dodasz diodę zenera to będzie bezpieczne. Teraz myśle jak wysterować lampke może jakimś mosfetem tylko jak to zrobić aby powoli sie lampka gasiła ? Poczytaj o PWM. Czyli sterowanie szerokością impulsu. W ATmega robisz to na timerze i nie obciąża Ci programu. Choć...
No właśnie, czyli pozostaje programowe sprawdzanie stanu wejscia przerwania w procedurze obasługi przerwania. Pod warunkiem, że impuls wywołujący przerwanie będzie dopowiednio długi.
6000 rpm to zaledwie 100 Hz. Nie znam się na lotnictwie, ale wymaganie "Częstotliwość 1 Hz do 1 kHz." z pierwszego postu wydaje mi się przesadzone. Fotorezystor okazać się w sam raz :-) Przy odrobinie szczęścia może wystarczyć dzielnik napięcia 24V z fotorezystorem w dolnej gałęzi do wysterowania gotowego licznika impulsów.
Witam, Potrzebuję napisać program na atmegę który będzie wykonywał : Z centralki centralnego podaje 1 sek impuls masy na Atmegę, po podaniu impulsu atmega uruchomi jedno z wyjść na 2 sek, w tym czasie załączy przekaźnik przytrzyma go załączonego i wyłączy. Po 2 sek od załączenia pierwszego przekaźnika drugie wyjście, automatycznie poda 2 sek impuls...
W ten sposób Atmega będzie wykrywać sygnał 50 razy na sekundę. Musisz dodać kondensator np. 10uF pomiędzy pin atmegi i masę. Zniweluje to częstotliwość i będzie widziane jako stały impuls. A diodę dałbym zwykłą 1N4007 zamiast LED. A sam rezystor R6 nie jest konieczny. Po prostu włącz podciąganie wewnętrzne Atmegi.
Nie da się tego precyzyjnie wyliczyć. Dekodowanie impulsów z enkodera na M328 odbywa się programowo - np. tak, że impulsy z jednego kanału generują przerwania (nie jest to idealne rozwiązanie, ale na początek nie komplikujmy). W efekcie to jak często mogą się one pojawiać zależy od czasu jaki MCU spędza w funkcji obsługi tego przerwania, ale także od...
http://obrazki.elektroda.pl/2433244400_1... Układ na wejściach będzie miał podłączone przyciski na 12V na dość długich przewodach, stąd optoizolator na wejściu. 4013 pełni rolę przerzutnika typu T, czyli po każdym impulsie na wejściu zmienia stan na wejściu na przeciwny. Stan wyjściowy może być także zmieniamy impulsem z atmegi. Atmega...
Na 38000 zliczanych impulsów stany wahają się +/-200 i te wahania pływają. Nie analizując Twojego programu, szybkie pytanie: Zerujesz preskaler za pomocą PSRxx?
Sam mi sugerowales atom1477 , ze zaleznosci czasowe pomiedzy impulsami nie maja wplywu i to potwierdzily kolejne poprawki fragmentu kodu do wysylania. Nie. Mówiłem że prędkość nie ma znaczenia. Zmiana prędkości zmienia czasy. Ale nie zależności czasowe. Zależności czasowe to też kolejność występowania sygnałów. Ta nie może być dowolna. Ja pisałem tylko...
Monitory (szklane i LCD) synchronizują się głównie sygnałem SH a potem SV.Linia obrazu składa się z trzech części, "back porch", "active video" i "front porch". "active video" to odcinek w trakcie którego jest wlaśnie nadawany widoczny obraz (piksele), w czasie pozostałych części trzeba nadawać sygnał video (RGB) ale o wartości "wygaszone" albo "minimum"....
...przy 10000HZ na LCD wyświetla 0666... No to prawie jak liczba szatana :) if(licznik==4) { T1=TCNT1; utoa( T1, bufor1, 10 ); lcd_gotoxy(3,0); lcd_puts(bufor1); TCNT1=0; } Widzę, że dodałeś pozycjonowanie kursora, żeby wynik za każdym razem był wyświetlany w tym samym miejscu wyświetlacza. Trzeba by jeszcze...
Da radę. Tylko musisz umieć programować tak zakładam. I zobaczyć w czym pracuje ten modół czy rs-em czy jakąś inną transmisją. Wg mnie szkoda kasy i czasu bo nie sądzę ze potrafił byś napsiać aplikację w Javie na telefon by odpowiednio obsłużyć Nadawanie odpowiednich komend i odbieranie przez modół poprzez np szyne rs-a musiałbyś zapoznać się z dokumanetacją...
J Transoptor + dioda zenera (transil) na jego wejściu to chyba najlepsze rozwiązanie. też właśnie myśle nad tym rozwiązaniem ale czy przepięcia nie spowodują przekłamań? a co powiecie o impulsach bezstykowego przerywacza to bardzo popularna część w starszych silnikach jak to działa jaki impuls z niego wychodzi chodzi mi głownie o napięcie (w końcu...
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 ?
Był projekt AVT5360 http://serwis.avt.pl/manuals/AVT5360.pdf Choć tak naprawdę nie napisałeś nawet czy to ma być jednofazowy czy trójfazowy.
Tak w skrócie tzn że każdy pixel składający się z 8bitów, czy ile tam miał ten wyświetlacz musisz dostarczyć z prędkością równą 27MHz (chyba tyle było w datasheet).. Od sony PSP zapewne będzie to samo i już na pewno ATmega nie udźwignie tego. Ten z Maritexu na sterowniku ILI9326 wygląda rozsądniej.. każdy pixel podajesz mu 8,9,16 lub bitową zmienną...
W samym Atmel Studio 7 powinieneś wybrać programator o numerze (000200212345) chyba? Bo będą widoczne dwa programatory. Ja mam najnowsze Atmel Studio 7 (1931) i też klona i nie ma z nim problemów. U mnie go widzi, ale próba odczytu procka kończy się komunikatem "Failed to get interface clock value. Does the target have power?" co oznacza że chyba bufor...
Chcę zrobić sobie m.in. obrotomierz. Pytanie brzmi, jak zrobić podawanie imp. do 7500 obr/min, tak żeby wydoliła i elektronika i procesor? Transoptor wyrobi? Bo muszę sam sobie zrobić impulsator. Drugie pytanie - ile razy można programować atmega?
czyli inaczej częstotliwość impulsów - działający jak prescale obecnie mam około 4 impulsów na sekundę, a tą ilość chcę zmieniać do np 1 na 2 sekundy wiem ze jak zmienia kwarc na 1 MHz to uzyskam ale inne sprawy przestają działać poprawnie
Zawsze istnieje możliwość pośrednia. Wykorzystać pamięci "szeregowe" lub dynamiczne. Procesor spokojnie wypełniłby zawartość takiej pamięci, (łącznie z synchronizacją itp.) a prosty układ wysyłałby bity na wyjście. Wada - "śnieg" podczas pracy procesora przy odśnieżaniu, chyba żeby pracować tylko podczas impulsów odświeżania.
(at)t0maszu - zapomnij o takim sterowaniu serw. Kod na stronie nadaje się tylko do demonstracji, tego typu realizacja powoduje 100% zajęcie każdego MCU. Ponieważ nie może on robić nic innego, w realnym programowaniu ten kod się nie sprawdza. Jeśli cokolwiek wstawisz do pętli, albo odblokujesz przerwania to serwa zaczną radośnie tańczyć. Więc po prostu...
Musiałbyś dodać zmienną, która będzie służyła do odmierzania czasu bez impulsów, tzw. "timeout". Jeśli przez okres ponad 10 s nie przyjdzie żaden impuls, to n=0. Wbrew pozorom, liczenie timeoutów najłatwiej zrealizować w przerwaniu :) Dodano po 1 fragmenty kodu: inicjalizacja przerwań (akurat dla Atmega32) [syntax=c] TCCR0 |= (1 << CS02); TIMSK...
Podłącz diodę optotriaka pod wyjście OCx procesora, dzięki temu impuls wyzwalający będziesz mógł generować sprzętowo za pomocą timera.
Nie chcę rozpoczynać nowego tematu, a problem bardzo zbliżony Jak ustawimy ze po porównaniu ma wyzerować port to juz wtedy nie mozna ustawić go w stan wysoki - tak jakby cały czas był zerowany co jest sprzeczne z dokumentacją. Dzieje sietak pomimo zatrzymania tajmera. Dla mnie sformułowanie: 'clear port on compare match" jest jednoznaczne: wyczyść port...
Jeżeli S1 służy jako przycisk a nie do np. zliczania impulsów to sugerowałbym oprócz sprawy sprzętowej lekko znieczulić układ programowo.
Możesz zrobic tak - zliczać 11059 impulsów w liczniku 16-sto bitowym. Da Ci to częstotliwośći 10000,01 Hz czyli z błędęm w zasadzie do skorygowania kwarcem (kondensatorem, trymerem). Co do RS-a - to błąd całkowicie akceptowalny (dla skorygowanej do 11059000 Hz częstotliwości). P AK
Tak wiem. Niestety nie mam oscyloskopu. 20ms impuls 1-2ms. Preskaler wyliczyłem i najbliżej 50Hz jest tutaj
Muszę zrobić prototyp. I zacząć programować . Podpiąć pod oscyloskop i będę wiedział co się dzieje. Przyjmuję założenie że będzie 8 kanałów. To oznacza że będzie kolejno 8 impulsów każdy o innym określonym czasie trwania i jeden impuls kontrolny. Każdy od 1 - 2,5 ms. Biorę się za projekt płytki . Wezmę atmega 8 bo tani i prosty. I mam kilka :D
Procek Atmega + sterownik na PCB i możesz dowolnie kombinować.
A specjalnie do tego projektu kupiłem mega32, bo 16 ma za mało pamięci i nawet wywalając całą resztę, zostawiając tylko timer, main-a i dwie funkcje, nie dał się dziad wgrać. Jak już kupiłem 32 to się okazało, że nie działa. Przed zakupem kolejnego AVR może zapytam, czy macie jakieś propozycje kodu, który faktycznie działa do tego, co już posiadam?...
Zacznijmy od tego Skopiowałem program do zliczania impulsów w języku Baskom $regfile = "m8def.dat" $crystal = 8000000 Dim Count As Integer Config Lcd = 16 * 2 Config Lcdbus = 4 Config Lcdmode = Port Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 On Int0 Int0_int Do Enable Interrupts...
W Helpie Bascoma masz przykłady jak w podstawowy sposób obsługiwać i RS485 i RS232 więc może zacznij od tego ? Gdybym ja miał Helpa po polsku lub ew. angielsku to byłbym zbawiony... Wiesz może gdzie mozna takowego zdobyć? Może ta ATmega644p to lekki przerost formy nad treścią bo to olbrzymi procek jak na te potrzeby Czy ja wiem czy przerost formy nad...
Ale gdzieś czytałem, że przy małym obciążeniu prądowym są niestabilne czy jakoś tak a atmega to przecież niewiele potrzebuje. Przy małych prądach obciążenia kontroler musi zmniejszyć wypełnienie impulsów prawie do zera (jeśli to nie jest buck synchroniczny, a XL4005 nie jest). Układy przetwornic nie mogą generować dowolnie krótkich impulsów, najkrótszy...
Zgadzam się, napięcia mogą być o wiele większe, nie posiadam oscyloskopu, poprostu mierzyłem to prostym multimetrem, multimetr uśrednia wartości. Nie zmienia to faktu że atmega nie miała z silnikiem szans. ... i pewnie już nie żyje, przy tak wysokich impulsach. Polecam lekturę Dodano po 4 ... Są prostsze elementy, nieprzyporządkowujące danej pozycji...
Impuls o czasie nie dłuższym niż 50ns gdy atmega na 16Mhz ma czas 1 impulsu zegarowego 62.5ns zrealizowany na darlingtonie albo na byle tranzystorze to będzie cud. Dodano po 1 1s=1 000 000us=1 000 000 000ns
Witam. Mam takie pytanie do mądrzejszych od siebie. Strasznie szarpie mi bramą przy ruszaniu, więc zastosowałem sterowanie PWM. Silnik rozpędza się 10 sekund - wtedy jest ok. Ale jak to zrobić żeby jak pierwszy silnik jest w połowie rozpędzania a atmega dostanie impuls z krańcówki, żeby zaczęła rozpędzać silnik drugiego skrzydła a pierwszy nadal kontynuował...
Można by było spróbować tak: 1. Na pierwszym uC ustawić zegar 2. Zaprogramować tak, że po zmianie sekundy daje krótki impuls na jakiś pin. 3. W pozostałych dwóch stawić jeden z pinów INTx i w momencie wywołania przerwania zwiększać liczbę sekund. Wadą tego rozwiązania są możliwe zakłócenia indukujące się na przewodzie. Jednakże stosując zewnętrzne mocne...
A zresztą spójrzcie na to: Clips ma ucho mierzy tętno metodą IR tak samo jak te na palec w Med. Są one bardziej dokładne od tych pads na uchwytach, które mogą 'gubić' impulsy. Te ostatnie pracuja na zasadzie przechwytania bio-impulsów el. podobnie jak EKG lecz bardziej prymitywnie i nie dokładnie. Taki clips 'na ucho' możesz sobie zrobić wykorzystując...
(at)Chivo Zamiast przerwań wykorzystaj możliwość podania sygnału zegarowego na licznik - licznik w M16 ma możliwość zliczania impulsów podanych na wejście T procesora. To nie jest kwestia dokładności, lecz wygody i wykorzystania zasobów procesora. BTW, ściągnij sobie darmowe przykłady do książek z mojej stopki - masz tam pokazany właśnie przykład licznika...
a po co Ci dwie zmienne ? if(!(PIND & _BV(4))) { _delay_ms(250); if(++set_h >= 10){ set_hh++; set_h = 0; } } if((set_hh>=6)&&(set_... 68 to wyzeruj set_hh i set_h { set_h=0; set_hh=0; } tak to raczej winno wyglądać
Tylko czy sprzężenie zwrotne jest wykonywane w uC czy w jakiś inny sposób układ LC jest zasilany? I czy nie będzie problemów z tym, że impuls będzie miał przebieg sinusoidalny ?
Jak policzysz czas potrzebny na wybudzanie, to kto wie. Inna opcja to zliczanie impulsów w przerwaniu po wybudzeniu. Wtedy uC pobiera ~1,2uA przez większość czasu i 21uA w czasie aktywnym. Która Atmega to potrafi? Ta o której pisałem. Jak policzysz jeszcze czas potrzebny na wybudzenie procesora to nawet lepiej ta atmega energetycznie wychodzi. Szczególnie,...
Reset i Set odnoszą się tylko do Bitów. W przypadku kiedy nie podajesz który bit to przy Reset zostanie skasowany tylko najmłodszy czyli Tobie nic nie da bo z, na przykład, 65535 zrobi się 65534. Używaj więc wersji "= 0" Do takich zadań najlepiej jest kupić na portalu aukcyjnym klon Saleae za około 30zł. Zmierzysz sobie dokładnie ;)
Może w nowszych jest hallotron - musi mieć dodatkowy wzmacniacz. U mnie w nieco starszym takim siłowniku jest zwykły kontaktron - sprawdź - może ( jak takowy jest) jest uszkodzony/ sklejony
Trzeba by zrobić jakiś układ "udający" elektrycznie kwarc zegarkowy. Impedancja, pojemność itd. Częstotliwość raczej ma mniejsze znaczenie- ale jakieś ma. Bo jak się uda zrobić "na pałę" podając 5V to może działać albo nie. Zależnie od temperatury, zasilania i innych parametrów. To tylko idea- modelowaniem dwójnika pasywnego na układzie aktywnym zajmowałem...
Witam Czy ktoś miał styczność z tym przepływomierzem link ; http://www.okazje.info.pl/bf/biuro-i-fir... producent podaje 250imp/litr a timer 0 ( atmega 32) zlicza 1imp/l co robię źle ???????
Sprawdź te fuse bity czy na pewno atmega nie chodzi na wewnętrznym kwarcu. Po drugie w obsłudze przerwania nie powinno być żadnego wait, szczególnie takiego dugiego. Zmień "Load Timer0 = 250" na "Load Timer0, 250"
Ja właśnie sobie zdałem sprawę że ten mój program to zwykły PWM a do serva trzeba taki zmodyfikowany działający w ograniczonym zakresie. To znaczy nie o d 0 do 100% tylko od 5 do 10% (1…2ms przy okresie 20ms). Ale cokolwiek to powinno Ci działać. A nic nie działa? Żadnych impulsów nie generuje?
No to w takim razie źle zrozumiałem instrukcję. Napisali w niej "możesz za załadować do licznika wartość odpowiadającą ilości impulsów po których licznik sie przepełni " więc załadowałem 1000000 impulsów i czekałem aż się przepełni ale się przepełniał troszkę za szybko moim zdaniem.
Witaj Nie musisz zaprzęgać Timera, jeśli Masz zegar PCF8583. Ja zrobiłbym to następująco: 1. Zapis CZASU PRACY, oraz CZASU PRZERWY do pamięci EEPROM ATmegi 2. Napisanie krótkiego podprogramu realizującego porównanie CZASU PRACY, oraz CZASU PRZERWY 3. Gdy podprogram wykryje takie same wartości CZASÓW (zegara i nastawionych) wysyła np. impuls na wyznaczony...
atmega licznik impulsów atmega generator impulsów generator impulsów atmega
sterownik epson stylus canon pobieranie poduszka poziom
Migająca lampka - przyczyny i diagnostyka Usuwanie mat wygłuszających butylowych z samochodu: metody i wskazówki