Jesli do funkcji getadc podajesz jako parametr numer kanału ADC (czyli nóżki ADC0..X) to tak... - getadc(0) zrobi pomiar na nóżce 0 getadc(1) na nóżce 1 itd.... - pamiętaj oczywiście o dzielniku napięcia - napięcie na nóżce nie powinno przekroczyć VCC - wiem coś o tym bo właśnie obok mnie leży sfajczony ATMega8 :( (coś na szybko montowałem.... i pośpiech...
Witam. Napisałem program do pomiaru napięcia i pradu zmiennego, sygnaly doprowadzone na nozki ADC6 i ADC7, następnie chcęje spróbkować w przerwaniach z timera w trybie CTC (po64 próbki każdy), zatrzymaćna chwile przerwania, dokonać obliczeń, wyświetlić na lcd i "od nowa". Napisałem program, lecz nic nie oblicza prosiłbym o pomoc. Przepraszam z góry...
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ą...
Nie używaj Timera. Po co? Użyj przerwania ADCC i ten start i stop ADC możnaby sobie podarować. Jak go używać w bascomie nie wiem, podejżewam że ten kompilator nie przewiduje aż takiej pomysłowości użytkownika... Samo przerwanie obsługuje, ale nie ma takiej instrukcji która wyzwala pomiar i nie czeka bezmyślnie na jego koniec. Getadc się nie nadaje,...
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...
Przy niewielkiej dokładności wystarczy układ dzielników rezystancyjnych (schemat z prawej strony rysunku). Na wszelki wypadek podaję też schemat z wtórnikami (niewiele drożej). Wejścia procesora są zabezpieczone diodami przed przepięciami, więc ewentualne śmieci, których pełno w instalacji samochodowej powinny się wytracić na nich i na rezystorze szeregowym....
Mozna wszystko, ale tylko teoretycznie. Gdzie chcesz zastosować dokladnosć ~9.8mV? Taki spadek napięcia otrzymasz jak podłączysz leda do 3.3v na 20cm kablu :) więc pomiar z taką ROZDZIELCZOŚCIĄ mija sie z celem. Poza tym : masz juz tą rozdzielczość 9.8mV, ale wez pod uwage PŁYWANIE NAPIĘCIA ODNIESIENIA w zaleznosci od warunków pracy generatora tego...
Odczyt z ADC czyli, Pomiar=Getadc(1) wrzuć do pętli głównej.
:-) działa ! Wielkie dzięki ! Rozumiem że dla 4 serw było by to ?: Sprawdził bym sam ale właśnie padło mi ostatnie serwo , tak to jest jak się kupuje g..wno z alledrogo Pomiar = Getadc(1) Shift Pomiar , Right , 3 Dane(2) = Pomiar Pomiar = Getadc(2) Shift Pomiar , Right , 3 Dane(3) = Pomiar Pomiar = Getadc(3) Shift Pomiar , Right , 3 Dane(4) = Pomiar...
Bascomowa komenda Getadc(x) jest uniwersalna, ale przez to ma swoje minusy. Getadc(x) zawsze ustawia najpierw MUX a potem robi dwa pomiary ADC pod rząd i pierwszy odrzuca. Widać że mierzysz tylko z jednego kanału. Możesz więc sprawę mocno przyspieszyć. Wystarczy, że raz tylko, gdzieś przed pętlą, użyjesz Getadc(1) i to ustawi Tobie MUX. Później możesz...
Sam kiedyś z ciekawości i chęci sprawdzenia jak mają się pomiary różnymi czujnikami do siebie zbudowałem taki układ z termoparą, LM35, DS18B20 i czujnikiem NTC. Jeśli te pomiary Ci się w kodzie "nie spieszą" to może przyda Ci się taka prosta metoda. Jako że ADC czyta się do Word bo ma więcej niż pomieści Byte to pozostaje w tej zmiennej dużo wolnego...
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...
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.
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...
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...
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...
W dokumentacje do ATmegi16 (strona 207) napisane jest, ze maksymalna czestotliwosc pomaru ADC przy rozdzileczosci 10 bit to 15ksps. WYnika to z czasu konwersji ADC, ktory wynosi 13 cykli (pierwszy odczy po zmianie kanalu zajmuje 25 cykli). 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...
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...
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ę....
W części pomiaru i wykrywania napięcia, autor sklecił taką konfigurację układu: http://obrazki.elektroda.net/43_12724788... Pomiar napięcia na A.0 odbywa się przez Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Pomiar = Getadc(0) Stop Adc Pomiar2 = Pomiar / 72 Badanie stanu odbywa się poprzez ustalenie niskiej wartości...
Ok zrobiłem takie coś i jedynie co robi to ściemnia diodę :-( Dane z odbiornika podpięte pod ADC0 w Atmega [syntax=vbnet]$regfile = "m8adef.dat" $crystal = 8000000 'zewn. L:FF, H:D9 Config Adc = Single , Prescaler = Auto , Reference = Avcc Dim Pomiar As Integer Spiinit Config Portb.1 = Output 'TX ON, disable CLK Start Adc '=======================================...
tak jak napisałem Zero = Getadc(2) If Zero < 780 Then Call Pomiar Call Diody End If
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"...
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...
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...
Zacznijmy od prostego programu. Przerób pod siebie i sprawdź. Noga AVCC ma być podłączona do VCC. $regfile = "m8def.dat" $crystal = 8000000 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Pb.4 , Db5 = Pb.5 , Db6 = Pb.6 , Db7 = Pb.7 , E = Pb.3 , Rs = Pb.2 Config Adc = Single , Prescaler = Auto , Reference = Avcc Dim Wart_ac...
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...
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...
Jeśli chce zrobić amperomierz (na atmega16) w zakresie 2A, to mam dać rezystor 2 ohm a w programie pomnożyć pomiar razy dwa? Wart_ac = Getadc(0) V = Wart_ac * 0.0025 U = Wart_ac * 0.0025 U1=u*2
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...
W tej samej pętli należy pobrać dane do innych zmiennych z różnych wejść przetwornika A/C. Wart_ac1 = Getadc(1) Wart_ac2 = Getadc(2) Wart_ac3 = Getadc(3) Z wyświetletleniem na LCD nie powinno być problemu. Pozdrawiam.
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...
Hej, Chciałbym sobie zbudować mini woltomierz i amperomierz na ATtiny (do dyspozycji mam ATtiny 13, 25 i 45) i dane wysłać do Raspberry pi-najlepiej byłoby co minutę wysłać dane. Pomiary chciałbym robić dla kilku ogniw 18650 połączonych równolegle. Myślę, że zakres pomiarów 0-5V i 0-3A będzie bardzo wystarczający. Nie bardzo wiem jak to wszystko zrobić,...
Albo coś zakłóca pomiar. W końcu Uref pochodzi od zasilania. Jak możesz sprawdź na wewnętrznym napięciu odniesienia.
Napisane jest to w helpie - angielskim oraz polskim mojego autorstwa. Ponadto jest to napisane w nocie katalogowej. Skoliduj to razem a otrzymasz odpowiedź. Tak się składa, że mam przed oczami Twój polski help do Bascoma AVR i chyba mi na oczy padło, bo nigdzie nie widzę ani słowa, przy opisie polecenia Getadc(), na temat tego względem czego dokonywany...
Nie wiem czy myślisz kompleksowo. Jeśli chcesz mierzyć napięcie to nie możesz ustawić AREF na AVCC bo one opadnie do 3,6V. Musisz więc ustawić wewnętrzne 2,56V. Przy takim znów na wejściu pinu ADC musiałbyś dać dzielnik rezystorowy, na przykład, na dwóch rezystorach 10K. Potem inicjalizacje warto robić tylko raz po wznowieniu zasilania. Można to rozwiązać...
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...
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...
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...
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...
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...
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ą...
W weekend odbyła się mała walka, z której połowicznie wyszedłem zwycięsko. O ile temperaturka już jest mierzona to gorzej z napięciem prostokątnym z sondy. Zamiast stosować dzielnik, przerobiłem sondę tak, że otrzymuję od niej napięcie zmienne z zakresu 0-5V. Sygnał prostokątny, częstotliwość 10kHz. Niestety nie udaje mi się tego pomierzyć AVRowym ADCkiem....
Niby łatwo a się zaplątałem... Prosta sprawa : Porównanie tego samego napiecia ( napięć dla 4 portów ) w cyklu 30 minut. Jesli napięcie "stanie" na ADC jakimkolwiek to pin X = 0/1 Czas mam wyprowadzony i zastosowanie instrukcji WAIT rozwala system ( czyli wszystko stoi-- tj inne ADC ) Kod wyglada /bedzie wygladał tak ( sam pomiar ) W1 = GetADC(1)...
Troszkę poprzewracałem Twój kod ;) [syntax=vbnet] '=======================================... '=============================KONFIGURAC... $regfile = "m8def.dat" 'informuje kompilator o procesorze $crystal = 8000000 'informuje kompilator o częstotliwoci oscylatora $hwstack = 64...
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ę...
Zamieszczam kod: http://obrazki.elektroda.pl/2478437700_1...
Pomyślałem trochę i wyszło mi coś takiego: [syntax=basic4gl] $regfile = "m16Adef.dat" 'Atmega16A $crystal = 16000000 'taktowanie wewnetrznym oscylatorem 16Mhz Config Portc = &B11111111 Config Portd = &B01111111 Portc = &B00000000 Portd = &B10101111 Buzzer Alias Portc.1 'buzzer Sw Alias Pind.7 'przycisk Pk Alias Portc.7 'przekaźnik Led1 Alias Portd.6...
Witam, składam termometr na czujniku LM35 narazie w symulatorze bo nie mogę dojść do ładu z przeliczeniem odczytu i proszę o pomoc. Przekopałem google i z kilku różnych programów skleiłem kawałek mojego ale niestety nie działa jak powinien. Przy temperaturze 100*C lm35 powinien dawać 1000mV więc ADC atmegi8 odbierze wartość 401 i teraz to mnożę razy...
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.
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 pomiar getadc woltomierz getadc bascom getadc
tauron przyłącze działki kluczowanie cewki wysokiego napięcia sprawdzenie numeru kolumny
farmer schemat samsung le40c650
Jak rozłożyć parownicę Philips 7000 Series? Głowica kasująca do Philips N 2214 – gdzie kupić, zamienniki, numery katalogowe