PWM generering med 555:an

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
ghost_rider
Inlägg: 2211
Blev medlem: 26 maj 2008, 21:48:15
Ort: Genarp

PWM generering med 555:an

Inlägg av ghost_rider »

Har tidigare fixat till min PWM signal till en leddrivare genom en microprocessor, detta känns väldigt onödigt.
Det jag skulle vilja ha är en krets som fixar en PWM signal 0-100%. Kruxet är att jag vill ha en knapp eller liknande som ställer in t.ex 10 ,30 eller 100%. Går detta att göra utan en microprocessor?
Jag har kikat igenom div byggtrådar och databladet för 555, men är ändå svag på ideer ;)
Användarvisningsbild
Klas-Kenny
Inlägg: 11843
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: PWM generering med 555:an

Inlägg av Klas-Kenny »

Klart det går att göra. Enklaste metoden jag kommer på är någon typ utav räknare som styr motstånd som ska kopplas in för de olika pulsbredderna.

Personligen skulle jag dock inte gå ifrån en µC för uppgiften, kolla tex. 73-350-60 Liten, billig, enkel. Du kommer nog få det svårt att hålla komponentkostnaden under det, för att inte tala om storleken.

Edit: Och då har den 4x hårdvaruPWM, vill du göra det i mjukvara kan det bli ännu mindre och billigare..
Användarvisningsbild
Icecap
Inlägg: 26651
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: PWM generering med 555:an

Inlägg av Icecap »

Såklart går det att göra utan mikroprocessor - men det blir ganska mycket kretsar i förhållande till att faktisk använda en mikroprocessor.

Om man utgår ifrån t.ex. 16 steg behövs en 4 bit upp/ner räknare, till det kommer logiken som dekoder knapparna till stuts-fri upp/ner pulser, det blir några gates och lite motstånd + kondensatorer för den delen.

Sedan tillkommer det 2 st op-amp för PWM-genereringen samt såklart lite motstånd + kondensatorer.

De 4 bit ska göras om till en analog spänning, det kan göras med 4 st motstånd.

Så valet är mellan 3 st kretsar, ung. 10 st motstånd, ung. 6 st kondensatorer för det ena valet eller 1 st mikroprocessor, 2 st motstånd, 2 st kondensatorer, 1 st spänningsregulator.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: PWM generering med 555:an

Inlägg av jesse »

Behövs inte en massa kretsar. Man använder en 555:a, kanske på det här sättet: A SIMPLE PWM CIRCUIT BASED ON THE 555 TIMER

Så ersätter du trimpoten med 3 eller 4 trimpotar, beroende på hur många lägen du vill kunna ha och ansluter dessa med en mekanisk switch med t.ex. fyra lägen. Nu kan du ställa in hastighet för varje läge på switchen. Ett alternativ är att sätta en serie med fasta motstånd istället för trimpoten och med switchen ansluter till olika ställen i kedjan. Detta är definitivt snabbare/enklare än att hålla på att programmera, särskilt om man inte brukar programmera µC.
Användarvisningsbild
ghost_rider
Inlägg: 2211
Blev medlem: 26 maj 2008, 21:48:15
Ort: Genarp

Re: PWM generering med 555:an

Inlägg av ghost_rider »

Anledningen till att jag vill undvika en µC är just programmeringsdelen.
Jag har programmerat en hel del i java,c#,c++ men inte just PIC kretsar, vilket skiljer sig lite tydligen (ok, jag är lat och bekväm och orkar därmed inte sätta mig in i det :roll: ).
Användarvisningsbild
Icecap
Inlägg: 26651
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: PWM generering med 555:an

Inlägg av Icecap »

Men då tycker jag att du ska fortsätta vara lat och bekväm och ta den besvärliga lösningen...
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: PWM generering med 555:an

Inlägg av Krille Krokodil »

Allt som behövs skrivas för att få ut PWM (i 490Hz) på en pinne på en Arduino:

Kod: Markera allt

 
int PWMPin = 9;      // LED connected to digital pin 9
  
void setup()
{
  pinMode(PWMPin, OUTPUT);   // sets the pin as output
}

void loop()
{
   analogWrite(PWMPin, 128);  //  analogWrite values from 0 to 255
}
En Mini (33x18 mm) kan kanske vara lämplig här, 160:- hos Lawicel: http://www.lawicel-shop.se/prod/_876264/_74952/SWE/SEK
Användarvisningsbild
Klas-Kenny
Inlägg: 11843
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: PWM generering med 555:an

Inlägg av Klas-Kenny »

PWM med ca. 33% (Om jag kan räkna ikväll) Duty Cykle på en midrange PIC:

Kod: Markera allt

bcf TRISC,0
main:
bsf PORTC,0
nop
bcf PORTC,0
goto main
:mrgreen:
Användarvisningsbild
ghost_rider
Inlägg: 2211
Blev medlem: 26 maj 2008, 21:48:15
Ort: Genarp

Re: PWM generering med 555:an

Inlägg av ghost_rider »

Arduinon är jag väldigt bekväm med, har faktiskt en hög ATMega168-20AU TQFP32 härnågonstansiröran :)
strippar man ner den så blir det bara ett fåtal komponenter, det tråkiga är att lägga in bootloadern på den lilla plutten :/
Användarvisningsbild
Klas-Kenny
Inlägg: 11843
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: PWM generering med 555:an

Inlägg av Klas-Kenny »

Ur ingenjörssynvinkel: :doh:
ToPNoTCH
Inlägg: 5152
Blev medlem: 21 december 2009, 17:59:48

Re: PWM generering med 555:an

Inlägg av ToPNoTCH »

ghost_rider skrev:det tråkiga är att lägga in bootloadern på den lilla plutten :/
Det kan du ju skita i om du inte tänker programera om den stup i kvarten från Arduino IDE.

Nu är det iochför sig inte nå jobbigare att lägga in en bootloader än något annta program, men den behövs bara för programering över seriport (eller USB).

Om man har en programmerare för AVR (vilket man ändå måste ha för att lägga på bootloadern) kan man ju lika bra lägga sin binär direkt på chippet utan bootloader, så slipper du pinna ut seriport osv.
Användarvisningsbild
Icecap
Inlägg: 26651
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: PWM generering med 555:an

Inlägg av Icecap »

Jag har programmerat många olika sorters och "storleker" mikroprocessorer och har aldrig använd annat än de inbyggda bootloader-funktioner som finns från fabriken, alltså ICSP.

Och jättejobbigt har det ju varit:
- Koppla till rätt ICSP-enhet, till PIC har jag PICKit2, till AVR en AVRISP Mk 2.
- Leda rätt på HEX-filen som ska överföras.
- Lägga över datan i mikroprocessorn.
Klart.

Det svåraste brukar vara att skapa hex-filen utan en massa buggar i funktionaliteten...
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: PWM generering med 555:an

Inlägg av Krille Krokodil »

Eller så köper man en Aurdino med USB-interface för en 100- + 50-lapp, använder den tillsammans med breadboard för att labba fram lösningar och sedan också som ISP-programmerare när man har satt det hela på kretskort.

http://arduino.cc/en/Tutorial/ArduinoISP
Skriv svar