Nasza firma zleci zaprojektowanie następującego urządzenia:
Sterownik prędkości obrotowej silnika szczotkowego DC oraz bezszczotkowego BLDC. Urządzenie ma być zamknięte w możliwie najmniejszej obudowie ale rozmiar płytki PCB nie może być większy niż 130x80mm. Do sterowania prędkością obrotową oraz wyświetlania wyników pomiarów będzie służył wyświetlacz wraz z pojemnościowym panelem dotykowym.
Wyświetlacz: LCD-AG-C240128D-FHW K/W-E6 PBF
Panel dotykowy: TST0004R3C3111XXXX03
Do panelu mamy dokumentację z opisem protokołu. Zainteresowanym udostępnimy na mail.
Parametry jednostki sterującej:
- Mikrokontroler zarządzający całością STM32F103RBT6 (jeśli potrzeba więcej pamięci FLASH lub przetwornika DAC może to być STM32F103RCT6).
- Na płytce PCB złącze SWD do programowania w dowolnym miejscu i dowolnego typu.
- PCB dwustronne gdzie na warstwie top znajdują się złącza wyświetlacza i panelu dotykowego oraz wszystkie większe elementy. Na warstwie bottom najlepiej aby nie było żadnych elementów w ostateczności zezwalamy umieścić tam jakieś małe elementy typu rezystory lub kondensatory w obudowie 0805.
- Płytka musi mieć złącze pod mikroprzełącznik normalnie otwarty (przełącznik ma nic nie robić jego stan ma być wyświetlany na ekranie)
- Złącza zasilania, silników, oraz mikroprzełącznika to goldpiny jednorzędowe w rastrze 2,54mm THT umieszczone przy krawędzi płytki.
- Elementy elektroniczne w obudowach SMD (jeśli jakiś scalak nie występuje w obudowie SMD tylko THT a jego użycie jest konieczne zezwalamy na to). Elementy pasywne najlepiej w 0805.
- Komunikacja bezprzewodowa z modułem NRF24L01 na dowolnym kanale w dowolnym trybie. Oprogramujemy go sobie sami wystarczy tylko że program udowodni jego prawidłowe działanie poparte odebraniem dowolnych danych z innego modułu NRF24L01 (możemy dostarczyć moduł nadawczy w formie gotowego urządzenia wraz z opisem wysyłanych danych, kanał itd.).
- Zabronione jest używanie jakichkolwiek gotowych „kit-ów”. Jedyny tego typu dozwolony układ to moduł NRF24L01. Reszta obwodów musi być umieszczona bezpośrednio na projektowanym PCB.
- Kluczowe elementy programu muszą być dostępne w postaci łatwych do wywołania funkcji. Przykładowo najważniejsze z nich to: funkcja zaświecająca/gasząca piksel na wyświetlaczu, funkcja wyświetlająca tekst na wyświetlaczu, funkcja sygnalizująca dotknięcie panelu dotykowego (najlepiej aktywowana przerwaniem), funkcja odbioru danych z modułu NRF24L01 9też najlepiej w przerwaniu), odczyt/zapis daty/godziny z RTC.
- Układ musi mieć zegar RTC podtrzymywany bateryjnie (można użyć zegara z STM-a).
Parametry regulatora silnika DC:
- Napięcie zasilające silnik regulowane przetwornicą impulsową (zalecam topologię BUCK ale może być inna) z mikrokontrolera w zakresie 1V-11V i prądzie ciągłym 2A do 5A w impulsie nie dłuższym niż 1s.
- Możliwość otwarcia obwodu zasilającego silnik z poziomu mikrokontrolera (koniecznie półprzewodnikowo nie zgadzamy się na przekaźniki), otwierana linia nie może być linią GND (najlepiej odłączać wyjście przetwornicy tranzystorem).
- Możliwość pomiaru z poziomu mikrokontrolera (ADC) prądu aktualnie płynącego przez silnik z zastrzeżeniem że pomiar nie może odbywać się na linii GND (aplikacja docelowa wymusza zwarcie GND silnika z GND zasilania i całej elektroniki). Najlepiej użyć rezystora bocznikowego w połączeniu z wzmacniaczem różnicowym.
- W układzie zasilania silnika DC musi znajdować się obwód zamieniający szpilki komutacyjne (momenty przejścia szczotek z jednej sekcji komutatora na drugą) na dowolny sygnał prostokątny umożliwiający ich zliczanie przez mikrokontroler. Do obliczania filtrów można przyjąć że prędkość obrotowa silnika będzie mieścić się w zakresie 50-200rps.
- W układzie zasilania silnika DC musi znajdować się obwód pozwalający zgrubnie zmierzyć rezystancje jego uzwojenia (na poziomie około 10 omów najlepiej jakimś krótkim impulsem napięcia na dzielnik rezystorowy którego jednym z rezystorów jest uzwojenie silnika). Obwód musi też być odporny na pomiar zwarcia zamiast uzwojenia musi wtedy rozpoznać że jest to zwarcie (czyli rezystancja w okolicy 0 omów).
- Wszystkie mierzone i zadane parametry (zadane napięcie, płynący prąd, częstotliwość wyładowań komutacyjnych, status silnika [włączony/wyłączony]) muszą być wyświetlane na ekranie. Użytkownik musi mieć możliwość zadania przy pomocy panelu dotykowego napięcia wyjściowego (przyciski + i – z krokiem co 0,5V we wspomnianym wcześniej zakresie napięć) oraz włączenia/wyłączenia silnika (zamknięcia/otwarcia jego obwodu).
- Układ zasilania silnika musi być zbudowany a taki sposób żeby podczas podłączania zasilania do urządzenia w czasie kiedy mikrokontroler jeszcze startuje (jego piny są w stanie wysokiej impedancji) nie pojawiało się niekontrolowane chwilowe zakręcenie silnikiem (prawidłowa wstępna polaryzacja bramki MOS-FET-a wraz z kondensatorami filtrującymi.
Parametry regulator silnika BLDC:
- Silnik będzie silnikiem bezczujnikowym więc trzeba do niego zaprojektować odpowiedni układ sterowania i wykrywania momentów komutacji. Zalecamy obwód wykrywania przejścia przez zero oparty na pomiarze back EMF. Zakres prędkości obrotowych 50-200rps. Silnik będzie startował pod obciążeniem około 50% jego nominalnego momentu obrotowego. Należy dobrać do tego zakresu możliwie optymalną strategię sterowania. Do rozważań i obliczeń można przyjąć że cykl pracy silnika wygląda następująco: zadanie prędkości obrotowej, start, 10 minut pracy bez zmiany prędkości, stop, 1 minuta postoju, ponowny start. Tutaj cykl się zamyka. Zmiana obrotów będzie następować średnio co 5 pełnych cykli. Może ona zachodzić zarówno na postoju jak i w trakcie pracy silnika. Do obsługi silnika w razie potrzeby zezwalamy na użycie jakichś łatwo dostępnych układów scalonych lub dodatkowego mikrokontrolera STM z rodziny F1 komunikującego się z mikrokontrolerem głównym (musimy wtedy otrzymać kod źródłowy wsadu oraz należy pamiętać o dodaniu dla niego złącza SWD na płytce).
- Parametry silnika to: prąd ciągły 1A impulsowy 3A, napięcie zasilania 12V, silnik bezszczotkowy, bezczujnikowy 3-przewodowy.
- Użytkownik przy pomocy panelu dotykowego zadaje prędkość obrotową przyciskami + i – z krokiem 5rps oraz ma możliwość uruchomienia i zatrzymania pracy silnika.
- Na wyświetlaczu wyświetla się zadana oraz rzeczywista prędkość obrotowa (nie jest istotne ile sekcji magnetycznych ma silnik i czy wyświetlana prędkość jest rzeczywista nasz informatyk pomnoży ją przez odpowiedni skalar zależny od ilości sekcji tak aby w późniejszym czasie wyświetlany wynik był prawidłowy). Dodatkowo wyświetlane są najważniejsze punkty strategii sterowania i rozruchu (np. ustalanie pozycji początkowej, rozruch, praca).
- W układzie zasilania silnika musi znajdować się obwód pozwalający zgrubnie zmierzyć rezystancje jednego z jego uzwojeń (dowolnego wybranego przez projektanta układu na poziomie około 10 omów najlepiej jakimś krótkim impulsem napięcia na dzielnik rezystorowy którego jednym z rezystorów jest uzwojenie silnika). Obwód musi też być odporny na pomiar zwarcia zamiast uzwojenia musi wtedy rozpoznać że jest to zwarcie (czyli rezystancja w okolicy 0 omów).
W celu finalizacji zlecenia zleceniobiorca dostarcza:
- schemat urządzenia z opisanymi wszystkimi wartościami/symbolami elementów (Eagle)
- projekt płytki PCB (Eagle)
- sztukę prototypową z działającą pełną funkcjonalnością z opisu (wyświetlacz i panel dotykowy ze złączami oraz silniki i moduły NRF24L01 do testów dostarczy nasza firma), serce programu napisze nasz informatyk rozwijając dostarczone oprogramowanie
- źródło programu (CoIDE lub Workbench preferowany CoIDE (CooCox))
Prosimy tylko poważne oferty na PW wraz z wstępną wyceną projektu. Jeśli nie jesteś pewien czy podołasz oszczędź swój i nasz czas. W razie dodatkowych pytań proszę o kontakt przez PW a podam nr telefonu. Jeśli zajdzie potrzeba pomożemy w realizacji projektu (mamy już pewne doświadczenie w tych układach) kosztem niższej ceny wykonania.
Czas realizacji: 30 dni roboczych (do negocjacji).
Budżet: czekam na oferty.
Forma płatności: umowa o dzieło lub faktura (przedpłaty ustalimy jak poznamy kwotę).
Kontakt: wstępnie przez PW później telefonicznie/mailowo
Sterownik prędkości obrotowej silnika szczotkowego DC oraz bezszczotkowego BLDC. Urządzenie ma być zamknięte w możliwie najmniejszej obudowie ale rozmiar płytki PCB nie może być większy niż 130x80mm. Do sterowania prędkością obrotową oraz wyświetlania wyników pomiarów będzie służył wyświetlacz wraz z pojemnościowym panelem dotykowym.
Wyświetlacz: LCD-AG-C240128D-FHW K/W-E6 PBF
Panel dotykowy: TST0004R3C3111XXXX03
Do panelu mamy dokumentację z opisem protokołu. Zainteresowanym udostępnimy na mail.
Parametry jednostki sterującej:
- Mikrokontroler zarządzający całością STM32F103RBT6 (jeśli potrzeba więcej pamięci FLASH lub przetwornika DAC może to być STM32F103RCT6).
- Na płytce PCB złącze SWD do programowania w dowolnym miejscu i dowolnego typu.
- PCB dwustronne gdzie na warstwie top znajdują się złącza wyświetlacza i panelu dotykowego oraz wszystkie większe elementy. Na warstwie bottom najlepiej aby nie było żadnych elementów w ostateczności zezwalamy umieścić tam jakieś małe elementy typu rezystory lub kondensatory w obudowie 0805.
- Płytka musi mieć złącze pod mikroprzełącznik normalnie otwarty (przełącznik ma nic nie robić jego stan ma być wyświetlany na ekranie)
- Złącza zasilania, silników, oraz mikroprzełącznika to goldpiny jednorzędowe w rastrze 2,54mm THT umieszczone przy krawędzi płytki.
- Elementy elektroniczne w obudowach SMD (jeśli jakiś scalak nie występuje w obudowie SMD tylko THT a jego użycie jest konieczne zezwalamy na to). Elementy pasywne najlepiej w 0805.
- Komunikacja bezprzewodowa z modułem NRF24L01 na dowolnym kanale w dowolnym trybie. Oprogramujemy go sobie sami wystarczy tylko że program udowodni jego prawidłowe działanie poparte odebraniem dowolnych danych z innego modułu NRF24L01 (możemy dostarczyć moduł nadawczy w formie gotowego urządzenia wraz z opisem wysyłanych danych, kanał itd.).
- Zabronione jest używanie jakichkolwiek gotowych „kit-ów”. Jedyny tego typu dozwolony układ to moduł NRF24L01. Reszta obwodów musi być umieszczona bezpośrednio na projektowanym PCB.
- Kluczowe elementy programu muszą być dostępne w postaci łatwych do wywołania funkcji. Przykładowo najważniejsze z nich to: funkcja zaświecająca/gasząca piksel na wyświetlaczu, funkcja wyświetlająca tekst na wyświetlaczu, funkcja sygnalizująca dotknięcie panelu dotykowego (najlepiej aktywowana przerwaniem), funkcja odbioru danych z modułu NRF24L01 9też najlepiej w przerwaniu), odczyt/zapis daty/godziny z RTC.
- Układ musi mieć zegar RTC podtrzymywany bateryjnie (można użyć zegara z STM-a).
Parametry regulatora silnika DC:
- Napięcie zasilające silnik regulowane przetwornicą impulsową (zalecam topologię BUCK ale może być inna) z mikrokontrolera w zakresie 1V-11V i prądzie ciągłym 2A do 5A w impulsie nie dłuższym niż 1s.
- Możliwość otwarcia obwodu zasilającego silnik z poziomu mikrokontrolera (koniecznie półprzewodnikowo nie zgadzamy się na przekaźniki), otwierana linia nie może być linią GND (najlepiej odłączać wyjście przetwornicy tranzystorem).
- Możliwość pomiaru z poziomu mikrokontrolera (ADC) prądu aktualnie płynącego przez silnik z zastrzeżeniem że pomiar nie może odbywać się na linii GND (aplikacja docelowa wymusza zwarcie GND silnika z GND zasilania i całej elektroniki). Najlepiej użyć rezystora bocznikowego w połączeniu z wzmacniaczem różnicowym.
- W układzie zasilania silnika DC musi znajdować się obwód zamieniający szpilki komutacyjne (momenty przejścia szczotek z jednej sekcji komutatora na drugą) na dowolny sygnał prostokątny umożliwiający ich zliczanie przez mikrokontroler. Do obliczania filtrów można przyjąć że prędkość obrotowa silnika będzie mieścić się w zakresie 50-200rps.
- W układzie zasilania silnika DC musi znajdować się obwód pozwalający zgrubnie zmierzyć rezystancje jego uzwojenia (na poziomie około 10 omów najlepiej jakimś krótkim impulsem napięcia na dzielnik rezystorowy którego jednym z rezystorów jest uzwojenie silnika). Obwód musi też być odporny na pomiar zwarcia zamiast uzwojenia musi wtedy rozpoznać że jest to zwarcie (czyli rezystancja w okolicy 0 omów).
- Wszystkie mierzone i zadane parametry (zadane napięcie, płynący prąd, częstotliwość wyładowań komutacyjnych, status silnika [włączony/wyłączony]) muszą być wyświetlane na ekranie. Użytkownik musi mieć możliwość zadania przy pomocy panelu dotykowego napięcia wyjściowego (przyciski + i – z krokiem co 0,5V we wspomnianym wcześniej zakresie napięć) oraz włączenia/wyłączenia silnika (zamknięcia/otwarcia jego obwodu).
- Układ zasilania silnika musi być zbudowany a taki sposób żeby podczas podłączania zasilania do urządzenia w czasie kiedy mikrokontroler jeszcze startuje (jego piny są w stanie wysokiej impedancji) nie pojawiało się niekontrolowane chwilowe zakręcenie silnikiem (prawidłowa wstępna polaryzacja bramki MOS-FET-a wraz z kondensatorami filtrującymi.
Parametry regulator silnika BLDC:
- Silnik będzie silnikiem bezczujnikowym więc trzeba do niego zaprojektować odpowiedni układ sterowania i wykrywania momentów komutacji. Zalecamy obwód wykrywania przejścia przez zero oparty na pomiarze back EMF. Zakres prędkości obrotowych 50-200rps. Silnik będzie startował pod obciążeniem około 50% jego nominalnego momentu obrotowego. Należy dobrać do tego zakresu możliwie optymalną strategię sterowania. Do rozważań i obliczeń można przyjąć że cykl pracy silnika wygląda następująco: zadanie prędkości obrotowej, start, 10 minut pracy bez zmiany prędkości, stop, 1 minuta postoju, ponowny start. Tutaj cykl się zamyka. Zmiana obrotów będzie następować średnio co 5 pełnych cykli. Może ona zachodzić zarówno na postoju jak i w trakcie pracy silnika. Do obsługi silnika w razie potrzeby zezwalamy na użycie jakichś łatwo dostępnych układów scalonych lub dodatkowego mikrokontrolera STM z rodziny F1 komunikującego się z mikrokontrolerem głównym (musimy wtedy otrzymać kod źródłowy wsadu oraz należy pamiętać o dodaniu dla niego złącza SWD na płytce).
- Parametry silnika to: prąd ciągły 1A impulsowy 3A, napięcie zasilania 12V, silnik bezszczotkowy, bezczujnikowy 3-przewodowy.
- Użytkownik przy pomocy panelu dotykowego zadaje prędkość obrotową przyciskami + i – z krokiem 5rps oraz ma możliwość uruchomienia i zatrzymania pracy silnika.
- Na wyświetlaczu wyświetla się zadana oraz rzeczywista prędkość obrotowa (nie jest istotne ile sekcji magnetycznych ma silnik i czy wyświetlana prędkość jest rzeczywista nasz informatyk pomnoży ją przez odpowiedni skalar zależny od ilości sekcji tak aby w późniejszym czasie wyświetlany wynik był prawidłowy). Dodatkowo wyświetlane są najważniejsze punkty strategii sterowania i rozruchu (np. ustalanie pozycji początkowej, rozruch, praca).
- W układzie zasilania silnika musi znajdować się obwód pozwalający zgrubnie zmierzyć rezystancje jednego z jego uzwojeń (dowolnego wybranego przez projektanta układu na poziomie około 10 omów najlepiej jakimś krótkim impulsem napięcia na dzielnik rezystorowy którego jednym z rezystorów jest uzwojenie silnika). Obwód musi też być odporny na pomiar zwarcia zamiast uzwojenia musi wtedy rozpoznać że jest to zwarcie (czyli rezystancja w okolicy 0 omów).
W celu finalizacji zlecenia zleceniobiorca dostarcza:
- schemat urządzenia z opisanymi wszystkimi wartościami/symbolami elementów (Eagle)
- projekt płytki PCB (Eagle)
- sztukę prototypową z działającą pełną funkcjonalnością z opisu (wyświetlacz i panel dotykowy ze złączami oraz silniki i moduły NRF24L01 do testów dostarczy nasza firma), serce programu napisze nasz informatyk rozwijając dostarczone oprogramowanie
- źródło programu (CoIDE lub Workbench preferowany CoIDE (CooCox))
Prosimy tylko poważne oferty na PW wraz z wstępną wyceną projektu. Jeśli nie jesteś pewien czy podołasz oszczędź swój i nasz czas. W razie dodatkowych pytań proszę o kontakt przez PW a podam nr telefonu. Jeśli zajdzie potrzeba pomożemy w realizacji projektu (mamy już pewne doświadczenie w tych układach) kosztem niższej ceny wykonania.
Czas realizacji: 30 dni roboczych (do negocjacji).
Budżet: czekam na oferty.
Forma płatności: umowa o dzieło lub faktura (przedpłaty ustalimy jak poznamy kwotę).
Kontakt: wstępnie przez PW później telefonicznie/mailowo