Hi, ich möchte mir eine Microschritt Steuerung für Schrittmotoren bauen. Hierzu benötige ich einen Chip (zB. ATTiny), der verschiedene Sinus und Cosinuswerte nach einer Tabelle ausgibt. Statt mehrerer Ausgänge (z.B. 4 Bit) soll ein PWM Signal ausgegeben werden, die in der Steuerung in analoge Signale umgewandelt werden. Da ich keine Ahnung von Microcontrollern habe möchte ich fragen, ob mir jemand sowas programmieren kann. Gruß Johannes
Da wirst du zu 99% niemanden finden, der dir das einfach so macht. Aber Gegenvorschlag: Was hälst du von einer "fertigen" Lösung. Schau dir mal von Trinamic die Chips TMC428 und TMC236 an. Die bilden zusammen eine schöne Mikroschrittsteuerung, die über SPI angesteuert wird.
Poste doch bitte mal Deine email adresse, dann schreibe ich Dir. Gruss Knopfloch
Wieviele PWM-Ausgänge brauchts denn? Ist die auszugebende Freq. konstant? Wenn nein, wie soll diese vorgegeben werden? (Drehencoder, UART, I2C,SPI?)
@Knopfloch Seine mailadresse steht indirekt oben mit bei... @ Johannes Du hast Post
Die PWM Frequenmz ist immer gleich. Nur das Puls/Pause Verhältniss ist entsprechen den Sinus/Cosinus Werten. Vier oder 5 Bit Auflösung genügen. Da es sich um ein privates Projeklt handelt, sollte das Programm nicht zu teuer sein. Wenn es zuviel Aufwand macht muss ich es lassen. Die Trinamicsteuerung isrt mir zu kompliziert. Ich verwende die Takt/Richtungs Ausgänge von der LPT Schnittstelle. Gruß Johannes office@schmidgen.de
@Johannes Schon klar, das die PWM sich nicht ändern soll, sondern möglichst hoch anzusetzen ist. Es geht um den erzeugten SINUS/COSINUS. Soll die generierte Frequenz veränderlich sein? Wenn ja, wie (I2C,UART,SPI,Analog via ADC, Parallel oder Drehencoder?)und in welchem Umfang? Du benötigst sicher einen Ausgang, der den Sinus und einen zweiten Ausgang, welcher den Cosinus erzeugt? Oder benötigst Du zwei oder mehrere Ausgänge für unterschiedliche Frequenz(paare[sin/cos])? Etwas genauere Angaben, wofür und warum wären nicht schlecht. Ist zwar keine Raketentechnik, aber so einfach aus dem Ärmel schüttelt sich das nun auch wieder nicht. Und wenn dann alles fertig und es dann nicht passt, weil irgentwelche Angaben fehlten oder es missverständnisse gab, fängt man von vorne an. Und genau hier liegt der Grund, warum sich so wenige melden, die das gegen Bezahlung machne wollen. Ich weiss, es sind einige viele hier von der Partie, die das könn(t)en. Ja - auch ich zähle mich dazu. So eine Softwareentwicklung bietet allerdings aus o.g. Gründen immer wieder großes Konfliktpotezial. Daher ist eine genaue Spezifikation, also ein Aufsatz, in dem GENAU beschrieben steht, was GENAU zu tun ist, vorab unabdingbar. Etweder man sich quasi "sinnfrei" stur an die Arbeit und arbeitet dieses Lastenheft ab, oder man hat die komplette Applikation auf dem Tisch und kann evtuell unglücklich formulierte Merkmale korrrigieren. Daher mein Rat: stell etweder per PN demjenigen die Gesamtapplikation oder nur ein Lasteheft mit konkreten Angaben zur Verfügung, ODER stell dein privates Projekt hier im Forum zur Diskussion. Kann ja auch gut sein, das schon ein jemand sich an die gleiche Sache machen wollte, aber auch stecken blieb, weil ihm das Wissen auf dem einen oder anderen Gebiet fehlt(e). Also Fazit: - etweder gegen Bezahlung mit GENAUEN Eckdaten - gegen Bezahlung inklusive Beratung - ohne Bezahlung in Form von Hilfestellung hier im Forum Was sagen die anderen? Viele Grüße Axelr. die paar Rechtschreibfehler lass ich mal drinn :-))
Axel Rühl wrote:
> Was sagen die anderen?
Sehe ich auch so.
Die bisherige Projektbeschreibung ist mir noch zu schwammig
als das ich dafür auch nur Vorschläge machen könnte.
Im Moment klingt es nach 3 Timern.
2 für die beiden PWM und mit einem dritten
wird die Sin/Cos Tabelle abgearbeitet und die
jeweiligen Werte den PWM-Timern zugeführt.
Aber wir alle wissen: Der Teufel steckt im Detail und
es sind immer diese anfangs vergessenen 'Kleinigkeiten'
die einem letztendlich das Genick brechen.
Wenn Johannes nicht weiss, was er mit "PN" anfangen soll: neben meinem (und auch bei den anderen) Namen ***** Autor: Axel Rühl (axelr) <--- hier Datum: 07.03.2008 19:41 ***** kann man draufklicken und dem (angemeldeten) User eine Private Nachricht (PN) schicken. axel punkt ruehl ätt gmx punkt de
Ein Freund von mir, der zur Zeit leider nicht zur Verfügung steht, hat mir mal den im Bild dargestellten Chip gebrannt. Er hat Step/Dir Eingänge, Wahl der Microschrittauflösung, Vorzeichen für Sin/Cos und Binäte Ausgänge zur Ausgabe. Statt dieser Ausgänge hätte ich gerne PWM Signale mit ca 100 Khz und variablem Puls/ Pause Verhältnis. Ich denke dass die Erklärung reicht. Gruß Johannes
Zusätzlich zum Gesagten wäre erst einmal eine Schaltung aufzubauen, die programmiert werden kann. Ein Tiny wird für die Aufgabe unter Umständen nicht reichen. Mein Vorschlag wäre ein Schrittmotortreiber von Allegro wie A3972 und ein Mega8. PWM-Generierung wäre nicht notwendig.
>...Er hat Step/Dir Eingänge, Wahl der Microschrittauflösung, Vorzeichen für >
Sin/Cos und...
Ist also schon etwas leicht anderes, als einen DDS zu programmieren ;-))
Passt aber locker in einen Tiny, wenn man sich eine andere Art der
Eingabe überlegt. 16 Stufen lassen sich ja noch mitm ADC und Poti
machen.
(könnte man, drehencoder ginge auch)
Ist aber letzen Endes tatsächlich nichts anderes, als eine
Schrittmotorlogik.
Die gibt es tatsächlich für ein paar Euro von Trinamic bei Reichelt.
Das Stromchopperdingens ist dann dort wohl auch schon bei.
EDIT
auf dem Bild war bei mir nichts zu erkennen, schade.
Wenn das tatsächlich alles ist, baue ich Dir so ein Teil für 300Euro.
Ich habe hier nochmal das Bild etwas schärfer., Gruß Johannes
@Axel:
>Seine mailadresse steht indirekt oben mit bei...
Nichts für ungut. Das soll jetzt wirklich ganz freundlich und höflich
gefragt sein:
Was würde mir Deine Antwort nützen. Die email-Adresse kann ich daraus
nicht ableiten. Oder übersehe ich da was?
Aber wiegesagt. Nichts für ungut. Würde mich bloss mal interessieren,
wie Du das gemeint hast.
Gruss
Knopfloch
Knopfloch wrote: > @Axel: > >>Seine mailadresse steht indirekt oben mit bei... > > Nichts für ungut. Das soll jetzt wirklich ganz freundlich und höflich > gefragt sein: > Was würde mir Deine Antwort nützen. Die email-Adresse kann ich daraus > nicht ableiten. Oder übersehe ich da was? > > Aber wiegesagt. Nichts für ungut. Würde mich bloss mal interessieren, > wie Du das gemeint hast. > > Gruss > Knopfloch Ist das soooooo schwer? Logge Dich im Forum ein, dann kannst Du durch einen Klick auf den Namen eines anderen eingeloggten Benutzers zum Kontaktformular, über das Du ihm eine persönliche Nachricht schicken kannst. Diese Nachricht enthält als Replay to Deine Mailadresse, mit der Du Dich eingeloggt hast. Daher könnt Ihr anschließend direkt, also ohne das Forum, weiter kommunizieren. ...
Achja, das Einloggen in diesem Forum kostet nichts, Du wirst auch nicht mit Spam zugemüllt und hast auch keine anderen Nachteile. Und falls Du Angst hast, es könnte jemand ein Profil von Dir (und dem, was Du schreibst) erstellen, dann hast Du ja immer noch die Möglichkeit, Dich wieder auszuloggen und anonym zu schreiben, wie es viele andere Feiglinge hier tun. ...
Hm. Feigling. Soso. Ne, mir wurde mein Passwort gestohlen.
Brauchst Du SIGN_SIN und SIGN_COS für das "Analogteil"? Passt sonst tatsächlich nicht auf'n Tiny. Hatte hier noch ein paar Tiny24 liegen. Die SW läuft schon fast, aber ich habe eben nur 5Pins insgesamt. 1 - CLK_in 2 - DIR_in 3 - SIN out 4 - COS out 5 - ADC_in (Schrittweite über Poti einstellbar) 6 - RESET 7 - MASSE 8 - VCC
Ja, die Vorzeichen brauche ich, da ja nur positive Halbwellen dargestellt werden. Ich habe mal das Oszillogramm hochgeladen. Eine Einstellung über Poti ist eigentlich nicht notwending. Wichtig ist nur, das der Duty Cycle beim Wert 00000 = 0% ist und bei 11111 = 100% (Kann auch weniger sein)ist. Das Programm der bisherigen Ausführung habe ich. Wäre es möglich es einfach weiter zu entwickeln? Das heisst parallel out in PWM zu ändern? Gruß Johannes
Ich habe noch die verwendete Sinus/Cosinus Tabelle gefunden. Johannes
Johannes Schmidgen wrote: >... Das heisst parallel out in PWM zu ändern? Nicht mitm Mega8@8Mhz. Da ist die PWM nicht schnell genug. Das bestehende Programm zu ändern ist für jemanden, der etwas Bescheid weis (wie viele hier) kein Problem. Aber du brauchst mindestens die 10-fache PWM Frequenz, damit das Ergebnis "gut" aussieht, denke ich mal. Das schafft der Mega8 eigentlich nicht (ist er nicht für gemacht) Ich bin jetzt nicht im Bild, ob es die "großen" AVR's mit HIghSpeed PWM gibt. Gibt es? EDIT: warum lässt Du nicht alles so, wie es ist?? Scheint doch zu funktionieren? Wenn Du das Programm hast, kann ich Dir (d)einen Mega8 damit programmieren. Evtl. hift das ja schon ;-))
Johannes Schmidgen wrote: > Ich habe noch die verwendete Sinus/Cosinus Tabelle gefunden. > Johannes Nett, wäre aber nicht nötig gewesen. Trotzdem danke.
Ich denke, dass eine PWM Frequenz von ca 100Khz ausreicht. Ist ja kein HiFi Verstärker. Die maximale Frequenz der CNC Software ist ca 40Khz. Die feinste Microschrittauflösung dient sowieso nicht für Speed. Hier geht es nur um die Wiederholgenauigkeit. Für meine kleine Fräse werde ich 5tel, 10tel oder max 25tel verwenden. Gruß´ Johannes
Bei dieser Gelegenheit möchte ich mich dafür bedanken, dass sich einige Leute meines Problems annehmen. Aufgrund meines schmalen Budgets sind max 100 Euro drin. Wenn es mehr wird, muss ich es lassen. Gruß Johannes
Der Mega8 schafft bei 8Mhz internem Oszillator 31,250KHz PWM Frequenz. Der og. Typ(Attiny861) kann den TImer mit 64Mhz takten, sodassss 250Khz ohne Probleme möglich wären. Kann ich aber nicht testen, habe keinen Tiny861 hier. EDIT schade
Hallo Axel, könnte man den ATmega nicht mit Quartz betreiben? 60Khz würde ja schon knapp reichen. Gruß Johannes
Johannes Schmidgen wrote: > Hallo Axel, > könnte man den ATmega nicht mit Quartz betreiben? 60Khz würde ja schon > knapp reichen. > Gruß > Johannes Sicher...
>Die maximale Frequenz der CNC Software ist ca 40Khz.
Davon war bislang keine Rede. Oder habe ich etwas nicht mitbekommen?
Gast wrote: >>Die maximale Frequenz der CNC Software ist ca 40Khz. > > Davon war bislang keine Rede. Oder habe ich etwas nicht mitbekommen? War doch (fast) klar. Ich dachte anfangs, es sei für einen Plattenspielerantrieb ;-)
Um Missverständnisse zu vermeiden. Es geht hier nicht um die CNC Software. Die habe ich bereits. Es geht nur um die Motoransteuerung. Johannes
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.