Skocz do zawartości

komabra

Użytkownicy
  • Zawartość

    58
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O komabra

  • Ranga
    4/10

Informacje

  • Płeć
    Mężczyzna
  1. Witam, zwracam się do was z pytaniem, którego nie mogę rozgryźć. Zobiłem prosty układ komparatora napięć. Zasilanie : Zasilacz 24V, 2A Inp + : 0 - 11 V Inp - : 9 V Ogólny schemat : Niezależnie od poziomu napięcia na wejściu nieodwracającym stan się nie zmienia. Gdzie leży problem? Milion razy bawilem się LM393, lecz na poziomie 0-5 V i wszystko pięknie działało. Problem leży w za dużym napięciu zasilania? Nota mówi, że maksymalne to 36 V. Czy może chodzi o brak rezystorów na wejściach ?
  2. Cześć. Kupiłem czujnik odległości i od razu chciałem go sprawdzić. Jego obsługa wydaje się banalnie prosta, pewnie większość z was ją zna więc nie będę opisywał. Sens polega na tym, że program nie działa tak jak powinien. Sprawdzając oddzielnie timer, przerwania oraz czy na ECHO pojawia się stan wysoki to działa wszystko. Jednak,gdy chcę zmierzyć długość impulsu z pinu ECHO to nie bangla. Program działa tak, że : czekaj, aż na ECHO będzie stan wysoki. impuls co 0,000064 sekundy. licznik zaczyna od 240 a więc przerwanie pojawia się co 16*0,000064 = 1 ms. Wraz z przerwaniem inkrementuje się zmienna index. Wyłącz przerwania globalne, gdy ECHO = 0. Wyświetl miganiem diody zmienną index. Niestety program nie działa jak należy, a ja już tracę pomysły. /* * main.c * * Created on: 23 sty 2016 * Author: hhjh */ #include<avr/io.h> #include<util/delay.h> #include<stdio.h> #include<avr/interrupt.h> #define ECHO PD6 #define TRIG PD7 void HC_initialize(void); void Timer_initialize(void); void HC_readValue(void); volatile int index=0; //liczenie przerwań od przepelnienia timera0 int main (void){ DDRD |=(1<<PD0); // LED jako wyjscie PORTD&=~(1<<PD0); // ze stanem 0 V Timer_initialize(); HC_initialize(); while(!PIND & (1<<ECHO)); //czekaj az stan na ECHO nie bedzie 1 sei(); // wlacz przerwania globalne while(PIND & (1<<ECHO)); // rob dopoki stan na ECHO bedzie 1 cli(); // gdy stan na ECHO bedzie 0 wyłącz przerwania HC_readValue(); // sczytaj miganiem diody ilośc przerwan } void HC_initialize(void){ //ustaw we.wy DDRD |= (1<<TRIG); //TRIG jako wyjscie DDRD &=~(1<<ECHO); //ECHO jako wejscie PORTD&=~(1<<ECHO); // wyslij sygnał 10us na TRIG PORTD |=(1<<TRIG); _delay_us(15); PORTD &=~(1<<TRIG); } void Timer_initialize(void){ TCCR0 |=(1<<CS01)|(1<CS00); // prescaler 64 , impuls co 0.000064 s TIMSK |=(1<<TOIE0); // interrput enable TCNT0 = 240; // wartosc poczatkowa } void HC_readValue(void){ int i=0; for(i=0; i<index; i++){ PORTD |=(1<<PD0); _delay_ms(1000); PORTD&=~(1<<PD0); _delay_ms(1000); } } ISR(TIMER0_OVF_vect){ index ++; TCNT0 = 240; }
  3. Jest to mój projekt inżynierski. W domyśle jest to stacja domowa, aczkolwiek dodałem wyprowadzenia zewnętrzny czujnik deszczu i wiatru. Bardziej miało to pokazywać to, że umiem to zrobić niż to jak dokładnie działają czujniki. Również wolę drewniane wykończenia, aczkolwiek brak czasu, dolarów etc zmusiły mnie do kupna na szybko plastiku.
  4. Cześć! Jestem praktycznie na ostatnim etapie robienia stacji pogodowej. Aktualnie wygląda ona tak: Mam jednak problem z elegancją wykończenia Tak bym to nazwał. W obudowie musiałem zrobić otwór na wyświetlacz. Nie wyszło mi to idealnie, dlatego szukam pomysłu jak to zaślepić aby nie wyglądało to w ten sposób. Na zdjęciu wygląda to obleśnie. W rzeczywistości tak nie jest. Ustawiłem po prostu jak najmocniejsze światło. W normalnych warunkach nie widać tych rys, dodatkowo kolor obudowy wyświetlacza nie rożni się tak znacznie od obudowy stacji.
  5. Li-pol 400 mAh 2x3,7V Ładowanie 5C ROzłądowywanie 35C. Ładowałem go wcześniej do pełna i robot wciąż nie dawał rady ruszyć. Problem, który teraz zobaczyłem to to , że Li-pol daje 8V, gdy daję PWM 100 % napięcie na kazdym z silników wynosi zaledwie 4 V... [ Dodano: 11-12-2015, 16:43 ] Pytanie kolejne, możliwe, że rozwiązujące układ. Mostek H. Pin zasilania, do którego powinno być podłączone napięcie >5 V zasilając silniki. Napięcie 8 V(sprawdzałem ) z akumulatora było do niego podpięte, jednak na pinie było 4 V. po odłączeniu od tego pinu akumulatora dalej jedst tam 4 V. Jak to jest możliwe??
  6. Witam! Chciałem jutro pójść po raz pierwszy na zawody robotów. Niestety, mam duży problem z silnikami. Zamontowałem silnik Pololu 10:1 HP 3000 obr/min. Wygląd robota: Sprawa wygląda tak, że przy PWM 100 % układ praktycznie nie rusza, lub jedzie z pewną prędkością, gdy akumulator LI-pol trzymam w powietrzu. Możliwe jest to, żeby zwykły li-pol obciążał robota na tyle, żeby moment był za mały?? Ciężko mi w to uwierzyć kiedy podłączam silnik bezpośrednio do akumulatora. Smiga jak głupi. Czy możliwe jest to, że układ nie działa bardziej przez to iż jakiś układ ma jakieś wady? Np.. LM7085(max. 1A) mocno się grzeje. Jak bardzo to może wpłynąć na jego wydajność prądową? Przez najbliższe parę godzin nie mam możliwości podłączenia radiatora... Po 2. Mostek H - L293d. Jest to możliwe, że jest on zwyczajnie za słaby na ten silnik? Ostatnia sprawa. Dlaczego i jak to jest możliwe, że gdy do silnika podane jest napięcie, po chwili zatrzymuję go ręką i puszczam, to on nie zaczyna znów się obracać, a muszę napędzić go ręką, żeby się zaczął kręcić?? edit1. Li-pol daje 8V, gdy daję PWM 100 % napięcie na kazdym z silników wynosi zaledwie 4 V...
  7. Cześć. Siedzę od kilku godzin nad problemem i nie mam już pomysłu. Sprawa pewnie znana... Do tablicy trzeba wstawić stany czujników. Zrobiłem to tak: //definicje stanów czujników!!! #define CZ1 (PIND & (1<<PD0)) #define CZ2 (PIND & (1<<PD1)>>1) #define CZ3 (PIND & (1<<PD2)>>2) #define CZ4 (PIND & (1<<PD3)>>3) #define CZ5 (PIND & (1<<PD4)>>4) #define CZ6 (PIND & (1<<PD5)>>5) #define CZ7 (PIND & (1<<PD6)>>6) int tablica_Wagi[] = {-3,-2,-1,0,1,2,3}; int tablica_Czujnikow[] = {CZ1, CZ2, CZ3, CZ4, CZ5, CZ6, CZ7}; int tablica_Wyniki[7]; for(int i=0; i<7; i++){ if(tablica_Czujnikow[i]){ tablica_Wyniki[i]=1; } else if(!(tablica_Czujnikow[i])){ tablica_Wyniki[i]=0; } } for(int i=0; i<7; i++){ error += tablica_Wagi[i]*tablica_Wyniki[i]; } Działa to w pojedynczych aspektach kiedy sprawdzam jedynie stan jednego czujnika, lecz jak zaczynam dodawać stany w tablicy to albo error dąży do nieskończoności albo jest zerem. Prawdopodobnie jest to banalny błąd, ale nie mam pojęcia gdzie..
  8. Na początku dałem napięcie odniesienia 2,5 V ale uznałem, że lepiej dać 3 V i potem prosty dzielnik napięcia 1:1. Ale też prawda. W przypadku 2,5 V układ jest prostszy. Co do LM393 dałem tu taki ze względu na to, że posiadam go i mogłem fizycznie sprawdzić zmiany stanów na wyjściu. Pomyślę zaraz nad innym. Dzięki wielkie za pomoc. Odezwę się jeśli będę miał znów pytania !
  9. Przyznam, że na początku przestraszyłem się dokumentacji ale nie okazała się ciężka. Wygląda to tak : Nie jestem pewny histerezy, ale ogólnie układ powinien działać. Źródło napięcia odniesienia to TL431.
  10. Zrobiłem taki schemat wyłączania zasilania, ale pewności jego działania nie jestem pewny. Wartości rezystorów i napięcia odniesienia będą później na spokojnie do wyliczenia. Czy coś takiego zadziała?
  11. Jest to mój projekt inżynierski. Aktualnie mam czujniki temperatury, wilgotności, opadów i natężenia słońca. Wszystko wyświetlane na wyświetlaczu LCD. Nie ma na to dużo czasu więc nie będę jej na razie o wiele bardziej usprawniał. Po obronie dodam na pewno: -czujnik CO -czujnik wiatru -komunikacja między komputerem, aby można było kreślić wykresy -inny wyświetlacz. Graficzny lub nawet dotykowy, bo alfanumeryczny nie wygląda 'szałowo' Oczywiście, gdy skończę projekt opiszę cały na Forbocie ! Schemat wskaźnika wrzucę w nocy to ocenicie!
  12. Właśnie nie ukrywam, że chciałem to robić totalnie analogowo z obejściem atmegi, bo został mi 1 wolny pin ale widzę, że nie da rady inaczej, wiec czeka mnie wymiana na atm16..
  13. Witam! Aktualnie zajmuję się projektem stacji pogodowej. Pomyślałem ostatnio o funkcji poziomu naładowania akumulatora. Chodzi mi o najprostszy układ z diodą zieloną lub czerwoną . Dodatkowo, aby zabezpieczyć li-pol przed spadkiem napięć poniżej 2,5 V na ogniwo układ musi się wyłączać. Dane: Li-pol - 7,4 V, przy pełnym naładowaniu daje 8,4 V Zielona dioda ma świecić >= 7 V Czerwona <= 7 V Układ ma się rozłączać, gdy napięcie na akumulatorze < 6 V Pomysłów jest kilka. 1. Znaleziony na elektrodzie. Nie ukrywam jednak, że wolałbym użyć swojego pomysłu. Oto one 2. Myślałem nad użyciem zwykłego komparatora, który porównuje napięcie akumulatora z napięciem odniesienia. Pojawia się problem. Da się jakimś prostym sposobem wynaleźć napięcie odniesienia = 7 V ? 3. Pomysł również z komparatorem. Odejmujemy napięcie na akumulatorze od napięcia stabilizowanego 5 V. Jeśli różnica będzie < 2 V włączamy diodę czerwoną. Głupie? 4. Znów komparator. Dajemy dzielnik napięcia na akumulator, dzielący je na pół. Czerwona włącza się gdy U <3,5 V . Dzielnik do jednego wejścia, źródło napięcia odniesienia 3,5 V do drugiego. .................................................................................................................................. Czas na rozłączenie układu poniżej 6 V. Ogólnie mam małą wiedzę na temat akumulatorów. Czytałem, że li-poli nie można rozładowywać do końca, dlatego dobrze było by zabezpieczyć układ, gdybym zapomniał wyączyć stacji na dłuższy czas. Czy umieszczenie zenera 6.2 V ochroni układ wystarczająco? Wiadomo, że zawsze jest jakiś mały prąd wsteczny. Nie ukrywam, że zależy mi na jak najmniejszym poborze prądu więc nie wiem czy lepsza będzie dioda czy może przekaźnik, ew. może jeszcze inne pomysły? Bądźcie wyrozumiali ! Dopiero zaczynam prawdziwą zabawę z elektroniką ale coraz bardzej mi się oba podoba
  14. CV składałem na inne ogłoszenie w tej firmie, jednak zadzwoniła do mnie pani i zaproponowała rozmowę. Jedyne co wiem o tym to dział "component engineering' oraz to, że rozmowa będzie z kierownikiem działu zakupów. Więcej nie wiem, bo nie ma tego ogłoszenia nigdzie.
×
×
  • Utwórz nowe...