Skocz do zawartości

miccaldo

Użytkownicy
  • Zawartość

    65
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O miccaldo

  • Ranga
    4/10
  • Urodziny 08.10.1995

Informacje

  • Płeć
    Mężczyzna

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Właśnie tak zrobiłem, przy pomocy diod Dzięki za pomoc!
  2. O, to jest fajne rozwiązanie! Myślę że spróbuję z bramkami OR. Dzięki wielkie!
  3. Witam, Chcę zrobić własny pilot IR do sterowania urządzeniem. Będzie on miał 4 przyciski. Chciałbym również wprowadzić kontroler (Attiny2313A) w tryb power down w celu oszczędzania energii. Mam jednak problem z wybudzeniem kontrolera, bo wiem że wybudzić go można podając stan niski na pin INT0. Nie chcę jednak aby określony przycisk go wybudzał, a dowolny przycisk. Jak mogę w najprostszy sposób podłączyć przyciski, tak aby każdy mógł wybudzić AVR, ale żeby nie wpływały na siebie nawzajem? Pozdrawiam.
  4. Witam, Próbowałem zmienić taktowanie uC z 9MHz(fabryczne) na 4.8MHz. Temu taktowaniu odpowiadają fusebity: LOW - 0x69 HIGH - 0xFF Fusy wgrywałem programem Eclipse. Po wgraniu, dostaje rc - 1... Dlaczego, skoro ten problem dotyczy najczęściej jeśli ustawiło się taktowanie z kwarcem zewnętrznym, a ja przecież tego nie ustawiłem?? Tu nawet nie ma gdzie kwarca podłączyć chyba że jakiś generator. Dodam, że jakiś czas temu wydaje mi się ze wgrywałem je dokładnie tak samo na taki sam kontroler i nie było problemu. O co może chodzić?
  5. W zasadzie no nie musze.. ale jak to człowiek leniwy jest nie chce się odłączać wtyczki za każdym razem ale jest to pomysł, zamiast stać w miejscu to rzeczywiście mogę odłączać ten sensor. Z tym że i tak z chęcią bym rozwiązał ten problem, bo o coś musi chodzić tylko raczej cieżko powiedzieć co Gdybym miał wolny choć jeden pin procesora to bym zostawił to MOSI i raczej by nie było problemu, ale no niestety pełny kontroler zajęty, no RESET zostawiłem wolny ale nie posiadam równoległego programatora także nie będę tutaj zmieniał fusebitów, a kto wie może i z resetem by coś krzaczyło.. [ Dodano: 25-09-2016, 18:12 ] Teraz chwilę pogrogramowałem na Atmedze88, na wepniętym ECHO do MOSI, jak w przypadku Attiny44 i tutaj też wyskoczył mi błąd rc = -1. Z jednej strony dobrze bo nie znaczy to że coś z tym Attiny jest nie tak a z innym kontrolerem sytuacja jest taka sama. No wniosek z tego taki że lepiej nie podpinać tego ECHO do pinów SPI. [ Dodano: 25-09-2016, 18:21 ] Spróbuję zamienić np PA0 z dioda led na PA6, żeby ECHO wylądowało nie na żadnym SPI. Być może będzie ok. [ Dodano: 25-09-2016, 19:04 ] Po zamianie pinu wszystko zaczęło działać. Także problem rozwiązany
  6. Witam, Mam przedziwny problem, otóż robię taki projekcik, dwa panele z ledami i czujnikami HC-SR04. Schemat jest taki: Proszę przymknąć oko na te złącza goldpin Jak nie mogę znaleźć elementu to po prostu wstawiam goldpiny a na płytce i tak pasuje. Ogólnie płytkę mam wytrawioną, polutowaną, panele gotowe, kawał roboty za sobą. Pisząc program jednak musiałem posprawdzać każdą część po kolei, osobno enkoder, osobno ledy, dobrać pwm itd. i na koniec jeśli będę pewien że wszystko działa, napiszę finalny program. Mam niestety jednak wrażenie że elektronika "szuka" najbardziej głupich powodów żeby układ nie działał Dlaczego głupich, a no dlatego że za chiny nie mogę zrozumieć o co chodzi. Procesor jest ogólnie wykrywany przez komputer, ale do momentu kiedy podłączę zasilanie czujnika oraz pin ECHO_B, kiedy podłączę ten sygnał ECHO, dostaję komunikat na mkavrcalculator: avrdude.exe: set SCK frequency to 2000 Hz avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update. avrdude.exe: error: programm enable: target doesn't answer. 1 avrdude.exe: initialization failed, rc=-1 avrdude.exe: AVR device initialized and ready to accept instructions avrdude.exe: Device signature = 0x000000 avrdude.exe: Yikes! Invalid device signature. avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07 avrdude.exe done. Thank you. Compiled special for http://forum.atnel.pl (v5.11.1) Związany z tym że albo linie SPI są źle podłączone, albo fusebity ustawione na zewnętrzny kwarc a go nie ma, albo coś z zasilaniem... Jednak ja te wszystkie kryteria mam spełnione Sądziłem, że coś jest z sygnałem MISO... wiem że też trzeba ostrożnie z podpinaniem odbiorników pod linie SPI, ale sprawdziłem i podpiąłem ten czujnik do Atmegi88, z tym że ECHO do MOSI, a TRIG do MISO.. żeby sprawdzić czy będzie podobny problem. Ale procesor się bezbłędnie programował Jeszcze dla sprawdzenia, odłączyłem czujnik i podłączyłem MOSI do diody led przez rezystor 470 om, tutaj też procesor był wykrywany przez mkavrcalculator.(mowa tutaj o Attiny44). Po podłączeniu ECHO, nie ma żadnych zwarć Zresztą, dokładnie ten sam czujnik w tych samych warunkach podłączony do Atmegi88 jak wcześniej wspominałem programuje się prawidłowo więc nie ma tam żadnych zwarć ani niczego co mogło by powodować ten problem. Co ciekawe, pisząc ten post, pomyślałem że podłączę wtyczkę tego wadliwego panelu(bardziej czujnika), do po prostu drugiego panelu z drugim czujnikiem, no i wykrywa prawidłowo... Z tym że, w drugim panelu pin MOSI jest podłączony do TRIG.. ale nie chcę już mieszać. Jeszcze pokażę na zdjęciu z czym mamy do czynienia: Jeśli ktoś byłby chętny pomóc mi rozwiązać ten problem, to będę wdzięczny bo już nie mam niestety głowy do tego. W razie pytań bardziej szczegółowych oczywiście odpowiem. Pozdrawiam
  7. No tak miałem źle tłumienie sondy ustawione... Że nie zwróciłem na to uwagi To wszystko jest ok. Dzięki za pomoc
  8. Witam, Miałem problem z tym czujnikiem bo uC nie wykrywał mi żadnego impulsu na pinie ECHO, sprawdzilem więc to na oscyloskopie i okazało się że czujnik prawidłowo generuje impulsy, nawet odległość się zgadza po przeliczeniu, ale wartość napięcia tego sygnału ma około 500mV :/ Dlatego też kontroler tego nie łapie... Tutaj zdjęcie jak to wyglada: Czujnik powinien podać chyba coś koło napiecia zasilajacego(5V)? Wiecie może dlaczego takie niskie napięcie podaje ten czujnik? Szukałem na internecie ale nie znalazłem podobnego problemu.
  9. Witam. Wyjąłem z komputerowej nagrywarki DVD malutki silniczek krokowy. Przy sterowaniu pełnokrokowym jednofazowym silnik ma zbyt mały moment. Napisałem więc program do sterowania dwufazowego w oparciu o artykuły w internecie. Jest to niby nic trudnego, jednak moment zamiast zwiększyć się o te 40%, to raczej podziałało w drugą stronę W sterowaniu jednofazowym kiedy przytknę palcem wału silnika to czuje opór, a z kolei przy dwufazowym już gdy tylko dotknę, to silnik daje rady, zatrzymuje się... Program jest prawdopodobnie dobrze napisany, gdyż silnik się obraca. Nie wariuje, nie gubi kroków ani nic, jest ok. Tylko coś z tym momentem nie chodzi. Różnica jest również w temperaturze obudowy. W sterowaniu dwufazowym temperatura jest wyższa zdecydowanie czuć że silnik jest ciepły, ale to normalne raczej. Silnik zasilam zasilaczem 5V o wydajności prądowej 700mA. Jest to dość mało, jednak jest to mały silniczek więc chyba powinno wystarczyć. Zamieszczam również program: #include <avr/io.h> #include <util/delay.h> #define T1 (1<<PC1) //A+ #define T2 (1<<PC2) //A- #define T3 (1<<PC3) //B+ #define T4 (1<<PC4) //B- int main( void ){ DDRC |= (T1|T2|T3|T4); PORTC &= ~(T1|T2|T3|T4); while(1){ PORTC = (T2|T4); PORTC &= ~(T1|T3);// A-, B- _delay_ms(100); PORTC = (T2|T3); PORTC &= ~(T1|T4);// A-, B+ _delay_ms(100); PORTC = (T1|T3); PORTC &= ~(T2|T4);// A+, B+ _delay_ms(100); PORTC = (T1|T4); PORTC &= ~(T2|T3);// A+, B- _delay_ms(100); } } Pozdrawiam
  10. Ok zakupiłem dzisiaj przez internet akumulator li - pol. Napiszę jak serwa będą się zachowywały przy takim zasilaniu. Dzięki!
  11. Witam, Tworze quadrupeda z 12 serwami. Jestem juz bardzo blisko aby robot zrobił pierwsze kroki, jednak niestety napotkal mnie taki problem jak w tytule tematu Kiedy chce np, aby robot dwoma nogami zrobił krok w przód(czyli sterowanie 6 serwami), to procesorek radzi sobie całkiem nieźle, nie ma problemów. Kłopot pojawia sie w momencie, kiedy chce dwoma nogami zrobić krok w przód, a jednoczesnie serwa w pozostałych nogach utrzymują kat aby robot sie nie rozkraczyl. Wtedy, dzieje sie istna masakra! Serwa zaczynają szalec, obracać sie na maksa w jedna stronę, no po prostu tragedia! Ale dlaczego tak sie dzieje? W przypadku kiedy wszystkie cztery nogi maja zrobić krok w jednym momencie, dzieje sie to samo. Cos jak by Atmega nie wyrabiala ale to na pewno nie w tym problem. Te serwa to TowerPro MG945, zasilam cały układ z zasilacza do smartfona o wydajności pradowej 2000mA i napięciu 5V, a całość jest sterowana Atmega8 o taktowaniu 8 MHz. Na wyjście zasilania jest podłączony kondensator 3000 uF, a przy kazdym zasilaniu serw są podłączone kondensatory 100uF oraz równolegle z nimi kondensatory 100 nF(12 kompletów). Proszę bardzo o pomoc jak mam sie tego pozbyć abym mógł normalnie sterować. Jak cos mogę podeslac program, zdjęcia, film, co będzie potrzebne. Pozdrawiam
  12. Witam, Tworzę robota kroczącego z czterema nogami w którym jedna kończyna posiada 3 serwa, a całościowo będzie posiadał 12 serwomechanizmów. Proszę oto zdjęcia robota, jak widać dopiero ma dwie nogi i niekompletną ilość serw, ale za kilka dni już całość będzie gotowa. Chciał bym aby na początek noga zrobiła krok do przodu, jednak natrafiłem na pewien problem. Otóż kiedy próbuję sterować jednym serwem to poprawnie, czysto obraca się o taki kąt jaki ustalę w programie. Ale, kiedy np. chcę obracać o ten sam kąt, ale dwoma serwami - to jedno z nich zaczyna jakoś dziwnie drgać, obracać trochę dalej i zaraz cofać na zadany kąt... Przy jednym jest okej, dopiero kiedy podłączę dwa serwa jest problem. Strach pomyśleć co będzie jak podłączę 12 serw! Pomyślałem i podłączyłem równolegle do zasilania kondensator 1000uF i 1500uF, co razem daje 2500uF i drgania ustały, oba serwa obracają się prawidłowo. Zauważyłem również że serwa są dość mocno podatne na wszelkie zakłócenia. Montuję układ testowo na płytce stykowej która sama powoduje zakłócenia i nawet jak poruszę kabelkami to już zaczynają jakieś odruchy robić. Chciałem się zapytać bo kondensatory najwyraźniej są potrzebne, ale kiedy podłączę więcej serw, to czy będę musiał dodać więcej kondensatorów? Albo kondensator na jedno serwo? Chciał bym wyeliminować wszelkie zakłócenia, może oprócz kondensatorów dodać jakieś elementy indukcyjne? Pozdrawiam __________ Komentarz dodany przez: Treker
  13. Witam, planuję na wakacje zrobić robota czworonożnego wzorując się na popularnym robocie Phoenix, oto link: http://www.lynxmotion.com/c-117-phoenix.aspx Wszelkie elementy nóżek i korpusu wytnie frezarka która jest sparowana z programem AutoCad. Mam pytanie, czy ktoś posiada pliki, na których zapisane są skonstruowane elementy podobnego robota w finalnej wersji, gotowe do wycięcia? Niestety nie mam wprawy w tego typu programach, więc jeśli ktoś dysponował by takimi plikami na komputerze, byłbym bardzo wdzięczny jeśli mógłby mi ktoś udostępnić mi takie pliki Pozdrawiam
  14. Witam, tworzę obsługę czujnika HC-SR04, ale w trakcie naszła mnie pewna wątpliwość co do funkcji warunkowej. Czy w takim przypadku: volatile uint8_t flag = 0; ISR(INT0_vect){ if(flag == 0){ // flag = 0, przerwanie wykonuje funkcję warunkową cnt = 0; LCD_GoTo(0,0); LCD_Int(cnt); flag += 1; MCUCR |= (1<<ISC01); // przerwanie opadajace } if(flag == 1){ // w poprzedniej funkcji if zmienna flag została zwiększona o 1, czy przerwanie od razu przejdzie do następnej funkcji if? Czy zakończy się, a przy następnym wygenerowaniu przerwania zostanie wykonana funkcja if(flag == 1)? MCUCR |= (1<<ISC00)|(1<<ISC01); // przerwanie rosnace cnt = 1; LCD_GoTo(0,0); LCD_Int(cnt); } } Pozdrawiam.
  15. Tak, mam pełną wersję programu, a "Auto SCK Speed" jest zaznaczone. Program był skompilowany pod częstotliwość 8Mhz, ale pamiętam że chyba wszystko popsuło się po ustawieniu 0,4Mhz - 0,9Mhz (tylko rezonator ceramiczny). Spora różnica częstotliwości, może to zabiło atmege?
×
×
  • Utwórz nowe...