Nie mogę się doszukać w helpie jak skonfigurować i używać PWM dla Tiny2313 w Bascom AVR a wyszukiwarka na forum nie działa, ktoś może mi pomóc? Ponieważ nie za bardzo ufam Bascomowi przy konfiguracji automatycznej( Config Timerx) , to wolę poustawiać rejestry ręcznie , korzystając z dokumentacji :D $regfile = "attiny2313.dat" $crystal = 1000000...
Kwarc dajesz np. 12 MHz Robisz sobie pętelkę pomiarową wywoływaną z Timera np. co 200 µs sprawdzającą dane wejście pomiarowe. Jeżeli wejście jest =0 to nie zliczasz jeżeli = 1 to zwiększasz zmienną WYNIK o 1 (zmienna 16 bitowa) zakres będzie do jakichś 6.4 sekundy. W pętli sprawdzasz także czy zmienna nie przekroczyła 25000 (5 sekund). Jeżeli...
Witam W załączniku masz cały program stopera z dokładnością 0,1s Wytniesz z niego co trzeba Pozdrawiam PIOTR
hunterhouse W AVR-ach sprzętowo można zatrzasnąć zawartość timera , ale uruchomić zliczanie trzeba programowo.Natomiast w 51-ce można uruchomić i zatrzymać timer sprzętowo.Jeśli na P3.3 jest stan wysoki i flaga GATE timera1 jest ustawiona , to timer zlicza doputy , dopuki stan na P3.3 nie zmieni się na niski.Problem jest tylko z tym , że Charly chce...
Jakiś czas temu z kumplem bawiliśmy się serwem Hitec HS-311. Sprawdzaliśmy co się będzie dziać przy podawaniu impulsu co 10ms,15ms (o ile dobrze pamiętam serwo chodziło podobnie jak przy odświeżaniu 20ms) i 30ms,40ms,60ms (im dłuższy okres tym większe skoki w obrocie).
W Bascomie jest do tego specjalna instrukcja Zaglądnij do Helpa na polecenie Pulsein Zauważ że zarówno instrukcja pulsein jak i pulseout mierzy tylko czas trwania impulsu a nie całego cyklu; patrz paniżej diagram: http://obrazki.elektroda.pl/1148630500_1... Zmierzysz tylko L1 albo L2 . Autor potrzebuje zmierzyc czas L (czas pomiędzy...
. Zamierzam zrobić tak by mogli wprowadzić korektę (jeśli będzie potrzebna) i zapisać w eeprom. czy to dobry pomysł? Jakoś tak; $Crystal=12000000 Config Timer1 = Timer , Prescale = 8 On Timer1 Inter_1mS Inter_1mS: Counter1 = Counter1 + Licznik (64036 - wychodzi z obliczeń, że da to 1ms) /tu odliczę sobie 103/ Błednie to rozumujesz, albo błednie podałeś...
Akurat ważniejszy jest mały spadek napięcia, żeby stan niski pozostawał niskim również za diodą. Zrobiłem szkic pokazujący o co chodzi w tym różniczkowaniu i ANDowaniu: http://obrazki.elektroda.pl/7732349900_1... Przy zwykłym różniczkowaniu widać, że brakuje szpilki wskazującej początek impulsu pierwszego kanału. Można ją odtworzyć...
Poczytaj troszkę o PWM, zmiana szerokości impulsu dające w efekcie zmianę jasności świecenia diody. Bo oto chodziło, prawda ?
Może i proste dla tych co w tym siedzą dla mnie jeszcze trudne swego czasu coś tam pisałem w Bascomie a potem już nic a Arduino to znowu inna bajka ale do rzeczy .... - nie wiem jak deklaracje pinów ardurino maja się do pinów atmegi ? Mają się 'nijak' !!! Arduino stosuje własną numerację pinów, która w żaden sposób nawet nie jest podobna do naturalnej/fabrycznej...
1 - doprowadź sygnały z czujników do trzech wejść jednego z portów 2- każdy z tych sygnałów doprowadź do wejścia przerwania INT0 ( odseparowane diodami lub przez transoptory np. CNY-17 ) Każde pojawienie się impulsu na jednym z wejść wyzwoli przerwanie INT0 W obsłudze przerwania sprawdzasz stan wejść i porównujesz z poprzednim stanem W zależności od...
To trzeba zmienić priorytet z 12 bitów stałokodowego pilota na odbiór HCSa lub całkiem usunąć obsługę pilota 12 bitowego. może tak: [syntax=vbnet]'*************************... '========================= przerwanie przy kazdym zboczu ICP, odczyt czasu trwania impulsu...
Może zaczniesz od czegoś łatwiejszego , będzie prościej i mniej stresująco . No, nie żartuj z faceta!. Co może byc łatwiesze (?) ? miganie diodą ?... Spójrz na jego ?credentials? w lewym oknie. Gośc jest tu około 10 lat, więc pewne rozeznanie w temacie posiada i ?kurs? z miganiem diodą z pewnością dawno ukończył. Może potrzebuje troche odmiennego spojrzenia...
Witam serdecznie Sprawa dotyczy czysto PWM mam tak - informacyjnie podaje $crystal = 8000000 Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1024 obecnie działa jak przerywacz prawie - reguluje sobie jedną wartość np czas trwania impulsu a potrzebuje jeszcze czas między impulsami Prescale mam już 1024 i dalej się nie da a 8 MHz...
Proszę. Nie testowane bo ja tu mam mnóstwo roboty ;) Normalnie użyłbym raczej wejścia ICP1, ale takie cos to możesz mierzyć chyba z palcem w uchu :D Powinien pokazać czasy stanu wysokiego i niskiego ;) [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000 $hwstack=64 $swstack=32 $framesize=128 Config Lcd = 20x4 Config Lcdpin = Pin , Db4 = Portb.2...
Witam! Mam taki problem: właśnie ropocząłem moją przygodę z mikrokontrolerami i chcę napisać prosty programik (w bascomie 8051) który za pomocą mikrokontrolera będzie sterował serwami w zdalnie sterowanym samochodzie, a problemem jest dla mnie napisanie kodu rozpoznającego sygnał.. tzn. wiadomo ze serwo steruje się imulsami dodatnimi o długości od 1...
> Cofam wypowiedź <
http://obrazki.elektroda.pl/6019176800_1... Witam. Jak to w większości przypadków bywa i na mnie przyszła kolej, by połączyć kilka akumulatorków w jeden większy pakiet. Można oczywiście poszczególne ogniwa polutować ze sobą, jednakże takie połączenie niestety powiększa gabaryty całego zestawu zasilającego. Dodatkowo jak się chce użyć...
Tak. Tylko mniej świadomość że procek będzie odrywany od pracy wieloma nieprzydatnymi impulsami. Ewentualnie po pierwszym impulsie na INT, wyłącz przerwania na czas drgań. Jak teraz masz podłączony kontrakton ? INT podciągnięty pod +5V ? Jak INT wyzwalasz ? W docelowym projekcie koniecznie czujnik kontraktonowy zamień na jakiś halotron albo transoptor...
Bascom zawsze używa metody obliczeniowej, która należy do zmiennej wynikowej. Oznacza, że w tym przypadku Bascom wykonuje obliczenia na bajtach. Wartość obliczeniowa2 jest typu Word. Czyli (1) = Liczba_ok / 100 zmienna Liczba_ok traktowana jest jako byte. Jedynym sposobem na konwersję jednego typu na inny jest po prostu przypisanie go w ten...
Nie można poprosic uC, żeby w tym czasie zajął się czymś niepotrzebnym (czym?) ale równie obciążającym? Procesor nie wie co jest potrzebne - robi co mu programista nakazał kodem programu (czasem nieświadom co nakazał :-)). Po drodze od programisty do kodu maszynowego (czyli tego co wykonuje procesor) jest jeszcze kompilator i miewa wbudowane opcje...
A ja polecam książkę koledze do nauki BASCOM AVR, bo tak kolega nic się nie nauczy...
Na moje oko 4046 to najlepsze rozwiązanie. To ja podpowiem że trzeba tylko minimalnie zmodyfikować mój program. Tak żeby drugi Timer generował tylko tyle impulsów po uruchomieniu ile wynosi mnożnik. A w tym pierwszym Timerze który mierzy okres ma być inicjalizacja tego drugiego Timera i uruchamianie go. Dzięki temu częstotliwość tego drugiego będzie...
Prototyp zrobiłem na pomiarze napięcia (ADC) na fotodiodzie - to chodziło, dopóki nie zacząłem testu na dworze.... Fotodioda łapała podczerwień z... no właśnie, skąd? Nie wiem. To oczywiste. Światło z otoczenia również zawiera podczerwień, więc pojawiają się zakłócenia. Po odłączeniu fotodiody i dotykaniu kabelkiem do + na wyświetlaczu także pokazywały...
Witam Chcialbym napisac program w bascomie ktory by dziala jako wylacznik sterowany czasem impulsu
W C to bym ci nawet pokazał jak to zrobić, o BASCOMie nie mam pojęcia i nie chcę mieć :) Swoją drogą lepiej porzuć tą ciemną stronę mocy i przejdź na stronę światła :)
1. Wszystkie zmienne powinny być typu takiego, który jest w stanie pomieścić wszystkie możliwe wartości, które mogą wystąpić, czyli w tym przykładnie zmienne WYNIK i WYNIK2 powinny być typu WORD 2. Zmienne T, S, D, J są w tym przykładzie zmieniane przed wyświetleniem i przy następnym wywołaniu podprogramu wychodzą głupoty. Sprawdz coś takiego: Dim J...
Ok po kolei, wywalam wszystko z programu, zostawiam tylko...... zmienna impulsy jest zwiększana o kilkanaście a nie tylko o jeden ............ Licz: If Scisk = 1 And Ok = 1 Then Incr Impulsy Elseif Scisk = 0 And Ok = 1 Then Decr Impulsy End If Return Kontaktron (Reed switch) generalnie jest stosowany jako proxy switch, czyli w ukladach statycznych....
Ponieważ tzw. casting w BASCOMie jest nieco zbyt prosto zrobiony to proponuję zrezygnować z: Dim Xl As Word Dim Xh As Word A w przerwaniu pobierać zawartość z rejestru ICR za pomocą specjalnie generowanej dla tego celu zmiennej typu Word: Capture1 . Pętlę Do..Loop zamieniłbm na sprzętowe porównywanie i kasowanie licznika przez CTC. Niech takimi rzeczami...
No jak za każdym razem do licznika wpisujesz zero to jakim cudem ma być spełniony ten warunek timer1= A?
Witam, A gdyby timer (odpowiedzialny za regulację częstotliwości) po przepełnieniu wyzwalał swoim przerwaniem podprogram z poleceniem PULSEOUT ? Można w nim zadeklarować czas trwania impulsu a przez to regulować jego wypełnienie. Pozdrawiam, Owszem 'zmontujesz' w ten sposób jakąś kombinowaną PWM falę, której czas stanu niskiego jest liczony timerem,...
Muszę użyć układ dwóch timerów ponieważ w docelowym układzie zakres czasowy Timera1 będzie za mały. Czy procesor zliczy na T1 impulsy generowane na OC2 ? Obawiam się sytuacji, że przy wspólnym CLK gdzieś mi się zbocza miną pomiędzy OC2 a T1 i układ nie zatrybi... Oczywiście że zbocza te mogą się minąć, ale to jest bez znaczenia. Podczas synchronizacji...
Osobiście nie lubię mikroprocesorów itp. dla mnie jest to czarna magia. No właśnie dlatego nie lubisz bo ich nie rozumiesz, też mnie to wkurzało jakieś 30 lat temu jak w EP czy EE czy PE pojawiał się ciekawy temat a potem na schemacie widzę procek i du#a blada. Potem wziąłem się za procki, wpierw była to '51 i kaleczny bascom z kupą błędów i koszmarem...
Witam. Jestem osobą która od kilku miesięcy w wolnych chwilach próbuje sił z mikrokontrolerami. Jako język wybrałem Bascom bo wydaje się być bardziej przyjazny od np. C. Mam wielki problem gdyż nie wiem jak zabrać się za pisanie programu który miałby generować 59 impulsów w określonym czasie, a po wygenerowanie zrobić przerwę długości jednego impulsu...
Sygnałem wyjściowym hallotrona jest napięcie. Tak więc przez 1/2 LM358 pracująca jako komparator i zasilona napięciem takim jak procesor. Ważna jest biegunowość napięcia wejściowego.
Ten moduł daje na wyjściu impuls o szerokości równej czasowi od wysłania impulsu do odebrania echa. W efekcie trzeba zaprząc timer, ICR i potem czas przeliczyć na odległość wiedząc jaka jest prędkość rozchodzenia się dźwięku w ośrodku.
Proszę postępuj zgodnie ze schematem użytkowym, który załączyłem (post #4 21 Lip 2015 21:39). Tam jest przedstawione gotowe rozwiazanie. Zacisk 21 podłączasz do masy, zaś zacisk 20 do GPIO. Stanem aktywnym jest zwarcie pinu GPIO do masy. Następuje to w momencie pojawienia się impulsu (dokładnie w momencie kiedy na ORNO mrugnie dioda). Dalsza procedura...
Witam, Piszę program do atmega8 i mam problem z ustawieniem Timer1. Dopiero zaczynam programować więc proszę o wyrozumiałość. Chciałbym ustawić tak timer1 aby zaczął liczyć czas od pojawienia się na portd.3 pierwszego impulsu do drugiego impulsu, zapisał wartość do zmiennej, wyzerował się i zaczął zliczać czas od drugiego do trzeciego impulsu zapisał...
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Witam. Można i tak kolego Kuniarz , ja robię to troszkę inaczej . Korzystam z przerwania od porównania wartości dla timera 1 . Przerwanie INT0 staruje timer od zera natomiast przerwanie Compare A załącza triak a Compare B wyłącza impuls bramkowy. Wartość od zera do wartości Compare A to opóźnienie załączania triaka od przejścia przez zero . Natomiast...
odświeżam posta. Jak mogę wysterować atmega8 tak by w zależności o wysokości amplitudy impulsu zapalała się odpowiednia ilość diodek?
Tu jest gotowy przykład na atiny13 ale w ASM [url=http://www.avrfreaks.net/index.php?... nie mam pojęcia czy działa ale zapewne tak ;)
Banalne zadanie. A więc włączasz licznik(lepiej TIMER1-większa pojemność), tak, aby odliczał ci te 10sekund. Dajesz zmienną którą zwiększasz np co 1sekunde (zmienna o nazwie sekundy). W czasie odliczania do 10s w pętli głównej zliczasz impulsy przycisku i zwiększasz je w innej zmiennej (np. impulsy). Po 10 sekundach w zmiennej sekundy będzie10s a w...
r"]Potrzebuje zmierzyć samo wypełnienie impulsów nie wiem jak za to się zabrać. Potrzebuje badać sygnał idący na serwo modelarskie. By wiedzieć na 3 diodach jakie jest jego położenie. Proszę o jaką kolwiek pomoc. Oczywiście nie chodzi mi tu o zrób za mnie... ale nie wiem od czego zacząć. Rozumowanie moje jest takie przychodzi impuls odpala się timer....
Zrób to na mierzeniu czasu od impulsu do impulsu. Bo jak bedziesz mierzył ilosć impulsów w danym czasie to wałasnie tak Ci to bedzie pokazywało z rozrzutem
Opóźnienia bramek z seri 40xx to ok 40ns, HC TTL to ok 8 ns. Jak chcesz sybsze ukłądy przejdź na CMOS TTL np 74HC166 o ile dobrze pamietam. Jednak nawet te 40ns nie powinno zaszkodzić , jak się ma to do czasu wykonywania programu gdzie jeden rozkaz to 2 cykle zegara a najszybsze 20MHz jakie jest stosowane daje szerokość impulsu zegarowego 50ns. Opóźnienia...
Korzystam z BASCOM Podłączone mam piny ECHO pin PD.3 TRIG pin PD.4 Stworzyłem taki program testowy [syntax=vbnet] $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 32 $framesize = 32 Config Portb.6 = Output 'wyjscie LED Config Portd.4 = Output 'wyjscie dla Trigger Config Portd.3 = Input 'wejscie dla Echo Trigger Alias Portd.4 Led Alias...
Bascom ma wiele do rzeczy, hasło to prędkość. Nic nie ma wspólnego. Sterowanie serw modelarskich jest w Bascom zkaszaniona (przynajmniej kiedyś była) serwo do CNC to typowe sterowanie PWM (bez przerwy ok 20ms jak w modelarskim i długość impulsu decyduje o prędkości a nie położeniu). Trzeba więc obsługiwać serwo bezpośrednio na rejestrach, ewentualnie,...
Witam po przerwie. Męczę teraz sterowanie silnikiem krokowym z muzyki. Program wygląda tak: [syntax=vbnet] $regfile = "attiny85.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 Declare Sub Lewo Declare Sub Prawo Config Portb.2 = Output Config Portb.1 = Output Config Portb.0 = Output Config Portb.4 = Output Config Pinb.3 = Input Dim...
Sam pomiar w przerwaniu nic nie da. Bo zawsze wskaże porównywalny prąd (impulsowy podczas trwania impulsu PWM). Ten prąd trzeba przeliczać w zależności od wypełnienia PWMa. I dlatego pytałem jaki chcesz prąd. Średni czy skuteczny. Jak średni to mnożysz przez wypełnienie PWMa (przeskalowane do zakresu 0...1). A jak chcesz skuteczny to mnożysz przez wypełnienie...
impulsu bascom bascom pomiar impulsu długość impulsu bascom
niszczarka papier fellowes mikroskopu oświetlenie pompa ciepła powiatr powiatr
schemat inwertera hybrydowego schemat falownika hybrydowego
Błąd C1122 w Opel Agila - diagnostyka i rozwiązania Luz zaworowy Hyundai Tucson 2.0 benzyna - specyfikacja