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ą...
Witam. Mam prosty woltomierz na ATmega8 i powstają problemy: Mam zabezpieczenie odwrotnego podłączenia napięcia badanego na tranzystorze IRF520 ale przecierz jak wpakuje mu te dajmy na to nawet 300V w dren to sie nie spali pomimo że napięcia nie będzie na żadnym innym pinie , przebije go czy nie? ile trzeba voltów aby go przebiło napięcie?? Czy dioda...
Poniżej fragment: Odczyt = 0 For Krok = 1 To 100 W = Getadc(1) Odczyt = Odczyt + W Next Krok Wyn = Odczyt / 100 Zmienna wyn to uśredniony pomiar ze 100 odczytów. Pozdrawiam.
Domyślam sie że to jest BASCOM. GetAdc(x) - funkcja wykonuje pomiar na nodze ADCx. Czyli dobrze myślisz. Pozdrawiam Yakuza Edit: Tylko pamiętaj że przetwornik musi pracować w trybie SINGLE.
Odczyt z ADC czyli, Pomiar=Getadc(1) wrzuć do pętli głównej.
Znalazlem jakis stary programik.... odczyt 2 kanalów ADC z częstościa 100 razy na sekunde... Analize pozostawiam Tobie...(podpowiem że Help wszystko wyjaśni) Pozdrawiam $regfile = "m8def.dat" $crystal = 11059200 $baud = 19200 Config Adc = Single , Prescaler = Auto , Reference = Off Config Timer1 = Timer , Prescale = 256 On Timer1 Pomiar Enable...
Nie wiem po co wyłączasz i włączasz ten przetwornik, ale może jakaś oszczędność baterii czy coś.. W każdym bądź razie pierwszy odczyt po włączeniu przetwornika może być zafałszowany. Bascom i tak czyta dwa razy, ale uśrednia te dwa odczyty. Spróbuj wykonac dwa doświadczenia. W pierwszym pod "Nap = Getadc(4)" dopisz dokładnie taką samą druga linijkę....
Jak zwykle czasu nie ma, ale nie mogłem się powstrzymać. Nakręciłem pierwszy klip - ahahahaha :D No musiałem się pobawić edytorem. Efekt to półtora minuty magii :D Ahahaha miałem kupę zabawy z tym :D Przy okazji możesz zobaczyć jak się używa wbudowanego symulatora by zadawać wartości ADC ;) Twój pomniejszony kodzik też poniżej, tylko używając poza symulatorem...
tak jak napisałem Zero = Getadc(2) If Zero < 780 Then Call Pomiar Call Diody End If
Albo coś zakłóca pomiar. W końcu Uref pochodzi od zasilania. Jak możesz sprawdź na wewnętrznym napięciu odniesienia.
Wyrzuć ten wzór i obmyśl jakiś inny. W tej postaci to się absolutnie nie nadaje. Z ADC możesz uzyskać maksymalną wartość 1024, teraz podnieś to do potęgi 6 i wychodzi ci absurdalna liczba, program wywala się juz na pierwszym obliczeniu. Obliczanie napięcia może wyglądać tak: [syntax=basic4gl] Dim Obl_nap As String * 6 Dim Wartadc As Word Dim Tymcz As...
Ten kod musisz okrzesać :D Czym to programujesz? Pytam bo umieściłeś dyrektywy dla programatora. Może i nie byłoby w tym nic dziwnego, ale w kodzie masz napisane 8MHz a tymi dyrektywami mikrokontroler zostałby ustawiony na fabryczne 1MHz... Inna sprawa to ten pomiar na ADC i zapisywanie jego wyniku po obliczeniach do PWM. Nie wszystkie tryby PWM mają...
Sprawdź miernikiem napięcie podawane z LM35 na ADC. Przepisałem ten kod tak by był przejrzystszy. Przy okazji zaoszczędziłem 8% pamięci. To nieistotne. Istotne natomiast jest to, że teraz widać, że układ wyłączy się jeśli odczyt na ADC będzie w zakresie 250-300. Powyżej lub poniżej tego zakresu krążek będzie świecił. [syntax=vbnet]'Program "elektronicznej...
A faktycznie niedopatrzyłem bo to wycięty fragment. Proszę więc. Kod jest po to by pokazać jak pomysł otrzymany na Forum można zamienić na coś działającego :P Nie ma wskazywać idealnego rozwiązania, a jedynie to co miałem na myśli a mam ich więcej bo pełno różnych projektów na głowie. Zmieniłem Sub w Funkcję. Nagram chyba kiedyś o tym jakiś film żeby...
adc4 pomiar napiecia - jest ok adc3 pomiar napiecia - jest ok adc1 pomiar pradu adc0 pomiar pradu pomiar dokonywany jest na oporniku 0,1 ohma jak pisałem wzgledem masy napiecie jakie jest na spadku jest stałe i nie pulsuje. uref- jest stale nie pulsuje-5v pomiar tak jak jest teraz w programie skacze od ok 10 do 30 paru i tak w koło rośnie i spada ale...
Normalnie (czytaj: nie znam bascom) można to rozwiązać na kilka sposobów. Możesz na przykład wystartować pomiar ADC, a stan bitu ADSC sprawdzać gdzieś w pętli głównej (realizując inne zadania) i zareagować dopiero, gdy bit ten wskaże na zakończenie pomiaru. Możesz także ustawić przerwania ADC i wtedy po zakończeniu pomiaru przerwanie się wykona. Mogę...
Może i to wina programu bo długo nad nim kombinowałem i jest dość rozbudowany. Oto fragment odpowiedzialny za sam pomiar napięcia [syntax=basic4gl]For Krok = 1 To 100 'pomiar napięcia Pomiar = Getadc(4) Napiecie = Napiecie + Pomiar Next Krok Napiecie = Napiecie / 100 Napiecie = Napiecie * 0.01452 Napiecie = Napiecie + 0.8[/syntax] Mierzy poprawnie więc...
Nie ma tu nic z C. Napisałem to kiedyś "z palca" :D Ciebie najbardziej powinno zainteresować "Adcmax3 = Adcr3(3)" bo to jest przepisanie aktualnie najwyższej wartości. Rejestr(43) i to obok to funkcja która liczy wartość skuteczną napięcia. Może niepotrzebnie tam zostawiłem bo to jest z urządzenia które jest Modbus Slave`em. Ten wpis !SBI ADCSRA , 6...
Cześć. Wymyśliłam jeszcze coś takiego (na biurku działa): [syntax=vbnet] $regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 16 $swstack = 8 $framesize = 20 Config Adc = Single , Prescaler = Auto , Reference = Avcc Declare Sub Kalibracja Declare Sub Zajete Declare Sub Wolne Set Portb.3 'Czujnik1 Set Portb.4 'Czujnik2 Config Pinb.0 = Input 'Zworka...
Ja to zawsze robię w ten sposób: ldi r22,5 Go: Pomiar1 = Getadc(0) dec r22 brne Go Zawsze działa, nie wygląda tak rażąco, no i zżera mniej pamięci z programu.
i już masz troszke po angielsku :-) http://66.249.91.104/translate_c?hl=en&l... ten scalak ma około 55 dB dynamiki pomiaru http://www.analog.com/en/prod/0,,759_847... dokładnie jak opisał F6BON na WWW najprościej podać napięcie na miernik cyfrowy przez dzielnik napięciowy i...
Ciekawe ale zastanówmy się troszeczke. 0,2mV to o ile dobrze liczę 0,0002 V i teraz 0,0002x20= 0,004V. Więc nawet przy wzmocnieniu x20 to kicha bo to powinno być w pobliżu połowy Uref. Więc tylko opamp i to nie złej klasy. A co do Bascoma to Getadc() działa, podajesz tylko odpowiedni nr kanału - z tabeli w shicie: Input Channel and Gain Selections mamy...
Kiedy w końcu zrozumiecie, że nie każdy chce zostać programistą i ludzie czasem programują sobie po to by coś zrobić i mieć z tego satysfakcje. Wiem jak oprogramować ADC i to nie tylko w Bascom, ale zauważ że piszemy tu o Bascom. Języku który upraszcza wiele rzeczy dając Ci określoną ilość prostych w użyciu funkcji. Jedną z takich funkcji jest Getadc()...
Witam czy ktoś mógłby podany niżej program w Bascomie napisać w języku C? Próbuje zrozumieć ten program niestety Bascoma nie znam wogóle. Z góry dziękuje. Procedura odpowiedzialna za pomiar połozenia: Config Adc = Single , Prescaler = 128 , Reference = Avcc ,Procedura pomiarowa umieszczona w petli Do Loop Reset PORTC.1 Set PORTC.3 Set DDRC.1 Set DDRC.3...
Program napisany w BASCOM AVR i wyskakujące 3 błędy , mogę wiedzieć dlaczego one wyskakują podczas kompilacji , poniżej zamieszczam kodzik. 'podwójny woltomierz i amperomierz (dwa kanały pomiaru napięcia i dwa kanały pomiaru prądu 'UWAGA _ PONOWNE WGRANIE PROGRAMU SKASUJE WARTOŚCI WSP KOREKCJI Z PAMIECI EPROM '---------------------------------------...
Wszystko działa dobrze jednak co jakiś czas silnik nie wyłącza się. Przypadek taki zdarza się bardzo rzadko jednak jeśli już do tego dojdzie silnik ulega spaleniu. Kolega zrobił lutownicę na atmega8 i też kila razy miał taki problem że wskazywana temperatura przestała się zmieniać. Czy ktoś ma jakieś informacje o błędach w bibliotece getadc? Mnie się...
Witam Chciałem zrobić pomiar napięcia na mega16 na nóżce 7 portu A czyli ADC6 (PA.6). Na tym porcie też mam podłączony LCD (od PA.0 do PA.5) i czy to może być wina złego działania ACD???Program poniżej to gotowiec z elektrody więc powinien działać. Na Avcc mam +zasilania, AGND masę. W odpowiedzi dostaję 0.00 . [syntax=basic4gl]$regfile = "m16def.dat"...
Witam! Od razu mówie: nie chce gotowca, lecz oczekuję pomocy. Chodzi mi dokładnie o wbudowany w ATMege8 przetwornik A/C. Kod: woltomierzu . Nie wiem co czynić... Takie programy piszę, aby poćwiczyć BASCOM, aby bez większych problemów zrobić bin-zegar(z woltomierzem :) ). Pozdrawiam. Krawacik3 Poprawiłem tytuł - 3.1.15.
po co korzystasz jako wyjścia z portu C , przecież do testów masz wolne pozostałe porty w ten sposób za każdym razem będziesz poprawiał program do sprawdzenia innego wejścia przetwornika $regfile = "M8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.2 , Db6 = Portd.1 , Db7 = Portd.0 , E = Portd.6 , Rs = Portd.7...
Witam, przerobiłem nieco program kol. Teedd, pod swój mikrokontroler i kwarc, niby działa, ale nie mam regulacji częstotliwości, reguluje mi tylko wypełnienie, kończą mi się pomysły.. $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 'default use 10 for the SW stack $framesize = 40 'default...
Witam Przykład z działającego urządzenia odczyt dwóch adc i uśrednianie wyniku [syntax=basic4gl] Incr Usrednianie Odczytco = Getadc(7) + Odczytco 'odczyt adc co Odczytbl = Getadc(4) + Odczytbl 'odczyt adc bojler If Usrednianie > 5 Then 'usrednianie odczytów 'żeby nie skakał pomiar Co = Odczytco / 10 Bl = Odczytbl / 10 Odczytco = 0 'zerowanie zmiennych...
Witam Wykonałem układ elektroniczny którego zadaniem jest pomiar napięcia na porcie adc. Zadaniem kodu który jest poniżej jest wykrycie stanu wysokiego na porcie PA(6) i pomiar napięcia z portu PA(0) według odpowiedniej instrukcji czyli pomiar trzykrotny, porównanie ich ze sobą i jeżeli są takie same to ma włączyć się dioda czerwona, oraz włączyć przekaźnik...
Był taki probem w BASCOMie z funkcją GETADC(). Po zmianie kanału odczytywała ona nadal poprzedni kanał, mimo iż multiplekser był przełączany poprawnie. Rozwiązanie problemu było dość proste. W rozwinięciu funkcji zastosowano dwukrotny odczyt stanu przetwornika ADC. Pierwszy odczyt odrzucano, i brano pod uwagę tylko drugi odczyt. Wada: Dłuższy czas oczekiwania...
Witam. Robię mini komputer pokładowy. Funkcje to pomiar poziomu paliwa, temperatury w i na zewnątrz, i napięcia aku. Na razie mam paliwo i jedną temperaturę. Poziom paliwa symuluje na razie potencjometrem. Do pewnego poziomu fajnie wypełnia mi kolejne kwadraty, jednak gdy zapełnię pierwszą linię, i przekręcę jeszcze trochę potencjometr, to wypełnia...
Witam Chciałem zrobić 3 - kanałowy termometr na atmedze8, lcd 2 * 16 i lm35 (3 szt). Ale na samym początku mam problem a mianowicie, podłączyłem wszystko tak jak na schemacie http://www.avrprojects.net/images/LCD%20... (tyle że mam inny wyświetlacz). Przerobiłem program z przykładu który znalazłem w internecie - http://www.avrprojects.net/index.php?opt...
Witam W mojej stacji lutowniczej skorzystałem z fragmentu kodu Kamila Szkutnika, na przeliczanie ADC na temperaturę Wart_ac = Getadc(0) Waitms 100 V = Wart_ac * 0.0049 Temp = V * 260 Temp = Temp + 25 Tylko z moją kolbą to się strasznie rozjeżdża, mógł by mi ktoś wytłumaczyć co w kodzie oznacza 0.0049 i 260? Lub jak inaczej ustawić by poprawnie czytało...
Musisz wiedzieć że ADC Atmegi ma 10Bit czyli w uproszczeniu skalę do 1023 Kiedy jako napięcie odniesienia dla ADC użyjesz napięcia zasilania procesora (AVCC) to dokładność pomiaru wynosi : 5V/1024 czyli -> 5000mV/1024 = 4,88mV na jedna podziałkę ADC. Nie napisałeś jaki masz ACS a wystepują w wersjach 5A, 20A i 30A Zakładając że masz ten najczulszy 5A...
Witam. Program jaki mi napisałeś był faktycznie krótszy i robił to samo co mój. Dopisałem tylko tą procedurę by wyrzucał mi który jest to pomiar. Z tym że jest to jeszcze trochę przy banalne i muszę coś tam jeszcze dorzucić. Nauczyciel zasugerował coś w rodzaju termostatu. Żeby wyskakiwał jakiś napis jeśli temperatura będzie za wysoka i inny jeśli będzie...
Sprawdziłem przed chwilą na mojej ATMEGA32 kod: [syntax=basic4gl]$regfile = "m32def.dat" ' specify the used micro $crystal = 11059200 ' used crystal frequency $baud = 115200 ' use baud rate Dim W As Integer Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Porta = Input Porta = 0 Start Adc Do W = Getadc(0) Waitms 200 Print W Loop End[/syntax]...
Witam serdecznie, jestem w trakcie budowania miernika V-A do zasilacza laboratoryjnego na mega8 i mam problem po stronie pomiaru prądu, oto część programu: Config Adc = Single , Prescaler = Auto , Reference = Internal Dim X As Byte , Y As Byte Dim Wart_ac As Word Dim V As Single Dim Wart_nap As String * 3 Start Adc i pętla: Do Wart_ac = Getadc(4)...
Witam Poprawiłem parę elementów i układ działa jak należy. Odłączanie uzyskałem na przekaźniku. Mam jednak kolejny problem. Korzystam z przetwornika ADC na PA0. Schemat podłączania brałem z kursu BASCOM. Jednak w tym przypadku mi nie działa. Mógłby mnie ktoś nakierować czy taki schemat ma możliwość poprawnej pracy? Obecnie wyjście POT to potencjometr...
co do pierwszej odpowiedzi to: mógłbyś mi powiedzieć gdzie dokładniej bo jakoś znaleźć nie mogłem, ktoś też mi mówił że widział na jakiejś stronie coś podobnego, ale jak dotąd ja tego nie znalazłem będe wdzięczny a co do drugiej odpowiedzi to: po co wogóle robić sobie woltomierz można kupić gotowy??? ja poprostu eksperymentuje z uC i właśnie robie sobie...
Chciałem mierzyć napięcie baterii podtrzymującej układ PCF8563. Jest oczywiste, że należy dać rezystor z 10 k pomiędzy wejście ADC i GND, ale to powoduje szybkie rozładowanie baterii, więc może zrobić tak w podprogramie do odczytu z przetwornika ADC: Pomiar: 'Locate 2 , 13 Lcd "Pomiar" Start Adc ' włącz przetwornik ' Set On_pomiar For...
witam otóż projektuje sobie zegarek z termometrem oraz czujnikiem ciśnienia MPX4115(analogowy), problem polega na tym że nie potrafię obciść wyniku ciśnienia do postaci xxx.xx lub samej wartosci xxx bez miejsc po przecinku. Jaka komendę trzeba zastosować aby wyświetlić porządany wynik ? [syntax=basic4gl]$regfile = "m644pdef.dat" $crystal = 16000000...
W takim razie wychodzi, że najodpowiedniejszy byłby kanał 18 (ADMUX0..4 = 10010) czyli piszę w bascomie : pomiar = GetAdc(18 ) a czy w Config Adc trzeba wpisać "coś specjalnego" czy wystarczy : Config Adc = Single , Prescaler = Auto , Reference = Internal dodano po kilku minutach... ----------------------------------------... wygląda na to...
Ja bym to zrobił bez tablicy, bo szkoda pamięci... Przypominam, że Atmega8 ma tylko 1024 Bytes Internal SRAM Twój program skutecznie zjada 200 x 2 (2 tablice) x 2 (Wodr) = 800 Bajtów Czyli jeszcze jedna taka tablica i będziesz musiał kupować lepszy procek :) Wystarczą 2 zmienne i 2 ify. Dim Xmax As Word Dim Xmin As Word Xmin=1024 Xmax=0 For C = 1 To...
Witam. Próbuje stworzyć swoją własną centralkę alarmową. Czujniki ruchu chciałem odizolować optycznie od reszty układu poprzez optotriaki. Niestety jest to jeden z moich pierwszych projektów więc nie do końca przemyślałem wszystkiego i jeden z optotriaków podłączyłem pod dedykowaną nóżkę procesora ADC6 (mowa tu o atmega8 w obudowie TQFP gdzie jest jedna...
Pierwsze stosuję procki które maja oporniki . Stosuję zasadę minimalnego połączenia , żeby była zachowana . Zasilanie musi pochodzić ze wspólnego źródła ale zawsze procesor musi mieć oddzielny stabilizator . Napięcie referencyjne robię tak jak zaleca to producent procka (chyba wie co produkuje) Zawsze stosuję 7805 bo wiem że jest OK i mam zawsze 5.02V(byle...
... A więc, wynikało by z tego, że jeśli w pętli przemiatamy po kolei kanały ADC 0...7 to każdy pomiar zabierze minimum 25 cykli dla każdego kanału. Nie wspominając o tym, że w rzeczywistości bascomowa instrukcja GETADC() (pomiar i przypisanie wartości do zmiennej) może zabrać więcej niż 25 cykli. Nie do końca, mylisz illość taktów przetwornika ADC...
Witam wszystkich. Mam problem dość dziwny z pomiarem napięcia przy użyciu Portu A w mikrokontrolerze Atmega16> sprawa wygląda tak: z helpa przepisałem fragment programu: $regfile = "m16def.dat" $crystal = 8000000 Config Porta = Input Config Portb = Input Config Portc = Output Config Portd = &B00001111 Portd = &B11110000 'KONFIGURACJA...
bascom getadc getadc bascom getadc pomiar
minus wyjście sg3524 schemat spadek citroen
stukanie sprezarki powietrza wirnik szlifierki celma
Brak wskazań temperatury CPU po aktualizacji Armoury Crate Gasnące zegary i wspomaganie w Peugeot 407 2.2 l 2004