Beste allemaal,
Momenteel ben ik bezig met een project. Dit project houdt in om een toestel aangedreven door 2 rupsen 180 graden te roteren. Ik heb al gelezen dat er een IMU nodig is hiervoor.
Ik ben dus eigenlijk opzoek naar de hard en software om de rotatie van de machine als uitgang te geven. Zodat ik deze kan vergelijken met de gevraagde rotatiehoek zodat ik dit dan kan inlezen in mijn PLC.
Zelf gaat mijn kennis van elektronica niet ver genoeg om het geheel te programmeren en dergelijke.
Is dit allemaal mogelijk en hoe wordt dit dan geimplementeerd?
Ten eerste welkom op het forum.
Heb je een type van de sensor die je wil gaan gebruiken? En je wil het op de PLC inlezen, hoe ga je dat doen? Gaat dat via bekabeling of draadloos, omdat dit een rupsvoertuig is?
Ik had gedacht aan de MPU-6050 Accelerometer + Gyro van arduino, als dit mogelijk is.
De PLC staat op de machine omdat die nog andere functies moeten regelen dus dit zal via bekabeling verlopen.
Dat ding heeft alleen een I2C uitgang, en werkt op 3,3V. Ik denk niet dat je PLC daar mee overweg kan. Dit is eigenlijk meer spul voor een microcontroller.
https://www.plcdirect.eu/products/industrial-computers/accessoires/pro…
https://rotero.com/nl/sensoren/accelerometer?gclid=EAIaIQobChMIiLqpw_C…
http://www.insed.de/sensoren/imu/?gclid=EAIaIQobChMIiLqpw_CE2QIVCzobCh…
Is het niet mogelijk om die I2C uitgang in te lezen in een standaard arduino ofzo. Want het signaal moet waarschijnlijk nog geintegreerd worden om de totale hoekverdraaiing te berekenen.
Dit dan te vergelijken met de in te stellen 180 graden.
En dit dan naar een digitale uitgang te sturen die het signaal op een mosfet zet en zo dan in te lezen op de PLC.
Natuurlijk kun je die sensor inlezen met een Arduino of een andere controller. Maar dan zit je nog met het spanningsverschil, de meeste controllers werken met een spanning tussen de 3.3 en 5VDC en je plc ingangen zijn 24VDC neem ik aan?
Dus waarom niet gelijk een sensor zoeken die daarvoor geschikt is.
Is deze schakeling niet mogelijk om deze spanning naar 24V te krijgen.
Heb ondertussen ook nog een andere sensor gevonden die al het geintegreerde signaal weergeeft maar dit is opnieuw met een I2C uitgang.
http://modernroboticsinc.com/integrating-3-axis-gyro
Maar lijkt me precies nogal veel op "speelgoed" en bij trillingen geeft hij ook een slecht resultaat (en ik zal hoogstwaarschijnlijk veel trillingen hebben doordat het voertuig offroad zal bewegen).
Heb ondertussen ook eens de honeywell IMU bekeken, die werkt blijkbaar met andere protocollen, maar ik ken geen één van deze.
(ik ben een leek in programmatie van IC's)
Waarom zet je het signaal niet om met een optocoupler, dat is toch veel simpeler.
Maar hoe wil je een hoek detecteren met alleen een 1/0, is dat genoeg voor jou toepassing? Of wil je het serieel gaan verzenden?
(ik ben een leek in programmatie van IC's)
Dan heb je misschien toch een probleem. 
Dat idee van de optocoupler is inderdaad een goed idee, en inderdaad veel simpeler.
Het is enkel de bedoeling dat ik de hoek kan vergelijken met de gewenste 180 graden. Als de gemeten hoek 180 graden is zet deze een logische 1 op de uitgang en via de optocoupler lees ik deze in op de PLC, die dan de motoren van de rupsen doen stoppen.
Oké, dan zou je dus de door jou gekozen sensor kunnen gebruiken. De waarde haal je binnen via een Arduino met I2C, en met een uitgang van je Arduino schakel je via een optocoupler je plc ingang.
vindt het iets omslachtig, maar het kan wel.
Kun je wel met een Arduino overweg dan?
Ja dat is nu net mijn probleem, dat heb ik nog nooit gedaan (programmeren van een arduino).
Wat stel jij anders voor als oplossing voor het probleem.
[Bericht gewijzigd door cedric96 op (12%)]
Ja het kan zo zoals je zelf voorstelt, of direct een geschikte sensor voor je plc zoeken. Maar het probleem blijft dat je beide moet programmeren, zonder programma werkt het helaas niet.
Kun je wel een plc programmeren dan, of heb je ook hier geen ervaring mee?
een PLC kan ik wel programmeren
Heb lang geleden wel nog een PIC controller geprogrammeerd, maar weet ik eigenlijk niet zo veel meer van.
[Bericht gewijzigd door cedric96 op (63%)]
Ja, dan is de keuze aan jezelf. Als je het ene wel kan en het andere niet, lijkt mij het logische gevolg dat je het doet zoals jij kan.
Zelf werk ik niet met Arduino, maar met PIC controllers. Dus met het programmeren van Arduino kan ik je niet helpen. Maar misschien komen er nog meer reacties en ideeën, of je plaatst hier een oproep.
https://www.circuitsonline.net/aanbod
Misschien is dit nog iets voor je om je in te verdiepen.
http://dhrc.snu.ac.kr/wp-content/uploads/2015/11/MPU-6050_RF24L01.pdf
Of deze.
EricP
mét CE
Vraag is ook hoe belangrijk die 180o is. Is 179 of 181 ook goed? Ofwel: haalt je sensor die nauwkeurigheid - nog afgezien van een toch wat spannende constructie met een PLC en een Arduino.
Als je het echt met 1 pin wilt gaan doen (dat meen ik begrepen te hebben), dan zul je toch ook je Arduino moeten vertellen dat dit 'huidige richting' is en dat-ie een pootje moet togglen bij 'omgekeerd'. Zo simpel kan het zijn.
*Ik* denk dat je jezelf het moeras in aan het werken bent op deze manier. Je probeert iets wat redelijk 'bare' is aan een PLC te knopen. Ik denk dat je dat danwel aan een AVR moet knopen (en daar je besturing doen), danwel iets moet vinden wat die PLC wel 'snapt' (op hardware gebied). Je zou evt. wel een Arduino als vertaallaag kunnen gebruiken.
Maar goed, aan deze kant is slechts een heel klein stukje van je project te overzien. Dus wellicht zit er veel meer achter waardoor het wel 'handig' is op deze manier (vrij vertaald: andere manieren zijn NOG onhandiger).
Dit is inderdaad maar een klein daal van het geheel. Voor de rest van het project is een PLC echter geschikter (ken er ook meer van).
Deze (goedkope) gyro/IMU sensoren hebben een zekere drift : in de tijd gaat de gemeten hoek langzaam afwijken. Indien je een betrouwbaar aardmagnetisch veld hebt (buiten / geen gewapend beton), kan je deze drift corrigeren met de meting van dit veld. Er bestaan nauwkeurige gyro sensoren die nauwelijks drift hebben, maar dit is van een andere prijsklasse.