Skocz do zawartości

mictronic

Użytkownicy
  • Zawartość

    93
  • Rejestracja

  • Ostatnio

Reputacja

3 Neutralna

O mictronic

  • Ranga
    4/10
  • Urodziny 13.03.1994

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Bydgoszcz
  • Zainteresowania
    EV,elektronika
  1. To byly czasy, treker przypomnial jak sam zafascynowany tym robotem zaczalem dzialac w swiecie elektroniki i programowania. Wtedy tez powstala stara dioda(dzis forbot po malych rewolucjach) z logiem robionym w paincie, tak to bylo i teraz peklo 10 lat. Wtedy watpilem w to ze portal o takiej tematyce nabierze takiej popularnosci i bedzie na tak wysokim poziomie, a jednak i szczerze gratuluje!
  2. W sumie wydaje mi się że NPN powinien być na dole bo ściąga ładunek z bramki przez kolektor-emiter do masy a PNP ładuje. Tak mi bynajmniej działało. Ale czasy przełączania to to miało mizerne.
  3. Nie za bardzo, w ten sposób naładujesz bramkę mosfeta i nigdy się nie wyłączy(Jeśli w ogóle to się stanie). Potrzeba jeszcze jednego klucza bipolarnego do rozładowania bramki. Patrz para komplementarna tranzystorów BD140-139 Poza tym spójrz do dokumentacji twój mosfet nie otworzy się do końca przy 5V i będą się na nim wydzielały straty większe niż określono przez rezystancje kanału. O wiele lepiej przy niskich napięcia Ugs sprawują się mosfety serii IRL. Straty w tranzystorze mozna policzyć ze wzoru P=I^2*R gdzie P-Moc wydzielana I-prąd kanału R-rezystancja kanału Dlatego ważne jest też by rezystancja kanału mosfeta była jak najmniejsza.
  4. Zależy jaki prąd zostanie wymuszony na kablu... Nieważne, nie ma co offtopować
  5. Tak,pewnie jakbyś miał przewody grubości włosa to transmisja by chodziła i na 100m ,wszystko zależy głownie od pojemności przewodu im większa pojemność tym dłuższe czasy propagacji a wiec większe cyrki
  6. Kiedyś przez skrętkę UTP 10m programowałem :)Bez błędów normalnie z bascoma.
  7. No właśnie bascom nie daje za bardzo takiej opcji trzeba mieszać w rejestrach :/
  8. Witam! Jeśli temat jest nadal aktualny... Użyłbym do tego dowolnego przerwania zewnętrznego i dowolnego timera do pomiaru czasu. Zaleta jest taka ze można ustawić sobie na jakie zbocze lub zmianę sygnału ma układ reagować,po wykryciu takiego sygnału uruchamiamy timer który liczy sobie takty.Polecam w tym wypadku 16bitowy. -Przykładowo konfigurujemy urządzenie INT0 to generowania przerwania po stwierdzeniu zmiany sygnału na końcówce. Timer1 konfigurujemy normalnie z jakimś prescalerem. Przykładowo liczę dla max obrotów 10000rpm Gdzie jedno przejście kola trwa 6ms (10000/60=166 1/166=6ms) To impuls z ząbka będzie trwać 60us (6ms/100=60us) Dlatego potrzeba inkrementowac timer1 szybciej niz 60us Wiec dla zegaru 8mhz prescaler wyniesie np 256 i timer będzie się inkrementowac co 32us,i przepełni się dopiero po ok 2 sekundach czyli idealnie znajdzie się w naszym zastosowaniu (0,000032*65536=2,097152s) -W podprogramie togglujemy sobie flagę ze przerwanie nastąpiło a po tym warunek jeśli flaga=1 to włącz timer a jeśli 0 to wyłącz timer i zacznij przeliczać na obr/s Po prostu trzeba się pobawić Pozdrawiam
  9. Max232 ruszy nawet na 100nF,mam tak zrobione w plytce prototypowej i wszystko chodzi. Pojemniejsze kondensatory mogą odgrywać większa role przy pracy z długimi przewodami,wtedy daje znać o sobie pojemność i spadek napięcia na kabelku.
  10. A mi to kto miał powiedzieć jak to uruchomić?? Jakoś sobie poradziłem, póki co polski help do bascoma jeszcze jest dostępny :| Nie mam właśnie co robić to się podzielę kodem ale żal jest oddawać ot tak ileś godzin pracy. Moze to ci cos pomoze http://www.mcselec.com/index.php?option=com_content&task=view&id=189&Itemid=57 Rubryka "The basics of a touch screen" Uwaga zalacznik typu JPG zmienić rozszerzenie na BGF-obrazek klawiatury i dodac do kompilowanego programu. Klawiaturka: $regfile = "m16def.dat" $crystal = 8000000 Config Graphlcd = 240 * 128 , Dataport = Portx , Controlport = Portx , Ce = x , Cd = x , Wr = x , Rd = x , Reset = x , Fs = x , Mode = 8 Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Cursor Off Dim Y As Word Dim X As Word Dim Z As Word Dim Klawisz As Byte Dim Xw As Byte Dim Yw As Byte Dim Flaga As Bit Dim Spac As Byte Spac = 1 Cls Showpic 0 , 0 , A Do Porta.2 = 0 Porta.0 = 0 Porta.1 = 1 Porta.3 = 1 Ddra.2 = 1 Ddra.0 = 1 Ddra.1 = 0 Ddra.3 = 0 Waitus 100 Z = Getadc(3) Porta.2 = 1 Porta.0 = 0 Porta.1 = 0 Porta.3 = 0 Ddra.2 = 1 Ddra.0 = 1 Ddra.1 = 0 Ddra.3 = 0 Waitus 100 X = Getadc(3) Porta.2 = 0 Porta.0 = 0 Porta.1 = 1 Porta.3 = 0 Ddra.2 = 0 Ddra.0 = 0 Ddra.1 = 1 Ddra.3 = 1 Waitus 100 Y = Getadc(2) Shift X , Right , 2 Shift Y , Right , 3 X = X - 21 Y = Y - 21 Xw = X Yw = Y If Z > 800 Then Flaga = 0 If Z < 800 Then If Flaga = 0 Then Incr Spac If Spac > 30 Then Spac = 1 Ddrc.6 = 1 Reset Portc.6 If Xw < 20 Then : If Xw > 0 Then : If Yw < 15 Then : If Yw > 0 Then Klawisz = 81 : End If : End If : End If If Xw < 42 Then : If Xw > 22 Then : If Yw < 15 Then : If Yw > 0 Then Klawisz = 87 : End If : End If : End If If Xw < 62 Then : If Xw > 44 Then : If Yw < 15 Then : If Yw > 0 Then Klawisz = 69 : End If : End If : End If If Xw < 84 Then : If Xw > 64 Then : If Yw < 15 Then : If Yw > 0 Then Klawisz = 82 : End If : End If : End If If Xw < 105 Then : If Xw > 88 Then : If Yw < 15 Then : If Yw > 0 Then Klawisz = 84 : End If : End If : End If If Xw < 128 Then : If Xw > 108 Then : If Yw < 15 Then : If Yw > 0 Then Klawisz = 89 : End If : End If : End If If Xw < 150 Then : If Xw > 130 Then : If Yw < 15 Then : If Yw > 0 Then Klawisz = 85 : End If : End If : End If If Xw < 170 Then : If Xw > 152 Then : If Yw < 15 Then : If Yw > 0 Then Klawisz = 73 : End If : End If : End If If Xw < 192 Then : If Xw > 172 Then : If Yw < 15 Then : If Yw > 0 Then Klawisz = 79 : End If : End If : End If If Xw < 214 Then : If Xw > 194 Then : If Yw < 15 Then : If Yw > 0 Then Klawisz = 80 : End If : End If : End If If Xw < 9 Then : If Xw > 0 Then : If Yw < 32 Then : If Yw > 16 Then : Decr Spac : Klawisz = 32 : Decr Spac : End If : End If : End If : End If 'bkspc If Xw < 30 Then : If Xw > 10 Then : If Yw < 32 Then : If Yw > 16 Then Klawisz = 65 : End If : End If : End If If Xw < 52 Then : If Xw > 32 Then : If Yw < 32 Then : If Yw > 16 Then Klawisz = 83 : End If : End If : End If If Xw < 73 Then : If Xw > 54 Then : If Yw < 32 Then : If Yw > 16 Then Klawisz = 68 : End If : End If : End If If Xw < 95 Then : If Xw > 75 Then : If Yw < 32 Then : If Yw > 16 Then Klawisz = 70 : End If : End If : End If If Xw < 117 Then : If Xw > 98 Then : If Yw < 32 Then : If Yw > 16 Then Klawisz = 71 : End If : End If : End If If Xw < 140 Then : If Xw > 119 Then : If Yw < 32 Then : If Yw > 16 Then Klawisz = 72 : End If : End If : End If If Xw < 160 Then : If Xw > 141 Then : If Yw < 32 Then : If Yw > 16 Then Klawisz = 74 : End If : End If : End If If Xw < 180 Then : If Xw > 163 Then : If Yw < 32 Then : If Yw > 16 Then Klawisz = 75 : End If : End If : End If If Xw < 203 Then : If Xw > 184 Then : If Yw < 32 Then : If Yw > 16 Then Klawisz = 76 : End If : End If : End If If Xw < 30 Then : If Xw > 0 Then : If Yw < 48 Then : If Yw > 33 Then Klawisz = 32 : End If : End If : End If 'spc If Xw < 52 Then : If Xw > 32 Then : If Yw < 48 Then : If Yw > 33 Then Klawisz = 90 : End If : End If : End If If Xw < 73 Then : If Xw > 54 Then : If Yw < 48 Then : If Yw > 33 Then Klawisz = 88 : End If : End If : End If If Xw < 95 Then : If Xw > 75 Then : If Yw < 48 Then : If Yw > 33 Then Klawisz = 67 : End If : End If : End If If Xw < 117 Then : If Xw > 98 Then : If Yw < 48 Then : If Yw > 33 Then Klawisz = 86 : End If : End If : End If If Xw < 140 Then : If Xw > 119 Then : If Yw < 48 Then : If Yw > 33 Then Klawisz = 66 : End If : End If : End If If Xw < 160 Then : If Xw > 141 Then : If Yw < 48 Then : If Yw > 33 Then Klawisz = 78 : End If : End If : End If If Xw < 180 Then : If Xw > 163 Then : If Yw < 48 Then : If Yw > 33 Then Klawisz = 77 : End If : End If : End If If Xw < 214 Then : If Xw > 184 Then : If Yw < 48 Then : If Yw > 33 Then Klawisz = 255 : End If : End If : End If If Xw < 10 Then : If Xw > 0 Then : If Yw < 30 Then : If Yw > 17 Then Cls Text : Spac = 1 : End If : End If : End If Waitms 10 Set Portc.6 Flaga = 1 Print Chr(klawisz) End If Locate 11 , Spac Lcd Chr(klawisz) ; Spc(2) End If Locate 14 , 1 Lcd "Kl=" ; Klawisz ; Spc(2) Locate 15 , 1 Lcd "Xpoz=" ; Xw ; Spc(2) Locate 16 , 1 Lcd "Ypoz=" ; Yw ; Spc(2) Waitms 100 Loop End A: $bgf "klawiatka.bgf" Obsluga TOUCH: $regfile = "m16def.dat" $crystal = 8000000 Config Graphlcd = 240 * 128 , Dataport = portx , Controlport = Portx , Ce = x , Cd = x , Wr = x , Rd = x , Reset = x , Fs = x , Mode = 8 Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Cursor Off Dim Y As Word' Dim X As Word' Dim Z As Word'prosty odczyt z przetwornikow Dim Calx As Single' Dim Caly As Single'kalibracja Dim Xw As Byte' Dim Yw As Byte'skalibrowane dane Cls Do Porta.2 = 0 Porta.0 = 0 Porta.1 = 1 Porta.3 = 1 Ddra.2 = 1 Ddra.0 = 1 Ddra.1 = 0 Ddra.3 = 0 Z = Getadc(3)'pomiar wcisniecia If z < 100 then 'jak wcisniety to sciagnij osie X i Y Porta.2 = 1 Porta.0 = 0 Porta.1 = 0 Porta.3 = 0 Ddra.2 = 1 Ddra.0 = 1 Ddra.1 = 0 Ddra.3 = 0 X = Getadc(3) Porta.2 = 0 Porta.0 = 0 Porta.1 = 1 Porta.3 = 0 Ddra.2 = 0 Ddra.0 = 0 Ddra.1 = 1 Ddra.3 = 1 Y = Getadc(2) X = X - 65 Y = Y - 150'odejmij jakies wartosci by znalezc poczatek lcd TU KALIBRUJESZ DLA SWOJEGO LCD Calx = 240 * X Calx = Calx / 240 Xw = Calx Caly = 128 * Y Caly = Caly / 128 Yw = Caly Pset Xw , Yw , 255 end if If Xw > 157 And Xw < 190 Then If Yw > 120 And Yw < 128 Then Cls 'przycisk CLS End If Locate 14 , 1 Lcd Flaga Locate 15 , 1 Lcd "Xpoz=" ; Xw ; Spc(2) Locate 16 , 1 Lcd "Ypoz=" ; Yw ; Spc(2) Locate 16 , 20 Lcd "[CLS]" loop end Powinno chodzić jednakże musisz skonfigurować ... klawiatka.jpg
  11. Wpisałeś sobie dumnie "Programuję w:BASCOM" wiec w czym masz problem? Wartość z przetwornika podłączonego do touchpanela niestety nie będzie się pokrywała z "pixelami" lcd dlatego należy to przekształcić matematycznie -proporcja. Pozdrawiam ...
  12. W układach AVR serii Mega i budach SMD masz wbudowane wzmacniacze operacyjne o wzmocnieniu 20x i chyba 200x przy niskim i stabilnym napięciu odniesienia np 2,5V wzmocnieniu 200x , 10bitach uzyskujesz zakres pomiarowy 12,5mV-1,2uV. Całkiem ładnie ale wg mnie będzie pływać Ciekawi mnie również jaki prąd mierzysz stały czy zmienny np PWM?Jak odfiltrujesz sygnał ? Ps W EAGLU klikasz invoke w panelu narzędziowym i wybierasz brakujące nogi .
  13. W czym rysowane te opisy ładne ? https://www.forbot.pl/forum/upload_img/obrazki/IMG_4b80f57abc83f2075.jpg
  14. Polskie dokumentacje do większych procesorów zostały przetłumaczone i są dostępne w internecie dla ogółu ... Taka regulacje jak kolega opisał realizujemy poprzez najprostsze zwiększanie lub zmniejszanie zmiennej przykładowo przycisk plus i minus do tego odpowiednie warunki... Jak już wyżej zostało napisane,diody led czy silniki możemy sterować poprzez PWM,w tym wypadku jest to regulacja impulsowa.Chcąc uzyskać stale napięcie na wyjściu potrzeba jeszcze filtru typu RC.
×
×
  • Utwórz nowe...