Stránka 1 z 1
Bascom - začínám, kdo poradí?
Napsal: 14 lis 2015, 14:23
od denny_ul
Poradí někdo s PWM?
Podle tohoto kódu by měla být funční PWM
Kód: Vybrat vše
$regfile = "attiny13a.dat"
$Crystal=9600000
$hwstack=32
$swstack=8
$framesize=16
Dim B As Byte
Config Timer0 = Pwm , Prescale = 8 , Compare A Pwm = Clear Up
Config Portb.0 = Output
Do
For B = 1 To 255
Pwm0a = B
Waitms 20
Next
For B = 255 To 1 Step -1
Pwm0a = B
Waitms 20
Next
Loop
End
Potřeboval bych, aby kmitočet PWM byl 4kHz a zde jsem se dočetl, že je na to vzorec
f PWM = f CLK/(2 * n * TOP), tj. 9600000/(2*8*4000)=150.
A teď nevím jestli se použije
Icr0=150 nebo
Ocr0a=150 a kam to vložit (před a nebo za config timer)
Napsal: 14 lis 2015, 14:57
od Cowley
OT: Ty uz tady budes mit taky vlastni Sekci s tim Bascomem

jako Samponek.
Ale je pravda ze se na Tva vlakna koukam a taky se alespon neco priucim

Napsal: 14 lis 2015, 16:12
od denny_ul
V mém věku už se něco těžko učí z příruček a tak jsem postupem času zjistil, že je lepší, když ti to někdo vysvětlí, kdo už to umí.
Taky když jsem objevil toto forum, tak jsem byl rád za to, že je tu někdo, kdo člověku poradí, když se na něco zeptá a netušil jsem, že to bude někomu vadit

Napsal: 14 lis 2015, 17:32
od frpr666
Přejdi z Bascomu na C. Výhodou C je podpora přímo v AVRStudiu od Atmelu.
Ušetříš si kryptické zápisy jako je:
Config Timer0 = Pwm , Prescale = 8 , Compare A Pwm = Clear Up
Co vlastně má dělat ten kód, který jsi napsal ve svém prvním příspěvku?
Edit1: nějaké tipy ohledně pwm jsou zde:
http://www.mikrocontroller.net/articles/AVR_PWM
Napsal: 14 lis 2015, 17:55
od nekmil
frpr666:
ten původní program prostě zvětšuje a pak zmenšuje PWM tedy např. jas žárovky či otáčky motoru.
S tím přechodem na C , no nevím, nevím. V těch závorkách bych se já ztratil.
Velice bych doporučoval nějakou "vývojovou desku" např. EVB 5.1
sice se někomu může zdát +/- 1500,-Kčs moc ale co všechno za ty peníze dostanete. A pak lze zkoušet a zkoušet do alelujá.
kousek kodu z regulátoru kolejiště:
'---------------------------------------------------------
'nastavení PWM pro Timer0,Timer1- kmitočet 240Hz změnou Prescale
Run_240:
Config Timer0 = Pwm , Prescale = 8 , Compare B Pwm = Clear Down
Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , _
Compare B Pwm = Clear Down
Return
'---------------------------------------------------------
'nastavení PWM pro Timer0,Timer1- kmitočet 1960Hz změnou Prescale
Run_1960:
Config Timer0 = Pwm , Prescale = 1 , Compare B Pwm = Clear Down
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , _
Compare B Pwm = Clear Down
Return
End 'end program
'Řízení šířkové modulace je jednoduché - změnou proměnné Pwm1a se mění poměr
'impuls/mezera. Maximální hodnota Pwm1a je 255.
'Při Pwm1a = 1 je poměr 1/255
'Při Pwm1a = 2 je poměr 2/254
'Při Pwm1a = 10 je poměr 10/246 atd
'Nastavení Timer1 pro PWM:
'Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Up
'Pwm = 8 - osmibitová PWM (Pwm1a = 1 až 255)
'Prescale = 1 - opak.kmit = 20 kHz (při oscilátoru 10MHz)
'Prescale = 8 - opak.kmit = 20/8 kHz) atd
'Compare A Pwm = Clear Down - polarita výst. impulsů je opačná než při Clear Up
'kmitočet PWM=$crystal/Prescale/510 (při rozlišení 8 bitů)
Napsal: 14 lis 2015, 19:55
od Neniu
Mne s Bascomem hodně pomáhá tato kniha
http://shop.ben.cz/cz/121165-mikrokontr ... ascom.aspx A koukám, že se dá koupit i jako PDF za velmi příjemnou cenu.
Jinak v simulátoru máš možnost si zobrazit registry, takže nic nebrání tomu kouknout se na ně a zjistíš hnedka, co se kam zapisuje.
Napsal: 14 lis 2015, 19:55
od Neniu
Cowley píše:OT: Ty uz tady budes mit taky vlastni Sekci s tim Bascomem
To by náhodou nebyl vůbec špatný nápad.
Napsal: 14 lis 2015, 20:05
od Cowley
Neniu: no vidis, a denny_ul si myslel, ze si z nej delam srandu
Naopak ! Tak dlouho jsme s Arduinem otravovali, az jsme byli oddeleni

Napsal: 15 lis 2015, 16:47
od Neniu
Já to myslím vážně, nebylo mi marné tu mít část pro Bascom, část Arduio, část pro C, část pro B, část pro ADA, část pro FORTH... tak, abych se dalo jít přímo do tématu, které mne zajímá.