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



Teraz jest 30 lis 2024, o 20:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 13 lis 2014, o 23:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Witam,

Pierwszym projektem z serii urządzeń zbudowanych na mikrokontrolerach, który chciałbym wam zaprezentować, jest moja praca inżynierska, a mianowicie „Sterownik silników DC”. Było to pierwsze poważne urządzenie, które przyszło mi skonstruować od podstaw, w przeciwieństwie do wcześniejszych linijek świetlnych i tym podobnych gadżetów. Niestety, jako, że nie posiadałem zbyt dużego doświadczenia w budowaniu urządzeń, konstrukcja sterownika nie opierała się o tzw. dobre praktyki. Wystarczy spojrzeć na filtrację przy stabilizatorze napięcia LM7805, aby zauważyć, że było to czasem budowanie na tzw. „czuja”. Pomimo tego, produkt końcowy działał prawidłowo, a to było najważniejsze. Od strony programowej również szału nie ma, ale, jak już wspomniałem, był to mój pierwszy, większy projekt, tak więc doświadczenie zdobywałem w miarę budowy sterownika. Jak to często się mówi, nie ważne, jak coś jest zbudowane, ważne, że działa, jak powinno. Dzisiaj jednak podszedłbym do budowy takiego urządzenia nieco inaczej. Niewątpliwie było by ono jeszcze lepsze, a na pewno bardziej niezawodne.
Od strony sprzętowej, sterownik został zbudowany na bazie mikrokontrolera firmy ATMEL – ATMega8, taktowanym wewnętrznym oscylatorem RC o częstotliwości 8 MHz. Do zasilania układu wykorzystano komputerowy zasilacz ATX, poprzez scalony stabilizator napięcia LM7805. Do komunikacji z użytkownikiem służą dwie diody, informujące o kierunku obrotów silnika, trzecia natomiast, sygnalizuje obecność zasilania układu. Drugim elementem komunikacyjnym jest pospolity wyświetlacz LCD 2x16, oparty na sterowniku HD44780. Użytkownik steruje urządzeniem przy pomocy impulsatora, oraz mikroswitcha, powodującego nagłe przerwanie pracy sterownika w sytuacji alarmowej. Na płycie PCB znajdują się również listwy kołkowe, do których opcjonalnie podłączany jest transoptor – pełniący funkcję obrotomierza, oraz wyjścia do sterowania mostka H.
Wsad programowy do mikrokontrolera zajmuje 84% pamięci FLASH. W początkowych fazach jego pisania, pomimo, że nie posiadał on jeszcze nawet połowy funkcjonalności, to zajmował grubo ponad 50% pamięci FLASH układu. Jednak wychodząc z założenia dr Radosława Sokoła: „jeżeli w programie jest napisane dwa razy to samo, to kod jest źle napisany”, przeglądałem kod sukcesywnie i optymalizowałem. Z czasem również, niektóre zapisy stawały się dla mnie coraz bardziej intuicyjne, co powodowało skracanie zapisów. Niestety, program opierał się w dużej części o zmienne globalne, ponieważ nie radziłem sobie ze wskaźnikami. Przy konstruowaniu tego urządzenia, pierwszy raz zacząłem, choć nieśmiało, korzystać z not katalogowych układów, zamiast korzystać z wyszukiwarek czy forów internetowych w poszukiwaniu podstawowych informacji. Obecnie rozpoczynam każdą konfigurację, np. rejestrów w mikrokontrolerze, korzystając z noty katalogowej układu.
Ostatecznie, projekt został ukończony z powodzeniem, a produkt finalny zawierał następujące funkcje:

Regulacja PWM 0 % – 100 % (w trybie 8 bitowego PWM),
- Zmiana kierunku obrotu silnika w lewo/prawo lub zatrzymanie,
- Zmiana preskalera częstotliwości PWM: 1, 8, 64, 256, 1024,
- Włączenie/wyłączenie funkcji soft-start,
- Konfiguracja maksymalnej temperatury pracy,
- Konfiguracja rodzaju tarczki transoptora szczelinowego (w celu obliczania prędkości obrotowej),
- Menu wyświetlające parametry pracy sterownika,
- Przycisk bezpieczeństwa wyłączający silnik w sytuacji awaryjnej,
- Wyświetlanie prędkości obrotowej silnika.

Poniżej zdjęcia stanowiska:
Obrazek

Obrazek

Film prezentujący działanie sterownika:


Praca miała posiadać charakter stanowiska dydaktycznego, tak więc oprócz modułów sterownika oraz mostków H w dwóch wykonaniach (jeden zbudowany w oparciu o układ scalony L293D, natomiast drugi w celach poglądowych dla studentów, na tranzystorach bipolarnych – w sposób w jaki, jest on przedstawiany na wykładach), znajdowały się jeszcze:
- płytka bazowa dla mikrokontrolera Atmega,
- płytka z interfejsem użytkownika do ćwiczeń (potencjometr, mikroswiche, złącze dla DS18B20, diody LED oraz LCD).
Poniżej filmik przedstawiający stanowisko, w trakcie przeprowadzania jednego z ćwiczeń, które było opracowane dla studentów.



Poniżej zamieszczam schematy oraz zdjęcia poszczególnych modułów.
Główny sterownik
a) Płytka PCB
Obrazek
b) Schemat ideowy.
Obrazek

Scalony mostek H – układ L293D
a) Płytka PCB.
Obrazek
b) Schemat ideowy.
Obrazek

Tranzystorowy mostek H.
a) Płytka PCB.
Obrazek
b) Schemat ideowy.
Obrazek

Interfejs do ćwiczeń.
a) Płytka PCB.
Obrazek
b) Schemat ideowy.
Obrazek

Płytka bazowa.
a) Płytka PCB.
Obrazek
b) Schemat ideowy.
Obrazek

PS. Liczę na obiektywne oceny/uwagi/sugestie, pomimo tego, że projekt nie będzie rozwijany - jako, że była to moja praca inżynierska i nie jestem już w jej posiadaniu.

Przy okazji chciałbym również zachęcić do odwiedzania mojego bloga, na którym będą wszystkie moje projekty (oczywiście jednocześnie publikowane na forum :)), adres będzie w podpisie. Niestety z powodu tego, że na nadmiar czasu nie narzekam, opublikowanie kolejnego projektu może potrwać. Aczkolwiek będę się starał co jakiś czas coś wrzucić, tym bardziej, że wrzucałem filmik zapowiadający moją matrycę. Niestety czeka ona na przypływ wolnego czasu jak i gotówki ;)

Jak by ktoś chciał w celach naukowch, to zamieszczam wsad. Atmega 8, wew. RC 8 Mhz.
Załącznik:
Praca_inzynierska.zip


z Niebieskim pozdRowieniem,
Doman89


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2014, o 06:12 
Offline
Użytkownik

Dołączył(a): 30 sie 2014
Posty: 170
Pomógł: 2

Atx to po co 7805?
Otworek na pcb pod to220? :D
Przyciski prostopadle do potka/encodera? Nie widze tego w obudowie :)
Tranzystory do sterowania diodami i podpiete pod xtal?
Wybacz-txt przevzytam jak odespie nocke :P Ale tych plytek strasznie mnogo i nawet an-druinium dostrzegam.

Glowny sterownik fajnie wyglada :) nie bylo problemow z polaczeniami stykowymi?

Gratuluje inzynierki i kreatywnego projektu ! Mi sie podoba - a czepiam sie pierdol bo za bardzo nie ma czego raczej :D

Przyczepie sie jeszcze do braku kodow :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2014, o 08:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 mar 2014
Posty: 745
Lokalizacja: Warszawa
Pomógł: 32

Gratuluję Koledze :)
Widać mnóstwo włożonej pracy, płytki ładnie dopracowane, wszystko logicznie i bardzo estetycznie rozmieszczone w formie zestawu dydaktycznego.
Na pewno wielu studentów skorzysta z Twojej pracy inżynierskiej ;)

_________________
.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2014, o 08:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

To co mi się pierwsze rzrzuca w oczy to T1 i T2 - nie umieszcza się obciążenia w emiterze. Tranzystor jest w takim układzie nieprawdłowo spolaryzowany i o ile przy ledach może ten numer przejdzie to przy większym obciążeniu będzie lipa i szukanie dlaczego układ nie pracuje poprawnie.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2014, o 10:14 
Offline
Użytkownik

Dołączył(a): 27 lis 2012
Posty: 291
Pomógł: 6

squeez napisał(a):
(studiów nie kończyłem ale takich kardynalnych błędów to się nie powinno popełniać na pierwszym roku).
Cenne porady i chwała za to. Ale czy takie wstawki są potrzebne?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2014, o 12:49 
Offline
Użytkownik

Dołączył(a): 30 sie 2014
Posty: 170
Pomógł: 2

Poza tym to nie koniecznie musi byc kardynalny blad - na pewno nie w xmega :P tutaj raczej potrzebne?

Wiedza na studiach moze byc tak obszerna ze ciezko zapamietac :) Z reszta czuje w powuetrzu bardzo istotna w tym temacie dyskusje o braku poxiomu na studiach i o tym ze lepiej bylo zostac ninja :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2014, o 14:00 
Offline
Użytkownik

Dołączył(a): 30 sie 2014
Posty: 170
Pomógł: 2

Twoj post urazil jedynie moja xmege :) Ale moze nieslusznie? I tak, jesli masz na zasilaczu kondki to nie widze sensu dawania ich ponownie przed stabilizatorek :) Ale na pewno nie zaszkodzi :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2014, o 14:24 
Offline
Użytkownik

Dołączył(a): 30 sie 2014
Posty: 170
Pomógł: 2

Masz racje :) Czasami ciezko jednak powiedziec czy cos bylo swiadome czy tylko fuksem dziala :)

Ja tam lubie oszczednosci (miejsca) bo lubie robic tycie plyteczki - a to ze pozniej te plyteczki pakuje do ogromnych obudow to juz inna kwestia :)

Projekt fajny ale duzy :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2014, o 17:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Witam,

doman napisał(a):
Atx to po co 7805?

ATX, został wymyślony na koniec, bo przyszedł do głowy w celu ułatwienia. Zasilanie na każdy układ było z głowy.

doman napisał(a):
Otworek na pcb pod to220?

Jeżeli chodzi o ten koło 7805, to nie. Płytka ta była bodajże moją drugą robioną w życiu w Eagle więc szukanie bibliotek było na tzw. "czuja".

doman napisał(a):
Przyciski prostopadle do potka/encodera? Nie widze tego w obudowie

Wizja tej płytki była kolegi (on robił identyczną pracę tylko, że na Arduino dla porównania, lecz nie chwaląc się jego sterownik miał mocno ograniczone możliwości w porównaniu do mojego :))

doman napisał(a):
Tranzystory do sterowania diodami i podpiete pod xtal?

Tak, tu przedobrzyłem. Pod xtal nie pamiętam czemu podłączyłem już. W sumie i tak z kwarca to nie korzystałem, więc raczej nie przeszkadzało.

doman napisał(a):
Ale tych plytek strasznie mnogo i nawet an-druinium dostrzegam.

Tak jak wyżej wspomniałem za Arduino odpowiedzialny był kolega. Dlatego też płytki się powtarzają.

doman napisał(a):
Glowny sterownik fajnie wyglada nie bylo problemow z polaczeniami stykowymi?

Żeby nie skłamać bodajże z dosłownie 2 połączeniami - źle przylutowany kabelek do goldpina. Tak to ruszyło bez zająknięcia.

doman napisał(a):
Przyczepie sie jeszcze do braku kodow

Kodów nie mam w planach udostępniać. Jeżeli by kogoś interesował jakiś fragment to oczywiście na PW mogę posłać. Oczywiście aktywnym użytkownikom, a nie takim którzy się zarejestrowali 5 minut temu, znajdują co potrzebują i znikają na zawsze. Choć moje pierwsze programy były równie potworkowate co te tranzystory z diodami :D

MikieMan napisał(a):
Gratuluję Koledze Widać mnóstwo włożonej pracy, płytki ładnie dopracowane, wszystko logicznie i bardzo estetycznie rozmieszczone w formie zestawu dydaktycznego.Na pewno wielu studentów skorzysta z Twojej pracy inżynierskiej

Dzięki za dobre słowo. Co do układu to wiadomo, żeby na obronie jak najładniej wyglądało :) Pracuje akurat w sieci handlowej, więc wiem, że człowiek najpierw kupuje oczami. Poza tym "Ordnung muss sein" : lol :

squeez napisał(a):
Na schemacie b) Schemat ideowy. nie ma rezystorów w bazach. I czy to tak zostało zrobione finalnie? uC czy też tranzystory to przeżyły?Szkoda że nie pokusiłeś się o zrobienie mostka na samych N-MOSFET-ach było by bardziej ambitnie.

Tak niestety zrobione było finalnie. Wszystko śmigało bez zająknięcia więc nie doszukiwałem się w tym uchybień. Aczkolwiek jak zaznaczyłem, był to nagle projekt do wykonania, a byłem wtedy dosłownie na etapie robienia linijek świetlnych na diodach. MOSFETów to do niedawna bałem się jak ognia, dopiero z nimi się zaprzyjaźniam od nie długiego czasu.

squeez napisał(a):
No i zamiast tych zwykłych złączy goldpinowych można by było zastosować WS/HS estetycznie by to wyglądało i nie było by problemu z pomyłką przy połączeniach.

To Ci przyznam rację w 100%, do tej pory w sumie jakoś dziwnie korzystam tylko z goldpinów albo złącz śrubowych.

SylwekK napisał(a):
To co mi się pierwsze rzrzuca w oczy to T1 i T2 - nie umieszcza się obciążenia w emiterze. Tranzystor jest w takim układzie nieprawdłowo spolaryzowany i o ile przy ledach może ten numer przejdzie to przy większym obciążeniu będzie lipa i szukanie dlaczego układ nie pracuje poprawnie.

Spokojnie już nie robię takich "kwiatków".

mg101 napisał(a):
squeez napisał(a):(studiów nie kończyłem ale takich kardynalnych błędów to się nie powinno popełniać na pierwszym roku).Cenne porady i chwała za to. Ale czy takie wstawki są potrzebne?

Spokojnie miała być subiektywna krytyka więc jest. Nie jesteśmy dziećmi, więc rozumiem, że kolega wyraził po prostu swoje zdanie. Przynajmniej pisze szczerze ;)

doman napisał(a):
Wiedza na studiach moze byc tak obszerna ze ciezko zapamietac Z reszta czuje w powuetrzu bardzo istotna w tym temacie dyskusje o braku poxiomu na studiach i o tym ze lepiej bylo zostac ninja

Tu się zgodzę, dużo głupot nie potrzebnych, a to co istotne nierzadko na kiepskim poziomie było ;) Taka prawda. Ale "papiór" trza mieć, dziś się już dam rozwijam w odpowiednim kierunku, na tyle na ile mi czas pozwala.

squeez napisał(a):
Myślałem że dyskusja ma być merytoryczna, kolega dał projekt pod ocenę więc napisałem co wg. mnie jest źle/niedopuszczalnie.

No i chwała koledze za to.

doman napisał(a):
Twoj post urazil jedynie moja xmege Ale moze nieslusznie? I tak, jesli masz na zasilaczu kondki to nie widze sensu dawania ich ponownie przed stabilizatorek Ale na pewno nie zaszkodzi

Jak już wspomniałem to zasilacz ATX "wyskoczył" w ostatniej chwili. Każdy moduł na etapie prototypu był zasilany inaczej. A na samym początku to w ogóle na stykówce więc tam napięcie było czasami z USB.

squeez napisał(a):
trzeba ścieżki przecinać drapać soldermaske i lutować na partyzanta rezystor.

Śmieszniejsze było to, że jak robiłem płytkę sterownika termotransferem to działała w 100%, jak oddałem już do firmy to mi zliczanie impulsów nie działało. Ile to ja się na szukałem, poźniej schemat i ja patrzę a tu mi się jakaś luźna przelotka między 2 ścieżkami przytrafiła - INT i 5V ( dolna i górna warstwa). W termotransferze był luzik, na wykonanej już nie bo metalizacja otworów. Trzeba było delikatnie rozwiertać. To był stresik :)

z Niebieskim pozdRowieniem,
Doman89



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: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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