- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 7 von 7

Thema: Brauche Hilfe beim hacken von Modelcraft Servo MC-410 auf endlos Rotation

  1. #1

    Brauche Hilfe beim hacken von Modelcraft Servo MC-410 auf endlos Rotation

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    Habe 2 Servos vom Typ Modelcraft MC-410 die ich nach diversen
    Anleitungen aus dem Netz auf endlos Rotation umgebaut haben.

    Potentiometer entfernt , 2 Stk. 2.2K Ohm Wiederstände als Spannungsteiler
    eingelötet und den Zahnrad Endanschlag entfernt , sowie
    im großen Zahnrad die fehlenden Zähne mit einer Feile nachgefeilt.
    (Zahnrad ist nur bis zum Anschlagspunkt mit Zähnen versehen!)

    alles soweit so gut, Servos an PIC16F Microcontroller angeschlossen
    und Software aufgespielt.

    Servos drehen sich vor,zurück und bleiben auch stehen
    wenn ich 1-2ms Impulse sende.

    Sample Source der bei mir funktioniert:

    __________________________________
    #chip 16F628A, 4
    #config OSC = INT
    #config MCLR = OFF

    DIR PORTB.5 OUT

    main:
    pulseout PORTB.5,100 10us
    wait 20 ms
    goto main
    __________________________________



    Jetzt zum Problem:

    Wenn das Computer Programm komplexer wird, z.B
    durch Unterprogramme mit Call Subroutine oder Gosub
    Anweisungen , dann bleibt das Servo
    nach ein paar Sekunden stehen und rührt sich
    nicht mehr.

    Sample Source der bei mir nicht funktioniert:

    _______________________________________
    'Chip und Takt
    #chip 16F628A, 4

    ' Interner Takt
    #config OSC = INT
    ' MCLR Pin as Digital Input Port nutzbar
    #config MCLR = OFF
    ' Watchdog aus
    #config WDT = OFF


    'LED PIN
    DIR PORTB.6 OUT

    #define SoundOut PORTB.7

    'Servo 1
    DIR PORTB.4 OUT
    'Sevo 2
    DIR PORTB.5 OUT

    dim za1 as integer

    SET PORTB.6 ON

    main:

    call vor()
    ' wait 3000 ms

    call re()
    ' wait 3000 ms

    call re()
    ' wait 3000 ms

    call vor()
    ' wait 3000 ms

    call li()
    ' wait 3000 ms

    call li()
    ' wait 3000 ms


    goto main


    sub vor
    for za1 = 1 to 50
    'Li vor
    pulseout PORTB.5,200 10us
    'Re vor
    pulseout PORTB.4,100 10us
    wait 20 ms
    next
    end sub

    sub rue
    for za1 = 1 to 50
    'Li zurück
    pulseout PORTB.5,100 10us
    'Re zürück
    pulseout PORTB.4,200 10us
    wait 20 ms
    next
    end sub

    sub re
    for za1 = 1 to 50
    'Li vor
    pulseout PORTB.5,200 10us
    'Re vor
    'pulseout PORTB.4,100 10us
    wait 20 ms
    next
    end sub

    sub li
    for za1 = 1 to 50
    'Li vor
    'pulseout PORTB.5,200 10us
    'Re vor
    pulseout PORTB.4,100 10us
    wait 20 ms
    next
    end sub
    __________________________________________________ __


    Auch das ändern in gosub-return Anweisungen bringt leider nichts.


    Ich benutze zur Programmierung
    die Sprache Great Cow Basic (aktuelle Version)

    Geprüft habe ich die Hard und Software mit einem
    Oszilloskop das ein PWM Signal von ca. 20ms LOW
    und 1-2ms High anzeigt.

    Die Software wurde mit Oshonsoft Simulator IDE geprüft
    und zeigt auch nornmales Verhalten.

    Also: Servohardware funktioniert , Software funktioniert
    wenn ein ganz simpler Sourcecode nur
    die Motore ein und aus schaltet.

    Was kann das Problem verursachen?

    Hatte jemand schon mal den gleichen Fehler?

    Bitte um Anregungen!


    Vielen Dank!

    Grüße Hermann

  2. #2
    Unregistriert
    Gast
    Zitat Zitat von fraser9999 Beitrag anzeigen
    sowie
    im großen Zahnrad die fehlenden Zähne mit einer Feile nachgefeilt.
    (Zahnrad ist nur bis zum Anschlagspunkt mit Zähnen versehen!)
    Klasse!

    Servos drehen sich vor,zurück und bleiben auch stehen
    wenn ich 1-2ms Impulse sende.
    Genauere Angaben pro Servo wären wünschenswert. Ich kenne bei solcherart gehackten Servos ca. 1,5ms Pulse -> Servo bleibt stehen, 2ms Pulse -> max Speed vorwärts, 1ms Pulse -> max Speed rückwärts. (Vorwärts und rückwärts ist relativ).

    Sample Source der bei mir funktioniert:
    main:
    pulseout PORTB.5,100 10us
    wait 20 ms
    goto main
    Da wird nur ein Servo angesteuert. Bei zwei Servos kann die Stromversorgung in die Knie gehen und den µC dauern zurücksetzen. Also bitte Stromlaufplan zeigen

    Wenn das Computer Programm komplexer wird, z.B
    durch Unterprogramme mit Call Subroutine oder Gosub
    Anweisungen , dann bleibt das Servo
    nach ein paar Sekunden stehen und rührt sich
    nicht mehr.
    Im Code werden zwei Servos angesprochen auf PORTB.4 und PORTB.5. Welches rührt sich nicht mehr? Nach wieviel Sekunden genau nicht mehr. Oder rühren sich beide nicht mehr. Was machst Du, damit es wieder läuft?

    Ich benutze zur Programmierung
    die Sprache Great Cow Basic (aktuelle Version)
    "Aktuelle Version" sagt nichts aus, schon gar nichts in 6 Monaten. Welche Version genau?

    Geprüft habe ich die Hard und Software mit einem
    Oszilloskop das ein PWM Signal von ca. 20ms LOW
    und 1-2ms High anzeigt.
    Mit welchem Program? Testprogramm oder das, mit dem es nach einigen Sekunden nicht mehr läuft? Was ist 1-2ms? Es sollten 1ms Pulse oder 2ms Pulse auf PORTB.4 und PORTB.5 zu sehen sein: Je nach Programmabschnitt.

    Was kann das Problem verursachen?
    Leider kenne ich die SW (Cowbasic) nicht. Ich tippe auf Stromversorgung.

    Bitte um Anregungen!
    Wenn Beschreibung von Abläufen und Fakten bitte detailgenau.

  3. #3

    Erster Erfolg beim servo hacken...

    Hallo,

    Vielen Dank für die zahlreichen Antworten.

    Habe jetzt 2 alte Servos Typ Modelcraft S21 (auch gehackt) an die PIC16F Hardware angeschlossen
    und siehe da, es läuft alles wunderbar.

    Es kann also nur an den Servos Typ:MC-410 gelegen haben. (Modelcraft MC-410)


    mit 1-2ms sind Pulse von 1 Millisekunden bis 2 Millisekunden gemeint
    also Pulsweitenmodulation wie bei Standard Servos üblich.


    Der Tip , das die Stromversorgung bei 2 Servos zusammenbricht scheint mir
    wahrscheinlich. Es könnte sein das die MC-410 Servos mehr Strom brauchen
    als die S21-Servos.


    Zur Great Cow Basic Version, die ist Version 0.95


    Testprogramm ist bei mir Oshonsoft PICSimulatorIDE von: www.oshonsoft.com


    Stromlaufplan wie folgt

    Klicke auf die Grafik für eine größere Ansicht

Name:	Stromlaufplan.jpg
Hits:	13
Größe:	43,2 KB
ID:	32069

    leider etwas unscharf durch das verkleinern.

    (ich weis leider nicht wie man hier große Bilder reinstellt,
    bitte um Aufklärung)



    Vielen Dank

    Grüße Hermann

    - - - Aktualisiert - - -

    P.S.

    zum Sourcecode der mit den Modelcraft MC-410 Servos nicht funktioniert.

    das erste Unterprogramm wird ausgeführt, nähmlich " Call vor()".
    alle zwei Servos drehen sich vorwärts und
    bleiben dann nach ca. 3 Sekunden stehen bis
    ich den PIC16 neu aus und wieder ein schalte.


    noch etwas zur Stromversorgung:

    ich verwende 4 Akkus Ansmann 1,2Volt 1000mAh
    und komme auf 5,2Volt im voll geladenen Zustand.


    Grüße Hermann

    - - - Aktualisiert - - -

    P.S

    Link zum Foto : Schaltplan1.jpg

    Link
    https://pl.vc/1mjs0x

    Direct Link
    https://picload.org/image/rddaawwo/schaltplan1.jpg

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    .. Servos Typ Modelcraft S21 .. es läuft alles wunderbar .. das die Stromversorgung .. zusammenbricht scheint mir wahrscheinlich ..
    Ich kenne weder den einen noch den andern Servotyp, insbesondere der Typ Modelcraft S21 sagt mir garnix. Aber unter meinen Servos ist z.B. ein Typ gleicher Größenordnung wie der MC-410, der bei einem Maximalstrom (des Labornetzteils) von 2,00 A lautstark knattert, bei 4,00 A aber ruhig läuft. Dabei frisst das Ding im Leerlauf grad mal knapp 130 mA, bei "höherer" Last, etwa 1 Nm, ein knappes Ampere. Gerade der Anfahrstrom oder der Strom beim teils unmerklichen Ruckeln im "Stillstand" kann ziemlich hohe, sehr kurze Spitzen erreichen. Bei Betrieb mit Akku, 5 Ah, max über 20 C *gg*, gibts bei diesen Servos keine Sorgen. Deine Ansmann 1,2V 1000 mAh scheinen mir aber diese klitzekleinen AAA-NiMH-Typen oder gar NiCd zu sein, da solltest Du vielleicht keine allzuhohen Stromabgaben erwarten. Was schreibt denn das Datenblatt zu diesen Akkus über die maximale Stromabgabe ? ?

    Aus diesem und ähnlichen Gründen habe ich direkt zu Beginn meiner Programme praktisch stets ein ganz typisches, kurzes Blinken meiner Kontrolldioden stehen. Die zeigen insbesondere dieses "Reset"Blinken - also eine typische Blitzfolge wenn der Controller durch ähnliche Strommängel geresettet wird. Denn dies könnte ja auch auftreten.
    Geändert von oberallgeier (28.09.2016 um 17:05 Uhr) Grund: Blinksignale
    Ciao sagt der JoeamBerg

  5. #5

    Akku Datenblatt

    Hallo,


    Vergleichbare Akkus TYP: Ansmann HR03 (NIMH AAA 800mAH, 1.2 Volt)
    maximal belastbar mit 1600 mAh

    Datenblatt:
    http://www.produktinfo.conrad.com/da...U_FLAT_TOP.pdf


    da sich der Fehler nicht so leicht lösen lässt,
    werde ich wohl auf andere Servos umsteigen
    mit denen die Schaltung funktioniert.

    Also Problem vorläufig gelöst!


    Danke für eure Hilfe,

    Grüße Hermann

  6. #6

    Notlösung für Modelcraft Servo Typ MC-410 programmierung gefunden.

    Hallo,

    nach vielem experimentierern mit dem Sourcecode
    hab ich eine Notlösung gefunden
    um die 2 Modelcraft Servos MC-410 zum laufen zu bringen.

    Ich sende bei jeder Richtungsänderung durch ein Gosub-Return
    Unterprogramm vorher einen Mitte-Pulse von 1,5 Millisekunden
    und danach steuere ich die Servos wie gehabt.

    Und sie laufen jetzt beide wie gewünscht.

    Grüße Hermann

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Hallo Hermann,
    Zitat Zitat von fraser9999 Beitrag anzeigen
    Vergleichbare Akkus TYP: Ansmann HR03 (NIMH AAA 800mAH, 1.2 Volt)
    maximal belastbar mit 1600 mAh
    Da hat sich ein kleiner Fehler eingeschlichen:
    Der maximale Entladestrom ist 1'600 mA
    mAh geben eine Kapazität an.
    Den Akku mit 800mAh kannst du also in minimal 0.5h leersaugen.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

Ähnliche Themen

  1. Servo Modelcraft Standard-Servo RS 2, problem
    Von Technik_Amateur im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 12.09.2013, 12:25
  2. Schrittmotoren / Endlos Servo? Mecanumräder?
    Von SGH pRO.BOTICS im Forum Motoren
    Antworten: 29
    Letzter Beitrag: 29.06.2013, 13:33
  3. [ERLEDIGT] Servo Modelcraft Standard-Servo RS 2 an M32-Board
    Von dirty_bird_981 im Forum Robby RP6
    Antworten: 29
    Letzter Beitrag: 07.02.2012, 16:19
  4. Mini Servo Hacken
    Von HannoHupmann im Forum Motoren
    Antworten: 5
    Letzter Beitrag: 01.10.2008, 17:19
  5. Tamiya TSU-02 Servo hacken
    Von sfreak im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 27.08.2008, 08:42

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests