Skocz do zawartości

rafisoltys

Użytkownicy
  • Zawartość

    28
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O rafisoltys

  • Ranga
    3/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Pl
  • Zainteresowania
    Elektronika
  1. Prawo Kirchhoffa … Wstyd mi … @marek1707 Dziękuję za pomoc.
  2. Nie ma konkretnego czujnika którego sygnał chciałbym analizować. Założenie jest takie, aby zrobić to bezinwazyjne tj. bez nacinania izolacji przewodu, czy odpinania wtyczki. Chciałbym wykorzystać sygnał generowany przez jakikolwiek czujnik indukcyjny bądź czujnik Halla do swoich potrzeb, bez zakłócania pracy układu do którego jest on podłączony. Docelowo chciałbym zbudować urządzenie, które (podobnie jak w multimetrze ze szczypcami do pomiaru prądu) będzie nakładane na przewód i pozwoli mi niejako skopiować sygnał analogowy. Jaka jest dolna granica wartości prądu, która da się odczytać w taki sposób ? Czy w ogóle da sie tak "skopiować" sygnał analogowy ?
  3. Witajcie, Chciałbym "podsłuchać" sygnał z czujnika prędkości obrotowej (czujnika indukcyjnego, bądź Halla). Ze względu na to, ze chciałbym to zrobić bezinwazyjne zastanawiałem się nad możliwością wykorzystania czujnika prądu nakładanego na przewód. Istnieją w ogóle czujniki zdolne do odczytania tak niewielkich zmian sygnału ? Może ktoś z forumowiczów ma doświadczenie z tego typu układami ?
  4. Zdecydowałem się na RS485. Konwertery UART <-> RS485 to groszowe sprawy, a aspekt dydaktyczny wydaje się niezwykle kuszący. Wersja 2.0 układu zakłada, że za pomocą prostego interfejsu będę mógł wprowadzić do programu takie informacje: - Wydatek w gramach na 1 obrót (Procedura wykonująca 100 obrotów wałkiem uruchamiana z interfejsu, a następnie ręczne wprowadzenie wagi nasion); - Ustawienie szerokości roboczej agregatu siewnego (w cm); - oraz co wydaje mi się najtrudniejsze chciałbym zastosować regulator, który po wprowadzeniu wydatku g/obr, szerokości roboczej i prędkości (z ISOBUS) tak będzie sterował prędkością obrotową silnika, żeby osiągnąć odpowiedni wydatek na hektar. Tutaj potrzebował będę jeszcze enkoder do prędkości obrotowej wałka. Chciałbym, aby wprowadzone wartości byly przesłane do uC sterującego silnikiem tylko raz podczas konfiguracji układu. Komunikacja w drugą stronę obejmować będzie jedynie przesłanie wartości prędkości pojazdu, prądu pobieranego przez silnik oraz temperatury. Maksymalnie 5 zmiennych. Dodam, że program uC interfejsu mam już po części przygotowany. #include <Wire.h> // standardowa biblioteka Arduino #include <LiquidCrystal_I2C.h> // dolaczenie biblioteki I2C dla LCD LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Ustawienie adresu ukladu na 0x27 volatile long wartosc=0; // deklaracja zmiennej wartosc volatile int stana=HIGH; // deklaracja zmiennej w funkcji TAK volatile int stanb=HIGH; // deklaracja zmiennej w funkcji NIE int incoming=0; // deklaracja zmiennej dla danych odebranych z UART int buttonUP=2; // deklaracja PIN2 jako przycisk gĂłrny int buttonDOWN=3; // deklaracja PIN3 jak przycisk dolny int test100PIN=4; // deklaracja PIN4 jako pin uruchamiajÄ…cy int buttonOK=8; // deklaracja PIN5 jako pin potwierdzajÄ…cy int probaTEST=LOW; // deklaracja zmiennej probaTEST = test nie trwa int masa=0; // deklaracja zmiennej zapisujÄ…cej mase zboĹĽa int masaplus=0; // deklaracja zmiennej do ustawienia masy int war1=LOW; // warunek przejĹ›cia do kolejneg menu int szerokosc=0; // deklaracja zmienenej zapisujacej szerokosc robocza int szerokoscplus=0; // deklaracja zmiennej ustawiajacej szerokosc int wydatek=0; // deklaracja zmiennej zapisujacej wydatek int wydatekplus=0; // deklaracja zmiennej ustawiajÄ…cej wydatek void tak() // zmienna wyboru { stana=LOW; wartosc=wartosc+1; masaplus=masaplus+1; szerokoscplus=szerokoscplus+1; wydatekplus=wydatekplus+1; } void nie() { stanb=LOW; // zmienna wyboru wartosc=wartosc-1; } void wyslijparametry() {lcd.clear(); lcd.setCursor(0,0); lcd.print("Trwa wysylanie"); lcd.setCursor(0,1); lcd.print("parametrow do"); lcd.setCursor(0,2); lcd.print("urzadz. wykonaw."); //Serial.write(); } void sprawdzstan6() { if (stana==LOW) // jesli wybĂłr TAK { wydatekplus=0; wyslijparametry(); // rozpocznij prĂłbÄ™ 100 obrotĂłw } else if (stanb==LOW) // jeĹ›li wybĂłr NIE { ustawwydatek(); // przejdĹş do funkcji ustalajÄ…cej mase ziarna na obrot } else { sprawdzstan6(); // jeĹ›li brak wyboru przejdĹş na poczÄ…tek funkcji sprawdzstan } } void potwierdzwydatek() { lcd.clear(); lcd.setCursor(0,1); lcd.print("Ustawiony wydatek"); lcd.setCursor(0,2); lcd.print(wydatek); lcd.setCursor(5,2); lcd.print("g/ha"); lcd.setCursor(0,3); lcd.print("Czy poprawnie ?"); lcd.setCursor(17,0); lcd.print("TAK"); lcd.setCursor(17,3); lcd.print("NIE"); attachInterrupt(0,tak,FALLING); attachInterrupt(1,nie,FALLING); stana=HIGH; stanb=HIGH; sprawdzstan6(); } void ustawwydatek() { lcd.clear(); lcd.setCursor(0,1); lcd.print("Ustaw wydatek:"); lcd.setCursor(0,2); lcd.print(wydatekplus); lcd.print(" g/ha"); lcd.setCursor(19,0); lcd.print("+"); lcd.setCursor(11,3); lcd.print("ZATWIERDZ"); attachInterrupt(0,tak,FALLING); attachInterrupt(1,nie,FALLING); stana=HIGH; stanb=HIGH; delay(100); if (stanb==LOW) { wydatek=wydatekplus; potwierdzwydatek(); } else { ustawwydatek(); } } void sprawdzstan5() { if (stana==LOW) // jesli wybĂłr TAK { masaplus=0; masaziarna(); // rozpocznij prĂłbÄ™ 100 obrotĂłw } else if (stanb==LOW) // jeĹ›li wybĂłr NIE { szerokoscplus=0; ustawszerokosc(); // przejdĹş do funkcji ustalajÄ…cej mase ziarna na obrot } else { sprawdzstan5(); // jeĹ›li brak wyboru przejdĹş na poczÄ…tek funkcji sprawdzstan } } void wyborustawien() { lcd.clear(); lcd.setCursor(0,1); lcd.print("Co zmienic ?"); lcd.setCursor(15,0); lcd.print("MASA"); lcd.setCursor(11,3); lcd.print("SZEROKOSC"); attachInterrupt(0,tak,FALLING); attachInterrupt(1,nie,FALLING); stana=HIGH; stanb=HIGH; delay(1000); sprawdzstan5(); } void sprawdzstan4() { if (stana==LOW) // jesli wybĂłr TAK { wydatekplus=0; ustawwydatek(); // rozpocznij prĂłbÄ™ 100 obrotĂłw } else if (stanb==LOW) // jeĹ›li wybĂłr NIE { wyborustawien(); // przejdĹş do funkcji ustalajÄ…cej mase ziarna na obrot } else { sprawdzstan4(); // jeĹ›li brak wyboru przejdĹş na poczÄ…tek funkcji sprawdzstan } } void potwierdzall () {lcd.clear(); lcd.setCursor(0,0); lcd.print("Masa z 1 obr:"); lcd.setCursor(0,1); lcd.print(masa); lcd.print(" gram/obr"); lcd.setCursor(0,2); lcd.print("Szerokosc robocza"); lcd.setCursor(0,3); lcd.print(szerokosc); lcd.print(" cm"); delay(5000); lcd.clear(); lcd.setCursor(0,1); lcd.print("Czy ustawienia"); lcd.setCursor(0,2); lcd.print("sa poprawne ?"); lcd.setCursor(17,0); lcd.print("TAK"); lcd.setCursor(17,3); lcd.print("NIE"); attachInterrupt(0,tak,FALLING); attachInterrupt(1,nie,FALLING); stana=HIGH; stanb=HIGH; sprawdzstan4(); } void sprawdzstan3() // funkcja wybory czy proba 100 obrotow zostala wykonana { if (stana==LOW) // jesli wybĂłr TAK { potwierdzall(); // rozpocznij prĂłbÄ™ 100 obrotĂłw } else if (stanb==LOW) // jeĹ›li wybĂłr NIE { szerokoscplus=0; ustawszerokosc(); // przejdĹş do funkcji ustalajÄ…cej mase ziarna na obrot } else { sprawdzstan3(); // jeĹ›li brak wyboru przejdĹş na poczÄ…tek funkcji sprawdzstan } } void potwierdzszerokosc() { lcd.clear(); lcd.setCursor(0,0); lcd.print("Ustawiona szer.:"); lcd.setCursor(0,1); lcd.print(szerokosc); lcd.setCursor(5,1); lcd.print("cm"); lcd.setCursor(0,3); lcd.print("Czy poprawnie ?"); lcd.setCursor(17,0); lcd.print("TAK"); lcd.setCursor(17,3); lcd.print("NIE"); attachInterrupt(0,tak,FALLING); attachInterrupt(1,nie,FALLING); stana=HIGH; stanb=HIGH; sprawdzstan3(); } void ustawszerokosc() { stanb=HIGH; lcd.clear(); lcd.setCursor(0,0); lcd.print("Ustaw szerokosc:"); attachInterrupt(0,tak,FALLING); attachInterrupt(1,nie,FALLING); lcd.setCursor(0,2); lcd.print(szerokoscplus); lcd.print(" cm"); lcd.setCursor(19,0); lcd.print("+"); lcd.setCursor(11,3); lcd.print("ZATWIERDZ"); delay(100); if (stanb==LOW) { szerokosc=szerokoscplus; potwierdzszerokosc(); } else { ustawszerokosc(); } } void sprawdzstan2() // funkcja wybory czy proba 100 obrotow zostala wykonana { if (stana==LOW) // jesli wybĂłr TAK { ustawszerokosc(); // rozpocznij prĂłbÄ™ 100 obrotĂłw } else if (stanb==LOW) // jeĹ›li wybĂłr NIE { masaplus=0; masaziarna(); // przejdĹş do funkcji ustalajÄ…cej mase ziarna na obrot } else { sprawdzstan2(); // jeĹ›li brak wyboru przejdĹş na poczÄ…tek funkcji sprawdzstan } } void potwierdzmase() { lcd.clear(); lcd.setCursor(0,0); lcd.print("Wprowadzono="); lcd.setCursor(0,1); lcd.print(masa); lcd.print(" gram/obrot"); lcd.setCursor(0,3); lcd.print("Czy poprawnie ?"); lcd.setCursor(17,0); lcd.print("TAK"); lcd.setCursor(17,3); lcd.print("NIE"); szerokoscplus=0; attachInterrupt(0,tak,FALLING); attachInterrupt(1,nie,FALLING); stana=HIGH; stanb=HIGH; sprawdzstan2(); } void masaziarna() { war1=HIGH; stanb=HIGH; attachInterrupt(0,tak,FALLING); attachInterrupt(1,nie,FALLING); lcd.clear(); lcd.setCursor(0,0); lcd.print("Masa ziarna:"); lcd.setCursor(19,0); lcd.print("+"); lcd.setCursor(11,3); lcd.print("ZATWIERDZ"); lcd.setCursor(0,2); lcd.print(masaplus); lcd.print(" gram"); delay(100); if (stanb==LOW) { masa=masaplus; potwierdzmase(); } else { masaziarna(); } } void testprobakrecona() // funkcja spradzajÄ…ca wykonanie prĂłby 100 obrotĂłw silnika { probaTEST=digitalRead(test100PIN); // przypisz stan z PIN test100PIN do zmiennej if (probaTEST==HIGH) // jeĹ›li zmienna probaTEST ma stan wysoki { lcd.clear(); lcd.setCursor(0,1); lcd.print("Proba zakonczona"); lcd.setCursor(0,2); lcd.print("Zwaz zebrane ziarno"); // wyĹ›wietl tekst i przejdĹş do konfiguracji delay(2000); konfiguracja(); } else { testprobakrecona(); // jeĹ›li nie przejdĹş do poczÄ…tku funkcji } } void konfiguracja() // funkcja ustawiajÄ…ca wydatek z 100 obrotĂłw { stanb=HIGH; lcd.clear(); lcd.setCursor(0,0); lcd.print("Masa ziarna:"); lcd.setCursor(6,2); lcd.print("gram"); masaziarna(); } void probakrecona() // rozpocznij probe 100 obrotow silnika { detachInterrupt(1); detachInterrupt(0); Serial.write("probakrecona"); // wyĹ›lij komende startujaca probe 100 obrotow na uC wykonawczym (moĹĽe zamienić to na stan wysoki na pin X ??) lcd.clear(); lcd.setCursor(0,1); lcd.print("TRWA PROBA KRECONA"); // wyswietl tekst testprobakrecona(); // uruchom funckje sprawdzajaca kiedy zakonczy sie proba 100 obrotĂłw } void sprawdzstan() // funkcja wybory czy proba 100 obrotow zostala wykonana { if (stana==LOW) // jesli wybĂłr TAK { probakrecona(); // rozpocznij prĂłbÄ™ 100 obrotĂłw } else if (stanb==LOW) // jeĹ›li wybĂłr NIE { konfiguracja(); // przejdĹş do funkcji ustalajÄ…cej wydajność } else { sprawdzstan(); // jeĹ›li brak wyboru przejdĹş na poczÄ…tek funkcji sprawdzstan } } void poczatek() { lcd.clear(); lcd.setCursor(0,1); lcd.print("Proba 100 obr?"); lcd.setCursor(17,0); lcd.print("TAK"); lcd.setCursor(17,3); lcd.print("NIE"); sprawdzstan(); } void setup() { lcd.begin(20,4); // Inicjalizacja LCD 2x16 lcd.backlight(); // zalaczenie podwietlenia pinMode(buttonUP,INPUT_PULLUP); pinMode(buttonDOWN,INPUT_PULLUP); pinMode(buttonOK,INPUT_PULLUP); Serial.begin(9600); lcd.setCursor(0,0); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna) lcd.print("Witaj Robert !"); attachInterrupt(0,tak,FALLING); attachInterrupt(1,nie,FALLING); delay(1500); poczatek(); } void loop() { if (Serial.available() > 0) // przypisywanie do zmiennej odczytanego bajtu { incoming = Serial.read(); // wypipsywanie otrzymanych danych lcd.print("Otrzymano: "); // wypisanie przelanych danych lcd.print(incoming, DEC); }} Wiem, że ten kod jest daleko od ideału, ale póki co swoje założenie spełnia. Brakuje tylko funkcji, która wyśle konfigurację do uC sterującego i będzie odbierać i wyświetlać dane bieżące.
  5. Udało mi się rozwiązać kwestię przygotowania sygnału (przynajmniej dla zasilania bateryjnego uC). marek1707, miałeś rację. Cieszę się, że trafiłem na tym forum właśnie na Ciebie i mogę się od Ciebie uczyć. Układ przetestowałem na ciągniku. Układ dla prędkości około 4km/h zliczał około 130 impulsów. Rozrzut odczytu był na poziomie -+ 5 impulsów. Jednak dokładniej sprawdzę to dopiero jak będę miał oscyloskop. Chcę rozszerzyć możliwości tego układu o możliwość konfiguracji. Do tego celu chcę wykorzystać drugie arduino z LCD i klawiaturą. Chciałbym, aby wprowadzone dane przesyłane były za pomocą UART. Czy to dobra metoda komunikacji pomiędzy 2 uC na odległość do 10 m ?
  6. Przetestowałem wczoraj taki układ, jednak bez diody D4. Potencjometr R6 zastosowany jako dzielnik napięcia ustawiłem tak, aby napięcie wyjściowe było zbliżone do 5V. Układ testowełem przy wykorzystaniu sygnału z ISOBUS jak i diody. Nie było jakiś szczególnych zakłóceń. Aczkolwiek, wyniki nie były szczególnie powtarzalne. Wydaje mi się, że uC nie zawsze zliczał wszystkie impulsy, ale tak jak mówiłem zapomniałem oscyloskopu i nie mam jak sprawdzić. Jeśli chodzi o podłączenie diody D4 to czy zachowałem dobra polaryzację ? Postaram się przetestować układ z diodą, ale bez dzielnika napięcia (zgodnie z ogólnym schematem). Zwrócić jeszcze na coś uwagę ?
  7. Nie rozumiem pojęcia podciągnąć tranzystorem. W tej chwili testuje układ, niestety jest to utrudnione bo nie zabrałem oscyloskopu ;( W stanie ustalonym wyświetlacz lcd wskazuje liczbę odebranych impulsów i przeliczona prędkość obrotową. PWM na razie do pominięcia. Kolektor i emiter (GND) połączyłem kondensatorem 220pF gdyż bez niego uC zbierał szumy. Podłączenie baterii 9v do diody transoptora nie powoduje jednak nic. Konensator 39pF nie filtruje szumów wcale. Zalączam foto tego co stworzyłem: [ Dodano: 07-07-2018, 10:22 ] [ Dodano: 07-07-2018, 10:42 ] Zmierzyłem napięcie na PIN2. Wynosi ono 1,878 V. Przy czym, podłączenie sondy multimetru do PIN2 powoduje zbieranie szumów (uC zlicza obroty). [ Dodano: 07-07-2018, 11:00 ] Źle ustawiłem pullup. Rozwiązałem problem z szumami. Napięcie pomiedzy emiterem i kolektorem ~5V. Podanie napięcia 9V na diode transoptora nie zmienia tego napięcia (nie otwiera tranzystora ??)/
  8. Niestety nie mam takiego konwertera. A czy w takim razie metoda z wyciągnięciem kości z gniazda w Arduino Uno i wykorzystanie do programowania wbudowanego w nań konwertera TTL nie powinno działać ? Metod na programowanie mini pro znalazłem w internecie co najmniej kilka. Sprawdziłem wszystkie, jednak żadna nie działa (przynajmniej z Arduino IDE).
  9. Moi drodzy, Do swojego projektu "Sterownik silnika ISOBUS" zakupiłem 2 płytki arduino mini pro Mam jednak z nimi problem, że w żaden sposób nie mogę ich zaprogramować. Płytki "żyją" o czym świadczy heartbeat LED. Sprawdzone metody: -Programowanie przy wykorzystaniu ARDUINO as ISP: PIN 13-13 (MOSI), 12-12 (SCK) , 11-11 (MISO), GND-GND, VCC-VCC, RESET-RESET -Programowanie przy wykrzystaniu USBasp: PIN13 MOSI, 12-SCK, 11-MISO, GND-GND, VCC-VCC, RESET-RESET -programowanie przy wykorzystaniu ARDUINO UNO z wypiętą kością uC: PIN: VCC-VCC, GND-GND, TX-TX, RX-RX, RESET-RESET Sprawdzałem 2 różne adaptery USBasp. Próbowałem również pobrać SN za pomocą PROGIsp. Mam łącznie 4 płytki, żadnej nie potrafię zaprogramować. Podczas programowania czasami pojawiają mi się następujące błędy: avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x5e lub avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c Co robię nie tak ?? [ Dodano: 06-07-2018, 21:04 ] Udało mi się odczytać eeprom przy pomocy ProgISP. Arduino IDE po wybraniu USBasp jako programatora w ogóle nie widzi mini pro
  10. Podjąłem decyzję, aby zastosować takie rozwiązanie: Niestety dopiero w weekend będę mógł sprawdzić czy działa.
  11. W traktorze mamy dwa różne złącza: ISOBUS(opisany wcześniej) i wysokoprądowe złącze zasilania [WZZ] (tylko +12V i GND max. 30). +12 V z WZZ podłączony do silnika oraz sekcji zasilania. GND z WZZ podłączony jest do Źródła tranzystora oraz sekcji zasilania (Podłączenie do common stabilizatora sprawia, że GND z WZZ jest masą dla uC) Przesyłam zaktualizowany schemat:
  12. Specyfikacja do wglądu. Może Tobie powie coś więcej niż mi. 55fe32a1-9edf-44c9-b178-baa6faeb2949.pdf
  13. Masz rację i biorę sobie Twoje uwagi do serca. 1. Zgodnie z ostatnim schematem, układ zasilania wykonałem na osobnej płytce pcb. Problem z jego działaniem spowodowany był brakiem połączenia pomiędzy OUT stabilizatora, a złączem zasilania uC. Uzupełniłem brakującą ścieżkę i wszystko działa ok. 2. PWM sprawdziłem oscyloskopem i jego przebieg był prawidłowy (100% stan wysoki dla 255 i 0% dla 0). Wychodzi na to, że tranzystor BC337 przewodzi gdy bazę podłączam do GND ? 3. W dzielniku napięcia rezystory R6 i R7 o wartościach 1k8 i 1k3 zastąpiłem rezystorami o wartościach 4k7 i 3k3 ponieważ posiadam tylko szereg E12. 4. Pomiar sygnału prędkości dokonałem bezpośrednio na końcówce 10m ekranowanego przewodu. Niestety nie wykonałem pomiaru bezpośrednio na INT0. Nie wpadłem na to Dokumentacja ISOBUS mówi, że Impedancja obciążenia powinna być większa od 3k Ohm, a Impedancja źródła wyjściowego w stanie "LOW" powinna wynosić 100 + -10 Ohm. Czy to jest istotne biorąc pod uwagę zmianę rezystorów (pkt. 3.). 5. Tranzystor BUZ11 zachowywał się dziwnie już od samego początku. Samo podłączenie źródła i drenu sprawiło, że silnik zaczął sam pracować. Gdy zmontowałem cały układ, silnik nie reagował na zmianę PWM w żaden sposób (ani nie zwiększał, ani nie zmniejszał swojej prędkości obrotowej) przy czym tranzystor bardzo mocno się grzał. Próba rozładowania bramki nie przynosiła żadnego rezultatu, stąd podjąłem decyzję o jego wymianie. 6. Z pojazdu do układu doprowadzone są dwa przewody. Jeden zasilający (+12V i GND ze specjalnego gniazda o max. obciążeniu 30A), który wykorzystuję tutaj do zasilania silnika i sekcji zasilania uC. Drugi natomiast oprócz sygnału prędkości obrotowej posiada również dodatkowe 2 przewody (+12V i GND). Nie mam informacji czy oba +12V mają względem siebie ten sam potencjał. Mój niejasny wybieg myślowy dotyczył tego, że podczas testowania układu jako źródło sygnału prędkości obrotowej wykorzystywałem 4 pinowy wiatraczek PC. Bezpośrednie podłączenie przewodu sygnałowego powodowało wyświetlanie losowych wyników prędkości obrotowej. Dopiero dodatkowe podłączenie tego przewodu przez rezystor 1k do 5V spowodowało, ze wynik był prawidłowy. Czy taki zabieg stosuje się powszechnie ? Czy podobnie powinienem zrobić w przypadku wykorzystywanego przeze mnie sygnału z ISOBUS ? marek1707, dziękuję Ci za Cierpliwość. Miej jej jeszcze trochę dla mnie
  14. Podejrzewam, że Buzz11 się usmażył, gdyż silnik działał bez podłączonego sterowania, do tego MOSFET bardzo mocno się nagrzewał pomimo przykręcenia do aluminiowej obudowy. Zamieniłem go na FQP50N06 i silnik zaczął działać choć sterowanie jest odwrotne (dla pwm=0 silnik pracuje z pełną mocą, dla pwm=255 silnik nie pracuje) Przetestowałem oscyloskopem sygnał prędkości obrotowej. Sygnał daje ładny prostokąt. Jednak podłączenie go do uC powoduje, że odczyt prędkości wariuje. Gdy robiłem testy na wiatraczku komputerowym to podłączałem przewód sygnałowy rezystorem 1k do VCC wtedy uC pokazywał mi dobre wyniki. Czy tutaj też powinienem tak zrobić ? Cały układ ma wspólną masę połączoną z wysokoprądowego gniazda zasilającego. Gniazdo sygnałowe ISOBUS posiada przewód sygnałowy oraz 12+ i Common GND. Czy sygnał powinienem podciągnać (czy pull-up) do 12+ przewodu ISOBUS czy może być z wysokoprądowego gniazda zasilającego ? Powinienem sprawdzić napięcie pomiędzy +12 i GND tych dwóch przewodów ...
  15. Po zmontowaniu sprzętu pojawił się standardowo problem. Napięcie na wyjściu z stabilizatora wynosi jedynie około 2 V. Sprawdziłem wszystkie połączenia i wydają się być okej. Do testów używam zasilacza 4A. Czy zbyt mały prąd może być problemem ?
×
×
  • Utwórz nowe...