Enklare kodexempel på pic basic??

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
evert2
Inlägg: 2182
Blev medlem: 18 april 2004, 22:47:56
Ort: Jönköping

Inlägg av evert2 »

några användningsområden för pwm:

Reglera ljusstyrka - dessutom så spar man faktiskt energi att använda en serieresistor (till lysdioden) med ett lägre värde å pulsa - än att köra kontinuerligt

Motorstyrning - hastighetsreglering

Spänningsreglering - använda ett lågpassfilter och därmed får en reglerbar likspänning.

switchregulatorer använder sig ofta av pwm.

Finns säkert fler användbara användningsområden....


interupts: Ifall en ingång ändas så avbryts (därav namnet interupt) pågående programexekvering och utför instruktioner som är knutna till interuptet.

Ofta handlar det om prioritet - avbrott genereras för att något viktigt skall utföras

EXEMPEL: Om MCU:n slipper den "polla" (läsa av en ingång) - utan kan den hålla på med andra aktiviteter. Interuptet sköter det i stället. Sen har olika MCU(modeller) olika många interupt. Interupten har olika prioritet.

Jag hoppas du hänger med :roll:
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Bara för att vara jobbig, interrupt stavas med två r. :roll:

/Johan
evert2
Inlägg: 2182
Blev medlem: 18 april 2004, 22:47:56
Ort: Jönköping

Inlägg av evert2 »

Hur många "ben" har en abborre :wink:
Användarvisningsbild
NSR_Martin
Inlägg: 358
Blev medlem: 30 november 2003, 13:37:31
Ort: Jönköping
Kontakt:

Inlägg av NSR_Martin »

Tack evert2, både PWM och inteRRupts låter ju mycket användbart, det måste jag lära mig innan jag går vidare!

Börjar väll med PWM då, om ni kikar på förra sidan så ser ni att jag försökte blinka en lysdiod på så vis, vad gjorde jag för fel? Det funkade ju inte alls, lysdioden va släkt istället...
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

evert2 skrev:Hur många "ben" har en abborre :wink:
Abboren har inga ben, men därimot så är det två "ben" i abbore
Användarvisningsbild
NSR_Martin
Inlägg: 358
Blev medlem: 30 november 2003, 13:37:31
Ort: Jönköping
Kontakt:

Inlägg av NSR_Martin »

Så säg mig, hur många träd krävs det för att det ska bli en skog?

Kom på en sak, om jag ska styra två 7segements displayer, så måste jag välja via picen vilken jag ska jorda, och det blir för hög ström för den, så jag får lov att använda mig av en transistor. Jag har en drös hemma, men vanliga måste man ju ha motstånd till, strombom lärde mig att det finns nått som heterr FET-transistorer, dom går efter spännining och inte ström, och vill man att den bara ska öppna fullt krävs inget motstånd, lät smidigt o bra, finns det några nackdelar? Säljer kjell & co dom?

jag har en hög "BC337/16 trans NPN TO92" transistorer och en hög "BC327/16 trans PNP TO92", vilken typ är lämpligast, och hur stort motstånd ska jag ha för att den ska öppna fullt, på 5v?
danei
EF Sponsor
Inlägg: 27426
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Nackdelen med en FET är väl priset.

Räkna lite på resistor så blir det bra. basströmen*Hf ska vara stärre än kolektorströmen.
Användarvisningsbild
dar303
Inlägg: 5979
Blev medlem: 17 december 2003, 19:54:56
Ort: Sthlm

Inlägg av dar303 »

Med kommandot "Sound" i PICBasic så kan du göra roliga melodier, man behöver ingen A/D converter utan kommandot PWM:ar på en utgångspinne, bara att koppla en konding på utgången.
Kommandona "write" och "read" är också roliga, de skriver och läser i det interna eepromet.

Jag använde dessa som utgångspunkt för att bygga en PIC-baserad enkel synth med sequencer. En F84 och ett fint litet analogfilter på utgången så har man en perfekt batteridriven maskin att leka med. Det är den som jag har som avatar-bild!

/d
Senast redigerad av dar303 20 december 2004, 10:53:14, redigerad totalt 1 gång.
Användarvisningsbild
NSR_Martin
Inlägg: 358
Blev medlem: 30 november 2003, 13:37:31
Ort: Jönköping
Kontakt:

Inlägg av NSR_Martin »

Danei, ska se om jag lyckas räkna ut det....!

dar303, lät tufft, läste om det på picbasicmanualen jag använder, varkar inte allt för svårt, kanske blir ett litet test...Imon...

Finns dock några frågetäcken jag inte fått svar på, det första är hur man får PWM funktionen till att funka...?
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

>> NSR_Martin

Jag hoppas du insett att det du gjorde med att få lysdioderna att "fejda" var via PWM. Så du har redan lärt dig det. Att använda de färdiga funktionerna i PICBasic är inte bra och gör ingen lycklig, gör dina egna rutiner istället, precis som du gjort!

På många PICar (större/nyare än '84A) så finns det hårdvarustöd för PWM, ofta två kanaler. Detta innebär att du kan konfigurera PICen att generera PWM-signaler i "bakgrunden", alltså gör den det samtidigt som den exekverar godtyckligt program. Mycket användbart!
Att konfigurera PWM-modulen är väldigt klurigt som nybörjare (om du nu inte tvunget vill använda den färdiga HPWM i PICBasic), men om du gör det på det klassiska sättet via register så lär du dig en hel del på vägen!
Glöm inte att det är bara vissa modeller av PIC som har denna funktion. Håll utkik efter en "CCP-modul", det innebär att de har bl.a. hårdvarustöd för PWM (och mer kul som vi kan ta en annan natt :wink: )
Användarvisningsbild
NSR_Martin
Inlägg: 358
Blev medlem: 30 november 2003, 13:37:31
Ort: Jönköping
Kontakt:

Inlägg av NSR_Martin »

Ah okidoki! Det hårdvarubaserade får vi väll ta lite snare med... Då gäller det mao att lära sig interupts nu, har läst manualen lite men fattar inte till 100, nån som har lust att slänga upp ett liten kodexempel man får kika lite på...?

En sak till tänkte jag på, man kunde väll på nått sätt använda en potentiomerer och en kondensator för att mäta hur potentiometern står? Verkar tufft och användbart, ska kolla upp det lite, annars frågar jag här...
Användarvisningsbild
dar303
Inlägg: 5979
Blev medlem: 17 december 2003, 19:54:56
Ort: Sthlm

Inlägg av dar303 »

Jag använder pot+konding ("POT"-kommandot) för att läsa data för hastighet och data i sequencern. Det är bara att göra exakt som i manualen, samma värden och allt så funkar det finfint!

/d
Användarvisningsbild
NSR_Martin
Inlägg: 358
Blev medlem: 30 november 2003, 13:37:31
Ort: Jönköping
Kontakt:

Inlägg av NSR_Martin »

Ah, kanon, ivsste inte att det fanns en färdig version, men den verkar riktigt smidig! Ska testa den när jag kommit hem från jobbet, börjar om en halvtimme så det hinner jag inte nu :roll:
Det är inte roligt att jobba, men det är roligt när man får lönen :shock:

Nu va det bara interrupts kvar med....
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Interrupts baseras också, precis som hårdvaru-PWM, på att man konfigurerar olika register i PICen för att aktivera denna funktion.
Ett interrupt kan ses som en siren som börjar tuta och blinka när en viss händelse inträffar. Procesorn i PICen märker av sirenen och slutar bums med vad den än håller på med, och hoppar istället till din förprogrammerade interrupt-rutin. Ett interrupt kan alltså ses som ett hårdvarustyrt programhopp. Fördelen är att själva "siren"-biten inte kostar någon exekveringstid alls, utan görs helt i bakgrunden.
Det finns ett bestämt antal olika händelser som kan skapa ett interrupt. Exempelvis:
Timers - tidsstyrda interrupts, d.v.s. en siren som återkommande tutar vid exakta, förutbestämda tidpunkter.
Counters - skapar ett interrupt när en händelse uprepats tillräckigt många gånger.
Förändringar på ingång - Vissa I/O-pinnar kan konfigureras till att generera ett interrupt när dess läge förändras, från låg till hög eller tvärtom.
Dessa tre är ett urval av vad som brukar finnas på PICar i mellanklassen, som exempelvis '84A.

Tyvärr så har PICBasic inget bra stöd för interrupthantering, jag skulle vilja säga rent uruselt! Det bästa man kan göra är att lära sig assembler för att få full användning av interrupts, det är nämligen lite mer man behöver veta när det gäller att hoppa från en programexekvering till en annan och sen tillbaks igen som kräver assembler-kunskaper.

Vill du veta mer så finns nog allt du behöver veta här.
Lycka till! :wink:
Användarvisningsbild
NSR_Martin
Inlägg: 358
Blev medlem: 30 november 2003, 13:37:31
Ort: Jönköping
Kontakt:

Inlägg av NSR_Martin »

Surt att en så viktig och användbar funktion verkar vara så pass krånglig, blir väll attt jag väntar lite med den och ger mig på att få det att funka med två LED displyer...
Skriv svar