Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[M32][Bascom] Pierwsze podejście do tematu PWM - wybór timera

Antystatyczny 01 Jul 2012 23:12 1422 13
  • #1
    Antystatyczny
    Level 16  
    Witam.

    Pilnie się uczę i kolejnym zadaniem jest dla mnie obsługa PWM.

    W związku z tym zastanawiam się nad wybraniem odpowiedniego timera, bo generalnie wszystkie trzy nadają się do PWM. Na obecną chwile chcę sterować jasnością świecenia diody, ale następnym krokiem będzie możliwość regulacji jasności świecenia wyświetlacza w minutniku do jajek, który obecnie korzysta z timer2 z zewnętrznym kwarcem 32768. Na potrzeby ćwiczenia nie potrzebuję jakiejś szczególnie wielkiej mozliwości regulacji szerokości impulsu. Na początek chcę poznać zasadę, mozliwości itd. Wybrać 8 bitowy timer0 czy 16 bitowy timer1?

    Dodano po 6 [minuty]:

    Poprawka:
    Help Bascoma nic nie mówi o wykorzystaniu timer0 w roli PWM, ale w PDF M32 jest jasno napisane, że to potrafi.
  • #2
    mickpr
    Level 39  
    Antystatyczny wrote:
    Help Bascoma nic nie mówi o wykorzystaniu timer0 w roli PWM, ale w PDF M32 jest jasno napisane, że to potrafi.

    I to jest wystarczający powód aby przejść z komercyjnego środowiska MCS Bascom na darmowy i lepszy język C.

    Co do timerów - w Internecie mnóstwo przykładów (również gotowych kalkulatorów do timerów).
    Co do wyboru timer8 czy 16-to bitowy - pytanie "jaka rozdzielczość jest dla ciebie wystarczająca?"
  • #3
    Antystatyczny
    Level 16  
    Generalnie wystarczy mi 8 bitowa rozdzielczość, ale być może czai się za tym mniej mozliwości... Najpierw chcę się nauczyć, ale wolałem się zapytac kogoś doświadczonego, by potem nie brnąc w jakies maliny. Rozumiem oczywistą różnicę w rozdzielczości, ale być może są też i inne róznice w mozliwościach tych timerów. Najpierw cwiczenie, a następnie poważniejsze zastosowania.

    Dodano po 4 [minuty]:

    Co do języka C:
    Niedawno uczyłem się w warunkach domowych C++ i generalnie jestem zwolennikiem tego języka, ale po zainstalowaniu avr studio 6 jakoś wymiekłem. Niby to samo środowisko programistyczne co VC++2010, ale nic nie pasuje. Nie wywaliłem tego z dysku, ale chyba będę potrzebował więcej czasu i jakiegoś kursu, by ruszyć dalej.
  • #4
    mickpr
    Level 39  
    Antystatyczny wrote:
    ale po zainstalowaniu avr studio 6 jakoś wymiekłem

    Ja też wymiękłem i wielu innych...
    Posłuchaj rady kolegi mirekk36 - przejdź na Eclipse + AR plugin.
    Ta wiedza zaowocuje 100-krotnie (większość środowisk dla mikrokontrolerówi i nie tylko jest opartych jest na tym IDE).
    Potem przestudiowanie paru (gotowych) bibliotek do AVR - aby wiedzieć jak zaimplementować daną funkcjonalnośći masz "to samo, a nawet więcej".
    Oczywiście numer 1 - datasheet danego MCU.
  • #5
    tplewa
    Level 39  
    VC++ 2010 (chodzi ci zapewne o Express) i nie ma ono nic wspolnego z uC... Tam masz technologie .NET lub pisanie w WinAPI... W Visual Studio masz jeszcze MFC. No ale to inna bajka...

    Eclipse ok... ale jestes w tym momencie uwiazany do starego gcc z WinAVR ktore nie jest juz rozwijane (z tego powodu ze Atmel rozija je w AVR Studio).
  • #6
    arktik1
    Level 27  
    Nie ma znaczenia który timer wybierzesz, wartością PRESCALE ustawiasz ich rozdzielczość.
    W zasadzie sterowaniem silnikami DC i wszelkiego rodzaju oświetleniem możesz sterować PWM, każdego Uc jaki to posiada.
    BASCOMowy HELP podaje tylko przykłady, dalszych informacji szukasz w data Uc.
  • #7
    Antystatyczny
    Level 16  
    Eclipse jest oficjalną nazwą tego środowiska? Przyznaję, że jeszcze nie zaprzągłem wujka goggle. Czy to środowisko jest darmowe?
    Będę musiał konfigurować kompilator z linii poleceń? Bardzxo mnie to odstrasza...
  • #8
    mickpr
    Level 39  
    tplewa wrote:
    Eclipse ok... ale jestes w tym momencie uwiazany do starego gcc z WinAVR ktore nie jest juz rozwijane (z tego powodu ze Atmel rozija je w AVR Studio).

    Podepnę się z pytaniem - co takiego proponuje Atmel w nowym Toolchainie - czego się nie da zrobić w starym WinAVR? Czy zmiany są aż tak "warte wyprawki" jak skórka (kobylaste AVR Studio)?

    Antystatyczny wrote:
    Eclipse jest oficjalną nazwą tego środowiska? Przyznaję, że jeszcze nie zaprzągłem wujka goggle. Czy to środowisko jest darmowe?
    Będę musiał konfigurować kompilator z linii poleceń? Bardzxo mnie to odstrasza...

    http://mirekk36.blogspot.com/2012/04/eclipse-instalacja-avr-plugin.html
  • #9
    tplewa
    Level 39  
    Eclipse to darmowe IDE :) Ale ja na twoim miejscu bral bym sie jednak za poznanie AVR Studio - ze wzgledu na to ze jest rozwijane...

    Co do kobyly to AVR Studio .NET, Eclipse to kobyla w Java :) Uzywam bo musze (nie ma AVR Studio pod OS X-a)... ale na Win wole AVR Studio...

    Na upartego jak ktos nie chce kobyly to ma notatnik + tworzenie make recznie :) - aaa i AVR studio ma symulator :)

    Quote:
    Podepnę się z pytaniem - co takiego proponuje Atmel w nowym Toolchainie - czego się nie da zrobić w starym WinAVR? Czy zmiany są aż tak "warte wyprawki" jak skórka (kobylaste AVR Studio)?


    A jaka masz pewnosc ze za rok moze dwa cos sie nie zmieni ? Wrocisz pokornie do AVR Studio ? zapewne tak...

    Natomiast jak mowimy o sensownym IDE do dla mnie wykladnia jest wlasnie Visual Studio :) choc to tez kobyla :) - ale nie widzialem nic lepszego :)
  • #10
    Antystatyczny
    Level 16  
    Tak, mam na mysli VC++ express, bo jest darmowe. Programowanie na komputery PC wychodziło mi całkiem nieźle, ale, jak już mój przedmówca stwierdził, nie ma nic wspólnego z uC.

    Dodano po 8 [minuty]:

    Obecność symulatora nie jest bez znaczenia, bo juz zdążyłem docenić jego obecnośc w środowisku Bascom. Przeraża mnie to, że uczyłem się c++, wydałem pieniądze na naukę, a okazuje się, że musze się uczyć na nowo i to od podstaw!.
    Ale do rzeczy: Do nauki zastosować timer0 czy timer1? Wystarczy mi 8 bitowa rozdzielczość, ale proszę o jakieś sugestie... może jakieś ukryte mozliwości timer1, sam nie wiem...
  • #11
    tplewa
    Level 39  
    Ale uczyles sie c++ czy c++ .NET ? Bo jak C++ to nic straconego :) - zwlaszcza ze raczej boost-a nie uzywales...
  • #12
    Antystatyczny
    Level 16  
    Uczyłem się C++. Pisałem proste programy, które wywalały wyniki w konsoli. Rozumiem podstawy, rozumiem konieczność "includowania" itp. Nie jestem programistą zaawansowanym.
  • #13
    tplewa
    Level 39  
    No to nie bedzie tak zle :) C++ ma duzo wspolnego z C :) po prostu nie bedziesz mial wszystkiego tego co masz w C++ :) Dobrze ze pisales w WinApi bo c++ z .NET ma juz nie wiele wspolnego z c++ i to by byl czas stracony, zwlaszcza ze w .NET najlepiej uzywac C#

    A co do Timera to ktory tam chcesz... po prostu pobaw najlepiej sie wszystkimi :)

    a i zerknij sobie na VMLAB-a nie jest to nowosc ale wiele mozna sobie przesymulowac na kompie :) lacznie z podpieciem virtualnego oscyloskopu :) Wiec bedziesz widzial jak ci PWM dziala :)

    http://www.amctools.com/vmlab.htm
  • #14
    Antystatyczny
    Level 16  
    No dobra, czyli pobawię się na początek timer0. Oby Bascom mnie zrozumiał. Bardzo dziękuję za wszelkie wskazówki, a co do avr studio... pewnie nieprędko tkne to środowisko, bo się zraziłem. Pozdrawiam! :)