Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'sterownik'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

Znaleziono 14 wyników

  1. Cześć, jestem kompletnie zielony, jeżeli chodzi o elektronikę, napędy itp itd, dlatego szukam podpowiedzi. Co chcę zrobić: Chodzi mi po głowie zrobienie wózka golfowego (dokładniej disc golfowego) z napędem elektrycznym zasilanym z akumulatora. Zdjęcie poglądowe obrazujące jak taki typowy wózek bez napędu wygląda. Założenia: - Prędkość wspomagania około 6km/h, - możliwość zmiany kierunku ruchu (wózek można ciągnąć za sobą lub pchać przed sobą). - wygodny sposób na zmianę, uruchomienie wspomagania (najlepiej w rączce wózka), - rurka z uchwytem do ciągnięcia potencjalnie będzie składana Pomoc: Jak już wcześniej wspominałem, jestem kompletnie zielony. To co mi przychodzi na myśl to kupienie koła z napędem od hulajnogi elektrycznej, zamontować je po środku ośki i przenosić napęd na większe koła na bokach. Zależy mi na tym żeby dać większe koła, ponieważ teren po jakim będzie się poruszał może być trudny. Być może znacie lepsze rozwiązanie jak nadać napęd na koła bez wykorzystania koła od hulajnogi. Dodatkowo pomysł jak ograć sterownik ograniczający prędkość do 6km/h, może jakiś ekranik z możliwością ustawiania np 5 albo 7 kmh? Będę bardzo wdzięczny za jakieś podpowiedzi, czego szukać, jakich haseł wpisywać itp. Dzieki!
  2. Witam, Mam różnego rodzaju silniki krokowe, które chciałbym uruchomić. Dla przykładu taki: B2231188B Wiem, że do silników krokowych konieczne są sterowniki. W kopiarce silniki były podłączone do różnego rodzaju PCB na których znajdowały się sterowniki jak np. SLA7077MR Czy takie sterowniki (jak ten podany powyżej dla przykładu) można wykorzystać do uruchomienia silnika? Czy taki sterownik musi posiadać dodatkowy układ, który to będzie z kolei sterować sterownikiem? 🤪 Posiadam różnego rodzaju silniki oraz sterowniki podobne do tych podanych w przykładach powyżej. Proszę się nie sugerować tym, że ten konkretny silnik chciałbym uruchomić tym konkretnym sterownikiem bo być może akurat te do siebie nie pasują.
  3. Jestem na lekcji 3 z kursu STM32 F1 HAL i próbując pobrać sterowniki z linku podanego w kursie na stronie producenta po kliknięciu w link z maila wyskakuje mi error 403. Miał może ktoś podobny problem? Z Góry dzięki za odpowiedź.
  4. Sprzedam sterowniki firmy MIDDEX B900624. Cena za szt. 70 PLN. Kontakt tel.: 798 415 578
  5. Dzień dobry, posiadam silnik krokowy o takiej specyfikacji: Rozdzielczość: 200 kroków/obr (1,8 °) Napięcie znamionowe: 3,25 V Pobór prądu na cewkę: 2,5 A Rezystancja cewki 1,3 Ω Indukcyjność uzwojenia: 4,2 mH Moment trzymający 11,2 kg*cm (1,1 Nm) Wyprowadzenia: bipolarne (cztery przewody) Oraz sterownik TB67S249FTG - Pololu 2973 Specyfikacja. Czy możliwe jest odpowiednie zasilenie tego silnika przez ten sterownik? Nie jestem pewna, ponieważ sterownik jest zasilany minimalnym napięciem 10V, a silnik ma znacznie mniejsze napięcie znamionowe.
  6. Zamysł: „ATMEGA” jako PLC. Wszystko zaczęło się od chęci programowania/użycia sterownika PLC w domowych warunkach do prostych automatyzacji. Jednakże oryginalne sterowniki PLC są drogie. Nawet jeżeli ktoś by się zdecydował na jego zakup to nie wykorzystał by jego możliwości. Postanowiłem więc zbudować coś co może przypominać sterownik PLC i nie tylko przypominać, ale także działać na tej samej zasadzie. Jak wiemy sterowniki PLC najczęściej programuje się w języku „LD” co może być problemem przy programowaniu mikrokontrolerów AVR. Jednak je programujemy w języku „C”, czyli języku, który jest najbardziej popularny oraz oczekiwany w dziedzinie programowania. Istnieją programy które przetworzą nam program napisany w języku „LD” na „C” lecz do samego programowania mojego projektu nie jest to konieczne jedynie, gdzie widzę sens użycia takiego programu to programowanie sterownika przez inną osobę, która nie zna języka „C”. Jest to urządzenie z dużym potencjałem mam tutaj na myśli „nieograniczoną” możliwość rozbudowy i przystosowania do samego użytkownika. Cenowo tutaj nie będę porównywał, bo nie ma żadnego porównania, tak samo jak do prawdziwego sterownika PLC który to już długi czas króluje na rynku i ciągle się rozwija. Reasumując „ATMEGA” jako PLC jest bardzo ciekawym, tanim projektem, który możemy wykorzystać w naszych domach do sterowania prostych oraz średniozaawansowanych czynności. Budowa: Wszystkie połączenia oraz schemat płytki drukowanej wykonałem w programie EasyEDA. Następnie ścieżki wydrukowałem na papierze kredowym i odbiłem je na laminacie poprzez termo-transfer. Następnie wytrawiłem płytkę oraz wywierciłem otwory pod elementy przewlekane. Zacząłem lutować elementy, na samym początku przylutowałem wszystkie elementy potrzebne do zaprogramowania oraz uruchomienia mikrokontrolera oraz tylko jedno wyjście(przekaźnik). Po wypróbowaniu czy wszystko działa zgodnie z założeniem przylutowałem resztę elementów. Tak wiem nie wyczyściłem pytki. Następną czynnością było zaprojektowanie i wydrukowanie obudowy na płytkę i złożenie w całość. Dodałem opisy na obudowie jak wszystko powinno być podłączone. Przyszedł czas na testy. Wgrałem prosty program działający na zasadzie: jeśli podamy stan wysoki na wejście I1 załączy się wyjście Q1 po odłączeniu stanu wysokiego i po ponownym jego podaniu na wejście I1 spowoduje wyłączenie wyjścia Q1. Jeśli podamy stan wysoki na wejście I2 wyjście Q1 załączy się i wyłączy po 5 sekundach. Nie chodzi tu o zagłębianie się w sens tego programu tylko chodzi o pokazanie działania urządzenia. Filmik pokazujący działanie układu: ⚠️UWAGA! W filmiku zostało użyte wysokie napięcie które jest niebezpieczne dla zdrowia i życia.⚠️ Działania na rozwój projektu: W dalszym rozwoju projektu chciałbym dodać dodatkowe funkcje. Jedną z nich jest umożliwienie odczytu analogowych wartości z wejść urządzeń działających na logikę 5V takich jak: Potencjometr Fotorezystory Czujniki temperatury Dodanie wyjść PWM do sterowania prędkościami silników oraz natężeniem światła. Dodanie magistrali I2C do komunikacji np. pomiędzy kontrolerem a wyświetlaczem oraz innymi urządzeniami, które obsługują tą magistrale. Zmniejszeniem rozmiaru płytki drukowanej. Dodanie innych wersji sterowników np. 2 wejścia i 2 wyjścia do sterowania prostymi urządzeniami. Dodanie modułu Wi-Fi poprzez który będzie można odczytywać informacje dotyczące np. temperatury i zmieniać ustawienia z każdego miejsca, gdzie będziemy mieli dostęp do Internetu poprzez aplikację. Spis elementów elektronicznych:
  7. Cześć. Chciałbym zaprezentować projekt sterownika pieca dwufuncyjnego na paliwo ciekłe - gaz ziemny. Założenia projektowe: utrzymanie zadanej temperatury w pomieszczeniu/ mieszkaniu w okresie zimowym; wyświetlanie temperatur pomieszczenia, nastaw, godziny daty, stanu pracy pieca. BOM:arduino uno, serwo modelarskie sg90, czujnik temperatury lm335, wyświetlacz LCD 1.8" ST7735 waveshare, zegar rtc, obudowa wydruk 3d, materiał easy PET-G, zasilacz 9V DC, śruby, nakrętki, magnesy neodymowe. Działanie: urządzenie mierzy temperaturę otoczenia a następnie dostosowuje położenie pokrętła w celu załączania pieca. Jest to rozwiązanie najmniej ingerujące w jego działanie. Wykorzystanie przekaźnika przerywającego zasilanie powoduje natychmiastowe wyłącznenie pompy. Powyższe rozwiązanie powoduje tylko przekręcenie pokrętła do pozycji "0", przez co piec wygasza się zgodnie ze swoim cyklem pracy. Modyfikacja w piecu polegała na wymontowaniu oryginalnego pokrętła i włożeniu w jego miejsce ramienia połączonego z serwomechanizmem. Całość zmontowano w samodzielnie zaprojektowanej obudowie, wydrukowanej w technologii 3d. Korpus utrzymywał się na obudowie pieca za pomocą magnesów neodymowych, przez co nie ma konieczności wiercenia otworów.
  8. Dzień dobry, Próbuję stworzyć platformę jeżdżącą dzięki dwóm silnikom DC sterowanym dzięki sterownikowi TB 6612 FNG. Resztę czujników mam oprogramowaną, brakuje mi tylko właśnie tego stesrownika z DC Silniki: https://botland.com.pl/pl/silniki-dc-katowe-z-przekladnia/3696-kolo-silnik-65x26mm-5v-z-przekladnia-481.html Sterownik: https://botland.com.pl/pl/sterowniki-silnikow-moduly/32-pololu-tb6612fng-dwukanalowy-sterownik-silnikow-135v1a.html Zdjęcie sterownika: Sterownik - Pin z arduino do którego jest wpięty PWMA - Digital 5 AIN2 - Digital 7 AIN1 - Digital 6 PWMB - Digital 10 BIN2 - Digital 9 BIN1 - Digital 8 STBY - Digital 13 Wszystkie GND - GND VCC - 5V z arduino. A/B[01/02] -- silniki VMOT - 5V z arduino Kod: #include <SparkFun_TB6612.h> //Motor 1 int pinAIN1 = 6; //Direction int pinAIN2 = 7; //Direction int pinPWMA = 5; //Speed //Motor 2 int pinBIN1 = 8; //Direction int pinBIN2 = 9; //Direction int pinPWMB = 10; //Speed //Standby int pinSTBY = 13; //Constants to help remember the parameters static boolean turnCW = 0; //for motorDrive function static boolean turnCCW = 1; //for motorDrive function static boolean motor1 = 0; //for motorDrive, motorStop, motorBrake functions static boolean motor2 = 1; //for motorDrive, motorStop, motorBrake functions void setup() { //Set the PIN Modes pinMode(pinPWMA, OUTPUT); pinMode(pinAIN1, OUTPUT); pinMode(pinAIN2, OUTPUT); pinMode(pinPWMB, OUTPUT); pinMode(pinBIN1, OUTPUT); pinMode(pinBIN2, OUTPUT); pinMode(pinSTBY, OUTPUT); } void loop() { //Drive both motors CW, full speed motorDrive(motor1, turnCW, 255); motorDrive(motor2, turnCW, 255); //Keep driving for 2 secs delay(2000); //Turn towards motor1: Stop Motor1, slow Motor2 motorStop(motor1); motorDrive(motor2, turnCW, 192); //Keep turning for 2 secs delay(2000); //Turn in opposite direction: Stop Motor2, slow Motor1 motorDrive(motor1, turnCW, 192); delay(250); motorStop(motor2); //Keep turning for 2 secs delay(2000); //Straighten up motorDrive(motor2, turnCW, 192); delay(500); //Put motors into Standby motorsStandby(); delay(1000); //Do a tight turn towards motor1: Motor2 forward, Motor1 reverse motorDrive(motor1, turnCCW, 192); motorDrive(motor2, turnCW, 192); //Keep turning for 2 secs delay(2000); //Apply Brakes, then into Standby motorBrake(motor1); motorBrake(motor2); motorsStandby(); //Stand still for 5 secs, then we do it all over again... delay(5000); } void motorDrive(boolean motorNumber, boolean motorDirection, int motorSpeed) { /* This Drives a specified motor, in a specific direction, at a specified speed: - motorNumber: motor1 or motor2 ---> Motor 1 or Motor 2 - motorDirection: turnCW or turnCCW ---> clockwise or counter-clockwise - motorSpeed: 0 to 255 ---> 0 = stop / 255 = fast */ boolean pinIn1; //Relates to AIN1 or BIN1 (depending on the motor number specified) //Specify the Direction to turn the motor //Clockwise: AIN1/BIN1 = HIGH and AIN2/BIN2 = LOW //Counter-Clockwise: AIN1/BIN1 = LOW and AIN2/BIN2 = HIGH if (motorDirection == turnCW) pinIn1 = HIGH; else pinIn1 = LOW; //Select the motor to turn, and set the direction and the speed if(motorNumber == motor1) { digitalWrite(pinAIN1, pinIn1); digitalWrite(pinAIN2, !pinIn1); //This is the opposite of the AIN1 analogWrite(pinPWMA, motorSpeed); } else { digitalWrite(pinBIN1, pinIn1); digitalWrite(pinBIN2, !pinIn1); //This is the opposite of the BIN1 analogWrite(pinPWMB, motorSpeed); } //Finally , make sure STBY is disabled - pull it HIGH digitalWrite(pinSTBY, HIGH); } void motorBrake(boolean motorNumber) { /* This "Short Brake"s the specified motor, by setting speed to zero */ if (motorNumber == motor1) analogWrite(pinPWMA, 0); else analogWrite(pinPWMB, 0); } void motorStop(boolean motorNumber) { /* This stops the specified motor by setting both IN pins to LOW */ if (motorNumber == motor1) { digitalWrite(pinAIN1, LOW); digitalWrite(pinAIN2, LOW); } else { digitalWrite(pinBIN1, LOW); digitalWrite(pinBIN2, LOW); } } void motorsStandby() { /* This puts the motors into Standby Mode */ digitalWrite(pinSTBY, LOW); } W kodzie nic nadzwyczajnego nie powinno się znajdować. Korzystam z biblioteki "Sparkfun'a". Sam kodo pochodzi z jego gita. @up kod działa. Jest ok. Piny są podpięte jak w zestawieniu powyżej. Z kodem się zgadzają, z tego co rozumiem ten kod. To silniki powinny się uruchomić, wykonać sekwencję opisane w komentarzach w kodzie i się zatrzymać. Nie mam pojęcia co może być nie tak. Kable do silników są przylutowane. Napięcie w bateriach, na płytce się zgadza, sprawdzone multimetrem. Mogę jeszcze spróbować dać 6V (z 4 paluszków) na sterownik, jako napięcie dla silników i może wtedy ruszy. (Zakres dla sterownika to od 4.5V do 13.5V, na napięcie dla silników). Czy możliwe, że mam złą bibliotekę do sterownika? Próbowałem napisać własne funkcje sterownika. Które ustawiały bity i sterowały silnikami przez mostki na sterowniku (nawiązując do tabelki ze strony 4 ze specyfikacji producenta -> https://www.sparkfun.com/datasheets/Robotics/TB6612FNG.pdf) @up Problem rozwiązałem. Zlutowałem piny w sterowniku (gdzieś w internecie widziałem jak ktoś tak korzystał bez zlutowanych, no mu to jakoś wyszło, nie polecam). Źródło zasilania silników zmieniłem na 4baterie AA, potem na 6baterii AA i zaczęło działać. W razie pytań zapraszam do kontaktu PW. @@up Temat do zamknięcia
  9. Jako że w tym roku moja posiadłość 😉 dorobiła się bramy otwieranej z pilota z sterownikiem HB5 postanowiłem dorobić do niej sterowanie poprzez web’a czyli mój smart home oparty na Domoticzu. Założenia projektu: sterowanie z strony www odczyt stanów bramy (otwieranie, zamykanie, otwarta, zamknięta, stan nieznany) sygnalizacja otwarcia furtki komunikacja poprzez RS485 Użyte elementy: arduino nano Nano Expansion Adapter ESP8266 2x moduł RS485 stepdown do zasilanie arduino nano moduł przekaźników kilka rezystorów Konieczne było zastosowanie drugiego mikrokontrolera ze względu na oddalenie bramy od domu o 100m. Więc zastosowałem Arduino Nano oraz ESP8266. Tak prezentował się biurkowy testowy zestaw: W arduino nano w celu odczytania napięć podawanych na siłowniki oraz stanów krańcówek, zastosowałem dzielniki napięć na rezystorach, które podłączyłem do wejść analogowych. Taki zabieg umożliwia programowe ustawienie poziomów przy których ma nastąpić wykrycie zmiany stanu oraz przekazanie danych do drugiego mikrokontrolera. Do komunikacji poprzez RS485 została wykorzystana biblioteka RS485_protocol.h oraz SoftwareSerial.h. Dane wysyłane są jako tablica pierwsza wartość to adres urządzenia a druga i trzecia to wartość którą chcemy przesłać na drugą stronę. ESP8266 po odebraniu danych wysyła je do domoticza, ustawiając odpowiednie wartości przełączników i alarmów. Tutaj troszkę odbiegnę od tematu, domoticz ma możliwość wysyłania zdjęć z kamery, wykorzystałem to w ten sposób, że jeśli wykryte zostanie otwarcie furtki to otrzymuję maila z zdjęciem intruza 😉 Komunikacja w drugą stronę odbywa się w najprostszy możliwy sposób, czyli na ESP został uruchomiony prosty web serwer, po otwarciu strony np: http://ip/brama zostaje nawiązana komunikacja z arduino nano i wysłane polecenie otwarcia bramy. Teraz powrócimy jeszcze do Arduino Nano, wyzwolenie otwarcia i zamknięcia bramy następuje poprzez przekaźnik, który podłączony jest w sterowniku HB5 pod wejście przeważnie służące do podłączenia przycisku znajdującego się gdzieś przy bramie. Sterownik HB5 posiada jeszcze kilka fajnych funkcjonalności które warto wykorzystać. 1. Wejście pod fotokomórkę która uniemożliwia zamknięcie bramy jeśli wiązka podczerwienie jest przerwana przez obiekt znajdujący się w bramie. 2. Możliwość podłączenia akumulatorów, niestety żelowe akumulatory nie przeżyły u mnie zimy, więc w tym roku postanowiłem sklecić pakiet z ogniw 18650 6s4p wraz z bms’em który zabezpiecza ogniwa przed nadmiernym rozładowaniem oraz przeładowaniem. Po odłączeniu zasilania brama otwiera się troszkę wolniej niż zazwyczaj ale w sytuacjach awaryjnych to nie przeszkadza. W teorii powinienem zrobić pakiet 7s bo wtedy zakresy napięć pokrywają się z zakresem pracy standardowych akumulatorów żelowych (2x12v), ale cena BMS’a 6s (2$) a 7s (10$) zaważyła o wyborze tańszego rozwiązania, które działa już kilka miesięcy. Standardowo kody źródłowe: Sterownik Brama.zip W razie jakikolwiek pytań, bo temat jest ciekawy i dość obszerny służę pomocą 🙂
  10. Dzień dobry, W swoim pierwszym wpisie, chciałbym przedstawić własną wersję sterownika światła sterowanego za pomocą aplikacji na androida. Sam sterownik składa się z: NodeMCU MODUŁ 2 PRZEKAŹNIKÓW 5V Dwóch przycisków Wspomagając się powyższym rysunkiem, zmontowałem całość korzystając z płytki uniwersalnej. NodeMCU łączy się z lokalną siecią WiFi. Do sterowania wykorzystuje bibliotekę aREST udostępniając funkcje on, off i get przyjmujące jako parametr numer przekaźnika. Kod w wersji skróconej i zdjęcia urządzenia do podejrzenia poniżej. // Rest and esp library #include <ESP8266WiFi.h> #include <aREST.h> // WiFi parameters const char* ssid = "ssid"; const char* password = "password"; const int SWITCH1 = 5; const int SWITCH2 = 16; const int RELAY1 = 12; const int RELAY2 = 14; const unsigned long INTERVAL = 500; bool relay1State = LOW; bool relay2State = LOW; bool switch1State = LOW; bool switch2State = LOW; unsigned long currentMillis = 0; unsigned long switch1Millis = 0; unsigned long switch2Millis = 0; aREST rest = aREST(); const int LISTEN_PORT = 80; WiFiServer server(LISTEN_PORT); int onControl(String value); int offControl(String value); int getControl(String value); void setup(void) { rest.set_id("10"); rest.set_name("Light Switches"); Serial.begin(115200); pinMode(SWITCH1, INPUT); pinMode(SWITCH2, INPUT); pinMode(RELAY1, OUTPUT); pinMode(RELAY2, OUTPUT); digitalWrite(RELAY1, !relay1State); digitalWrite(RELAY2, !relay2State); rest.variable("light1", &relay1State); rest.variable("light2", &relay2State); rest.function("on", onControl); rest.function("off", offControl); rest.function("get", getControl); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("Light Switches connected"); server.begin(); Serial.println("Light Switches address"); Serial.println(WiFi.localIP()); } void loop() { currentMillis = millis(); if (currentMillis - switch1Millis >= INTERVAL && digitalRead(SWITCH1)) { switch1State = !switch1State; if(switch1State==HIGH){ digitalWrite(RELAY1, LOW); relay1State = !LOW; } if(switch1State==LOW){ digitalWrite(RELAY1,HIGH ); relay1State = !HIGH; } switch1Millis = currentMillis; } if (currentMillis - switch2Millis >= INTERVAL && digitalRead(SWITCH2)) { switch2State = !switch2State; if(switch2State==HIGH){ digitalWrite(RELAY2, LOW); relay2State = !LOW; } if(switch2State==LOW){ digitalWrite(RELAY2,HIGH); relay2State = !HIGH; } switch2Millis = currentMillis; } WiFiClient client = server.available(); if (!client) { return; } while (!client.available()) { delay(10); } rest.handle(client); } int onControl(String value) { if (value=="0") { digitalWrite(RELAY1, LOW); relay1State = !LOW; switch1State = HIGH; return 0; } if (value=="1") { digitalWrite(RELAY2, LOW); relay2State = !LOW; switch2State = HIGH; return 0; } return -100; } int offControl(String value) { if (value=="0") { digitalWrite(RELAY1, HIGH); relay1State = !HIGH; switch1State = LOW; return 0; } if (value=="1") { digitalWrite(RELAY2, HIGH); relay2State = !HIGH; switch2State = LOW; return 0; } return -100; } int getControl(String value) { if (value=="0") { return relay1State; } if (value=="1") { return relay2State; } return -100; } Aplikacja składa się z czterech ekranów. Pierwszy to przełączanie żarówki przez przytrzymanie odpowiadającego jej pola na ekranie. Dwa kolejne odpowiadają za włącznie i wyłączenie wszystkich żarówek jednocześnie. Ostatni odpowiada za dodawanie i usuwanie połączeń, czyli wprowadzamy nazwę, adres urządzenia i numer przełącznika. Problemy i dalszy rozwój Jestem zadowolony z działania sterownika jedyny problem, jaki zaobserwowałem to przełączanie się przekaźników podczas podłączania innych urządzeń do przedłużacza, do którego jest wpięty. W aplikacji do bieżącej funkcjonalności chcę dodać włącznie wcześniej zdefiniowanych grup żarówek. I dodać nową funkcjonalności w postaci sterowania taśmami led, możliwość włączenia komputera, a także zakładkę gromadzącą wartości z czujników. Cały kod i aplikacja znajduje się w moim repozytorium
  11. Czesc. Ma ktos ten sterownik: https://botland.com.pl/pl/sterowniki-silnikow-dc/2695-pololu-drv8838-jednokanalowy-sterownik-silnikow-11v17a.html --- Pololu DRV8838? Chcialbym sie dowiedziec jaki ma spadek napiecia na mostku. Napisalem do botlandu lecz oni tez nie wiedza - w nocie katalogowej nie ma takiej informacji. Bawil sie ktos tym sterownikiem? Z gory dzieki.
  12. Chciałbym zaprezentować oraz poddać opinii forumowiczom zaprojektowany przez naszą firmę układ, który to chcemy wprowadzić na rynek. Ktoś mógłby go nazwać uniwersalnym sterownikiem. My określamy go jako Swobodnie Programowalny Moduł Sterowania. Moduł ten może być programowany w języku C (przykładowo Atmel Studio) lub też w Arduino, gdyż układ ten jest zgodny z Arduino Mega2560 oraz dodatkowo używa znacznie więcej nóżek mikrokontrolera niż wykorzystano w rodzimym Arduino Mega2560. W załączniku można znaleźć opis wyprowadzeń płytki. Może zamiast się rozpisywać, przytoczę treść naszej ulotki na temat układu – znajdują się tu wszystkie najważniejsze cechy modułu: ” … Nasz moduł imponuje ilością interfejsów komunikacyjnych przewodowych i bezprzewodowych, mnogością wejść/wyjść cyfrowych i analogowych, wyjść przekaźnikowych oraz peryferiami nietypowymi jak dla tego typu modułów, takimi jak wyjście typu TRIAC, detektor przejścia przez zero, układ pomiaru prądu, wyjścia PWM, karta SD i wiele innych. Dodatkowym atutem naszego modułu jest to, że posiada złącze rozszerzeń, do którego możemy zaprojektować dowolny układ elektroniczny realizujący funkcje wykraczające poza te, które moduł oferuje w standardzie. Nasz układ elektroniczny można bardzo łatwo oprogramować. Wybierając nasz moduł sterowania dostajesz na jednej płycie: - 8 izolowanych wejść cyfrowych 12 – 24 VDC. - 8 izolowanych wyjść cyfrowych o wydajności 0,5 A, polaryzowanych dowolnie. - 6 analogowych wejść 0-10 V lub 0-20 mA. - 2 wyjścia analogowe 0-10 V lub 0-20 mA. - 6 wyjść przekaźnikowych 250 VAC 4 A - 3 przełączalne SPDT i 3 zwierne SPST. - 2 wyjścia PWM kluczujące napięcie zasilania. - 2 wejścia czujników temperatury PT100. - Izolowane wyjście typu TRIAC 250 VAC 10 A. - Detektor przejścia przez zero sinusoidy napięcia sieciowego. - Izolowany kanał analogowy do pomiaru prądu w zakresie od -10 do +10 A. - Przewodowe interfejsy komunikacyjne: RS485, Ethernet 10/100 Mbit, USB, RS232, I2C, SPI, OneWire, UART TTL. - Bezprzewodowe interfejsy komunikacyjne: WiFi i Bluetooth. - Karta microSD. - Wyjście na panel HMI - LCD ze sterownikami rodziny FT8xx. - Zegar czasu rzeczywistego RTC po I2C z podtrzymaniem bateryjnym. - 8 wyprowadzeń mikrokontrolera GPIO z poziomami logicznymi TTL 0-5 VDC. - Możliwość podpięcia klawiatury 4x4 do ww. GPIO. - 3 diody sygnalizacyjne R, G, B. - Zasilanie układu 24 lub 12 VDC ze złącza rozłączalnego lub gniazda 5,5 mm. - Złącze rozszerzeń pozwalające na użycie dowolnego układu elektronicznego z dodatkowymi funkcjonalnościami. - Łatwe wgrywanie firmwareu przez USB. - Języki programowania C, C++. „ Do opisu warto dodać, że widziana matryca zworkowa pozwala na podpinanie do UARTów mikrokontrolera peryferii RS232, RS485, WiFi, Bluetooth, dzięki temu można wybrać UART z którego chcemy korzystać (również dostępny jest UART softwareowy użyty w Arduino). Listwa kołkowa opisana jako 8 x TTL GPIO, to nóżki procesora które oprócz dla optoizolowanych wejść można zamiennie wykorzystać do czegoś innego – przykładowo do podpięcia klawiatury 4x4. Obecnie posiadamy do tego modułu płytkę rozszerzeń na której jest 8 dodatkowych wyjść cyfrowych oraz brzęczyk. Nasz moduł sterowania został doceniony medalem targowym INDUSTRYmeeting 2019. Cieszymy się tym uznaniem. Na końcu postu można znaleźć kilka zdjęć/filmów z akcji – układy pracują w naszej gablocie targowej komunikując się po RS485. Obydwa układy mają podpięte dotykowe wyświetlacze 7 calowe. Ten po lewej robi za panel operatorski na którym można odczytać wartości lub posterować wyjściami tego drugiego modułu, a ten drugi właśnie (po prawej) robi za driver stołu liniowego XY oraz podpięte są do niego wszystkie peryferia wystawy (czujniki temperatury PT100, czujnik pływakowy, czujnik zbliżeniowy, listwa LEDowa pod PWM, rygiel elektromagnetyczny). Stół liniowy XY podąża za pozycją palca na prawym ekranie. Docelowo będziemy dostarczać bibliotek programistycznych do obsługi interfejsów i peryferii. Na ten moment chcielibyśmy zacząć wprowadzać na rynek ten moduł bez docelowej biblioteki, ale publikując przykłady obsługi peryferii. Największą wątpliwość jaką mamy, to taka czy wprowadzać urządzenie na rynek w stanie takim jakie jest, czy też wyposażyć go w bardziej wydajny mikrokontroler. Z drugiej jednak strony, obecnie zastosowany mikrokontroler ATmega2560 z komunikacją USB za pośrednictwem ATmega16U2 czyni nasz moduł atrakcyjnym dla sympatyków Arduino, jako że ten zestaw jest bardzo podobny do rodzimego Arduino MEGA2560 a nawet wyposażony w znacznie więcej niż ten rodzimy. Bylibyśmy wdzięczni za szczere i grzeczne opinie, na zasadzie takiej czy ktoś uważa, że nasz moduł może mieć zainteresowanie na rynku czy też nie i co myśli na temat wydajności z zastosowanym mikrokontrolerem. Zastosowany mikrokontroler może i nie kwalifikuje modułu sterującego do demonów prędkości, ale daje za to łatwość programowania a wydajność procesora mimo iż niższa od (przykładowo) 32 bitowych ARMów to i tak powinna zaspokoić wespół z liczebnymi peryferiami płytki szerokie spektrum zastosowań. Co o tym wszystkim myślicie? Gdyby też ktoś był zainteresowany dostępnością naszego modułu to jesteśmy w stanie dostarczyć takie moduły jeszcze ”przedpremierowo” czyli zanim wprowadzimy je oficjalnie na rynek. Link do filmiku naszych układów sterowania przedstawiający je w akcji:
  13. Witam jestem nowy na forum i potrzebuję pomocy. Otóz robię projekt na studia i mam do wykonania stól obrotowy na wałku o średnicy 2cm który ma być napędzany silnikiem krokowym. Moje pytaie brzmi jak dobrać silnik i sterownik silnika gdyż nie rozumiem za bardzo podłączenia np. silnik krokowy zasilany napięciem 3,25V 1,18Nm a sterownik do niego polecają z botlandu zasilany napieciem 8V-35V jak to jest w kwesti podłączenia na zdjęciu poniżej w załączniku, zasilam np, sterownik 12V na motor power supply i logicznie daje mu 5V z arduino na sterowanie a na silnik jakie napięcie wyjdzie?
  14. Witajcie Chciałbym przedstawić tu swój projekt Sterownika do akwarium pracującego w systemie automatyki domowej opartej na Domoticzu. Pomysł i historia projektu Ponad rok temu wpadliśmy z żoną na pomysł założenia akwarium, pomysł jak pomysł, ale im więcej czytałem tym więcej kombinowałem, a jako że jestem elektronikiem to i pomysłów przybywało mi z każdym dniem 🙂 Pierwsza próba budowy sterownika polegała na wykorzystaniu Arduino nano i stworzeniu samodzielnego układu pracującego lokalnie. Tyle że już w trakcie pisania kodu stwierdziłem że sterowanie sterowaniem, ale fajnie by było móc zrobić coś zdalnie, a przede wszystkim móc sprawdzić zdalnie co dzieje się w akwarium (temperatura, stan lamp itp). Tak zaczęła się moja przygoda z Domoticzem i szeroko pojętym IoT. Opis projektu Sam sterownik zbudowany jest na Arduino Pro mini, natomiast do komunikacji z serwerem wykorzystana jest platforma Mysensors zbudowana na modułach NRF24L01. Jak wcześniej pisałem sterownik pracuje w systemie mojej domowej automatyki opartej o serwer Domoticza, pracujący na RaspberryPi 3B. Na chwile obecną sterownik realizuje następujące funkcje: cztery kanały ON/OFF (przekaźniki 10A 250V), sterowanie: grzałka, filtr, falownik, chłodzenie (wentylatory w pokrywie). Z uwagi na bezpieczeństwo mieszkańców akwarium filtr podpięty jest pod styki NC przekaźnika, tzn, domyślnie jest on włączony, a możemy go wyłączyć. 16 kanałów PWM (z tranzystorami IRF520 jako elementy wykonawcze), sterowanie lampami LED, ściemnianie podświetlenia wyświetlacza, sterownie pracą falownika, rezerwa. funkcja "Karmienie" i "Serwis", załączane z lokalnej klawiatury, pierwsza umożliwia czasowe (5min) wyłączenie filtra, falownika i wentylatorów, druga umożliwia wyłączenie trybu automatyki i przejście w tryb serwisowy (przydatne przy pracach porządkowych w zbiorniku). pomiar temperatury w akwarium (czujniki DS18B20), układ zrobiony jest tak że może obsłużyć nieskończenie wiele termometrów, w praktyce w mniejszym zbiorniku mam 2 w większym 3 i to wystarcza. Dodatkowo można wybrać czy automatyka sterowania grzaniem/chłodzeniem korzysta z jednego z termometrów czy z wartości średniej wszystkich wskazań. zabezpieczenie przed przegrzaniem i wychłodzeniem wody (bezwarunkowe wyłączenie/włączenie grzania/chłodzenia w temperaturach skrajnych) pomiar temperatury zewnętrznej pomiar poziomu oświetlenia zewnętrznego Schemat blokowy sterownika przedstawiam na poniższym rysunku Jak widać większość układów pracuje na magistrali I2C, sprawia to że całość jest projektem rozwojowym, a wszelkie możliwe dodatkowe funkcje ograniczone są tylko wyobraźnią i.... pojemnością pamięci wykorzystanego Arduino 😉 Kanały PWM zrealizowane są na module PCA 9685, a jako elementy wykonawcze służą tranzystory IRF520 (oczywiście można zastosować inne MOSFETy), moduł z przekaźnikami podłączony jest do magistrali I2C poprzez expander PCF8574. Zarządzanie sterownikiem Podstawowe sterowanie pracą sterownika możliwe jest z lokalnej klawiatury, natomiast i informacje o pracy sterownika (temperatura, czas, poziom światła poszczególnych kanałów LED, stan urządzeń wykonawczych itp) wyświetlane są bezpośrednio na wyświetlaczu LCD 20x4. Pełne sterownie możliwe jest poprzez serwer Domoticza, za pośrednictwem strony www (poniżej przykładowy zrzut ekranu) i/lub aplikacji na androida. Teraz czas na kilka zdjęć elementów sterownika: Moduł arduino z przetwornica 3,3V, expanderem PCF 8574 i modułem NRF24L01 zmontowane są na płytce uniwersalnej, która osadzona jest na module przekaźników tworząc "kanapkę" Widok "kanapki" płytki uniwersalnej z arduino i modułu z przekaźnikami Moduł wykonawczy na tranzystorach IRF (sześć kanałów do sterowania lampami LED) Moduł przekaźników Wyświetlacz LCD Problemy napotkane przy realizacji projektu konieczne było wymuszenie niższej częstotliwości pracy platformy mysensors z powodu zegara jakim taktowane jest zastosowane arduino niestabilna praca modułów NRF, konieczne było dodanie elektrolitów (dałem 330u bo takie miałem :)) jak najbliżej pinów zasilających modułu (lutowałem bezpośrednio na tych pinach) okresowe zawieszanie i/lub przekłamanie odczytu temperatury z termometrów DS18B20, nie doszedłem przyczyny, wiec dodałem możliwość zdalnego resetu arduino (wiem że to tylko zaleczenie problemu a nie rozwiązanie, ale tymczasowo zdaje egzamin) zbyt małą pamięć programu zastosowanego modułu arduino, zastanawiam się czy nie przejść na ESP8266 z EasyESP konieczność zbudowania obudowy 😉
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.