Beste allemaal,

ik heb de volgende situatie:
Een motorregeling welke wordt gestuurd door een handunit die een DC spanning geeft van -12V tot +12V. Bij -12V draait de motor 100% n linksom en bij +12V 100% n rechtsom en bij 0V staat de motor stil.
In deze handunit zitten meerdere kanalen, en loopt er tussen handunit en motor een vrij dikke multikabel.

Mijn doelstelling is om de spanningen van deze handunit te capturen met een PIC, digitaal te transporteren via RS-485 (of misschien zelfs wireless), en dan bij de motor een print aan te brengen die dit weer converteert naar +/- 12V.

Tot nu toe heb ik voor de ingang het volgende schema bedacht (klik om te vergroten):
http://www.petertambach.com/levelshifter_small.png

Deze levelshifter zou bij een Vin van 0V 2.5V op de uitgang moeten geven, bij Vin=+12V Vout=+0,1V en bij Vin=-12V Vout=+4.9V
Het omlijnde gedeelte bij R5 is optioneel, als er op een ingang niets is aangesloten, trekt deze weerstand de ingang naar 0V, zodat er geen zwevende spanning onstaat. Is dit een correcte gedachte van mij, en zo ja, wat voor waarde voor R5 zal ik daarvoor nemen?

Mijn 2e vraag is, hoe moet ik dit systeem aan de andere kant weer naar +/- 12V krijgen.
Ik kan 2 opties bedenken:
1: analoge uitgang gebruiken van PIC waarbij 2.5V overeenkomt met 0V op de uitgang, of
2: op de uitgang van de PIC een PWM signaal zetten waarbij 50% dutycycle overeen moet gaan overeenkomen met 0V op de uitgang.

Hier houdt mijn kennis even op. Is er iemand met een suggestie over hoe ik dit moet aanpakken?

Alvast bedankt,

Peter

Ik ben dus met bovenstaand schema en andere level shifters aan de gang geweest en een en ander gemeten.
Probleem is dat er, als Vin 0V is, nooit een exacte 2.5 volt op Vout is, en als er helemaal geen input aanwezig is, de spanning op Vout omhoog gaat (+/- 3 volt). Op deze manier zal de firmware het altijd intepreteren dat er een beweging gaande is.

Nu bedenk ik mij: Ik heb op mijn PIC genoeg analoge ingangen, wat nu als ik per analoog signaal 2 AD-ingangen gebruik: 1 om t.o.v. gnd de positieve kant te meten, en 1 om de negatieve kant te meten.
Dat zou dan moeten concluderen dat zolang er geen input is, er ook geen spanning op 1 van de 2 AD converters komt en de firmware ook geen "valse" beweging kan intepreteren.

Heeft iemand misschien een suggestie hoe ik dit kan aanpakken?

tnx. Peter

Als je weerstanden een beetje accuraat zijn, dan zou je behoorlijk op die 2.5V moeten kunnen komen. Een laatste beetje spreiding kun je in software afvangen. Gaat het met de voeding van de opamp wel goed? Ik neem aan dat je een exemplaar hebt gekozen dat geen moeite heeft met een niet-symmetrische voeding, en die de uitgang dicht genoeg bij de rail krijgt?

Dat geintje met R5 gaat zo niet werken, dat had je zelf ook wel in de gaten. Ideaal zou je verwachten dat als de ingang los hangt, er door R6 geen stroom meer loopt, en de spanning op de - ingang van U3.B gelijk is als op de uitgang van U3.B. Ik moet zelf altijd erg hard nadenken bij analoge circuits :) maar het zal er wel mee te maken hebben dat er altijd nog een klein stroompje door R7 gaat, dus een spanningsval. Een halve volt kan ik me best wat bij indenken.

Kun je je +/-12V ingang niet gewoon bufferen?

Die MCP 600x chippies zijn volgens mij best mooi rail-to-rail. Ik heb er ook een paar liggen (dacht dat ik 6001 had, ik weet het verschil niet, maar ze zullen wel op mekaar lijken).

Ik zou even de boel versimpelen door de twee spanningsvolgers weg te laten. Je maakt een nette 2.5V en gaat dat dan weer met een 10k/2k weerstandsdeler naar 0.5V brengen. Dat snap ik niet. Maak dan met 20k/2k o.i.d. meteen 0.5V?

Ik heb even niet nagerekend of je wel 0.5V daar wilt hebben (mischien heb je daar wel heel wat anders). Dat moet je zelf weten.