Wer kann kann mir ein Prpgrammschreiben?

#804962
Lesenswert?

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
#805021
Lesenswert?

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
Gast #805038
Lesenswert?

@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 :-))
#805041
Lesenswert?

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.
#805057
Lesenswert?

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
Angehängte Dateien:
Gast #805078
Lesenswert?

>...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.
Gast #805251
Lesenswert?

@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
#805274
Lesenswert?

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.

...
#805276
Lesenswert?

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.

...
Gast #805366
Lesenswert?

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
#805377
Lesenswert?

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
Angehängte Dateien:
Gast #805382
Lesenswert?

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 ;-))
#805391
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren