| Author |
Message
|
gorsomir Poziom 12

Joined: 23 Mar 2008 Posts: 90 Location: Poznań
|
#1
08 Oct 2009 19:32 Kilka problemów przy budowie platformy jeżdżącej |
|
|
|
Witam
Buduję Robota lub jak kto woli platformę jeżdżącą
Niestety napotkałem kilka problemów z którymi nie umiem sobie poradzić ale mam nadzieje że z waszą pomocą uda mi się
Chodzi konkretnie o
1. Chcę sterować silnikiem DC(takim jak w motorkach dziecięcych) przez mostek L293D
Wszystko niby pięknie ładnie ale...
gdy wysteruje mostek tak aby koło kręciło się do p przodu to Silnik rusza i Koło też i wszystko jest ok przez jakieś 10s po tym czasie silnik tylko brzęczy a mostek się straszliwie grzeje. Silnik jest na 6V i gdy jako takiego podłączyłem bez mostka bezpośrednio do akumulatora to wszystko jest ok
Na początku myślałem ze to kwestia zbyt dużego spadku napięcia na mostku więc podłączyłem zasilanie silników do 12V i efekt jest ten sam. Drugie podejrzenie padło na wydajność prądową mostka ale niestety nie mam teraz jak zmierzyć dokładnie ile pobiera silnik
Co o tym myślicie ? ma to wogule prawo działać??
Oczywiście gdy podepnę mniejszy silnik to wszystko jest ok ale musi być tamten bo cała mechanika jest z tego motorka i pod ten silnik
może poprostu wyrzucić mostek i zrobić to na przekaźnikach ??
Co prawda chciałem sterować prędkością przez PWM ale ważne zeby to wogle działało i regulacja prędkości nie jest tak istotna.
2. chciałem wyposażyć go w amperomierz co bym wiedział ile pobieram prądu i zrobiłem to na rezystorze 1ohm niby wszystko fajnie ale atmega 32 na której ma być ten miernik głupieje tzn
gdy między masą układu a napięciem na pinie ADC0 panuje napięcie około 0,7V
według atmegi jest tam 267 w skali 1024
co jest dziwne dla napięcia odniesienia jakim jest Avcc
natomiast gdy zwiększę pobór tak ze mam na ADC0 napięcie 1,60V atmega twierdzi ze jest tam 0 w skali 1024 dziwne ?? Ja tego kompletnie nie rozumiem co ciekawe wszystkie kanały dają dokładnie ten sam rezultat
3. Tutaj tego już kompletnie nie rozumiem w kodzie który jest w załączniku (to też ten od ADC)
Skrl i skrp co ciekawe zawsze po rozpoczęciu pętli głównej od nowa program twierdzi że powinno tam być wartość 0 mimo że deklaruje ze ma tam by na samym początku 1
co ciekawe to tak jak by wszystkie zmienne sie resetowały ale gdy napisałem licznik
który na końcu pętli dodawał do siebie 1 to ta zmienna się nie zerowała i działał tak jak powinna
4 czwarta sprawa to trochę z innej beczki
Buduję jeszcze inny projekt w którym mam problem z liczbą losową
Niby jest w bascomie polecenie RND() ale wszyscy wiedzą co to jest i nie ma nic wspólnego z losowaniem no chyba że tylko u mnie wyniki powtarzają się zawsze
Chodzi o to że musze po włączeniu procka wylosować liczbę od 1 do 40 i ważne jest to aby nie komplikować układu najlepiej gdyby wszystko było programowe
słyszałem o tym ze można kombinować z ADC ale wolał bym tego uniknąć
Ma może ktoś jakiś pomysł ??
Oto kod programu w bascomie na mege 32 którego dotyczą ptk 2 i 3
| Code: |
$regfile = "m32def.dat"
$crystal = 8000000
Config Com1 = Dummy = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 'konfiguracja portu COM
$baud = 1200
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config 1wire = Portb.4 'konfiguracja 1wire
Config Portb.3 = Output
Config Portb.2 = Output
Config Portb.1 = Output
Config Portb.0 = Output
Config Porta.0 = Input
Dim Xer As Integer
Dim Tmp As String * 8
Dim T1 As Single
Dim T2 As Single
Dim B1 As Byte , B2 As Byte , R As Byte
Dim Znak As String * 1 'znak temperatury z DSa +/- 'konfiguracja I2c
Dim B As Byte
Dim S As String * 15
Dim Wart_ac As Word
Dim Amp As Word
Dim Skrl As Bit
Dim Skrp As Bit
Dim X As Word
Lpp Alias Portb.0 'Pampa Przednia Prawa
Lpl Alias Portb.1 'Lampa Przednia Lewa
Skretl Alias Portb.3
Skretp Alias Portb.2
Declare Sub Ampery
Declare Sub 1wr
Declare Sub Temp
Enable Serial
Echo On
Print "@Witaj#"
Lpp = 1
Lpl = 1
Skretl = 1
Skretp = 1
Start Adc
Skrl = 1
Skrp = 1
Do
Disable Interrupts '
Temp
Print "@TMP" ; Znak ; Tmp ; "#"
Print "@PRZ" ; Lpp ; Lpl ; "#"
Print "@SKR" ; Skrl ; " " ; Skrp ; "#"
Print "@przeb" ; X ; "#"
Ampery
Print "@AMP" ; Amp ; "#"
Enable Interrupts
B = Inkey()
Print "RX" ; B
If B = "a" Then
Skrl = 0
End If
If B = "b" Then
Skrp = 0 '0 ""
End If
If B = "A" Then
Skrl = 1
End If
If B = "B" Then
Skrp = 1
End If
If B = "l" Then 'zaswiec lewą lampe
Lpl = 0
End If
If B = "p" Then 'zaswiec prawą lampe
Lpp = 0
End If
If B = "L" Then 'zgas lewą lampe
Lpl = 1
End If
If B = "P" Then 'zgas prawą lampe
Lpp = 1
End If
Print "@------------------#"
If Skrl = 0 Then
Skretl = 0
Waitms 250
Skretl = 1
End If
If Skrp = 0 Then
Skretp = 0
Waitms 250
Skretp = 1
End If
X = X + 1
Loop
End
Sub Ampery
Wart_ac = Getadc(0)
Waitms 50
Wart_ac = Getadc(0)
Amp = Wart_ac
Waitms 150
End Sub
Sub 1wr
1wreset
End Sub
Sub Temp
1wr 'podprogram 1wr
1wwrite &HCC 'komenda skip ROM
1wwrite &H44 'komenda convert T
Waitms 250 '750
1wr 'podprogram 1wr
1wwrite &HCC 'komenda skip ROM
1wwrite &HBE 'komenda read
B1 = 1wread()
Waitms 250 '250 'odczyt z termometru
B2 = 1wread()
Waitms 250 '250
1wr 'podprogram 1wr
If B2 >= 248 Then 'w przypadku temperatur ujemnych
B1 = R - B1 'Od 255 Odejmujemy B1
B2 = R - B2 'od 255 odejmujemy B2
Znak = "-"
Else
Znak = "+"
End If
T1 = B1 / 16 'Przesuniecie w pawo o 4 bajty
T2 = B2 * 16 'przesuniecie w lewo o 4 bajty
T1 = T1 + T2
Tmp = Fusing(t1 , "###.&&")
End Sub
|
Proszę o pomoc i pozdrawiam
|
|
| Back to top |
|
 |
szyszekpg Poziom 6

Joined: 07 Jun 2004 Posts: 18 Location: Gdańsk
|
#2
08 Oct 2009 20:48 Re: Kilka problemów przy budowie platformy jeżdżącej |
|
|
|
Nie wiem dokładnie jakie masz silniki ale jeśli są od pojazdu zdolnego przewieść dziecko (czyli około 15kg) to na pewno przy 6V maja większy pobór prądu niż 1,2A podanego w specyfikacji L293D. Moim skromnym zdaniem nie obędzie się od budowy mostka H na mosfetach.
|
|
| Back to top |
|
 |
Google

|
#
08 Oct 2009 20:48 |
|
|
|
|
|
| Back to top |
|
 |
bogdan_p Poziom 23

Joined: 12 Feb 2003 Posts: 3519
|
#3
08 Oct 2009 21:29 Re: Kilka problemów przy budowie platformy jeżdżącej |
|
|
|
zgadzam się z przedmówcą za małe mostki proponuje zmierzyć prąd zwarcia silników może wystarczą L298 pojedynczo lub w układzie równoległym , pokaż schemat pomiaru prądu a przy okazji zobacz ten temat , schemat jest dla ATMegi 8 ale zasada identyczna
|
|
| Back to top |
|
 |
Google

|
#
08 Oct 2009 21:29 |
|
|
|
|
|
| Back to top |
|
 |
gorsomir Poziom 12

Joined: 23 Mar 2008 Posts: 90 Location: Poznań
|
#4
08 Oct 2009 22:18 Re: Kilka problemów przy budowie platformy jeżdżącej |
|
|
|
ten temat ?? możesz zapodać linka bo chyba go nie dostałem :D
Ale dzieki za odzew
|
|
| Back to top |
|
 |
bogdan_p Poziom 23

Joined: 12 Feb 2003 Posts: 3519
|
|
| Back to top |
|
 |
misiek1994 Poziom 16

Joined: 19 May 2007 Posts: 314 Location: Sędziszów Młp.
|
#6
09 Oct 2009 18:15 Re: Kilka problemów przy budowie platformy jeżdżącej |
|
|
|
| Quote: |
2. chciałem wyposażyć go w amperomierz co bym wiedział ile pobieram prądu i zrobiłem to na rezystorze 1ohm niby wszystko fajnie ale atmega 32 na której ma być ten miernik głupieje tzn
gdy między masą układu a napięciem na pinie ADC0 panuje napięcie około 0,7V
według atmegi jest tam 267 w skali 1024
co jest dziwne dla napięcia odniesienia jakim jest Avcc
natomiast gdy zwiększę pobór tak ze mam na ADC0 napięcie 1,60V atmega twierdzi ze jest tam 0 w skali 1024 dziwne ?? Ja tego kompletnie nie rozumiem co ciekawe wszystkie kanały dają dokładnie ten sam rezultat |
Wgraj coś w C i sprawdź, czy działa, bascomowi nie ufam od pewnego czasu. Poza tym podłącz lcd i monitoruj cały czas co robi procek.
| Quote: |
4 czwarta sprawa to trochę z innej beczki
Buduję jeszcze inny projekt w którym mam problem z liczbą losową
Niby jest w bascomie polecenie RND() ale wszyscy wiedzą co to jest i nie ma nic wspólnego z losowaniem no chyba że tylko u mnie wyniki powtarzają się zawsze
Chodzi o to że musze po włączeniu procka wylosować liczbę od 1 do 40 i ważne jest to aby nie komplikować układu najlepiej gdyby wszystko było programowe
słyszałem o tym ze można kombinować z ADC ale wolał bym tego uniknąć
Ma może ktoś jakiś pomysł ?? |
Jak chcesz w 100% losową to podłączasz np. napiecie sieciowe odpowiednio podzielone i liczysz częstotliwość i sobie mnożysz prockiem (przynajmniej ja bym tak zrobił). Wiadomo, że nie będzie to dokładnie 50Hz, ale +- 10%. Poza tym poszukaj o stanach nieustalonych.
| Quote: |
1. Chcę sterować silnikiem DC(takim jak w motorkach dziecięcych) przez mostek L293D
Wszystko niby pięknie ładnie ale...
gdy wysteruje mostek tak aby koło kręciło się do p przodu to Silnik rusza i Koło też i wszystko jest ok przez jakieś 10s po tym czasie silnik tylko brzęczy a mostek się straszliwie grzeje. Silnik jest na 6V i gdy jako takiego podłączyłem bez mostka bezpośrednio do akumulatora to wszystko jest ok
Na początku myślałem ze to kwestia zbyt dużego spadku napięcia na mostku więc podłączyłem zasilanie silników do 12V i efekt jest ten sam. Drugie podejrzenie padło na wydajność prądową mostka ale niestety nie mam teraz jak zmierzyć dokładnie ile pobiera silnik
Co o tym myślicie ? ma to wogule prawo działać??
Oczywiście gdy podepnę mniejszy silnik to wszystko jest ok ale musi być tamten bo cała mechanika jest z tego motorka i pod ten silnik
może poprostu wyrzucić mostek i zrobić to na przekaźnikach ??
Co prawda chciałem sterować prędkością przez PWM ale ważne zeby to wogle działało i regulacja prędkości nie jest tak istotna. |
Możesz bez problemu zrobić mostek H na mosfetach. Nie jest to jakoś strasznie skomplikowane, a i regulacje prędkości można bardzo szybko zrobić. Przekaźników nie polecam, bo często zawodzą i są WIELKIE.
Pzdr misiek
|
|
| Back to top |
|
 |
Google

|
#
09 Oct 2009 18:15 |
|
|
|
|
|
| Back to top |
|
 |
gorsomir Poziom 12

Joined: 23 Mar 2008 Posts: 90 Location: Poznań
|
#7
12 Oct 2009 22:52 Re: Kilka problemów przy budowie platformy jeżdżącej |
|
|
|
Hehe schemat to znam bo ja zakładałem tamten temat :D
Obecnie stwierdziłem że zbuduje mostek na l298 powsinno starczyć a jak nie to mosfety aczkolwiek wole tego uniknąć
jeżeli chodzi o losową liczbe to sprawa już nie aktualna...]]Napisze coś więcej jak uruchonmie mostek :D
Pozdrawiam
|
|
| Back to top |
|
 |