
Oskar_Zaremba
Użytkownicy-
Zawartość
12 -
Rejestracja
-
Ostatnio
Reputacja
0 NeutralnaO Oskar_Zaremba
-
Ranga
2/10
Ostatnio na profilu byli
Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.
-
częstotliwość ATTiny2313A Licznik ma częstotliwość różną od CPU
Oskar_Zaremba odpisał w temacie użytkownika Oskar_Zaremba • Mikrokontrolery
Okay:/ Już wiem jak zrobić i okres i wypełnienie:) #include <avr/io.h> int main(void) { DDRB = _BV(DDB2); // ustawienie pinu PB0 w stan wyjścia TCCR0A = _BV(COM0A0) | _BV(WGM01); // ustawienie generatora w tryb CTC TCCR0B = _BV(CS00); // wybór zegara z skalowaniem przez 1 OCR0A = 5; // ustawienie górnej wartości licznika DDRB |= _BV(DDB3) | _BV(DDB4); TCCR1A = _BV(COM1A1) | _BV(COM1B1) | _BV(COM1B0); TCCR1B = _BV(WGM13) | _BV(CS10); OCR1A = 5; OCR1B = 8; ICR1 = 10; } Przepraszam za przedwczesne pytania...Dopiero się uczę:/- 12 odpowiedzi
-
- mikrokontroler
- licznik
-
(i 2 więcej)
Tagi:
-
częstotliwość ATTiny2313A Licznik ma częstotliwość różną od CPU
Oskar_Zaremba odpisał w temacie użytkownika Oskar_Zaremba • Mikrokontrolery
Eh:/ Tutaj przyznam się, że nie do końca wszystko rozumiem:/ Pisząc szczerze to jeszcze 3 tygodnie temu zaczynałem od 0 czytając o elementach biernych typu rezystor i widzę, że jeszcze ogrom wiedzy do zdobycia mnie czeka…☹Wracając do tematu. Tracę jeden kanał sprzętowego wyjścia tzn. pin przełączany przy przepełnieniu licznika zapewne, ale o co chodzi z tym drugim, gdzie mam okres i wypełnienie?? Widzę, że timer 16 bitowy ma różne rozdzielczości, ale czy można mu ustawić i okres, i wypełnienie jednocześnie? Widzę w tabeli generatora fali dla np. PWM, Phase and Freq Correct, że jako TOP jest po- 12 odpowiedzi
-
- mikrokontroler
- licznik
-
(i 2 więcej)
Tagi:
-
częstotliwość ATTiny2313A Licznik ma częstotliwość różną od CPU
Oskar_Zaremba odpisał w temacie użytkownika Oskar_Zaremba • Mikrokontrolery
Nie twierdziłem, że PWM to jedyny tryb pracy pinów. Pisałem tylko że częstotliwością sygnału PWM można sterować tylko przy użyciu prescalera. Teraz widzę, że rzeczywiście, jeśli ustawię WGM00 i WGM01 to mam np. generator ustawiony na fast PWN, a jeśli dodam do tego WGM02 i COM0A0 to będę miał fastPWM z przełączaniem przy przepełnieniu licznika po uzyskaniu wartości OCRnx tyle tylko że wtedy nie mam już możliwości sterowania wypełnieniem sygnału a skoro steruje i tak tylko samą częstotliwością to po co mi wtedy PWM z stałym wypełnieniem 50%. Przy ustawieniach, które podałem, czyli wykorzystaniu- 12 odpowiedzi
-
- mikrokontroler
- licznik
-
(i 2 więcej)
Tagi:
-
częstotliwość ATTiny2313A Licznik ma częstotliwość różną od CPU
Oskar_Zaremba odpisał w temacie użytkownika Oskar_Zaremba • Mikrokontrolery
To rozwiązało mój problem:) #include <avr/io.h> int main(void) { DDRB = _BV(DDB2); // ustawienie pinu PB0 w stan wyjścia TCCR0A = _BV(COM0A0) | _BV(WGM01); // ustawienie generatora w tryb CTC TCCR0B = _BV(CS00); // wybór zegara z skalowaniem przez 1 OCR0A = 1; // ustawienie górnej wartości licznika } Dziękuje za odpowiedzi.- 12 odpowiedzi
-
- mikrokontroler
- licznik
-
(i 2 więcej)
Tagi:
-
częstotliwość ATTiny2313A Licznik ma częstotliwość różną od CPU
Oskar_Zaremba odpisał w temacie użytkownika Oskar_Zaremba • Mikrokontrolery
Widzę, że jedynym sposobem sterowania częstotliwością PWM jest używanie prescalera (1, 8, 64, 256, 1024) co w moim przypadku jest niewystarczające, ponieważ potrzebuję większej precyzji. W mojej głowie rodzi się teraz pytanie… Po co w trybie CTC jest możliwość tak dokładnego sterowania częstotliwością, skoro nie ma możliwości realnego tego wykorzystania?? Za każdym razem, kiedy sprawdzę którąś z flag i wykonam instrukcję tracę takty zegara więc czynności wykonywane przez program nie będą zgodne z częstotliwością (powyżej pewnej granicznej wartości) z podanego wzoru…:/- 12 odpowiedzi
-
- mikrokontroler
- licznik
-
(i 2 więcej)
Tagi:
-
częstotliwość ATTiny2313A Licznik ma częstotliwość różną od CPU
Oskar_Zaremba odpisał w temacie użytkownika Oskar_Zaremba • Mikrokontrolery
PWM to dobry pomysł, ale z tego co pamiętam to można sterować w nim tylko współczynnikiem wypełnienia a ja potrzebuję wysterować konkretną wartość częstotliwości Rozumiem, że częstotliwość taktowania licznika jest wyrażona przez wzór, który podałem natomiast wykonanie instrukcji warunkowej plus czyszczenie flagi i przełączenie bitu portu zajmuje dodatkowe takty licznika. Te dodatkowe takty sprawiają, że przegapiam kilka przepełnień licznika, a więc przełączam port kilkukrotnie wolniej aniżeli częstotliwość zegara dobrze to rozumiem? Czy jest zatem jakiś sposób, żeby uzyskać na pinie- 12 odpowiedzi
-
- mikrokontroler
- licznik
-
(i 2 więcej)
Tagi:
-
częstotliwość ATTiny2313A Licznik ma częstotliwość różną od CPU
Oskar_Zaremba odpisał w temacie użytkownika Oskar_Zaremba • Mikrokontrolery
Próbowałem to też zrobić na przerwaniach, ale bez skutecznie. Czy jest jakiś inny sposób, aby uzyskać potrzebną mi częstotliwość? A tak przy okazji jaka jest szybkość działania tej pętli while i gdzie można znaleźć tą informację??- 12 odpowiedzi
-
- mikrokontroler
- licznik
-
(i 2 więcej)
Tagi:
-
częstotliwość ATTiny2313A Licznik ma częstotliwość różną od CPU
Oskar_Zaremba opublikował temat w Mikrokontrolery
Dzień Dobry, Mam pytanie odnośnie programowania mikro kontrolerów. Zajmuję się akurat ATTINY2313A. Mam ustawiony wewnętrzny oscylator na częstotliwość 4 MHz bez wewnętrznego podziału zegara przez 8. Poniżej mój krótki kod w #include <avr/io.h> int main(void) { DDRB = _BV(DDB0); // ustawienie pinu PB0 w stan wyjścia TCCR0A = _BV(WGM01); // ustawienie generatora w tryb CTC TCCR0B = _BV(CS00); // wybór zegara z skalowaniem przez 1 OCR0A = 1; // ustawienie górnej wartości licznika- 12 odpowiedzi
-
- mikrokontroler
- licznik
-
(i 2 więcej)
Tagi:
-
Tak przy okazji generatorów i syren:) Czy jest tu ktoś kto mógłby mi wytłumaczyć, jak działa poniższy układ?:) Jak działa każdy tranzystor, jakiego jest rodzaju tj. npn, pnp a ba nawet w jakim układzie pracuje OE, OC zdaje mi się, że wiem, ale jak analizować takie cuda od czego zacząć itd. pojęcia nie mam:/
-
Kurs budowy robotów - #8 - zdalne sterowanie IR (RC5)
Oskar_Zaremba odpisał w temacie użytkownika Komentator • Artykuły redakcji (blog)
Dzień Dobry, Mam małą zagwozdkę odnośnie zmiennych globalnych. Bardzo proszę o wyjaśnienie mi poniższego prostego zresztą kodu: #include <RC5.h> #define TSOP_PIN 3 RC5 rc5(TSOP_PIN); byte address; byte command; byte toggle; int robotMode = 0; void setup() { Serial.begin(9600); } void loop() { if (rc5.read(&toggle, &address, &command)) { switch (command) { case 10: robotMode = 1; break; case 146: robotMode = 0; break; } Serial.println("Tryb pracy robota: " + String(robotMode) + " Tutaj widać zmieniona -
Kurs budowy robotów - #2 - sterownik robota, czujniki
Oskar_Zaremba odpisał w temacie użytkownika Komentator • Artykuły redakcji (blog)
Dzień Dobry, Chciałbym wykorzystać piny ekspandera z sheildu robota dla ultradźwiękowego czujnika odległości. Powiedzmy, że chcę użyć pinu 7 i 6. W jaki sposób mogę się do nich odwołać tj. np. ustawić ich pinMode?? -
Oskar_Zaremba dołączył do społeczności
-
Kurs elektroniki II - #8 - wstęp do układu NE555
Oskar_Zaremba odpisał w temacie użytkownika Komentator • Artykuły redakcji (blog)
Dzień Dobry, Chciałbym się dowiedzieć w jaki sposób działa Generator astabilny. Chodzi mi konkretnie o przełączanie diod czerwonej z zieloną. Rozumiem że na początku kiedy kondensator C3 nie jest naładowany to z nóżki 3 popłynie prąd przez diodę czerwoną powodując jej świecenie. Dzieje się tak jak sądzę z dwóch powodów: po pierwsze nie będzie różnicy potencjałów w gałęzi LED1 i R3 ponieważ z nóżki 3 będziemy w przybliżeniu mieli +6V i od baterii +6V, niema różnicy potencjałów (napięcia) prąd nie płynie, po drugie napięcie z nóżki 3 podawane jest do gałęzi LED1 i R3 w kierunku zaporow