kanal admux

Znaleziono około 379 wyników dla: kanal admux
  • Atmega8 - Błędne odczyty ADC, jak poprawić kod?

    Witam może tak: ADMUX&=0xF0; ADMUX|=kanal; Ty zawsze masz MUX = 0001

    Mikrokontrolery AVR   21 Lip 2011 14:26 Odpowiedzi: 2    Wyświetleń: 887
  • REKLAMA
  • [Atmega8][C] Dwa kanały ADC - sklejają się, dlaczego?

    Wkradł się chochlik w funkcji pomiar, źle zmieniasz rejestr ADMUX. Powinno być [syntax=c]ADMUX = (ADMUX & 0xF8) | kanal;[/syntax] Tak to zapewne odczyt był zawsze tylko z kanału 5

    Mikrokontrolery AVR   15 Sty 2012 09:35 Odpowiedzi: 2    Wyświetleń: 1122
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • ADC - błędy przy multipleksowaniu kanałów, możliwy przesłuch między kanałami

    Chodzi mi o wynik. [syntax=c] pomiary[kanal++] = ADC; ADMUX = 0b11000000 | (kanal & 0b00000111); SET_BIT(ADCSRA, ADSC); [/syntax] ADMUX = 0b11000000 | (kanal & 0b00000111) dla kanału =0 ADMUX = 0b11000111 ADMUX = 0b11000000 | (kanal & 0b00000111) dla kanału =1 ADMUX = 0b11001000 dla wartości 0b11001000 wchodzi na pomiar różnicowy. Gdy ADMUX będzie miał...

    Mikrokontrolery AVR   22 Maj 2011 18:58 Odpowiedzi: 24    Wyświetleń: 2452
  • REKLAMA
  • Atmega16 - ADC nie działa na jednym z kanałów (adc0-3) - jak to naprawić?

    Takie coś łatwiej zrobić tak ISR(...) kanal= ADMUX&0x03; if(kanal==0) ........ if(kanal==1) ............. Lepiej i przejrzyściej !

    Mikrokontrolery AVR   07 Maj 2010 19:19 Odpowiedzi: 8    Wyświetleń: 1377
  • [ATmega8] [ATmega8][C] - Zakłócenia przy pomiarze z dwóch kanałów ADC

    Pomogła zmiana preskalera. Dodatkowo AREF podłączyłem kondensatorem 100nF, AVCC jest filtrowane przez cewkę i kondensator. Pomiary są stałe. Poniżej finalna funkcja i inicjalizacja pomiarów. [syntax=c] void init_adc(void) { ADMUX |= (1<<REFS0); ADCSRA |= (1<<ADEN) | (1<<ADPS1) | (1<<ADPS2); } uint16_t pomiar(uint8_t kanal) {...

    Mikrokontrolery AVR   30 Lip 2016 13:18 Odpowiedzi: 17    Wyświetleń: 1461
  • REKLAMA
  • ATMEGA32 - ADC miesza kanały przy włączaniu wielu wejść

    [syntax=c]uint16_t pomiar( uint8_t kanal) { ADMUX = (ADMUX & 0b11100000) | kanal; ADCSRA |= (1<<ADSC); while(ADCSRA & (1<<ADSC)); return ADC; };[/syntax] Zmieniałem funkcje odczytu na taką, czyli oczekiwaniem na stan bitu i wszystko teraz działa poprawnie, wszystko na szczęście jest w dokumentacji, jeszcze raz przejrzałem i znalazłem,...

    Mikrokontrolery AVR   10 Lut 2015 11:16 Odpowiedzi: 8    Wyświetleń: 1062
  • [C] [C][Atmega8] Brak odświeżania bufora ADC z PC4 przy multiplexowaniu

    Nie robi różnicy czy odczytujesz ADCL ADCH czy ADCW,chodzi tylko o wyrównanie bitów przez ADLAR. Ale to tak na marginesie,bo to nie jest powodem, że nie czyta ci z kanału 4. Nie stosuj bezpośrednich zapisów pod ADMUX tak jak np ADMUX = 4; bo automatycznie zmieniasz konfiguracje przetwornika. Zobacz jak ja korzystam z pierwszych czterech kanałów: Inicjalizacja:...

    Mikrokontrolery AVR   20 Kwi 2009 12:11 Odpowiedzi: 7    Wyświetleń: 2028
  • ADC - Jak uniknąć powielania pomiarów w kodzie AVR?

    Będzie działać, ale: [syntax=c]ADMUX &=0xF8; // <-- wybierasz kanał 0 ADMUX |= kanal; // <-- wybierasz docelowy kanał[/syntax] Powinieneś to zrobić w jednej operacji: [syntax=c]ADMUX = (ADMUX & 0xF8) | kanal;[/syntax]

    Robotyka Modelarstwo i CNC   09 Lis 2013 17:42 Odpowiedzi: 3    Wyświetleń: 996
  • Attiny25 - problem z multipleksowaniem ADC w przerwaniu, zmienne kanały

    Tak, tu popełniłem mały błąd chyba z rozpędu, przy takiej konfiguracji odczytujesz poprzedni kanał. Zamień: ADMUX = _BV(MUX0) | _BV(MUX1);// kanał ADC3 z ADMUX = _BV(MUX0); // Kanał ADC1 i wszystko powinno być ok. Czyli przy inicjalizacji startujesz adc z kanałem 1, dgy konwersja kończy się masz wynik w ADC jeżeli kanał = 1 to wartość z ADC trafia do...

    Mikrokontrolery AVR   15 Mar 2012 15:51 Odpowiedzi: 17    Wyświetleń: 2247
  • LCD 4x20 z przesuwanym i migającym kursorem w 4 wierszu

    wiesz jak się w C używa funkcji ? Programowałeś kiedyś w C wcześniej? bo to chyba tutaj jest pies pogrzebany void SetAdcKanal(unsigned char kanal) { ADMUX = ((ADMUX&0xE0)+ kanal); //------------------------------kan 1 ADCSRA |= _BV(ADSC); while(bit_is_set(ADCSRA,ADSC)... {} pomiar_1=ADC;...

    Mikrokontrolery AVR   06 Wrz 2010 22:14 Odpowiedzi: 122    Wyświetleń: 9146
  • REKLAMA
  • [ATmega16] [ATmega16][C] ADC - szukam prostego kursu obsługi przetwornika ADC

    Prosty przykład (oscylator wew. 8MHz): uint16_t pomiar(uint8_t kanal) { ADMUX = (ADMUX & ~0x07) | (kanal & 0x07);// ustaw kanal ADCSRA |= _BV(ADSC); //rozpocznij konwersje while(ADCSRA & _BV(ADSC)); //czekaj az skonczy return ADCW; //zmierzona wartosc } int main(void) { ADCSRA =...

    Mikrokontrolery AVR   12 Maj 2010 00:47 Odpowiedzi: 39    Wyświetleń: 8711
  • [atmega32][C] - kalibracja ACS712 - błędne odczyty

    Nie wiem co jeszcze napisać. ADC na rym kodzie działa dobrze a chyba jasno określiłem w tytule o co chodzi i zaznaczyłem w kodzie niewłaściwy sposób "wyzerowania" "wyskalowania" pomiaru aby pokazywał faktyczną wartość przepływającego prądu a nie cuda niewidy. Pre-definicja ADC [syntax=csharp] //********** definicje zmiennych dla ADC volatile uint16_t...

    Mikrokontrolery AVR   10 Sie 2014 11:49 Odpowiedzi: 9    Wyświetleń: 2187
  • [C][AVR] ustawianie preskalera, błąd podczas kompilacji

    Witam, próbowałem sobie napisać prosty programik do wyświetlania wartości napięcia z ADC5 na LCD, jednak nie wiem czemu wyświetla mi błąd: "error: called object '64' is not a function" #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/pgmspace.h> #include <stdio.h> #include "lcd.h"...

    Mikrokontrolery AVR   15 Lip 2011 11:29 Odpowiedzi: 4    Wyświetleń: 1310
  • [Atmega32][C] Uśrednianie pomiarów z trzech kanałów ADC

    A nie lepiej zrobić najpierw wszystkie pomiary a później odświeżyć LCD? Czy zastosowanie tego urządzenia wymaga naprzemiennych szybkich pomiarów? Jeśli nie to można zrobić tak: [syntax=c] ADMUX = 0x00; temp = 0; for(pomiar_licznik=0; pomiar_licznik<6; pomiar_licznik++) { ADCSRA |= (1 << ADSC); while(ADCSRA & (1 << ADSC)); temp +=...

    Mikrokontrolery AVR   28 Gru 2011 12:38 Odpowiedzi: 2    Wyświetleń: 1602
  • Przetwornik ADC AVR - Błąd przy próbie kompilacji

    Po przeniesieniu funkcji pomiar() przed main() pozbyłem się jedynch errorów, jednak doszły kolejne.[syntax=text]main.c:(.text+0x16)... multiple definition of `main' ./ADC_V2/main.o:main.c:(.text+0x0): first defined here make: *** [ADC.elf] Error 1[/syntax] Program wiele się nie różni: [syntax=text]#include<avr/io.h> #include<util/delay.h>...

    Mikrokontrolery Początkujący   10 Lis 2015 17:35 Odpowiedzi: 6    Wyświetleń: 1164
  • Odczyt z dwóch kanałów ADC Atmega32 - błędne przeploty danych

    Witam. Odczyt z jednego kanału ADC nie stanowi problemu, postanowiłem zrobić odczyt z dwóch kanałów i pojawiają się błędy, gdyż to co odczytuje na drugim przedostaje się na odczyt z pierwszego kanału. Co napisałem nie tak i jak to poprawić? W 1 odczycie odczytuje temperaturę z czujnika LM35 a w drugim kanale jest zwykły potencjometr tylko. uC to Atmega32...

    Mikrokontrolery AVR   06 Lip 2018 23:20 Odpowiedzi: 2    Wyświetleń: 456
  • Uśrednianie pomiarów z ADC- z podejrzeniem paranoi.

    _marek- tak właściwie to działa. Bo jest jeszcze funkcja: //*****************************a tu funkcja zmieniająca kanały- definicja- to chyba też gaskoina void SetAdcKanal(void) { static uint8_t kanal; ADMUX = ((ADMUX&0xE0)+ kanal);//zmienić kanał napiecie[kanal++]=ADC_sr; // zapisać pomiar w tablicę if(kanal>=LICZBA_KANALOW)...

    Mikrokontrolery AVR   02 Gru 2010 21:48 Odpowiedzi: 28    Wyświetleń: 6744
  • amtega32 - ADC,błąd pomiaru, powiązane napięcia na różnych kanałach

    Panowie Kombinuje z pomiarem napięcia na potencjometrach z wykorzystaniem atmego32. 4 potencjometry podpięte do 4 kanałów ADC. Połączenia nie mogę przedstawić ze względu na problem z wgrywaniem obrazków, lecz jest ono podręcznikowe. kod: [syntax=c] ADMUX |= (1<<REFS0); ADCSRA |= (1<<ADEN) | (1<<ADPS1) |(1<<ADPS0) ; char tekst[30];...

    Mikrokontrolery AVR   18 Sty 2014 00:50 Odpowiedzi: 11    Wyświetleń: 1743
  • ATmega8 ADC – dlaczego odczyt ADC zawsze 0? Prośba o sprawdzenie kodu C

    Kol. dondu pisał o pisaniu algorytmu(przebieg programu), a można to też wykonywać w pisaniu programu. Przedstawiam Ci takiego gotowca - co Ty na to? [syntax=c] #include <avr/io.h> #include <util/delay.h> #define led1 PB0 //defincja diody podłaczonej do PB0 void init_ADC (void); //deklaracja funkcji uint16_t pomiar(uint8_t kanal) //deklaracja...

    Mikrokontrolery AVR   02 Kwi 2015 20:34 Odpowiedzi: 97    Wyświetleń: 6741
  • [Atmega8 ADC] dynamiczna zmiana kanału pomiarowego

    Cześć wszystkim, próbuję zrobić kilkukanałowy woltomierz na bazie uK Atmega8L-8PU z wyświetlaniem na LCD 2x16. Woltomierz działa, tylko w obu linijkach wyświetla się wynik z kanału 5. Przy zmianie napięcia obie linie wskazują tę samą wartość. Podczas debugowania udało mi się stwierdzić, że bity MUX odpowiedzialne za wybór kanału nie zmieniają się, chociaż...

    Mikrokontrolery AVR   09 Gru 2011 17:26 Odpowiedzi: 5    Wyświetleń: 1659
  • [ATMEGA328p-pu] - Nieprawidłowy pomiar ADC w programie BLDC_mega328p

    W przerwaniu dodałeś funkcję: [syntax=c]uint16_t pomiar (uint8_t kanal) { ADMUX = (ADMUX & 0b11111000) | kanal; ADCSRA |= (1<<ADSC); //start konwersji while ( ADCSRA & (1<<ADSC) ) ; return ADCW; }[/syntax] która zmienia ustawienia ADC, którego multiplekser używany jest do sterowania silnikiem. W którym miejscu kodu zadbałeś o ponowne...

    Mikrokontrolery AVR   23 Lis 2014 17:44 Odpowiedzi: 17    Wyświetleń: 2001
  • [ATmega16][C/AVRStudio] Układ nadążny za słońcem+LCD+MENU

    Koledzy, staram się teraz uruchomić przetwornik ADC. Ma on sczytywać napięcie po fotorezystorze. Ale cały czas pokazują mi się 0.00. Proszę o sprawdzenie poniższego kodu: #include <stdio.h> #include <avr/io.h> #include <util/delay.h> #include "hd44780.h" char V11[20]; //formulowanie wyniku double V1; //przechowywanie...

    Mikrokontrolery AVR   10 Lis 2010 22:21 Odpowiedzi: 104    Wyświetleń: 14547
  • [C] Czy ATOMIC_BLOCK wpływa na dokładność odmierzania czasu timerem w C?

    Witam. Piszę program na ATMEGA32. Przedstawiam część kodu i opis. Dane z pomiarów analogowych gromadzę w tablicy pomiar . Tablica pomiar_temp wykorzystywana jest do dalszych operacji. Czy poniższy ATOMIC_BLOCK może wprowadzić duże opóźnienia w dla wykonywania procedury obsługi przerwania. [syntax=c] volatile uint32_t pomiar[8]; volatile uint8_t kanal...

    Mikrokontrolery AVR   18 Lip 2011 20:32 Odpowiedzi: 6    Wyświetleń: 3341
  • Atmega32 - Przełączanie między kanałami ADC (3 kanały) - Kodek źródłowy i konfiguracja

    Gdy jeszcze bawiłem się ATmegami , 328 przede wszystkim to żonglowałem kałami ADC w tajmerze. Co ileś tam przerwań, przykładowo 10, był odczyt ADC i zmiana kanału. Po nastepnych 10 przewaniach znowu odczyt ale już ze zmienionego kanału i zmiana na następny kanał. Działało to po prostu pewnie. Lepiej będzie to widać na przykładowym kodzie. Oczywiście...

    Mikrokontrolery AVR   20 Mar 2023 23:07 Odpowiedzi: 7    Wyświetleń: 762
  • Atmega8 [C] - Sterowanie diodami na podstawie czujników linii TCRT5000

    Witam, uczę się języka C i od kilku dni się głowię nad pozornie prostą instrukcją w C. ten układ to tester do czujników linii w przyszłym linefollowerze model tcrt5000 zależy mi na tym, że gdy ADC4 wykryje coś to żeby zapaliły się dwie diody, gdy ADC3 to niech zapali się tylko LED1, a gdy ADC5 wykryje niech zapali się tylko LED2, próbowałem wiele instrukcji...

    Mikrokontrolery   09 Lut 2017 14:34 Odpowiedzi: 4    Wyświetleń: 486
  • Pomiar prądu w latarce z programem pisanym pod atmege 8 w języku C.

    Witam! Mam problem z programem pisanym pod atmege8 w języku C. Założenia są proste - układ steruje diodą LED mocy poprzez wyjście PWM'u podłączonego pod tranzystor mosfet. Na początku wypełnienie zmieniałem dodając bądź odejmując założoną liczbę od rejestru OCR1A. Jednak z racji wytracania dużej ilości energii na rezystorze postanowiłem, że zamiast...

    Mikrokontrolery AVR   14 Sie 2016 10:27 Odpowiedzi: 8    Wyświetleń: 1356
  • ATMega8 - Zawieszanie się mikrokontrolera przy podłączeniu czujnika i wyświetlacza LED

    Może ktoś ma teorie dlaczego tak się dzieje, oczywiście poza zakóceniami. Procesor szaleje , bo nie wie co robić - brakuje "ADMUX |=(ADMUX & 0xF8)|kanal;"

    Mikrokontrolery   30 Kwi 2015 11:35 Odpowiedzi: 7    Wyświetleń: 1191
  • Problem z przetwornikiem ADC w programie śledzącym słońce.

    Popełniasz błąd: [syntax=c]ADMUX=(ADMUX &~ (1<<MUX0) &~ (1<<MUX1) &~ (1<<MUX2)); //PORTA0 _delay_us(5); <<== Tutaj musi być kilka us zwłoki!!! ADCSRA|=(1<<ADSC); //aktywowanie konwerjsi while(ADCSRA & ADSC);[/syntax] Nie możesz startować konwersji natychmiast po zmianie kanału w ADMUX.

    Mikrokontrolery Początkujący   17 Paź 2022 20:23 Odpowiedzi: 27    Wyświetleń: 1338
  • [ATMEGA 32][C] - Pomiar napięcia zmiennego przez ADC - program

    To jest akurat dobrze, w rejestrze OCR1A mam wartosc porownywaną tak jest w dokumentacji. Uproscilem troszke program, napisalem nowy do pomiaru narazie na jednym kanale, ten sam problem. Wygląda na to jakby przerwanie w ogóle nie było wykonywane. Co ciekawe napisałem sobie z ciekawości program do obsługi identycznie skonfigurowanego przerwania CTC z...

    Mikrokontrolery AVR   19 Gru 2013 15:59 Odpowiedzi: 10    Wyświetleń: 3420
  • [AVR-GCC] Jak poprawnie odczytać wiele kanałów ADC w ATMega8?

    Hej, To działa: ADCSRA |= _BV(ADSC); // Rozpoczęcie przetwarzania z kanału 0 !!!!!!!!!!!!!!!!!!!! while(bit_is_set(ADCSRA,ADSC)... Oczekiwanie na zakończenie przetwarzania {}; pomiar1=ADCH; // Zapisanie starszych 8 bitów wyniku konwersji w kanale 0 do zmiennej "pomiar1" ADMUX |= _BV(0); // Wybranie...

    Mikrokontrolery   06 Wrz 2008 11:09 Odpowiedzi: 14    Wyświetleń: 5621
  • ADC - problem ze zmianą napięcia odniesienia w ADMUX dla różnych kanałów

    A czy przy każdym żądaniu wybierasz odniesienie czy tylko zmieniasz kanał?

    Mikrokontrolery AVR   28 Kwi 2009 08:25 Odpowiedzi: 8    Wyświetleń: 2170
  • Sterowanie ładowaniem akumulatora kwasowego: algorytm CC/CV, AVR, PWM, ADC

    Drodzy Panowie mam problem z wsadem do procka który ma sterować ładowarką akumulatora kwasowego, zasada działania ma być tak że po uruchomieniu urządzenia jest mierzone napięcie i gdy jest ono mniejsze od 14.4 V to ma zacząć się ładowanie prądem o stałej wartości (cc) a gdy napięcie na akumulatorze osiągnie 14.4V ładowarka ma zostać przełączona w tryb...

    Początkujący Elektronicy   24 Lis 2014 08:19 Odpowiedzi: 3    Wyświetleń: 1146
  • [C][Eclipse] - Eclipse nie widzi podstawowej biblioteki

    Proszę, oto kod: [syntax=c] #include <avr/io.h> #include <avr/stdlib.h> #include <avr/stdio.h> #include "HD44780.h" #include "sterowanie.h" // ********* INICJALIZACJA *********** void Initalize(){ //----------- ŻARÓWKA------------ TCCR1B |= (1<<CS11) | (1<<CS10); TCCR1A |= (1<<WGM10) | (1<<COM1B1); BULB_PWM_DIR...

    Programowanie Początkujący   22 Sie 2013 15:59 Odpowiedzi: 4    Wyświetleń: 2667
  • [C] Problem z ustawieniem wyjść/wejść przy używaniu ADC

    Witam Dopiero uczę się C i natknąłem się na problem w takim kodzie : [syntax=c] #include <avr/io.h> #include <util/delay.h> #include"obsluga_LCD.h" uint16_t pomiar(uint8_t kanal); uint32_t wynik; uint16_t pm; uint8_t cz_d, cz_u; uint8_t a; int main(void) { ADMUX |= (1<<REFS0); //(1<<REFS1); ADCSRA |= (1<<ADEN) | (1<<ADPS1)...

    Mikrokontrolery AVR   28 Wrz 2013 09:21 Odpowiedzi: 6    Wyświetleń: 1410
  • Niepoprawna regulacja PWM za pomocą przetwornika ADC.

    Witam, Zbudowałem na płytce stykowej taką przetwornicę typu Buck jak na zdjęciu i mam problem z regulacją napięcia. Równolegle z obciążeniem jakim jest rezystor 100om dołożyłem dzielnik napięcia z rezystora 51k i 10k do pomiaru napięcia wyjściowego. Dzielnik jest podpięty do wejścia ADC3 (PC3). Zadaję napięcie wyjściowe przetwornicy za pomocą potencjometru...

    Mikrokontrolery AVR   16 Wrz 2020 18:49 Odpowiedzi: 5    Wyświetleń: 969
  • Atmega16 - Zapis danych do eeprom po zaniku zasilania

    Szanowni Forumowicze, Chciałbym zrobić układ, który będzie zapisywał dane czasu do pamięci eeprom po wyłączeniu zasilania. W tym celu na wyjściu stabilizatora liniowego LM7805 umieściłem diodę schotky, za nią kondensator podtrzymujący zasilanie, zasila on sam procesor i reset procka. Przed diodą jest zasilanie reszty układów. Układ wykrywania awarii...

    Mikrokontrolery AVR   03 Paź 2018 11:57 Odpowiedzi: 22    Wyświetleń: 1878
  • [C] Atmega32 - licznik czasu - niedokładność pomiaru przy 8MHz

    Witam, mam problem z dokładnością licznika czasu. Licznik ma mierzyć czas pomiędzy pojawieniem się napięcia większego od 512 na pinie PA7 a pojawieniem się zbocza narastającego na INT0. Licznik zlicza setne sekundy i sekundy. Późni się około 10 sekund na minutę. Korzystam z Atmegi32 o taktowaniu 8MHz. Wynik wyświetlam na wyświetlaczu. Napiecię na pin...

    Mikrokontrolery Początkujący   10 Sty 2017 17:17 Odpowiedzi: 3    Wyświetleń: 975
  • atmega16 - Jak odczytać ADC z dwóch kanałów jednocześnie?

    Tak się kończy uwielbienie dla operatorów |= i &= na rejestrach. Ja bym to zrobił tak: Najpierw definiujemy stałą - wzorzec bitowy tego, co ma być w ADMUX poza wyborem kanału, np. #define ADMUXVAL (1<<REFS0) a potem w programie, żeby wybrać sobie kanał, piszemy: ADMUX = ADMUXVAL | 4; albo ADMUX = ADMUXVAL | 5; W ten sposób: - skracamy program...

    Mikrokontrolery Początkujący   29 Kwi 2013 15:14 Odpowiedzi: 19    Wyświetleń: 2997
  • [C] ADC Atmega16A pomiar napięcia - niestabilny i niedokładny.

    Spróbuj zamienić twoją procedurę : [syntax=c]uint16_t pomiar(uint8_t kanal) { // ustwienie wybranego kanalu ADC w rejestrz ADMUX ADMUX |=(ADMUX & 0xF0) | kanal; // START pomiaru przez ustawienie bitu ADSC w rejestrze ADCSR ADCSRA |= (1<<ADSC); while( ADCSRA & (1<<ADSC)); // po zakonczeniu pomiaru , gdy bit ADSC=0, zwrócenie wyniku...

    Mikrokontrolery AVR   14 Cze 2012 09:57 Odpowiedzi: 26    Wyświetleń: 5817
  • [ATmega 644p] ATmega 644p: Jak uśrednić próbki ADC z wielu kanałów w C?

    Ja w swoim urządzeniu zastosowałem taki algorytm: unsigned char ilpom; // licznik ilości pomiarów. dla każdego kanału wykonuję w pętli ilpom pomiarów. Najpierw zeruję tablicę - np. kanal Dodano po 7 unsigned int pomcal(char kanal, char licznik) // funkcja pomiaru ADC { uint16_t pomiar(uint8_t); // deklaracja typu funkcji dla pomiar...

    Mikrokontrolery AVR   19 Sie 2010 14:13 Odpowiedzi: 3    Wyświetleń: 1962
  • Program do sterowania serwami- prośba o dokończenie

    No to jeszcze aktualny kod. sulfura- a nie mój. [syntax=c] #include <avr\io.h> #include <avr\interrupt.h> #define LICZBA_KANALOW 5 #define OCR1A_VALUE ((2*F_CPU/100)/LICZBA_KANALOW) #define OCR1B_MIN (6*F_CPU/10000) #define OCR1B_ADC ((18*F_CPU/10000)/1024) #if OCR1A_VALUE > 65500UL #error OCR1A_VALUE is too high, please change preskaler...

    Mikrokontrolery   27 Sie 2013 15:13 Odpowiedzi: 43    Wyświetleń: 8001
  • Sprawdzenie schematu oświetlenia LED z HC-SR501, IRL540 i ATmega8 - uwagi?

    No nie znam sie za bardzo ale jestem przekonany że problem jest w schemacie, jeśli jednak się myle proszę oto kod: [syntax=csharp] #include <avr/io.h> #include <avr/interrupt.h> //#include <avr/pgmspace.h> #include <util/delay.h> #define FOTOTRANZYSTOR (1<<PC0) #define LEDS (1<<PB3) #define LEDS_OFF PORTB &= ~LEDS;...

    Mikrokontrolery Początkujący   19 Gru 2015 21:14 Odpowiedzi: 20    Wyświetleń: 1515
  • Przetwornik ADC/EEPROM - Zapisywanie, odczyt wartości ADC z i do EEPROM, Atmega

    Witam. Na początek chciałem wstawić kawałek programu, a w zasadzie cały, który na tą chwilę kręci silnikiem, wyświetla wartość adc i jest jakiś tam zalążek do obsługi eeprom-ram. Proszę wybaczyć, jeżeli jest to może trochę pokręcone i napisane nie profesjonalnie, ale działa, a na kosmetykę to jeszcze za wcześnie na moim poziomie. Jestem w pracy, więc...

    Mikrokontrolery AVR   07 Lip 2016 13:11 Odpowiedzi: 32    Wyświetleń: 2952
  • atmega8A PU - Serwo sg90 - Dwa napięcia sterujące serwem - program

    [syntax=c] #include <stdio.h> #include <avr/io.h> #include <util/delay.h> #define LED1 PB5 //definicja LED1 (do którego pinu podłączony LED1) #define LED2 PB4 //definicja LED2 (do którego pinu podłączony LED2) int main(void) { DDRB |= (1<<LED1) | (1<<LED2); //LED Pins as Out ADCSRA |= (1<<ADEN)|(1<<ADPS1)|(1<&...

    Robotyka Modelarstwo i CNC   15 Sty 2014 12:28 Odpowiedzi: 5    Wyświetleń: 1665
  • Atmega 8 - Niewłaściwy odczyt prądu z LM358 przy zasilaniu 5V i 12V

    Witam wszystkich serdecznie Znalazłem na elektrodzie kiedyś pomysł kolegi Dar.El dotyczący pomiaru prądu na Atmedze z wykorzystaniem wzmacniacza operacyjnego LM358. Układ złożyłem, program "napisałem" jednak coś nie działa tak jak trzeba :). Układ zasilany jest z zasilacza 5V, natomiast pomiar mierzone żarówki 4 W zasilane z osobnego źródła 12V - masa...

    Mikrokontrolery AVR   27 Sie 2013 08:13 Odpowiedzi: 30    Wyświetleń: 12108
  • Jak ustawić rejestry ADMUX dla poprawnego odczytu z ADC4 zamiast ADC0?

    Po resecie cały ADMUX==0 Załóżmy że korzystasz z zewn. napięcia odniesienia i nie ustawiasz bitu ADLAR. No to nic nie ustawiasz i masz pomiar z kanału 0 z zewn nap. odniesienia. Ale jak masz konfigurację w innym pliku do podaj jaką. No i w końcu- jaki procesor? No i co ty wstwiasz w końcu do ADMUX? najpierw- nic. Potem PC0- jaki PinC- przecież to stan...

    Mikrokontrolery AVR   04 Paź 2010 17:16 Odpowiedzi: 19    Wyświetleń: 2490
  • ADC przetwarzanie dwóch kanałów, wzajemne zakłócenia

    Problem został rozwiązany, wystarczyło na końcu procedury przetwarzania drugiego kanału ponownie włączyć pierwszy kanał ADMUX &=~_BV(1);

    Mikrokontrolery AVR   09 Mar 2009 08:33 Odpowiedzi: 5    Wyświetleń: 1469
  • Nieregularne wartości ADC w ATmega8 przy użyciu potencjometru - co sprawdzić?

    Witam. Mam problem z atmegą8. A mianowicie adc zachowuje się dość dziwnie. Tak jakby miało małą rozdzielczość. Gdy ustawię na wejście adc potencjometr i kręcę nim to sytuacja wygląda tak że nie mogę uzyskać niektórych wartości. np mam potencjometr ustawiony na 668 a następna wartość jaką mogę uzyskać to 682 a kolejna to 684 a kolejna 690 a wartości...

    Mikrokontrolery   18 Lis 2017 00:56 Odpowiedzi: 2    Wyświetleń: 429
  • [tiny26][c]problem z czytaniem i porownywaniem tablic

    Jeszcze tylko przy okazji dodam, ze zapomniales ustawic w rejestrze ADMUX numer kanalu ADC i zrodlo referencyjne. Oczywiscie mozna przyjac wartosci defaultowe jakie sa po resecie, tylko czy na pewno tego chcesz?

    Mikrokontrolery AVR   21 Sie 2009 08:51 Odpowiedzi: 6    Wyświetleń: 2271
  • Lokalizacja PIN AVCC w modelu ATB 1.04 - Dyskusja na podstawie zdjęcia

    #include <avr/io.h> #include <avr/delay.h> #include "MK_LCD/mk_lcd44780.h" uint16_t pomiar(uint8_t kanal); //deklaracja funkcji programu int main(void) { //inicjalizacja wyświetlacza LCD lcd_init(); // wyświetlacz podświetlony lcd_LED(1); //wybór napięcia odniesienia w postaci VCC //ADMUX |= (1<<REFS0); Za pierwszym razem zakomentowałem...

    Projektowanie i Tworzenie Po godzinach   06 Mar 2021 15:06 Odpowiedzi: 31    Wyświetleń: 1728
  • [Atmega32][C]monitorowanie solara i sterowanie obw.230V

    #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> #include "HD44780.h" //w Project->configuration option ustawiamy freqency 16000000 #define LICZBA_KANALOW 4 //cztery kanały- tu można zwiększyć ilość kanałów #define NAPIECIE_AKU_MIN11.0 #define NAPIECIE_AKU_MAX14.0 #define NAPIECIE_SOLAR_MIN...

    Mikrokontrolery AVR   18 Wrz 2010 23:02 Odpowiedzi: 45    Wyświetleń: 7066
  • [ATMega16] [ATMega16][C] - Jak poprawnie odczytać ADC z dwóch kanałów?

    Aj, ale błąd. Faktycznie, po poprawieniu zaczęło działać bardzo fajnie :) Dzięki bardzo za podpowiedzi Poprawne ADC_read: [syntax=c]unsigned int ADC_read(uint8_t ch) { ch= ch & 0b00000111;//sprawdzenie, czy kanal jest cyfra od 0 do 7 ADMUX = (ADMUX & 0xF8)|ch; // wyzerowanie poprzedniego wyboru i nastepny wybor kanalu ADCSRA|=(1<<ADSC);...

    Mikrokontrolery AVR   14 Gru 2012 15:21 Odpowiedzi: 2    Wyświetleń: 1344
  • [ATtiny44][C] - ADC nie działa przy zewnętrznym AREF

    Uruchomiłeś zasilanie i niespełna mikrosekundę później wystartowałeś pomiar. Trochę mało czasu na ustabilizowanie się napięcia na układzie, który ma rozbudowaną strukturę z wzmacniaczem operacyjnym wewnątrz. Sam ADC też potrzebuje kilku uS na naładowanie kondensatora samplującego po ustawieniu kanału ADMUX.

    Mikrokontrolery AVR   03 Gru 2020 19:39 Odpowiedzi: 3    Wyświetleń: 576
  • [Atmega8][C] - PWM - opis, uruchomienie, zastosowanie

    Nie wiem skąd ten upór w stosowaniu PWM do sterowania serwa. Jeśli ustawimy prescaler tak aby podstawowy interwał był 20ms- a tak wymaga serwo- to rozdzielczość regulacji długości impulsu- zasadniczo 1-2ms jest bardzo kiepska. Zwłaszcza przy kilku serwach. Tu masz "gotowca"- ale dla ATMega32- pewnie ustawienia rejestrów dla ATMega8 mogą się nieco różnić....

    Mikrokontrolery AVR   04 Sty 2012 22:25 Odpowiedzi: 42    Wyświetleń: 13584
  • ATMEGA8 - Klawiatura analogowa, problem z działaniem klawiszy i diod LED

    Witajcie. Ostatnio zmagam się z obsługą klawiaturki analogowej składającej się z 3 klawiszy. Poradziłem sobie z uruchomieniem ADC na ATmedze8 i zrobiłem sobie 2 Timery programowe . Teraz próbuje zgodnie z przedstawioną przez Mirka (w filmach z cyklu "Przetwornik ADC - część 06") koncepcją zrobienia repeat klawiszy. https://www.youtube.com/watch?v=BdCCe6XO...

    Mikrokontrolery AVR   17 Mar 2015 20:01 Odpowiedzi: 3    Wyświetleń: 1500
  • Przetwornik ADC - undefined reference to 'pomiar' w AVR C

    Witam. Testuje sobie teraz przetwornik ADC i zanim coś konkretnego zacznę robić chciałem sprawdzić czy poprawnie napisałem kod do uruchomienia i korzystania z przetwornika: [syntax=c] /* * main.c * * Created on: 20 lis 2016 * Author: kuba grad */ #include <avr/delay.h> #include <avr/io.h> uint16_t pomiar(uint8_t kanal); int main(void) {...

    Mikrokontrolery AVR   20 Lis 2016 12:47 Odpowiedzi: 2    Wyświetleń: 591
  • [ATmega8][C] Obsługa ADC - odczyt kanałów dla linefollowera

    Zmień podejście. Tryb free running praktycznie nie nadaje się w sytuacji w której planujesz zmieniać kanały. Lepiej zastosować single conversion i przerwania. W takiej sytuacji w procedurze obsługi przerwania zapisujesz do tablicy wartość ADC, inkrementujesz indeks tablicy, inkrementujesz ADMUX (kanał) i zaczynasz kolejną konwersję. I tak w kółko. W...

    Mikrokontrolery AVR   14 Mar 2011 17:50 Odpowiedzi: 41    Wyświetleń: 7015
  • atmega8 program w c pomiar napięcia, źle wyświetla

    Witam Mam problem z programem do pomiaru napięcia i wyświetleniu na lcd. Program niby działa ale wyświetlane wartości są przypadkowe 0-150(jednak jak kręcę potencjometrem to coś się zwiększa wchodząc na wyższe wartości 200-455) program jest w fazie początkowej. Jestem początkującym w programowaniu procesorów. #include <avr/io.h> #include "HD44780.h"...

    Mikrokontrolery AVR   16 Sty 2012 01:11 Odpowiedzi: 15    Wyświetleń: 2493
  • [bascom] Jak zrealizować ADC noise reduction w Bascom dla atmega8?

    To nie jest wcale takie skomplikowane. Musisz włączyć zezwolenie na przerwanie od zakończonej konwersji. Wtedy kiedy wprowadzisz uC w stan Iddle albo Noise canceler start konwersji nastąpi automatycznie. Wyboru kanału/wejścia dokonuje się rejestrem ADMUX. Niestety jest w nim też wybór źródła napięcia odniesienia a nie pisałeś czego chcesz użyć. Każde...

    Mikrokontrolery AVR   14 Cze 2017 17:30 Odpowiedzi: 2    Wyświetleń: 1107
  • ATmega8535 ADC – pytania o konfigurację ADCSRA, ADMUX i odczyt ADCH

    Witam Czytam o przetworniku adc w atmega8535 i mam pare watpliwości/pytań void adc_read(void) { int i adcres1=0, adcres2=0; ADCSRA |= _BV( ADEN ) | _BV( ADPS2 ) | _BV( ADPS1 ); //wlacz przetwornik i ustwa czestotliwosc na 250khz 16E6/64 z racji ze 8 bitow mozna taka czestotliwość ustawic ADMUX = MUX0 | _BV( REFS0...

    Mikrokontrolery   07 Lip 2006 19:12 Odpowiedzi: 1    Wyświetleń: 993
  • [Atmega] [Atmega][C] Problem z odczytem współrzędnych z 4-przewodowego panelu dotykowego

    Jeśli ADMUX służy do wybierania kanału to czy czasem w obu funkcjach nie masz wybieranego tego samego kanału ? ADMUX|=(0<<MUX4)|(0<<MUX3)|(... Do tego jeśli będziesz przełączał kanały uważaj na "OR |" w ADMUX|= Przesuwanie zera (0<<MUX0)...

    Mikrokontrolery AVR   03 Sie 2011 14:52 Odpowiedzi: 9    Wyświetleń: 2216
  • Atmega8 - Dlaczego przekaźnik nie działa po modyfikacji pętli while?

    Witam. Napotkałem na pewien problem podczas programowania swojego układu. Otóż w momencie kiedy w pętli while mam tylko: PORTD&=~1<<PD5; , tzn kod pętli while wygląda tak : [syntax=c] _delay_ms(1000); PORTD&=~LED_SYG1; PORTD^=POMPA;[/syntax] Przekaźnik już nie cyka. Nie chodzi tu o zawieszanie się procesora, gdyż jak dołożę linijkę odpowiedzialną...

    Mikrokontrolery Początkujący   18 Maj 2013 17:52 Odpowiedzi: 3    Wyświetleń: 1374
  • [ATMEGA32][C] Czy ktoś pomoże uporać się z TWI i PCF8583

    Ok...ten częściowy kod jest nieco zmodyfikowany ale teraz też lista komunikatów o błędnych wywołaniach funcji jest dłuższa niż program... //######################################... //########## A T M E G A _ 3 2 ########## //######################################... #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include...

    Mikrokontrolery AVR   10 Paź 2010 19:47 Odpowiedzi: 6    Wyświetleń: 3139
  • Przetwornica obniżająca napięcie, brak napięcia na wyjściu.

    Trochę chaotycznie napisany program: 1. skoro używasz przesunięć bitowych, to używaj je konsekwentnie. bo sprawdzenie, czy prawidłowo ustawiasz ADMUX zmusza do szukania. co oznacza 0xE9 itp. Przy zmianie kanału zmieniaj tylko bity ADMUX odpowiedzialne za nr kanału: A single conversion is started by writing a logical one to the ADC Start Conversion bit,...

    Projektowanie Układów   24 Cze 2015 15:35 Odpowiedzi: 4    Wyświetleń: 876
  • AT90CAN128 - Zawieszenie programu przy obsłudze ADC i CAN-USB

    Coś takiego? [syntax=c] #include "config.h" #include "can_lib.h" #define channel 3 volatile uint8_t napiecie; int main(void) { //konfiguracja ADC ADMUX |= (1<<REFS0) | (1<<REFS1) | (1<<ADLAR); //napiecie odniesienia = 2.56V ADCSRA |= (1<<ADEN) | (1<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (0<<ADPS0); //wyzwolenie...

    Mikrokontrolery AVR   10 Gru 2013 21:03 Odpowiedzi: 8    Wyświetleń: 2241
  • [ATmega 644p][C] Analizator - problem z przerwaniem

    Witam Chce stworzyć prosty analizator widma oparty na ATmedze oraz wyświetlaczu LCD HD44780. Płytkę z filtrami stworzyłem wcześniej i przebadałem oscyloskopem i wszystko działa jak należy. Problemy zaczęły się dopiero przy programowaniu procesora. Poradziłem sobie z obsługą wyświetlacza i, z pomocą forumowiczów, z obsługą ADC. Mam teraz problem z przerwaniem....

    Mikrokontrolery AVR   01 Wrz 2010 14:56 Odpowiedzi: 14    Wyświetleń: 3455
  • Przetwornik A/C w AVR i program obsugi w assemblerze

    w pętli głównej programu umieszczasz odwołanie: ldi R16, X rcall Pomiar_ADC pomiar_ADC: ; ============ program pomiaru ADC=====================================... ldi R20, 0b11000000 ; ustawiamy PAX jako wejscie przetwornika napięcia i wybieramy add R20, R16 ; parametr określający nr kanału out ADMUX, R20 ; jako napięcie odniesienia Vref wewnętrzne...

    Mikrokontrolery   25 Sty 2008 16:50 Odpowiedzi: 7    Wyświetleń: 1912
  • Sterowanie silnikiem krokowym: stopniowy wzrost prędkości, analiza kodu C++

    Trochę poprawiłem. Zostawiłem tylko jeden timer. To chyba sporo zmieniło w działaniu. #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> #include "HD44780.h"//radzio #include "TWI.h"//radzio #define LICZBA_KANALOW 4 //cztery kanały- tu można zwiększyć ilość kanałów #define...

    Mikrokontrolery   27 Gru 2010 00:14 Odpowiedzi: 81    Wyświetleń: 7118
  • [ATMEGA8] [ATMEGA8][ASM] ADC nie aktualizuje wyniku przy powtórnych pomiarach

    A do którego wejścia ADC się kolega podpina? Gdzie w programie instrukcja wyboru kanału przetwornika (ADMUX)?

    Mikrokontrolery AVR   17 Sie 2008 20:17 Odpowiedzi: 7    Wyświetleń: 1761
  • [atmega8] Dodatnie napięcie 1.4V na wejściu ADC przy braku sygnału

    dołączam schemat http://obrazki.elektroda.net/92_12323859... i kod #include "definicje.h" int pomiar, wynik; void Init_ADC(void) { // Wybranie wewnetrznego napiecia odniesienia ADMUX |=_BV(REFS0); ADMUX |=_BV(REFS1); //ADMUX |=_BV(REFS1); // Sposób zapisu chce odczytac 10 bitów ADMUX &=~_BV(ADLAR);...

    Mikrokontrolery AVR   23 Sty 2009 14:35 Odpowiedzi: 10    Wyświetleń: 1923
  • C-AVR - Sterowanie serwem modelarskim za pomocą potencjometru - sprawdzenie kodu

    Witam koledzy! Ostatnimi czasy pracuję nad pewnym projektem sterowania serwem modelarskim za pomocą potencjometru. Zasada działania prosta: im większy kąt obrotu gałki potencjometru od położenia zerowego skrajnego tym większy kąt wychylenia serwa. Aczkolwiek chciałem uzyskać również możliwość ograniczenia kąta tz. Np. Przekręcenie gałki potencjometru...

    Mikrokontrolery   24 Maj 2014 18:17 Odpowiedzi: 3    Wyświetleń: 921
  • ATmega8, WinAVR, C – sterowanie diodami LED przez ADC i potencjometr, nie działa

    To polecenie wybiera pin ADC1 a nie ADC0. Dla ADC0 wszystkie bity MUX3..0 muszą być równe 0. Jeśli pin ADC1 nie jest podłączony do jakiegoś potencjału, to wyniki pomiaru będą raczej trudne do przewidzenia.

    Mikrokontrolery AVR   20 Kwi 2011 21:09 Odpowiedzi: 14    Wyświetleń: 3940
  • [atmega32][C] PCF8583 odczyt czasu daty i dnia tygodnia

    Zapewne coś namieszałem bo nadal mam błędny odczyt [syntax=cpp] #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> #include "HD44780.h" #include "i2c_twi.h" //********** funkcje przetwornika ADC char buffer_n[8]; volatile uint16_t pomiar[6] __attribute__((section(".noinit"))); void inline SetAdcKanal(unsigned...

    Mikrokontrolery AVR   09 Sty 2012 02:09 Odpowiedzi: 22    Wyświetleń: 4333
  • [Atmega32] [Atmega32][C] Przetwornik A/D w trybie free - wynik odczytu to 0, co robię źle?

    Witam serdecznie. Korzystam z AVR Studio i staram się uruchomić przetwornik w trybie free. Skonfigurowałem co potrzeba ale niestety ciągle wynik z odczytu wynosi 0. Bardzo proszę o pomoc, być może coś pominąłem. #include <avr/io.h> #include <util/delay.h> #include "lcd.h" #include <stdint.h> uint16_t wart_adc=0; int main(void)...

    Mikrokontrolery   31 Gru 2008 19:00 Odpowiedzi: 3    Wyświetleń: 1086
  • [Atmega8] [Atmega8][C] - Jak rozróżnić przerwanie LOW->HIGH i HIGH->LOW na INT0?

    czyli zawsze te najbardziej znaczące bity ? dla 4 bitów rozdzielczości będzie wyglądało tak jak poniżej ? Wersja 1: [syntax=c]int pomiarADC(uint8_t index) //zakres<0,10> oznacza ile bitow chcemy { ADMUX &= ~(1 << ADLAR); // zeruje ADLAR setMux(index);// ustawia odpowiedni kanal ADCSRA |= (1 << ADSC);// start ADC while (ADCSRA &...

    Początkujący Naprawy   21 Lip 2013 16:01 Odpowiedzi: 93    Wyświetleń: 8481
  • [ATmega16][C] - Zmiana prescalera w trakcie trwania programu

    [syntax=c] int main (void) { ADMUX |= (1<<REFS0); ADCSRA |= (1<<ADEN)|(1<<ADPS2); uint16_t pomiar(uint8_t kanal); uint8_t DutyCycle; uint16_t Ton; DDRD |= (1<<PD5); TCCR1B |= (1<<WGM13); TCCR1A |= (1<<COM1A1); TCCR1B |= (1<<CS10); //prescaler ICR1 = 100; //wartosci startowe chwilowe OCR1A = 60; while(1) { pomiar(0);...

    Mikrokontrolery AVR   10 Sty 2015 19:40 Odpowiedzi: 7    Wyświetleń: 783
  • ATmega32 ADC - odczyt zer mimo podania napięcia na wejście A0

    .... ADCSRA=0x85; //wpisanie 1 na Enable i ustawienie prescalera ADMUX=0x00; //wybieram kanał 0 ADCSRA=1<<ADSC//uruchamiam konwersję ...i wyłączasz przetwornik oraz zerujesz bity preskalera. ADCSRA |= 1<<ADSC Poza tym po włączeniu przetwornika wypadałoby wykonać pustą (dummy) konwersję.

    Mikrokontrolery   19 Maj 2006 13:05 Odpowiedzi: 4    Wyświetleń: 2408
  • MegaSuperDebounce - Biblioteka zaawansowanej obsługi przycisków AVR, ARM PIC ...

    Skopiuj sobie ze strony. Ja też tak robiłem i wszystko śmiga. Dodano po 1 Szanowni Państwo zwracam się do was z uprzejmą prośbą ponieważ w moim kodzie wywala mi bład: https://obrazki.elektroda.pl/6318220800_... Tutaj listingi moich kodów: main.c [syntax=c]#define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h>...

    Mikrokontrolery Początkujący   31 Sty 2021 12:28 Odpowiedzi: 67    Wyświetleń: 19008
  • [ATtiny13][C] - Obsługa ADC dwa kanały, niepoprawne działanie jednego kanału.

    Witam, Proszę o pomoc, żeby ktoś rzucił okiem co jest nie tak. Chodzi o to żeby sczytać wartości z dwóch lm35, porównać je i sterować trzema elektrozaworami. Dwa mają się załączać na ok 40st(czujnik2), a jeden gdy temp1>temp2. Czujnik2 działa ok, problem jest z pierwszym. Lm'y są ok cały czas równolegle podpięte pod arduino, pokazują temperaturę...

    Mikrokontrolery   17 Mar 2015 17:56 Odpowiedzi: 13    Wyświetleń: 1404
  • Atmega 8 - Odczyt ADC z dwóch pinów zwraca 0, jak to naprawić?

    Musisz przez wpisem do ADMUX nowego kanału wykasować wcześniejszą zawartość tych bitów, czyli ADMUX&=0b11111000; ADMUX|=ch;

    Mikrokontrolery AVR   22 Lis 2011 18:01 Odpowiedzi: 2    Wyświetleń: 1424
  • ATMEGA8: Odczyt z ADC1 i ADC2 wpływa na ADC3 - co jest nie tak?

    Witam Zmiana kanalu w tym przypadku nie będzie działała tak jak myślisz. Najpierw wpisujesz do ADMUX jedynkę na MUX1 (wcześniej chcesz ustawić napięcie odniesienia na wewnętrzne 2,75) czyli masz ADMUX8 11000010 Parę linijek dalej robisz operację sumy z rejestrem ADMUX ustawiająć jedynkę na MUX0, więc w rezultacie masz: ADMUX8 11000011 Tym sposobem ustawiłeś...

    Mikrokontrolery   17 Mar 2007 20:38 Odpowiedzi: 21    Wyświetleń: 3324
  • Błędny odczyt LM35 na wyświetlaczu 7-segmentowym z ATmega16

    Kanał 1 zdecydowanie nie tak się wybiera: ADMUX = 0b0000111; To ci wybiera kanał 7, w dodatku wyłącza wewn. Vref i musisz podać zewnętrzne na końcówkę Vref. Kolejny błąd: pomiar=(ADCH&512)|ADCL; ADCH & 512 da ci zawsze zero, bo ADCH jest 8-bitowy. Powinno być pomiar=ADC; Kolejne problemy to zmienne d1 i d2. Są 15-bitowe (bo ze znakiem), jak je przemnożysz...

    Mikrokontrolery   11 Sty 2011 10:52 Odpowiedzi: 11    Wyświetleń: 1530
  • Zasady pisania programów pseudowielowątkowych na małych proc

    Fakt, nie było pytania. Tylko sugestia- czy można to zrobić inaczej? Bo w zasadzie robię to dotychczas tak jak to opisał mirekk. Z całej dyskusji dotarło do mnie tylko to że można spróbować zastosować bufor- czy pierścieniowy czy FIFO to tak dokładnie nie zrozumiałem. Jakąś implementację bufora w C ściągnę z netu i będę próbował zrozumieć a potem przerobić...

    Mikrokontrolery   12 Kwi 2011 22:58 Odpowiedzi: 103    Wyświetleń: 15095
  • ATMEGA 16 - Spadek napięcia na diodzie LED czerwonej

    Witaj. Ponieważ zasugerowałeś pokazanie schematu i programu, to do tego opisu bardzo by się przydał. http://obrazki.elektroda.pl/6543054700_1... http://obrazki.elektroda.pl/9066595000_1... http://obrazki.elektroda.pl/5463226100_1... Jako napięcie contrastu mam icl7660 w standardowej aplikacji (nie wrysowane...

    Mikrokontrolery Początkujący   27 Lis 2013 12:45 Odpowiedzi: 6    Wyświetleń: 2886
  • [C] ATMEGA8 - Niezerujący się bit ADSC w ADC, chaotyczne wyniki na LCD

    Witam mam malenki problemik z ADC na atmega8: mianowicie chodzi o to ze nie zeruje mi sie bit ADSC, ktory to sygnalizuje koniec konwersji ADC. Wyniki na LCD sa chaotyczne (wyglada na to ze dziala tu jakis magiczny random). Jesli widzicie jakis blad prosze o pomoc KOD: [syntax=c] /* * test.c * * Created on: 2011-07-24 * Author: METALLMANIAC */ #include...

    Mikrokontrolery AVR   07 Sie 2011 10:09 Odpowiedzi: 25    Wyświetleń: 2273
  • Atmega32[C]voltomierz z dwoma progami napięć załącz/wyłącz

    witam ponownie...otóż dobra wiadomość jest taki że dzięki wyrozumiałości i wysiłkom kolegów aby wlać mi do głowy trochę oleju nazwanego "C" podumałem pooglądałem i zacząłem pisać program od nowa....efekt tego taki że mam działający program choć z małą usterką .... otóż wyświetla mi po obu zdefiniowanych napisach trzy cyfry pływające w zakresie od 165...

    Mikrokontrolery AVR   10 Wrz 2010 09:37 Odpowiedzi: 18    Wyświetleń: 2895
  • Termometr samochodowy z funkcją woltomierza

    Tak jak napisałem w poście jest to mój pierwszy projekt w C i ciężko powiedzieć że opanowałem programowanie w C od początku do końca jednak projekt ukończyłem i jestem zadowolony że działa jak chciałem:) Pomiar napięcia zrobiłem w taki sposób (w tym przypadku wspierałem się jakimś projektem z avrfreaks.net): unsigned int adc_sample(uint8_t Channel)...

    DIY Konstrukcje   02 Lut 2011 20:28 Odpowiedzi: 44    Wyświetleń: 34711
  • Atmega8 BASCOM - Pomiar prądu z wykorzystaniem wewnętrznego komparatora

    Za pomocą komparatora - nie. Za pomocą ADC w trybie pomiaru różnicowego - tak. Przeglądnij datasheet i sekcję opisującą kanały ADC (rejestr ADMUX)

    Mikrokontrolery AVR   05 Gru 2012 23:17 Odpowiedzi: 1    Wyświetleń: 1953
  • [atmega 128][ASM][avrStudio]] - zmiana kanałów ADC nie działa?

    Bit kompatybilności wyłączony, tym bardziej że osobno wszystkie kanały działają. Przepisywanie do admux nowego kanału dzieje się w obsłudze przerwania adc conversion complete także już po zakończeniu działania, więc powinno działać. Pominięcie pierwszego wyniku zrobię, ale coś mi sie nie wydaje żeby to ruszyło. Jak nie znajdę rozwiązania to spróbuję...

    Mikrokontrolery AVR   22 Mar 2013 13:42 Odpowiedzi: 3    Wyświetleń: 1542
  • [ATMEGA32][C]Gdzie zapisać ustaw. czasu do PCF8583 czy 24C02

    Witam ponownie. Mówią nie chwal dnia przed zachodem słońca...jak z jednym się uporałem to znów co innego mi mąci. Kłopot z wyborem gdzie zapisać nastawy dwukanałowego timera bo zmiennych jednocyfrowych jest łącznie 4x4 dziesiątki godzin , jednostki godzin , dziesiątki minut , jednostki minut osobno dla włącz osobno wyłącz razy dwa kanały.Ma do wyboru...

    Mikrokontrolery AVR   04 Lis 2010 09:50 Odpowiedzi: 23    Wyświetleń: 2945
  • [C] Jak zamienić byte na string i wysłać przez uart

    Witam, po przesiadce z bascom do winavr piszę przykładowe programy w celu poznania C dla AVR, tym razem chciałbym wysyłać po rs232 odczyt z przetwornika analogowego. Używam a328p i po krótkim zapoznaniu się z dokumentacją układu ustawiłem transmisję i adc [syntax=c] #include <avr/io.h> #include <util/delay.h> int main( void ) { UCSR0B =...

    Mikrokontrolery AVR   05 Maj 2012 15:28 Odpowiedzi: 12    Wyświetleń: 2651
  • Atmega32 - Konflikt zegara i przetwornika ADC przy inicjalizacji przerwań

    Witam, Mam pewien problem i nie bardzo pomysł na jego rozwiązanie. Mam program zegara i czujnikami dallas18b20 i wszystko fajnie działa. Potrzebowałem uruchomić dodatkowo przetwornik adc i zaczęły się schody. Gdy skonfigurowałem przetwornik program po dojściu do momentu inicjalizacji przetworika się wiesza, a dokładniej wygląda, jakby procek się resetował...

    Mikrokontrolery   31 Maj 2012 19:37 Odpowiedzi: 4    Wyświetleń: 2510
  • Przetwornik ADC w ATmega8 i pomiar z dwóch kanałów

    Chcałem prosić o poradę. Chcę zastosować ATMega8 i wewnętrzne przetworniki A/C. Pomair ma być dokonywany z dwóch kanałów. Ma to wyglądać tak że kanał jest podawany jako argument w funkcji (program w C). Np. unsigned int adc(unsigned char kanal); W nocie katalogowej czytałem ze pierszy pomiar po uruchomieniu przetwornika (wpisaniu do ADEN) zajmuje najdłużej...

    Początkujący Elektronicy   25 Lis 2007 20:06 Odpowiedzi: 2    Wyświetleń: 1304
  • [ATmega8][C] Wentylator sterowany PWM i pomiar temperatury przez ADC

    Witam, mam problem z działaniem obu tych układów razem. Sterowanie wentylatora odbywa się przez PWM które jest wyliczane na podstawie zmierzonej temperatury z ADC. Posiadam dwa wentylatory, dwa czujniki LM35, korzystam z licznika 1 (rejestry OCR1A i OCR1B). I tu pojawia się problem. Wraz ze wzrostem wartości PWM odczyt temperatury skacze i gdy PWM jest...

    Mikrokontrolery AVR   27 Mar 2013 17:44 Odpowiedzi: 16    Wyświetleń: 3996
  • [ATmega128][C] ADC, coś źle robię - nie widzę tego.

    Próbuję odczytać napięcie z li-pola. Wszystko skonfigurowałem jak poniżej. Kod: DDRD=0xFF; DDRF=0x00; InitADC(); while(1); { PORTD=ReadADC(BATT); TimeDelay(wait); } gdzie poszczególne funkcje i definicje: #define BATT 1 void InitADC() // Inicjalizacja przetwornika A/C { ADMUX = 0x60; // 0 1 1 0...

    Mikrokontrolery AVR   28 Gru 2010 23:32 Odpowiedzi: 4    Wyświetleń: 1095
  • ATMEGA32 - Wynik pomiaru ADC zawsze 0, dioda 2 się zapala, kod w C

    witam Taktuję mikrokontrolerem ATMEGA32 8 Mhz . Mam problem otóż wynik pomiaru mi wychodzi 0 za każdym razem ponieważ druga dioda mi się zapala . Oto kod:[syntax=cpp]/* * main.c * * Created on: 19-03-2015 * Author: DamianB */ #include <avr/io.h> #include <avr/interrupt.h> int k =0; //zmienna pomiarowa ISR(ADC_vect) //Przerwanie ADC Conversion...

    Mikrokontrolery AVR   19 Mar 2015 14:01 Odpowiedzi: 3    Wyświetleń: 783
  • ATMEGA32 ADC - sampluje z kanału 0 zamiast z 0 do 7

    Mam takowy problemik. Moj ADC jest tak skonfigurowany : adcinit DDRA = 0x00 ; //set ADC PA0 as input PORTA = 0x00 ; // ~( 1 <<0 ); // no internal pull-up ADMUX |= (1 << REFS0) | (1 << REFS1) ; // Set ADC reference to 2.56 internal bandgap ADMUX |= (1 << ADLAR); // Left adjust ADC result to allow...

    Mikrokontrolery AVR   28 Lis 2008 01:43 Odpowiedzi: 4    Wyświetleń: 2365
  • [c] Atmega8: Zmiana potencjometru wpływa na odczyt temperatury z LM35, dlaczego?

    Chciałem zrobić pomiar napięcia i temperatury na atmega8 i mam problem z przetwornikiem. Pod kanal 0 ADC0 podłączony mam potencjometr 100k a pod kanal 1 ADC1 mam podłączony lm35. Problem polega na tym, że jak kręcę potencjometrem to wartość temperatury mi się zmienia. Dlaczego tak się dzieje? Oto kod: #include <avr/io.h> #include <util/delay.h>...

    Mikrokontrolery AVR   13 Paź 2014 08:39 Odpowiedzi: 2    Wyświetleń: 1293
  • Jak przetworzyć sygnał EMF na sygnał z czujników Halla w sterowniku BLDC?

    FLEA jest z powodzeniem dostępna na stronie co wyżej podałem. Tam też jest nawet widok lustrzany płytki w PDFie. Wystarczy na laserówce wydrukować, czyli termotransferem + B327 podziałać i sukces. Na ebayu jak dobrze poszukasz to parę atmega8A kupisz za 25zł (5 sztuk) wraz z wysyłką :D . U nas jak wiesz za sztukę z wysyłką wychodzi coś koło 17zł. Co...

    Robotyka Modelarstwo i CNC   13 Sty 2014 11:58 Odpowiedzi: 34    Wyświetleń: 23190
  • [ATTINY26] Jak ustawić ADMUX w ATTINY26 dla pomiaru względem masy na 5 wejściach?

    Jeśli piszesz w BASCOM to wystarczy polecenie GETADC z parametrem liczbowym określającym numer kanału.

    Mikrokontrolery AVR   11 Sie 2008 17:27 Odpowiedzi: 18    Wyświetleń: 3118