Skocz do zawartości

Zolw2305

Users
  • Zawartość

    31
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O Zolw2305

  • Ranga
    3/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Gdynia
  1. Nie mam zamiaru lutować akumulatorów do płytki, nigdy tak nie robię. Chodzi o to że nawet jak podłączę go za pomocą złącz to nie będę go wyjmował, a do ładowania wyprowadzę na obudowie osobne złącze, do tego dorzucę przełącznik 2 lub 3 pozycyjny, żeby przełączać obwody na zasilanie/ładowanie. Z tego co widzę musiałbym tak samo zrobić z przewodami od ballancera.
  2. Dzięki za wyjaśnienie, problem w tym że po zmontowaniu, nie będzie swobodnego dostępu do mikrokontrolera, żeby przy każdym ładowaniu odłączać te przewody od ADC. Wygląda na to że będę musiał pokombinować z przełącznikami albo przekaźnikami.
  3. Witam. Mam pakiet Li-Po złożony z 3 ogniw (11,1V) i ładowarkę, niestety bez balancera. Chciałbym w swoim projekcie, na stałe podłączyć przewody służące do podłączenia balancera, do przetwornika ADC mikrokontrolera, aby mierzył napięcie na poszczególnych ogniwach. Nie wiem tylko czy problem nie pojawi się przy ładowaniu pakietu, gdy główne przewody będą podłączone do ładowarki a przewody balancera nadal do mikrokontrolera, który co prawda będzie wyłączony, ale 2 z 3 przewodów będę musiał ,,przepuścić" przez dzielnik napięcia, żeby nie uszkodzić ADC (max 5V). Stąd pytanie, czy przez przewody b
  4. Witam ponownie, nie zakładam nowego tematu, bo problem nadal dotyczy ATmegi i Arduino. Wysyłam znak typu unsigned char (np. 200) z Atmegi przez TxD i odczytuję go na Arduino z RxD, za pomocą komendy Serial.read. Jednak odebrane dane otrzymuję w kodzie ASCII (zamiast 200 - mam 232). Chciałbym je otrzymywać jako unsigned char, bez żadnych konwersji. Nie wiem czy problem leży po stronie Arduino i instrukcji serial.read, czy może po stronie USART w Atmedze?
  5. Witam. Mam ze strony Atmela kod źródłowy realizujący programowy UART, napisany w asemblerze (AVR305). Chciałbym w c wywoływać funkcje, które realizowały by podprogramy putchar, getchar (nadawanie, odbiór). Wiem że muszę dodać w makefile plik.S ale nie wiem jak zrealizować wywoływanie poszczególnych funkcji. Np aby przesłać jakieś dane, chciałbym wywołać funkcję putchar(data). Lub aby dane odebrać - data = getchar(). W jaki sposób wskazać w pliku asemblera argument data, który miałby zostać użyty do wysłania? Kompilator - avr-gcc Kod źródłowy z asemblera: ;* Title : Half Duplex Interrupt
  6. Więc tak, problem na pewno leży po stronie Arduino (model Arduino UNO z ATmega328), bo sprawdzając komunikację na samej ATmega16 przez zwarcie TxD i RxD cała komunikacja przebiega prawidłowo. Na Arduino odbieram dane przez pin RxD (wyprowadzenie oznaczone jako 0), a sprawdzając otrzymane dane, wysyłam to co otrzymałem na Serial Monitor przez USB. Prędkość na Serial Monitorze się zgadza. Przy moim 2 wariancie widać że Arduino odpowiada, bo ekran Serial Monitora się przewija, ale nic na nim nie jest wyświetlane. Właśnie sprawdziłem Twój program mactro. Problem leży gdzieś po stronie Serial Mon
  7. Witam, buduję robota opartego o system Arduino. Mam problem z komunikacją po RS. Docelowo dane do robota mają być wysyłane z LabView, ale w celach testowych postanowiłem wykorzystać do tego uC ATmega16. Pin TxD Atmegi jest zwarty z pinem RxD Arduino. Program wysyłający dane z ATmegi (ma wysłać wartość 0x80): /*Ustalenie prędkości transmisji*/ #define F_CPU 1000000L #define BAUD 4800 #define MYUBRR F_CPU/16/BAUD-1 #include <stdio.h> #include <avr/io.h> #include <util/delay.h> /* Inicjalizacja USART */ void USART_init(unsigned int ubrr) { /* Ustala prędkość transmisj
  8. Witam, odkopię trochę temat, ponieważ nie mogę sobie poradzić z pewnym problemem. Zakupiłem ostatnio HM-T868S i HM-R868S, ze względu na to że na wyjściu odbiornika pojawia się to samo co na wejściu nadajnika idealnie nadają się do mojego niby banalnego projektu. Sprawa jest prosta, nie chcę tu używać żadnego uC, ponieważ były by to zbędne koszty. Wejście nadajnika podciągam przez rezystor do 0V lub 3V. Wyjście odbiornika podpięte jest do bazy tranzystora pnp, który ma załączać buzzer. Problem polega na tym że na wyjściu odbiornika cały czas mam 1,6 - 1,8V względem masy, bez względu na to czy
  9. Zolw2305

    Ładowanie nowego Li-pola

    Akumulator ku mojemu zdziwieniu, normalnie się ładuje, na początku podładowałem go prądem 0,1 C (czyli w moim przypadku 0,1 * 5 = 0,5 A) do 3,3V na celle, a dalej już normalnie 1 C (5 A). Wszystko ładowarką do li-poly. Ciekawe tylko jak będzie z pojemnością, podejrzewam że początkowego 5Ah już nie osiągnę.
  10. Zolw2305

    Ładowanie nowego Li-pola

    No niby nie trzeba, ale nawet sprzedawca na stronie internetowej zaleca 1-2 krotne rozładowanie i naładowanie, więc pomyślałem że nie zaszkodzi - zaszkodziło. Z własnej głupoty, ale człowiek uczy się na błędach, drugi raz już li-pola nie będę próbował formatować.
  11. Zolw2305

    Ładowanie nowego Li-pola

    Przeładowanie przeładowaniem, ja dzisiaj za to narobiłem bigosu w drugą stronę. Chciałem sformatować nowego Li-Pola, więc podłączyłem sobie żarówkę i poszedłem oglądać tv. Jak sobie przypomniałem o baterii to było już poniżej 2V na celle i trochę spuchła (nie wiele ale jednak) :/ Teraz po ostygnięciu zmierzyłem i było 2,45 V na celle. Wyczytałem że ludzie ,,odratowują" li-pole ładując je ładowarkami do NiMh małym prądem do osiągnięcia >3V na celle i działa dalej. Jutro mam zamiar też spróbować tylko nie wiem czy takie ładowanie ładowarką do NiMh nie spowoduje pożarów tudzież innych niepożąd
  12. Dobrze prawicie z tą zewnętrzną aplikacją, oczywiście takowa będzie. Postaram się pokrótce opisać co i jak. Arduino będzie sterowało trzema regulatorami silników bezszczotkowych, za pomocą PWM (tak jak sterowanie serwami). Wartość wypełnienia będzie wysyłana z aplikacji LabView przez RS232. Wysyłane będą wartości od 0 do 200 (tak aby mieściły się w 1 bajcie) i konwertowane na odpowiednie wartości wypełnienia PWM (920....2120 us). 3 silniki = 3 bajty wysłanych danych. Serial monitor ma mi posłużyć do sprawdzenia czy komunikacja i konwersja przebiega prawidłowo (zanim ukończymy aplikację LV), d
  13. Tak, ale Serial.println wysyła z Arduino do Serial Monitor, a mi chodzi o transmisję w drugą stronę, czyli z Serial monitor do Arduino. Przykład który podał tomly działa, tylko nie wiem czy wysyłając za pomocą string wartości dajmy na to 179, wysyłam to w formie 1 czy więcej bajtów?
  14. Dzięki, trochę to rozjaśniliście. Synchronizację myślałem żeby i tak zrobić, co by uniknąć jakiś pomyłek w transmisji. Jutro będę próbował. Jeszcze raz dzięki. Aktualizacja: Pojawił się natomiast inny problem. Nie mogę wysłać dowolnego bajtu danych przez Serial Monitor. Mając np taki program: void setup() Serial.begin(9600); void loop() { if(Serial.available()) int x = Serial.read(); Serial.println(x); } Wpisując w serial monitor wartość np. 251, wyświetla się najpierw 2 potem 5 a na końcu 1 (a właściwie ich odpowiedniki w ascii). Problem w tym że nie mogę wys
  15. Witam, mam pewien mały problem. Mam zamiar za pomocą systemu Arduino sterować trzema regulatorami silników bezszczotkowych (ESC). Sterowanie to przebiega tak samo jak w przypadku serwomechanizmów (PWM). Wartość wypełnienia w us jest przesyłana do Arduino przez port szeregowy. Problem polega na tym że docelowo wartości te mają być generowane przez odpowiednie wychylenia potencjometrów z konsoli sterującej (x i y). Chciałbym przesłać równocześnie obie te wartości (x,y) serialem, a następnie rozdzielić je na zmienną x i zmienną y. Nie proszę oczywiście o gotowy kod źródłowy ale byłbym wdzięczny
×
×
  • 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.