Ja wiem, że mając 14 lat trochę trudno o składne pisanie ...ale bez tego daleko nie "zajedziemy". Uporządkujmy- co chcesz zrobić? Może postudiuj książkę p. Kardasia bo masz problem z pojęciami i tworzy się z tego straszny bałagan. Ty co najwyżej chcesz wygenerować zmiany napięcia na porcie mikrokontrolera za pomocą przerwań. Tryb pracy licznika CTC...
Muszę użyć układ dwóch timerów ponieważ w docelowym układzie zakres czasowy Timera1 będzie za mały. Czy procesor zliczy na T1 impulsy generowane na OC2 ? Obawiam się sytuacji, że przy wspólnym CLK gdzieś mi się zbocza miną pomiędzy OC2 a T1 i układ nie zatrybi... Oczywiście że zbocza te mogą się minąć, ale to jest bez znaczenia. Podczas synchronizacji...
Czyli przyjmujemy, że nie ma problemu z drganiami styków i innymi zakłóceniami. Jeżeli dobrze zrozumiałem zasadę działania czujników oraz Twój cel i chcesz wykorzystać obydwa INTx, to zrobiłbym tak: 1. pod INT0 podpinasz sygnał decydujący o starcie i końcu zliczania 2. pod INT1 podpinasz sygnał, który ma być zliczany Pseudo kod: 1. inicjacja: 1.1 INT0...
Problemem jest to jakieś. Jesli timer ma np. okres 550us, a twoja pętla np. 551us to się robi problem - synchronizacja będzie się co raz bardziej rozjeżdżać, a kolejnej impulsy PWM będą co raz bardziej zniekształcone. Zamiast delay zrób tak jak pisałem - w funkcji obsługi przepełnienia timera uaktualniaj OCR. W dodatku musisz tak ustawić preskaler,...
Witam wszystkich serdecznie, Czy da się na timer1 wygenerować 2 przebiegi o niezależnie zmienianej częstotliwości? Czy powinienem użyć drugiego licznika? W żadnym trybie nie uzyskasz 2-ch niezależnych przebiegów o zmiennej częstotliwości z tego samego timera. Owszem, możesz wygenerowac dwa sygnały PWM z kanałów A oraz B o dowolnym wypełnieniu, lecz...
A może by tak: //ustaw pin dźwięku PINB |= (1<<PB0); N. W ATmega8 ta opcja nie działa. Dodano po 4 return(0); a nie? return 0; chiciaz nie powinno to mieć znaczenia...
Witam, A czym to mierzysz i względem czego? Jeśli, jak mniemam oscyloskopem względem masy, to wyłącz odcinanie składowej stałej :-). Pozdrawiam, QuadMan
Damianie, przeczytaj artykuły z działu: Jak zacząć? http://mikrokontrolery.blogspot.com/p/sp... i zainstaluj właściwe narzędzia.
Przyłącze się do pytania Wykożystuję Timer1 i przerwanie występuje co 0,2s i program wykonywany podczas tego przerwania trwa ok 0,12s. Jeśli w programie zawieram, że po przyciśnięciu klawisza ma być dźwięk (Sound Portb.0 , 200 , 1000 ), to przerywany jest dźwięk Timerem1. Jak powinienem to zrobić , ale proszę o wytłumaczenie laikowi, bo wiedzę mam naprawdę...
Jak najprościej zrobić sygnalizator na µC ATmega8 a dokładniej chodzi o coś takiego, że jak będzie sygnał na wejściu 1 to na wyjściu 1 pojawią się dwa krótkie impulsy, jak pojawi się sygnał na wejściu 2 to na wyjściu 2 pojawi się 10 krótkich impulsów. Jak to najprościej podłączyć i jak będzie wyglądał kod do tego??
nie wiem czy dobrze rozumiem, czyli przy takiej konfiguracji jak podałem w pierwszym poście uC bedzie cały czas generowal sygnał 36kHz na nóżke PB1(OC1A). i podczas wysyłania RC5 jeśli będę musiał wysłać stan niski, to na tą chwilę potrzebuje wyłączyć timer, tak? po drugie, jak teraz myślę to będzie potrzebny jeszcze jeden timer, żeby odmierzyć te 889us...
Tak, można ustawiać różne częstotliwości PWM, ale nie wiem jak to się robi za pomocą języka Arduino. Ale ponieważ Arduino to przede wszystkim mikrokontrolery AVR Atmela, stąd wystarczy odpowiednio zaprogramować rejestry mikrokontrolera. Przykłady: http://mikrokontrolery.blogspot.com/2011... http://mikrokontrolery.blogspot.com/2011...
zapoznaj się z tym projektem http://www.edw.com.pl/pdf/k10/55_06.pdf cała idea sterowania zawarta jest w podprogramie Foursteps i Ddelay jest to wprawdzie dla 8051 ale to kwestia tylko zmiany nazwy portów oraz podstawowa sprawa typ silnika i jego parametry
Co prawda zaledwie domyślam się, o co może Ci chodzić, ale proponuję zabrać się za to zupełnie inaczej. Nie trzymaj jasności w tablicy, trzymaj tylko ew. zera i jedynki (jako bity w słowie) określające, którą diodę chcesz zapalić, a którą zgasić. W każdym okresie PWM zmieniaj wypełnienie o 1 w górę dla zapalanych i w dół dla gaszonych. Ja robię to tak,...
Błąd rc-1 oznacza, że programator nie może się połączyć z procesorem. Masz jakiś błąd w połączeniach.
A jak policzyłeś 0x7A11?? Licząc "od tyłu" wychodzi: 0x07a11 * 256 = 31249 * 256 = 7.999.744 Czyli blisko 8MHz. Gdybyś miał 0x7A12 to byłoby równo 8MHz. Czy taki masz kwarc?
a _delay_ms i _delay_us Ci nie wystarcza ? Do opóźnień nie trzeba wykorzystywać koniecznie przerwań timera. Można wykorzystać flagi timera (o ile się da, ale wszystko zależy). Poza tym, zmienna deb w Twoim programie zapewne nie jest volatile, ale wrzuciłeś nam NIC, także pomoc też nijaka
Najłatwiej bez PWM było by ustawić któryś timer, aby przepełniał się (lub pojawiało się przerwanie compare match) co 1ms (/64, 125 cykli), całą resztę zrealizować programowo. Potem tylko odpowiednio krótki kod, na 4 zmiennych powinno dać się zmieścić (jak długi ma być stan wysoki, jak długi stan niski, ile pozostało do końca aktualnego stanu i jaki...
Co do współczesnych programów - kiedyś pobrałem tetrisa na androida, telefon grzał się niemiłosiernie, a gra nie chodziła idealnie. A kolega napisał tetrisa na atmega8 z generowaniem obrazu vga w locie.
Jak wyżej... dodam, że skoro chcesz obsługiwać dwie rzeczy w miarę asynchroniczne względem siebie, a bez zakłóceń w ich pracy - to musisz co najmniej jedną obsłużyć sprzętowo. Znaczy jeżeli zrobisz PWM na liczniku, to masz pewność jego pracy, a nie sądzę, żebyś przy tak małych założeniach projektu wysyłał tyle danych przez SPI, żeby nie było czasu na...
W zależności od tego, jak to oprogramujesz, możesz przyjąć, że max. częstotliwość przerwań moe być w okolicach od kilku do 40 kHz. O tym, jak działa timer, przeczytasz wszystko w doc2486.pdf.
Witam. Koledzy trochę skomplikowałem sobie życie. Zaprojektowałem i wykonałem już płytkę i teraz widzę że mam problem. Otóż potrzebuję na wyjściu OC1A generować sygnał pwm ale TIMER1(16-bit) jest mi potrzebny do generowania przerwania co 1s. Czy dało by radę generować sygnał pwm z timera0 ale na wyjściu OC1A? Port PD.4 mam zajęty. A może nie komplikować...
Nie wiem czy najlepiej nie jest rozpocząć od tytułowego TV. W grudniowej "Elektronice dla Wszystkich" jest schemat gry telewizyjnej Snake opartej o ATmega8. Generuje ona sygnał composite video przy pomocy prostego układu - źródła programu w C + ASM można pobrać ze strony EDW.
A jakiego prgramu uzywasz do programowania?
$SIM to informacja dla kompilatora, aby generował "puste" instrukcje WAIT aby przyspieszyć symulację
Kilka przykładów: http://mikrokontrolery.blogspot.com/2011... http://mikrokontrolery.blogspot.com/2011... http://mikrokontrolery.blogspot.com/2011...
Zastanów się jaką częstotliwość będzie generował Licznik2 dla wartości zero ? Równą częstotliwości jaką dostaje od prescalera. Tylko w jakim celu skoro taka sytuacja nigdy nie wystąpi? Wartość którą wyrzuca adc to 512+-320, potencjometr jest mechanicznie ograniczony. Zastanów się też jak wpisać 10 bitową wartość przetwornika do 8 bitowego rejestru...
w momencie wystąpienia przerwania program powinen wykonać to co jest na końcu kodu,od linii czas:(nie wiem czy o to chodzi) . Próbowałem kopiować kody działających rozwiązań(oczywiście dopasowując do uC) ale nic to nie dawało :|
Jeżeli w ASM piszesz to nie ma problemu nie stosuje żadnych PWM czy innych takich. Atmega8 generuje 8 niezależnych dzwieków czyta klawiaturę 5 oktaw i obsługuje wyjscie MIDI 31250 baud nic nie zgrzyta. Sukcesem było odblokowywanie przerwan w przyjętych przerwaniach. Kwarz 20Mhz.
Częstotliwość od 15Hz do 80 Hz, przy 15Hz wypełnienie 3-4ms a okres 62ms. Przy 65Hz wypełnienie to 6ms, a okres ok 15ms. Dla podanych przez ciebie warunków, może to być dowolny MCU. Czy wykorzystasz gardware - timery, czy zrobisz to całkowicie programowo, to każdy współczesny MCU da radę. Jeśli pobierzesz sobie darmowe przykłady do książki "Język C"...
Poza T1 (OC1A/B) w ATmega8 do generowania PWM można wykorzystać tylko T2 (OC2), więc dużego wyboru nie masz.
Dzięki wielki. Będę próbował, jeśli będą jakieś problemy to trudno (niestety taki bascom). Jeżeli się nie uda z przerwaniem timera to spróbuję z NE555. Tutaj mam 2 wyjścia albo ON/OFF i cały czas taka sama częstotliwość, albo spróbuję z PWM od mikrokontrolera, który będzie regulował pracę NE555 (mówię tutaj o podłączeniu tylko części z rezystorami i...
Kiedyś popełniłem sterownik prądnicy o mocy chyba 200kW w oparciu o Atmega8, generującą pwm, ze sprzężeniem zwrotnym napięciowym. Na wyjściu kilka grubych mosfetów plus stosowny driver. Dodatkowo prezentował napięcie i częstotliwość. Nie jest potrzebna tak głęboka modulacja wzbudzenia. Pamiętaj o magnetyzmie szczątkowym.
W ten sposób mikrokontroler praktycznie 99% czasu spędzi w pętli głównej, w której nie będzie żadnej funkcji opóźnienia. Może więc w każdej chwili zareagować na Twój przycisk. Przykłady wykorzystania timera: http://mikrokontrolery.blogspot.com/2011... Potrzebować będziesz tablicę z animacją. Zobacz jak ten program to obsługuje:...
To zależy co chcesz osiągnąć. Jak tylko beep to z generatorem. Jak chcesz zmieniać wysokość generowanych tonów to bez generatora. O częstotliwość musi wtedy zadbać kontroler.
....Procesor Mało tego że można zrobić coś takiego , to jest to nader często wykorzystywane . ....jakies inne juz dosyc nietypowe wynalazki typu. 8xMosfet+4x cewka+4x inna cewka + sporo biernych.... Te "nietypowe wynalazki" to wielofazowe przetwornice synchroniczne . I jest to standard a nie wybryk natury .
nie trzeba ADC, z rozbiegu tak napisałem, wystarczy komparator analogowo cyfrowy i przerwanie przez niego generowane
Witam, mam następujący algorytm: short output; main() { int i; const short A=0x7e66; /* A=(1.975/2 * 32768) */ short y no i mam sie nim posłużyć przy generowaniu sygnału sinusoidalnego z mikrokontrolera ATMega8. Wrzuciłem więc tak: int i; const char A=125; /* A=(1.975/2 * 255) */ char y i dzieją się cuda, a nie sinusoida. Pomoże ktoś?
Witam. Zaczynam przygodę z programowaniem i mam takie pytanie. Chce zrobić program na atmege8 który będzie odbierał dane przez port com RS-232 i przetwarzał je na sygnał PWM który będzie sterował obrotomierzem. Jak powinien wyglądać taki program, jakimi funkcjami powinien być sterowany i czy da się napisać to w bascomie? Z góry dziękuje za pomoc. Jeśli...
Niestety, nie pomogło, dalej ten sam problem jest :(
Rzeczywiście CPSE nie zmienia SREG, przeoczyłem, ale na etapie pisania kodu lepiej wstawić save SREG. Przyglądnąłbym się LPM r16, Z+ bo pamiętam miałem podobny problem z Z+ który działał tylko w zakresie jednego bajtu a tabela zaczyna się tutaj od 0x0400, musiałem użyć ADIW ZL, 1 N.
Ja myślę, że trzeba by kupić uC. Zrobić kilka symulowanych sygnałów z nadajnika na innym uC i całość sprawdzić doświadczalnie. I na początek ograniczmy się do najzwyklejszego w świecie miksowania, jak na schemacie. Myślę że ATmega644 + przerwania sprzętowe są warte sprawdzenia. Jak to się uda zrobić i przetestować, to jedna sprawa będzie z głowy :)....
chce zeby fala generowana przez mikrokontroler wpadala do sieci 230V Zdajesz sobie sprawę z tego, że generowanie zakłóceń do sieci energetycznej może wiązać się z przykrymi konsekwencjami...? Oczywiście są urządzenia np. do internetu przesyłanego z użyciem przewodów sieciowych, jednak budowa amatorskiego urządzenia nie ma z nimi nic wspólnego. jestem...
Witam Forumowiczów Jakiś czas temu na studiach wykonywałem na zamówienie (praca inżynierska) projekt fotorejestratora prążków interferencyjnych. Oparty jest on na specjalizowanym sensorze CMOS. Rejestruje on 1024 pixele, a natężenie światła przetwarza na wartość napięcia wyjściowego. Układem steruje mikrokontroler ATMega8 (generowanie przebiegów, przetwarzanie...
http://www.elektroda.pl/rtvforum/viewtop...
Witam. Wiem że temat troche sie przedatował, ale dla formalności: Robiłem generator sinusa na ATMega8. Układ generuje 16bitową sinusoidę od 2Hz do 24kHz przy próbkowaniu 48kHz, taktowałem go kwarcem 24MHz. Pracował stabilnie przy 5V i wogóle się nie grzał. Natomiast ATMega128 działała na kwarcu do 20MHz.
Proszę zapoznać się z komentarzami w kodzie oraz Datasheet Atmega8. Przebieg generowany ma częstotliwość f = F_CPU/Prescaler/ICR1. Wypełnienie jest równe stosunkowi OCR1/ICR1. Także można niezależnie zmieniać częstotliwość wyjściową przebiegu i jego wypełnienie. Program, który podałem ma wartości dostosowane do obsługi serw i działa w praktyce.
Witam! Chciałbym uzyskać przebieg o wypełnieniu 50% i f~33kHz w trybie CTC na pinie PB3 Atmega 8L (OC2). Podpiąłem wyjście OC2 na oscyloskop i ciągle stan wysoki. Pierwszy raz i na szybko potrzebuję wygenerować taki przebieg. Proszę o pomoc. Późno już i coś mnie chyba przyćmiło. Namieszałem coś z ustawieniami portów czy jakiś rejestr nie jest ustawiony?...
... wysłanie sygnału analogowego ... Wysyłanie kojarzy się z jakimś sposobem komunikacji itp, a nie z zamianą odległości (wyrażonej długością impulsu na wyjściu czujnika) na sygnał analogowy, który ma zakres np. 0-5V. Skoro napisałeś, że potrafisz zmierzyć odległość, to powinieneś podać jakie wartości skrajne ten pomiar przyjmuje i jakie chciałbyś...
kolego, tu bez jakiegoś analizatora to się wykończysz. kup sobie szklaną kulę, albo jakiegoś klona SALEAE na alleg*o za 40zł i przynajmniej będziesz widział co generujesz.
Wyobraź sobie, że przerwanie występuje co 500ms a do procka podłączona jest dioda. Co pół sekundy dioda zapala się i gaśnie. Okres przebiegu to będzie czas świecenia i wygaszenia diody czyli jedna sekunda. Jeśli przerwanie było by generowane co sekundę okres wynosił by wtedy dwie sekundy.
Po pierwsze to nie C++ tylko c zapewne. Po drugie pokaż kod, który generuje problemy.
Wygląda to na problem z podłączeniem programatora do programowanego układu, albo masz coś namieszane w konfiguracji avr-dude. Sądząc po tym, że w innym programie śmiga, to problem jest z konfiguracją dla Atmega8.
Witaj. Pokaż schemat i program, bo musimy się domyślać, co robisz i gdzie podłączasz. To co napisałeś rozumiem następująco: - podłączasz pin np. OC1A do pinu TOSC1 - ustawiasz timer 2 w tryb asynchroniczny, ... czy tak? Jeżeli tak, to na jakiej podstawie (datasheet) to robisz? Timer/Counter Oscillator For AVR microcontrollers with Timer/Counter Oscillator...
Witam! Zajrzyj może czasem do not aplikacyjnych - znajdziesz tam wszystko co potrzebujesz. Gdybyś miał problem ze znalezieniem, to są na stronie Atmel'a: http://www.atmel.com Szukaj "Application notes" w katalogu AVR. Pozdrawiam!
Niestety wiem o tym doskonale i staram się ją uzupełnić. A z listingiem było tak: ściągnięty programik z książki działa bez zarzutu z pętlą nieskończoną . Uzupełniłem ją ustaleniem zmiennej i i zamiast dwóch średników w nawiasach pętli nieskończonej umieściłem skończoną. W efekcie kompilacja nie następuje - dlaczego?? Dzięki za zwrócenie mi uwagi o...
Witaj. Da radę ogarnąć to wszystko na atmedze? Zobacz co potrafi mniejsza od niego ATmega88 (prawie to samo co ATmega8): [youtube]http://www.youtube.com/watch?v=... Generuje wszystko łącznie z sygnałem wideo i dźwiękiem :) To kwestia poprawnego podziału zadań i wykorzystania wewnętrznych układów oraz przerwań. Szczegóły: http://www.linusakesson.net/scene/craft/
Tak ,symulator na pewno jest ustawiony na wlasciwego proca (Atmega8) W sumie to generowanie sygnalu na OC2 to tylko czesc kodu . Sprubuje zasymulowac tylko czesc kody generujaca te impulsy. Zumek miałes racje, cos musialo mi sie zmienic w AvrStudio bo przestawilo mi sie na Atmege 16:) Bylem swiecie przekonany ze caly czas jest ATmega8. Teraz sie zmienia...
A nie możesz tego "adresu" o ile Cie dobrze rozumie zaszyć na sztywno? Przecież nawet jak będziesz losował to możesz mieć kolizje.
Do tych końcuwek możesz nic nie podłączać. Ten układ będzie Ci generował przebieg prostokątny zależny od stałej czasowej R1 C1 Ten sygnał z multimetru ma zaniską częstotliwość bo chyba tylko 1kHz.
Może napisze to bardziej łopatologicznie. 1)Mam napisany program generujący PWM SPRZĘTOWY na PB3 (atmega8) 2)Generuje przerwanie w trybie porównania 3)W uchwycie przerwania robie funkcje TOGGLE na dowolnym wyjściu 4)Problem pojawia się dla wypełnienia 0 i 255 (wiem dlaczego) pojawia się też po wyjściu z wartości skrajnych (przebieg zmienia polaryzacje)...
Na AVR Studio 4.09 przerwania ADC jeszcze nie działały a 4.10 nie chce się zainstalować. Ja radzę sobie w ten sposób że przerwanie wywołują ustawieniem flagi w symulatorze bo i tak na symulatorze nie jest to to co na faktycznym procku. Przetwornik ADC robiłem ale na ATmega16 i tam było wszystko stabilne. Stosowałem jako napięcie odniesienia to samo...
Poczytaj conieco o RC5 - to Ci powinno nieco rozjaśnić sprawę i pomóc w budowie ramki. Tylko do nadawania nie próbuj wykorzystać funkcji bascomowej, bo ona generuje nośną.
A ta sprawna jaką częstotliwością jest taktowana? Masz możliwość sprawdzenia czy coś się generuje na pinie?
Poczytaj sobie ten temat: http://www.elektroda.pl/rtvforum/topic17... zrób może sobie to urządzonko to zobaczysz jaki przebieg generuje dokładnie ten pilot i jakie czasy. Wtedy będzie ci łatwiej napisać własną procedurę nadawania takich sygnałów ;)
Mamma mia, po co drugi pin, skoro można to zrobić PROGRAMOWO, tylko trzeba to zrobić DOBRZE. Mianowicie: [syntax=basic4gl] Do Waitms 5 Start Timer1 Waitms 5 Stop Timer1 Loop [/syntax] Bo pierwotny kod, bez drugiego oczekiwania włączał timer na okres kilku taktów procesora, czyli nawet jednego półokresu 36kHz nie generował.
Przecież w Normal Mode też można używać rejestrów OCRx. Na przykład do generowania 2 przebiegów 50% przesuniętych względem siebie o dowolną fazę regulowaną właśnie przez OCRx. Czy w Atmega8 i Timer0 też można?
Zouk - może i ruszy ale po co sobie komplikować, w najlepszym wypadku będzie to działało podobnie jak układ z pierwszego postu, ale jest to najbardziej prymitywne z zaproponowanych do tej pory rozwiązań. Użycie attiny lub jakiegoś innego mikro kontrolera ma już większy sens z tym. Robiłem taki układ z atmega8 do generowania sinusa i teorerycznie działało...
[url=http://www.serasidis.gr/circuits/TV... Terminal Atmega8 [url=http://www.rickard.gunee.com/projec... Video Signal Na obrazkach to lepiej widać (;
Oj, coś słabo szukałeś, bo projektów różnych lamp na ledach rgb jest tutaj sporo. Najprostszym sposobem jest wykorzystanie PWM w mikrokontrolerze. Potrzebujesz zatem procka, który ma przynajmniej trzy takie kanały (po jednym na każdy kolor), na przykład Atmega8 lub generujesz PWM programowo. Następnie za pomocą PWM sterujesz jasnością każdego koloru...
Musi być coś co polaryzuje linie w spoczynku. Zwykły transceiver RS485 musi mieć sygnał różnicowy>200mV, poniżej tej wartości działanie jest niezdefiniowane. Dodatkowo przy braku takiej polaryzacji każde zakłócenie generuje odpowiedź, co właśnie obserwujesz. Daj rezystor od A do Vcc i od B do GND, wartość około 680 om.
Nie napisał tylko znalazł błąd w kodzie, który był zaczerpnięty z pewnego opracowania. Mój obecny kod nie ma z tym nic wspólnego. Nie mogło by być tak, że to przycisk generował by przerwanie?
Pierwszy kardynalny błąd to to że w przerwaniu robisz pętlę opóźniającą a nawet dwie. Przerwanie powinno być jak najkrutsze, może ewentualnie ustawić odpowiednie flagi a te opóźnienia robić w programie głównym. Na początek wywaliłbym je i sprawdził czy jest generowane przerwanie.
Okazało się że w teorii na PCF8574 nie można ustawić jednocześnie 3 wejść i 4 wyjść, przez co nie jesteśmy w stanie odczytać który guzik na klawiaturze został kliknięty (tak wynika z datasheeta). Ustaw PCF'a jako wejścia a resztę wystawiaj z wyjść procka i sprawdzaj. Są inne układy, które w chwili naciśnięcia generują przerwanie.
Tak, ten moduł BT jest ok. Co do generowania nośnej pomiędzy - nie jest to potrzebne. Zapewne wystarczy wymusić odpowiedni stan na pinie RxD nadajnika. Niemniej przy twoich modułach i tak trzeba zrobić kontrolę danych.
MCU taktowany z wewnętrznego generatora RC zapewne? Zmień na kwarc, albo na zegar generowany przez FT232.
Zaproponowałem AT90S2313 bo on nie ma oscylatora wewnętrznego i domyślnie działa na kwarcu (nie dotyczy ATTINY2313!), więc odpada kombinowanie z FUSE. Podłączasz kwarc wg. aplikacji i to wszystko. Powinien generować nawet bez tej pętli DO:LOOP, ale nie przyszło mi nigdy do głowy żeby to sprawdzić, więc 100% pewności nie mam. Pozdrawiam
Za każdym razem, kiedy wgrywam program na procesor za pierwszym odczytem pojawiają się właśnie śmieci, a nie dane, które były wcześniej zapisane, więc chyba jednak w momencie programowania procesora właśnie "wpalam" eeprom. Wiem tylko, że można uniemożliwić zapisywanie eepromu w fusebitach. Niezupełnie, w fusebitach można tylko ustawić, aby nie kasował...
a jak puścisz przyciski to ma przestać chodzić czy ma cały czas generować te impulsy?
program sterujacy 8 urzadzeniami o roznych standardach zajmuje około 2500 bajtow wiec chyba najlepsza bedzie do tego Atmega8, wyprowadzenie sygnalu oczywiscie na jeden pin.
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Problem nie jest z falownikiem. Właściwie w projekcie nie biorę go pod uwagę. Tu raczej nie chodzi o konkretny falownik, tylko o to jak rozwiązać problem jego sterownia PWMem a właściwie jak to zrobić na ATMega8 i Bascomie :) ATMega8 ma możliwość generowania PWM, ale nie potrafię "ugryźć" problemu : jak to zrobić żeby sterować falownikiem. Póki co jakieś...
Przychodzi Tobie prostokąt o wypełnieniu ok. 1-2ms co kilkadziesiąt ms. Musisz podłączyć ten sygnał pod przerwanie w atmega i timerem mierzyć czas pomiędzy zmianą sygnału z "0" na "1" a zmianą z "1" na "0". Z tej informacji generujesz odpowiednie PWM. PS. Ze względu na to, że nowsze atmegi mają więcej wyjść PWM polecam np. atmega88 zamiast atmega8.
A ja zacznę od początku. Co autor miał na myśli? Czy uzyskanie precyzyjnego przebiegu na wyjściu o częstotliwości 1kHz czy precyzyjne generowanie Przerwania? I teraz poprawcie mnie jeśli się mylę. Jeżeli mam precyzyjnie generowane przerwanie i softwarowo generuję przebieg na wyjściu to i tak otrzymam przebieg tak dokładny jak dokładne przerwanie generuje....
tak częstotliwość ma się zmieniać 0-200Hz , ogólnie jest to układ który ma za zadanie impulsy prędkości ze skrzyni biegów dopasować do prędkościomierza wiec poniżej np 2-3Hz częstotliwości wej. , może przestać generować czest. wyj.
Wiem o tym, przerwanie jest generowane, gdy przepełnimy licznik czyli po 65536.
Koniecznie ogranicz prąd, enkodery tego typu mają dosyć dużą rezystancję styków i prądy powinny być niewielkie. 60 impulsów na sekundę powinno być generowane bez żadnych problemów.
Bardzo zaintrygował mnie ten temat, znalazłem tabelkę, gdzie napięciu 0,3 V odpowiada kolor czarny, 0,6 V szary, 1 V biały. Chcąc wyświetlać kolory inne niż czarny, szary, biały muszę generować jakie napięcia ?
Komparator, to czwarta opcja o której zapomniałem - oczywiście bardzo dobre rozwiązanie. Pamiętaj, że komparator może także generować przerwania :) Idę lu lu ...
OCR1A _freq_time; Ponieważ nie znam się na C a też chciałbym się czegoś nauczyć- co robi program w tej linijce? Bo w Bascomie jak wstawię np: OCR1A=50 to procesor generuje sygnał.
Atmega8 generuje sygnal PWM i steruje tranzystorami. na wyjsciu jest 50 Hz. Pomiar napiecia i pradu jest robiony na podstawie wartosci srednich. Sygnaly pomiarowe sa prostowane, otrzymuje dwie polowki i robie z nich srednia wartosc. Czy jak mozna inaczej stabilizowac napiecie i prad? pozdrawiam
Cześć. Praktycznie każdy spełni Twoje wymagania, zarówno w prędkości obliczania jak i ilości miejsc po przecinku. Zrobi to spokojnie nawet ATmega8. Przykład możliwości ATmega88 (odpowiednik ATmega8 z minimalną różnicą dot. timerów): http://obrazki.elektroda.pl/8770689300_1... Przy czym jednocześnie zajmuje się generowaniem sygnału wideo,...
Tutaj wszystko powinieneś znaleźć: http://www.hth.com/filelibrary/PDFFILES/...
Najprościej użyć przerwania generowanego przez timer (ew bezpośrednio z wyjścia OC).
Program wyświetla to co chcesz ale w symulatorze to trwa bardzo bardzo długo. i Teraz ja licznik odlicza 100 impulsów to musisz pozmieniać obliczenia. Podczas symulacji w warunkach wpisz mniejsze wartości to się szybciej doczekasz tego wyświetlenia na lcd albo zwiększ zmienne ręcznie podczas symulacji. sygnał 125khz do generowania PWM 1,25khz. Nie rozumiem?...
Podczas pisania artykułów wykonywałem pomiary poboru prądu przez mikrokonrolery ATmega8 oraz ATmega8A i zgodnie ze wskazaniami Atmela były one najniższe, gdy pin był ustawiony jako wejście z włączonym rezystorem pull-up . Podobne pomiary wykonywałem dla PICów z tym, że na poziomie 20nA, wszystko było zawsze zgodne z dokumentacją. BTW najgorsze co można...
Tylko że impulsy masz podawać na wejścia INTx a nie na wejścia Timerów. Po za tym to Timer2 nie ma wejścia w ATMega8.
Akurat minimalizacja kosztów przez zastąpienie NE555 Atmegą to jakaś bzdura ;-) Skoro masz to zrobić na mikrokontrolerze, to poczytaj o trybie CTC - tym można generować ładne i stabilne przebiegi.
Nie masz na schemacie zasilania drivera do mosfeta. Jeśli to niefiltrowane 12V które zaśmieca silnik tak jak komatssu pisza. Co więcej 0.1R do pomiaru prądu to dużo. Możliwe że przy przekroczeniu prądu pali się mosfet i bierze ze sobą sterownik. Nie wiem też jaki masz layout, możliwe ze indukcyjności połączeń generują szpilki. Czy 0.1R to 5W cermetowy...
Witam! Chcę wykonać odstraszacz gryzoni. W tym celu planuję zastosować generator zbudowany na procesorze atmega8, który będzie generował różne częstotliwości z zakresu 25000 - 50000 Hz. W związku z powyższym mam kilka pytań: - czy musi to być sygnał sinusoidalny (może być prostokątny)? - jaki przetwornik piezoelektryczny (lub coś takiego) zastosować?...
atmega8 generowanie sygnału generowanie impulsów generowanie pradu
elektrozaczep brzeczy romet kierunkowskazy bezpiecznik wycieraczka tylny
kontrolkę poduszki powietrznej pralka electrolux panel sterowania
Renault Grand Espace – zalecane ciśnienie w oponach, wartości dla różnych wersji Cursor C70 błąd E16 – płytka PCB, czujnik prędkości, silnik – diagnostyka bieżni