Hallo, ich möchte hier mal mein erstes (wirkliches) AVR Projekt vorstellen und dabei auch gleich um ein wenig Hilfestellung bitten. Ich habe in einem RC-Modell eine Gewindestange von 200mm länge, die von einem DC-Motor Angetrieben wird. Auf der Spindel möchte ich je nach PPM Signal meines Empfängers eine Platte hin und her fahren (1ms= Platte hinten, 2ms= Platte vorne) die Platte soll aber auch an jeder anderen Position der Spindel Stehen bleiben. Nun meine Vorstellung, wie ich das umsetzen möchte. - 2 Endlagentaster (vorne und hinten) welche dafür sorgen, dass in keine Richung zu weit gefahren wird - Wenn Spannung angelegt wird fährt die Spindel gegen den hinteren Taster (Initialisierungsschritt). Ab da werden die Umdrehungen mittels einer Gabellichtschranke gezählt (bei M6 Gewinde Habe ich eine Genauigkeit von +-1mm). - Die Länge der Spindel beträgt 200mm also muss die Steuerung das PPM Signal auf 200 Impulse der Gabellichtschranke aufteilen. Nun mein Problem... ich kenne mich mit der AVR Programmierung leider nicht gut genug aus, um das Programm komplett selber zu erstellen. Ich habe zwar einige Übungen usw. gemacht, aber ich weis noch nicht so richtig, wie ich das ganze an gehen soll. (Hardware sollte kein Problem sein) Würde mich sehr freuen, wenn mir jemand auf die Sprünge helfen könnte. MFG Fabian
Hi, ich wuerde keinen DC-Motor nehmen. Sinnvoller waere ein Schrittmotor. Dann brauchste nur einen Taster, damit du die Ausgangsposition bestimmen kannst. Die Anzahl der Schritte bestimmt dann die Position. Prinzip wie bei einer CNC-Maschine. Gruesse Dusty
Fabian Wunderlich schrieb: > Nun meine Vorstellung, wie ich das umsetzen möchte. Also du hast ein Eingangssignal, das ergibt deine Sollposition. Deine Ist-Position ist dir ja durch Zählen /Endanscläge bekannt. Also brauchste ja nur noch: if sollposition < istposition rückwärts fahren if sollposition > istposition vorwärts fahren ansonsten stehenbleiben Es kann natürlich sein, dass du dann noch eine Toleranz oder eine Anfahr-/Abbremsrampe implementieren musst, falls dein Schlitten um die Sollposition pendelt. :-)
PS: Programmieren würd ich das ganze so: Dein PPM-Signal misst du mit der ICP-Einheit deines Timers, Die Lichtschranke wird in einem Interrupt ausgewertet (Pinchange oder externer interrupt), je nach aktiver Drehrichtung wird die Istposition erniedrigt oder erhöht. Bei den Endanschlägen wird die Istposition auf betimmte Werte gesetzt. In der Hauptschleife dann nur noch die Motoransteuerung. :-)
ist das von Floh beschriebene Verfahren dann eigentlich schon eine Regelung? Man vergleicht ja ist mit sollwert.
Gustav K. schrieb: > ist das von Floh beschriebene Verfahren dann eigentlich schon eine > Regelung? Man vergleicht ja ist mit sollwert. Jap, ein sogenannnter Dreipunktregler. :-)
Vielen Dank erstmal an alle für die schnellen Antworten. Die Idee das mit einem Schrittmotor zu machen finde ich garnicht schlecht. Ich habe allerdings leider schon alle Frästeile für einen DC- Motor hier und habe auf die Schnelle noch keinen kostengünstigen Schrittmotor gefunden, der in meine Halterung passt. Die Vorgehensweise wie Floh sie beschrieben hat hört sich ganz gut an... ich werde mal versuchen das so hin zu bekommen. MFG Fabian
Hallo, wenn Du schon Empfängerimpulse auswerten willst, warum nimmst Du nicht gleich eine Servoelektronik? In Abhängigkeit von Deinem DC-Motor brauchst Du evtl. eine stärkere Brücken-Endstufe. An die Spindel kommt ein Untersetzungsgetrieb an dem dann das Poti der Servoelektronik montiert ist. Fertig! Gruß Micha
Micha E. schrieb: > An die Spindel kommt ein Untersetzungsgetrieb an dem dann das Poti der > Servoelektronik montiert ist. Fertig! Na ja besonders genau ist anders. Und das zusäzliche Getriebe mit 1:150 oder 1:200 braucht man auch erst mal. Wenn die Steigung von M6 etwa 1mm ist bekommt er mit der einfachen 'Lichtschrankenimpulse messen' Methode eine Genauigkeit von locker unter 1% Mit dem Endanschlag kann er sauber den Zähler initialisieren. Mit der Poti Methode hat er größeren Aufwand und eine Genauigkeit von 10% oder schlechetr. Wozu also. @Fabian: Falls notwendig kannst du mit 2 oder 4 Löcher auf deiner Lichtschrankenscheibe auch halbe oder viertel Umdrehungen messen - falls das interessant sein sollte.
>- Wenn Spannung angelegt wird fährt die Spindel gegen den hinteren >Taster (Initialisierungsschritt). Ab da werden die Umdrehungen mittels >einer Gabellichtschranke gezählt (bei M6 Gewinde Habe ich eine >Genauigkeit von +-1mm). Fährst du auch immer blind über die Autobahn und sagst dir, lt. Karte/Tacho muss ich nach 34,9454322345424km an der Abfahrt sein und rechts raus? Oder guckst du permanent, wo du bist um zu entscheiden? Mein Vorschlag, bau ein Positionssensor dran und lass die Endlagenschalter weg. Damit meine ich zB ein Schiebepoti mit 200mm Stellweg. Oder sowas: http://www.novotechnik.de/fileadmin/user_upload/novotechnik/pdfs/deutsch/PTP_2011_01.pdf oder sowas: http://www.megatron.eu/SMC3/plugin-transformer?trafo=live&plugin=doc&mode=designin&method=LoadDocument&tp_subRulesID=1206567953264&webdavID=1219130821250&language=de&objType=doc Ich denke, das Proinzip ist klar.
Matthias Lipinsky schrieb: > Mein Vorschlag, bau ein Positionssensor dran > Damit meine ich zB ein Schiebepoti mit 200mm Stellweg. ACK. > ...und lass die Endlagenschalter weg. Nicht ACK. Ich würde beides einbauen. Den Positionssensor für den Normalbetrieb und die Endlagenschalter für den Notfall. Mit denen würde ich auch direkt den Motorstrom unterbrechen, denn bei einer elektronischen Steuerung kann immer mal wieder was kaputtgehen und dann muss man nicht zusätzlich seine Mechanik auch noch ruinieren. Gruss Harald
Hallo Micha, die Überlegung einfach eine Servoelektronik zu nehmen hatte ich auch schon. Ich habe das aber aus den selben Gründen wie Udo genannt hat wieder verworfen. @ Udo: Danke, aber die Genauigkeit mit einem Loch reicht mir völlig aus. MFG Fabian
Matthias Lipinsky schrieb: > Mein Vorschlag, bau ein Positionssensor dran und lass die > Endlagenschalter weg. Damit meine ich zB ein Schiebepoti mit 200mm > Stellweg. Und für was hälst du die Lichtschranke, die die Spindeldrehung auswertet?
>Und für was hälst du die Lichtschranke, die die Spindeldrehung >auswertet? Das sagt dir nur, dass du x mm in eine Richtung gefahren bist. Das ist nur eine relativ-Aussage. Damit weisst du immernoch nicht wo du mit der Spindel stehst. Das ist so, als sage ich dir: "Ich bin jetzt eine Ortschaft weiter gefahren. In welcher bin ich?" ... @Harald Wilhelms (wilhelms) >Nicht ACK. Wäre denkbar. Ich bin aber der Meinung, dass der Sensor am Rand Reserve haben sollte. Also für seine 200mm Weg würde ich einen 250mm Sensor nehmen und so einbauen, dass beidseitig ca. 25mm Platz sind. Wird jetzt eine Sensorposition kleiner 25mm vom Rand erkannt, so ist Fehler und Stillstand. Genauso versuche ich das auch hier in der Firma zu vertreten. Aber hier wird auch schön gefunden, die Motorwellen-inkremente zu messen, das Ganze einzuteachen (also einen Absolutbeitrag zu bringen), die Istposition über das Aus/Einschalten zu speichern ... Warum einfach, wenns auch kompliziert geht...
Mal so in den Raum gestreut: 1. einen Stepper mit Getriebe. 2. ein Scalenseil 3. Umlenkrollen 4. einen Rotaryencoder auf einer Umlenkrolle alternativ zu 4. könnte man das seil mit schwarzen Ringen markieren und über eine Art U-Detector die tatsächlichen Schritte Zählen. Gruss K.
Matthias Lipinsky schrieb: > Endlagenschalter weg. Damit meine ich zB ein Schiebepoti mit 200mm > Stellweg. Und wie genau ist dein "Schiebepoti"? Und wie linear? Und wie teuer? Wenn du hinkende Vergleiche machst kann ich das auch: Deshalb werden Schiebepoties zur Positionsmessung an Fräsen eingesetzt und keine Incrementalgeber, oder?
Der Vergleich hinkt nicht. Bei Fräsen geht es gewöhnlich um Mikrometer, zumindest fast. Deshalb sind dort Drehgeber verbaut. DIese müssen dann aber geteacht werden. Und das Ganze ist nur so genau, wie die Teachung. Oder es sind Absolutdrehgeber drin. Aha, warum? Genau. Weil eine Absolutposition benötigt wird. Auch hier ist der Einbau des Sensors entscheidend. Weiterhin sind Fräsen sehr genau gebaut, besonders die Getriebe. Stell dir mal vor, der Motor fängt an zu drehen, erkennt aufgrund Ink-Auswertung eine Lageänderung, aber wegen Spindel/Getriebespiel verfährt noch nichts.. Die Linearität der (von mir eingesetzten) Potis ist genau genug. Bei einer Betrachtung der Signalkette auf Fehlerfortpflanzung stellt man fest, dass es dann ein Problem gibt, wenn die Ref-spannung des ADC nicht als Versorgungsspannung des Potis genutzt werden kann. (Diese tritt bei mir an meiner SPS meist auf) Hier gibt es das Problem nicht. Die Auflösung des Istwertes wird somit durch den ADC-Auflösung und die Mechanik bestimmt. Oder anders formuliert: Deshalb sind Inkrementalgeber auch in der Leuchtweiteneinstellung von Autos verbaut. Deshalb dauert es am Anfang immer paar Sekunden, weil sich das ja auch erst referenziert.
Ähm, Matthias, der TO will für Modellbau was einfaches bezahlbares und auch nicht zu großes. Mag ja sein daß bei deinen industriellen Geräten es sinnvoll ist sofort nach einschalten eine Absolutposition zu haben, und die Potis ausreichend genau sind. Die einfache Mechanik Lochscheibe auf Gewindespindel bei 150 oder 200 Umdrehungen und Endanschlag kannst du doch in Punkto Genauigkeit, Platzbedarf und Bezahlbarkeit unmöglich mit einem Linearpoti toppen.
>unmöglich mit einem Linearpoti
Ich sage ja nicht, dass er sich unbedingt ein industrietaugliches Poti
zulegen soll. Mit den Links wollte ich nur verdeutlichen, was ich meine.
Bei Reichelt gibt es Potis bis 100mm für kleines Geld. Was für 200mm
müsste man suchen.
Falls man nix (bezhalbares) findet, dann würde ich überlegen, wie es
lösen kann und direkt eine Position zu bekommen, denn die interessiert
hier ja.
Die Lösung mit Inkrementen wäre in jedem Fall nur Notlösung.
Udo Schmitt schrieb: > Matthias Lipinsky schrieb: >> Endlagenschalter weg. Damit meine ich zB ein Schiebepoti mit 200mm >> Stellweg. > Und wie genau ist dein "Schiebepoti"? Und wie linear? Und wie teuer? Nun, solche Schiebepotis hatten durchaus eine Linearität von besser als 10e-4. Sie wurden in der "vordigitalen Zeit" oft verwendet, waren aber auch nicht ganz billig (Mehrere hundert Mark). Gruss Harald
Wie gesagt, industriell ist was völlig anderes. Da habt ihe je nach Anwendung vollkommen recht. Aber in diesem Fall: Eine Reflex oder Gabellichtschranke für 50ct und eine Scheibe mit Loch oder ein einfacher Farbtupfer und du hast eine Genauigkeit von unter 1% ohne weiteren Aufwand (Einfache Gewindestange und Annahme 200 Windungen). Der TO hat NIE gesagt, daß er immer und überall auch nach dem Aus und Wiedereinschalten sofort die absolute Position braucht. Eure Lösungsvorschläge kosten Geld und Platz das ist beides bei RC-Modellen und Basteln beschränkt. Die Richtung weiß man weil der µC den Motor ansteuert, die Position kann man sich auch problemlos im CMOS speichern, so what? Das ist keine Notlösung sondern eher eine ziemlich optimale in bezug auf Genauigkeit, Aufwand, Platz und Preis. No offend :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.