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...
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,...
Właśnie siedzę nad moim generatorem. Udało się! ha ufff jeee Masz rację jest to wina prescalera i innych podprocedur. jak wyeliminowałem wszystkie inne polecenia, udało mi się uzyskać na preskalerze 1 wyniki: D = 50% F = 40 - 12 KHz D = 75% F = 25- 12 KHz D = 90% - Max F = 12 KHz preskaler 8: D = 50% F = 40 - 1.5 KHz -> gdzie do 25 KHz jest jeszcze...
Temat archiwalny i kolega zapewne rozwiązał swój problem. W Bascom są dwa ciekawe polecenia: pulsein oraz pulseout. [syntax=vbnet] '--- odczyt impulsów Dim A as Byte Dim Freq as Byte Do Pulsein A , Pind , 2 , 0 If A <> 0 Then Incr Freq Else End If Print Freq Loop '---------i wysyłanie impulsów Do Pulseout Portb , 2 , 1 '<--- długość impulsu...
Potrzebuję czterech PWM i dwóch wejść odmierzających długość impulsu o zakresie od 1 do 2 ms. Pytanie czy atmega 8 się wyrobi czy muszę brać 16 . I jak rozumiem z wszystkich postów muszę pwm zrobić programowo bo potrzebuję pozostałych timerów do pomiaru impulsów. I pytanie o oscylator wewnętrzny czy mogę go użyć czy lepiej kwarc bo zależy mi na wielkości...
Dzieki :) Za podpowiedź. Opisze może teraz troche mniej chaotycznie do czego ja dążę z tym mikrokontrolerem: Chcę napisać program który: 1. będzie generował dla mnie przebiegi sterujące servem 1a. długość impulsu z zakresu 900us 2100 us. przerwa pomiedzy impulsami 20 ms 2. będzie potrafił te impulsy rozpoznawać i generować odpowiednie stany na któreś...
Łap. Mam co robić ale tak się chwile pobawiłem. Program nie jest przemyślany tylko tak z doskoku :D Mierzy długość impulsu jednego i drugiego i pokazuje na LCD Do tego sumując obydwie długości wróży tez częstotliwość :P Nie miałem na szybko nic z PWM żeby zadawać różne wartości to złapałem ten mój programowany generator 50/50 i dlatego wyniki takie...
Witam, Mam mały problem z pomiarem prędkości za pomocą Timer'a (Bascom). Może napisze krótki opis problemu: Na początku wyznaczyłem sobie ile impulsów na metr daje auto, wyszło 5,15. postanowiłem więc mierzyć w stałym czasie te impulsy i przeliczać na km. Jak się okazało takie podejście jest ok ale skoki prędkości są o kilka km np: 22, 25, 29 km/h ......
W załączniku moja wersja firmware dla Twoich modułów. Na razie do przetestowania :-) PB.0 i PB.1 to wejścia, którymi łączysz moduły w łańcuszek. Nie ma też znaczenia, które wejście łączysz do następnego modułu oba identycznie działają. Do skrajnych modułów normalnie podłączasz przyciski. Ustawiłem czas na około 1,8s rozjaśniania/ściemniania i 5s (licząc...
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...
I pilotach LG niektórych. Dokładnie: one 657 1605 zero 657 469 Takimi (średnio) długościami impulsów (w us) kodowane są zera i jedynki.
Rzeczywiście, z zaremowaną funkcją bitwait zmienna W przybiera wartości. Nie mam pojęcia dlaczego. Musisz tu zrozumiec mechanizm pomiaru długości trwania impulsu w instrukcji "PULSEIN": patrz 'Bascom help' Pulsein W , Pinc , 0 , 1 W tym konktetnym przypadku pomiar czasu dokonywany jest pomiędzy zboczami, z których pierwsze jest rosnące a drugie opadające....
Pewnie chcesz, żeby generować serię impulsów o różniej długości na jakimś pinie. Ten kod jest nie do końca kompletny. Jest kilka zmiennych które muszą być zdefiniowane i zadeklarowane gdzieś indziej. Na przykład "c0", "lastDelay", "highSpeed". Od nich zależy jakie wartości będą w tablicy "delays". Może rzuć kodem Bascoma, to różnice się znajdą same....
Da się to jakoś zrobić ale to będzie musiała być niezła dłubanina w assemblerze. Trzeba wydłużyć długość Timerów do co najmniej 32b (a to tylko programowo się da). Dodano po 1 A mnożnik ma być stały czy ustawiany? Jak ustawiany to w jakim zakresie? I pytanie poza konkursem: do czego to?
Czytam i sam się pogubiłem hehe . Czy tu chodzi o względne przesunięcie (tmf) czy bezwzględne (satanistik). Parę miesięcy temu robiłem sterowanie PID dla servo Xmega w bascom . [youtube]https://www.youtube.com/watch?v... Nie obyło się bez problemu , który polegał na zliczaniu bezwzględnym więcej niż 65535 impulsów . Mój wpis z innego...
... " męczysz" temat długości czasu wtrysku ;-)...? robiw
Generalnie, W Bascomie obsługa RC5 pozostawia wiele do życzenia dlatego też Mark w najnowszej wersji ma wprowadzić obsługę RC5 na przerwaniu ICP ("prawdziwie" w tle) według poniższego kodu, który udostępniam i polecam: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1...
Użyj wejścia ICP - wtedy zbocze zgłasza przerwanie i jednocześnie zatrzaskiwana jest zawartość timera. Odejmując dwie takie wartości masz długość impulsu, musisz jedynie zmieniać zbocze, na które reaguje ICP.
Witam. Na początku chciałbym zaznaczyć że dopiero zaczynam "przygodę" z mikroprocesorami. Jestem w trakcie przerabiania materiału z książki Pana Góreckiego "Mikroprocesory dla początkujących". Doszedłem do ćwiczenia 29. Generator impulsów- tryb porównywania i natknąłem się na pewien problem. Otóż na portb.3 (oc1) powinien pojawić się sygnał o częstotliwości...
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...
Dobra panowie, poległem. Potrzebuje pomocy... Chyba nie umiem użyć tego pulsein. Nie mam pojęcia nic o timerach, próbuję to zrozumieć ale kompletnie nie czaję. Nie wiem czym są przerwania i przepełnienia... Nie jest to dobrze wytłumaczone. Na Pinb.0 (atmega32) podaję te impulsy. I chcę mierzyć albo długosc całego impulsu, albo tylko kiedy jest w stanie...
Witam, ale kiedy właśnie zależy mi na tym, żeby to skumać... wynik na oko uzyskałem taki jak oczekiwałęm, teraz chcę iść dalej. Potrzebuję wygenerować impulsy o długości od 1000 do 2000us z zadanym taktowaniem - w zasadzie dowolnym pomiędzy 50-400Hz
Przeszło mi coś przez myśl. Możesz zliczać po prostu impulsy wysyłane przez nadajnik. Inkrementujesz zmienną "czas". Każdy odebrany impuls resetuje nam czas, a zmienna np "odebrano" zlicza ilość odebranych impulsów. Po zaprzestaniu nadawania czas osiąga jakąś wartość i po jej osiągnięciu zmienna "odebrano" zostaje zapisana. To tyle by było w BASCOM,...
Położenie serwa zależy od długości impulsu sterującego. Podawanego co ok. 20ms. Długość impulsu 0.9ms i 2.1ms określa max. wychylenie. 1.5ms- pozycję neutralną. Zmieniając to wypełnienie stopniowo określasz prędkość wychylania się serwa. Maksymalne przyspieszenie podawane jest w danych serwa. Prędkość silnika krokowego zależy od częstotliwości podawania...
Napisałem jakiś czas temu programik obsługi serwa i działa bardzo dobrze. Do odmierzania długości stanu "H" impulsów sterujących używałem tylko 8-bitowego TIMER0, w moim zastosowaniu zamiast odmierzać odstępy 20ms zrobiłem synchronizację kolejnych impulsów do impulsów z odbiornika. Wszystko Full- BASCOM :-) działa dobrze. Przy kwarcu 8Mhz, prescale=64...
A jak ją przyciąć? Teoretycznie mam tak zrobione obliczenia, żeby wyszła liczba max 3 cyfrowa. Ale czasami zdarza się, że wynik wychodzi większy (np. na postoju impulsy wtrysku są zliczane, a przejechana droga jest 0, i jak przejadę np. 0,1m, i impulsów zliczyło sporo, to pierwszy wynik ma więcej cyfr, i robi się śmietnik).
Witam szanowną brać elektroników :) Jakis czas temu rozpocząłem swoją przygode z mikrokontrolerami i postanowilem napisać programik który na określone sygnały aparatury radiowej do sterowania zdalnie sterowanym "czymś" będzie wykonywać konkretne czynności... tzn. w przypadku na przykład skrętu serva w prawo lub lewo będzie zapalać diody z prawej lub...
Witam. Apropo 3. żeby TSOP działał poprawnie, sygnał nadawany w podczerwieni musi mieć przerwy, np. 10 impulsów, przerwa o długości 10 impulsów (10 to minimum). jak to zrobić programowo? po przez timer ctc sie nie da przerwan zrobic. Tylko w czsie przerwy nie moze sie zaswieca dioda
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...
Właśnie zacząłem trochę czytać o serwach i doszedłem do wniosku że to rozwiązanie bardziej mi odpowiada. Teraz tak - jest sobie taki program: Dodano po 31 [syntax=basic4gl] $regfile = "attiny13.dat" $crystal = 4800000 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Portb.0 = Output Config Portb.4 = Input Portb.0 = 0 Dim A As Word Start...
Tak małych czujników indukcyjnych nie ma. https://czujniki.com.pl/pcid1-5zpw55262m... powinien zmieścić się przy szynie od wewnętrznej strony toru. zerknij też na czujniki w obudowach F3 F4. model w skali HO ? A jeśli idziemy w optykę to op jednej stronie szyny dioda nadawcza sterowana paczkami impulsów...
Trochę mi rozjaśniłeś sprawę. Chodź jeszcze nie do końca wiem jak to zrobić. Mianowicie z powyższych informacji znam długość impulsu w stanie niskim dla zera i jedynki, ale nic nie wiem jak długo będzie trwał impuls w stanie wysokim. Jakoś kompletnie nie mogę pojąć jak to robić przy pomocy timera w capure mode. Jedynie po głowie mi chodzi taka myśl:...
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...
Witam! Koledzy pomóżcie! Jak zmierzyć długość dwóch impulsów, które pojawiają się jednocześnie? Chcę zrobić mikser klapolotek stosowany w samolotach zdalnie sterowanych. Chodzi o to, że na dwóch wyjściach odbiornika pojawiają się impulsy o długości od 1 do 2ms z przerwą ok. 20ms, które po odpowiedniej obróbce w mikrokontrolerze sterują dwoma serwami...
Zalew jam Cię, że impulsu np o długości 10ms może nie wykrywać w 100% skuteczności. A nawet jeśli się upierać już przy tym opóźnieniu, to czemu nie zrobić tak: X = pind.1 waitms 20 Zmiana = X Xor pind.1
Hmmm... dowiedziałem się w końcu jak ma wyglądać włączanie tego oświetlenia. Przełącznik w pozycji -1 - oświetlenie wyłączone (impuls 1ms) Przełącznik w pozycji 0 - włączone stroby (impuls 1.5ms) Przełącznik w pozycji 1 - włączone stroby i dodatkowe oświetlenie pozycyjne. (impuls 2ms) Oczywiście pomiary trzeba by było zrobić z jakąś dokładnością (impulsy...
A nie łatwiej byłoby Ci samemu wysterować serwo używając w tym celu PWM z mikrokontrolera? Można to zrobić w bardzo prosty sposób, uniezależniając się od częstotliwości taktowania procesora. Ważne jest tylko żeby spełnić parametry sterowania serwem. Położenie mechanizmu wykonawczego serwa określane jest impulsem o zmiennej szerokości. Położenie neutralne...
Odświeżę temat ponieważ będę musiał przystąpić do budowy sterownika wtryskiwacza elektromagnetycznego commonrail. Konkretnie interesuje mnie układ wykonawczy czyli mogący wyzwolić impuls (długość zależna od czasu otwarcia tranzystora) o napięciu ok 70V i prądzie kilkunastu amper, chciałbym żeby ktoś zaproponował jakieś rozwiązania lub jeśli ma dostęp...
Wszystko masz ładnie opisane tu: http://dhost.info/ky3orr/index.php?dzial... W listingu masz: Dcf77 Alias P1.7 'input module DCF-77 Najprościej ujmując to musisz np: na tym pinie odbierać "zera" i "jedynki", (długość impulsu) i przeliczać sobie na konkretne liczby, czyli minuty, godziny itd....
Witam ! Proszę o pomoc w rozwiązaniu takiego problemu. Mam układ obliczający długość przewodu za pomocą Enkodera Kubler (1000 imp.) wykonany na mikrokontrolerze ATmega8535. Procesorek ładnie zlicza impulsy z wyjścia INT0, rozpoznaje kierunki oraz wyświetla wszystko na LCD. Problem polega na tym że muszę mieć odczyt długości na aplikacji PC. Wszystko...
A start timer to nie jest konieczne do uruchomienia licznika?? Zamiast tego Do 'pętla temonstracyjna zmieniająca położenie serw Wait 4 Pozycja1 = 600 Pozycja2 = 600 Wait 4 Pozycja1 = 115 Pozycja2 = 115 Loop End zrobiłbym raczej coś takiego Do 'pętla temonstracyjna zmieniająca położenie serw Wait 4 timer0 = 250 enable timer0 Pozycja1 = 600 timer1 = 250...
Ciekawą sprawą jest też to, że mój odbiornik IR (TSOP4836) jest normalnie zwarty (w stanie logicznym 1), mimo to przerwanie w trybie Rising działa poprawnie. Nie ma czegoś takiego jak "zwarty" :) tak poprostu działa prawie każdy odbiornik IR, w stanie spoczynku, jak nic nie jest nadawane, ma stan wysoki H czyli +5V, jeśli nadajnik (pilot) nadaje nośną...
Myślę że można by użyć przerwania do tego. Np. Sygnał o zmiennym wypełnieniu podać ma na wejscie przerwania INT0 (skonfigurowanego na wywołanie przerwania przy rosnącym zboczu). W obsłudze przerwania należałoby: Włączyć licznik T0 w trybie licznika 16-to bitowego wykonywac pętlę trwającą dopóki INT0 jest wysokie gdy pętla się skończy zatrzymać TIMER0...
emarcus Ile serwo wytrzyma to mnie nie interesuje, bowiem ja tylko dostałem zlecenie ;) Znalazłem w domu serwo nieprzerobione. ......... dać wartości położenia w pętle, a tu niespodzianka bowiem serwo nie działa poprawnie. Oczywiście że w takim sterowaniu nie będzie ono funkcjonować poprawnie. Soróbuj taki kode: $regfile = "m16def.dat" $crystal...
W bascom to jest proste jak nie powiem co - ale trzeba udoskonaliś kawałek z przeliczaniem wartości z adc na czas wysokiego impulsu. Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc Dim Pls As Word Dim Czaswysimp As Single Do Pls = Getadc(0) 'pobór wartości z ADC Czaswysimp = Pls Czaswysimp = Czaswysimp / 200 'tu należy...
NOUKI przeglądałem odnośnik - dzięki . Kombinuje maszyne do ciecia przewodów czyli : zadaje długość np. 10,5cm i po odmierzeniu "maszyna" ma uciąć ten przewów . Przesów drutu realizuje na siłniku prądu stałego z przekladnią (wiem że łatwiej by bylo na silniku krokowym )ale mam gotową przekłanie na silniku dc . pomiar przesuniecia przewodu - dioda-fototranzystor...
Nie jestem za biegły w timerach i się ciut pogubiłem. Proszę zatem o podpowiedzi. Próbuję ustalić ile czasu będzie trwał impuls podawany na INT procesora a jednocześnie zmierzyć czas od początku tego impulsu do początku następnego. Jednym uP podaję impulsy na drugi uP. Do Portc.7 = 0 'stan wysoki Waitms 1 Portc.7 = 1 'stan niski Wait 5 Loop Drugim uP...
Witam ! Mam do skonstruowania układ liczący długość przewody. Do zliczania liczby obrotów koła pomiarowego używam enkodera Kubler Sendix 5000 o rozdzielczości 1000 impulsów na obrót. Enkoder ma wyjście typu Push-pull i będzie zasilany napięciem 19 V (wynika to z konieczności zasilania innego urządzenia takim napięciem). Problem dotyczy podłączenia enkodera...
Attiny15 nie ma pamieci ram, wiec raczej cieąko sie na niego kompiluje jezyki wysokiego poziomu. Jeden timer generuje nośną 36kHz, a długość impulsów mierzysz zliczając wygenerowane impulsy: 1 bit rc5 trwa 1.782ms, czyli w bicie mieści się 62.2 okresów sygnału 36kHz. Przy nadawaniu włączasz COM0A[1:0] na "toggle", a przy braku nadawania na "normal port...
no z tym twoim 100Hz to nie mam pojęcia co się dzieje - ale ja już czasem różne dziwne rzeczy miałem w Bascomie kiedyś przy korzystaniu z Wait'ów w jakichś specyficznych sytuacjach. Oczywiście nie zwalam tu żadnej winy na Bascoma - bo zwykle czas gonił i nigdy nie miałem go na tyle aby dogłębnie przeanalizować co było nie tak - więc nie wiem - ale wymyślałem...
Kupione, bardzo ciekawa, dużo przykładów. Znam już trochę timer (przynajmniej podstawy), ale teraz pytanie. Jak zrobić żeby zmienna trwała krócej niż impuls, który ustala jej wartość? (pewnie piszę herezje) [syntax=vbnet] If PULSE=1 Then T=1 Waitms 1 T=0 End if [/syntax] Proble jest w tym, że moje PULSE trwa ok 300-500ms, a moje T musi być wyzwalane...
długość impulsu bascom impulsu impulsu bascom
brother wymiana protokół instalacja elektryczny usbdeview properties
rightmark audio analyzer vestel 17mb140 flash
Bezpiecznik tylnej wycieraczki Opel Astra J 2011 Czy wodomierze z aplikacją można zatrzymać magnesem?