Skocz do zawartości

Tablica liderów


Popularna zawartość

Pokazuje zawartość z najwyższą reputacją 19.06.2020 we wszystkich miejscach

  1. 2 punkty
    Witam wszystkich. Zajmuje się elektronika z czystej ciekawości.
  2. 1 punkt
    Cześć, dzisiaj wykonałem próbę podłączenia prostej kamery VGA (sensor CMOS) do zestawu FPGA firmy QMTECH z Artix-7 (chip FPGA: XC7A100T-2FGG677i). Tutaj jest link do tego zestawu: https://pl.aliexpress.com/item/4000170042795.html?spm=a2g0o.productlist.0.0.1bbc3a488cWayC&algo_pvid=b8e2d6de-11a7-4045-be1d-dc82c5229b85&algo_expid=b8e2d6de-11a7-4045-be1d-dc82c5229b85-3&btsid=39edaf33-09cc-4522-882b-0168a91a733d&ws_ab_test=searchweb0_0,searchweb201602_4,searchweb201603_55i Zestaw ten kupiłem jakiś czas temu i postanowiłem go użyć w tym projekcie ze względu na dużą ilość zasobów - szczególnie dużą ilość BRAM 4,660Kb (potrzebna na frame-buffer). Pewnie łatwiej i sensowniej byłoby podłączać jakąś kamerę z interfejsem MIPI (i lepszym sensorem), ale nie posiadam żadnego zestawu FPGA, który by miał wbudowany taki interfejs Jest to moja pierwsza próba podłączenia jakiejkolwiek kamery do zestawu FPGA. Wybrałem tanią kamerę "OV7670" (sensor firmy Omnivision) - tutaj link do sklepu (chińskiego): https://www.banggood.com/Wareshare-OV7670-Camera-Module-CMOS-Acquisition-Board-Adjustable-Focus-300000-Pixel-p-1478355.html?rmmds=search&cur_warehouse=CN Tutaj link do datasheet do tego sensora: https://www.voti.nl/docs/OV7670.pdf Wybrałem projekt ze strony "FPGA4Student" ponieważ z kilku branych pod uwagę wydał mi się najprostszy:był https://www.fpga4student.com/2018/08/basys-3-fpga-ov7670-camera.html Projekt był zrobiny dla zestawu FPGA "Basys 3" z Artixem-7 (XC7A35T-1CPG236C) który posiada tylko 1800 Kb wewnętrznej pamieci BRAM - stąd frame-buffer obsługuje tylko max. rozdzielczość 320x240. Można by go też odpalić na zestawach "Artix-7 35T Arty" lub "Digilent Cmod At-35T" - tutaj linki do tych zestawów: https://kamami.pl/zestawy-uruchomieniowe/560134-artix-7-35t-arty-zestaw-ewaluacyjny-dla-fpga-artix-7.html https://kamami.pl/zestawy-uruchomieniowe/562401-digilent-cmod-a7-35t-modul-uruchomieniowy-z-fpga-artix-7-410-328-35.html Ale wracając do projektu - moja płytka FPGA firmy QMTECH (XC7A100T) nie posiada wyjściowego interfejsu VGA (ma HDMI które wypróbowałem i które działa dobrze), stąd wynikła potrzeba zbudowania go samemu. Wybrałem prosty interfejs (12) rezystorów wzorując się na układzie z zestawu "Basys 3". Tutaj schemat tego interfejsu: Zmontowałem do na płytce prototypowej (potrzebne jest gniazdo VGA 15 pinowe). Tak wygląda cały układ z kamerą, interfejsem VGA (na zielonej płytce) i zestawem FPGA QMTECH. A tu obraz na monitorze (tylko składowa niebieska): Jak widzicie próba nie zakończyła się pełnym sukcesem obraz jest o rozdzielczości 320x240 pikseli (i tak miało być) natomiast jest widoczna na ekranie tylko składowa niebieska.Podejrzewam, że błąd jest na zielonej płytce z interfejsem VGA - bo była ona dzisiaj "na szybko" polutowana a nie była najpierw przetestowana (może pomyliłem się przy gnieździe VGA). Zamieszczam tu pełen projekt dla Vivado 2018.3. Plik constraints dla mojej płytki QMETCH, ale na oryginalnej stronie projektu mo\zna pobrać pełen projekt dla "Basys 3". basys3_ov7670_v1.zip W najbliższym czasie zamierzam usunąć błędy z interfejsu VGA oraz zwiększyć pojemność frame-buffer'a do pełnej rozdzielczości VGA (na mojej płytce powinno wystarczyć pamieci BRAM w układzie FPGA). Zamieszczam projekt, bo może ktoś będzie także chciał spróbować podłączyć taki model kamery do układu FPGA. Zachęcam wszystkich do własnych prób z układami FPGA, bo w dziale "Układy programowalne" na Forbocie ostatnio bardzo mało się dzieje. Pozdrawiam
  3. 1 punkt
    Stacja pogodowa z wysyłką danych na stronę WWW Od paru tygodni testuję stację pogodową którą udało mi się zmontować w ostatnim czasie. Stacja oparta o sterownik Lan Kontroler V2.5 firmy Tiny Control. Jest to kompaktowe rozwiązanie zawierające: 5 wejść analogowych: pomiar temperatury, napięcia i prądu, oraz innych wielkości fizycznych, wejście cyfrowe w standardzie 1wire, wejście cyfrowe do obsługi czujnika temperatury i wilgotności DHT22, 4 wejścia logiczne: jako czujnik stanu do monitoringu, jako licznik impulsów z licznika energii, 1 przekaźnik (NZ, NO, C), 1 wyjście tranzystorowe, 4 wyjścia do załączania przekaźników oraz pomiar temperatury i napięcia zasilania na płytce. Do sterownika podłączyłem następujące czujniki: temperatury/wilgotności/ciśnienia - wszystko w jednym: CZUJNIK BME280/SPLITER 1WIRE/ RJ12 Grove - czujnik opadów / wody DFRobot Gravity - analogowy czujnik wilgotności gleby - odporny na korozję DFRobot Gravity - czujnik światła ultrafioletowego UV analogowy Miernik prędkości wiatru (chiński, zamówiony na aliexpress) Podłączenie Urządzenie Lan Controler wymaga podłączenia czujników do odpowiednich wejść analogowych/cyfrowych. Czujnik BME280 podłączany jest do złącza wire1. Po zmontowaniu całość prezentuje się następująco: Oprogramowanie Sterownik Lan Controler posiada wbudowany serwer www i panel zarządzania parametrami sterownika oraz wejściami: dodatkowo posiada możliwość wysyłki danych do serwerów protokołem HTTP, taką opcję zbierania danych umożliwia np. serwer Thing Speak (https://thingspeak.com/) ThingSpeak to aplikacja i interfejs API dla urządzeń IoT (opensourcowe) do przechowywania i pobierania danych z urządzeń elektronicznych za pomocą protokołu HTTP i MQTT. tak wyglądają dane z mojej stacji pogodowej na platformie Thinspeak: dzięki opcji zagnieżdżania poszczególnych widgetów z ThingSpeak na innych stronach, zrobiłem własną zawierającą kluczowe parametry pogodowe: Rozwój: w planie dodatkowy czujnik - przepływu wody, mierzący ilość opadów, planuję oprzeć to o czujnik przepływu YF-S402, natomiast przed zimą czujnik zanieczyszczenia powietrza. Oczywiście wszystkie dane będą publikowane na stronie WWW automatycznie.
  4. 1 punkt
    Witam ponownie! Update z prac Zadowolony z siebie, gdy udało mi się wprawić w obroty silnik, postanowiłem posprawdzać jak wyglądają zakłócenia w układzie. Powiem tylko delikatnie że nie byłem zadowolony gdy zobaczyłem na oscyloskopie co się dzieje na linii 3.3V Miałem dużo szczęścia że nie uszkodziłem nowego NUCLEO, bo przepięcia dochodziły do 5.5v. Trochę poczytałem co mogę zrobić. Oczywiście beztroskie łączenie mas układów było przyczyną. Skończyło się na rozłożeniu i ponownym złożeniu całego układu, tym razem z poprawnym połączeniem mas (topologia gwiazdy itd..). W końcu odebrałem też encodery magnetyczne. Wydrukowałem podstawkę do testowania silnika i zmontowałem wszystko w całość. Szybka kalibracja wszystkiego i mam silnik sterowany metodą FOC. Od razu widać było różnicę w działaniu: - Moment obrotowy jest płynny bez znacznych skoków (jednak minimalne wahania da się wyczuć) - Prąd zmalał o rząd wielkości (dla tych samych obrotów bez enkodera miałem 200mA, teraz jest to około 20mA) - Silnik przestał się nagrzewać Poniżej efekt prac: Jak widać na powyższym filmiku, program cały czas stara się trzymać optymalny kąt 90 stopni pomiędzy wektorem pola od magnesów stałych a wypadkowym wektorem pola od uzwojeń. Przy takim przesunięciu uzyskujemy największy moment obrotowy. Kolejnym krokiem będzie przejście z modulacji SPWM na SVPWM. O tym czym jest SVPWM można poczytać tutaj: https://www.switchcraft.org/learning/2017/3/15/space-vector-pwm-intro Pozdrawiam, Marek
  5. 1 punkt
    Cześć, można niestety niechcący "zbrickować" płytkę Elbert poprzez błąd w pliku "ucf" (definicja pinu zegara). Powinno dać się przywrócić Elberta do życia. Patrz ten wątek: Pozdrawiam BTW: chyba w internecie jest też jakiś tutorial jak "odbrickować" Elberta (ale go nie testowałem).
  6. 1 punkt
    @selfczek witam na forum Pierwsza sprawa to musisz znać warunki pracy tranzystora, bo informacja że jest jakaś betta (wzmocnienie) to nie wystarczy. W dokumentacji są wykresy, bo betta się zmienia. Ale weźmy największa jaką się da (bo teoretyczny prąd będzie maksymalny) i sprawdźmy prąd kolektora. Czyli masz te 9mA no i wyszło z tego 180mA kolektora (tu uwaga, jak dasz na bazę 0,5A to nie wyjdzie z tego 50A - jest pewna granica podana w dokumentacji). Ale masz tam opornik 10R na kolektorze czyli zapas prądu jest ogromny i popłynie tylko tyle prądu ile pozwoli tranzystor. Jeżeli dasz rezystor o większym oporze do kolektora to zmniejszysz prąd płynący przez kolektor, ale też uda Ci się osiągnąć ten sam efekt jeżeli na bazę podasz mniejszy prąd. Co się dzieje z dwoma obiegami prądu? Spotykają się na tranzystorze i wypływają z emitera na masę.
  7. 1 punkt
    Cześć, widzę, że skorzystałeś z platformy "ThingSpeak.com" też z niej korzystałem i uważam, że jest super (i zebrane dane można sobie od razu 'obrobić" w MATLAB'ie). Fajny projekt Pozdrawiam
  8. 1 punkt
    @Paatryk93 dzięki za pytania, wygląda to tak: dane są sczytywane na bieżąco, w panelu administracyjnym urządzenia można je podejrzeć 'na żywo', sama wysyłka do serwera ThingSpeak może być realizowana co 5 sekund (być może nawet częściej), ograniczeniem jest to że wersja bezpłatna ThingSpeak umożliwia przyjęcie 3.000.000 pakietów w ciągu roku, to daje (przy 8 kanałach) 1000 dziennie, 40 na godzinę dla każdego kanału, ja mam ustawioną wysyłkę co 120 sekund czyli z zapasem, całe urządzenie jest zapakowane w hermetyczną obudowę (tego typu: a same czujniki są dostosowane do warunków zewnętrznych (czujnik wiatru - fabrycznie), a zalania, wilgotności gleby - elektronikę zalałem klejem na gorąco, czujnik UV jest schowany w obudowie, co do przekaźnika to na ten moment nie używam - być może w przyszłości (na marginesie dodam że są do tego sterownika płytki rozszerzeń z większą ilością przekaźników), adres strony - dokładnie tak: https://www.malinowice.info/ co do pomiaru wilgotności - muszę się przyjrzeć, ostatnio pogoda tego typu z wilgotnością bliską 100%, ale będę obserwował - dało mi to do myślenia..
  9. 1 punkt
    A jeżeli chciałbyś wiedzieć co było nie tak w tym kodzie to to, że za pierwszym razem zmienne rozmiarStrony1 oraz rozmiarStrony2 miały ustawiona wartość i przy kolejnym wprowadzaniu danych te zmienne nie były puste więc nie przypisywało im nowych wartości tylko pozostawiało stare :) w tym kodzie wystarczyło by dodać na końcu pętli czyszczenie tych zmiennych :)
  10. 1 punkt
    Mam wiele pomysłów. To laboratorium jest na strychu, jest tam bardzo gorąco o tej porze roku, planujemy wyposażyć je w klimatyzację, na pewno zamieszczę informacje o ewentualnych sukcesach i udanych projektach, gdy już takie będą. Zamieszczam zdjęcia jak to na razie wygląda.
Tablica liderów jest ustawiona na Warszawa/GMT+02:00
×
×
  • Utwórz nowe...