W ten sposób ustawiasz bity w rejestrze nie kasując poprzedniej wartości(dopisujesz). int getADC(char channel) ... ADMUX |= channel; Kasuje je ponowne użycie ADC_Init(): void ADC_Init(void) ... ADMUX = (1 << REFS0);
Panowie jak do tej pory to ja widzę tylko próbę zrównania mnie z ziemią, a brak rzeczowego tłumaczenia :). Forum jest od zadawania pytań i udzielania na nie odpowiedzi przez tych, którzy je znają. W takim razie gdybym chciał zmierzyć napięcie różnicowe pomiędzy ADC4 a ADC3 w Bascomie, to jak wyglądałby kod? Getadc(19)? Skoro ADMUX jest wskaźnikiem dla...
Może być kłopot, gdyż zwykła funkcja GETADC() może ograniczyć liczbę kanałów do 10 - zatem tylko normalne. Dopiero w trybie różnicowym jest dostęna opcja wzmocnienia sygnału różnicowego x1, x20. W sumie jeśli dałoby się wybrać wybrać kanał 11 (Chodzi tylko o to by do bitów ADMUX trafiła poprawna wartość.) poprzez GETADC(11), to wtedy napięcie "dodatnie"...
Możesz w Bascomie załatwić wszystko na samych rejestrach, skoro polecenie Getadc się "gubi": ADMUX=b11010000 ' Vref =2.56 z zewnetrznym kondensatorem, pomiar dla ADC0 ADCSRA=b11000111 'włączony ADC i uruchomiona konwersja, wyłączone przerwania, preskaler na 128 teraz czekasz np 100ms i odczytujesz stan rejestrów ADCH (MSB ) i ADCL (LSB) wyzwalasz następną...
Piszę program na Atmegę8 z zastosowaniem przetwornika ADC i poległem na zmiennych. Będę odczytywał wartość napięcie w zakresie 0,370 - 0,693 i zamieniał je na temperaturę. Zdjąłem charakterystykę f(v) = mc+b i próbuję zaprząc procesor do działania. Na razie przetwornik (chyba) nie ruszył, bo nie widać zmian na wyświetlaczu, ale póki co zająłem się sprawdzaniem...
Bascom to taki prostacki jezyk w ktorym wpisujac zmienna=getadc(0) powoduje ze ta komenda za mnie ustawia multiplexer wejsciowy na wejscie 0, uruchamia konwersje i czeka az sie skonczy Co w tym prostackiego? Patrz co robi: Dlatego potrzebuje opis co po kolei wpisywac do ktorego rejestru aby ustawic multiplexer wejsciowy, wystartowac konwersje, potem...
Chcąc bezproblemowo zmieniać kanały powinieneś zostawić GETADC() i w konfiguracji zmienić na SINGLE . W trybie FREE przetwornik mierzy ciągle (ustawiając flagi przerwania ADI F po każdym pomiarze), a ostatni wynik będzie znajdował się w zmiennej specjalnej ADCD (typu Word ). Jednak zmiana kanału pomiaru jest nieco problematyczna, bo kanały musiałbyś...
Witam, Jest sobie termostat do laminatora oparty o ATMega8 - dzieło ze strony: http://thomaspfeifer.net/laminator_tempe... Ponieważ zrobiłem swoją wersję tego urządzenia wzbogaconą o dodatkowe funkcje, muszę zmodyfikować program, a z programowaniem w C nie miałem dotąd za wiele wspólnego... Na początek postanowiłem sprawdzić działanie...
Ok coś tam rozumiem ale mam jeszcze taki problem albo prośbę bo nie wiem jak ustawić rejestry w attiny13 Tccr0a Tccr0b Admux Adcsra Adcsrb jakbym chciał pwm 8 bitowy (attiny13) z max częstotliwością tj chyba FAST PWM na pwm0a i pwm0b czyli 9600000/256=37500Hz przy działającym ADC. Reszta ustawień zostaje tak jak jest. To już będzie wszystko. Zacznij...
Witam! Chciałem się zabawić z przetwornikiem ADC, podłączyłem go w/g tego schematu: [url=http://1.bp.blogspot.com/... Tylko że bez dławika, bo znajomy elektronik powiedział mi że mogę go pominąć. To tyle jeśli chodzi o schemat. Powiem tylko ze dodałem jeszcze do portu b...
Ok. w takiej postaci kod kompiluje się bez błędów i warningów. Ale dalej w terminalu dostaję 3ff. Gdy zmieniłem 3 argument funkcji itoa na 10 to zamiast 3ff dostaję 1023, ale nadal tylko i wyłącznie to, niezależnie od wartości na wejściu ADC. ADC mam dobrze skonfigurowany? [syntax=c] #include <stdlib.h> #include <avr/io.h> #include <util/delay.h>...
Czy jest możliwość obsłużenia tego w Bascomie? Funkcja GETADC() Przeznaczenie: Pobiera wynik przetwarzania z wbudowanego przetwornika ADC na wybranym kanale. Składnia: zmienna = GETADC( nr_kanału , offset ] ) gdzie: zmienna - zmienna typu Word do której wpisana będzie przetworzona wartość, nr_kanału - numer kanału przetwornika ADC. Zwykle z zakresu...
var = GETADC(channel [,offset]) Remarks Offset- An optional numeric variable of constant that specifies gain or mode. This option has effect on newer AVR micro’s only. The offset will be added by the channel value and inserted into the ADMUX register.
Problemem jest wyłączanie przetwornika. Przetworniki w ATMegach dają pierwszy pomiar błędny (wynika to z jakiejś wewnętrznej kalibracji przetwornika po włączeniu). Dlatego przetwornik trzeba włączyć raz. A później włączać i wyłączać jedynie konwersje, a nie cały przetwornik. Dodatkowo proponuję używać osobnej funkcji do pomiarów i osobnej do ustawiania...
Witam, Mam następujący problem. Otóż uruchomiłem wbudowany przetwornik ADC, gdzie Acc = 5V, Aref = 2.6 V ( wewnętrzne ). DO odczytu wykorzystuję ADC0 czyli PC0 czyli pin 23 Atmegi8. Na wejściu do ADC0 zrobiłem dzielnik napięcia tak aby na wejściu była wartość połowy napięcia referencyjnego czyli ~1.3V. Po pomiarze miernikiem na wejściu mam około ~1.1...
Nie chodziło mi o przerwanie od Timera tylko o coś takiego że odpalasz konwersję/pomiar oraz przerwanie kiedy będzie już wynik czyli procesor nie czeka a może w tym czasie zrobić coś innego. Jednak ta funkcja wykonuje się w 107 taktów zegara w 0.01ms więc myślę, że nie masz co kombinować. Lepiej byś napisał co to za procesor i jakie ma taktowanie bo...
Witam! Mam olbrzymi problem z uruchomieniem ADC. Układ jest prosty, standardowo AGND AVCC, zasilane tak jak uP (z dławikiem też próbowałem), a na AREF kondensator do masy. Piszę w BASCOMIE oto kod: $regfile = "m32def.dat" $crystal = 8000000 '$prog &HFF , &HE4 , &HD9 , &H00 ' generated. Take care that the chip supports all fuse...
Gdy zamieniałem A = Getadc(0) na A = Getadc(1) lub A = Getadc(2) i odpowiednio miałem podłączone potencjometry układ działał z wybranym potencjometrem. Gdy wyrzuciłem z programu właśnie ten zapis A = Getadc(0) nie było żadnej reakcji. Jak w takim razie, gdy nie ma powyższego zapisu wybierałoby się odpowiedni kanał z ADC? Dodano po 1 Dzięki "emarcus",...
Dziękuję za szybką odpowiedź! Funkcja itoa spełnia swoje zadanie. Poprawiony kod: [syntax=c]/* * ADC_Test.c * * Created: 2013-03-29 20:01:28 * Author: Defozo */ #define F_CPU 8000000UL #define FOSC 8000000UL// Clock Speed #define BAUD 19200 #define MYUBRR ( FOSC + BAUD * 8UL ) / (16UL * BAUD) -1 #include <avr/io.h> #include <util/delay.h>...
Bardzo Was proszę o pomoc bo nie mogę sobie dać rady. Uruchamiam przetwornik ADC w ATMega 8. Mam podłączony wyświetlacza LCD 2x16 do prezentacji wyników. Jako źródło napięcia stosuję napięcie zasilające 5V. I nie mogę uzyskać stabilnych wskazań. Po konwersji cały czas wynik jest inny. Jako płytkę testową stosuję AVT948 bo miałem pod ręką tyle tylko...
Witam. Mam taki problem. Zbudowałem robota LF napisałem do niego całkiem sprawny kod w BASCOMIE. Teraz zacząłem uczyć się C (pisze w WinAVR) i chciałbym napisać program do niego. Mam jednak problem jak zrobić odczyt poszczególnych kanałów. W BAS robie to tak: [syntax=basic4gl] Wczytaj_adc: Prog = Getadc(4) L1 = Prog If L1 > Back Then Pozycja.4 =...
witam Próbuje napisać program który po wgraniu do atmegi będzie pokazywał napięcie i prąd. 10 bitowa rozdzielczość przetwornika A/D jest dla mnie nie wystarczająca, Postanowiłem sięgnąć po technikę zwaną nad próbkowaniem (oversampling) Atmege programuje w bascomie znalazłem artykuł w nowym elektroniku z 2007 roku opisujący to zagadnienie.Przepisałem...
ok dzieki za zainteresowanie najpierw BASCOM: oczywiscie w opcjach jest at90s8535 $crystal = 4000000 Config Portc = Output Config Portb = Output Config Portd = Output Config Adc = Single , Prescaler = Auto Dim A As Word Dim B As Word Dim C As Word Dim D As Word Dim E As Word Dim F As Word Dim G As Word Dim H As Word Cls Start Adc Do 'aDcsr.7 = 1 A =...
Nie mam cewki : d. Narazie mam : Dużo kondensatorów filtrujących zasilacz zewnętrzny 5V/2,5A Program z uśpieniem na czas pomiaru: [syntax=c]/* * main.c * * Created on: 20 gru 2014 * Author: User */ #include <avr\io.h> #include <avr\interrupt.h> #include <avr\sleep.h> #include "HD44780.h" #define LED (1<<PB0) #define ADCIN PC5...
Jak widać realizacja tego projektu rozciągła mi się nieco w czasie :) Mam nadzieje ze nikt nie będzie miał mi za złe że pisze w dosyć starym temacie, ale tutaj znajdują się już wszystkie schematy. Mój problem wygląda następująco: podłączyłem sobie czujnik sharp pod PortC.3 i napisałem sobie następujący kod w bascomie $regfile = "m8def.dat"...
Nie zmienia, bo masz błąd w innym miejscu. Dokładnie to miałem na myśli-że błąd jest gdzieś indziej. Zastanów się, co oznacza nazwa trybu CTC (?) – w ang. jest to ‘Clear Timer on Compare’ (pol. - wyzeruj zawartość licznika/timera, gdy jego zawartość jest równa wyznaczonej z góry i ustalonej, bądź to wyliczonej jakiejś wartości w zmiennej...
Witam, nie wiem w czym problem ale mam kłopot z pomiarami ADC wykonywanymi na Atmega128. Mierzę sobie pewne napięcie, wynik jest prawidłowy.... napięcie zaczyna rosnąć wynik też ale już nie adekwatnie do wartości tegoż napięcia. Przykładowe pomiary: napięcie wartość ADC 6.5 V 6.53 8 V 6.80 4V 5.40 Mierzone napięcie doprowadzone do pinu ADC0 jest przez...
Witam Mam problem z układem na Attiny24. Chcę wykorzystać wszystkie 4 kanały PWM, oraz 4 kanały ADC. (1 - 4) + sygnał Aref. I moje pytanie jest, czy jeżeli uruchomiłem ADC, to mogę korzystać wyjść PWM, które są współdzielone z niewykorzystanymi pinami ADC? Myślałem, że ... Tak, jest realna możliwośc skonfigurowania peryferiów tego processora do (‘produkowania’)...
Tylko drabinka chyba nie pozwala na rozpoznanie który przycisk został naciśnięty chociaż możliwe że się mylę. Owszem. Może, jeśli dobrze to zorganizujesz. I jeszcze jedno - jak samplować (w C)? Napisać odpowiednią funkcję np. uint16_t get_adc(uint8_t channel) . W funkcji tej wpisujesz kanał do ADMUX, wyzwalasz pomiar przez ustawienie bitu ADSC, potem...
Witam. Mam następujący problem: Próbuję dokonać pomiaru napięć (przedział od 0 do 5V) z 3ech kanałów ADC. pomiar z pojedynczego kanału działa prawidłowo jednak gdy chce mierzyć wartości z więcej niż jednego kanału na raz to wyniki dla każdego pomiaru są takie same:/ mianowicie wartości CZ1 = CZ2 = CZ3 co nie jest prawidłowym pomiarem. Poniżej przedstawiam...
Witam dokładniej rzecz ujmując jak mam w mainie gdziekolwiek funkcje odbierającą uart to adc przestaje działać adc jak tylko zakomentuje tą funkcję adc działa normalnie. Wyjściem jest użycie przerwań do UARTU ale to w ogóle nie działa... Program działa tak, że mierze 6 kanałami adc coś i jak to coś jest to wystawiam na nodze PB7 "1" podaje ją na INT0...
Witam! Chciałbym na forum Elektrody w tym wątku zrobić konkretny FAQ dla wszystkich AVRowców. Szlag mnie trafiał, jak nie umiałem odczytać w krótkim czasie 3 wejść ADC w ww atmedze128. Posiłkowałem się różnymi poradami zaczynając od PDFa. Niestety nic nie zadziałało. Postanowiłem odpalić BASCOMa AVR i wydobyć ów procedurę. W Bascomie podręcznikowy:...
admux bascom kanał admux woltomierz getadc
magnetofon mechanizm terma baterie fujitsu siemens wymiana procesora
słuchawki gamingowe słuchawki gamingowe
Lokalizacja bezpiecznika gniazd 12V w MAN TGE 2021 2.0 Diesel Czy akumulator żelowy może syczeć podczas ładowania?