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



Teraz jest 24 kwi 2025, o 13:15


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 49 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 15 lut 2015, o 14:30 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Krańcówka się przyda, bo po podaniu zasilania tarcza powinna obrócić się do punktu startowego. Potem już wiesz o ile kroków się poruszać. Tablica znaków jak najbardziej będzie potrzebna. Po porównaniu aktualnego znaku z tablicą otrzymasz indeks (lub wprost liczbę kroków jeśli wykorzystasz tablicę 2 wymiarową) i pamiętając aktualną pozycję przemieścisz tarczę gdzie potrzeba.

Karta SD to kieski pomysł w tym przypadku (ciągłe przekładanie jest bez sensu). Najlepiej wykorzystaj UART, czy tam podepniesz przejściówkę USB-UART, moduł Bluetooth czy ATNEL-WIFI232-T to sprawa drugorzędna. Najlepiej zacząć od USB-UART oparty o FT232R. Nie musisz też pisać żadnego programu. Przynajmniej na razie. Wykorzystać możesz dowolny terminal RS232 np. BrayTerminal. Czytając książkę natrafisz na rozdział o komunikacji szeregowej wraz z prostą biblioteką. Jak się trochę pobawisz to wrócisz z pytaniami.


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2015, o 17:17 
Offline
Użytkownik

Dołączył(a): 20 sty 2015
Posty: 31
Pomógł: 0

z tego co rozumiem to chyba zestaw ATB 1.04 posiada taką przejściówke :)http://www.atnel.pl/ft232r-programator-w-atb.html ?

P.S. Nierówna praca silnika była spowodowana źle zaciśniętym kablem na płytce.


ODPOWIEDZ :)

http://atnel.pl/atb-przejsciowka-usb-rs232.html

Proszę o podpowiedź sugestie ... dlaczego po wciśnięciu klawisz K3 silnik nie porusza się o jeden krok ? a raczej czemu nie reaguje silnik .

Chciałbym mieć taką funkcje dzięki której był by wykonywany jeden krok ale już próbuje zrobić taką funkcje co niby powinna się wykonać 30 razy.

Bez tego mego projektu dalej nie popchnę.


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


dziękuje za wyrozumiałość

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2015, o 18:14 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

1. Jak stoi na krańcówce to nigdy stan JEDEN nie nadejdzie, bo najpierw sprawdzany jest KRA. W takim układzie co jest wyżej ma wyższy priorytet. Jak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
dasz na koniec tego warunku to będzie w porządku.

2. Po wykonaniu jednego kroku ustaw stan na STOP inaczej wykona się znowu jeden krok i tak dopóki inny stan nie nastąpi
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2015, o 21:38 
Offline
Użytkownik

Dołączył(a): 20 sty 2015
Posty: 31
Pomógł: 0

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


Nie działa czemuś gdzieś jest jeszcze jakiś mankament no chyba że źle zrozumiałem Pana (wieku nie znam ale mam wrażenie jak by Twój zawód to wykładowca na uczelni).

Chciałem również zrobić tak poprzez zdefiniowanie zmiennej dioda aby widzieć,że napewno silnik się nie drga po wciśnięciu przycisku K3 ale nawet po ruszeniu silniczka równiez nie zapala się dioda....

A może ktoś inny z forumowiczów ma jakieś sugestie?
Bo 630 wyświetleń same się nie robi no chyba że to przyszli nie doszli nowi użytkowicy forum.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2015, o 22:40 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Respect1523 napisał(a):
Nie działa czemuś gdzieś jest jeszcze jakiś mankament

No to sprawdź swoje połączenia, bo przetestowałem program bez żadnych zmian (użyłem LEDów zamiast silnika) i znośnie działa.

Pin, który nazwałeś sobie dioda jest cały czas w stanie niskim (0V)
Respect1523 napisał(a):
no chyba że źle zrozumiałem Pana (wieku nie znam ale mam wrażenie jak by Twój zawód to wykładowca na uczelni).
Dlatego na forum wszyscy są na ty


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lut 2015, o 14:34 
Offline
Użytkownik

Dołączył(a): 20 sty 2015
Posty: 31
Pomógł: 0

Witam,

Trochę mi się pochorowało, ale czas wracać.
Oczywiście rady pomogły wszystko działa tak jak miało być.

Wykonuje się jeden pełen obrót po wciśnięciu K3 u mnie to jest 510 kroków, dioda miga sygnalizując prace silniczka.

Wrzuca poprawiony kod a może ktoś skorzysta.



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



Czas na dalszą zabawę, wiedząc że tarcza ma 34 pola (narazie ma 33 ale zmienie na 34 pola aby nie bawić się w połówki kroków) , czyli przesunięcie o jedno pole to 15 kroków.

Teraz pytanie co do tablicy jaką muszę stworzyć.

czy mogę tak zdefiniować swoje przesunięcia krokowe do tablicy ?

void [A, B, C,]; <---- wyczytałem w książce BB strona 146 że nie można używać typu zmiennej void ???

czyli nie mogę tego tak zapisać w programie ?

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


Jakoś nie dam rady tego rozkminić z tymi tablicami, proszę o jakieś uwagi sugestie jak powinienem się do tego zabrać.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lut 2015, o 19:19 
Offline
Użytkownik

Dołączył(a): 04 paź 2014
Posty: 46
Lokalizacja: okolice JOWISZA czasami PL
Pomógł: 7

Niech kolega się zastanowi.
Chce Napisać dom taką maszynką. Pytanie gdzie jest literka d, gdzie o a gdzie m ? (oczywiście na tarczy).
Wartość na tarczy = wartość tablicy (literka cyferka czy co tam jeszcze jest) wypisane w kolejności wystąpienia na tarczy
(analogia do alfabetu a, b, c, .....itd )
i teraz jak chcesz napisać "dom" swoją maszynką to :
porównujesz wpis w tablicy z wprowadzoną literką (np przez UARTa)
w jakiejś pętli jak się zgadza to tylko zapamiętujesz indeks pętli w zmiennej
jak ustawiłeś tarcze jakąś krańcówką to wiesz gdzie jest na starcie pozycja 0( bo tablica zaczyna się od elementu o indeksie 0). wystarczy porównać wartość indeksu z wartością położenia tarczy,
dalej już z górki kroki wprzód albo w tył o tyle, ile wynosi różnica położeń kroki, położenie tarczy.
a kod do samodzielnego wykonania.
Analiza Algorytmu:
tarcza w pozycji 0
Literka do porównania d
tablica indeks 3
porównanie co większe 0 czy 3 czyli tablica więcej
czyli 3-0 =3 czyli d
tarcza na pozycji 3 została
następna literka do porównania to o
tablica o indeksie 14 (liczone bez polskich znaków) czyli tablica więcej
czyli 14-3 = 11 kroków dalej jest o od literki d na tarczy
następna literka do porównania to o
tablica o indeksie 14 (liczone bez polskich znaków)
czyli 14-3 = 11 kroków dalej w przód jest o od literki d na tarczy
tarcza w pozycji 14
następna literka do porównania to m
tablica o indeksie 12 (liczone bez polskich znaków)czyli tarcza na więcej - zmiana kierunku obrotów
czyli 14-12 = 2 kroki wcześniej jest m od literki o na tarczy.

ale to tylko pomysł początkującego. sorry ale ja tak tylko na szybko wymyśliłem może nie być optymalnie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2015, o 15:32 
Offline
Użytkownik

Dołączył(a): 20 sty 2015
Posty: 31
Pomógł: 0

Jakoś smutno mi się zrobiło patrząc na zestaw ATB, że nic się nie świeci na LCD dodałem opcje wyświetlania co się dzieje w danej chwili w pracy urządzenia.



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


Dwie rzeczy mi się nie podobają...

1. po włączeniu urządzenia na LCD pojawiają się dwa napisy zamiast tylko ZEROWANIE dziwne bo po wyzerowaniu jest jeden napis wyzerowanie
2. mruganie napisów <--- rozumiem, że to jest w pętli wykonywane i dla tego mruga


Czekam oczywiście na pomoc w napisaniu tej tablicy, może jednak ktoś pomoże.

Tak działa obecnie urządzenie.

v= ( https://www.youtube.com/watch?v=fYZUYdl ... e=youtu.be )

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2015, o 16:49 
Offline
Użytkownik

Dołączył(a): 04 paź 2014
Posty: 46
Lokalizacja: okolice JOWISZA czasami PL
Pomógł: 7

Jak wrócę do domu sprawdzę kod na atb

poprawiony kod działający zgodnie z założeniami ale do obsługi klawiszy użył bym takiej jak w superdebunce w bb lub z blogu mirka :)


poprawiono kolejność sprawdzania warunków
wpierw krańcówka potem klawisze

poprawiono/przerobiono definicję preprocesora na funkcję bo dużo tego było (KROK1,KROK2,KROK3,KROK4)

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


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2015, o 19:59 
Offline
Użytkownik

Dołączył(a): 04 paź 2014
Posty: 46
Lokalizacja: okolice JOWISZA czasami PL
Pomógł: 7

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


 


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

relizuje inicjacje wyświetlacza a kolega jej uzywa w pętli while(1) w funkcji wskazanej wyżej ------> dlatego mruga :) tyle razy się wyświetlacz inicjuje


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2015, o 21:18 
Offline
Użytkownik

Dołączył(a): 20 sty 2015
Posty: 31
Pomógł: 0

Super działa i dużo mi to wyjaśniło. <---- wielkie podziękowania brat_kamyka


Jak patrze jak rośni licznik odwiedzin tego tematu to daje to kopa do dalszego rozwijania projektu.

Teraz czas na tablice aby w pełni móc realizować zadanie z pierwszego postu.

Oczywiście jeszcze komunikacja UART.

Jeżeli jakiś użytkownik chciałby pobawić się również takim silniczkiem to polecam na początek http://allegro.pl/arduino-silnik-krokow ... 05104.html

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2015, o 21:25 
Offline
Użytkownik

Dołączył(a): 04 paź 2014
Posty: 46
Lokalizacja: okolice JOWISZA czasami PL
Pomógł: 7

to teraz:
1. zadanie pomocnicze wyślij znak przez usarta do atmegi i wypluj go na wyświetlacz (taki debuger odbioru usarta)
tutaj masz pomoc http://forum.atnel.pl/topic10755.html i oczywiście kniga tutaj zwana BB
jak to zrobisz to
2. przerób kod tak aby pozbyć się funkcji delay() bo avr sie marnuje i blokujesz wykonywanie kodu
Kniga BB Rozdział projekt wielozadaniowy ----> czytaj timery programowe (co ile czasu coś wykonać)
następnie
3.definicja tablicy znaków na kole tak aby atmega znała kolejność znaków od położenia początkowego
potem
4.porównanie poszczególnych wartości z odebranym znakiem ----> czyli wiesz o ile i w którą stronę obrócić silnik .
koniec zadania

miłego programowania


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2015, o 00:10 
Offline
Użytkownik

Dołączył(a): 20 sty 2015
Posty: 31
Pomógł: 0

powalczę i zadam pytania.

1. niestety mam jakis problem z komunikacją przez USB RS232 zestaw ATB 1.04rev

Moje ustawienia jak jakiegoś screena brakuje dośle.
Obrazek

dostaje w consoli Putty.

Obrazek



jakieś pomysł co moge robić źle?

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

_________________
sig off ;(



Ostatnio edytowano 22 lut 2015, o 15:42 przez Respect1523, łącznie edytowano 1 raz

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

Dołączył(a): 17 paź 2014
Posty: 23
Pomógł: 1

Spróbuj w pętli głównej dodać np:
OSCCAL=200; //jak nie ruszy to wpisz 150 i sprawdź, 160 i sprawdź ... tak kolejno do powiedzmy 240



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2015, o 16:46 
Offline
Użytkownik

Dołączył(a): 20 sty 2015
Posty: 31
Pomógł: 0

1.nic nie pomogłem ehhh

w programie Terminal tez jest niepoprawny odczyt


2.nie wiem o co chodzi wsadziłem atmege 16 i wszystko zaczęło śmigać ....

ktoś umie mi to wyjaśnić ? bo już zgłupiałem

3. potrzebuje mieć w zestawie atmega32 bo na tej 16 nie działa mój główny projekt silniczka

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2015, o 20:05 
Offline
Użytkownik

Dołączył(a): 04 paź 2014
Posty: 46
Lokalizacja: okolice JOWISZA czasami PL
Pomógł: 7

Witaj ponownie
tak na szybko przejrzałem kod moje uwagi:
1. czemu piszesz własne funkcje w main.c do wysyłania danych usart
zamiast zawartych w bibliotece
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

2. brak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
przerwań odblokowanych bo ta biblioteka pracuje na przerwaniach
3. do powtórnego czytania wykonania ćwiczeń BB rozdział 7.(USART)



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


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2015, o 22:49 
Offline
Użytkownik

Dołączył(a): 20 sty 2015
Posty: 31
Pomógł: 0

1.ok?
2.ok?
3.ok?



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


Obrazek

Dalej niestety nie działa na mojej atmedze32 tylko na 16 chyba czas inna kupić i przetestować.

dziękuje za pomoc i uwagi

_________________
sig off ;(



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

Dołączył(a): 04 paź 2014
Posty: 46
Lokalizacja: okolice JOWISZA czasami PL
Pomógł: 7

Na spokojnie
1. Czy dobrze ustawione fuse bity w atmega 32, czy dobrze ustawiona częstotliwość taktowania w projekcie?
2. Co ile czasu chcesz wysyłać string UART-em?
(podpowiedź przerwanie wykonuje się co 10 ms )
lepiej zrobić to tak :
http://forum.atnel.pl/topic7989.html#p89920
czyli w przerwaniu ustawiać czas do przodu, bo do projektu jeszcze coś dojdzie (inne zadanie z inną częstotliwością wykonywane) i będzie kłopot.
Do poczytania o licznikach w BB multipleksowanie LED.


1. OK
2. OK
3. brak delay czyli OK

PS.
Zaraz zaraz w projekcie "maszynki" musisz odbierać znaki z PC a nie wysyłać czy się mylę?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2015, o 19:31 
Offline
Użytkownik

Dołączył(a): 20 sty 2015
Posty: 31
Pomógł: 0

1.Obrazek

Obrazek

W projekcie jest 8000000.

2. W trakcie czytanie ale w końcu chyba zaczynam chociaż w jakimś stopniu rozumieć te timery.

P.S. Tak tak dokładnie mam zamiar odbierać dane zewnątrz. Na początku czymś prostym potem chce napisać jakiś mały programik ale to zaznaczam potem :)

_________________
sig off ;(



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: 49 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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