Tu taj masz trochę informacji o tej funkcji z Bascom AVR: http://www.forbot.pl/forum/topics49/funk... Zobacz też HELP'a :)
np tak: Config Pinc.5 = Output Config Servos = 1 , Servo1 = Portc.5 , Reload = 4 a potem w kodzie wpisujesz odpowiednie wartości do : Servo(1) = wartość wychylenia to na szczęście w Bascomie proste jak poezja ;) zesztą zajrzyj sobie do helpa Bascom'a - config servos
Witam, Magistrala 1-wire posiada dość mocne restrykcje czasowe co do trwania poszczególnych stanów na DQ. Przerwanie Timera, a wiec wykonanie podprogramu związanego z obsługa przerwania, powodowało zmianę długości tych czasów, gdyż są one generowane softwaerowo przez Bascom. Czasem może się zdarzyć że kolizja i tak wystąpi pomimo że teraz wszystko jest...
Do serw w Bascom AVR może przydać się lektura help'a. Zacząłbym od CONFIG SERVOS.
Użycie miniaturowego potencjometru nie jest dobrym rozwiązaniem. Najlepiej jest wstawić w to miejsce wstawić dzielnik napięciowy (dwa rezystory). Oczywiście z przerabianiem takiego serwa wiążą się pewne problemy. W przypadku gdy zostawisz elektronikę, a taki przypadek wybrałeś musisz empirycznie dobrać pozycję neutrum. Z tego co się orientuję to wartość...
astral , przecież BASCOM AVR udostępnia polecenie CONFIG SERVOS. Próbowałeś go użyć?
Ja bym raczej polecił ATMega8 - mniejszy gabarytowo i tańszy: kosztuje tyle co 0.5 sztuki PCF8591. :) Ma 6 kanałów przetwornika o rozdzielczości 10-bit + 2 8-bitowe na dokładkę. Hmmm.... Programowy 8 kanałowy PWM, będzie ścisk... Taktowanie procesora minimum 10MHz. Jeśli pisałbyś to w Bascom-ie to można wykorzystać obsługę sterowania serwomechanizmami...
Na podstawie helpa z bascoma napisałem taki programik Config Servos = 1 , Servo1 = Portd.1 , Reload = 17 Ta metoda pracuje z servem o rotacji 180 st. Twoje servo zdaje się jest 'continuous rotation' więc nie będzie pracowac. Bascom Help : "The CONFIG SERVOS only works with servo's that rotate 180 degrees. These are the servo's found in RC models. There...
Witam!! Ustawiłem sobie powyższym poleceniem wyjścia kilku serw, teraz chciałbm aby w programie móc wyłączyć generowanie impulsów dla jednego z serw, poleceniem disable timer0 przestaje generowac impulsy dla wszystkich a zmiana portu z wyjściowego na wejściowy nic nie daje... Jest jakaś możliwość?? Ponadto, jakie są najdłuższe interwały przerwania wyzwalanego...
Sama obsługa serwa to nie wszystko co program ma robić. CONFIG SERVOS zdaje się potrzebuje do poprawnej pracy dwóch timerów - w każdym razie robiłem już testy i to programowe sterowanie serwami kolidowało mi przerwaniami timerów potrzebnych do czego innego. Dlatego potrzebuję 4 sprzętowych kanałów PWM. Dwa na Timer1 działają bez problemu, no ale tam...
No właśnie, do listy zakupów dodałem zasilacz uniwersalny. Jeszcze trochę pogrzebie w częściach może coś się nada. Przy okazji: Na innym forum kiedyś wyczytałem, że do sterowania serwami przez Config Servos w Bascomie, potrzebny jest kwarc > 8MHz. Jednak w helpie bascoma widać przykład na wewnętrznym oscylatorze 4MHz (tak jak ja próbuje). Może to również...
Polecenie konfiguracyjne serwa w języku Bascom wygląda następująco: CONFIG SERVOS = liczba , SERVO1 = końcówka [ , SERVOn = końcówka ] , RELOAD = czas W Helpie napisano, że parametr RELOAD to czas opóźnienia pomiędzy kolejnymi przerwaniami licznika TIMER0, rozdzielczość. Zazwyczaj jest to 10us, a wielokrotność tego to szerokość stanu wysokiego. W opisach...
A dlaczego nie skorzystasz z polecenia Config servos i Servo?Zobacz w dokumentacji informacje o tych poleceniach. pozdr
Witam ogarnąłem już dużo na temat programowania w bascom, tylko mam kolejny problem, mianowicie chciałbym zaprogramować obsługę serwa pilotem nadającym w RC5 lecz gdy połączę obsługę rc5 i serwa mam takie błędy i nic nie działa: ........ Pojedynczo programy działają ok. ................. Rc5+ servo (nie działa) Pozdrawiam. Zauważ że zarówno 'Config...
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...
Zajętość flash`a z 46% na 38% :P Tak bym się nie bawił, ale w Tiny13 to ma znaczenie bo można coś jeszcze upchnąć ahahaha :D [syntax=vbnet]$regfile = "attiny13.dat" $crystal = 9600000 $hwstack=20 $swstack = 8 $framesize = 16 'Declare Sub Zmiana Config Pinb.2 = Input Set Portb.2 Config Portb. 4 = Output Config Servos = 1 , Servo1 = Portb.4 , Reload =...
Witam. Przekopałem chyba pół internetu, ale nie mogę znaleźć konkretnego opisu sterowania PWM wykorzystując Bascom i AVR. Wszędzie tylko same pytania, problemy itepe. Konkretnie mam już podłączone servo do mikrokontrolera - wykorzystałem funkcje "SERVOS" (attiny2313) . Teraz chcę dodatkowo sterować silnikiem. Proszę o pomoc, jest to mój pierwszy post,...
Witam Mam problem poprawieniem tego programu... Ogólnie każde z osobna działa, kod na servo i kod na RC5. Moge sterować np diodami, ale gdy do kodu dolacze: Config Servos = 1 , Servo1 = Portc.6 , Reload = 10 Pojawia sie taki problem... http://lh6.ggpht.com/_FRfDBMKh5wM/S4lPXC... Czy nie można łączyć tych dwóch...
Tak słyszałem. Ale jak to polecenie rozwiązuje mój problem? Ono tylko podaje kolejne liczby które wydają się losowe - w dodatku za każdym razem podaje takie same wyniki ,po resecie więc musiałbym zapisywać seed w EEPROMIE. Znacznie lepiej ustawić w programie ,że gdy użytkownik naciska przycisk to następuje inkrementacja zmiennej pomocniczej a w chwili...
Witam Mam problem ze sterowaniem serwem w bascomie. Połączenie pomiędzy uC a serwem jest prawidłowe. Gdy wgrywam jakikolwiek program, np taki krótki: $regfile = "m16def.dat" $crystal = 10000000 Config Porta.4 = Output Config Servos = 1 , Servo1 = Porta.4 , Reload = 10 Enable Interrupts Servo(1)=100 wait 1 serwo dziwnie skacze, to przerobione...
Witam. Pomyślałem że, dopiszę się do rozmowy o sterowaniu serwami :D . W BASCOM jest gotowa obsługa serw która wygląda tak: $regfile = "m16def.dat" $crystal = 8000000 Config Servos = 1 , Servo1 = Portd.5 , Reload = 10 Enable Interrupts Dim I As Byte , Ruch As Byte Do If I < 130 And Ruch = 0 Then Incr I If I = 130 Then Ruch = 1 End If If...
Nie rób na złość sam sobie. Ustaw ten procek na 8MHz i masz 20ms 50Hz period jak ta lala i sprawa pójdzie do przodu :D http://obrazki.elektroda.pl/8929356500_1...
W instrukcji CONFIG SERVOS jest taki parametr jak RELOAD = xxx. Liczba xxx określa jaki czas w us będzie pomiędzy kolejnymi przerwaniami licznika taktującego generator PWM dla układów serwa. I będzie to rozdzielczość tego układu. Zatem jeśli wpiszesz 10 to SERVOS(1) = 100 da nam 100x10us = 1ms impuls powtarzający się co 20ms na wyjściu podłączonym do...
Proszę może jacyś inni są w stanie doradzić (pomóc) w tej kwestii? To skoro kolega prosi, to ja też napiszę, chociaż widzę, że kolega sam wie najlepiej i też zaraz zostanę zrugany :D . 1. Na początek serwa modelarskie - sterowane są dokładnie tak, jak pisze hunterhouse z tą uwagą, że standard większości producentów przewiduje 1.5ms środek serwa a 1.5ms±0.5ms...
Stworzyłem następny program. Położenie serva jest zmieniane za pomocą dwóch przycisków pilota RC5. Oto on: 'Jedno servo sterowane pilotem, 60 kroków $regfile = "m8def.dat" $crystal = 10000000 Config Pinb.0 = Output Config Int0 = Low Level Config Rc5 = Pind.2 Config Servos = 1 , Servo1 = Portb.0 , Reload = 10 On Int0 Pobr_rc5 Dim Address As Byte , Command...
Witam, ostatnio zakupiłem silniki bezszczotkowe oraz układy ESC do nich. Próbowałem sterować nimi za pomocą Atmegi8 i polecenia config servo ale niestety nie mogę ich uruchomić. Czy ktoś mógłby wytłumaczyć mi jak to należy zrobić ? Kod Bascom: [syntax=vbnet]$regfile = "m8adef.dat" $crystal = 4000000 config PORTB=output config servos=1, servo1=PORTC.5,...
Wielkie dzięki za odpowiedzi , rozwialiście mój problem całkowicie Więc teraz zrobie tak że timer1 będzie zliczał impulsy timer2 będzie korzystał z kwarcu zegarkowego, a timer0 będzie skonfigurowany przez funkcje Config Servos. Tadam A z moimi liczbami chodziło mi o to że w kodzie jeżeli timer zmierzył więcej niż 256 impulsów to inkrementowałem zmienną...
Witam Jak wyeliminować opóźnienia w instrukcji wait przy używaniu przerwań do obsługi serwa? Przy tym programie czas oczekiwania się niemal podwaja: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Pind.1 = Output Config Servos = 1 , Servo1 = Portd.1 , Servo2 = Portc.0 , Reload = 10 Dim I As Byte Enable Interrupts Do I = 70 Servo(1)...
Znalazłem na forum kod dostosowałem do swoich potrzeb: /* Test serwo*/ /* Programik przykladowy */ /* typ uC: ATmega8 1MHz */ /* licznik/timer1 w trybie PWM */ /* Sygnal impulsowy (50Hz) na wyprowadzeniu PB1(OC1A) */ /* Przyciski sterujace szerokoscia impulsu przylaczone miedzy PD2 i mase oraz PD3 i mase */ #define F_CPU 1000000L...
Witam. Chciałbym zapytać o poprawność mojego kodu: $regfile = "m8def.dat" $crystal = 12000000 Config Servos = 1 , Servo1 = Portd.1 , Reload = 10 Config Portd = Output Enable Interrupts Dim Zmienna As Integer 'Nasze "odchylenie" serwa Zmienna = 150 'Czas trwania impulsu będzie wynosić 'Zmienna*Reload=1500us (1,5ms) Do Servo(1)...
http://obrazki.elektroda.pl/5214176000_1... Witam. Przedstawione rozwiązanie powstało z myślą o zdalnym (radiowym) sterowaniu modelem samochodu. Umożliwia płynne regulacje: kierunku (lewo/prawo) oraz prędkości ruchu (przód/tył). Rozkaz typu "włącz/wyłącz" pozwala np. uruchamiać sygnał dźwiękowy (klakson) lub włączać światła. Spośród...
Cześć. Mam taki problemik. Jest sobie program, który działa, tylko denerwuje mnie jedna rzecz. Po włączeniu zasilania serwomechanizm robi chaotyczny ruch. Wydaje mi się, że gdyby zapisywać po każdej zmianie i odczytywać na początku programu ostatnia wartość problem by zniknął, ale nie ma już pary pod kotłem. 96% pamięci zajęte. Piszę w Bascom. Kozystam...
Witam! Mam problem z Atmega32 i serwomechanizmami. Przeanalizowałem mnóstwo postów z forum, ale mój problem nadal nie został rozwiązany. Mam układzik do sterowania 25 serwomechanizmami modelarskimi. Chciałbym chociaż jedno wysterować. Podłączony kwarc 16MHz. Fuse bity na 011111:Ext Crystal/Resonator High Freq; Start-up time: 16K CK + 0 ms; $regfile...
Witam, rozpoczynam walkę z serwami i atmegą- jak na razie jest 1:0 dla serva;/ Mam układ podłączony jak na schemacie. Czyli pod laptopa podpięty programator, i programator z płytką do której jest też podpięte servo. Servo jest zasilane osobnym źródłem napięcia http://obrazki.elektroda.pl/3542635600_1... Zajrzałem do pomocy bascom`a i...
Ludzie, jak potrafią, to pisza po rejestrach, ale prawie każdą rzecz da się zapisac komendami Bascom,a Znam wyjątki, ale nie będę teraz o nich pisał. Masz tu trzy przykłady bo się nie wygrzebiesz z tego a jest ładny dzień ;) http://obrazki.elektroda.pl/4471264900_1... http://obrazki.elektroda.pl/4705008200_1... http://obrazki.elektroda.pl/8798744300_1...
Witam, Mam pewien problem z ATMEGĄ8 i serwem MG90S. $regfile = "m8def.dat" $crystal = 1000000 Config Servos = 1 , Servo1 = Portb.1 , Reload = 10 Config Adc = Single , Prescaler = 128 , Reference = Avcc Start Adc Dim W As Integer Config Pinb.1 = Output Dim I As Byte Dim I2 As Integer I = 150 Servo(1) = I Enable Interrupts Do 'W = Getadc(0)...
Nie spodziewałem się aż tak szybkich odpowiedzi. :) 1. dwa serwa modelarskie mają tylko otrzymywać wartości, nie muszę z nich nic zwracać. Skorzystałem z dedykowanej funkcji servos i zajmuje to timer0 , w książce M.Wiązania było zalecenie aby wykorzystać kwarc min 10MHz.. A sygnał generowany do serw musi być bardzo stabilny aby nie wykonywały nieprzewidzianych...
Pierwsza zmienna od lewej na górze to pobrana z Input i po odcięciu pierwszego znaku (LF). Druga za nią, to zmienna liczbowa przekonwertowana ze zmiennej którą opisałem w poprzednim zdaniu. W dolnej linijce, zmienna Y, która jest "wysyłana" do serwomechanizmu. Dzieją się znowu cuda, i nie mam pojęcia dlaczego. https://filmy.elektroda.pl/37_1323381786...
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...
A nie prościej mikrokontroler i polecenie servoset w bascomie / ew. w innym języku? W lepszych modelach sterowanie odbywa się za pomocą serwomechanizmów, wszystko jest robione pod ten standard. Dodatkowo w silnikach spalinowych przepustnica jest otwierana bezpośrednio przez serwomechanizm. Tak więc wystarczył by sam mikrokontroler z serwami podłączonymi...
Program w Bascom Atiny 24 Dwa serwo poruszające kamerą. Po włączeniu zasilania pozycja środek. Przyciski. S1_lewo obraca Serwo 1 w lewo S1_praw obraca Serwo 1 w prawo S2_lewo obraca Serwo 2 w lewo S2_praw obraca Serwo 2 w prawo Nie ustawia pozycji środkowej , i nie zmienia pozycji. A to mój kod [/code][syntax=vbnet] 'STEROWANIE SERWOMECHANIZMAMI KAMERY"...
Zmieniłem w Alias, niestety nie mogę znaleźć składni funkcji debounce z dwoma warunkami, więc może mógłby ktoś umieścić jak to powinno wyglądać. Po zmianie dalej występuje błąd: Error 61: Label not found [PINC.1 ]. Co jeszcze zmienić, aby poprawić error? Poprawiony kod: <code> $regfile = "m8def.dat" $crystal = 12000000 Config Portc.0 = Input Config...
Witam, proszę o uwagi na temat moich wypocin. Mam kominek z płasczem wodnym. Układ ma mierzyć temperaturę w obwodzie kominka i na wyjsciu z wymiennika płytowego. Na podstawie pomiaru temperatury w obwodzie pierwotnym mają być załączane pompy i w razie potrzeby włączany alarm po przekroczeniu bezpiecznej temperatury. KOD: [syntax=vb] '***********************KONFIGURACJA****...
Wszystko masz na tacy. Napisanie poniższego kodu zajęło mi 5 minut.. Zacznij myśleć coś sam bo to ostatni gotowiec. [syntax=vbnet]' "STEROWANIE SERWOMECHANIZMAMI DLA LENI" ' ' BARTek niveasoft(at)tlen.pl ' ' SERWO1 na PORTB.0 ' SERWO2 na PORTB.1 'PRZYCISKI SERWA1: PINB.3 i PINB.4 'PRZYCISKI SERWA2: PINB.5 i PINB.6 ' 'W ATtiny2313 wyłączyć CKDIV8 tak...
Pomijajac pakt, ze post umiesciles w zlym dziale to moglbys troche poszukac zanim napiszesz post :boss: Tutaj masz przyklad z ksiazki "Programowanie mikrokontrolerow AVR w BASCOM": 'Mikrokontroler taktowany oscylatorem 10 MHz 'Przyciski S1 oraz S2 umożliwiają zmianę położenia serw. 'Serwo 2 zawsze będzie miało odwrotny kierunek obrotu niż serwo 1 $regfile...
Oto program który napisałem $regfile = "attiny2313.dat" 'rodzaj mikrokontrolera $crystal = 8000000 '8MHz Dim Pozycja1 As Integer 'zmienna określająca położenie serwa1 Dim Pozycja2 As Integer 'zxmienna określająca położenie serwa2 Dim Czas1 As Integer 'zmienna pomocnicza do odmierzania czasu Dim Czas2 As Integer 'zmienna pomocnicza do odmierzania...
Witam ponieważ w programie będe używał polecenia CONFIG SERVOS co powoduje iż Timer0 jest zajęty przez tę komendę potrzebuje zamienić wykorzystany wcześniej timer0 do przerwań na timer1 aby timer0 był wolny do sterowania serwem. Pozamieniałem w programie komendy timer0 na timer1 odpaliłem układ w symulatorze i nie działa. Dopiero uczę się programować...
Witam Napisałem prosty program używający timera1 i timera 2 do zliczania częstotliwości, Chciałbym użyć dodatkowo serwa do mojego projektu ale używając intrukcji Servo coś nie tak dzieje się z serwem . Po włączeniu zasilania ciągle pracuje i próbuje przekręcić się o 360 stopni "ciągle pracuje". Kiedy w kodzie spełniony jest warunek i uruchamia się komenda...
nowsze bascomy (np. 1.11.9.8) mają wbudowaną obsługę serw: CONFIG SERVOS Configures how much servo’s will be controlled. Syntax CONFIG SERVOS = X , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = rl Remarks Servo’s need a variable pulse in order to operate. The CONFIG SERVOS directive will set up a byte array with the servo pulse width values...
Witam To moze zaczne od kodu: $regfile = "m8def.dat" $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 Cls Config Servos = 1 , Servo1 = Portc.5 , Reload = 10 Config Portc.5 = Output Config Portd.0 = Input Set Portd.0 Cursor Off Dim Serworuch...
Witam. Na wstępie chciałem podziękować za listę porad i pouczeń. Wziąłem to do siebie. I po raz kolejny poprosić o sprawdzenie kolejnych wypocin. http://obrazki.elektroda.pl/3279083700_1... brak GND dla uC tego nie zrozumiałem. Jestem kompletnie zielony czym jest tu to uC. ? Czy kondensator na syjściu LM317 wystarczy do filtracji zasilania...
Witam, Na wstępie pragnę zaznaczyć iż nie jestem elektronikiem, ani żadną osobą zajmującą się rzeczami z tym związanymi. Jestem studentem inf. i potrzebuję rady. Razem z kolegą robimy projekt na zajęcia z mikroprocesorów i mikrokontrolerów. Śluzę 3-drzwiową zwalnianą i zamykaną przy pomocy serwomechanizmów(SG-5010). Zaprojektowaliśmy układ mamy do tego...
Akurat ten ma komunikację w jedną stronę ale też działa na ponad 200m. Specjalnie daje krótszy program żeby nikt nie musiał się męczyć i z 1000 linii kody wyciągać samej komunikacji z RFM12B. Nadajnik: $regfile = "M8def.dat" $crystal = 8000000 $hwstack = 128 '---------------------------------------... Dim Adc_data As Integer Dim...
http://obrazki.elektroda.net/4_118606729... Witam!! Ostatnio dopisuje nam pogoda, jest gorąco, można się opalać... Coś chłodnego i nie tylko chłodnego do wypicia zawsze znajdzie się w barku gdzie chciałem sięgnąć a tu jak na nieszczęście ułamał się klucz w zamku... Jak wiadomo potrzeba matką wynalazku więc długo nie zastanawiałem się co z tym...
Witam. Kupiłem właśnie kilka serw TowerPro. Podłączyłem jedno na próbę. Napisałem program w bascomie: $regfile = "m8def.dat" $crystal = 8000000 Config Portd.5 = Output Config Servos = 1 , Servo1 = Portd.5 , Reload = 10 'Enable Interrupts Dim Zmienna As Integer Zmienna = 100 Cls Do Servo(1) = Zmienna Waitms 1000 Zmienna = Zmienna +...
Witam. Ostatnio zainteresował mnie pomiar natężenia światła, potrzebuję go do wykonania projektu. Pomiar dokonuje czujnikiem TSL235R, który podaje mi odpowiedź w formie częstotliwości. Chciałbym aby ktoś przyjrzał się temu co narazie wklepałem do kompilatora, bo nie jestem pewien, czy wszystko będzie grało? Może zacznę od kodu, wtedy zadam pytania itp....
Witam, na forum jest wiele informacji na temat serw modelarskich ale nie znalazłem informacji o tym jak wysterować dwa serwomechanizmy naraz korzystając z Config Servos. Jeżeli wysteruję jedno serwo a potem drugie to jest w miarę ok. Natomiast przy próbie wysterowania 2 w tym samym czasie serwa wykonują jakieś przypadkowe ruchy przypominające drgania....
Oto kod Kod: '4x4 Line Follower 'Chibots line following Contest 2003 'Wright Hobbies, LLC Copyright 2003 'eddy(at)wrighthobbies.com 'Variables 'Line Detectors Dim Lineflag As Byte Dim I As Byte , X As Byte Dim Adcvalue As Word , Channel As Byte , Progspeed As Byte Dim Progsteer As Byte Dim Lastadc(5) As Word Dim Calhi(5) As Word , Callow(5)...
bascom projekt bascom bascom bascom enkodera bascom bascom enkoder
niepewność pomiarowa płyta główna radio pioneer wskazania wilgotności
schemat podłączenia connects2 citroen xsara pompa
Immergas - Przyczyny Gaśnięcia Płomienia w Kotle Wolne narastanie ciśnienia w kolektorze wtryskowym podczas rozruchu silnika