Witam, Mam problem z programem na Atmege8a, mianowicie: Piszę program sterujący pracą silnika (za pomocą L293D) który dodatkowo będzie zliczał w czasie impuls od przerwań zewnętrznych i tu pojawia się problem: kiedy napisałem program obsługujący tylko pracę silnika, wszystko działa sprawnie, kiedy napisałem program zliczający impulsy w czasie, również...
Niby prosty problem, ale za to jakże denerwujący. Robię licznik impulsów (obrotów) który powinien także rozpoznawać kierunek obrotów. Na wale jest magnes, a dookoła 3 czujniki halla. Obroty prawe, po każdej sekwencji 1,2,3 powinno dodać 1 Obroty lewe, po każdej sekwencji 1,3,2 powinno odjąć 1 Staram sobie to rozpisać rozrysować na wszelki sposób, ale...
Witam Chciałem do kuchni wstawić czujnik PIR, ale z dodatkową zaletą, czyli stopniowym zwiększaniem i zmniejszaniem PWM, dodatkowo jeśli podczas zmniejszania PWM nadejdzie przerwanie INT1 od czujnika PIR, to program ma przestać zmniejszać, tylko zacząć zwiększać i to nie od zera, ale od wartości na której "zastało" go przerwanie INT1 od PIR. W sumie...
No to powodzenia ! Co do End If to przede wszystkim Basic, a to nawet ma małe znaczenie. Ta konstrukcja jest co najmniej "dziwna", a ja się szczerze dziwię, że się kompiluje. Spróbuje ten fragment na moim AVR skompliwać. Spróbowałem. Kompilue się. Moim zdaniem kompilator nie wykrywa tewgo błędu. W środku instrukcji warunkowej jest tam Loop, a to nie...
Dzięki za przykład z samochodzikiem. Pokombinuje jeszcze w BASCOM z odczytem danych z Rs232. Sprawdzę tez jak działa kontrolka comm.ocx Znalazłem tez ciekawe opracowanie: www.serasidis.gr/circuits/RS232interface... ale można tym jedynie włączać lub wyłączać 8 urządzeń (1 bajt) a ja potrzebuje odbierać w jednym pakiecie 3 informacje...
Raczej najpierw musisz sie nauczyć C No właśnie próbuję. Przez ostatnie kilka dni przewertowałem więcej PDF od kontrolerów, niż przez ostatnie 3 lata :D Na razie największy problem dla mnie to operacje bitowe - wiadomo w Bascom łatwiej. Kupiłem nawet Attiny4313, coby nie brakło pamięci. Problem był jednak w momencie polecenia włączenia przerwań, były...
Mam takie pytanie do mądrzejszych od siebie, czy jest możliwe żeby wysterować tym mikrokontrolerem 5 do 6 silników prądu stałego? Oczywiście, że możesz obsłużyć 5, a nawet 6 silników. Tylko jest jeden problem. Będziesz musiał je sterować programowym PWM'em, a nie sprzętowym. Do tego celu wystarczy np. przerwanie, z któregoś licznika. Oczywiście możesz...
Nie analizowałem Twojego programu- ale może to Ci się przyda. Może moje stare belferskie umiejętności (teraz to się nazywa- zdolności pedagogiczne) jeszcze całkiem nie zanikły. 'Program poglądowy do unikania wait 'Prescale oczywiście można zmienić 'licznik też i Temp0 też $regfile "m8def.dat" $crystal = 8000000 Config Lcd = 20 * 2 Config Lcdpin...
Witam Mam pytanie dotyczące obsługi encodera... ................. Przy zmianie kierunku pierwsza cyfra na wyświetlaczu zostaje "zamrożona" a zmianie podlega druga cyfra, znów w pętli. i tak dalej. Każda zmiana kierunku powoduje przeskok na kolejną pozycje wyświetlacza Jest to w zasadzie prosta operacja, lecz brakuje tu zasadniczego warunku –...
Witam. Potrzebuję wykonać układ licznika obrotów wału silnika (poglądowy rysunek http://obrazki.elektroda.net/56_12518220... ) . Licznik musi zliczać obroty do przodu i do tyłu. O ile z samym liczeniem w jedną stronę i wyświetleniem wyniku nie mam problemu, o tyle nie wiem jak wykonać sekwencję zmiany kierunku liczenia. Domyślam się że trzeba to...
Po prostu badasz, która fotokomórka została pierwsza zasłonięta i wtedy jeśli po niej druga też się zasłoni to przypuśćmy, że ktoś wszedł i analogicznie jeśli jako pierwsza zostanie zasłonięta druga fotokomórka, a następnie pierwsza to znaczy, że ktoś wyszedł i licznik się zmniejsza. To popularna metoda wykorzystana w sterowaniu enkoderami i pod takim...
Ten program co Ci go podałem w linku zajmuje 1538 bajtów ( z obsługą LCD- tak naprawdę niepotrzebne). Dla sześciu synałów z programowym PWM.. W Bascomie Ci nie pomogę bo zanim się go nauczyłem to przesiadłem się na C. Ale zasada jest taka sama. Sprawdzamy co 20us sygnał na PINX- albo na kilku PINX. Sprawdzenie jest wykonywane w przerwaniu od jakiegoś...
Dobrze by było, gdyby przekaźnik wyłączający światła dzienne był nie zależny od programu, ani program od niego. Taki kierunek w wersji modułowej pasował by do każdego auta. Kierunkowskaz ma 2-3Hz i w tym minimalnym czasie musi zmieścić się Twoja sekwencja. Pomijam już fakt stosowania takiej niehomologowanej lampy (bo zaraz się ktoś doczepi ;) ) Dodano...
Poprzednio prezentowany kod nie był sprawdzany w kompilatorze, miał być jednie wskazówką do napisania prawidłowego programu. Ten prezentowany poniżej został przetestowany i sprawdzony na symulatorze programowym Bascom'a. Powinien również działać na procesorze. W prezentowanym kodzie jest wstawiona instrukcja $sim którą należy usunąć przy kompilacji...
Dr_dead....źródłem impulsów są kontaktrony, albo poprawniej zwarcie styku kontaktronu powoduje powstanie impulsu. Sprawdzę oczywiście wydajność żródła zasilania ale nie sądzę aby tu była przyczyna problemu. Raczej liczone sa jakieś"śmieci" z drgającego styku....i moje pytanie raczej skierowane było w tym kierunku. Zastosowałem parametr , przy konfiguracji...
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...
Po prostu w momencie wciśnięcia wyłącznika schodowego wykonujesz instrukcje "Toggle Portd" wtedy wszystkie jedynki zamieniają się w zera, ponowne wciśnięcie wyłącznika zamienia zera w jedynki. Do licznika MUSISZ poznać timery. Nie napiszę Ci nic jeśli nie zrozumiesz ich podstawowego działania (jakaś inicjatywa musi być z Twojej strony ;-) ) Rozpoznawanie...
Witam, w ramach pracy mgr tworze automatyke do bramy. Napęd itd to jest rzecz malo istotna, ale sterowanie zrobiłem na atmedze 16, program napisłem w bascom, wydaje mi sie z reszta bardzo prosty, ale jakieś cuda sie robią:P mianowicie. brama po otwarciu czeka sobie pewien czas i sie zamyka. W trakcie czekania aktualny czas wyświetlany jest na lcd. I...
Witam Mam płytkę z Atmega8 połączoną z czujnikiem PIR ( wejście INT1 przez transoptor ), do tego pomiar ADC ( od wartości adc zależy czas po jakim PWM będzie zmniejszone, opcjonalnie chcę też pod INT0 podpiąć przycisk, coby włączyć światło, gdybym nie znalazł się w zasięgu czujnika. Dodatkowym "bajerem" jest to, że światło ( listwa LED ) powoli się...
Generalnie idziesz w dobrym kierunku, ale jeszcze musisz troszkę dopracować to wszystko No to jak to wszysto sprawdzić? Tę fagę zmieniałem zaraz po podniesieniu w poprzedniej wersji- ale jak to zepsuć? Podaj mi jakiś test. Może licznik co 0,256ms- sprawdzę. Dobra- sprawdziłem. Flaga_przygotowanie_odczytu działa dobrze po breakpoint. A przed- źle.
Może przybliżę bardziej zastosowanie. Chodzi mi o program sterujący silnikiem krokowym (w założeniu unipolarnym) z progrmów typu mach3, step2cnc, turbocnc. Programy te jak wiadomo podają przez port LPT step i dir. Step czyli krok można wykorzystać jako sterowanie przerywaniem int1 w naszej atmedze. Natomiast dir określa kierunek i przyjmuje stan niski...
No widzisz musisz się nawrócić i uwierzyć. Wiara czyni cuda. :D A tak na poważnie układ już działa , jest elektrycznie poprawny. I na pewno chcielibyście wiedzieć co było nie tak w programie ? Jeden mały parametr określający kierunek zliczania licznika a mianowicie : zamiast Compare B Pwm = Clear Down użyłem Compare B Pwm = Clear Up i zaczęło działać....
Stworzyłem kod który powinien wyświetlać czas trwania stanu niskiego na lcd. Na wyświetlaczu pojawia się 0.0 ms oraz na przemian 1 lub 2 takt(czyli ile zliczył timer). Proszę o naprowadzenie na właściwy kierunek osiągnięcia zamierzonego celu. kod: [syntax=basic4gl]$regfile = "M8def.dat" $crystal = 4000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4...
No chciałbym użyć najlepiej tylko 3 pinów. Ktoś sugerował że jak dioda będzie szła raz w gorę a raz w dół - to przez te zmiany kierunków będzie się zapalać z wyraźnym opóźnieniem. Można więc dać rejestr przesuwny na 16 diod i tylko użyć 3 nóg mikroprocesora ? Program ma być bardzo prosty i krotki : obsługa LCD 2x16, 16 diod led i klawiatury (8 lub 11...
..... Na pewno da się to zdobić porgramowo.... Hmmmm, można pokusić się o implementację programowa zliczania (pisałem o metodzie wyżej) i wtedy sprawdzić maksymalne osiągi procesora lub niestety może okazać sie, że nie bedzie wyjścia i bez "uładu dodatkowego" a mysle tu o QEP - Quadrature Encoder Pulse (standardowo implementoany w DSP i niektórych...
Wg mnie trochę niepotrzebnie komplikujecie temat. Są gotowe liczniki pomiaru energii z komunikacją po modbusie, atmega z bascom i sterowanie grzałki. U mnie to działa z powodzeniem od 3 miesięcy. Do sieci "wyrzuciłem" niecałą 1kWh Kolego to nie tylko oto chodzi żeby kupić i zainstalować ,ale coś samemu zrobić.A tematy są po to żeby coś wykombinować....
Witam. Podłączyłem sobie GPSa do MEGA16 w celu czytania danych jak: Wysokość, prędkość, kierunek, czas itp. Z komunikacją nie ma żadnych problemów, problem pojawia sie jak chce odczytać tylko wybrane wartości. Oto programa $regfile = "m16def.dat" $crystal = 16000000 $baud = 4800 '---------------------------------------...
Miałem dokładnie ten sam problem ale szybciutko go rozwiązałem :) W moim urządzeniu (to nie brama ale jeździ w te i we wte) sprawa wygląda następująco: obie krańcówki spięte są równolegle i podłączone do jednego portu - chciałem nieco uprościć konstrukcje i oszczędzić jeden port. Wykrywanie kierunku nie jest problemem, bo definiuje to program i zaznacza...
(...) żdy zasilany z osobnego źródła i odseparowany transoptorami PC817. Ze względu na ich szybkość oraz niską wartość prądów je sterujących 1mA zegar musi być obniżony do 10KHz ma. Chcę zrezygnować z polecenia: waitus 100 w zamian zrealizować to w obsłudze timer0 a w główną pętle przeznaczyć na inne cele. Rozumiem, że chcesz optymalizować swoje oprogramowanie...
Jest to proste korzystasz z przerwań jakie generuje timer0 podobnie jak to opisał kolega z innego tematu tego fora w bascom napisał '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111111...
A więc Twój projekt ma właściwie do wykonania cztery zadania: - obsługę LCD (inicjalizację i procedury wysyłania danych i rozkazów) - obsługę przycisków (detekcja zbocza opadającego, likwidacja efektu drgania styków) - obsługę liczenia czasu (odpowiednie skonfigurowanie licznika) - obsługę wyliczeń matematycznych (max. 9!=362880, a więc mówimy tu o...
Witam obecnych. Czy ktoś z Was ma program którym można byłoby obsłużyć enkoder impulsowy tak aby dla pewności każdy impuls był próbkowany 2 razy.Zmienna licznika w programie byłaby zmniejszana lub zwiększana w zależności ok kierunku obrotów. Jest taka opcja w bascomie "encoder"lecz nie wiem czy jest to wystarczająco niezawodna metoda na pewny oczyt...
r"]Idę w jakimś kierunku ....... ? Niezupełnie, nie najlepsza ta droga..... Po pierwsze: wybór processora i parametrów. -Attiny13; praktycznie nie masz możliwości taktowania go 10 Mhz. Masz do wyboru: 1.2, 4.8, 9.6 Mhz. albo też 'zasilić' go (CLK1) z gotowego (zewnętrznego) źróła zegarowego co nie ma w zasadzie ekonomicznego sensu. Jego timer0 z przyjętym...
Witam! Pierwsze kroki z uC, czyli próba stworzenia zegara matki dla czasomierza podobnego do $regfile = "m8def.dat" $crystal = 2000000 Config Pind.0 = Output Config Pind.1 = Output Config Timer1 = Timer , Prescale = 64 Dim Licz_2s As Byte Dim Parz As Bit Enable Interrupts Enable Timer1 Load Timer1 , 62500 Licz_2s = 0 Parz = 0 Do Loop End Odmierz_1m:...
zastanawiam się czy przypadkiem nie mam problemu z zasilaniem( obok falownik i napęd silnika prądu stałego ) a zasilacz prosty -trafo +7805 +po 100nano +100 mikro. W takim otoczeniu niewykluczone że jest to problem zakłóceń spróbuj podbić pojemności zasilacza (np. po 220uF) i zblokować sygnał reset jakąś większą pojemnością. Jeśli to zmniejszy błędy...
Tak prosto to się nie da. Musisz zrobić tak: 1. Pełny cykl licznika zmieniającego się co sekundę, określa pełny cykl zmian świateł na całym skrzyżowaniu. 2. Na wyjściu licznika jest dekoder z tyloma wyjściami ile jest lamp na skrzyżowaniu (przy założeniu pełnej niezależności sterowania światłami czyli bez uproszczeń typu, że jak na jednym kierunku zielone...
No i następnej sprawy nie rozumiem. Dlaczego ten licznik liczy do 99999 a nie "po bożemu" do 65535? Przynajmniej tak się wyświetla. I z 1000 przy decr "zmniejsza" się na 9999? 'Program do sterowania małych silników krokowych za pomocą ATMega8 i układu L6219 lub LB1845 'sterowanie ćwierćrokowe, zasilanie 30V 'set i reset zastosowałem w celach poglądowych-...
Usiadłem przy Atmedze328P i uruchomiłem SPWM dla Twojego przykładu. Zdefiniowałem następujące wyjścia sygnałów: - PD0 - sterowanie lewym dolnym MOSFETem mostka H - PD1 - sterowanie prawym dolnym MOSFETem mostka H - PD5 - sterowanie lewym górnym MOSFETem mostka H - PD6 - sterowanie prawym górnym MOSFETem mostka H Wyjścia PD5 i PD6 są niezmienialne, ze...
Nie do końca tak to działa. Silnik jest załączany i faktycznie wyłącza się gdy prąd przekroczy wartość graniczną. Musi to być szybko zrobione bo przekaźnik sterujący silnikiem jest wolny i przy dłuższym czasie zabezpieczenie zasilacza wyłącza wcześniej zasilacz. Licznik błędów jest tylko po to że gdyby przekaźnik się skleił to po czasie awaryjnym program...
6000 * 360 = 2 160 000 czyli 460ns na impuls. więc co najwyżej 9 cykli zegara ATMEGI na impuls :( Kolego, Każdy impuls z kanału A lub B w/g programu autora wywołuje interrupt, którego pełna obsługa zabierze ok 100 cykli zegara tak jak wyżej określił kol. tmf. Ale, Tmf nieporawnie rachuje: .....Jeżeli chcesz go rzeczywiście rozkręcać na 6000 obr/min...
1) Dałeś tytuł "multipleksowanie", w programie i twojej wypowiedzi widzę że multipleksu tam nie ma. Czyli że chcesz najzwyklejsze sterowanie równoległe, było tak odrazu pisać. Więc bajer z odpowiednim połączeniem nie jest ci potrzebny 2) Płynne zapalanie i gaszenie, tak więc potrzebujesz programowy PWM (no bo chcesz sterowanie równoległe) 3) Twój program...
Przepraszam za drobna nieobecność . Co do pierwszego postu z uwagami czemu atmega 32 itp taka mam na zl3avr założoną . Natomiast jeśli chodzi o to jak chce zbudować cały termostat to użyje atmegi 8 i MCP 1525 (wala się gdzieś w skrzynce :)) jako napięcia odniesienia (ok 2,5 V) . Chociaż rozdzielczość nie jest tu bardzo dokładna bo nie potrzebna jest...
Paavo91 - Takie zabawki robi się na Pic200 lub ATtiny4, w Twoim przypadku w zupełności wystarczy ATtiny13. Gdzie w Twoim programie jest instrukcja zakończenia porównania END IF? .Pobaw się poniższym kodem. [syntax=basic4gl] $regfile = "ATTiny13.dat" $crystal = 9600000 $hwstack = 8 $swstack = 8 $framesize = 8 Config Portb = &B00001000 ' Ustawienia pinów...
Witam, Napisalem wieksza czesc kodu lecz po drodze napotkalem na przeszkode w postaci waita przy odczytywaniu temeratury. Chcialbym calkowicie zrezygnowac z waitow, bitwaitow itp wiec mysle nad wykorzystaniem timera. Napisalem maly programik testujacy lecz nie do konca dziala prawidlowo $regfile = "m8def.dat" $crystal = 8000000 Config Lcd...
Uwaga! Przedstawione przez autora urządzenie nie spełnia wymogów standardu I²C (IIC) co zostało wyjaśnione w dalszej części dyskusji w szczególności od tego postu: http://www.elektroda.pl/rtvforum/viewtop... Dlatego też decyzją grona moderatorów zmieniono tytuł na "Izolowany galwanicznie interfejs jednokierunkowy open-drain...
Toż to BASCOM! '$sim $regfile = "ATtiny2313.dat" $crystal = 20000000 $hwstack = 64 $swstack = 16 $framesize = 32 Enable Interrupts Config Int1 = Falling Enable Int1 'włączenie przerwania On Int1 Imp Config Timer1 = Timer , Prescale = 64 Enable Timer1 'włączenie przerwania On Timer1 Wylacz Stop Timer1 Config Timer0 = Timer , Prescale = 1024...
Zdaje mi się że przy tym programie wyłapanie sygnału z pilota będzie bardzo trudne a mianowicie usypiasz program na 1 sek (wait 1) a następnie przez ułamkowe części sekundy chcesz odebrać kod z pilota. Wrzuć na początek sobie do uK przykładowy program z bascoma [syntax=basic4gl] 'Ten przykład pokazuje jak odczytać sygnały w kodzie RC5 'odbierane przez...
A ja napisałem program sterownika dwóch silników krokowych na jednym Attiny2313 i powiem że chodzi to pięknie :) . Jest możliwość wybrania 4 prędkości obrotowych , oprócz tego oba koła mogą kręcić się w tą samą stronę (w tył lub w przód) , albo też pojedyncze kółko (też do wyboru kierunek) . Za pomocą 2 + 4 przycisków ' Sterowanie silnikami krokowymi...
a czy mógłbym w takim razie prosić o jakiś przykład z getrc5? ja używam czegoś takiego: '---------------------------------------... ' RC5.BAS ' (c) 2000 MCS Electronics ' oparte na nocie aplikacyjnej AVR410 f-my Atmel '---------------------------------------... $regfile "m1280def.dat"...
Nie przeczytales mojego postu :| Do kierunku uzywam kontaktronow bo tutaj jest w miare statyczna pozycja. Do predkosci zastosuje transoptor i czujink szczelinowy (takie cos jak w myszce). Ale moja wyobraznia szwankuje, jesli mam kolko z dziurkami kotre przcina promien w czujniku to jest prosto. Ale do niego mam wal i na gorze lopatki - i jak tu liczyc...
bascom kierunek licznik bascom bascom licznik
perfecta dźwięk ipconfig polecenie systemowy toyota corolla verso światła
Hitachi 24HE2000 TV firmware download, Vestel mainboard, official update methods, USB recovery Hitachi ZX210 EX210 lokalizacja głównego zaworu przelewowego hydraulika schemat