Beiträge von universe im Thema „Schrittmotoren auf Selbstbau Montierung anpassen.“

    "While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened"


    Genau das passiert bei eine direkte Verbindung zu CdC.


    CdC macht die Verbindung auf und schickt sofort ein :GD und wartet auf eine Antwort.
    Diese :GD kriegt der Arduino nicht mit weil er neue startet denkt es kommt ein upload.
    So gibt es keine Antwort.
    Das ganze wäre nicht so tragisch wenn CdC Die Verbindung nicht schließen würde. Tut er aber und mit nächsten Verbindung startet den Arduino wieder neu.


    Ich habe das ganze schon mehrmals gedebugt.


    Bei Stellarium z.B passiert ähnliches mit einen Riesen Unterschied, Stellarium schließt die Verbindung nicht sondern fragt wieder :GD

    Hier ein Auszug aus Arduino 2560 seite,
    Nur zu verstehen warum das autoreset mit 100% sichereit da ist und wozu man es braucht.


    Automatic (Software) Reset
    Rather then requiring a physical press of the reset button before an upload, the Mega 2560 is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the ATmega2560 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino Software (IDE) uses this capability to allow you to upload code by simply pressing the upload button in the Arduino environment. This means that the bootloader can have a shorter timeout, as the lowering of DTR can be well-coordinated with the start of the upload.
    This setup has other implications. When the Mega 2560 board is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the ATMega2560. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened. If a sketch running on the board receives one-time configuration or other data when it first starts, make sure that the software with which it communicates waits a second after opening the connection and before sending this data.
    The Mega 2560 board contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's labeled "RESET-EN". You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see this forum thread for details.

    Ich vermute wie in meine vorherige Post das CdC immer arduino zu autoreser bringt.


    1.CdC macht die Verbindung auf
    2.Arduino Antwortet und macht autoreset
    3.CdC kriegt deswegen keine Antwort auf :GD# und schließt die Verbindung wieder.


    Um autoreset zu vermeiden benutze ich ein wiederstand wie in diese Anleitung abgebildet
    http://playground.arduino.cc/M…toResetOnSerialConnection


    Das blöde an der Sache ist nur das arduino den autoreset braucht wenn du etwas auf dein Board hochladen willst.
    Deswegen habe ich ein Schalter um wiederstand zu aktivieren oder eben nicht.

    O.k.
    Er kriegt kein Antwort von On-Step auf Befehl :GD
    Mach folgendes:
    1. On-Step am Rechner anschliessen.
    2. Arduino IDE Applikation auf machen.
    3. Seriellen Monitor starten
    4. Port wählen wo On-Step ist sowie Baumaterialien von 9600
    5. Diese Befehl eingeben #:GD#
    Dann warte auf Antwort

    Hallo Lothar,


    Du kannst deine log im textform hier posten.


    Es ist auch so das CdC standardmäsig in low precision arbeitet.
    Das war der Grund warum ich damals in meine Steuerung ein dynamisches Modus programmiert habe.
    So ist es dann egal ob in low precision mit HH:MM.S# oder in high precision mit HH:MM:SS# gesendet wird.


    Aber ich denke on-Step wird genau so funktionieren.

    Hallo Carsten,


    Wenn du über ascom Treiber gehen willst, muss erst ascom voll installiert sein.


    So war das vor 1-2 Jahre wo ich überlegt habe mir ein ascom Treiber zu schreiben.


    Deswegen habe ich es gelassen da über die Hälfte Befragten in meinem Umfeld dass nicht wollten.


    Obwohl ascom einige Vorteile zu bieten hat.

    Hallo Lothar,


    Dein Arduino wird sich immer einmal resseten nach dem du es über ein com Port anbindest.
    Danach bleibt die Verbindung bestehen.
    Aber sobald du es wieder trennt und neue verbindest, ressetet sich Arduino.


    Das Problem hatte ich mit cartes du ciel.
    Diese Programm fragt etwas und wartet auf Antwort.
    Kommt keine Antwort, gibt er Fehler aus und bricht die Verbindung ab.

    Ihr musst schon angeben welche Arduino Platine ihr benutzt.
    So wird ein Arduino uno ohne weitere Änderungen beim ersten seriellen Befehl ein Neustart machen.
    Darauf reagieren manche Programme (falls direkt ohne ascom) mit eine Fehlermeldung.
    Das ganze kann man je nach arduino Platine, entweder mit einen Kondensator oder einen wiederstand abstellen.

    Hallo Carsten,


    warum nimmst du jetzt ein Treiber mit nur 32 Mikroschritte?
    Nimm doch die gleiche wie Gerrit.
    Mehr Mikroschritte und weniger Untersetzung, schneller bewegen.


    Hier ist ein Beispiel, wie es bei mir ist mit der Berechnung für verschiedene Mikroschritte.



    Damit erreiche ich eine goto Geschwindigkeit von 1200 x siderisch im RA und 1700 x Siderisch in DEC, ohne dass ich Schritte verliere.


    Ich habe es dann aber auf 1000 x siderisch begrenzt da es mir dann doch zu schnell war.
    So habe ich auch genug Reserven drin.


    Grüß
    Igor

    Hallo Gerrit,


    was Howard da alles geschrieben hat finde ich wirklich Toll!
    Respekt auch für diese enorme Zeitaufwand die er da gesteckt hat.
    Als ich 2013 mit der Bau meine zweite Steuerung starten wollte, kannte ich schon das OnStep Projekt.
    Diese war von Idee her die gleiche wie meine erste Steuerung und noch seeehr Buggy.


    Ich wollte damals einfach weg von Timer und Probleme mit double prezision, Rampe, umschalten und etc.
    Deswegen bin ich ganz anderen Weg gegangen.


    Wenn ich mir heute den Code von OnStep anschaue, dann sehe ich enorme vorschritte, die durch Open Source entstanden sind.
    So eine Dynamik wird meine Steuerung nie erleben.
    Aber ehrlich gesagt, brauche ich auch nicht, das Teil läuft seit lange, ohne dass ich es nennenswert ändern müsste.
    Zeit für OpenSource Verwaltung und unendliche Diskussionen im unserem Deutschen Raum, habe ich nicht.
    Deswegen kommt das nur ausgesucht weiter an engen Kreis um Hannover.


    Ist ja auch gut so und ich habe meine Ruhe.


    Viele Grüße
    Igor

    Hallo Gerrit,


    es ging nicht darum was meine Steuerung mehr kann, sondern wie sie etwas macht.


    So weit ich weiß, macht Onestep immer noch selber das Zählen von Mikroschritt Intervall.
    Es wird dafür interner Timer benutzt.
    Das mache ich nicht und habe volle Prozessorzeit und muss nie daran denken dass ich ein Mikroschritt verpassen werde.
    Ich kann sogar Arduino abschalten und solange an den Treiber Spannung vorliegt macht er seine Arbeit weiter.
    Ich zähle also die Mikroschritte nicht und sage alle xx Mikro Sekunden Step Step Step.
    Sondern sage zu Treiber wie viele und wie schnell er machen muss und er macht es selber, inklusive Rampen und das umschalten zwischen Mikro und vollschritt bei höhere Geschwindigkeiten.


    Bei mir wird auserdem die Motor-Spannung nicht mit irgendwelchen Potis eingestellt.


    Das Bluetooth Modul haben 5 weitere Astrofreunde im Einsatz, ohne Probleme.


    Grüße
    Igor

    Hallo Carsten,


    wir treffen uns immer den ersten Donnerstag im Monat, es würde mich freuen wenn du vorbei kommst.


    Dein erworbener Arduino ist schon mal sehr gut, mit der Bestellung von Treiber aus Onstep Projekt würde ich erstmal warten.
    Ich kann dir eine Steuerung zum Selbstbau zeigen die mehr in sich hat.
    Allerdings bekommst du kein Offenes Code sondern nur kompiliertes Objekt.


    Mehr darüber dann am Donnerstag vielleicht.


    Grüße
    Igor