|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
nakamichi Novinec
Pridružen/-a: Sob Apr 2005 19:21 Prispevkov: 7 Kraj: Nova Gorica
|
Objavljeno: Pet Maj 06, 2005 10:39 am Naslov sporočila: Krmiljenje servotov z Atmelom |
|
|
Pozdravljeni, sem nov na forumu in že imam eno vprašanje. V številki 109 sem zasledil en program nekega hrvaškega srednješolca v zvezi z krmiljenjem servomotorjev z ukazom Config Servos in ServoN = kot.
Sedaj pa imam jaz namen naredit en projekt ki bo iz vhoda preko A/D pretvornikov bral podatek o vrednosti na vhodu in glede na napetost(odklon potenciometra) nastavi kot servota. Samo drevo programa mi ni problem naredit, zatakne se pri samem prog. jeziku, torej Bascomu, o katerem ne vem kaj preveč
Prosil bi če je v okolici Nova Gorice ali Ljubljane kdo ki mi je pripravljen pomagat pri zadevi, seveda v čimkrajšem času
L.P: Miha |
|
Nazaj na vrh |
|
|
red_mamba Profesionalec
Pridružen/-a: Tor Jan 2004 16:44 Prispevkov: 181 Kraj: Mozirje
|
Objavljeno: Ned Maj 08, 2005 11:24 am Naslov sporočila: |
|
|
tole je iz bascomAVR helpa
'--------------------------------------------------
' (c) 2001 MCS Electronics
' servo.bas demonstrates the SERVO option
'---------------------------------------------------
'Servo's need a pulse in order to operate
'with the config statement CONFIG SERVOS we can specify how many servo's we
'will use and which port pins are used
'A maximum of 16 servos might be used
'The SERVO statements use one byte for an interrupt counter and the TIMER0
'This means that you can not use TIMER0 anymore
'The reload value specifies the interval of the timer in uS
Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10
'we use 2 servos with 10 uS resolution
'we must configure the port pins used to act as output
Config Portb = Output
'finally we must turn on the global interrupt
Enable Interrupts
'the servo() array is created automatic. You can used it to set the
'time the servo must be on
Servo(1) = 100 '1000 uS on
Servo(2) = 200 ' 2000 uS on
Dim I As Byte
Do
For I = 0 To 100
Servo(1) = I
Waitms 1000
Next
For I = 200 To 0 Step -1
Servo(1) = I
Waitms 1000
Next
Loop
End
rabiš samo še prebrat ADC kanal z GetADC(kanal):
'--------------------------------------------------------------------
' ADC.BAS
' demonstration of GETADC() function for 8535 micro
'--------------------------------------------------------------------
$regfile = "m163def.dat"
'configure single mode and auto prescaler setting
'The single mode must be used with the GETADC() function
'The prescaler divides the internal clock by 2,4,8,15,32,64 or 128
'Because the ADC needs a clock from 50-200 KHz
'The AUTO feature, will select the highest clockrate possible
Config Adc = Single , Prescaler = Auto
'Now give power to the chip
Start Adc
'With STOP ADC, you can remove the power from the chip
'Stop Adc
Dim W As Word , Channel As Byte
Channel = 0
'now read A/D value from channel 0
Do
W = Getadc(channel)
Print "Channel " ; Channel ; " value " ; W
Incr Channel
If Channel > 7 Then Channel = 0
Loop
End
'The new M163 has options for the reference voltage
'For this chip you can use the additional param :
'Config Adc = Single , Prescaler = Auto, Reference = Internal
'The reference param may be :
'OFF : AREF, internal reference turned off
'AVCC : AVCC, with external capacitor at AREF pin
'INTERNAL : Internal 2.56 voltage reference with external capacitor ar AREF pin
'Using the additional param on chip that do not have the internal reference will have no effect. _________________ Bad things happen to good people all the time for no reason!
Štrom: http://www.red-mamba.com & http://www.red-mamba.biz
Prosti čas: http://www.maddogs-clan.org |
|
Nazaj na vrh |
|
|
nakamichi Novinec
Pridružen/-a: Sob Apr 2005 19:21 Prispevkov: 7 Kraj: Nova Gorica
|
Objavljeno: Ned Maj 08, 2005 5:17 pm Naslov sporočila: |
|
|
Res hvala, s tem bi najbrž še nekako znal iz vhoda prebrat zadevo in na izhodu postavit. Problem je ker sem sam do sedaj programiral 99% v asemblerju in nekaj malega v Cju. Delal pa sem samo z PICem in Motorolo Tako da točne struktiure zadeve, načini naslavljanja itd. pri AVRjih so mi še kar tuji. Se bom pa potrudil iz navedenega čimveč izpeljat
Pa še nekaj me zanima, sam sem namreč še brez programatorja za AVRje, nekaj sem gledal PG-302 a ne podpira AVRjev, najcenejši komplet pride 17kSIT, kar ni malo za začetek. Zanima me če bi bil kdo pripravljen mi zadevo naložit v uP ter malo pomagat pri tem enostavnem programu, seveda se zmenimo za plačilo za vseskupaj
L.P. |
|
Nazaj na vrh |
|
|
rudolf Mojster
Pridružen/-a: Sre Mar 2004 17:31 Prispevkov: 23 Kraj: Novo mesto
|
Objavljeno: Ned Maj 29, 2005 12:24 pm Naslov sporočila: |
|
|
Za
poceni programator AVR-jev
poglej na
www.avr.4mg.com
LP
Rudi |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu You cannot attach files in this forum You cannot download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|