Selbstbausteuerung mit open source fw?

  • Hi,


    so hab mal das Eval6470 geordert.
    Mal schauen wie der sich so am Stepper verhält.


    Ich will euch den nicht aufdrängen habs rein interessehalber gemacht.[;)]


    Gruß Pit

  • Hallo Pit,
    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote">so hab mal das Eval6470 geordert.
    Mal schauen wie der sich so am Stepper verhält.
    Ich will euch den nicht aufdrängen habs rein interessehalber gemacht.<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
    bin auch sehr an deinen Erkenntnissen zu dem Chip interessiert!
    Wenn der zuverlässig läuft, wäre das in der Tat eine günstige Alternative zu den Trinamics.


    Grüße
    Michael

  • Hallo,


    was ich bei dem Schaltplan zum L6470 vermisse, sind Strommesswiderstände.
    Und tatsächlich - der L6470 regelt, laut Datenblatt, nicht über den Strom:
    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote">7 Phase current control:


    L6470 controls the phase current applying a sinusoidal voltage to motor windings
    (Figure 12). Phase current amplitude is not directly controlled but depends on phase voltage
    amplitude, load torque, motor electrical characteristics and rotation speed.<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Grüße
    Michael

  • Jop,


    mit Faktor Kval ändert man die Amplitude des PWM-Sinus. 0-100% jeweils parametrierbar für Brems-, Beschleunigungsrampe,
    Speed und Stop.


    Bin mal gespannt wann DIGI Key liefert. Ist lagernd. Das ist nirgend sonst zu bekommen. Geschweige vom L6470 selbst.


    Gruß Pit

  • Hallo,


    ich hab Grade zufällig das Thema hier entdeckt. Ich spiele auch schon länger mit dem Gedanken mir eine eigene Steuerung zu bauen.
    Bin aber bisher leider noch nie dazu gekommen wirklich anzufangen, obwohl ich schon länger die Bauteile alle zu Hause liegen hab.


    Wollte dabei auch auf die MotorICs von TMC (428) zurückgreifen in Verbindung mit einem Treiber von Allegro (A3973).


    Als Prozessor wollte ich ursprünglich einen ATMega verwenden, mittlerweile würde ich aber auch eher zu einem CortexM3 (LPC1768) Tendieren.



    So, hab mir jetzt den Thread nicht komplett durchgelesen, wollte daher mal fragen wie weit der Stand der Entwicklung ist. Würde mich dann gerne mit beteiligen. Macht ja kein Sinn wenn jeder für sich alleine Bastelt, wenn man seine Erfahrungen auch miteinander Teilen kann. OS Mäßig zur Verfügung stellen wollte ich das Projekt eh auch schon immer.



    Gruß
    Sebastian

  • Hallo Sebastian,


    schön, dass du mit machen magst :D


    Unser Projekt heißt "openDrive" und es gibt hier einige Threads dazu:
    Pflichtenheft -&gt; http://www.astrotreff.de/topic.asp?TOPIC_ID=102556
    gr. Entwurf -&gt; http://www.astrotreff.de/topic.asp?TOPIC_ID=102555
    Softwaregerüst -&gt; http://www.astrotreff.de/topic.asp?TOPIC_ID=103464


    Wir haben eine Git-Seite und eine Yahoo Gruppe.
    http://wiki.github.com/selste/openDrive/tools
    http://tech.groups.yahoo.com/group/opendrive/


    Hardwareseitig bin ich vor kurzem mit dem Schaltplan und Layout für die Treiberplatine der Schrittmotoren "fertig" geworden [max. 2.5A_eff (3.5A_peak) pro Schrittmotor, 30V, TMC428 und TMC249].
    Werde sie demnächst bei Trinamic ins Forum stellen, um ein Feedback von den Experten dort zu erhalten.


    Grüße
    Michael

  • Hallo Sebastian,
    willkommen im Club - als Ergänzung zu dem, was Michael schon erwähnt hat ...


    Wir nutzen das Olimex LPC-P2148 (LPC2148 16/32 bit ARM7TDMI-S) + Ethernet-Adapter (ENC28J60-H).
    Entwicklungsumgebung ist Eclipse mit einer GNU-Toolchain - da bin ich gerade am Basteln und Probieren, um Code dann auch mal ordentlich debuggen zu können.
    Wir wollen FreeRTOS als Basis für die Steuerungs-Software verwenden, da hakt es aber an einigen Stellen.
    Gruß,


    Steffen

  • Hallo zusammen,


    es freut mich zu sehen das dieses Projekt noch lebt und das sich was tut. Ihr habt tolle Sachen geplant. Hoffe dass es auch am Ende bezahlbar wird.
    Ich habe vor einen Monat meine erste Steuerung in Planung genommen und vor eine Woche im Betrieb genommen. Habe in diese Forum darüber berichtet.
    Natürlich viel einfacher und in eine andere Liga als Ihr das hier macht trotzdem bin ich absolut zufrieden.


    Jetzt muss ich das Ganze noch verpacken und dann bin ich fertig.


    Ich freue mich wenn die erste Programmabschnitte von Euch online gehen.
    Da kann ich auch bei bedarf mitmachen.


    Grüße,
    Igor.

  • Hiho,


    so hab jetzt den L6470 mal bestromt und
    hab bis jetzt noch keinen Bug gefunden.
    Stepper war ein Minebea.


    Läuft super soft und leise.
    Strombegrenzung funktioniert hervorragend.


    Werd auch nächste Woche einen Escap 530 testen.


    Was mich stört ist das nur 22bit große Position-Register.


    Wie macht ihr das bei Umschaltung in einen anderen µStepp-Bereich? Der TMC rechnet auch nicht direkt mit dem kleinsten einstellbaren µStepp Wert
    sondern auch nur die Ticks für den gerade eingestellten µStepp-Bereich, oder?


    Wie gesagt der L6470 läuft super und hat auch kaum Außenbeschaltung.
    Kleine feine Lösung das Dingen.


    Gruß Pit

  • Hallo Pit,


    bezüglich L6470 ist mir die Funktionsweise nicht klar.
    Wie bestimmt der Chip den Strangstrom?
    Welche Geschwindigkeiten und Drehmomente sind drin?
    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote">
    Werd auch nächste Woche einen Escap 530 testen.<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
    hört sich gut an. Bin gespannt, ob der Chip wirklich so gut ist.
    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote">Der TMC rechnet auch nicht direkt mit dem kleinsten einstellbaren µStepp Wert
    sondern auch nur die Ticks für den gerade eingestellten µStepp-Bereich, oder?<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
    Jep, wir werden wohl zunächst intern auf die kleinste Schrittauflösung rechnen.
    Bei schnellem Goto wird dann auf gröbere Schritte umgeschaltet und dann nahe an der Zielposition wieder zurück.


    Grüße
    Michael

  • Hi,


    ich glaub der L6470 weiß garnicht wie hoch der Strangstrom ist.


    Man kann die Amplitudenhöhe der am Strang anliegenden Spannung von 0-100% einstellen und damit auch den Strom.



    Ändert sich die Impedance ändert sich auch der Strom. Wäre feststellbar wenn ich von Minebea nach Escap wechsel.


    Tja, Drehmoment keine Ahnung. Bis kurz vor Stepverlusten bleibt das Drehmoment ziemlich gleich. Fingerheißlauftest.


    Erreichbare Drehzahl:
    &gt;&gt;The SPEED register contains the current motor speed, expressed in step/tick (format
    unsigned fixed point 0.28).
    In order to convert the SPEED value in step/s the following formula can be used:
    Equation 3
    Speed is the integer number stored into the register and tick is 250 ns.
    The available range is from 0 to 15625 step/s with a resolution of 0.015 step/s.
    Note: The range effectively available to the user is limited by the MAX_SPEED parameter.
    Any attempt to write to the register causes the command to be ignored and the
    NOTPERF_CMD to rise (see paragraph 9.1.22).&lt;&lt;


    Der Minebea war bei 900 step/s am Ende. Das sind 4,5 U/s.
    Alles bei 12V ,ca. 0,5A und 128µstep.


    Der Speedregisterwert bezieht sich immer auf Fullsteps. Also egal welcher µStepmodus eingestellt ist.


    Aber den Stepper der 15625 step/s machen kann, will ich haben.[:p]


    In dem Entwicklertool kann man schneller und besser sehen, was ,wie, wo eingestellt werden kann.
    http://www.st.com/stonline/pro…n_evaluation_tool_1.6.zip


    Werd mal weiter mit dem Eval6470 Board spielen.


    Grüße Pit

  • Da hab ich hier den Thread ja richtig wiederbelebt :D


    Da ich bisher nur mit ATMegas gearbeitet habe, würde mich mal interessieren warum ihr euch für FreeRTOS entschieden habt, anstatt direkt zu programmieren? Und wieso ein ARM7 anstatt eines CortexM3? Konnte hier in den Thread und im Yahoo-Forum leider nix zu euren Auswahlkriterien finden.


    Aktiv mitmachen kann ich leider erst ab Mitte Oktober, aber ich bin mich aktuell schon mal in die Technik zum ARM am einarbeiten. Ist am Anfang schon recht unübersichtlich im Vergleich zum ATMega :)



    Gruß
    Sebastian

  • Hallo Sebastian,


    einige Leute im Team wollten ein OS (Betriebssystem) als Gerüst.
    Die Frage nach 8-Bitter vs. 32-Bitter stellt sich heute wohl nicht mehr...
    Der LPC kostet um die 12 EUR.
    Wir wollten das Rad nicht neu erfinden und haben recherchiert,
    was es da an open source so gibt und sind auf das hier gekommen:
    http://www.jcwren.com/arm/ (Seite ist bei mir gerade nicht erreichbar, den Code haben wir aber :D)
    Da gibt es jedenfalls ein Grundgerüst mit allem was wir brauchen: RealtimeOS, Ethernet, SD-Karten-Ansteuerung, Parser ...
    Läuft auch ganz gut, bis auf Probleme mit Sd-Karten &gt; 1GB, aber das lösen wir sicher.


    CortexM3 ist sicher moderner, aber brauchen wir die Rechenleistung denn?


    Grüße
    Michael

  • Naja, CortexM3 und ARM7 kosten halt das gleiche.
    Der LPC1768 kostet z.B. ~8€ und hätte Ethernet direkt mit dabei.


    Rechenleistung haben denk ich mal beide genug :)


    Aber wie gesagt, hab auch in dem Bereich noch nicht so die Erfahrung, deswegen Interessieren mich halt die Gründe für die Auswahl :)

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote">Die Frage nach 8-Bitter vs. 32-Bitter stellt sich heute wohl nicht mehr...<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Warum? Was ist gegen die 8-Bitter einzuwenden?

  • Mag schon sein, man sollte aber nicht versuchen eventuell ineffiziente Programmierung mit Rechenpower zu erschlagen.
    Ihr baut immerhin eine Teleskopsteuerung und keinen Supercomputer.
    Zudem sind die XMegas von Atmel auch mit 32MHz betrieben, verfügen über sehr viele IO, kommen mit bis zu 384kB Flasch daher, haben das neue Eventsystem zusätzlich zu den herkömmlichen Interrupts und verfügen über das EBI. Preislich sind die auch nicht teuer.
    Nur weil der ARM ein wenig schneller ist sollte man nicht die andern Prozessoren MCUs verdammen. Zudem vertrete ich immer wieder den Stanpunkt, daß es besser ist die Hadrware ordentlich zu Designen, damit sie dem Prozessor Arbeit abnimmt. Alles per Rechenpower erschlagen zu wollen gibt meist irgendwann instabile Software mit Abstürzen und Hängern. Das gilt insbesondere im Microcontrollerbereich. Da ist weniger oft mehr.

    Beim PC ist das doch auch ähnlich. Da wird mit Windows7 x64 geworben und ist es wirklich schneller als x32? Nicht wirklich. Es produziert aber ordentlich Overhead. Man muss sich immer vor Augen halten, daß 32bit eben auch 4mal so wie Speicher braucht wie 8 bit. Da kommt man dann bei 256kb Flash auch mal fix an die Grenzen.

  • Hallo,


    mit dem GCC übersetzte Programme können bei ARM-Prozessoren echte 64bit-double-Variablen verarbeiten. Bei Atmel ist double wie float nur 32 bit breit.
    Will man 64bit double verwenden, braucht man bei Atmel einen kommerziellen C-Compiler soweit mir bekannt ist.
    Und die sind sehr teuer.


    Gruß,
    Martin Cibulski

  • Braucht man die? Gleitkommaarithmetik ist überdies sowieso ziemlich langsam wenn der Prozessor keine FPU hat. Insbesondere wenn amn internsiven Gebrauch von Winkelfunktionen wie Sin oder Cos macht.Das ist bei astronomischen Koordinatenrechnungen und Ephemeridenrechnungen aber leider nun mal nötig. Da gibt es deutlich Besseres, vorausgesetzt der Compiler bietet das was.

  • Hallo,
    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote">
    Mag schon sein, man sollte aber nicht versuchen eventuell ineffiziente Programmierung mit Rechenpower zu erschlagen.
    Ihr baut immerhin eine Teleskopsteuerung und keinen Supercomputer.
    [...]
    Beim PC ist das doch auch ähnlich. Da wird mit Windows7 x64 geworben und ist es wirklich schneller als x32?
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
    vielen Dank für das in unsere Programmierkenntnisse und -fähigkeiten gesetzte Vertrauen! [;)]


    Nur kurz zum PC - zumindest für die AMD 64Bitter galt (und gilt, soweit mir bekannt), daß die Ausführung von 32-Bit-Befehlen langsamer ist als die nativen - 64 Bit - Befehle; da werkelt im Inneren i.G. ein Emulator, der kostet halt Leistung.
    Keine Ahnung wie sich die Intel-Chips da aufstellen, habe ich keine Erfahrung mit.
    Wenn dann natürlich das Betriebssystem die CPU net wirklich ausreizen kann ... schade drum!


    Meiner Meinung nach hat sich die Frage nach dem Einsatz eines 8-Bitters einfach dadurch erledigt, daß wir eben KEINE reine Teleskopsteuerung bauen wollen (im Sinne von simpler Ansteuerung zweier Achsen), sondern - in einer Ausbaustufe - 'überflüssigen Schnickschnack' [;)] wie Goto (mit allem, was da so dazugehört) bieten möchten - in einem Gehäuse, auf derselben MCU.


    Aber ich lasse mich gerne eines Besseren belehren - welche 8-Bit CPU ist dafür geeignet?!
    Gruß,


    Steffen

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote">vielen Dank für das in unsere Programmierkenntnisse und -fähigkeiten gesetzte Vertrauen!<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Das war nicht auf die Prorammierkenntnisse bezogen. Oft genug produzieren schon die Compiler Mist bzw. ineffektiven Code.


    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote">...daß wir eben KEINE reine Teleskopsteuerung bauen wollen (im Sinne von simpler Ansteuerung zweier Achsen), sondern - in einer Ausbaustufe - 'überflüssigen Schnickschnack' wie Goto (mit allem, was da so dazugehört) bieten möchten - in einem Gehäuse, auf derselben MCU.<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Mache ich auch. Nur mit einem 8-Bitter :) Ok er hat 32MHz. Hab aktuell nen Xmega128A1 laufen. Es kommt aber in der nächsten Version ein Xmega384A1 rein.

  • Hmm,
    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote">
    Mache ich auch. Nur mit einem 8-Bitter :) Ok er hat 32MHz. Hab aktuell nen Xmega128A1 laufen. Es kommt aber in der nächsten Version ein Xmega384A1 rein.
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
    na ja, die Prozessorfamilie wird aber als
    '8/16-bit XMEGA A1 Microcontroller '
    beworben ...
    Also ein klein wenig hast da schon geschummelt, oder?!? [:)]
    Gruß,


    Steffen

  • Hallo!
    Was wollt ihr eigentlich mit 64-Bit-Prozessoren an einer Montierung, die aus einer primitiven Schnecke und primitiven Zahnrädern besteht? Wunderdoktor spielen? ;) Eine "Chinafett-Ausgleichs-Routine" schreiben?
    ;) :)
    Gruss
    Gerhard
    *duckundweg*

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!