Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 23 sty 2025, o 23:10


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
Autor Wiadomość
PostNapisane: 31 gru 2014, o 19:12 
Offline
Nowy

Dołączył(a): 29 gru 2014
Posty: 14
Pomógł: 0

Witam.Mam problemy z ustawieniem fast PWM w attiny 2313 próbowałem już na atmega 32 i działało.Proszę o pomoc siedzę przy tym od rana ,
jeszcze trochę i opale się od monitora i na sylwestra będę wyglądał jak bym wrócił z bahama.

kod

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


dopiero zaczynam z kontrolerami avr wiec proszę o wyrozumiałość
Ps. Szczęśliwego nowego roku.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 gru 2014, o 19:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Kolego a gdzie główna pętla programu? Bez niej nic z tego nie będzie...

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 gru 2014, o 20:18 
Offline
Nowy

Dołączył(a): 29 gru 2014
Posty: 14
Pomógł: 0

potrzebuje ustawić PB3 tak żeby dawało 50% mocy w atmega 32 ustawiłem OCR0 = 127 i działało a tu nic nie wiem ,może od tego grzebania coś popaliłem.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 gru 2014, o 20:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

W tej linii masz błąd
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Bit CS10 nie leży w rejestrze TCCR1A tylko w TCCR1B.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sty 2015, o 13:13 
Offline
Nowy

Dołączył(a): 29 gru 2014
Posty: 14
Pomógł: 0

Dzięki nie wiem jakim cudem to przeoczyłem, a przeczytałem datasheet z 20 razy .Mam jeszcze jedno pytanie chciałbym żeby po wciśnięciu przycisku na tym pinie z stanu niskiego przechodziło na
OCR1A =127 czy w takim wypadku wystarczy ,że użyje instrukcji" if(przycisk_wcisniety(1<<PD2)) OCR1A =127;" czy to nie przejedzie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sty 2015, o 13:49 
Offline
Użytkownik

Dołączył(a): 22 gru 2012
Posty: 256
Lokalizacja: Rumia
Pomógł: 22

Hmm, a co to jest "przycisk_wcisniety" ? Pod poniższym linkiem masz dość sporą dawkę wiedzy na temat obsługi przycisków:

http://mirekk36.blogspot.com/2012/10/dr ... ak-to.html

_________________
http://www.marcingibas.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sty 2015, o 17:04 
Offline
Nowy

Dołączył(a): 29 gru 2014
Posty: 14
Pomógł: 0

przycisk wciśnięty mam zdeklarowany prędzej. Zaprojektowałem sobie podwozie gąsienicowe i dałem rade napisać program do sterowania 2-oma silnikami napędzającymi niestety jak rusza to
od razu na pełnej mocy i roluje w miejscu zanim ruszy .Chciałem zrobić stopniowe zwiększanie obrotów , a nawet osobną gałkę gazu ale na razie za mało potrafię .Dałem już rade utworzyć
pętle zwiększającą moc ale chodzi w kółko i nie wiem jak zrobić żeby po wejściu na określoną wartość nie zaczynała od nowa ,oprócz tego muszę ją jakoś połączyć z odpowiednimi klawiszami.
Jak uporam się z podwoziem chciałem zamontować ramie z chwytakiem które kończę,ale opornie mi idzie z tym programowaniem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sty 2015, o 17:43 
Offline
Użytkownik

Dołączył(a): 22 gru 2012
Posty: 256
Lokalizacja: Rumia
Pomógł: 22

Nie wiem jak dokładnie wygląda Twój kod, ale mógłbyś to rozwiązać np. w taki sposób
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


to tak tylko pokrótce.

_________________
http://www.marcingibas.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sty 2015, o 22:15 
Offline
Nowy

Dołączył(a): 29 gru 2014
Posty: 14
Pomógł: 0

mój kod :

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

na razie próbuje na jednym klawiszu po wciś nięciu zlicz ale na okrągło próbawałem dopisać instrukcje if np. if(i>=254)i=255; na różne sposoby ale nie działało



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sty 2015, o 23:11 
Offline
Użytkownik

Dołączył(a): 22 gru 2012
Posty: 256
Lokalizacja: Rumia
Pomógł: 22

Taka dobra rada na początek, testuj kod kawałkami :) . Skoro nie masz opanowanej obsługi przycisku w swoim programie, to nie pisz kodu od razu dla wszystkich docelowych przycisków, tylko pisz do jednego konkretnego. Uwierz mi że strasznie ułatwia to pisanie, nie musisz się zastanawiać czy jakaś inna część kodu czegoś Ci nie paskudzi, wiem to sam po sobie :) .

Wracając do problemu, to nie wiem czemu uparłeś się na pętlę "for", przecież chcesz przyciskiem zwiększać wartość mocy silnika, prawda? Zobacz co dzieje się w pętli. Twoja pętla startuje z wartością i == 125, następnie "i" jest inkrementowane, osiąga wartość 255 i koniec działania pętli bo nigdzie później nie zerujesz zmiennej "i".
Wywal pętlę "for" i spróbuj to zrobić tak jak poniżej. Zrób to tylko dla jednego przycisku na razie.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Sorry że używam tylko "przycisk_wcisniety" ale nie wiem jak wygląda dokładnie ta Twoja definicja no i nie chcę Ci mieszać.

PS.
Potrafisz zapalić diodę poprzez naciśnięcie przycisku?

_________________
http://www.marcingibas.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sty 2015, o 23:45 
Offline
Nowy

Dołączył(a): 29 gru 2014
Posty: 14
Pomógł: 0

przyciski wszystkie działają dobrze silnik chodzą tylko przez ciągłą zmianę wartości OCR1A silnik przyspiesz zwalnia i znowu przyśpiesza w koło(w teorii regulacji jeszcze nie podłączyłem na mierniku sprawdzam zmianę napięcia) . Spróbuje napisać to tak jak piszesz .próbowałem na razie na jednym klawiszu dlatego ten kod tak wygląda. A i co ważne a zapomniałem napisać wszystko podłączone do mostka H lm293D a przez OCR1A chce sterować obrotami.tak poza tym wszystko jeździ tylko przez brak regulacji obrotów startuje za dynamicznie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 14:42 
Offline
Nowy

Dołączył(a): 29 gru 2014
Posty: 14
Pomógł: 0

Nie wiem coś robię chyba źle bo cały czas zlicza OCR1A w koło nie zatrzymuje się na wartości 255

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 14:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Taki algorytm zawsze będzie powodował przepełnianie się zmiennej "OB_SILNIKA":

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jest to spowodowane tym, że przy wartości 253 następuje inkrementacja w efekcie spełniony zostaje drugi warunek i zmienna otrzymuje wartość 255. Później ponowna inkrementacja powoduje przepełnienie zmiennej do wartości 0 itd..
W ten sposób wewnętrzna instrukcja warunkowa jest praktycznie pozbawiona sensu...
Chcąc uzyskać funkcjonalność saturacji zmiennej na poziomie 255 można to zrobić np. tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 16:00 
Offline
Nowy

Dołączył(a): 29 gru 2014
Posty: 14
Pomógł: 0

dzięki nawet nie wiesz jak poprawiłeś mi chumor .mam jeszcze drugi problem miałem awarie i spaliłem anttiny 2313 zamontowałem inny ,na początku eclipse wgrywało program ale nie chciał działać ,za którymś razem zadziałał ale klawisze działały z 1-2 sekundowym opóźnieniem jak wgrałem jeszcze z 5 razy to zaczęło działać normalnie .Zaznaczyłem inny projekt , wgrałem i ta sama szopka .zmieniłem mikrokontroler i to samo ale projekty które wgrywałem wcześniej od razu działały dobrze ,czy jest możliwe żeby poprzestawiało mi się coś w eclipsie bo po zwarciu podłączałem spalony mikrokontroler do kompa ? i czy nalerzy dawać jakieś filtry miedzy attiny a mostek H ? bo miałem piny podłączone bezpośrednio jak zwiększyłem napięcie z 12 v 24 na mostku H to po chwili działania spalił sie attiny .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 16:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

W sprawie Eclipse niestety nie pomogę bo go nie używam, ale być może jest to sprzętowy problem i mostek H, którego używasz nie jest przystosowany do napięć rzędu 24V, przez to on mógł ulec uszkodzeniu. Oczywiście bez schematu poprzedniego i aktualnego podłączenia ciężko nawet stwierdzić, czy nie nastąpiło zwarcie tak dużego potencjału z zasilaniem mikrokontrolera (w efekcie mogłoby to doprowadzić nawet do uszkodzenia portu USB).
Dla celów testowych zawsze warto dawać chociaż rezystory i diody Zenera między układami o możliwie konfliktowych napięciach (po zakładanym spaleniu mostka napięcie 24V mogło przedostać się na linie sygnałowe...). Jeszcze lepiej separacje galwaniczną, ale mogłaby być to już jednak lekka przesada ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 16:36 
Offline
Nowy

Dołączył(a): 29 gru 2014
Posty: 14
Pomógł: 0

źle napisałem użyłem lm293d i z tego co pamięntam to max na 36v dlatego zdziwiło mnie ze poszedł attiny



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 sty 2015, o 12:18 
Offline
Nowy

Dołączył(a): 29 gru 2014
Posty: 14
Pomógł: 0

Witam ponownie .Mam sterowanie radiowe chciał bym spróbować podłączyć do niego to co na razie udało mi się zdziałać z attiny 2313 ,tylko to jest sterowanie do serw i jestem ciekaw czy da się to jakoś połączyć myślałem nad adc bo sygnał wyjścia na serwo daje napięcie miedzy 0.05 -0.5V np.jak sygnał powyżej 0.25v to jazda do przodu, ale nie wiem czy to dobry pomysł?.Bede wdzięczny za rady i jakieś inne pomysły .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO