De 7555-schakeling moet niet rechtstreeks aan ground, dit moet via een weerstandje. De rest van de 7555-schakeling klopt ook niet.

De IR2101 heeft onafhankelijke inputs. Dat betekent dat je in principe beide ingangen tegelijk kunt aansturen, dan heb je dus een dikke kortsluiting.

Daarom nam ik de IR2183 :P
Al die IR's kunnen PWM.

Zonder charge pump voor continous gate drive kun je niet 'vol gas' omdat de hogere spanning voor de gates van de bovenste fets niet meer gemaakt kan worden boven een dutycycle van ongeveer 80%.

80%?!? dikke onzin, in de meeste gevallen (afhankelijk van de dode tijd, FETs, etc) is 97% duty-cycle haalbaar voor onbepaalde tijd. Als je niet boven de 80% kunt komen, heb je waarschijnlijk een veel te trage bootstrap diode gebruikt.

Dacht ik al dat hij niet klopte.
Ik wouw ook een IR2183 gebruiken allen waar ik mijn schema's in maakt kent de IR2183 niet.
Zo ziet mijn ICM7555 er uit, ook niet echt volgens de datasheed.

@Zonnepaneeltje: Heeft U al een schema ondworpen, die ik mischien mag zien? :+

Is de IRF1404PBF een goede mosfet? Ik weet dat hij een beetje overkill is maar ik wil mischien later 2 ruitenwissermotoren op de h-brug zetten, weet ik zeker dat hij niet door brand.
Is de diode die ik eerder noem daar ook goed voor.

[Bericht gewijzigd door Brandon op (18%)]

Brandon, je hebt mail.

Het schema is voor 48V-60V, nog niet helemaal af, en niet getest dus ik betwijfel of je er wat aan hebt. Maar ik wil hem wel posten hoor.

Oke, ik wouw even u schema kijken om te kijken hou het een beetje moet. Met de extra ICM7555 en zo.
Moet ik de HIN en LIN van de twee IR2183 aan elkaar 'knuppen' om hem links of rechts om te laten draaien, of moet je HIN of LIN van één IR2183 aansturen en mat de andere niks doen?

Wil de IR2183 ook koeling?
@Zonnepaneeljte, je heb ook mail.

[Bericht gewijzigd door Brandon op (20%)]

Ik heb mijn schema verandert.
Zijn de onderdelen die in het rood getekent zijn, van goede waarde, en goed verbonden?
En is de deel met de 7555 goed getekent?

Alvast bedankt

Brandon

Gebruik je geen 4 stuurlijnen?
'Lin' heeft een geinverteerd signaal nodig dus die kun je niet aan de 'Hin' van de andere kant knopen.

Die hele 555-schakeling moet op en neer klapperen met de source van de bovenste fet.
R7 en R8 moeten veel kleiner, iets in de orde van 1k. Werk je maar met 12V? Dan weet ik zo niet of dat goed gaat.
Heb zelf deze schakeling nog niet op breadbord gezet.

Er mist een C-tje van 1nF bij de 555, en er ontbreken een stuk of 10 ontkoppelcondensatoren.

[erm] waar haal je het vandaan om dat gedissipeerde vermogen te gaan delen door de stroom ? [/erm]

je gebruikt de parameters compleet verkeerd !

Ik heb mijn schema, wat in het rood is is verandert.
Is het verstandig om er een stroombegrenzer te gebruiken?
Ik ga nu wel 4 stuurlijnen gebruiken, mijn µc wordt een 18F4431.

Op 2 juli 2010 16:12:53 schreef Zonnepaneeltje:
Die hele 555-schakeling moet op en neer klapperen met de source van de bovenste fet.

Daar staat hij toch mee in verbinding?

Op 2 juli 2010 16:12:53 schreef Zonnepaneeltje:
en er ontbreken een stuk of 10 ontkoppelcondensatoren.

Ik heb ze niet allemaal gevonden.

@free_electron: Ik snap niet helemaal wat u bedoelt.

In je eerste schema kon de 7555 niet mee klapperen met de source omdat je R7 weggelaten had. Nu is het goed.

De 2183 moet nog een ontkoppelelko van 10uF bij.

De 12V rail moet met een paar dikke lowesr elko's ontkoppeld.

Free bedoelt dit:

200/12 = 16.67 Ampere kan hij verstoken.

Dat klopt niet.
Als de fet aan is verstookt hij bij 20A en een Rds-on van 0.06 Ohm:
I.I.R = 20 . 20 . 0.06= 24 Watt.

De HUF75345P3 is toch sterk genoeg, of moet ik 2 paralel zetten.

Voor elk ampere moet je 2200 µF gebruiken

Heb ik ergens gelezen, dus dat beteken 2200 * 21= 46200 µF
http://nl.farnell.com/panasonic/ecos1ca473ea/capacitor-47000uf-16v/dp/…
De 21 ampere komt van 2 ruitenwissermotoren.

Moet de onkoppelelko van 10uF over C9 en C10?

1 mosfet is voor 10A op het randje.
2 of 3 parallel heeft ook het voordeel dat er minder warmte verstookt wordt als de fet 'aan' is, waardoor je minder koelplaat nodig hebt.
Maar je hebt de Rds-on dus je kunt nu uitrekenen hoe het uitpakt met verschillende aantallen fets parallel.
We vergeten nog maar even de schakelverliezen.

Die 2200uF/A regel is voor het afvlakken van een gelijkgerichte sinus.

Hier geldt een andere vuistregel: een lowesr elko tussen de 500-1000uF/A.

1 MOSFET met een Id cont. max. van 75A en een Rdson van 7 milliohm is "aan de krappe kant" voor een stroom van 10A? Dan hebben we het over 0.7W! Zelfs zonder koelprofiel zal het ding nog steeds onder de 70 graden blijven (bij een Rth(j-a) van 62.5K/W en een Ta van 25).

@Sparky: lees eerst dit eens voor je begint te blaten:
http://www.circuitsonline.net/artikelen/view/10/2

Altijd van worst-case uitgaan.
De Tj sowieso niet hoger laten oplopen dan 100 graden als je het spul voor langere tijd heel wilt houden.
De Rds-on van een mosfet loopt op naarmate de Tj stijgt.
Rds-on is bij een Tj van 100 graden al 0.007 x 1.5 = 0.01 Ω

Niet 25 graden als Ta kiezen (lijkt me sterk dat de TS een fan in z'n robot gaat plaatsen om de fetjes te koelen)
Ta was afgelopen week al 36 graden, en dan hebben we het nog niet over een halfgeleider die ingebouwd zit in een behuizing en zelf warmte produceert en daarmee z'n omgeving opwarmt.
Een Ta van 50 nemen is een stuk realistischer zolang je niet weet hoe de boel ingebouwd wordt.
Verder hebben we het over een nominale motorstroom van 10A. En wat wordt de stroom als er een helling wordt opgereden of de robot vast komt te zitten en los probeert te komen? en wat wordt Tj dan?

Bij 10A is P = I.I.R = 10 x 10 x 0.01 = 1 Watt.

Tj = Ta+ P.(Rthj-a) = 50 + 1x62 = 112 graden

Schakelverliezen nog steeds verwaarloosd.

Parallel schakelen werkt sterk verbeterend,
Bij 2 stuks wordt niet alleen de totale Rds gehalveerd, zonder koelplaat wordt toch het oppervlak verdubbelt (als je ze vrij wegzet) waardoor ze kouder blijven waardoor de Rds-on weer lager blijft waardoor de warmteproductie weer lager uitpakt...

En je krijgt ook nog eens het voordeel dat je ietsje meer spanning overhoudt voor de motor en veel minder koelplaat hoeft mee te zeulen.

Ik zal de eerste twee regels en de ondertoon van je berichtje maar negeren, misschien was het niet bedoeld zoals het op mij over komt. Daarbij betrap ik mezelf met enige regelmaat op dergelijke berichtjes, dus het zij je vergeven.

Van een junctie temperatuur van 112 graden worst-case wordt ik nog niet zenuwachtig hoor, ze mogen 175 graden worden, al is daarmee natuurlijk niet gezegd dat dat verstandig is.

Ik heb de aannames (10A max, 25C omgeving, 62.5K/W) er toch duidelijk bij gezet. Als je het niet met die aannames eens bent (de TS riep zelf 10A), kan dat natuurlijk. Je hebt op zich gelijk dat het aannemen van een constante Rdson (zonder temperatuursquotiënt) een beetje kort door de bocht was.

Wat ik bedoelde te zeggen, is dat ik het een beetje onzin vind om FETs parallel te zetten, als de FET een Id max heeft van 75A, en je 10A moet schakelen. Als je niet in staat bent om de warmte af te voeren, ben je naar mijn idee nog steeds beter af met een FET in een SOIC package, waarbij een Rdson van 1.5mohm ook al haalbaar is, tegenover het parallel schakelen van TO220 FETs.

Ik vind dat je met duty-cycles van 80% en een marge van 10x op de drain stroom wel heel erg conservatief bezig bent. Naar mijn idee (en ervaring) is een factor 2 tot 3 marge ruimschoots voldoende.

[Bericht gewijzigd door SparkyGSX op (15%)]

Ik ben het hier met SparkyGSX eens.
Het parallel zetten van mosfets die al zo overgedimensioneerd zijn is echt onnodig.
Daarbij wordt een goede driver gebruikt wat de schakelverliezen al minimaliseerd en zoveel zal er niet geschakeld hoeven worden aangezien het hier een DC motor betreft.
Als ze dan nog steeds te warm worden bevestig je ze op een koperen vlak van je PCB of zet je er een klein koellichaam op. Er hoeft maar 1 watt te worden gedissipeerd wat nou niet echt spectaculair is.
Zelf hou ik ook een factor 3 of meer aan en heb hier nog nooit problemen mee gehad.

Bedoelt u dit als een kleine koellichaam?
Dus 1 van die mosfet kan de motor makkelijk aan zonder al te heet te worden. Als ik met een factor 3 doe, dan kan de mosfet ook 2 motoren aan (10.5*2*3= 63 ampere), dan word hij wel warm denk ik. Dan is 2 mosfets op de dit koellichaam verstandig?

Als je het koellichaam waar je naar toe linkt (2x dezelfde) echt die specificaties heeft kan je makkelijk 2 motoren op die mosfets gooien.
Die koellichamen hebben een koelcapaciteit van 8,2K/W wat betekend dat je mosfet 8,2°C stijgt ten opzichte van de omgevingstemperatuur als er 1W gedissipeerd wordt.
Bij 10A en 10mohm wordt er 1W gedissipeerd wat betekend dat de temperatuur van je mosfet 8,2 graad zal stijgen. Bij 20A wordt dit 4W, wat op een stijging van 32,8 graden neerkomt.
Bij een omgevings temperatuur van 40°C (wat al zeer hoog is) wordt je mosfet 72,8°C.
Meestal wordt 70°C als maximum genomen om veilig te zitten maar 73° kan ook prima, zeker voor hobby gebruik.
Echter weet ik niet zeker of die 8,2K/W klopt omdat heatsinks met deze specs meestal een stuk groter zijn.
Als dit wel klopt (er zal vast wel iemand zijn die hier meer vanaf weet), zorg dan wel dat je koelpasta tussen je heatsink en je mosfet doet, anders zal het koellichaam niet goed werken.

Hoe hoog de case temperatuur mag worden, is natuurlijk afhankelijk van de thermische weerstand en impedantie van de devices, en van de verwachtte thermische piekbelastingen. Je kunt een MOSFET best heel houden op hogere temperaturen, maar als je het echt goed wilt doen, houd je ook rekening met de schakelverliezen, en dan niet gemiddeld over langere tijd, maar bereken je de opwarming van de junctie bij elke keer dat je schakelt. Dat moet je dus wel een goed model hebben van alle thermische weerstanden en capaciteiten in het device.

Je kunt een MOSFET goed slopen met maar 1W dissipatie, gemiddeld genomen over een seconde, als dat 500W is gedurende 2ms.

Oke, ik zal de onderdelen deze week bestellen.
Heb ik mijn schema nu hellemaal goed getekent zodat ik niks vergeet bij het bestellen.
Er komt nog 2 electriese condensatoren van elk 10000µF tussen de plus en de min.

Ik heb de onderdelen een paar dagen geleden bestelt, nu maar wachten.
Kan ik nu mooi even kijken hoe het moet met de software.
Als besturings PIC gebruik ik een 16F690, Omdat die 4 PWM uitgangen heeft. En je kan in de software een h-brug maken.
Op blz 369 staat een schema hoe ik het moet aansluiten. Dus heb ik het zo in mijn eigen schema aangepast, klopt dit?

Ook vondt ik dit stukje teks, hoe je PWM moet instellen.

11.3.7 SETUP FOR PWM OPERATION
The following steps should be taken when configuring
the CCP module for PWM operation:

1. Disable the PWM pin (CCP1) output driver by
setting the associated TRIS bit.

2. Set the PWM period by loading the PR2 register.

3. Configure the CCP module for the PWM mode
by loading the CCP1CON register with the
appropriate values.

4. Set the PWM duty cycle by loading the CCPR1L
register and DC1B<1:0> bits of the CCP1CON
register.

5. Configure and start Timer2:
- Clear the TMR2IF interrupt flag bit of the
PIR1 register.
- Set the Timer2 prescale value by loading the
T2CKPS bits of the T2CON register.
- Enable Timer2 by setting the TMR2ON bit of
the T2CON register.

6. Enable PWM output after a new PWM cycle has
started:
- Wait until Timer2 overflows (TMR2IF bit of
the PIR1 register is set).
- Enable the CCP1 pin output driver by clearing
the associated TRIS bit

Ik heb nu deze stukje code

Device 16F690                ;Gebruik een 16F690 type
Config HS_OSC, CP_OFF, DATA_CP_OFF, PWRTE_ON, MCLRE_OFF
XTAL 20

;         76543210
TRISC =  %00000000             ;(0=uitgang, 1=Ingang)

CCP1CON = %01001100           ;Instelling voor hele H-brug
T2CON   = %00001110		        ;Zet Timer2 aan, Prescale=16
PR2     = %11111111           ;Zet PR2 om 1.22 kHz er uit te krijgen.
Duty    = 500                 ;Duty van 50%

Om de motor rechtom / linksom te laten gaan moet ik P1M<1:0> naar 01 of 11 zetten, maar hoe dit moet snap ik niet echt.
Klopt de code een beetje?

Op 5 juli 2010 19:44:02 schreef lethalshot:
Die koellichamen hebben een koelcapaciteit van 8,2K/W wat betekend dat je mosfet 8,2°C stijgt ten opzichte van de omgevingstemperatuur als er 1W gedissipeerd wordt.

Nee. De CASE van de fet zal 8.2 graden per watt boven omgevingstemp komen.

Bij 10A en 10mohm wordt er 1W gedissipeerd wat betekend dat de temperatuur van je mosfet 8,2 graad zal stijgen. Bij 20A wordt dit 4W, wat op een stijging van 32,8 graden neerkomt.

Dus waar je normaliter met junction-to-ambient van (hier in deze thread gelezen) 62 graden per wat moet rekenen, mag je nu met een CASE temp van Ambient+8 rekenen, en moet je de junction-to-case thermal resistance nemen.

[edit] Even opgezocht: De junction-to-case thermal resistance is 1.25 graden/W. (voor de IRF 5210, ik weet even niet zo snel welke FET jullie het nu over hebben). Voor het gemak kan je dus 8.2 + 1.25 = 9.45 nemen. Dan is 1W prima te doen, en 4W ook. Maar wat lethalshot doet, de junction-to-case weerstand verwaarlozen kan niet zomaar....

Dus met die koelichaam zit het wel goed, als ik het goed begrijp.

Ik heb de code iets verandert, moet het zo?
Als ik het naar een hex bestand doe dan krijg ik geen foud

Device 16F690                ;Gebruik een 16F690 type
Config HS_OSC, CP_OFF, PWRTE_ON, MCLRE_OFF
XTAL 20

Dim Duty As Word
;         76543210
TRISC =  %00000000             ;(0=uitgang, 1=Ingang)

CCP1CON = %01001100           ;Instelling voor hele H-brug
T2CON   = %00001110	      ;Zet Timer2 aan, Prescale=16
PR2     = %11111111           ;Zet PR2 om 1.22 kHz er uit te krijgen.
Duty    = 500                 ;Duty van 50%

Loop: 

    CCP1CON.4 = Duty.0	      ;Store duty to registers as
    CCP1CON.5 = Duty.1	      ;a 10-bit word
    CCPR1L = %01              ;Full-Bridge output forward; P1D modulated; P1A active; P1B, P1C inactive
GoTo Loop

[Bericht gewijzigd door Brandon op (86%)]

Niemand die me kan helpen met de code :'(

Hallo,
Ik heb mijn bestelling gekregen. En ben met de code aan de slag gegaan. Ik heb nu dit. Ik heb als 'belasting' 4 leds gebruikt om te kijken wat hij doet. Het werkt wel maar af en toe dan flikkert de onderste led's van de h-brug (die aan staat word feller, en de andere licht even op. Waar kan dit eigelijk aan liggen?

Device 16F690                ;Gebruik een 16F690 type
Config HS_OSC, CP_OFF, PWRTE_ON, MCLRE_OFF
XTAL 20

Dim Duty As Word

;         76543210
TRISC =   %00000000             ;(0=uitgang, 1=Ingang)

Duty    = 100                 ;Duty van 10%

While 1 = 1
 GoSub  Linksom
Wend


Linksom:

  CCP1CON = %11001100         ;links instelling
  T2CON   = %00001110		      ;Zet Timer2 aan, Prescale=16
  PR2     = %11111111          ;Zet PR2 om 1.22 kHz er uit te krijgen.	
  CCP1CON.4 = Duty.0		      ;Store duty to registers as
  CCP1CON.5 = Duty.1			    ;a 10-bit word
  CCPR1L = Duty >> 2
Return

Om de motor de andere richting te laten draaien moet ik

CCP1CON = %01001100

dit stukje veranderen.
Dus heb ik dit er nog bij gedaan om hem steets om te draaien

Device 16F690                ;Gebruik een 16F690 type
Config HS_OSC, CP_OFF, PWRTE_ON, MCLRE_OFF
XTAL 20

Dim Duty As Word

;         76543210
TRISC =   %00000000             ;(0=uitgang, 1=Ingang)

Duty    = 100                 ;Duty van 10%

While 1 = 1
 GoSub  Links
 DelayMS 2000
 
 GoSub Rechts
 DelayMS 2000 
Wend

End

Links:

  CCP1CON = %11001100         ;links instelling
  T2CON   = %00001110		      ;Zet Timer2 aan, Prescale=16
  PR2     = %11111111          ;Zet PR2 om 1.22 kHz er uit te krijgen.	
  CCP1CON.4 = Duty.0		      ;Store duty to registers as
  CCP1CON.5 = Duty.1			    ;a 10-bit word
  CCPR1L = Duty >> 2
Return                        

Rechts: 

  CCP1CON = %01001100         ;rechts instelling
  T2CON   = %00001110		      ;Zet Timer2 aan, Prescale=16	
  PR2     = %11111111         ;Zet PR2 om 1.22 kHz er uit te krijgen.
  CCP1CON.4 = Duty.0		      ;Store duty to registers as
  CCP1CON.5 = Duty.1			    ;a 10-bit word
  CCPR1L = Duty >> 2
Return 

Dan doet hij de eerste wel 2 sec en de andere maar heel kort.
En als ik onder de while 1 = 1 nog een keer delayms 2000 zet dan doet hij de eerste goed en daarna laat hij alle 4 de leds branden ;(

Weet iemand wat ik hieraan moet doen?

Alvast bedankt