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



Teraz jest 18 gru 2024, o 06:16


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 15 lip 2022, o 18:01 
Offline
Nowy

Dołączył(a): 12 lut 2017
Posty: 24
Lokalizacja: Warszawa
Pomógł: 0

Obrazek

Tym razem przyszła kolej na projekt edukacyjny, projekt otwarty, żyjący, w którym zawsze coś się może wydarzyć i coś nowego pojawić.

Do stworzenia tego projektu skłoniło mnie poszukiwanie zestawów uruchomieniowych, które by spełniały moje różne oczekiwania / zachcianki. Pierwszym była płytka stykowa i AT90S8515 wyciągnięty z karty „Fun” – jak ktoś się zajmował TVSat towie co to za karta, potem było ATTiny25, a potem już pełnoprawny zestaw AVT3510 z ATmegą32, która nota bene od razu poszła na półkę, a w jej miejsce wjechała ATmega1284P. W tym zestawie poeksperymentowałem z oczywistymi zabawami z diodą, wyświetlaczem z obsługą czy obsługą klawiatury. Nowością w stosunku do stykówki było RTC, a jako, że w tym czasie Mirek na YT właśnie publikował filmy o RTC na PCFie, a u mnie w zestawie był Microchip MCP79410I to z filmem „w ręku” krok po kroku portowałem bibliotekę z PCFa na MCP i zadziałało. W tym zestawie był jeszcze port odbiorczy podczerwieni, MAX232, karta SD, złącze ISP i JTAG, termometr na DS1B20, diody LED oraz karta SD, ale brakowało mi przejściówki USB <-> UART czy programatora, trzeba było używać zewnętrzny, w który wraz z BB się zaopatrzyłem (ATB USBAsp v. 4.1), ale coś mi brakowało, nie było jak podłączyć np. OLEDa, nie było graficznych wyświetlaczy.

Z racji niedosytu potem zakupiłem AVT5311 – tu już lepiej, pojawiły się pewne nowe funkcje, złącze pod wyświetlacz zgodny z KS0107, dwa kwarce do wyboru, możliwość zainstalowania mniejszej ATmegi zgodnej z seria ATmega8, FT232R,ULN2803, termometr zgodny z LM50, zewnętrzny ADC, dwa rejestry na 74HC595, ale dalej zewnętrzny programator i dalej jeszcze coś brakuje, z drugiej strony na środku takie fajne złącze ze wszystkimi sygnałami, można by dobudować własne płytki, no ale ono jest na środku, wszystko przesłania, w dodatku firmowy kwarc 8MHz trochę za mały, a RTC za ubogi, na szczęście zgodny pinout z tym co w poprzedniej, no to lutownica w rękę (i tak była w ręku bo wybrałem zestaw do samodzielnego montażu) i podmiana, chip zegara, kwarc 8MHz na 16MHz, a kwarc zegarkowy do taktowania ATmegą na podstawkę pod wymienne kwarce.

I tak doszliśmy do momentu gdy projektowałem sterownik do odbiornika KF, przy okazji koledzy z wspomnianego forum zapytali, czy bym ich trochę nie poduczył, bo sami coś czasami grzebali w Andruino ;) ale widząc jak upycham tyle funkcji w ATmegę328 stwierdzili, że może jednak lepiej programować w C.

Projekt płytki edukacyjnej AVR
No więc trochę wyprzedzając koncepcję Mirka, i zabierając mu chleb stwierdziłem, że przygotuję dla nich parę wykładów i coś sobie porobimy wspólni, najpierw były wykłady ze starej dobrej cyfrówki, algebra Boole’a, bramki, budowanie z bramek przerzutników RS, JK, potem z nich D czy T, potem z przerzutników rejestry czy liczniki, dalej układy dwójkowy i 16 przeliczanie, no ale co z programowaniem – mówię musicie zaopatrzyć się w zestawy, najlepiej te same co u mnie czyli AVT5311 i jedziemy, okazało się, że na magazynie w AVT pozostało tylko 3 sztuki a nas było z 10 osób, co robić?

Powstał zatem pomysł zbudowania własnej płytki, ale co tam dać, burza mózgów, no to dajmy na pewno jak w AVT duży i mały procek, dajmy przełączany kwarc, potem wpadł pomysł dania jeszcze klawiatury matrycowej, a może także i analogową tam wklecić, no to jeszcze dodajmy programator od Fischl’a, ale przydał by się RS i może FT, no ale jak FT i programator to trzeba by huba USB, no to jaki hub będzie łatwy w implementacji i łatwo dostępny, wyszło że trzyportowiec, no to co trzeci port zostawić „martwy”, nie wyprowadźmy go jako przelotkę … itd., itd.
Koniec końców powstała wersja 1 projektu, zrobiliśmy losowanie w jakim kolorze zrobić soldermaskę – padło, że nikt jeszcze nie miał nic na żółtej, to zrobimy żółtą (z perspektywy czasu ponieważ żółta mogła być u chińczyka zamówiona wyłącznie z białymi napisami to była pomyłka). No ale układ się poprawiał, na etapie uruchamiania znalazłem kilka może nie błędów ale niedociągnięć, np. pin RESET z uP połączyłem z pinem RESET FT232, co skutkowało przy np. wgrywaniu nowego wsadu resetem także FT i zrywaniem połączenia, bardzo niefunkcjonalnie to działało, w podświetleniu do wyświetlacza typu „nokia” gdzie zapala się je stanem niskim pozostawienie nogi nie połączonej powodowało świeceniem na ok. 30-40%, trzeba było podciągnąć nogę rezystorem do VCC, gniazdo do wejścia Ethernet z wbudowanym transformatorem było trudno dostępne w handlu (teraz nic nie jest dostępne to inna sprawa), no i tak poprawiając te niedoróbki powstała wersja 2, ale ona nawet nie trafiła do produkcji PCB, bo wyszły kolejne mankamenty, a przy okazji Mirek wystartował z kursem ESP, na który się zapisałem (z braku czasu jeszcze go nie zacząłem !!!) i powstała koncepcja dorobienia jakby modułu rozszerzeń na której wyląduje ESP więc przydało by się wyprowadzić z płytki napięcie 3.3V do złącza na akcesoria, zniknął także port JTAG, zmieniły się piny pod wyświetlacz „zegarkowy” bo ten z : okazał się łatwiej dostępny niż ten bez, dodałem buforowanie do programatora, całkowicie przebudowałem przetwornik audio do zabaw z ADC, teraz jest to przetwornik szczytowy o regulowanym wzmocnieniu i z przesuniętą składową stało, więc brak sygnału audio to 2,5V na jego wyjściu, do potencjometru do zabaw z ADC dałem wymienny rezystor, aby można było uzyskać inne zakresy a nie tylko 0..5V aby mogło to działać z ESP, przełączniki typu DIPSWITCH zamieniłem na normalne zworki goldpinowe, dodałem zworki SMD dla wyświetlaczy OLED bo trafiały się w handlu z zamienionymi miejscami VCC i GND i tak powstała wersja 3 a zaraz potem 3.1 projektu, do której poniżej zamieszczam dokumentację opisową oraz schemat.

Dziś, gdy rozpoczęliśmy kurs C w Mirkowej akademii w KiCad jest już kolejna wersja PCB, choć opisu nie zmieniłem, dodane są w niej kondensator 10nF na potrzeby resetu linią DTR mikrokontrolera w związku z bootloaderem, rezystor, który pojawił się wraz z dodatkową płytką o której będzie niżej między liniami MISO i MOSI za buforem programatora, aby działało programowanie po TPI oraz osobno wyprowadzona magistrala TX/RX z mikrokontrolera wraz z podstawką pod odbiornik HC-05/06, AT-09 lub MLT-BT05. Płytka roboczo ma opis v. 3.2.

Wszystkie układy jakie znajdują się na płytce to: układ zasilania ze stabilizatorami LDO 5V i 3.3V z możliwością zasilania z zasilacza nawet napięcia zmiennego (wbudowany mostek) lub ze złącza USB, programator USBAsp na ATmega8 lub 88 z buforem, 8 diod led, jedna dioda RGB, 8 diod WS2812, HUB USB TUSB2036, wyświetlacz typu zegarkowego LED, konwerter MAX232, konwerter FT232R, transoptor 4 sekcyjny LTV-487, driver ULN2803, pamięć EEPROM I2C- 24LCxx, pamięć EEPROM SPI – 25LCxx, termometr zgodny z LM50, termometr DS18B20, przetwornik ADC 18bit MCP3421, ekspander portów I2C – MCP23017, dwa rejestry 74HC595, układ audio, układ potencjometru, klawiatura matrycowa 4x4, klawiatura analogowa 5 przycisków, zegar MCP79410 lub inny zgodny pinowo, moduł Ethernet ENC28J60, buzer, przekaźniki, stały kwarc 16MHz, podstawka pod dowolny kwarc oraz podstawki pod wyświetlacze na HD44780, KS0107, PCD8544, ST7565R, SSD1306 na szynie SPI i I2C, wyjście-przelotka USB, nadajnik i odbiornik podczerwieni.

Poniżej zdjęcie jak układ prezentuje się w wersji 3.1 oraz dokumentacja do niego zarówno plik projektu KiCad jak i opisowy PDF, schemat zwłaszcza w części modułu Ethernet jest laurkowy trochę, ale wynikło to z braku miejsca i przeróbek w trakcie.
Obrazek

Płytka dodatkowa ESP
Jak wspomniałem powyżej, w trakcie zapisałem się na kurs w akademii ATNEL dotyczący ESP, no więc pomyślałem, tyle różnych peryferii ma już pod AVRa, no to zrobię płytkę pod ESP i ją podłączę, przecież można wyprowadzić linie czy to UARTa, czy SPI czy I2C i tak część elementów na tej płytce obsłużyć bez dodatkowych kabli, oczywiście na module dodatkowym znalazły się układy translacji napięć, ale, że ze scalakami zaczynało się po woli krucho, a niektóre szyny jak I2C są dwukierunkowe to translacja wszystkich linii jest na MOSFETach, dodatkowo na tej płytce zagościło gniazdo kart SD, którego nie było w głównym projekcie. Jako moduły ESP do płytki można włożyć NODEMCU V2 lub V3 z ESP8266 i WROOM32 zgodny z ESP32-DevKit oba na 30 pinowych shildach.

Poniżej zdjęcie układ oraz dokumentacja do niego zarówno plik projektu KiCad jak i opisowy PDF.
Obrazek

Płytka dodatkowa ATTiny
Czas mijał, na kurs ESP nie pozwalała praca a i trochę zdrowie, ale w szufladzie poniewierały się stare dobre ATTiny28 i ATTiny20, a mnie zaświtał w głowie pomysł zrobienia układu wskaźnika wysterowania z podziałem na częstotliwości, więc stwierdziłem, że może dorobie do płytki głównej płytkę pod parę ATTiny, ale jak zwykle wspanili koledzy ;) podjudzili, to może dodaj tam jeszcze ATTiny 826 bo ja coś na nim robiłem i jest fajny. Koniec końców znalazło się tam miejsce dla wszystkich ATTiny programowanych albo po ISP albo po TPI. To właśnie podczas uruchamiania tej płytki okazało się, że choć najnowszy wsad Fischl’a obsługuje po szynie MOSI szynę TPI, to działa to wyłącznie na programatorach bez izolacji. Doczytałem się na elektrodzie, że gość robił programator z izolacją optyczną i trzeba było połączyć za optoizolacją szynę MISO i MOSI dodatkowym rezystorem a do tego wsad do mikrokontrolera pełniącego rolę programatora trzeba przekompilować samodzielnie z odpowiednią flagą (opis w dokumentacji i tamże odsyłacz do artykułu), ja miałem buforowanie, ale to też izolacja więc też trzeba dołożyć ten rezystor (patrz opis nowszej opracowanej płytki) i przekompilować wsad i działa.

Jak poprzednio poniżej zdjęcie układ oraz dokumentacja do niego zarówno plik projektu KiCad jak i opisowy PDF.
Obrazek

Płytki dodatkowe do zabawy rejestrami i ekspanderami
Powstały dwie płytki, jedna pod wyświetlacz na HD44780 z wyprowadzeniami klasycznymi u góry, ale także z boku pod wyświetlacze VFD zgodne z tym standardem, druga to zabawy we wszelkiej maści wskaźniki wysterowania czy poziomu czegokolwiek, ważne, że sterowane z rejestru lub ekspandera. Nie będę się rozpisywał dokładnie, jak zwykle projekt i dokumentacja w opisie.
Obrazek Obrazek Obrazek

Na zakończenie dodam, że w żadnym z projektów nie udostępniam plików gerbera, jak ktoś chce skopiować a nie daj Boże jeszcze zacząć to sprzedawać i na tym zarabiać to niech chociaż musi się wysilić aby mieć KiCad i sobie samemu wyeksportować maski produkcyjne. Z racji kilku pytań od uczestników kursu w Akademii Atnel informuję, że wyprodukowane było tylko 10 zestawów PCB i nie dysponuje ani jednym do sprzedania, wszystko zostało rozesłane osobą, z którymi prowadziłem szkolenie.


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: 15 lip 2022, o 18:08 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Ja tam jestem pod MEGA WRAŻENIEM tej całej konstrukcji, ilości włożonej pracy, samej instrukcji - a tu jeszcze dostają wszyscy za free projekty płytek - no takiego DIY to już dawno nie było na naszym forum. Ja tam ABSOLUTNIE pochwalam takie własne konstrukcje i nigdy nie traktuję tego jako jakąś konkurencję dla naszych zestawów. Wręcz zachęcam wszystkich do takiej pracy i robienia sobie we własnym zakresie zestawów wg swoich pomysłów nawet gdyby miały wyglądać prawie identycznie jak ATB.

No ale ten tutaj projekt jest TAK wypasiony - że mi rura wymięka :D MEGA GRATULACJE - oby inni przeglądający to DIY brali z kolegi przykład - ja będę kibicował

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2022, o 20:16 
Offline
Użytkownik

Dołączył(a): 21 sie 2013
Posty: 43
Lokalizacja: Siekierczyn
Pomógł: 0

Kopara mnie opadła. Piękny widok.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2022, o 20:58 
Offline
Użytkownik

Dołączył(a): 09 mar 2015
Posty: 30
Pomógł: 0

Nooo, szacun wielki! Ogrom pracy i dbałości o szczegóły. Do pełni szczęścia brakuje tylko obsługi PT100/PT1000 i komunikacji ModBus ;-) Oczywiście żartuję.
Próbowałem wczytać pliki schematów do KiCada, ale sieje błędami. Chyba mam za starą wersję. Dzięki za podzielenie się projektem :-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2022, o 21:48 
Offline
Nowy

Dołączył(a): 12 lut 2017
Posty: 24
Lokalizacja: Warszawa
Pomógł: 0

na zdrowie ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2022, o 22:47 
Offline
Nowy

Dołączył(a): 11 lip 2022
Posty: 3
Pomógł: 0

I takich ludzi jak ty "studi" trzeba szanować. A nie pierwszego lepszego" majstra " co jest najlepszy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lip 2022, o 14:17 
Offline
Nowy

Dołączył(a): 12 lut 2017
Posty: 24
Lokalizacja: Warszawa
Pomógł: 0

jacekrv1 napisał(a):
Do pełni szczęścia brakuje tylko obsługi PT100/PT1000

Tylko na piechotę budując mostek i całość jako temperatura / napięcie, no to jest na płytce taki czujnik z rodziny LM50, MCP9701 i podobne, czy jakiś wypasiony układ do pomiaru z wyjściem po I2C np. MAX31865

jacekrv1 napisał(a):
Próbowałem wczytać pliki schematów do KiCada, ale sieje błędami.

Musi być KiCad z serii 6, dodatkowo ktoś mi zwrócił uwagę, że nie ma modeli 3D. Wynika to z konwersji z KiCad serii 5.x.x do 6, gdzie zmieniły się nazwy zmiennych środowiskowych, i trzeba sobie dodać dodatkowe zmienne środowiskowe o nazwach jakie były używane w serii 5 i wskazujące ścieżki z serii 6



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

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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO