Hej, Potrzebuję pomocy w opanowaniu pomiaru: napięcia (3x) i prądu (rezystor 0.1om) Ciągle wychodzą mi głupoty i nie wiem gdzie popełniam błąd. Chciałbym mierzyć napięcie 0-5.5V i prąd 0-2.5A Na początek schemat (ze schematu wykroiłem co zbędne) i kod (tu tylko to co potrzeba do pomiarów) aby było wiadomo o czym gadam ;) No i teraz moje obliczenia:...
Witam, Jakiś czas temu wpadłem na pomysł, by stworzyć prosty rejestrator napięcia komunikujący się z PC za pomocą przejściówki RS232. Pierwsza wersja (płytka stykowa) jest oparta o uC Attiny13, z programowym uartem. Działa bardzo dobrze, aczkolwiek problem pojawił się z zasilaniem. Niestety prąd który można wyciągnąć z typowej przejściówki USB-RS232...
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...
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...
Oki a mozesz mi dac kawalek kodu odpowiedzialny za ten timer? Reszte sobie zrobie. Pozdrawiam Dodano po 1 ja wymyslilem cos takiego: $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 On Timer0 Zmierz Enable Interrupts Enable Timer0 Load Timer0 , 156 Do Lcd Pomiar Loop End Zmierz: Load Timer0 , 156 Start Adc Pomiar = Getadc(3) Stop Adc Return...
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...
emulator ruszył błędnie obliczyłem sume crc8 crc = crc8(mytemp(1),8) a miałem mytemp 8 na 8 master nie odbierał danych bo suma kontrolna sie nie zgadzała wrzucam kod prosze paniętać że autorem jest Vladimir I. Yershov Program jest jeszcze do poprawek to tylko prowizorka jest 1:08 w nocy i chciałem sie podzielić radoscią $regfile = "M8DEF.DAT" $crystal...
Najpierw poczytaj to: Czy dobrze rozumiem iz kolega wskazuje na problemy z samym przetwazaniem ADC mikroprocesora? Zbudowalem sporo ukladow i nie mialem problemow z dokladnoscia przetwarzania oczywiscie nieoczekujac zbyt wiele uklady dzialaly poprawnie .Dla przyklady wykonalem regulator temperatury 0-250 stopni uzyskujac dokladnosc 2stopnie w zakresie...
Witam. Buduję woltomierz do zasilacza laboratoryjnego. Jak zwiększyć zakres pomiarowy tego woltomierza ? Obecnie mierzy on od 0V do 24,04V. To fragment programu: Start Adc 'uruchamia wbudowany przetwornik 'początek pętli programu Wart_ac = Getadc(1) 'odczytanie wartości z wejścia 'ADC1 mikrokontrolera 'czyszczenie LCD 'kursor do drugiej linii...
Witam Kombinuje już od tygodnia i nic ... Mianowicie mam taki problem.Buduje sterownik do nagrzewnicy CO która posiada wentylator sterowany fazowo przez mój sterownik . I tak wszystko działa pięknie regulacją obrotów od min do max działa dobrze do momentu gdy uruchomię pomiar na ds18b20 i tu problem gdy testuje układ na żarówce to żarówka co jakiś czas...
Witam wszystkich dziękuję za zainteresowanie. Pomogliście mi z próbkowaniem. 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,...
zobacz to może Ci sie $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E = Portd.3 , Rs = Portd.2 Config Adc = Single , Prescaler = Auto , Reference = Internal Config Watchdog = 2048 'reset wystąpi po 8192 ms 'Start Watchdog Declare Sub Odcz_temp Config Pinb.3 = Input 'porty...
Witam Mam problemy z fazami w domu. chciałbym mieć stały pomiar wyświetlany na LCD i w przypadku przekroczenia napięcia 240V zapalaną diodę led podpiętą do nóżek procka(docelowo będą to przekaźniki) i sygnał dźwiękowy na syrence. Wykonałem w bascomie miernik faz na atmega8, tryb zaokrąglania wyniku zaczerpnąłem z jednego kodu z forum. Płytka z układem...
Widzę że moja wiedza w tym temacie jest na poziomie piaskownicy :) Bardzo dziękuję Ci za odpowiedź. Mam jeszcze jedną prośbę, Wzmacniacz HBM AE301 ma tylko dwa "styki" wyjściowe. 0, oraz +-10V. W moim "urządzeniu" zabudowałem już dzielnik napięcia na dwóch rezystorach oraz potencjometrze wielu-obrotowym w celu jak najlepszego zrównoważenia rezystorów....
Wgryzam się dopiero w Bacoma i potrzebuję funkcję, która skalowała by jeden zakres na drugi. Np. mam pomiary z ADC1: 400-900, a z ADC2: 300-1000 i chce aby ADC2 zawierało się w zakresach ADC1... Do tej pory udało mi się napisać coś takiego: [syntax=vbnet] ' Deklaracja zmiennych (zmienne oprócz U1, U2, U3 to zmienne sczytywane z eepromu) Declare Function...
Witam, Przymierzam się do projektu w którym będę potrzebował bardzo dokładnie zmierzyć napięcie. Dobrze by było zejść poniżej 0,5 mV a jeszcze lepiej do 0,2mV. Normalny pomiar z wewnętrznym napięciem odniesienia 2,56V przy dokładności 10-bitowej to precyzja około 2,5mV. To za mało. Jest możliwość wykonania tzw. różnicowego pomiaru napięcia. AtTiny 26...
Nie, GetRC służy do pomiaru czegoś innego... GetADC jest bardziej precyzyjne.
Witam! Mam problem z pomiarem z adc a dokladnie z tym ze wynik pomiaru skacze na lcd przy napieciu 12V w zakresie od 8V do nawet 12V. Probowalem dawac opoznienie w odczycie a takze dodalem po 2 kondensatory 100nF na kazde wejscie adc ale nic to nie dalo. Dodam jeszce ze jak mierze napiecie z modułu uruchomieniowego w ktorym mam regulowane napiecie od...
no masz racje sory zle napisalem, poprawnie to sie nazwya przetwornik analogowo cyfrowa. To co chce autor zrobic nie da sie na jednym komparatorze osiagnac . Najlepiej zastosowac tutaj wejscie adc atmega8. (a tak poza tym crazy_phisic nie wnosisz nic nowego do tematu procz jechania na mnie, moze przesadzilem z tym ze wszyscy pisza bzdury sory) oto kod:...
yyyyyyyyyyyyyyyy że tak powiem pierwsze słyszę więc proszę o pomoc w wstawieniu tego cuda w program, oto listing :): $regfile = "m8def.dat" $crystal = 1000000 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.6 , Db5 = Portb.7 , Db6 = Portd.5 , Db7 = Portd.6 , E = Portd.2 , Rs = Portd.0 Config 1wire = Portc.0 Dim I As...
ok zabralem 2 rezystory 10k. Udalo mi sie uzyskac 1,5V na wyjsciu dzielnika, na wejsciu mam 3V. Kod wyglada tak: Config Adc = Single , Prescaler = Auto , Reference = Internal Dim ac As Word Dim V As Single Dim napiecie As String * 5 Start Adc do ac = Getadc(0) V = ac * 0.005 napiecie = Fusing(v , "#.&&") print "napiecie"...
Chciałem zrobić amperomierz i woltomierz. Próbuje mierzyc prąd pobierany przez cały układ tak jak na rysunku , niestety oba pomiary wskazują tą samą wartość. To samo gdy podłącze je do 2 rożnych nóżek świecącej diody. Gdy 1 sonda jest podpięta do 5V a druga do potencjometru obie wskazują prawie dobrze ( do 100mV roznicy z miernikiem ) Pomiar prądu chciałem...
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 Zrobiłem sobie wyświetlacz na ATmega32 do samochodu (m.in. woltomierz też), i wszystko było ok dopóki nie podłączyłem tego do samochodu (wcześniej testowałem na zasilaczu laboratoryjnym i wszystko było ok. W samochodzie też jest ok, dopóki nie odpalę. Napięcie skacze ok. ±100mV od prawidłowej wartości w instalacji. Na wolnych obrotach w instalacji...
witam na elektrodzie znalazłem wiele informacji na temat przetwornika adc w atmega 8 jednak nie mogę poradzić sobie z jednym zjawiskiem mianowicie po odczytywaniu napięcia podawanego z potencjometru na wejście adc0 i adc2 i wyświetlaniu na lcd obserwuje takie zjawisko jak : napięcie z adc0 zmienia sie od 0 do 1024 zrozumiałe tylu bitowy przetwornik...
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....
Witam, mam taki kod programu, który skleiłem z fragmentów znalezionych w Internecie: Niestety dzieje się tak tylko 34 razy od momentu uruchomienia mikrokontrolera. Dane z terminala: p0p927p1020p1023p1023p1023p1023p1023p102... 1023p1023p1023p1023p1023p1023p1023p1023p... 3p1023p1023p1023p1023p1023p1023p1023pppp...
Witam, Nie wiem czy moja informacja coś pomoże ale może sama sugestia nasunie Tobie jakieś przemyślenia co do błędnego działania ADC. Nie znam składni języka C gdyż programuje w Bascomie ale spotkałem się tam z takim opisem: Uwaga! Z powodu zmian w kodzie bibliotecznym w wersji 1.11.7.2, funkcję GETADC() najlepiej wywołać dwukrotnie: W = Getadc(channel)...
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.
Żeby uściślić: Do AREF nie przykładamy żadnego napięcia bo ono tam po wybraniu Internal lub Avcc juz jest. Możemy jedynie "pomóc" w jego ustabilizowaniu kondensatorkiem. Napięcie przyłożone oznacza (przynajmniej dla mnie) przyłożone do jednego z wejść pomiarowych ADC. [syntax=basic4gl]Dim Odczyt As Word , Old_odczyt As Word Lcd "Odczyt:" 'wyswietl raz...
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ę...
Aktualnie męczę ATTINY85, wewnętrzny oscylator 8MHz. [syntax=basic4gl]Config Adc = Single , Prescaler = Auto , Reference = Internal_2.56_nocap Dim Napiecie As Long Napiecie = Getadc(2) [/syntax] Całość zasilam zasilaczem transformatorowym 14,4V przez przetwornicę opartą na LM2596. Przeliczone napięcie waha się od 14,1 do 14,4. Lokalnie jest stabilne,...
Proszę. Pisałeś kiedyś, że przy okazji chciałbyś się czegoś nauczyć, więc masz tu przykład który napisałem przy kawie. Trzy różne czujniki- DS18B20, LM35 i Termistor NTC 10k - podłączone jednocześnie do jednego mikrokontrolera. Dla czujników NTC wyznacza się ich "Betę" czego nie robiłem dlatego wskazywana przez niego temperatura różni się nieco od tych...
witam po pierwsze wykasuj linie Config Pinb.6=input jest ona nie potrzbna Ok to zrozumiałe... Po drugie wykasuj linie Ddrb =&b00001111 Portb=&b00111111 Ale tego nie zrozumiałem, mam wykasować Ddrb =&b00001111 i to Portb=&b00111111,czy tylko to pierwsze???? i za linią Xadc=Getadc(9) wstaw to samo drugoi raz Xadc=Getadc(9) Xadc=Getadc(9) jeżeli to nie...
Witam. Mierzę nateżenie oświetlenia małej kompaktowej świetlóki przy użyciu fotodiody i mam pewien problem przy długim pomiarze wartość otrzymana z fotodiody systematycznie spada. Przebieg otrzymany w wyniku pomiaru jest w pliku wykres. Wartość pomiędzy 2000 a 5500 sek maleje im dłużej się mierzy, chociaż układ pozostawiony jest w bezruchu i odizolowany...
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....
Zmodyfikowałem program aby jednocześnie były wyświetlane trzy wartości napięcia podawane na kolejne przetworniki(1,2,3).Listing programu zamieszczam poniżej. $crystal = 16000000 $baud = 9600 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portd.7 , Db7 = Porta.7 , E = Portc.3 , Rs = Portc.2 Config Adc = Single , Prescaler...
Zrobilem prosty komputerek do auta na atmedze32 wg. If Item = 6 Then Cls Lcd "NAPIECIE" Start Adc U_volt = Getadc(5) Volt = U_volt * 0.0205 '0.0173 0.0197142 0,0205 0.0245 Wart_nap2 = Str(volt) Wart_nap2 = Format(wart_nap2 , " 0.0") Locate 2 , 2 Lcd Wart_nap2 Locate 2 , 6 Lcd " V " Stop Adc Waitms...
Witam mam pewien problem a mianowicie chce zrobić prosty miernik napięcia akumulatorów do 3.5V.Ustawiłem napięcie referencyjne wew w atmedze 8 i na wejście przetwornika wew ADC podaje napięcia od 0-3.5V jednak ciągle mi sie wyświetla napięcie 2.55 lub 0...co jest nie tak? 'Program obsługi wbudowanego w mikrokontroler '10-bitowego przetwornika A/C $regfile...
i już masz troszke po angielsku :-) ten scalak ma około 55 dB dynamiki pomiaru dokładnie jak opisał F6BON na WWW najprościej podać napięcie na miernik cyfrowy przez dzielnik napięciowy i offset i na wyświetlaczu multimetru masz odczyt wprost w dBm , robiłem to samo dokładnie z AD8307 działa wyśmienicie ten scalak ma też 25mV/1dB podobnie jak AD8307...
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! 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...
Witam, Pracuję na zestawie kamami zl11arm z mikrokontrolerem at91sam7s236. Uruchomiłem przetwornik ADC i mam pytanie. Jak bardzo mogą wahać sie wyniki pomiarów napięcia, które na normalnym mierniku sie nie waha wcale? Wykonuję pomiary co 1s. i z moich obserwacji wynika, że wyniki zmieniają sie o maksymalnie 5% VREF. Czy to normalne czy może coś jest...
wlasnie chcialbym to wykorzystac do pomiaru pradu na rezystorze. pdfa czytalem, wzmocnienie jest mozliwe nie na wszystkich kanalach, na kanalach ADC0 i ADC1 jest mozliwe ale to inna bajka. ale glownie chodzi mi o to, ktory kanal odczytywac 0 czy 1? i czy to bedzie wszystko. wiem, ze to prosto samemu sprawdzic ale przez najblizsze 2 tygodnie nie mam...
Napisałem program w bascomie który mierzy 16 razy napięcie na wejściu przetwornika AC, później uśrednia wynik i pokazuje na trzech wyświetlaczach 7 segment i program ten pokazuje głupoty, na wyświetlaczu wartości cały czas bardzo szybko się zmieniają. Gdy usunę część odpowiedzialną za uśrednianie wyniku jest ok. Może ktoś zerknąć na kod i powiedzieć...
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
To nie ładowarka impulsowa. Jest tam trafo i mostek składający sie z około 40 prostowniczych kondensatora 1uf na 250V i nic więcej :) układ skacze bo dokonuje pomiaru ale nie zawsze trafia na szczyt Sinusojdy i na tą samą diodę( w mostku\) tak mi się zdaje że tu właśnie jest wina niestabilnego pomiaru. Rozwiązałem to tak że: -na wejsciu została zamontowana...
Albo coś zakłóca pomiar. W końcu Uref pochodzi od zasilania. Jak możesz sprawdź na wewnętrznym napięciu odniesienia.
Witam ponownie. Mam już wykonany program do pomiaru przyspieszeni, niestety mam spory problem z obliczeniem z tego prędkości. Próbowałem odczytywać wartość z przetwornika ADC co pół sekundy (16000000/256/500/125 = 1, a dla 63 to dwa razy na sekunde) i do tego wykorzystałem: $crystal = 16000000 ... Config Adc = Single , Prescaler = Auto , Reference =...
Witam, Znalazłem w sieci program do prezentacji wartości napięcia na wejściach ADC uC, Podłączyłem sygnał audio przez LM358 o wzmocnieniu około 30 razy i niestety pomiar nie jest zbyt dobry... już nie chodzi mi o pomiar dokładnego napięcia tylko że linijka z LCD wcale nie działa w rytm muzyki tylko jakoś tak dziwnie... załączam program w bascomie domyślam...
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...
Witam, Konstruuje sobie chronograf na Atmega8. Inspirowałem się tym- . Schemat: Jednak że z programowaniem mam na pieńku to skleciłem takie coś... pomiar czasu przepisałem z książki i lekko zmodyfikowałem. Zależy mi na dokładności pomiarów. Program zamieszczam, nie chce się skompilować, nie bardzo ogarniam co mam źle, mile widziane sugestie itp. Założenia...
Witam. Jeżeli można spytać, dlaczego aż MEGA32 ? Wystarczy Atmega8 i wykorzystać 3 kanały ADC. W Bascomie to bardzo proste przez instrukcje (GetadcX) no i oczywiście dzielniki + wyświetlacz np.LCD.
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, Próbuję zbudować termometr elektroniczny oparty na Atmega8 o wbudowany ADC i układ LM50 i mam mały problem nie mogę poradzić z ustawieniem danych mianowicie: Termometr pokazuje mi w temperaturze pokojowej że jest 75 C dotknięcie ręką czujnika ją podnosi. Po podpięciu na krótko lm35 wszystko jest porządku termometr pokazuje realną temperaturę....
Mowa o Bascom. Ale tak to jest jak się chce przedobrzyć. Wart_adc0 = Getadc(0) Wart_adc0_1 = Wart_adc0 * 0.501942605 'kalibracja temperatury wewnętrznej Wart_adc0_2 = Wart_adc0_1 - 273.15 ' od °C odejmujemy °K Wart_adc0_3 = Wart_adc0_2 Lcd Str(Wart_adc0_3) ... i ładnie wyświetla w stopniach Celsjusza z dokładnością do 1°
Ok, wywalę ten tranzystor. Macie rację. Odłączanie tego dzielnika zrobiłem dlatego, że to jest zasilane cały czas z akumulatora, a nie po stacyjce, dlatego chciałem oszczędzić pobór prądu przez ten dzielnik. Co do diody, to i tak skorygowałem tą różnicę spadku napięcia na niej i ustawiłem napięcie odczytywane takie samo jak przed diodą. Usunąłem tranzystor,...
Znalazłem poniższy kod na "Elektrodzie" załadowałem do procesora, pomiar napięcia jest zrealizowany zgodnie z przykładem z książki o Bascomie, niestety coś jest nie tak, ponieważ mimo że do ADC1 nie przykładam żadnego napięcia na wyświetlaczu pokazuje napięcie 1,96-2,03 V, po przyłożeniu napięcia 5V wskazanie wyświetlacza jest prawidłowe. [syntax=basic4gl]...
Spróbuj zrobić to tak aby pozbyć się offsetu: 1. Wolny pin ADC podłącz na stałe do GND lub ustaw go jako wejście z PULL-DOWN (00_010_000) 2. Ustaw ADC w tryb Single Ended Procedura odczytu z kalibracją programową (pseudo kod): [syntax=basic4gl] Result = 0 For Petla = 1 to 8 Case Petla 1: Stop ADC ADC_MUX_CTRL = 0_xxxx_0_00 (xxxx to nr pinu ADC zwarty...
Witam Wykonałem dla siebie układ naszego kolegi z forum Manekinena, z tematu: [url=]LINK Potrzebuję pomocy przy gotowym programie w Bascom, który udostępnił, mianowicie po wrzuceniu na Attinkę program wykonuje wyłącznie pętlę kolorów. Kompletnie nie reaguje na temperaturę, ani nie wygasza się w temperaturze pokojowej (tak jak powinien działać). Zauważyłem...
Genialnie ! Dziękuję. Jutro jak czas dopisze dam cały kod . ========================================... Oto kod nieco zmodyfikowany dla potrzeb zasilania awaryjnego z baterii. Opierałem się jak widać o dostępne w internecie kody. [syntax=vbnet] $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Pinb.1 ,...
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. Atmega32 mierzy napięcie akumulatora Li-ion z którego jest zasilana poprzez MCP1603 3,3V. Problem w tym że pomiary tego napięcia są strasznie nieliniowe. Np kiedy akumulator jest w pełni naładowany ok.4.2V procesor widzi już napięcie 4,6V kiedy napięcie spadnie do 4V wtedy procesor prawidłowo mierzy. Już przy napięciu na aku ok. 3,9V procesor...
Średnia można liczyć na jednej zmiennej. Wymaga to operacji zmiennoprzecinkowych. Trzeba więc stanąć przed wyborem, duże zapotrzebowanie na ram czy większe zużycie czasu CPU. Bascom ma ograniczenia co do liczby operacji zmiennoprzecinkowych w jednej linii Uwagi personalne usunąłem. O przesuwaniu przecinka słyszał? Odczyt z ADC mieści się w zakresie...
Dzień dobry, na początek schemat: Steruję silnikiem według schematu jak wyżej. Zasilanie uC 5V zasilanie silnika 12V. Wszystko zachowuje się jak należy, efekt końcowy osiągnięty - płynna regulacja. Chciałbym na tym silniku tym samym mikrokontrolerem (ATmega16a) poprzez Getadc() (piszę w Bascomie) mierzyć napięcie na tym silniku, który steruję PWMem....
Witam Konstruuję prosty woltomierz (0-5V) w którym wskazówka napędzana jest silnikiem krokowym. Zadawane napięcie regulowane jest potencjometrem. Wczytywana wartość jest odpowiednio przeliczana na wolty, potem na odpowiednią ilość kroków silnika. Problem w tym, że na etapie wczytywania przez przetwornik A/C, wartość pomiaru nie jest stabilna. To znaczy,...
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...
Wziąłem sobie Wasze uwagi do serca, choć nie wiem, czy dobrze je zrozumiałem. Kod wygląda teraz tak: Xury , do mnie trochę jak do dziecka, ale zapewne chodzi Ci o błąd w postaci zapętlenia podprogramów? Po dokonaniu w/w zmian, objętość kodu wzrosła o około 30%, rozumiem już, co miałeś na myśli pod pojęciem "redukcji kodu wynikowego". Teraz już nie wiem,...
Witam. Chciałbym zbudować sterownik bramy dwuskrzydłowej. Działanie standardowe tj. Włącz otwieranie 1skrzydla/poczekaj włącz otwieranie 2 skrzydła/Stop. Włącz zamykanie 2 skrzydła/poczekaj, włącz zamykanie 1 skrzydła/Stop. Czyli Otwórz/Stop/Zamknij/Stop itd. Dodaje wzór płytki pcb w pdfie, gdyż schemat (jeszcze) nie powstał. Oto kod: Zaznaczam że,...
jestem bardzo początkujący więc pewnie pytanie będzie banalne :-) szukałem na różnych forach, próbowałem i nie wiem gdzie wrzucić w kodzie 2 przycisk... idea programu ma być taka: po włączeniu zasilania pojawia się na wyświetlaczu "witaj" i po naciśnięciu przycisku 1 mierzy napięcie (kolejne naciśnięcie=kolejny pomiar). I do tego miejsca wszystko działa....
Witam Mam problem z prostym programem Poniższy program działa tak jak powinien $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 1 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portc.4 , Rs = Portc.5 Cls Config Pind.3 = Input Config Pind.2 = Input Config Pind.4 = Input Config Pinb.1 = Output...
Witam Zamieszczam kod na którym działam w tej chwili. Trzeba mieć na uwadze że jest to bardzo amatorski projekt. Świadomy jestem pewnych braków ale niestety brak czasu. Schematu płytki nie udostępnię bo... wstyd :) Każdy kto ma więcej czasu niż 3 godziny zrobi napewno lepszą. (at)Daro_Elektronik nie mam zielonego pojęcia i nie wiem czy mi ta wiedza...
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 Mam pewien problem, chciałbym żeby w moim termometrze kiedy temperatura z pierwszego czujnika zejdzie poniżej 2 st zapalała się dioda podłączona do portd.0 Zrobiłem warunek, niby działa, ale tylko dla 0, kiedy wpiszę zero dioda się zapała, ale wszystko powyżej zera i dioda stoi w miejscu... (temp w pokoju 22st) Druga sprawa to jak zrobić, żeby...
Witam, nie mogę napisać poprawnego kodu aby mierząc napięcie na przetworniku adc wyjść z pętli , napisałem taki kod [syntax=basic4gl]Scan: Locate 1 , 6 : Lcd " Scan" : do Pomiar_scan = Getadc(1) Squelch = Pomiar_scan / 10 Locate 1 , 6 : Lcd " Scan" : For Freq = Freq To Bandup Step Krok : If Krok = 1 Then Waitms 50 'Waitms 100 : If Krok = 10 Then Waitms...
:-) 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...
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...
Witaj, chyba trochę mnie nie zrozumiałeś, nie mam zamiaru przesyłać danych synchronizować itp. Potrzebuje tylko żeby AVR po naciśnięciu guzika nadał częstotliwość np 200hz, a drugi AVR rozpoznał że jest to 200hz i zapalił diodę. Tych częstotliwości będzie może z góra 7-8 np. 50Hz 100Hz 150Hz 200Hz 250Hz 300Hz 350Hz 400Hz I przy zastosowaniu przetwornika...
Zamieszczam kod:
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ć,...
Witam. Nie bardzo wiedziałem gdzie swój temat umieścić więc wylądował tutaj. Jeżeli to zły dział to proszę o przeniesienie ;) Chciałbym za pomocą uC AVR ATmega328p (ADC) odczytywać sensor Mój pomysł na podłączenie: Napięcie odniesienia uC to wewnętrzne nacięcie Vref 1V1. W jaki sposób dobrać rezystor oznaczony "???"? A teraz strona programowa... Program...
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...
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...
Cześć. Mam taki problem napisałem sobie program który steruje ładowarką. Jeśli ustawie mu: cksel=0100 , sut=00 to nie działa program - nic sie nie dzieje. a jeśli ustawię: cksel=0100 , sut=10 wtedy działa ale źle liczy czas Program robiony na szybko wiec może ma gdzieś błąd ewentualnie co poprawić w nim?? $crystal = 8000000 $regfile = "m8def.dat"...
Bascom operuje bezpośrednio na rejestrach. Poczytaj DS co i gdzie trzeba poustawiać, a potem czytaj wynik też prosto z rejestrów. Nie używaj getadc. To polecenie działa tylko w trybie single i o ile wiem wykonuje konwersję zawsze dwa razy zwracając wynik drugiego pomiaru. Wtedy o szybkości max nie ma co mówić.
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, w ramach konkursu na urządzenie pomiarowe przedstawiam bardzo prosty miliamperomierz do testowania gniazd usb w smartfonach i innych urządzeniach. Konstrukcja jest śmiesznie prosta, oparta na mikrokontrolerze attiny13 i zawiera tylko kilka elementów niezbędnych do działania. Miernik prezentuje pomiar na linijce składającej się z dziesięciu diod...
nie pamiętam bardzo testowałem to na konkretnej pompie dotąd aż za bardzo sie nie grzała a podawała prawidłowo paliwo podaje kod jakiś znalazłem z pierwszych prób może się ktoś pokusi o poprawki jeszcze kilku zapaleńców i można by wrócić do projektu chociaż czasu brak Dodano po 16 Jednak teraz bym pozmieniał elektronikę gdyż dużo zależny od tranzystorów...
Czy mógłbyś udostępnić zródła bascomowe dotyczące uśredniania wyników pomiarów?? Proszę bardzo: For Petla = 1 To 9 'przesuniecie tablicy pomiarow o jeden wstecz i dodanie nowego pomiaru Adc_mpx(petla) = Adc_mpx(petla + 1) Next Petla Adc_mpx(10) = Getadc(7) Suma = 0 'obliczanie sredniej z 10 pomiarow For Petla = 1 To...
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...
Witam. Sprawa banalna dla kogoś kto często programuje w BASCOM. Ja niestety należę do tych "niedzielnych" programistów. Otóż, napisałem nieduży programik w BASCOMie - menu z pomiarem na wyświetlacz 2x8 znaków czyli 16*1a i mam kłopot, bo raz jest jedna cyfra po przecinku a raz dwie (z czego ta druga jest jakby cieniem poprzedniego stanu - zostaje a...
Witam Aktualnie konstruuję prosty woltomierz (0-5V) w którym silnik krokowy napędza wskazówkę. Po zadaniu określonego napięcia silnik wykonuje obrót o odpowiedni kąt, ale nie reaguje na zmiany napięcia, w trakcie trwania ruchu. Np. po nastawieniu 4V wskazówka obraca się w prawo, i gdy dotrze do miejsca na skali 3V i w tym momencie zadałbym 1V, to najpierw...
Nie pisze że w tej formie która jest nie działa. Wręcz przeciwnie działa od 6 miechów bez zwiech. Ale teraz chcemy dołożyć PWM do tego co mamy i tu jest problem. To część programu. Ważne elementy algorytmów są wycięte, bo nie maja znaczenia dla poruszanego problemu. Jeśli jest możliwość dołożenia PWM z timera1 to proszę o pomoc. Proszę niezwracać uwagi...
Witam, Od dłuższego czasu próbuję bezskutecznie odczytać liniał CCD ILX554A. Liniał ten jest sterowany sygnałami logicznymi ale zwracana wartość jest analogowa i pewnie stąd moje problemy. Wartości które odczytuje są porównywalne z szumem jaki dostaje na "luźnym" przewodzie wpiętym w drugi tor analogowy mikrokontrolera - więc raczej to co zwraca mi...
Odkopuje swój star temat, bo dalej go nie rozwiązałem a znów zaszła potrzeba użycia kilku ADC. Gdzie robię błąd?? Sposób pomiaru. Za każdym razem inicjuje, później mierzę, a na końcu wyłączam. Pod 0 podłączone 0V, pod 1 ok. 3V a pod 2. 5V [syntax=c] ADC_Init(); a=getADC(0); a=a*5/1023; dtostrf(a,3,2,wynik1); USART_PutString("\r\n 1. "); USART_PutString(wynik1);...
Witam Mam problem za programowaniem przycisków w EVB 4.4 atm644p . Chciałbym uzyskać przy naciśnięciu przycisku: - s1 = temperatury -s2 = napięcia -s3 = Pomiar rezystancji -s4 = Pomiar prądu Prosze o pomoc z Tym Kodem: [syntax=basic4gl]$regfile = "m644pdef.dat" '$regfile = "m32def.dat" '$regfile = "m16def.dat" $include "ds18b20_commands.bas" $crystal...
Jak w temacie, mam taki kod, ma za zadanie wyświetlić wynik w 8bit, gdy kliknę w przycisk to z danego pinu Xmega, albo z innego pinu. Niestety gdy kliknę raz w jeden to pokaże prawidłowo, potem z drugiego też, ale potem już nie zmienia tych ustawień. Jest to niezbędne bo co jak jeden woltomierz będzie pokazywał to samo co inny który miał pokazać inny...
Potrzebuje emulator DS18B20 na atmega8 - mam na PC program do odczytu temp i chciałem w tym programie dodac inne parametry ( np wilgotnosc ) ale nie zmieniajac programu - w scrachpadzie bede wisyłał inne dane nie temperature. ( w bajtach temperatury lub bajtach uzytkownika wolnych 2szt) Aktualnie używam "lampomitari" , ale napisalem przeróbke programu...
No to jeszcze raz napisałem wcześniej o wartościach ok. ( około ) również zaznaczyłem że w przypadku nie przewodzenia fototranzystora to warunki idealne brak wpływu czynników zewnętrznych w tym przypadku tranzystor nie przewodzi tak więc praktycznie napięcie zasilania masz na wyjściu różnice 1V podałeś sam ! Programuje w Bascomie w tym przypadku instrukcja...
Witam po raz kolejny. Buduje komputerek samochodowy przy użyciu atmega8 i walczę teraz ze zliczanie czasu trwania stanu wysokiego na wejściu int1. Dążę do tego żeby zliczać sobie ilość spalonego paliwa na danym dystansie. Resetuje wskazanie i będzie zliczał spalone paliwo aż do kolejnego resetu. Podłączyłem wtrysk poprzez diodę =>rezystor=>transoptor=>bramkę....