Table of Contents
MGV Servo 4 driver
Algemeen
Wisselsturingen zijn meestal duur of niet betrouwbaar. De MGV84 unit geeft de mogelijkheid om 4 goedkope servomotoren aan te sturen op een betrouwbare en betaalbare manier.
De MGV84 heeft 4 geisoleerde ingangen, die geactiveerd kunnen worden met een 5 volts signaal.MGV84 is tevens voorzien van 4 relais om de puntstukken de juiste polariteit te geven.
MGV84 heeft 4 opto geisoleerde uitgangen die gebruikt kunnen worden voor terugmelding als het wissel de juiste stand heeft bereikt.
Functies
Voor elke wissel kan je 3 individuele settings bepalen:
- Snelheid van de motor.
- De totale rijkwijdte (bereik), aanpasbaar tussen 10 en 180 graden.
- De positie van het relais. (normaal of reverse)
Mogelijkheden
- relais voor ieder puntstuk
- Bi-stabiel relais, energiebesparing
- Terugmelding van de 4 servo's
- Geisoleerde in en uitgangen ter voorkoming van aardlussen.
De Pic Chip programmeren
De PIC16F873(A) heeft natuurlijk een programma nodig.
Mijn ervaring met programmeren ligt slechts in het amateurvlak, maar ik heb altijd prima resultaten kunnen bereiken met
een Basic Compiler genaamd Pic Simulator IDE, die kan worden geladen van www.oshonsoft.com.
Deze basic compiler levert tamelijk snelle programma's. De functie van deze print is niet zodanig dat echt hoge snelheden
zijn vereist zoals bijvoorbeeld in communicatie apparatuur.
* MGV84.bas | De basic listing
De hiervolgende .hex file kan direct worden geladen in de PIC chip.
Het afregelen van de motorstanden
Om de parameters te zetten volg de volgende stappen:
- Verbreek de stroom naar MGV84.
- Er mag geen signaal op de 4 ingangen staan.
- Sluit de servomotoren aan
- Plaats jumper jp1
- Zet de spanning op de MGV84.
- MGV84 staat nu in de afregelmodus.
- Activeer 1 van de 4 inputs.
- De corresponderende servo zal nu heen en weer bewegen.
- De snelheid van de servo kan ingesteld worden met P1. Opm: de snelheidsverandering zal pas plaatsvinden nadat de servo zich in de linker eind positie bevindt.
- de instelhoek van de servo kan je wijzigen met P2.Opm: de verandering zal pas plaatsvinden nadat de motor zich in de linker eind positie bevindt.
- het relais voor de wisseltong zal omschakelen wanneer de servomotor de middenpositie passeert. De richting kan je veranderen dmv de jumper jp1.
- wanneer de motor naar believen werkt incl. het relais, de-activeer dan de input.
- Wacht met het activeren van een volgende ingang tot de servo gestopt is.
- De parameters worden bewaard en de motor stopt in de linker eind positie.
- Ga verder bij punt 6, om de resterende servo's in te stellen.
Nadat alle servo's gezet zijn, verwijder de spanning en verwijder jumper jp1. Zet daarna de spanning weer op de MGV84..
De MGV84 is nu klaar voor gebruik.
MGV84 PCB files
mgv84_v1-2_sch.pdf | Het schema |
mgv84_v1-2_pcb.pdf | De print |
mgv84-dwg.pdf | Aansluitschema |
SVN
Onderdelen
Part nr | Description | ||
---|---|---|---|
R1,R2,R3,R4,R7 | 1K | ||
R1 | resistor 1K | ||
R2 | resistor 1K | ||
R3 | resistor 1K | ||
R4 | resistor 1K | ||
R5 | resistor 3K3 | ||
R6 | resistor 3K3 | ||
R7 | resistor 1K | ||
R8 | resistor 10K | ||
R10 | resistor 10K | ||
R2 | resistor 1K | ||
R11 | resistor 4K7 | ||
R12 | resistor 270E | ||
R13 | resistor 4K7 | ||
R14 | resistor 270E | ||
R15 | resistor 4K7 | ||
R16 | resistor 270E | ||
R17 | resistor 4K7 | ||
R18 | resistor 270E | ||
R19 | resistor 560E | ||
R20 | resistor 560E | ||
R21 | resistor 560E | ||
R22 | resistor 560E | ||
RP1 | array 8 x 3K3 | ||
P1 | Trimmer pot 10K | ||
P2 | Trimmer pot 10K | ||
C1 | Elco 1000 uF 35V radial | ||
C2 | Elco 10 uF 35V radial | ||
C3 | Elco 10 uF 35V radial | ||
C4 | capacitor 100nF | ||
C5 | capacitor 15pF | ||
C6 | capacitor 15pF | ||
C7 | capacitor 100nF | ||
D1 | Diode 1N4148 | ||
D2 | Diode 1N4148 | ||
D3 | Diode 1N4148 | ||
D4 | Diode 1N4148 | ||
D5 | Diode 1N4148 | ||
D6 | Diode 1N4148 | ||
D7 | Diode 1N4148 | ||
D8 | Diode 1N4148 | ||
TR1 | Transistor BD678 | ||
U1 | Opto K847P | ||
U2 | PIC16F873 | ||
U3 | Opto K847P | ||
U4 | PCF8574 | ||
X1 | Cruystal 20MHz | ||
GR1 | B80C1500 | ||
F1 | fuse 0,9A | www.reichelt.de | PFRA 090 |
VR1 | Power IC 7805 | ||
VR2 | Power IC 7805 | ||
K1 | Relay RALD5W-K | Conrad | 502880-8A |
JP1 | two pin jumper | ||
J1 | three pin header | www.reichelt.de | PSS254/3G |
J2 | three pin header | www.reichelt.de | PSS254/3G |
J3 | three pin header | www.reichelt.de | PSS254/3G |
J4 | three pin header | www.reichelt.de | PSS254/3G |
J5 | 10- pin header | www.reichelt.de | PSS254/10G |
J6 | 6 pole screw conn. | www.reichelt.de | AKJL012-03/03 |
De MGV84 aansluiten op de MGV50
De MGV84 (J6) is verbondem met de MGV50 (J5 or J6) middels een 10 polige connector (zie onderdelenlijst).
Dit betekent dat iedere servo een vaste aansluiting heeft op de in en uitgangen van de MGV50.
De 16 in/uitgangen van de MGV50 moeten als volgt vastgelegd worden:
Het getal achter de in of uitgang verwijst naar het aansluitnummer.
MGV50 connector | servo 1 | servo 2 | servo 3 | servo 4 | feed-back 1 | feed-back 2 | feed-back 3 | feed-back 4 |
---|---|---|---|---|---|---|---|---|
J5 | output 1 | output 2 | output 3 | output 4 | input 5 | input 6 | input 7 | input 8 |
J6 | output 9 | output 10 | output 11 | output 12 | input 13 | input 14 | input 15 | input 16 |
Kabel naar MGV50
Refer to: connection_cable_mgv50_interface
Beschrijving van het schema
De voeding , aangesloten op J5, mag gelijkspanning zijn tussen de 10 en 18Volt of wisselspanning tussen de 8 en 18 Volt ook het digitale signaal van de baan mag gebruikt worden.
Een draaiende servo veroorzaakt hoge stroompieken.
Daarom wordt voor de voeding van de pic een tweede 5V stabilisator gebruikt .
Transistor TR1 schakelt vertraagt de voeding naar de servo's.
Dit zorgt ervoor dat de servo's bij het opstarten geen ongedefinieerde posities in zullen nemen.
Via J6 (pin 3 to 6) krijgt de MGV84 zijn data van de MGV50.
Een spanning van 5V op een ingang activeert de overeenkomstige opto-coupler in U1 en maakt de ingang van U4, een I2C expander 0 volt.
Deze chip wordt permanent uitgelezen door de PIC U2.
De servo kan een hoekverdraaing krijgen van 45 tot 135 graden.
De beschikbare 90 graden is voldoende voor een lineaire beweging voor de aandrijving van bijvoorbeeld een wissel.
Het veranderen van de waarden naar 50 en 250 op regel 100 en 200 in het pic programma vergroot de hoek naar 180 graden.
De relais K1, K2, K3 en K4 veranderen hun stand als de servo de middenstand passeert.De relais kunnen gebruikt worden voor de polarisatie van de puntstukken van de wissels.
Als de servo in zijn eindstand is gekomen wordt er een feed-back signaal gegenereert : U3 en U4.
Deze waarde is laag in de ene uiterste stand en hoog in de andere uiterste stand van de servo.
Hoe de servo ingesteld moeten worden is te lezen in Het afregelen van de motorstanden .
Vanwege de voedingsaansturing van de servo's kan er slechts 1 tegelijkertijd actief zijn.
Als de servo's langzaamlopen kan het langduren eer zij allen een commando en een stand hebben ingenomen.
Vooral in schaduwstations kan dit tot problemen leiden.
Dat is de reden dat de MGV84 feedback signalen geeft aan Rocrail.
Een trein zal alleen starten als alle noodzakelijke wissels gezet zijn.