DCC-liknande Decoder - Kan det här fungera?
- prototypen
- Inlägg: 11105
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: DCC-encoder - Kan det här fungera?
Ska vara med PWM enligt TS i tidigare inlägg och bara pulsa den nedre transistorn (klokt)
Sedan kom jag på att det måste sitta dioder inbyggda eller externa över alla transistorer i H-bryggan (annars så riskerar man transistorerna.
Protte
Klas kenny kan du inte krypa till korset och flytta om bland prylarna, det är ju det man har CAD till.
Sedan kom jag på att det måste sitta dioder inbyggda eller externa över alla transistorer i H-bryggan (annars så riskerar man transistorerna.
Protte
Klas kenny kan du inte krypa till korset och flytta om bland prylarna, det är ju det man har CAD till.
Re: DCC-encoder - Kan det här fungera?
Som någon föreslagit innan så kan man alltså byta ut N-kanals mosfetarna Q1 och Q2 och sätta dit P-kanals istället. Dessa är "bakvända" jämfört med N-kanals, så source ska ligga vid +15V och drain vid motorn. Gatespänningen anges som vanligt i förhållande till source - och eftersom source är kopplad till +15V så är det alltså en fast spänning att jämföra med.
För att stänga av transistorn måste gate ha samma (eller högre) potential som source - dvs -15 volt.
För att transistorn ska leda måste gate ha en spänning på 5 volt lägre än source, dvs. högst +10 volt.
Detta kan du åstadkomma genom en smart koppling med en NPN-transistor:
NPN-basen kopplas till PICens utgång via ett basmotstånd, t.ex. 4k7.
NPN-emitter kopplas till GND.
NPN kollektor kopplas till gaten på P-mosfeten.
Mellan gate och +15V sätter man ett motstånd på t.ex 1k - 10 k. (fungerar då PWM sköts av den undre transistorn)
Då fungerar det så här:
(A) transistorn ska inte leda:
- utgången från PIC sätts till 0. Då leder inte NPN transistorn så man kan betrakta kollektorn som ett avbrott (ingen ström). gaten på mosfet får sin spänning +15 volt via motståndet. Eftersom så gott som ingen ström går så kommer gaten att ha spänningen +15 volt vilket är detsamma som source = mosfet elder inte.
(B) transistorn ska leda:
- utgången från PIC sätts till 1. Då leder NPN och kortsluter gate till GND. gate-source-spänningen blir då -15 volt och transistorn leder.
Har du koll på hur du skulle ansluta ingången till PIC - den som ska läsa av själva signalen?
Du skapar alltså en spänningsdelare med hjälp av två motstånd: du ska ha ut ca 5 volt ur 15 volt - du kan t.ex. sätta 22k på övre motståndet, och 10k på undre - då får du U1 = U * R2 / (R1 + R2 ) = 15 * 10 / ( 10 + 22) = 4.68 volt...

En spänningsregulator (t.ex 7805) är inte lämpad för snabba signaler.
För att stänga av transistorn måste gate ha samma (eller högre) potential som source - dvs -15 volt.
För att transistorn ska leda måste gate ha en spänning på 5 volt lägre än source, dvs. högst +10 volt.
Detta kan du åstadkomma genom en smart koppling med en NPN-transistor:
NPN-basen kopplas till PICens utgång via ett basmotstånd, t.ex. 4k7.
NPN-emitter kopplas till GND.
NPN kollektor kopplas till gaten på P-mosfeten.
Mellan gate och +15V sätter man ett motstånd på t.ex 1k - 10 k. (fungerar då PWM sköts av den undre transistorn)
Då fungerar det så här:
(A) transistorn ska inte leda:
- utgången från PIC sätts till 0. Då leder inte NPN transistorn så man kan betrakta kollektorn som ett avbrott (ingen ström). gaten på mosfet får sin spänning +15 volt via motståndet. Eftersom så gott som ingen ström går så kommer gaten att ha spänningen +15 volt vilket är detsamma som source = mosfet elder inte.
(B) transistorn ska leda:
- utgången från PIC sätts till 1. Då leder NPN och kortsluter gate till GND. gate-source-spänningen blir då -15 volt och transistorn leder.
Har du koll på hur du skulle ansluta ingången till PIC - den som ska läsa av själva signalen?
Du skapar alltså en spänningsdelare med hjälp av två motstånd: du ska ha ut ca 5 volt ur 15 volt - du kan t.ex. sätta 22k på övre motståndet, och 10k på undre - då får du U1 = U * R2 / (R1 + R2 ) = 15 * 10 / ( 10 + 22) = 4.68 volt...

En spänningsregulator (t.ex 7805) är inte lämpad för snabba signaler.
- Klas-Kenny
- Inlägg: 11839
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: DCC-encoder - Kan det här fungera?
Super7: Ah, det vart just det jag va ute efter!
Jesse: Tack för hjälpen, nu får jag ta och fundera vidare!
Prototypen: Ska flytta om det lite snyggare, nu när jag vet hur jag gör
jesse: Underbart, jag tänkte först använda mig utav både P-dopade och N-dopade, då det kändes som att det borde vara så man ska göra, men jag hittade ingenstans där det beskrevs riktigt ordentligt hur man använde de P-dopade, därför blev det som det blev.
Edit: Här kommer ett nytt kopplingsschema!
Har försökt tänka på allt som sagt ang. ur det förra blev ritat, och det ända (vad jag kunnat se) som inte blev uppfyllt är valet av symboler, då jag inte hittat bättre bland biblioteken. Något som är helt fel?
Vad kan förbättras?
Jesse: Tack för hjälpen, nu får jag ta och fundera vidare!
Prototypen: Ska flytta om det lite snyggare, nu när jag vet hur jag gör

jesse: Underbart, jag tänkte först använda mig utav både P-dopade och N-dopade, då det kändes som att det borde vara så man ska göra, men jag hittade ingenstans där det beskrevs riktigt ordentligt hur man använde de P-dopade, därför blev det som det blev.
Edit: Här kommer ett nytt kopplingsschema!
Har försökt tänka på allt som sagt ang. ur det förra blev ritat, och det ända (vad jag kunnat se) som inte blev uppfyllt är valet av symboler, då jag inte hittat bättre bland biblioteken. Något som är helt fel?
Vad kan förbättras?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: DCC-encoder - Kan det här fungera?
snyggt schema!
Fortfarande är Q1 och Q2 N-kanal och det funkar inte (du får lägga dit särskilda symboler för P-kanals).
Och motståndet mellan gate och source saknas på Q1 och Q2.
Symbolerna är det inget fel på.
Mellan VDD och VSS på U2 bör det sitta en keramisk kondensator på 100 nF så nära U2 som möjligt rent fysiskt (parallellt med C3).
Fortfarande är Q1 och Q2 N-kanal och det funkar inte (du får lägga dit särskilda symboler för P-kanals).
Och motståndet mellan gate och source saknas på Q1 och Q2.
Symbolerna är det inget fel på.
Mellan VDD och VSS på U2 bör det sitta en keramisk kondensator på 100 nF så nära U2 som möjligt rent fysiskt (parallellt med C3).
- Klas-Kenny
- Inlägg: 11839
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: DCC-encoder - Kan det här fungera?
Q1 och Q2 är väl ändå P där?
Man skiljer väl de olika på den lilla pilen, och den pekar ju inte på samma håll på Q1 och Q2 som på Q3 och Q4?
Motstånden där missade jag, lägger till dom!
Man skiljer väl de olika på den lilla pilen, och den pekar ju inte på samma håll på Q1 och Q2 som på Q3 och Q4?
Motstånden där missade jag, lägger till dom!

Re: DCC-encoder - Kan det här fungera?
eehh.. njae.. det är lite svårt att se, men på mina symboler så har N-kanals en pil inåt (mot gaten) i mitten, medan P-kanal har en pil utåt, riktaf från gaten. Dessutom är de felvända eftersom p-kanal ska ha sin source mot plus och drain till motorn.


- Klas-Kenny
- Inlägg: 11839
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: DCC-encoder - Kan det här fungera?
Okej, bara jag som fått vilken som är vilken om bakfoten då!
Såhär ser det ut nu, bytte plats på MOSFET'arna, satte motstånd mellan gate och source på dem, samt satte en kondensator mellan VDD och VSS, något jag borde ändra/lägga till?
Edit: Glömde bilden
Edit igen:
Kom på att, vore det inte bättre att köra pwm på Q3 och Q4?
I och med att jag har transistorer som styr dessa, bör det vara mycket enklare att switcha dessa med lite högre frekvens?
För utgångarna på PIC'en som lämnar endast ~25mA(?) borde väl ändå inte kunna driva en MOSFET med alls så hög frekvens som transistorer på kanske 200mA?
Sen kom jag även på att, begränsar en transistor strömmen? Eller borde jag sätta ett motstånd mellan Kollektorn på transistorn och Gaten på MOSFET som begränsar strömmen som går igenom den till max vad den klarar (strax under) för att inte bränna transistorn när MOSFET "laddar ur sig"?
Såhär ser det ut nu, bytte plats på MOSFET'arna, satte motstånd mellan gate och source på dem, samt satte en kondensator mellan VDD och VSS, något jag borde ändra/lägga till?
Edit: Glömde bilden

Kom på att, vore det inte bättre att köra pwm på Q3 och Q4?
I och med att jag har transistorer som styr dessa, bör det vara mycket enklare att switcha dessa med lite högre frekvens?
För utgångarna på PIC'en som lämnar endast ~25mA(?) borde väl ändå inte kunna driva en MOSFET med alls så hög frekvens som transistorer på kanske 200mA?
Sen kom jag även på att, begränsar en transistor strömmen? Eller borde jag sätta ett motstånd mellan Kollektorn på transistorn och Gaten på MOSFET som begränsar strömmen som går igenom den till max vad den klarar (strax under) för att inte bränna transistorn när MOSFET "laddar ur sig"?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
- prototypen
- Inlägg: 11105
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: DCC-encoder - Kan det här fungera?
Nu börjar schemat bli läsbart.
MEN
R11 och R12 sitter exemplariskt, man ser direkt att de finns och vad de gör.
R7 och R8 sitter också bra men varför har de inte hamnat på samma sätt på högersidan
R9 och R10 kan väl få flytta så de sitter på samma sätt som R7 och R8.
Att 7805 sitter lodrätt isf vågrätt gillar jag inte men jag säger inget om det.
D1 har väl tveksam effekt, om C1 är tillräckligt stor för att driva motorn när spänningen blir 0 så kommer den att förvanska signalen när den går hög också. Samma resonemang du hade om kondensator på 7805 ingång.
Ett motstånd i serie med en kondensator fysiskt direkt på motorn, 10 - 47Ω, 0,1 - 0,47 µF
Du ska INTE PWM:a med Q3 och Q4, det är bara motstånden som drar laddning ur gatearna.
Sodjan målar upp skräckbild om strömrusning i processorn men med ett större gatemotstånd och en måttlig switchfrekvens har du mycket bättre (aktiv = push-pull) drivning på Q1 och Q2
MEN
R11 och R12 sitter exemplariskt, man ser direkt att de finns och vad de gör.
R7 och R8 sitter också bra men varför har de inte hamnat på samma sätt på högersidan
R9 och R10 kan väl få flytta så de sitter på samma sätt som R7 och R8.
Att 7805 sitter lodrätt isf vågrätt gillar jag inte men jag säger inget om det.
D1 har väl tveksam effekt, om C1 är tillräckligt stor för att driva motorn när spänningen blir 0 så kommer den att förvanska signalen när den går hög också. Samma resonemang du hade om kondensator på 7805 ingång.
Ett motstånd i serie med en kondensator fysiskt direkt på motorn, 10 - 47Ω, 0,1 - 0,47 µF
Du ska INTE PWM:a med Q3 och Q4, det är bara motstånden som drar laddning ur gatearna.
Sodjan målar upp skräckbild om strömrusning i processorn men med ett större gatemotstånd och en måttlig switchfrekvens har du mycket bättre (aktiv = push-pull) drivning på Q1 och Q2
- Klas-Kenny
- Inlägg: 11839
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: DCC-encoder - Kan det här fungera?
Varför R9 och R10 hamnade sådär vet jag inte, jag tyckte med det såg lite skumt ut, men tänkte inte på hur man kunde göra
Kom även på att efter att jag flyttat om lite i schemat sen jag satte dit 7805an så passar den minst lika bra på "rätt" håll, så det fick ändras 
Men ifall man sätter ett motstånd i lämplig storlek i serie med C1 så att den inte kan laddas upp Allt för fort, borde problemet med att den håller spänningen nere försvinna? För ifall det tar en sekund för den att laddas upp, och den sedan kan hålla igång under de max 1,8ms som strömmen kommer att vara borta per kommando som skickas, ifall jag inte kan skicka kommandon fortare än 1 i sekunden gör mig ingenting.
Vart det såhär du menade med motstånd och kondensator vid motorn? Min fråga ang. motstånd mellan kollektor på transistor Q6 och gate på MOSFET Q4 (Och likadant mellan Q5 och Q3) för att förhindra för mycket ström genom transistorn kvarstår.


Men ifall man sätter ett motstånd i lämplig storlek i serie med C1 så att den inte kan laddas upp Allt för fort, borde problemet med att den håller spänningen nere försvinna? För ifall det tar en sekund för den att laddas upp, och den sedan kan hålla igång under de max 1,8ms som strömmen kommer att vara borta per kommando som skickas, ifall jag inte kan skicka kommandon fortare än 1 i sekunden gör mig ingenting.
Vart det såhär du menade med motstånd och kondensator vid motorn? Min fråga ang. motstånd mellan kollektor på transistor Q6 och gate på MOSFET Q4 (Och likadant mellan Q5 och Q3) för att förhindra för mycket ström genom transistorn kvarstår.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: DCC-Decoder - Kan det här fungera?
C1 bör inte påverka signalen alls - om den är "nästan" helt uppladdad hela tiden (även när signalen har varit "noll" i 1.8 mS så drar inte kondensatorn ner spänningen igen mer än marginellt (kanske från 15.0 till 14.5 volt på sin höjd, beroende på hur mycket ström motorn hunnit dra ut under 1.8mS) , så prottes farhågor är nog fel här. Ett motstånd i serie gör ingen nytta vad jag kan se. Kondensator i serie med motstånd över motorn fyller en helt annan funktion vad jag kan förstå. Om det nu behövs?
- Klas-Kenny
- Inlägg: 11839
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: DCC-Decoder - Kan det här fungera?
Så tänkte jag också först, bara jag har en tillräckligt stor kondensator, så att den inte hinner laddas ur helt under spänningsdiparna
Edit: Och ifall det skulle ta kanske uppåt en sekund från det att anläggningen startas, till det att tågen kan börja rulla (för att kondensatorn ska laddas upp) så gör inte det mig något
Protte, kan du inte förklara lite vad för funktion kondensatorn och motståndet över motorn (R13 och C5 på schemat) ska fylla för funktion?

Edit: Och ifall det skulle ta kanske uppåt en sekund från det att anläggningen startas, till det att tågen kan börja rulla (för att kondensatorn ska laddas upp) så gör inte det mig något

Protte, kan du inte förklara lite vad för funktion kondensatorn och motståndet över motorn (R13 och C5 på schemat) ska fylla för funktion?

Re: DCC-Decoder - Kan det här fungera?
Motorn kommer att dra mer ström vid acceleration än annars... det kan handla om flera gånger mer än vid "normal" körning, beroende på belastning. Vad som händer när t.ex Q2 switchar är att strömmen hackas upp - när transistorn inte leder så vill motorns induktans fortfarande skicka samma ström - strömmen kommer då att ta den vägen som går - i det här fallet kommer den att gå igenom Q4 genom backdioden.
Strömmen genom Q4 kommer inte att kunna komma vidare, då dioden D1 hindrar den att komma vidare, men om Q1 fortfarande leder så kommer strömmen gå tillbaks via Q1 till motorn.
Om man ska stänga av / byta riktning kan det därför vara lämpligt att först stänga av PWM (på Q2) och vänta ett tag så att strömmen från motorn avtagit - sedan stänga av Q1. Om Q1 och Q2 stänger av abrupt så är det bara kondensatorn som tar upp strömmen från motorn (och leder den ner till GND och vidare genom Q1 backdiod) , vilket kan leda till en spänningsspik som kan skada mosfetarna. Ju större kondensator du har där desto mindre spänningsspik - å andra sidan drar den mycket ström i början i så fall, när man slår på strömmen första gången.
Jag har ingen självklar lösning på hur man bör göra annars (mitt förslag att stänga av Q1 efter att PWM stängts av i Q2 får ju problem om man t.ex bryter matningsspänningen så att PICen stannar - då kanske båda transistorerna stänger av samtidigt i alla fall)
Strömmen genom Q4 kommer inte att kunna komma vidare, då dioden D1 hindrar den att komma vidare, men om Q1 fortfarande leder så kommer strömmen gå tillbaks via Q1 till motorn.
Om man ska stänga av / byta riktning kan det därför vara lämpligt att först stänga av PWM (på Q2) och vänta ett tag så att strömmen från motorn avtagit - sedan stänga av Q1. Om Q1 och Q2 stänger av abrupt så är det bara kondensatorn som tar upp strömmen från motorn (och leder den ner till GND och vidare genom Q1 backdiod) , vilket kan leda till en spänningsspik som kan skada mosfetarna. Ju större kondensator du har där desto mindre spänningsspik - å andra sidan drar den mycket ström i början i så fall, när man slår på strömmen första gången.
Jag har ingen självklar lösning på hur man bör göra annars (mitt förslag att stänga av Q1 efter att PWM stängts av i Q2 får ju problem om man t.ex bryter matningsspänningen så att PICen stannar - då kanske båda transistorerna stänger av samtidigt i alla fall)
- Klas-Kenny
- Inlägg: 11839
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: DCC-Decoder - Kan det här fungera?
Skulle man inte kunna göra så enkelt som att man skriver koden till PIC'en så att ifall RA0 får in 0a under för lång tid (Alltså längre än de normala signalerna), så stannar den tåget?
Ska ju finnas kondensatorer i tåget nog för att kunna driva allt normalt under den lilla stunden.
Ska ju finnas kondensatorer i tåget nog för att kunna driva allt normalt under den lilla stunden.
- prototypen
- Inlägg: 11105
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: DCC-Decoder - Kan det här fungera?
R13 - C5 är till för att ta kål på spraket från (borst)motorn och man får gärna ha de på kretskortet men det ska också sitta direkt på motoranslutningarna för att inte sprida strörningarna.
Med långa motorledningar och RC kretsen på kortet så fungerar ledningarna som sändarantenner.
Protte
Med långa motorledningar och RC kretsen på kortet så fungerar ledningarna som sändarantenner.
Protte
- Klas-Kenny
- Inlägg: 11839
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: DCC-Decoder - Kan det här fungera?
Så det påverkar alltså inte funktionen hos själva motorn, utan endast för att inte störa trådlösa nätverk osv. ?
Sitter inget sådant monterat original i loket
Nu måste jag genomföra detta projekt, då jag mätte på motorn hur mycket ström den drar i drift, och sen när jag skulle mäta spänningen motorn får missade jag att flytta proben i min multimeter tillbaka till rätt hål i den, och på så sätt kortslöt skiten och brände en MOSFET på det nuvarande styrkortet
Sitter inget sådant monterat original i loket

Nu måste jag genomföra detta projekt, då jag mätte på motorn hur mycket ström den drar i drift, och sen när jag skulle mäta spänningen motorn får missade jag att flytta proben i min multimeter tillbaka till rätt hål i den, och på så sätt kortslöt skiten och brände en MOSFET på det nuvarande styrkortet
