ServoController

Lambiek

Special Member

Je kunt met een losse Atmel best een PLC ontwikkelen, maar dat is het wiel opnieuw uitvinden.

Maar wat de TS aan het doen is, is voor de hobby een leuk project.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 14 maart 2018 18:16:21 schreef rwk:
[...]Mijn reactie is wat onduidelijk, het eerste deel gaat over de extra ingangen, met bv een lm334 voor een optocoupler kun je van 3V tot 40V op die ingang zetten en de led van de optocoupler krijgt steeds dezelfde stroom.
De tweede regel van die reactie gaat over de vraag over de encoder en telleringang.

Hee dit is mooi. Dus met de LM334 en een zener regulator-circuit kan ik hiermee een vaste output in stroom en voltage maken, waarbij mijn input mag varieren tussen 3 en 40volt :)

Op 14 maart 2018 22:47:05 schreef henri62:
Voor PLC ingangen is er een IEC norm wat precies de ingangen aan impedantie moeten "zien" en waar de spannings-thresholds liggen.

Er zijn zelfs 3-type ingangen: Type-1/-2/-3 Deze zijn in "IEC 61131-2" vastgelegd.

De ingangs-stroom is zo vastgelegd dat er ook 2-draads sensors zoals benaderings-schakelaars aangesloten kunnen worden.

Om deze ingangen te maken is toch wel iets meer nodig als een weerstandje! Het schema van Lambiek komt heel dicht in de buurt (waardes zijn wat te hoog).
Er zijn ook speciale IC's met deze conditionering erin.

Zie dit interessante artikel van Beckhoff waar er het nodige over staat: https://download.beckhoff.com/download/document/Application_Notes/DK92…

Conditionerings IC van bijvoorbeeld Silabs + worse case berekeningen(Maar TI heeft ook van die dingen): https://www.silabs.com/documents/public/application-notes/AN970.pdf

Dit vind ik ook heel mooi. Niet dat ik alles volgens de norm moet bouwen, maar begrijp nu in iedergeval hoe het opgelost zou moeten zijn. Niet dat ik alles moet gaan bouwen zoals in de norm, maar het geeft wel weer dat ik niet voor de simpele 2v threshold moeten gaan. De hysteriese vind ik wel een beetje too much eigenlijk.

Op 14 maart 2018 19:31:02 schreef Lambiek:
Je ingang zou je op deze manier kunnen doen, zie schema.
Weerstanden uit de E96 reeks.
[bijlage]

Die tijdvertraging is inderdaad ook belangrijk. Is dit hier de lowpass filter van 1.7Kz?

Hee dit is mooi. Dus met de LM334 en een zener regulator-circuit kan ik hiermee een vaste output in stroom en voltage maken, waarbij mijn input mag varieren tussen 3 en 40volt :)

Ja je vervangt de weerstand door de lm334.
https://www.eoo-bv.nl/spanningsregelaars/9823-lm334z.html

DS_LM_334 adj current source .pdf

De lm334 is met instelbare stroom, er zijn er ook met vaste stroom met twee pootjes maar dan moet je meer zoekwerk doen bij leveranciers.
De spanning gaat automatisch en ook een zener is niet nodig.

even niet kunnen reageren helaas. Heb een paar lm334's besteld, ga ik is wat mee testen.

Ik was nog naar de opto aan het kijken. Als voorbeeld had ik de PC817. Als ik op 3.3v 2mA neem, dan hou ik op 24v volgens 14.5mA over. Dan is de CTR op 2mA nog 100% en op 14mA 135%. De opto mag tot 50mA gebruikt worden.

Klopt zo een beetje wat ik zeg?

De ledstroom bepalen is nu al moeilijk volgens lezen.

<Teacher Mode on>
Moest ik u zijn zou ik eerst nog wat studeren over de componenten die je denkt te gaan gebruiken.
Want ik denk niet dat je nog veel antwoorden zult krijgen over uw project, dat volgens mij (voorlopig) veel te hoog gegrepen is.

Iets leren en zelfstudie is ook ambitie hebben... om uw dromen waar te maken.
<Teacher mode Off>

Het is niet dat we u niet willen helpen maar ook wij voelen aan dat het onbegonnen werk is met uw huidige kennis.

Als je het slim wilt aanpakken, stel dan vragen die specifiek zijn (in een ander topic) zodat anderen die dit topic al niet meer openen, maar wel goed weten hoe een optocoupler werkt, ook nog antwoorden.

LDmicro user.

Dank je voor je eerlijke antwoord. Hier op dit forum zit ik voornamelijk om te leren..

<student mode on>

Inderdaad, klinkt inderdaad dat ik hoog grijp. En dat is dan misschien wel zo. Het blijven ambities en als ik niet slaag met dit hele project, dan is het zo. het gaat erom wat ik dan wel geleerd heb. Inderdaad is het wijzer om losse topic te openen en op te bouwen, maar dacht dat ze hier op dit forum liever niet hadden.

Ik zie wel inderdaad dat ik een paar fouten gemaakt heb, en daarbij niet de goede uitleg hoe ik er aan kom, waardoor het nog erger lijkt. Laat ik toch hier in dit topic dan toch nog 1 poging doen om dan in iedergeval iets geleerd te hebben over optocouplers:

Graag zou ik de opto laten werken tussen 3.3 en 24v. Met een tolerantie van +-10% geeft me dat 0.9*3.3 = 2.7v laagste voltage en 24*1.1 = 26.4v voor de hoogste spanning.

Volgens mij bereken je een led met: If= (Vs-Vf)/ R

in fig.7 (datasheet via google: http://www.mkpochtoi.narod.ru/pc817_ds.pdf) lees ik af dat bij een current van 2.5 mA (had voorheen 2 genomen) in het meest negatieve geval de led een Vf heeft van 0.9v. Dit geeft 2.5 =(2.7-0.9)/ R => R= 720 ohm.

Als ik in fig.7 kijk zie ik dat de Vf bij het hoge amperage en meest negatieve temperatuur een Vf heeft van ongeveer 1.2v. Bij gebruik van de zelfde weerstand geeft me dit If=(26.4-1.2)/720 = 35mA.

Dus volgens mij kan de led dit bolwerken.

Als ik in figuur 4 kijk, zie ik bij 2.5mA een ctr van 110% en bij 35mA een CTR van 120%. Als ik het goed begrijp wil dat zeggen dat de minimale current die tussen de emitter en collector kan lopen 2.5x1.1= 2.75mA is. Dit is meer dan genoeg voor mijn input volgens mij, maar kan niet goed vinden of er ook een miniale eis is voor de opto zelf.

<student mode off>

GJ_

Moderator

Over je wens encoder signalen uit te lezen: hou er rekening mee dat er ook veel servo's zijn met een resolver.
En veel servo's hebben ook nog aparte commutatiesporen in de encoder zitten om het jou gemakkelijk te maken. Alleen de hoek klopt niet altijd en moet dus instelbaar zijn als je hier gebruik van wil maken.

Dat kun je toch zelf makkelijk berekenen.
Denk eens na:

Een arduino ingang heeft geen ingangsstroom nodig(µA)

Een opto met CTR 100% wil zeggen als er 2.5mA door de led vloeit dat je de transistor ook kunt gebruiken om 2.5mA te laten vloeien, minder mag ook, meer kan niet.

Een CTR 50% kun je maar diezelfde 2.5mA door de led maar 2.5mA/2 door de transistor trekken.

Bij 600% is dat 2,5mA x 6 enz..

De datasheet stelt ook voor van door de LED met max 20mA te rekenen, een beetje standaard voor leds.

Reken nu maar een weerstand uit die in serie met de optotransistorled staat en die de arduino ingang kan aansturen van 2.5V tot 24V

LDmicro user.

Je berekening vd ledstroom klopt,je zit wel op de grens, die 50mA max waar je van uit gaat is de stroom waarbij hij net niet kapot gaat, daar moet je dus ruim onder blijven.
Als de transistor stroom te klein wordt gaat de overdrachtssnelheid omlaag (zie datasheet), de ingangsweerstand van de ardyno is erg hoog, dus daarvoor heb je ruim stroom genoeg.

edit, zie dat MGP ook al gereageerd heeft.

Als ik een maximale spanning van 20mA toe zou mogen staan op 26.4v, dan 20=(26.4-1.2)/ R => R = 1260. Bij 2.7v wordt dat een stroom If=(2.7-0.9)/1260 = 1.43mA.

1.43mA geeft in fig.4 weer een CTR van 90%. ik kan hier dus een input aan hangen die max 1.43*0.9 = 1.29mA trekt.

De input impedantie van de arduino mag dan nog altijd U = I*R => 3.3 = (1.29*1000)*R => R = 1290 ohm zijn. De inernal pullup van de arduino is 100k, dit komt neer op iets van 33uA..

Als bovenstaande een beetje klopt, zou ik dus ruim voldoende hebben bovenstaande waarde en de opto nooit overbelasten.

Dan, ik zou ook kunnen kiezen voor een nog lagere weerstand, maar ik zou zeggen dat ik ook niet lager moet gaan zitten i.v.m stabiliteit? Tevens geldt hetzelfde voor de interne pullup bij de arduino, misschien maak ik alles minder gevoelig om voor een externe weerstand te kiezen die een stroom trekt van bijvoorbeeld 1/4 van de maximaal toelaatbare 1.29mA?

Minst gevoelig maar toch een heel stuk van de maximaal toelaatbare stroom vandaan.

*edit

Als ik een pullup van 4k zou kiezen zou ik volgens fig.10 een responce tijd hebben van 60us (rise time). Nog erg snel voor general purpose io. Dit is wel een tabel op 2ma en 2v.

Een wat lagere pull-up weerstand zorgt voor minder storing op de ingang en een grotere Ic en daarmee een snellere responce en stabieler.
Omdat je al een opto hebt heb je weinig storing op de ingang en kun je je een redelijk hoge ingangsweerstand veroorloven.

High met Henk

Special Member

er is zelfs al een PLC op een arduino gebaseerd:
de controlino...

of je er nu heel gelukkig van wordt weet ik niet....

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

..Je hebt blijkbaar uw huiswerk gemaakt, de berekeningen kloppen.

In de praktijk zal de CTR volgens de datasheet >100% je hebt dus wat speling, als oefening moet je die eens op een breadboard plaatsen en testen, heel interessant.

De pullup of pulldown moet je berekenen bij de laagste stroom door de led.
3.3/1.29 = 2550 ohm of 2K7 of 3K3 mag ook

Maak er de gewoonte van om pulldown weerstanden te gebruiken zoals in het schema van Lambiek, een "1" op de ingang is een "1" op de uitgang.

Dat wil ook zeggen dat je GEEN weerstand parallel aan de led moet plaatsen anders vloeit er nog minder stroom door de led bij de laagste spanning, een anti-parallel diode en condensator kunnen wel.

edit: als je nog een optocoupler moet kopen, kies er dan één met een CTR van min 100%.

LDmicro user.
Lambiek

Special Member

Op 23 maart 2018 08:12:47 schreef MGP:
Dat wil ook zeggen dat je GEEN weerstand parallel aan de led moet plaatsen anders vloeit er nog minder stroom door de led bij de laagste spanning, een anti-parallel diode en condensator kunnen wel.

Dat is gewoon standaard bij een goede plc ingang. :)

DIGITALE INGANGEN VOOR PLC'S.pdf

Als je haar maar goed zit, GROETEN LAMBIEK.

Ja maar bij hem is het geen standaard ingang, van 2.5 tot 26V is geen standaard plc ingang, dat is een studenten PLC ingang ;)
Echte PLC's hebben een vaste stuurspanning (meestal 24V) en daar is het veel makkelijker.

LDmicro user.
Lambiek

Special Member

Op 23 maart 2018 10:49:39 schreef MGP:
...., dat is een studenten PLC ingang ;)

Oja, die zijn anders natuurlijk. :)

Echte PLC's hebben een vaste stuurspanning (meestal 24V) en daar is het veel makkelijker.

Ja, daar heb jij weer gelijk in.

Als je haar maar goed zit, GROETEN LAMBIEK.

Maar wees gerust, hij zal wel op zijn stappen terugkeren en met vaste stuurspanningen werken, veel stabieler qua werking.

Ik heb zopas nog eens de startpost gelezen...hij heeft nog heel veel schrap- en ander werk voor de boeg. ;)

e: maar ondertussen leert hij wat, ook belangrijk voor hem.

[Bericht gewijzigd door MGP op vrijdag 23 maart 2018 11:18:06 (12%)

LDmicro user.
Lambiek

Special Member

Op 23 maart 2018 11:16:35 schreef MGP:
Ik heb zopas nog eens de startpost gelezen...hij heeft nog heel veel schrap- en ander werk voor de boeg. ;)

En toch kan het een leuk project zijn, en het is zeker leerzaam.

Ik lees zelf ook encoders in "industrieel" met een controller, en dat gaat gewoon goed. Maar een servo controller maken is nog weer wat anders, daar komt nog iets meer bij kijken.

Als je haar maar goed zit, GROETEN LAMBIEK.

haha, dat leren is wel hoofdzaak inderdaad.

Op 23 maart 2018 08:12:47 schreef MGP:

De pullup of pulldown moet je berekenen bij de laagste stroom door de led.
3.3/1.29 = 2550 ohm of 2K7 of 3K3 mag ook

Maak er de gewoonte van om pulldown weerstanden te gebruiken zoals in het schema van Lambiek, een "1" op de ingang is een "1" op de uitgang.

Dat wil ook zeggen dat je GEEN weerstand parallel aan de led moet plaatsen anders vloeit er nog minder stroom door de led bij de laagste spanning, een anti-parallel diode en condensator kunnen wel.

edit: als je nog een optocoupler moet kopen, kies er dan één met een CTR van min 100%.

2.7 zit ik wel dicht tegen de max van de opto aan niet? Aangezien responstijd niet zon issue is, en de input inderdaad na de opto zit, zou ik zeggen dat 3 of 4k stabiel genoeg is met voldoende over bij de opto.

Die parallel weerstanden zouden een isue kunnen worden met de protectie, daar moet ik ook is na gaan kijken. Als ik de keuze maak om de comparator ervoor zet dan ben ik dit wel kwijt en is de input impedantie altijd gelijk voor de opto.

Pull down resitor it is!

GJ_

Moderator

Op 23 maart 2018 10:44:18 schreef Lambiek:
[...]
Dat is gewoon standaard bij een goede plc ingang. :)

[bijlage]

De ingang in de bijlage is nog niet compleet. Ik wees er al twee keer op, maar ik doe het nog een derde keer: je moet een ingangsvertraging hebben. Vroeger was dit hardwarematig, tegenwoordig ook in de software. In je PLC programma zelf heb je er niks mee te maken, maar in de harwareconfiguratie wel.

Zonder ingangsvertragingen word het niks.

Lambiek

Special Member

Dat kun je toch software matig oplossen, daar ben ik van uit gegaan.

Als je haar maar goed zit, GROETEN LAMBIEK.
GJ_

Moderator

Dan toch in de "firmware". Het is bij een PLC niet de bedoeling dat je bij iedere ingang filters in je programma zet natuurlijk.

Lambiek

Special Member

Je kunt dit niet vergelijken met een plc natuurlijk, maar je kunt er in de software wel iets aan doen om het een stuk minder gevoelig te maken.

Als je haar maar goed zit, GROETEN LAMBIEK.
GJ_

Moderator

Of gewoon een ouderwets RC netwerkje. Een vertraging van 5 tot 10ms is voldoende.

Lambiek

Special Member

Volgens mij zit die er al in. Alleen moeten de waardes aangepast worden.

Als je haar maar goed zit, GROETEN LAMBIEK.