Pomocí PWM upravovat intenzitu diody

Zdravim potřeboval bych poradit s prací přesněji s programováním v programu Keil.

Musím upravovat intenzitu pomocí dvou externích tlačítek a jedné externí červené led diody. Jedno tlačítko bude mít funkci zvyšovat intenzitu svícení až do maximálních hodnot. Druhé tlačítko bude mít funkci snižovat intenzitu svícení, až do zhasnutí diody.
mohl by mi někdo pomoci prosím?

Hardware který mam k dispozici:
-Mikroprocesor (STM32F100RB)
-2 externí tlačítka (na úpravu intenzity)
-1 externí dioda červená (na promítání PWM)
-USB kabel

Předem děkuji za pomoc :)

[ Zpět ]
Datum: 13.03.2013
Autor: Freedy
  • Re: Pomocí PWM upravovat intenzitu diody

         

    Nebude lepší, zkusit to tady? http://forum.fotonmag.cz/index.php?act=idx

    [ Zpět ]
    Datum: 16.03.2013
    Autor: drood
    Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
  • Re: Pomocí PWM upravovat intenzitu diody

         

    A v čem je zádrhel? Na zmáčknutí jednoho tlačítka zvýšíš pwm a na zmáčknutí druhého snížíš.

    [ Zpět ]
    Datum: 16.03.2013
    Autor: snilard
    Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
  • Re: Pomocí PWM upravovat intenzitu diody

         

    Krátce: nevím, Keil jsem nikdy neviděl.

    Off-topic:
    1) Není takovýhle procesor kanón na vrabce?

    2) pokud by u toho obvodu stálo za to uvažovat o účinnosti, není přímé blikání LEDkou přes PWM nejrozumnější způsob, jak regulovat intenzitu světla.

    [ Zpět ]
    Datum: 17.03.2013
    Autor: Akito
    Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
    • Re: Pomocí PWM upravovat intenzitu diody

           

      Smutnym faktem je, ze spousta 32bit Cortexu je v soucasnosti levnejsi nez leckera ATmega nebo dokonce ATtiny, prestoze je to opravdu kanon na vrabce. Nejakou dobu uz uvazuju, ze bych se mel Cortexy naucit pouzivat, protoze nabizi mnohem vic funkci nez AVR. ;-(

      Rekl bych, ze v celem dotazu je hlavni problem zjistit, jak vubec zkompilovat a nahrat nejaky program do toho procesoru (coz neumim), zatimco vlastni program bude velmi jednoduchy, zvlast pokud neni receno, zda PWM ma byt SW nebo HW, jakou frekvenci, zda pouzivat preruseni, atd...

      Jednoduchy nastrel, jak lze resit (pokud budeme mit funkce pro zjisteni, zda je zmacknute tlacitko a rozsviceni/zhasnuti led). Tohle diskuzni forum asi nezachova odsazeni, takze to moc prehledne nebude...

      void main()
      {
      int period = 65535;
      int val = 0;
      while (1) {
      if (tlacitko1() && val < period) ++val;
      if (tlacitko2() && val > 0) --val;
      for (int i = 0; i < period; ++i) {
      if (i < val) ledOn(); else ledOff();
      uDelay(1);
      }
      }
      }

      [ Zpět ]
      Datum: 17.03.2013
      Autor: Jrr
      Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
      • Re: Pomocí PWM upravovat intenzitu diody

             

        No a jsou to takhle zapouzdřené věci (system-on-chip včetně RAM a EEPROM) jako má Atmel AVR? Já se v tom teda nevyznám, ale pokud bych už měl ARMv7/v9, tak bych asi pak chtěl, aby na tom běžel Linux. Existují nějaké takové čipy, které by měly v uspaném stavu takovéto sub-mikroampérové odběry jako ten ATtiny, a které by nepotřebovaly kolem sebe spoustu další elektroniky (jako má třeba ten procesor v Raspberry Pi nebo v Beagleboardu)? A ještě aby to bylo pájitelné v amatérských podmínkách.

        [ Zpět ]
        Datum: 17.03.2013
        Autor: Akito
        Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
        • Re: Pomocí PWM upravovat intenzitu diody

               

          Ja se v znaceni Cortexu moc nevyznam, takze nevim co je presne tohle zac, ale predpokladam, ze je to +/- neco jako ATmega, akoratze mnohem vic pameti a vykonu. S tou eeprom tam tusim byva nejaka potiz, bud neni vubec nebo ji maji jen nektere (?), pze kolega, co to pouziva musel pouzit posledni stranku flash.

          Na nekterych by asi i ten Linux mohl jit rozhybat, nicmene do jednocipu, co ma neco ridit, bych cpal jakykoliv OS az jako posledni moznost. Mam rad pocit, ze vim, co kdy presne procesor dela, jakmile do toho vstoupi nejaky planovac, uz se neda nicemu verit... :)

          Co jsem tak pochytil z vypraveni, tak veci, ktere jsou na AVR nastavitelne jen pres fuses, jdou na cortexu menit za behu, takze muzes bezet z interniho oscilatoru a kdykoliv prejit na beh z krystalu. S tim jsem nedavno narazil, ze bych vetsinu casu potreboval bezet z 1 MHz oscilatoru kvuli spotrebe, ale pri pripojeni k USB prejit na 12 MHz krystal nebo 16 MHz PLL, jenze to zadne z vytipovanych AVR neumi (musel bych vzit neco s HW USB, coz zase narazelo v dalsich parametrech).

          Jak je to presne se spotrebou, nevim. Mne se na ATmegach libi 5V napajeni (u tech novejsich uz 1.8V - 5.5V) a to, ze vetsina lze koupit v DIPu. To bych asi musel ozelet.

          [ Zpět ]
          Datum: 17.03.2013
          Autor: Jrr
          Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
          • Re: Pomocí PWM upravovat intenzitu diody

                 

            Na jednočipu co nemá MMU pravověrný linux nespustíš. (jedině komplet emulovaný ale to pak nemá cenu)
            http://www.google.cz/url?sa=t&rct=j&q...

            [ Zpět ]
            Datum: 17.03.2013
            Autor: Radius
            Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
          • Re: Pomocí PWM upravovat intenzitu diody

                 

            Tak ono dost záleží, co s tím procesorem chceš dělat. Pokud bych si třeba vymyslel že chci přehrávat MP3, zaznamenávat cestu do GPS, a číst micro SD karty, tak už to fakt vede spíš na Linux nebo nějaký menší embedded OS než na program běžící natvrdo na holém železe.

            Teď nemluvím o světlech na kolo, ale když už jsem se pustil do studia té elektroniky, tak bych měl i pár projektů, u kterých by se hodilo výše uvedené (plus komunikace přes TCP/IP po ethernetu nebo po wifi).

            Samozřejmě by to chtělo procesor co má MMU.

            [ Zpět ]
            Datum: 19.03.2013
            Autor: Akito
            Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
            • Re: Pomocí PWM upravovat intenzitu diody

                   

              Jo taky mně teď napadl jeden takovej projekt :) Navigace na kolo s e-ink displejem.

              [ Zpět ]
              Datum: 19.03.2013
              Autor: snilard
              Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
              • Re: Pomocí PWM upravovat intenzitu diody

                     

                něco tkaovýho ? :-)

                http://www.navigadget.com/index.php/2009/05/17...

                to by nebylo vůbec špatný, strčit placatou e-ink navigaci do "normálního" mapníku

                [ Zpět ]
                Datum: 19.03.2013
                Autor: macikm
                Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
                • Re: Pomocí PWM upravovat intenzitu diody

                       

                  Na telefonu mně štve, že pořád vypíná displej a nevydrží moc dlouho. GPSka je zase moc velká.

                  [ Zpět ]
                  Datum: 19.03.2013
                  Autor: snilard
                  Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
        • Re: Pomocí PWM upravovat intenzitu diody

               

          Na tomhle CORTEX M3 spustíš tak maximálně RTOS.

          Např. LPC1114FN28 je CORTEX M0 v pouzdře DIP28.

          [ Zpět ]
          Datum: 17.03.2013
          Autor: Radius
          Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
      • Re: Pomocí PWM upravovat intenzitu diody

             

        Ještě se dívám že tenhle procesor má strašně moc HW PWM kanálů, takže asi bude stačit jen nastavovat střídu a ušetřit si ten vnitřní for cyklus.

        [ Zpět ]
        Datum: 17.03.2013
        Autor: Akito
        Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
        • Re: Pomocí PWM upravovat intenzitu diody

               

          Urcite by bylo vhodnejsi pouzit HW PWM. Akoratze to uz clovek potrebuje o tom procesoru neco malo vedet, zatimco to, co jsem napsal ja (pokud tam neni chyba) by melo fungovat v podstate na cemkoliv.

          Jinak bysme samozrejme dosli k tomu, ze tlacitka by bylo lepsi chytat prerusenim a kdyz se nic nemacka, muze procesor vicemene spat (jen trochu, aby to pwm bezelo, na AVR jen idle, nevim co za rezimy ma cortex) nebo delat nejakou jinou uzitecnou cinnost.... :)

          [ Zpět ]
          Datum: 17.03.2013
          Autor: Jrr
          Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
      • Re: Pomocí PWM upravovat intenzitu diody

             

        A co spotřeba? Ty ARMy budou mnohem žravější než AVRka, ne?

        [ Zpět ]
        Datum: 18.03.2013
        Autor: snilard
        Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
  • Re: Pomocí PWM upravovat intenzitu diody

         

    Mužeš použít některý z pokročilejších čítačů a dělat to tedy čistě pomocí hadware a nebo pokud to nemáš přímo v zadání tak přes basic timer/counter a nebo dokonce přes systemový časovač SYSTICK který je součástí jádra M3.
    V KEILU založ projekt, vyber procesor, nech ho přidat do projektu startup a můžeš začít pogramovat. Ještě je třeba v detailech projektu vyspecifikovat čím to budeš programovat (ULINK, JLINK atd).

    [ Zpět ]
    Datum: 17.03.2013
    Autor: Radius
    Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
    • Re: Pomocí PWM upravovat intenzitu diody

           

      tam je právě kámen úrazu s tim programovánim tendle program sem v životě neviděl a absolutně ho nechápu a učitel nám v něm zadá práci a když sem se ho zeptal na radu tak řekl ať si to najdu na netu a tam sem s tim programovánim bohužel takřka nic nenašel..

      [ Zpět ]
      Datum: 10.04.2013
      Autor: Freedy
      Hodnocení: 0 Hlasovat mohou jen přihlášení uživatelé Hlasovat mohou jen přihlášení uživatelé 0
Nastavte si vlastní barvu pozadí:
Seznamka

Hledám: Najdu cyklistku - Náchodsko

29.11.2016
Ahoj, hledám cyklistku pro výlety na kole ale i ženu pro život. Já muž 36 let/186 cm/68 kg, nekuřák, se zájmy -…

Hledám: Skupina na silniční kolo Teplice

28.11.2016
Hledám skupinu silničářů z Teplice a okolí s kterými bych mohl jezdit. Já začátečník amatér. NAJDU?

Hledám: Parťáka nebo parťačku

28.11.2016
Hledám parťáka nebo parťačku na silniční kolo Teplice a okolí. Už mě nebaví jezdit pořád sám. NAJDU?
[ Nahoru ]
e-mail:
heslo:
  zapamatovat

NaKole.cz se právě projíždí

192 cyklistů (27 přihlášených)

U mě dobrý aneb ideální místo pro cykloturistiku

Rád bych se s Vámi podělil o některá místa, cíle, krásy či tajemství tří oblastí. A to Holešovska,…
Marťas004 | 12.11.2016

Česká Sibiř, Táborsko a Třeboňsko aneb dovolená třech chlapů

Po týdenní červnové dovolené v Krnovském výběžku - Osoblažsku, Fogin vybral jako další místo pro…
ondrapisklak | 09.11.2016

Bradlo – mohyla M. R. Štefánika

Viděl jsem již hromadu různých památníků. Na Slovensku jsem navštívil při různých zájezdech památník na Dukle…
jarpal | 05.11.2016