PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM Spannungspegel



neibeck
19.10.2006, 14:21
Hallo!

Ich möchte ein Servo (http://shop.lindinger.at/product_info.php?cPath=1286_1316_1317&products_id=55230) über eine SPS (Siemens Simatic S7-300) ansteuern. Diese hat bereits eine Pulsweitenmodulation integriert. Jedoch haben hier die Impulse eine Spannung von 24V DC.

Welchen Pegel hat das normale PWM-Signal welches z.B. aus einem Modellbauempfänger oder eines Servo-Controllers kommt?

Hält das Servo diesen Pegel aus?

mfg neibeck

Moritz f.
19.10.2006, 14:44
Hallo,
auf der Website steht geschrieben:

Stellkr.(4,8V) = 18 kg

Also denke ich doch das der mit 4,8V betrieben wird, kenne mich aber bei Servos nicht aus. Ich denke nicht das die 24V gut für ihn sind. . .

MfG Moritz

neibeck
19.10.2006, 15:08
die 4,8V sind auf die Versorgungsspannung bezogen und nicht auf das PWM-Signal...

Ich selbst denke auch dass das Signal um die 5V sein wird....

dennisstrehl
19.10.2006, 15:24
Man kann für das Signal die gleiche Spannung nehmen wie für die Versorgung. Nen bisschen drunter geht auch, nen bisschen drüber auch - aber bei zu viel drüber geht's kaputt.

uwegw
19.10.2006, 17:00
Bei Servos wird nicht die Versorgungspannung gepulst. Sie haben einen separaten Eingang für die Steuerung. Außerdem zu beachten: ein Servo wird etwas anders angesteuert als ein DC-Motor. Die Länge der Impulse liegt zwischen 1 und 2 ms, die Länge bestimmt die Position. Von einem Impuls zum nächsten dauert es 20ms. Daher habe ich Zweifel, ob eine SPS das hinbekommt, die ja wahrscheinlich nur auf normale DC-Motoren ausgelegt ist.

Amiwerewolf
19.10.2006, 17:20
du wirst probleme bekommen den Servo mit na S7 anzusteuern.
1. Der Servo arbeitet mit PLM (Pulslängenmodulation)
2. Die S7 analogbaugruppe gibt eine PWM (Pulsweitenmodulation) aus
3. um eine PLM zu progammieren ist selbst eine S7 300 zu langsam (und wenn du mich fragst zu aufwendig, das ganze in FUP,KOP oder AWL zu schreiben)

wenn du ne S7-300, dazu ein analogout modul hast und dir nen servo für 60 € kaufst kannst dir auch noch ne C-Control für 25 € leisten.
da einfach die Analogausgänge im Config Register auf Servo Mode setellen.
und eine schleife mit AI = AO und fertig ist die sache. (Kaum Progammiertechnscher aufwand, keine 10 zeilen code)
den sevo betreibst du am besten wie die C-Control mit 5 Volt.
soweit ich weiß kannst du servos aber auch höher betreiben 18 Volt und mehr. ich würde aber nicht die Signalspannung größer als die versorgungsapnngung wählen.

gruß Michi

neibeck
19.10.2006, 18:01
was ist genau der Unterschied zwischen Pulsweiten- und Pulslängenmodulation?

ich weiß, dass die S7 zu langsam ist um eine programmierte PLM-Spannung auszugeben, nur habe ich mir gedacht, dass die integrierte Pulsweitenmodulation für ein Servo verwendbar ist...
die Programmierung selbst wäre kein großer Aufwand gewesen..

bezüglich des Geldes, es handelt sich hier um ein Maturaporojekt und wir haben ein gewisses Budget welches wir von der Schule zur Verfügung gestellt bekommen.

Eine Alternative wäre möglicherweise folgendes:

http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=118&reviews_id=25

nur wissen wir hier nicht genau ob wir die Ansteuerung programmieren können...

Welche C-Control wäre das genau? hab gerade bei Conrad geschaut, da gibt es ja alle möglichen Varianten...

Lässt sich bei der C-Control während des Betriebes die Pulsweite verstellen oder muss diese vor der Programmierung festgelegt werden bzw. können wir mit der SPS die C-Control auch steuern?

Die SPS, die genaue Bezeichnung der CPU ist übrigens 314C-2DP , ist fix unsere zentrale Steuereinheit, die ist also nicht wegzudenken...


mfg neibeck

uwegw
19.10.2006, 20:06
Was stehen denn an der SPS für Ausgänge zur Verfügung, die man für die Ansteuerung eines externen Servocontrollers nutzen könnte?
Digitale Ausgänge? wie schnell schaltbar? wie viele?
Analoge/PWM-Ausgänge?
Datenschnittstellen/Bussysteme wie RS232/485, CAN, Ethernet...?

Amiwerewolf
19.10.2006, 20:46
also von diemsem Mini Servoboard würd ich abraten, da du keinen RS232 zur verfügung hast, und dem Profibus kannst du nicht einfach in sein Protokoll rein schreiben.

die ansteruerung der C-Control ist relativ einfach. da du 24V spannung hast empfehle ich dir einen Spannungteiler bzw. eine transistorschaltung um die PWM der S7 AO-Gruppe auf 5 Volt umzuwandeln. an der C-Control bei z.B. AD1 rein. dann bei der C-Control bei z.B. DA1 wieder raus.
den rest mach das Programm.

Programmierung ist nicht schwer, sind ein paar zeilen, die kann ich dir im handumdrehen machen.

zur ansteuerung: ich denke mal das du einen 8 Bit analogausgang zur verfügung hast. d.h. du schreibst in den Ausgang der S7 127, servo stellt sich in mittelstellung, stellst du auf 0, dann geht der servo auf linken anschlag, stellst du auf 255 dann geht der servo auf rechtenanschlag, stellst du auf 200, .......
also zu dem, du bestimmst mit der S7 wieviel Grad der servo einschlagen soll, und welchen zustand der servo haben soll.

zur c-control, ich empfehle für eine servo ansteuerung die M-Unit 2.0 (kleine längliche Platine) benötigt 5V (einfach einen 7805 davor).
kann dir 2 Servos ansteuern. Kostet 25 €

bei fragen einfach nochmal mailen!

was soll das ding später mal machen?

gruß Michi

neibeck
20.10.2006, 00:01
für die RS232-Anbindung hätten wir ein zusätzliches Kommunikationsmodul bestellt welches ASCII versteht.... wir kriegen bei Siemens 50% Nachlass, wäre nicht so ein Problem gewesen...

Leider müssen wir 3 Servos ansteuern, 2 für Hydraulikventile, eines um den Vergaser bzw. die Drehzahl eines Verbrennungsmotors zu regeln, somit sind die 2 Ausgänge der C-Control zu wenig...

5V Spannungsversorgung haben wir bereits, ist also kein Problem...

@uwegw: Es stehen 4 PWM-Ausgänge mit einer Schaltfrequenz von 2,5 kHz (0,4ms) zur Verfügung...
die Anzahl der Ein- und Ausgänge (digital & analog) spielt eigentlich keine Rolle, falls zuwenig wird erweitert...

Hauptsache ist, das ganze funktioniert am Ende ordentlich und ist möglichst unkompliziert...

mfg neibeck

Suggarman
20.10.2006, 13:21
kann dir 2 Servos ansteuern. Kostet 25 €


Mit einem vorhanden Treiber können zwei weitere Servos. insgesamt also 4 angesteuert werden (gilt nur für die Unit I 2.0).

mfg

Stefan

neibeck
20.10.2006, 15:26
was heißt vorhandener treiber? ist dieser bereits auf der Platine drauf bzw wie wird dieser aktiviert??

Amiwerewolf
20.10.2006, 16:13
es gibt noch möglichkeiten digitalports für die C-Control direkt zu programmieren, da müstest du aber jemand fragen der sich mit servos auskennt, soweit ich weiß werden sie mit 50 hz betrieben, bei linken anschlag muss ein impuls von 1ms gegeben werden dür rechten anschlag 2ms, ....

wenn du ein komunikationsmodul für die S7 hast, ist es sicher nur programmtechnischer aufwand das mini servo controllerboard anzusteuern.
wie du das allerdings mit der S7 ansteuerst weiß ich nicht, ich hab nur die 314er und die 15er, digital/analog in/out und ASI-Feldbusse programmiert.

wenn du hydraulik ventile ansteuerst, warum kaufst du nicht direkt hydraulikventile die sich mit 24V ansteuern lassen (es gibt auch analoge)? willst du nur schalten oder auch regeln? nagut für den vergaser brauchst du wohl ein servo, wobei alternativ ein schrittmotor sicher auch ginge.

was solls den insgesammt machen?

neibeck
20.10.2006, 17:39
es handelt sich um folgenden Motormäher:

http://img76.imageshack.us/img76/156/mherwp9.jpg


gedacht ist, dass man zuerst die Wiese mäht, die Steuerung merkt sich das ganze, und beim nächsten Mähen macht der Mäher das ganze von selbst....

mit den Servos wird der Ölstrom und somit die Drehzahl der einzelnen Räder geregelt....
allerdings sind an diesen Ventilen auch noch Handhebel zur manuellen Steuerung montiert, und auch um den Mäher in einer Notsituation zu stoppen (durch vollständiges Anziehen beider Hebel)...
somit ist eine reine Ansteuerung durch die Steuerung nicht gedacht...

Ich habe heute mit meinem betreuenden Lehrer gesprochen, es wäre preislich kein Problem, wenn wir einfach 2 Stück der C-Control bestellen..
So wäre es sogar noch billiger, ansonsten müssten wir das Kommunikationsmodul noch dazu kaufen, welches einiges mehr kostet als eine 2te C-Control...

mfg neibeck

Suggarman
20.10.2006, 18:19
was heißt vorhandener treiber? ist dieser bereits auf der Platine drauf bzw wie wird dieser aktiviert??


Es ist ein Softwaretreiber, der zusammen mit dem Programm in die C-Control übertragen wird. Es gibt auch fertige Demos dazu.

mfg

Stefan

uwegw
20.10.2006, 21:46
Interessantes Gerät!
Wie löst ihr das Problem der genauen Positonsbestimmung? Denn die Räder dürften auf einer unebenen und vielleicht sogar feuchten Wiese einges an Schlupf haben, sodass man nicht einfach die Radumdrehungen mitzählen kann...

Die C-Control ist imho etwas überteuert und wenig leistungsfähig. Ich würde das ganze mit nem Mikrocontroller selbst aufbauen und einen 6-Kanal Analogwert-zu-Servoimpuls-Umsetzer für etwa 10€ Materialkosten hinbekommen...

neibeck
21.10.2006, 09:52
Positionsbestimmung wird entweder mit sehr genauem dGPS (John Deere Starfire Empfänger (http://distributor.deere.com/at/products_ag/ams1/gemeinsame_komponenten.html) ) oder mittels einem ähnlichem Referenz-System (LPM (http://www.abatec-ag.com/index_html?sc=41) ) gemacht. Hinzu kommt noch ein digitaler Kompaß um den Drehwinkel zu ermitteln...

die 25€ für die C-Control sind nicht die Welt....

und wir brauchen sie ja rein nur damit wir die Servos während des Betriebs ansteuern können, das wird sie wohl schaffen...

Das wären dann ~55€, immerhin noch viel billiger als ein Kommunikationscontroller (ca. 80 bis 120€ wenn man die 50% schon abzieht) und das Servomodul (~25€)...

es soll nur einfach sein und funktionieren...

natürlich bin ich für bessere Vorschläge offen, aber wir müssen uns in den nächsten Tagen entscheiden wie wir das Problem lösen...

mfg neibeck


Edit: eine Frage hätte ich noch: Ich habe gerade auf C-control.de gelesen, dass man zur Programmierung zusätzlich einen Schnittstellenadapter braucht... ist das wirklich so? Lässt sich die C-Control auch anders programmieren?

Amiwerewolf
21.10.2006, 14:21
ja der schnittstellenadaper läst sich mit zwei transistoren und zwei wiederständen nachbauen, also du brauchst eine pegelwandlung von rs232 auf ttl, oder bei polin gibts das modul auch für 3€

du solltest den leute noch sagen was ungefär eine 314er cpu kostet, und was eine In/Out baugruppe kostet, damit die leute sehen das man da wegen 50€ nicht rumscheißt!

neibeck
21.10.2006, 15:02
ok, sorry...

tja die 314c-2dp kostet normalerweise ~1400€, für uns als Schule die Hälfte, eine erweiterungsbaugruppe zwischen 200 und 600€...

allerdings muss ich sagen dass auch unser budget begrenzt ist (~1000€ für die Komponenten die noch fehlen), den Rest müssen wir uns durch Sponsoring/Leihgeräte beschaffen...

die CPU hatten wir zum Glück bereits, also mussten wir keine kaufen, und der Mäher ist zur Verfügung gestellt worden...

Positionsmessung ebenfalls....



der adapter lässt sich so leicht nachbauen?? die Schaltung des C-Control Adapters ist da doch um etliches aufwendiger...

Wo finde ich Polin bzw. wer oder was ist das?? Ein Online-Shop?

@amiwerewolf: Würdest du mir also 2 Stück der C-Control empfehlen?

mfg neibeck

Amiwerewolf
21.10.2006, 18:41
zur Pegelwandlung:
http://wiki.atrox.at/index.php/RS232_Transistor_Modul
http://www.sprut.de/electronic/pic/grund/rs232.htm
es geht blos darum die ca. + - 12V in 5V ttl umzuwandeln die zum programmieren gebraucht werden. du wirst viele ähnliche schaltungen finden.
am gängingsten und am einfachsten sind sind mit transistoren oder mit dem Max232 aufzubauen. anschließen must du dann blos RX, TX und GND. Die C-Control brauch auch noch 5V. autostart jumper raus. 5V anlegen programm übertragen.

pollin - www.pollin.de bestellnummer 810 036 einfach bei suchen eingeben.

auf dem programmieradapter der c-control ist um einiges noch mehr drauf, was man vieleicht benötigt wenn man sowas täglich macht aber um das ganze einmal aufzubauen eichen 2 transistoren und 2 wiederstände.

die 314-2dp ist die mit den zwei profibusanschlüssen oder?

ja mit 2 c-controls ist es wohl das einfachste! bei der programmierung bin ich dir gern behilflich. (du solltest einen rechner mit einer seriellen schnittstelle haben, aber wirst du denk ich haben wenn du S7-300 Porgammierst!

gruß Michi

neibeck
22.10.2006, 12:00
die 314c-2dp hat eine MPI und eine Profibus-Schnittstelle, ich kenne mich aber mit den Schnittstellen zu wenig aus, sag mir falls dies falsch ist....

okay, dann werde ich 2 stück davon bestellen, ist gerade noch rechzeitig denn morgen hätte ich eine andere bestellung bei conrad gemacht... dann geht das ganze gleich in einem...

danke für die hilfe!

ich werde die Programmierung mal selbst versuchen, ansonsten werde ich mich nochmal bei euch melden!

Amiwerewolf
22.10.2006, 13:01
ahja ok, die MPI dürfte eine Serielle TTL schnittstelle sein die Profibus ist eine RS422/RS485 Dual Mode, beide haben aber ein festgelegtes Protokol, in das man nicht oder nur sehr schwer reinpfuschen kann.

bei der C-Control Programmierung must du ein bit im konfig register setzen damit die DA-Wandler auf auf servo betrieb umschalten.

wenn du was brauchst einfach mail schreiben!