Sida 1 av 1

PWM generering med 555:an

Postat: 7 augusti 2012, 18:12:52
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 ;)

Re: PWM generering med 555:an

Postat: 7 augusti 2012, 18:38:31
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..

Re: PWM generering med 555:an

Postat: 7 augusti 2012, 21:15:43
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.

Re: PWM generering med 555:an

Postat: 7 augusti 2012, 21:37:37
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.

Re: PWM generering med 555:an

Postat: 7 augusti 2012, 22:26:05
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: ).

Re: PWM generering med 555:an

Postat: 7 augusti 2012, 22:39:51
av Icecap
Men då tycker jag att du ska fortsätta vara lat och bekväm och ta den besvärliga lösningen...

Re: PWM generering med 555:an

Postat: 7 augusti 2012, 23:30:57
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

Re: PWM generering med 555:an

Postat: 7 augusti 2012, 23:35:28
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:

Re: PWM generering med 555:an

Postat: 7 augusti 2012, 23:37:59
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 :/

Re: PWM generering med 555:an

Postat: 7 augusti 2012, 23:41:15
av Klas-Kenny
Ur ingenjörssynvinkel: :doh:

Re: PWM generering med 555:an

Postat: 8 augusti 2012, 01:19:25
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.

Re: PWM generering med 555:an

Postat: 8 augusti 2012, 07:12:21
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...

Re: PWM generering med 555:an

Postat: 8 augusti 2012, 10:01:05
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