Forum: Mikrocontroller und Digitale Elektronik Programmierung Attiny 13


von Steve (Gast)


Lesenswert?

Hallo,

ich wollte euch mal mein Problem schildern und hoffe ihr könnt mir etwas 
weiterhelfen.
und zwar Folgendes.
Ich habe mir als völliger Neuling in der Szene folgende Schaltung 
gelötet: http://www.avr-asm-tutorial.net/avr_de/stepper/stepper.html

Also eine Schrittmotorsteuerung. Dazu muss ich meinen Attiny 13 
programmieren.
Der Quellcode ist angegeben, allerdings habe ich als absoluter Neuling 
dazu noch einige Fragen.
Welches käufliche Programmiergerät könnt ihr mir dafüe empfehlen? Ich 
dachte an ein STK 500, allerdings wird in dessen beschreibung der Attiny 
13 nicht direkt erwähnt, weshalb ich mir nicht sicher bin, ob das passt.

Außerdem muss ich den Quellcode ändern. Ich will, dass am Schluss 
folgendermaßen haben. Das Gerät soll eine Art Spannugnsmessgerät werden. 
Das heißt ich lege Spannung (im Bereich von 1-5V) an, z.B. eine Batterie 
mit 1,5V und der Zeiger (auf dem Motor) soll dann einen entsprechenden 
Ausschlag (= entsprechende Anzahl von Schritten) machen.
Ist jemand von euch in diesem Bereich fit und kann mir sagen inwiefern 
ich da den Controller programmieren muss?

Wäre euch echt sehr dankbar, wenn ihr mir diesbezgl. helfen könntet.
Falls jemand von euch in meiner Nähe wohnt und mir helfen will/würde 
(auch gegen Bezahlung)könnte man auch darüber sprechen, da ich das 
unbedingt realisieren will, ohne all zu tief in die Materie 
einzusteigen.
Falls dazu jemand Lust hätte könnte er sich ja mal unter st (ät) 
wanekonline.de melden.

Ansonsten hoffe ich natürlich auf Hilfe aus diesem Forum und möchte mich 
dafür schon einmal im Voraus recht herzlich bedanken.

Gruß
steve

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Mit dem STK500 kannst Du auch jeden anderen AVR mit ISP programmieren. 
Passt ggf nur nicht in die vorhandenen Sockel. Aber das ist kein 
Problem, wenn Du den AVR im Zielsystem beschreiben willst.

Kommt dabei nicht auch ein Drehspulinstrument in Frage?
Oder brauchst Du Kraft um einen großen Zeiger anzusteuern?

Ansonsten lassen sich auch elektronische Tachometer (Schrottplatz / 
Bucht) für sowas verwenden. Dabei gibt es dann kein Problem mit der 
Nulljustage.

Einen Schrittmotor musst Du immer zu beginn auf Null fahren (zb Anschlag 
mit Rutschkupplung oder Sensor).

von Steve (Gast)


Lesenswert?

Das ganze "muss" defintiv mit dieser Schaltung realisiert werden, da 
kann ich nicht aus.
Bin wie gesagt beim Programmieren völliger Neuling und habe kaum Ahnung, 
wie ich das gebacken kriege, wäre da um Hilfe dankbar.

Werde dann vermutlich mal ein STK500 kaufen, außer ihr habt andere 
Empfehlungen.

Zur Null Justierung wäre vll. auch eine Lichtschranke eine Idee, aber 
ersteinmal müsste ich den Rest (schnellst möglich) ans laufen bekommen.

von Steve (Gast)


Lesenswert?

Wäre euch wirklich für eure Hilfe dankbar.

So viele kluge Experten wie sich hier rumtreiben, da wär es doch 
gelacht, wenn mir keiner helfen kann, oder ist euch das schon zu banal?

von doc (Gast)


Lesenswert?

Guckst Du hier:

http://www.mikrocontroller.net/articles/AVR-Tutorial

Da steht fast alles von dem was du wissen musst.

von Stefan B. (Gast)


Lesenswert?

Deine Idee müsste von der Hardware und Software aus realisierbar sein. 
Ich erkenne im Moment auch nicht, was die Software von deinem Wunsch 
noch nicht macht.

Hast du bereits den Autor des (IMHO netten) Tutorials gefragt? Wenn 
einer eine Belohnung verdient hat, dann doch der, oder?

von Uhu U. (uhu)


Lesenswert?

Ich würde empfehlen, nicht den winzigen Tiny13 zu nehmen. Der hat nur 1 
kB Flash und nur 6 Pins, die man für Daten nutzen kann - da ist der 
zweckentfremdbare Reset-Pin schon mit drin! (Zum Programmieren werden 
Miso, Mosi und Reset benötigt.)

Dadurch hat man im Zweifelsfall nur wenig Möglichkeiten, Debug-Code 
einzubauen und LEDs anzuschließen, mit denen irgendwelche 
Testbedingungen angezeigt werden können.

Der Tiny13 ist dann gut, wenn die Software schon mit hoher 
Wahrscheinlichkeit das tut, was sie soll und das Ganze dann nur noch auf 
den kleinen Chip portiert werden soll.

Das Stk500 ist sehr brauchbar. Es kann auch den Tiny13, allerdings - 
wegen der wenigen Pins - nur mit einigen Klimmzügen, wenn es nicht nur 
eine Trivialanwendung mit maximal 3 Datenpins sein soll.

von Steve (Gast)


Lesenswert?

Den Autor des Tutorials habe ich bereits kontaktiert, er hat jedoch im 
Moment keine zeit und hat mich an internetforen verwiesen.
Ich habe wie gesagt die verlinkte Schaltung bereits fertig gelötet, 
Schrittmotor liegt auch hier ich muss das ganze "nur" noch programmieren 
und ans laufen bekommen.
Soweit ich das verstehe, muss man da schonnein bisschen was anpassen, 
damit der Zeiger eben bei sagen wir 2,5v die Hälfte einer 180° Skala 
abläuft und dann stehen bleibt.
Bei Abfall der Messspannung sollte er dann auf 0 Zurücklaufen.
Ist das bereits mit dem Quellcode erledigt oder was müsste man da genau 
anpassen?

Wie gesagt würde gerne beim Attiny 13 bleiben.
Will auch nur den und nur für diese Anwendung programmieren, sonst 
nichts. Wenn es dafür geeignetere Geräte gibt, nur her mit den Tipps.

von Stefan B. (Gast)


Lesenswert?

Das Zurücklaufen ist bereits in der Software drin. Für die Anpassung 
sollte man die Hardware vor sich haben, daher wäre es optimal, wenn sich 
ein Helfer in deiner Nähe meldet. Email hast du ja auch angegeben. Wenn 
sich nach ein paar Tagen keiner meldet, dann frische das Thema ruhig 
auf.

von megaplan (Gast)


Lesenswert?

Moin,

ich bin auch neuling, also habe ich mir ein Lern-Paket zugelegt.
Aus zeitmangel habe ich es noch nicht getestet.
Ist aber alles drin was der Anfänger braucht. CD, Kabel, Anleitung, 
Bauteile und der prommer, kostet 49,95€.
Franzis Verlag ISBN 978-3-7723-4899-0

von doc (Gast)


Lesenswert?

An welchen Pin willst du die Lichtschranke hängen ?

von Steve (Gast)


Lesenswert?

Weiß ich ehrlich gesagt (noch) nicht.

Ja ein Helfer aus meiner Nähe wäre sehr nett, meldet euch doch einfach 
mal per Mail bei mir, denke da wird man sich schon einig!

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Steve schrieb:
> Ja ein Helfer aus meiner Nähe wäre sehr nett

Was ist das für eine Nähe?

von Steve (Gast)


Lesenswert?

Hm, wollte es eigentlich per Mail genauer sagen.

Nur mal als grober Anhaltspunkt, wohne in Bayern ;-)

von Peter R. (pnu)


Lesenswert?

Kannst Du nicht mit einer Postleitzahl dienen, das wäre ja nun wirklich 
keine Staatsgeheimnis.
Du weißt anscheinend nicht, wie groß Bayern ist.

von Steve (Gast)


Lesenswert?

naja eigentlich wollte ich das prinzipiell nicht öffentlich machen, aber 
gut, 93413.
Über die Größe Bayerns bin ich mir durchaus bewusst ;-)

von gerd (Gast)


Lesenswert?

Hallo.

So, jetzt habe ich wieder etwas Zeit. Ich habe mir das jetzt mal 
angesehen. Ich hatte die Steppermotorsteuerung für einen Floppymotor mit 
angeflanschtem Getriebe geschrieben, um damit einen riesengroßen 
Drehkondensator zu drehen. Das Zahnradgetriebe hat ein 
Übersetzungsverhältnis von um die 12. Das brauchte mit dem Getriebe 1276 
Schritte des Steppermotors, um eine ganze Runde zu drehen. In der 
Software gibt es dazu folgende Zeilen:

;
; Konstanten
;
.equ cSmSteps = 1276 ; 2552/2, Anzahl Schritte pro Umdrehung
.equ cSmFreq = 145 ; Frequenz Schrittmotorgeschwindigkeit
;                 ; Minimum: 5 Hz, Maximum: 1171 Hz
.equ cSmDelay = 390 ; Anzahl Takte vor Abschalten der Magnete
;

Wenn Du hier statt 1276 nur 100 oder 80 einträgst und neu assemblierst, 
dürfte Dein Problem schon erledigt sein. Mit diesem Wert wird später 
multipliziert, um den neuen Soll-Schrittstand zu errechnen. Der Stepper 
fährt vor oder zurück, je nachdem ob der Soll-Schrittstand größer oder 
kleiner ist als der Ist-Schrittstand.

Der ADC-Eingang vom Tiny13 misst die Spannung mit der Betriebsspannung 
von 5 V als Referenz. 0 Volt entspricht einem Soll-Schrittstand von 
Null, 5 V dem Soll-Schrittstand cSmSteps. Nach jedem Messzyklus dreht 
der Stepper sich auf den neuen Sollwert ein und bleibt dann dort stehen.

Ich habe zum Einstellen der Spannung 0..5 V ein 10-Gang-Poti verwendet. 
Die Einstellung des großen Drehkondensators erwies sich im praktischen 
Betrieb als noch etwas zu grob. Ein noch etwas stärker untersetzendes 
Getriebe wäre wahrscheinlich besser gewesen. Da Dein Schrittmotor ohne 
Untersetzung mit einem großem Anzeiger sichtbar hoppeln wird, wäre eine 
Untersetzung mit einem Getriebe auch bei Dir wahrscheinlich angebracht.

Das ganze Anschlag-Detektiererei-Mimik kannste Dir sparen, wenn Du die 
Spannung vor dem Abschalten auf Null Volt drehst, den Stillstand des 
Steppers abwartest und dann erst die Betriebsspannung abschaltest. Dann 
steht er beim Einschalten immer auf Null. Wenn mal nicht, dann den 
Stepper mit der Messspannung auf linken Anschlag fahren, 
Betriebsspannung Ausschalten, Poti auf linken Anschlag drehen und wieder 
einschalten. Das war es schon.

So, jetzt bin ich gespannt, ob Du es hingekriegt hast...

mfg
gerd

von Steve (Gast)


Lesenswert?

Vielen Dank für deine Hilfe.
Das STK 500 is bestellt. Sobald ich es habe, werde ich mich dran machen 
und mich hier natürlich melden.
Wäre toll, wenn es klappt!

von Steve (Gast)


Lesenswert?

So heute ist mein STK500 gekommen :-)

Habe schon fleißig im Handbuch gelesen (ist schon teils nicht ganz sooo 
prickelnd einfach beschrieben).

Laut meinem aktuellen Kenntnisstand und dem, was die Suche hier 
ausgespcukt hat, sollte ich praktisch so vorgehen.

"Power off und alle Kabel vom Board entfernen.

Controller in Sockel SCK3400D1 stecken. Alle anderen Sockel leer.

Verbindungen herstellen:
  PB3 von PORTB  (pin 4)  -->  XT1 von PORTE/AUX   (pin 7)
  PB5 von PORTB  (pin 6)  -->  RST von PORTE/AUX   (pin 3)
  PB0 von SPROG1 (pin 4)  -->  DATA0 von PROG DATA (pin 1)
  PB2 von SPROG1 (pin 3)  -->  DATA2 von PROG DATA (pin 3)
  PB1 von SPROG1 (pin 1)  -->  DATA1 von PROG DATA (pin 2)

Jumper setzen:
  VTARGET mounted
  RESET mounted
  XTAL1 mounted
  OSCSEL set to 1-2

Power on und es kann losgehn."



Mit was verkabelt man das Ganze am besten? Die beiliegenden Kabel 
reichen ja bei weitem nicht. Werde mir wohl ein paar Stecker aus dem 
Modellbaubereich zuerechtlöten und die benutzen........


Gruß
Steve

von Gastofatz (Gast)


Lesenswert?

Das ist aber für High-Voltage-Programming. Standardmäßig programmiert 
man die Controller per ISP.

Steck den ATtiny13 in Sockel 3600A1 (blau) stecken und verbinde mit 
einem Extrakabel Pin RST (PORTE) und Pin PB5 (PORTB). Der richtige 
Programmierstecker fürs ISP-Flachbandkabel ist SPROG1 (auch blau, ne?).

Die High-Voltage-Veranstaltung kannst Du Dir später mal antun, oder wenn 
Du nen Controller verfust hast.

von Steve (Gast)


Lesenswert?

Ah, so einfach geht das.
Naja, habe ja gesagt für einen Anfänger ist das handbuch doch leicht 
verwirrend.
Werde ich morgen gleich mal testen, wäre super wenn das funktioniert.

von Steve (Gast)


Lesenswert?

Entschuldige, dass ich schon wieder nerven muss, aber irgendwie haut mir 
so garnichts hin :-(

Ich wollte gerade den Schnelltest ausführen. Dazu habe ich die 2 10 Pin 
Flachbandkabel genau wie in der Anleitung beschrieben verbunden.
Jumper sind alle drauf (Auslieferungszustand), ansonsten ist nichts am 
Board.
Den beiliegenden Stecker für die 10-15V Stromversorgung habe ich an mein 
Netzteil angeschlossen (das schwarze Kabel mit den weißen Strichen also 
minus) und dann habe ich es gewagt und dem STK 500 Strom gegeben.
Dabei passiert folgendes: Die Power LED leuchtet rot (wenn ich den 
Schalter anmache) und die Status LED blinkt abwechselnd rot und grün 
(sehr schnell).
Ansonsten tut sich leider garnichts.
Also keine LEDs oder ähnliches.
Was läuft da falsch, kann mir da mal eben jemand helfen?

Mit der Software haut mir das auch nicht so ganz hin, habe die CD 
eingelegt und wenn ich dann die 8 Bit Version wähle komme ich auf die 
Seite von Atmel. Drücke ich dort allerdings den "install" Button, 
passiert rein garnicht (ist da der Download tot?).

Irgendwie nicht mein Tag heute, spiele schon seit früh morgens damit 
rum, aber funktionieren will nichts so richtig........

von Gastofatz (Gast)


Lesenswert?

>Jumper sind alle drauf (Auslieferungszustand), ansonsten ist nichts am
>Board.

Der mitgelieferte AT90S8515 sollte noch im Sockel 3000D3 stecken.

>und dem STK 500 Strom gegeben.
>Dabei passiert folgendes: Die Power LED leuchtet rot (wenn ich den
>Schalter anmache) und die Status LED blinkt abwechselnd rot und grün
>(sehr schnell).

Wenn alles OK ist, durchläuft die Status-LED nach dem Power-On rot --> 
gelb --> grün und bleibt dann dauerhaft grün.

Es gibt im STK500-Manual aber auch ein Troubleshooting Guide. Als 
mögliche Ursache für "The status LED is blinking quickly" ist dort 
"There is a short circuit on VTARGET" genannt. Check das mal.

>Mit der Software haut mir das auch nicht so ganz hin

WAS für ne Software? AVRStudio? Befindet sich auf der CD-ROM keine Datei 
AVRstudio.exe? Ich würde mir einfach die neueste Version von der 
ATMEL-Seite downloaden. Geht allerdings nur mit Registrierung.

von Steve (Gast)


Lesenswert?

Hallo,

ja natürlich, der 3000D3 steckt auch im Sockel und das auch richig rum.

Ich habe mittlerweile durchwegs gegoogelt und daher eine Frage. Sollte 
das 6 Pol Flachbandkabel bei diesem Vorgang von SPROG3 zu ISP6PIN gehen?
Zumindest sieht man das auf manchen Fotos, auf anderen wieder nicht.

Auf VTARGET steckt wie gesagt der Jumper drauf (Auslieferungszustand).
Meine Status LED blinkt sehr schnell und immer von rot auf grün, ja.
Die Polung am Netzteil stimmt ja normal auch.
Weiß echt nicht, wo da der Fehler liegt - deprimierend.

Zur Software.
Wenn ich meine CD starte kann ich zwischen AVR und AVR32 (bzw. 8 und 
32bit) wählen. Klicke ich eines der beiden an, komme ich auf die Atmel 
Site.
Der Download von dort klappt aber bei mir leider nicht.
Ich versuche es mal mit der Registrierung. Meinem STK500 lag leider kein 
Handbuch o.ä. bei, nutze zur Zeit die Übersetzung aus diesem Forum.

Aber irgendwie bin ich mit meinem Latein langsam am Ende, dachte jetzt 
bekomme ich das Ding endlich mal geproggt........

Gruß
Steve

von Gastofatz (Gast)


Lesenswert?

>Sollte das 6 Pol Flachbandkabel bei diesem Vorgang von SPROG3 zu ISP6PIN >gehen?

Das ist egal. Das LED-Blink-Testprogramm auf dem Controller läuft 
genausogut mit oder ohne diesem Kabel. Dessen Vorhandensein ist erst 
notwendig, wenn Du einen Controller programmieren möchtest. Dann muss 
es die Plugs ISP6PIN und wahlweise SPROG1/2/3 verbinden (Plug gleiche 
Farbe wie Sockel).

>Auf VTARGET steckt wie gesagt der Jumper drauf (Auslieferungszustand).

Ja gut, aber hast Du VTarget auch mal nachgemessen? Steht ja auf allen 
User-Plugs (PORTA, PORTB.., SWITCHES, LEDS) zur Verfügung. Was zeigt 
Dein Voltmeter an, wenn Du es - Vorsicht, keinen Kurzschluss 
produzieren! - an die Pins GND und VTG klemmst?

>Die Polung am Netzteil stimmt ja normal auch.

Bei mir ist auf dem Stecker vom Netzteil (China-Wandwarze) innen + und 
außen -. Da stehen ca. 12.5 V ungeglättete Gleichspannung an. Direkt am 
Brückengleichrichter auf dem Board messe ich zwischen den Pins + und - 
etwas über 11 V.

>Zur Software.

Drück mal die Windows-Taste plus F und lass die Dateisuche über die CD 
laufen mit Kriterium Dateiname = "AVRstudio.exe". Was kommt dabei raus?

von bix (Gast)


Lesenswert?

Steve schrieb:
> Zur Software.
> Wenn ich meine CD starte kann ich zwischen AVR und AVR32 (bzw. 8 und
> 32bit) wählen. Klicke ich eines der beiden an, komme ich auf die Atmel
> Site.

... die auf der CD gespeichert ist.

> Der Download von dort klappt aber bei mir leider nicht.

Offensichtlich wurden ein paar fehlerhafte CDs produziert. Bei meinem 
AVRISP MKII hatte ich das gleiche Problem.
Im Software-Verzeichnis auf der CD gibt es zwar Einträge für die zu 
installierenden Programme, die Größe ist jedoch 0 Bytes (bei einigen, 
nicht bei allen).

Ich habe mir die neueste Version von der Atmel-Webseite geladen, damit 
ging es dann.

Guten Rutsch wünscht bix.

von Steve (Gast)


Lesenswert?

Juhu, also nachdem ich eine halbe Ewigkeit lang mit 26KB/s ddas über 
100MB große Programm gesaugt habe, läuft zumindest mal die Software.

Jetzt messe ich mal raus, was ihr gefragt hat, vielleicht bekomme ich 
das ja auch noch hin!

von Steve (Gast)


Lesenswert?

Also aus meinem netzteil kommen 13,78V laut Voltmeter.
Habe auch innen + und außen - .

Zwischen GND und VTG (z.B. bei PORTC) messe ich garkeine Spannung.
Ansonsten ist leider immer noch alles gleich......

von Gastofatz (Gast)


Lesenswert?

Die Versorgung ist OK.

>Zwischen GND und VTG (z.B. bei PORTC) messe ich garkeine Spannung.

Das ist zwar nicht gut, aber passt ins Bild, denn es ist der Grund warum 
die Status-LED meckert. Vtarget sollte um 5 V liegen (diese Spannung ist 
übers AVRStudio einstellbar).

Zunächst: Oberhalb des VTARGET-Jumpers, also am Rand des Boards, 
befindet sich noch eine grüne LED. Leuchtet diese LED?

>Ansonsten ist leider immer noch alles gleich......

Logisch. Ohne Vtarget hat der Controller ja keinen Saft.

von Steve (Gast)


Lesenswert?

Die grüne LED über VTARGET leuchtet nicht.
Nur die rote Power LED und die Status LED blinkt rot/grün schnell 
wechselnd.

von Gastofatz (Gast)


Lesenswert?

Offensichtlich mangelt es Deinem Board an Vtarget. Entweder die 
Targetspannung wird korrekt vom Regler erzeugt, kommt aber nicht bis zur 
User-Sektion, oder es gibt irgendwo nen Kurzschluss.

Entferne mal alles an Kabeln, was auf dem Board ist (aber lass die 
Jumper wie sie sind). Zieh nur den VTARGET-Jumper ab und miss die 
Spannung an dessen "rechtem" Pin gegen GND. (Von dem siehst Du eine 
dickere Leiterbahn zum Vtarget-Regler hinter dem Power-Schalter gehen. 
Es steht "LM317" drauf.)

von Steve (Gast)


Lesenswert?

So habe jetzt mal alle Kabel entfernt und den Jumper von VTARGET auch.

Dann Strom drauf. Jetzt leuchtet die grüne LED über dem VTARGET (Rest 
gleich).
Zwischen dem rechten Pin von VTARGET und GND messe ich keine Spannung 
(0V), zwischen dem linken und GND messe ich 1 V.

von Gastofatz (Gast)


Lesenswert?

OK, lass mich drüber nachdenken. Hab jetzt ein paar Verpflichtungen, 
deshalb Antwort später. Falls erst morgen --> Guten Rutsch! :-)

von Steve (Gast)


Lesenswert?

Ui jetzt habe ichw as festgestellt.
Gerade alles wieder zusammengebaut.
Jumper auf VTARGET.
Und dann nochmal Strom drauf.
Jetzt leuchtet die grüne LED über VTARGET. Die rote Power LED auch.
Und die Status LED geht jetzt von rot auf orange und dann grün!

Die LEDs leuchten aber mit aufgesteckten 10 Pol Kabeln trotzdem 
irgendwie nicht, hm.

von Steve (Gast)


Lesenswert?

Und jetzt habe ich auch die LEDs am leuchten.
Hätte nicht gedacht, dass das dieses Jahr nochmal was wird!
Vielen Dank an das Forum schonmal für die bisherige Hilfe und besonders 
an "Gastofatz".
Wünsche euch alle einen guten Rutsch!

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

So, schon wieder die nächste Frage.
Habe mal einen kleinen Screenshot angehänt um zu zeien wie weit ich bin.
Passt das bis dahin alles?
Jetzt bräuchte ich praktisch den Quellcode von Gerds Seite im hex 
Format, richtig?
Wie wandle ich den am besten um und wie genau geht es dann weiter? Die 
deutsche Übersetzung der Anleitung ist hier irgendwie etwas 
sparsam.......

Gruß
Steve

von Steve (Gast)


Lesenswert?

Keiner da, der mir an dieser Stelle weiterhelfen kann?

von Gastofatz (Gast)


Lesenswert?

Erfreulich, dass sich das Vtarget-Problem gelöst hat. Würde mich 
interessieren, woran das gelegen hat. Werden wir aber wahrscheinlich nie 
wissen.

Wie ich sehe, kannst Du schon den ATtiny13 über den Programmierdialog 
vom AVRStudio ansprechen. Dann ist ja alles in Butter.

>Jetzt bräuchte ich praktisch den Quellcode von Gerds Seite im hex
>Format, richtig?

Ähhhh... es gibt Quellcode (Sourcefiles) und das Executable (im 
Programmierdialog "HEX files" genannt). Der Quellcode ist menschenlesbar 
(stehen so Sachen drin wie "ldi temp, 136" oder rcall 
ProcessNextDataByte" oder "brne Loop") aber nicht vom Controller 
ausführbar. Ausführbar ist nur das Executable (sieht z. B. so aus: 
0F4AA59B508CFE374A573D84DD593008...). Der Assembler dient dazu, aus dem 
Quellcode das Executable zu generieren. In Controller werden 
grundsätzlich immer nur Executables geflasht.

Wenn Dir Grundlagenkenntnisse fehlen, investiere ein paar Tage Zeit und 
lies Dir die Wiki-Artikel auf www.mikrocontroller.net durch. Bei 
Unklarheiten frag im Forum nach und Dir wird sicher geholfen.

Wie man ein Projekt einrichtet, bearbeitet, assembliert, simuliert und 
das fertige Programm in einen Controller bekommt, steht in der Hilfe zum 
AVRStudio. Du wirst (wie wir alle) nicht darum herumkommen, da noch eine 
Menge zu lesen und zu lernen. Auf gehts! ;-)

>Jetzt bräuchte ich praktisch den Quellcode von Gerds Seite im hex
>Format, richtig?

Gibts da auch das Executable? Falls ja, lade es direkt im 
Programmierdialog unter "Flash". Dort wo "HEX file" steht. Danach kannst 
Du es mit "Program" in den Controller flashen.

von Steve (Gast)


Lesenswert?

Leider habe ich dafür kein Executable.
Hätte eben gehofft, dass ich das irgendwie passend umgewandelt bekomme 
und mir so viel Arbeit und Leserei spare.
Das war auch Basis meiner (zugegebenermaßen laienhaft formulierten) 
Frage oben.

von Gastofatz (Gast)


Lesenswert?

Wenn Du nur den Quellcode hast, ist das auch kein Prob. Dann erstelle im 
AVRStudio ein neues Projekt mit dem Assistenten. Achte darauf, alles 
richtig zu konfigurieren (Controllertyp etc.). Klick die noch leere 
Hauptdatei an, so dass sie im Editor erscheint. Füll den Quellcode von 
Gerds Seite mit Copy&Paste da rein. Projekt speichern und anschließend 
den Assembler drauf loslassen, mit Menüpunkt "Build and Run". "Run" 
bedeutet nur, dass im Erfolgsfall sofort der Simulator startet, was Dich 
nicht zu kümmern braucht. Wenn irgendwas nicht stimmt, bekommst Du beim 
Build-Versuch Fehlermeldungen. Ist das nicht der Fall, wurde die 
Executable-Datei im Projektverzeichnis erstellt.

Programmierdialog aufrufen und unter Tab "Main" nochmal die Signatur des 
Controllers auslesen. Wenn das mit "matches selected device" quittiert 
wird, auf Tab "Program" wechseln, dort im Kasten "Flash" die Option "use 
current simulator flash memory" anwählen und das Executable mit 
"Program" flashen. Unten erscheinen Statusmeldungen - nach "Leaving 
programming mode... OK" hast Du fertig (außer es muss auch noch was ins 
EEPROM des Controllers gebrannt werden. Das läuft dann analog ab.)

Viel Glück! ;-)

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

Hatte die Tage nicht viel Zeit.
Hab den PC gerade mal gefüttert.
Alles weitesgehend nach deiner Anleitung.
Dann, wenn ich "build and run" klicke, kommt meist das oben angezeigte 
Bild (passt, oder?).

Teils kommt aber auch etwas anderes (also "proggi2" angehängt).

Muss mich das beunrihigen?

Als Signatur liest er "0x1E 0x90 0x07"

Allerdings kann ich "use current simulator flash memory" nicht 
auswählen.
dafür müsste ich dort wohl erst ein hex file einfügen?!?!

Naja ich hoffe mal wieder auf eure Hilfe, ein dickes Danke schon mal im 
voraus!

von Gastofatz (Gast)


Lesenswert?

Alles easy. Du musst dem Simulator noch sagen, was Du als debug platform 
und device haben willst. Menüpunkt Debug --> "Select platform and 
device". Im erscheinenden Dialog AVR Simulator und ATtiny13 wählen.

Danach nochmal mit "Build and Run" assemblieren ==> Keine Fehlermeldung 
mehr und Option "User current simulator flash memory" im 
Programmierdialog anwählbar.

Die Executable-Datei müsste aber auch so schon erstellt worden sein und 
sich im Projektverzeichnis befinden. Kannst ja mal nachschauen (und sie 
natürlich auch als "HEX file" in den Programmierdialog laden und den 
Controller damit flashen).

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

Wieder mal ein dickes Danke an dich, du hilfts mir echt suuuuper weiter.

Sieht gut aus, oder?

von Gastofatz (Gast)


Lesenswert?

Bittebitte. Ja, besser könnts nich sein. Du bist fast durch. Fürs EEPROM 
gibts nix zu tun, da es von diesem Programm nicht benutzt wird (das geht 
aus der Assemblermeldung hervor: [.eseg] 0, 0...).

Du musst aber noch - wichtig! - die Fusebits des Controllers 
konfigurieren. Sieh nach, was der Autor der Schaltung dazu sagt und 
halte Dich genau daran. Mit den Fuses werden einige grundlegende 
Hardwareoptionen des Controllers festgelegt, z. B. mit welcher 
Taktquelle er laufen soll. Bei den Fuses ist stets SORGFALT UND VORSICHT 
geboten: Wer da was Unpassendes einstellt und Pech hat, kann einige Mühe 
haben, es wieder rückgängig zu machen, z. B. kann HV-Programmierung dazu 
nötig werden (das Forum ist voll mit Threads von Verzweifelten, die nur 
mal ein bisschen mit den Fuses herumgespielt haben).

Umfassende Infos dazu (besser vorher lesen):

http://www.mikrocontroller.net/articles/AVR_Fuses

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

ist hier das gemeint? Finde in gerds texten irgendwie nicht das 
richtige: "Die Initiierung der Hardware umfasst:

    * die Richtung der vier Portbits PB0 bis PB3 als Ausgang und die 
Bits auf den ersten Schritt des Steppermotors setzen,
    * den Zähler für den AD-Wandler auf 64 setzen, das Summenergebnis 
der Wandlungen löschen, den Digitaleingang von PB4=ADC2 abschalten (wird 
nicht benötigt, PB4 dient ausschließlich der AD-Messung), die 
AD-Wandler-Mux fest auf Kanal ADC2 einstellen, und den AD-Wandler mit 
folgenden Einstellungen starten:
          o Referenzspannung ist die Betriebsspannung des ATtiny13,
          o Taktteiler=128, bei 1,2 MHz internem Takt und 13 Taktzyklen 
pro Messung braucht jede Messung 1,387 ms, Aufsummieren von jeweils 64 
Messungen ergibt einen fertigen Messwert alle 88,75 ms oder 11,3 
Messwerte pro Sekunde.
          o Interrupt nach jeder abgeschlossenen Messung,
          o kein automatischer Neustart der nächsten Messung (wird beim 
Interrupt neu gestartet).
    * der Timer/Counter 0 wird auf normalen CTC-Modus (Löschen des 
Zählers bei Erreichen des Vergleichswerts) eingestellt, mit folgenden 
Eigenschaften:
          o die Dauer eines CTC-Zyklus ist so lange wie die Ausgabe für 
einen Schritt des Motors dauert und wird durch die Konstante cCmpA 
bestimmt, die in das Compare-Register A des Counters geschrieben wird,
          o nach jedem CTC-Zyklus wird ein Interrupt ausgelöst, der 
Compare-Match-Interrupt A wird ermöglicht,
          o der Vorteiler wird auf 1024 eingestellt, der Counter-Takt 
beträgt daher 1,2 MHz/1024 = 1,172 kHz, mit CTC-Werten zwischen 1 und 
255 ergeben sich Frequenzen zwischen 1172 und 4,6 Hz für die Ansteuerung 
des Schrittmotors.
    * der Prozessor wird auf Schlafmodus eingestellt, d.h. zwischen den 
Interrupts des Counters und des AD-Wandlers ist der Programmablauf 
unterbrochen."


Ich hab mir das ganze gerade mal angeschaut im Programm.
Bin mir aber nicht sicher, ob ichd as überhaupt richtig verstanen habe 
und habe nach den geschilderten Folgen eher Angst, mir da jetzt was zu 
killen.
Hab mal angehängt, wie das aktuell so aussieht.

von Gastofatz (Gast)


Lesenswert?

Darum dreht sichs. Warum Gerd nix zu den Fuses sagt, hat einen simplen 
Grund: Alle Fuse-Einstellungen sind die Werkseinstellungen.

Insbesondere: RSTDISBL ist NICHT gesetzt, was man auch aus dem 
Schaltplan erschließen kann. SUT_CKSEL entspricht der Einstellung "9.6 
MHz interner Oszillator". CKDIV8 ist gesetzt, d. h. dem Oszillator ist 
ein 1:8-Teiler nachgeschaltet ==> 1.2 MHz Controller-Taktfrequenz. Das 
ist in Gerds Beschreibung mit "...bei 1,2 MHz internem Takt..." gemeint.

Fazit: Alle Fuses so lassen, wie sie sind.

Wie ich gesehen habe, gibt es im Sourcecode aber ein paar Konstanten, 
die Du möglicherweise an Deinen Motor anpassen musst. Nach jeder 
Änderung muss das Programm natürlich neu assembliert und geflasht 
werden.

Ansonsten kannst Du den Controller, der das Programm übrigens (von Dir 
möglicherweise unbemerkt) schon ausführt, aus dem Sockel ziehen und in 
seine Zielschaltung einbauen.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Gastofatz schrieb:
> aus dem Sockel ziehen und in
> seine Zielschaltung einbauen.

Vorher aber alle Spannungen abschalten. Den Prozessor erst entfernen, 
wenn keine LED mehr leuchtet (dass sollten auch alle Elkos soweit leer 
sein).

von Steve (Gast)


Lesenswert?

Na dann werde ich das mal machen.
Meine Stromversorgung habe ich gestern durchgemessen (also der Teil 
meiner Schrittmotorsteuerung)und sie funktioniert einwandfrei.
Mal sehen ob der andere auch passt.
Als Motor habe ich einen, den ich mal irgendwo ausgebaut habe. 
Funktioniert sicher. Der hat 5 Kabel, 4 braune und 1 schwarzes. habe 
rausgemessen,dass das schwarze der Mittelabgriff ist.
Den habe ich dann an "bl" (bei j2) in der Schaltung geklemmt und die 
einzelnen Spulen der Reihenfolge nach.
Mal sehen ob das passt.
Werde natürlich berichten ;-)

von Steve (Gast)


Lesenswert?

Jetzt hab ich nochmal 2 Fragen (eines Laien).
Und zwar ist das ja meine Stromversorgung: 
http://www.avr-asm-tutorial.net/avr_de/stepper/supply.pdf

Der Pfeil von Ain rüber zum Widerstand mit 1,4kOhm soll ein Poti 
darstellen, richtig?
Ist dieses zwangsläufig von Nöten,denn ein solches habe ich nicht 
eingelötet.

Außerdem bin ich mir inzwischen nicht mehr ganz sicher, wo genau ich mit 
der Eignangsspannung (1-5V) meines Spannungsmesser hin muss.

Vielleicht hilft mir ja jemand mal eben auf die Sprünge......

von Stefan B. (Gast)


Lesenswert?

Das Poti und den 1,4K Widerstand braucht du eigentlich bei dem Projekt, 
Das ist der Steller für die Position des Steppermotors!

Wenn du eine andere 1-5V Spannungsquelle statt Poti+1,4K Widerstand 
hast, dann kommt deren + Pol an die AIN Klemme und GND der anderen 
Spannungsquelle wird mit der DGND Klemme verbunden. Du musst aber 
sicher sein, dass die andere Spannungsquelle nie mehr als Vcc+0.5 
und nie weniger als -0,5V liefert. Lieber nochmal mit Daten zur 
Spannungsquelle nachfragen!

von Steve (Gast)


Lesenswert?

Naja, final soll das ja ein Spannugnsmessgerät werden (siehe 1. post).

Also 2 Kabel wie bei nem billigen Voltmeter die dann z.B. an eine 
Batterie gehen und der Motor soll als Zeiger fungieren und die Spannung 
auf einer Skala anzeigen.

von Stefan B. (Gast)


Lesenswert?

Das ist dann ein heisses Eisen!

Der unbedarfte Anwender oder du nach einiger Zeit wird sich nicht an die 
Regel "nie mehr als Vcc+0.5 und nie weniger als -0,5V" (s. Absolute 
elektrische Grenzen im Datenblatt des AVRs) halten, wenn er mit den 
Messstrippen auf die Spannungsquelle losgeht.

D.h. du als Hardwareentwickler musst eine Schutzschaltung (Verpolschutz, 
Spannungsbereiche) für deinen AVR in der Schaltung haben!

von Gastofatz (Gast)


Lesenswert?

>D.h. du als Hardwareentwickler musst eine Schutzschaltung (Verpolschutz,
>Spannungsbereiche) für deinen AVR in der Schaltung haben!

Im Eröffnungsposting ist ein Link, wo Du u. a. die Schaltung sehen 
kannst. Die Schutzschaltung ist schon vorhanden. Zwischen AIN und dem 
ADC-Pin hängt ein 10 k-Längswiderstand, und zwei 1N4148-Dioden clampen 
den Pin gegen GND und VCC. Das sollte den µC vor Schäden durch 
Spannungen außerhalb 0...5 V bewahren.

von Stefan B. (Gast)


Lesenswert?

Stimmt, das habe ich nicht gesehen.

Für welchen Spannungsbereich wirkt diese Schutzschaltung sicher? Vom 
typ. 1/4W 10K Widerstand her kommen max. 50V (U=SQRT(P*R)) in Spiel, bei 
der 1N4148 max. 75V (abs. max. Ratings) und bei dem 2µ2 Elko max. 16V.

Es könnte auch passieren, dass die Schaltung selbst noch keinen Strom 
hat aber die zu messende Spannungsquelle schon Strom liefert. Sollte man 
dafür Schutzdiode(n) über dem/den 78L05/7812 Linearregler(n) vorsehen 
(IN-|<-OUT)?

von Stefan B. (Gast)


Lesenswert?

Bei einer falschen Einschaltreihenfolge könnte ich mir als Schutz einen 
p-MOSFET in der AIN-Messleitung vorstellen, der erst aufgesteuert wird, 
wenn die Mess-/Stepperschaltung selbst Spannung hat. Wäre das eine 
Lösung?

von Steve (Gast)


Lesenswert?

naja ich denke die Eisnchaltreihefolge wäre schon ind er Praxis 
umsetzbar.
Also das man das Gerät erst einsteckt, bevor man eben eine 
Spannungsquelle misst.

von Stefan B. (Gast)


Lesenswert?

Dann hast du eine Herausforderung weniger. Ich bin manchmal(?) zu 
paranoid. Wenn ich man statt ich lese, klingeln die Alarmglocken ;-)

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

So, habe das nächste Problem.

Und zwar habe ich gerade eben mal das Poti eingelötet um zu testen wie 
sich da die Spannung ändert.
Hatte ein ganz normales Drehpoti.
Während ich dran rumdrehe, rauchte es mir plötzlich ab.
Jetzt bin ich mir nicht mehr sicher, ob ich das richtig eingelötet habe, 
oder was da falsch lief.
Ich hab oben in dem Bild mal markiert, wo ich die 3 Kabel angelötet 
habe.
Habe ich da was verfranst, oder ist da einfach nur zu viel geflossen?
Mit 1,4KOhm drin, und ohne Poti messe ich an den entsprechenden Stellen 
immer so 11,94V recht konstant.

von g457 (Gast)


Angehängte Dateien:

Lesenswert?

also wenn Du es wirklich da angelötet hast, wo Du es eingezeichnet hast, 
dann hätte da gar nie nichts nicht rauchen dürfen, zumindest nicht das 
Poti - weil dann läge alles (vom Poti) auf GND.. Ich zeichne mal zurück 
(in blau), wo das Poti hin hätte müssen, und zwar mit dem Schleifer auf 
J1/Ain

HTH und HF

von Alexander S. (esko) Benutzerseite


Lesenswert?

Steve schrieb:
> Jetzt bin ich mir nicht mehr sicher, ob ich das richtig eingelötet habe,
> oder was da falsch lief.

Sehr wahrscheinlich.

Der mittlere rote Kreis im Bild zeigt 2 Leitungen die sich kreuzen und 
nicht verbunden sind.
Den 1,4kohm Widerstand hast du eingebaut?

von Steve (Gast)


Lesenswert?

Der Widerstand ist drin.
Abgeraucht ist es aber erst, als ich dran rumdrehte.
Könnte mir einer vll. einzeichnen, wie es richtig rein gehört?
Habe noch eines gefunden.
So eines, das 2 Beine auf der einen und eins auf der anderen Seite hat 
und das man mit dem Schraubendreher reguliert.
Für einen Test würde es aber wohl reichen.

von Stefan B. (Gast)


Lesenswert?

Lies nochmal die Antwort von g457: Da hätte nichts rauchen dürfen.

Da es doch geraucht hat, ist ein anderer Klops in der Schaltung.

Den Klops solltest du finden, bevor du das nächste Poti einbaust, 
ansonsten ist die Chance groß, dass wieder etwas raucht.

Fotos des Patienten wären eine Möglichkeit, wenn das Forum helfen soll. 
Bildformate beachten.

Du hast hoffentlich den zweiten Teil der Schaltung mit dem AVR noch 
nicht angeschlossen, oder?

Hast du das gefundene Potentiometer mal durchgemessen, ob das die 
erforderlichen 1KOhm hat?

von Steve (Gast)


Lesenswert?

Also, die Antwort habe ich glatt übersehen.
Foto werde ich nachliefern und auch die einzelnen Spannungen, die ich 
ermesse ohne Poti.
Allerdins habe ich ein kleines Problem.
Ich habe da nicht 2x 0,7kOhm drin, sondern einen (!) mit 1,4kOhm (also 
am Stück).
Hatte damals das Poti in der Form noch nicht im Kopf.......

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

Hier das Foto.
Ist im Vergleich zur Schaltung spiegelverkehrt, deshalb habe ich die 
Ausgänge beschriftet!

von Steve (Gast)


Lesenswert?

So, jetzt auch Spannungen gemessen.
Zwischen AGND und DGND liegen 11,94V an, zwischen 12+ und AGND bzw. DGNG 
ebenso. Zwischen Ain und 12+ liegt nichts an.
Denke das passt so, oder?

von g457 (Gast)


Lesenswert?

Steve schrieb:
> Zwischen AGND und DGND liegen 11,94V an

★hust★ sicher? Laut Schaltplan (und weil beides 'GND' ist, die nochdazu 
verbunden sind) sollte da keine Potenzialdifferenz messbar sein ★hust★ 
★smoke★ ★hint★

von Steve (Gast)


Lesenswert?

Ach entschuldigt, mein fehler.
Liegt natürlich 0V an, das passt also schon.

von Steve (Gast)


Lesenswert?

Dieses Poti hier habe ich jetzt noch: 
http://www.conrad.de/goto.php?artikel=431338

Kann mir nochmal jemand genau sagen, wo was hin muss, nicht das ich das 
auch noch grille.
Und wie komme ich aus der nummer mit einem 1,4kOhm wieder raus? Geht das 
mit einem Widerstand überhaupt?

von Stefan B. (Gast)


Angehängte Dateien:

Lesenswert?

Vorsicht mit diesem Aufbau. Mir gefällt gar nicht, wie die Sicherung 
da an der Platinenecke sitzt. Ich vermute fast, du hast das offen auf 
dem Tisch liegen, oder? Ruckizucki bekommst du da eine gebraten! Mach 
schleunigst einen sehr guten Berührschutz darum inkl. den Trafo und die 
dessen Anschlusspins unter der Platine! Als Anfänger ist es 1000x 
sicher, wenn du erstmal mit einem Steckernetzteil oder einem 
Labornetzteil und Niederspannung arbeitest.

Das Detailbild von der Oberseite ist noch nicht ausreichend. Ich 
verstehen nicht das das rot eingekringelte ist .Man müsste auch die 
Unterseite mit den Verbindungen sehen.

von Stefan B. (Gast)


Lesenswert?

>> Ich habe da nicht 2x 0,7kOhm drin, sondern einen (!) mit 1,4kOhm (also
>> am Stück). Hatte damals das Poti in der Form noch nicht im Kopf.......

> Und wie komme ich aus der nummer mit einem 1,4kOhm wieder raus? Geht das
> mit einem Widerstand überhaupt?

Im Schaltplan ist doch genau ein 1,4KOhm Widerstand drin, das passt 
doch. Was willst du an dem Widerstand ändern?

Zum Poti schreibe ich was, wenn ich die Unterseite (Lötseite) gesehen 
habe.

Du kannst zusätzlich den obigen Schaltplan für einen Moment vergessen 
(nicht Spicken, wir merken das!) und durch genaues Betrachten deiner 
Schaltung einen neuen eigenen Schaltplan zeichnen. Zur Not mit Papier 
und Bleistift und dann Einscannen/Abfotografieren. Ja das solltest du 
mal tun.

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

Das, was du rot eingekreist hast, ist die Verbindung von AGND zu DGND.
Diese habe ich an der Oberseite gemacht und unten entsprechend verlötet.
Den Schaltplan habe ich mir unten auf der Platine aufgemalt (es ist eine 
Platine mit längst Leiterbahnen) und er entspricht genau dem oben 
gezeigten.
Habe das alles 1:1 übernommen (lediglich das poti fehlt).
Das mit den 1,4kOhm war eine Dummheit von mir, wie ich jetzt erkenne.
Hatte gedacht, der eine Potifuß würde zwischen 2 Widerstande greifen, 
die zusammen 1,4kOhm ergeben.

Fragt mich nicht wie ich drauf komme, Brett vorm Kopf.

Bilder vom Poti habe ich angehängt!

von Stefan B. (Gast)


Lesenswert?

Wenn alles wie im Schaltplan oben aussieht, hätte es nicht rauchen 
dürfen. Wie sieht die Unterseite (Lötseite) deiner Platine aus?

> (es ist eine Platine mit längst Leiterbahnen)

Vielleicht fehlt eine Auftrennung eines langen Leiterstreifens nach 
links?

Ich würde auch gerne sehen, wo der obere Draht des Widerstands und die 4 
Klemmen auf der Unterseite rauskommen. Das Foto der Oberseite ist für 
mich nicht eindeutig, was ist der helle Punkt oben?

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal ein Foto vond er Unterseite, das ich schon vor ein paar Tagen 
mal gemacht habe.
Der helle Punkt ist Zinn. Hatte keinen so langen Draht, weshalb ich 2 
Stücke verlötet habe.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Du hast die 230V durch nur 1/2mm breite Spalten vom Rest der Schaltung 
getrennt? Bist Du wahnsinnig? Scharf auf den Darwin Award?

Nimm erstmal einen 3mm Bohrer sowie ein scharfes Messer und trenne die 
Leiterbahnen so auf, dass die 230V-Seite mindestens 10mm vom 
Sekundärteil Abstand haben. Es darf dabei kein Kupfer dazwischen 
bleiben. Auch zwischen den 230V-Leiterbahnen soll mindestens 5mm Platz 
sein.

Dann kommt von unten eine nicht leitende Kunststoffplatte dran, die als 
Berührungsschutz diehnt. Der Sicherungshalter wird mit einer 
Kunststoffkappe geschützt.

von Karl H. (kbuchegg)


Lesenswert?

Zu deinem Problem
Den Widerstand musst du wieder rausnehmen. Du hast zwar jede Menge Platz 
auf deiner Platine, hast aber die Bauteile so ungeschickt angeordnet, 
dass (auf dem Photo) rechts vom Widerstand kein Platz mehr ist, um sich 
austoben zu können und die Verbindung vom oberen Ende des Widerstands zu 
GND auzutrennen.

Hilft nichts. Der Widerstand muss noch einmal raus. Es reicht wenn du 
den Widerstand im Prinzip im 180° rund um seinen oberen Anschluss 
drehts. Dadurch kommt das andere Ende auf eine noch jungfräuliche 
Leiterbahn. Auf dieselbe Bahn kommt ein Ende des Potis und vom anderen 
Ende des Potis musst du eine Verbindung schaffen, zu der Bahn an der der 
Widerstand zur Zeit (also vor der Modifikation) endete.
Vom 3-ten Potibein führt dann eine Verbindung zu AIN.

Und Christian hat recht!
Du musst den 230V Teil noch viel besser vom Rest der Schaltung 
abtrennen!. Eine einzelne Unterbrechung ist da viel zu wenig! Legst du 
die Schaltung auf den Tisch und ein Drahtrestchen liegt unter der 
Platine genau richtig, dann überbrückt dir das mit Leichtigkeit diesen 
Winzigspalt und du grillst deine Schaltung mit 230V (man muss ja nicht 
gleich vom schlimmsten ausgehen, nämlich dass er draufgreift. Es reicht 
schon, wenn unabsichtlich 230V in die restliche Schaltung kommen.
Was du auch tun kannst: Den Schaltungsteil mit den 230V zunächst mit 
Klebebandstreifen abkleben, solange du keinen Berührungsschutz hast.

von Steve (Gast)


Lesenswert?

Naja ihr seht das etwas zu eng glaube ich.
Die Abtrennungen werde ich natürlich auf eure Tipps hin vergrößern.
Getestet wird ie Schaltung aber auf einer großen Holzplatte (Werkbank), 
da liegt garnix rum und an der Unterseite fummmelt auch keiner rum, wenn 
da Strom drauf ist.
Hab auch noch keine gewischt bekommen ;-)

Gut, dann werde ich den Widerstand mal umdrehen und das poti einlöten.
Aber wohin müssen die einzelnen Anschlüsse genau, bzw. welche muss wo 
hin?
Es muss das einzelne Potibein auf Ain, oder?

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:
> Naja ihr seht das etwas zu eng glaube ich.
> Die Abtrennungen werde ich natürlich auf eure Tipps hin vergrößern.
> Getestet wird ie Schaltung aber auf einer großen Holzplatte (Werkbank),
> da liegt garnix rum

Warts ab.
Irgendwann passiert es dir, dass du ein Bauteil einlötest, die Beinchen 
abknippst, Platine umdrehen und Spannung drauf. Und dann schlägt Murphy 
zu und die Platine liegt genau so, dass das abgeknippste Beinchen auf 
dem Tisch liegenblieb und die Platine genau mit der ungünstigsten 
Leiterbahn auf dem Beinchen liegt. Alles schon dagewesen.

> Es muss das einzelne Potibein auf Ain, oder?

Genau.
Hast du kein Ohmmmeter (Multimeter)?

Auf deinem Bild 5357 sind die beiden Anschluesse links die durchgenede 
Widerstandsbahn und der Anschluss rechts greift davon einen Teil ab.

von Stefan B. (Gast)


Lesenswert?

> Es muss das einzelne Potibein auf Ain, oder?

In dem Bild oben ist der Hersteller PIHER erkennbar. Der hat 
Datenblätter z.B. von PT15 15mm Carbon Potentiometer (es gibt auch 
entsprechende 6 und 10mm Ausführungen)

http://www.piher-nacesa.com/pdf/14-PT15v03.pdf

Du hast die Ausführung "HORIZONTAL MOUNT - VERTICAL ADJUST". Da ist der 
Schleifer (engl. wiper) das "einzelne" Beinchen.

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

Karl Heinz meintest du das so (siehe Bild oben)?
Schwarz und weiß dann an die Enden und rot geht (unten) an Ain.

von Karl H. (kbuchegg)


Lesenswert?

Sieht von hier aus richtig aus.

von Steve (Gast)


Lesenswert?

Gut dann löt ich das Poti mal dran.
Die Leiterbahntrennungen habe ich auch vergrößert.

von Steve (Gast)


Lesenswert?

So, abgeraucht ist nix.
Allerdings ändert sich nicht wirklich was, wenn ich am Poti drehe.
Was genau sollte sich da ändern? Ich messe nix raus, hab bei jeder 
Potistellung überall 11,94V.

von Karl H. (kbuchegg)


Lesenswert?

Wie gross ist dein Poti?
(Welchen Wert hat es?)

Ansonsten: Du hast einen Fehler gemacht.

Das kann doch nicht so schwer sein, die 3 Linien aus dem Schaltplan mit 
den tatsächlichen Kabeln in Übereinstimmung zu bringen.

von Karl H. (kbuchegg)


Angehängte Dateien:

Lesenswert?

So ist die Entsprechung der Poti-Anschlüsse mit dem Schaltbild

Häng doch mal dein Ohmmeter an den Abgriff (der Anschluss mit dem Pfeil) 
und einem der beiden Endpunkte (wenn das Poti ausgebaut ist). Wenn du am 
Poti drehst, ändert sich der Widerstandswert.
Wenn du das Ohmmeter an die beiden Endpunkte hängst, hat das Poti einen 
konstanten Wert, nämlich den der auch auf dem Poti aufgedruckt ist.

Die einstellbare Spannung wird am Schleifer, also an dem Anschluss im 
Schaltbild mit dem Pfeil, abgenommen. Nicht an einem der beiden 
Endpunkte!

von Steve (Gast)


Lesenswert?

Habe es mittlerweile selber hinbekommen.
Hatte den Widerstand falsch drin,d a ich durch die spiegelverkehrte 
Anordnung (bzgl. oben und unten) den Widerstand falsch drin hatte.

Danke trotzdem für die Hilfe.

Kann jetzt zwischen Ain und DGNG bzw. AGND von 0 - 5,1V regegln :-)

Morgen häng ich das dann mal an die Steuerung. Mal sehen welche Probleme 
da auftreten.

von Stefan B. (Gast)


Lesenswert?

100x schreiben: Ich drücke micht nie mehr vorm Schlatplanzeichen ;)

von gerd (Gast)


Lesenswert?

Hallo.

Spannend das so alles nachzuvollziehen. Ich lerne daraus:

- In jedes Quellcode-File gehören noch mehr Erläuterungen als ich eh 
schon reinschreibe (zu den Fuses, etc.).

- Das Netzteil ist nicht einfach ein Netzteil, sondern meine ganze 
Einstellsteuerung für den Motor. Die Titulierung als "Netzteil" löst 
offenbar schon Verwirrung aus.

- Das Zehngang-Poti ist da drin, um vom Wohnzimmer aus den Motor auf der 
Terrasse anzusteuern. Braucht man nicht, wenn man eine Spannung messen 
will. Sollte im Schaltplan oder im Text dann auch so stehen.

- Der 1k4 ist da drin, um teilermäßig am 10-Gang-Poti 5 V anliegen zu 
haben. Habe ich leider nirgendwo beschrieben. Hätte einen Hinweis wert 
sein können.

- Die Bezeichnungen AGND und DGND an der Klemme sind eigentlich gaga, 
weil ich diese Trennung bei der Gesamtschaltung nicht durchgehalten 
habe. In der Praxis trat (und tritt noch immer) bei ca. 15 m langem 
abgeschirmtem Stereo-Kabel zwischen Wohnzimmer und Antenne der Fall auf, 
dass beim Abschalten der Motormagnete ein Spannungssprung an der 
Analog-Steuerspannung auftritt und die ganze Mimik aus dem Schlaf reißt 
und die Versorgung wieder anspringt. Man soll analoge Messleitungen mit 
mV-Auflösung niemals mit Versorgungsleitungen vermümmeln. Funktioniert 
nie und nimmer.

mfg
gerd

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

So, hab jetzt mal die Steuerung angeschlossen.
Vorab, es tut sich nichts.

Ich habe am Poti mal die Spannung auf ~2V eingestellt und dann gemessen. 
Dabei messe ich zwischen VCC und GND beim Attiny13 ~3,5V.

Zwischen GND und CD am ULN2003 messe ich irgendwas um die 2,2V.
An den Anschlüssen des Motors selbst messe ich garkeine Spannungen.

Der oberste Anschluss beim Motor dort ist übrigens "tot", also da ist 
nichts angelötet o.ä. weil ich ja nur 5 brauche.
habe die Mittelanzapfung ganz oben (bzw. am ersten belegeten) 
angeschlossen und dann nach der Reihe die Spulen dran.

Die Unterseite sieht ein wenig wild aus,da ich mir da mit Edding diverse 
Leitungen angezeichnet habe. Kann ich gerne mal entfernen und dann 
nochmal ein Foto machen.

Vielleicht wisst ihr ja irgendwelche Stellen, wo ich testweise mal 
nachmessen könnte und man daraus vll. den (oder die) Fehler findet.

Gruß
Steve

Achja für alle die erst jetzt mitlesen oder nicht den ganzen Thread 
durchlesen wollen, hier ist der entsprechende Schaltplan: 
http://www.avr-asm-tutorial.net/avr_de/stepper/stepper_v1.pdf

von Stefan B. (Gast)


Lesenswert?

> Ich habe am Poti mal die Spannung auf ~2V eingestellt und dann gemessen.
> Dabei messe ich zwischen VCC und GND beim Attiny13 ~3,5V.

Übel.

In der Schaltung
http://www.avr-asm-tutorial.net/avr_de/stepper/stepper.html
ist ein Spannungsregler 78L05 drin. Die Spannung sollte also ziemlich 
exakt 5V sein.

Da sie in deinem Aufbau weniger beträgt, deutet das auf eine zu hohe 
Stromentnahme an anderer Stelle hin.

Es kann auf Dauer sehr ungesund für Bauteile ein und teuer für dich, 
wenn du immer die komplette Schaltung auf einmal testest. Du solltest in 
kleineren Schritten vorgehen und Zwischenergebnisse testen.

Beispiele für Zwischentests

1. ICs (Attiny13 ULN2003) sockeln und Versorgungsspannungen ohne 
eingesetzte ICs an den Fassungen prüfen.

2. Externe Bauteile (Motor) erst anschliessen, wenn 1 und dann 2 
funktionieren

Das kann man sicher noch feiner runterbrechen und erwartete Spannungen 
an verschiedenen Testpunkten angeben.

von Steve (Gast)


Lesenswert?

Ja das dachte ich auch.
Eigentlich müsste an beiden ICs ja 5V Versorgungsspannung anliegen.
Ich hab die schaltung aber echt schon durchgeschaut und auch 
nachgezeichnet, finde den Fehler irgendwie nicht.
Muss ich dann nochmal durchmessen, aber irgendwie.......

von HdA (Gast)


Lesenswert?

Hallo Steve,

kann es sein daß dein Spannungsregler verkehrt herum eingesetzt ist?
Wenn die flache seite zu dir schaut ist rechts der Ausgang, dann kommt 
Masse und links der Eingang.
Auch das mit der Masse-Führung am Tantal bzw. Spannungsregler habe ich 
noch nicht ganz durchschaut.

Gruß Held der Arbeit

von HdA (Gast)


Lesenswert?

Sorry,

Links Ausgang, Masse Rechts Eingang

von Tom T. (teddybaer)


Angehängte Dateien:

Lesenswert?

Hallo HdA,

also wie jetzt?
Flacheseite nach vorne, auf die Lötseite(Füße) geschaut,
von Links nach Rechts EMA (Eing., Masse, Ausg.)
oder
auf die Flacheseite geschaut, Füße nachtunten
von Links nach Rechts AME (Ausgang, Masse, Eingang)

von Steve (Gast)


Lesenswert?

Ihr habt recht.
5 mal angeschaut und dann falsch eingelötet(laut dem Bild).
Peinlich.
Erst mal 1000 Dank, werde das natürlich umgehend korrigieren und dann 
mal ohne ICs schauen, welche Spannung ankommt.

von g457 (Gast)


Lesenswert?

Steve schrieb:
> [Pinout] (laut dem Bild)

Die beste (, meist ein-eindeutige und i.d.R. zuverlässigste) Quelle für 
Pinouts ist das Datenblatt des Herstellers. Ich hab Dir mal zwei 
"generische" von National rausgesucht, für den 78L05 [1] und für den 
7812 [1]. Falls Du es ganz genau wissen wollen solltest, dann musst Du 
wirklich die Datenblätter Herstellers bemühen, sonst passen (meistens 
:-) auch 'fremde'. ..und lass den magischen Rauch nicht wieder 
entweichen ;-)

HTH und HF

[1] 
http://www.datasheetarchive.com/pdf-datasheets/Datasheets-22/DSA-423084.pdf
[2] 
http://www.datasheetarchive.com/pdf-datasheets/Datasheets-22/DSA-423083.pdf

von Steve (Gast)


Lesenswert?

Danke dir.
Der 78L05 sollte davon aber nicht kaputt gegangen sein, oder doch?
Ansonsten würde ich ihn halt einfach anders rum einlöten.
hab aber notfalls noch einen neuen hier (so heikle Teile habe ich in 
doppelter Ausführung geordert ;-) )

Außer dem Poti ist ja noch nichts abgeraucht, hält sich also (noch) in 
Grenzen ;-)

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:
> Danke dir.
> Der 78L05 sollte davon aber nicht kaputt gegangen sein, oder doch?

Prinzipiell kann dir das keiner sagen.
Er kann es überlebt haben, er kann kaputt gegangen sein.


Das schlimmste was du aber tun kannst ist:
Ihn auslöten, rumdrehen und erneut einlöten.

Wenn er nämlich kaputtgegangen ist, und plötzlich die volle 
Eingangsspannung durchschaltet, dann ist danach nicht nur der 7805 
kaputt, sondern alle anderen IC ebenfalls in deiner Schaltung.

Daher testet man solche Komponenten erst mal extern. Ist ja auch kein 
Problem: Mit einem Kabel (ich hab davor welche mit Krokoklemmen) von den 
12V auf den Eingang vom 7805 (natürlich auch GND verbinden) und mit dem 
Multimeter nachsehen ob am Ausgang 5V rauskommen. Ev. noch einen 
Widerstand an den Ausgang klemmen (als Belastung) und 10 Minuten laufen 
lassen und nachsehen ob er übermässig warm wird.

Kommen die 5V dann kann der 7805 wieder in die Schaltung.


Und ja:
Wenn du auf Streifenraster aufbaust, ist es empfehlenswert die Schaltung 
in Teilen aufzubauen und auch in Teilen in Betrieb zu nehmen. Da kommt 
es schon mal vor, dass man sich in den Pins, in den Verbindungen oder 
Orientierung der Bauteile verhaut. Darum: Alles, aber auch wirklich 
alles 3-mal kontrollieren.

> Außer dem Poti ist ja noch nichts abgeraucht, hält sich also (noch) in
> Grenzen ;-)

Wobei mir das sowieso ein Rätsel ist, wie man ein Poti zum abrauchen 
bringt :-) Gerade das hätte dir eigentlich nicht abrauchen sollen!

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Karl heinz Buchegger schrieb:
>> Außer dem Poti ist ja noch nichts abgeraucht, hält sich also (noch) in
>> Grenzen ;-)
>
> Wobei mir das sowieso ein Rätsel ist, wie man ein Poti zum abrauchen
> bringt :-) Gerade das hätte dir eigentlich nicht abrauchen sollen!

Naja, wenn der Schleifer an +5V und ein anderer Anschluss an GND gelegt 
wird, dann schon. Damit kannst Du dann die Rauchintensität stufenlos 
regeln.

von Karl H. (kbuchegg)


Lesenswert?

Christian H. schrieb:
> Karl heinz Buchegger schrieb:
>>> Außer dem Poti ist ja noch nichts abgeraucht, hält sich also (noch) in
>>> Grenzen ;-)
>>
>> Wobei mir das sowieso ein Rätsel ist, wie man ein Poti zum abrauchen
>> bringt :-) Gerade das hätte dir eigentlich nicht abrauchen sollen!
>
> Naja, wenn der Schleifer an +5V und ein anderer Anschluss an GND gelegt
> wird, dann schon. Damit kannst Du dann die Rauchintensität stufenlos
> regeln.

Auch wieder wahr. Ich vergass: Er hatte ja Probleme mit der 
Identifizierung der Pins eines Potis.

Den finde ich auch zum Schmunzeln
> hab aber notfalls noch einen neuen hier (so heikle Teile habe
> ich in doppelter Ausführung geordert ;-) )

Ein 7805 und heikel :-)

von Steve (Gast)


Lesenswert?

Das freut mich aber, dass ich den karl Heinz ein wenig amüsieren 
kann.....

Aber mal wieder zurück zu meiner Schaltung.
habe heute 1h mit dem Durchgangsprüfer verbracht und mir scheint das 
alles korrekt zu sein.
Das Problem liegt irgendwo in/um den Spannungsregler.
Zwischen DGND (Eingangsseite der Schaltung) und dem In des 78L05 messe 
ich so 11,9V.
Zwischen DGND und dem OUT aber noch 10,X V
Zwischen GND vom 78L05 und seinem In und Out messe ich rein garnichts.

Ach noch was ist mir aufgefallen.
Auf der 1. Platine (also die mit dem Poti) verändert sich die Spannung 
zwischen Ain und +12 je anch Potistellung so von 7-12V, also von den 12V 
wird die Spannung, die ich mit dem Poti generiere, abgezogen.
Genau diese Spannung messe ich je nach potistellung in etwa auch am 
Attiny13.

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:
> Das freut mich aber, dass ich den karl Heinz ein wenig amüsieren
> kann.....
>
> Aber mal wieder zurück zu meiner Schaltung.
> habe heute 1h mit dem Durchgangsprüfer verbracht und mir scheint das
> alles korrekt zu sein.
> Das Problem liegt irgendwo in/um den Spannungsregler.
> Zwischen DGND (Eingangsseite der Schaltung) und dem In des 78L05 messe
> ich so 11,9V.

?
Du hast die Schaltung wie im Schaltbild aufgebaut.
Das kann nicht sein.
AUs deinem Netzteil kommen 12V raus.
Diese 12V müssen sich noch durch 2 Dioden quälen, ehe sie am 7805 
ankommen. Jede Diode nimmt so ca. 0.7V weg. D.h. alleine die beiden 
Dioden sorgen dafür, dass am In vom 7805 nur noch 12-1.4 = 10.6V 
ankommen.

> Zwischen DGND und dem OUT aber noch 10,X V

Autsch!

> Zwischen GND vom 78L05 und seinem In und Out messe ich rein garnichts.

Nochmal Autsch!

Oben hast du noch gesagt, zwischen DGND und In vom 7805 seien 11.9V
Und jetzt auf einmal nichts mehr?

Da
DGND = AGND = GND
kann da irgendwas nicht stimmen.

> zwischen Ain und +12 je anch Potistellung so von 7-12V, also von den 12V
> wird die Spannung, die ich mit dem Poti generiere, abgezogen.

Du hast den fixen Widerstand auf der falschen Seite vom Poti

Du sollst haben


     12V  ---------+
                   |
                  ---
                  | |
                  | | 1k4
                  | |
                  ---
                   |
                   |
                  ---
                  | |
                 <------------o Ain
                  | |
                  ---
                   |
                   |
     Masse --------+---------- GND


Du hast aber

     12V  ---------+
                   |
                  ---
                  | |
                 <------------o Ain
                  | |
                  ---
                   |
                   |
                  ---
                  | |
                  | | 1k4
                  | |
                  ---
                   |
     Masse --------+---------- GND

Mehr Sorgfalt!

> Genau diese Spannung messe ich je nach potistellung in etwa auch am
> Attiny13.

Wenn du Pech hast, hast du den armen Tiny damit schon gegrillt.

von Karl H. (kbuchegg)


Lesenswert?

Wenn ich mir deine Lötseite so ansehe, dann keimt da in mir ein 
Verdacht:

Bei dir sind doch alle GND-Anschlüsse (die, die im Schaltplan ein 
T-Stück aufweisen) in der Luft!

Alle Massen sind miteinander verbunden und wiederrum mit DGND bzw. AGND 
verbunden! Wenn im SChaltplan das Symbol so aussieht

                   +---------+
    ---------------|         |--------------
                   |         |
                   +---------+
                       |
                       |
                      ---

(es geht um den unteren Anschluss, der wie ein umgedrehtes T aussieht), 
dann heißt das nicht, dass du diesen Pin nicht beschalten musst! Das ist 
ein Masseanschluss und alle Masseanschlüsse sind implizit miteinander 
verbunden.

Die - Anschlüsse der beiden großen Elos hängen in der Luft, der GND 
Anschluss vom 7805 hängt in der Luft (was deine Messwerte erklären 
würde), etc. Mehr hab ich nicht mehr kontrolliert, aber wahrscheinlich 
hängen alle GND Anschlüsse quer durch die Platine in der Luft.

Jetzt kann es noch sein, dass du Glück im Unglück hast, und dein Tiny 
mangels Massebezug die Tortur mit 12V am Eingang überlebt hat.

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

hab mich die tage bisschen reingestresst und jetzt schaut es sehr gut 
aus.
Hab am Tiny meine 5,0 V und zwischen CD und GND vom ULn2003 (also am 
Sockel) hab ich 11,3V.
Denke das ist korrekt.
Hab gerade munter die beiden ICs reingesteckt und den Motor 
angeschlossen.
Wenn das Poti ganz zugedreht ist, passiert nichts, genau wie es sein 
soll.
Drehe ich das Poti auf, läuft der Motor aber (leider) nicht, sondern er 
ruckelt ziemlich stark.
Ich habe dann sofort am Poti wieder zugedreht, damit mir nichts 
abraucht. dann hört es direkt wieder auf.
Wie ich den Motor angeschlossen habe könnt ihr oben sehen. Schwarz habe 
ich als Mittelabgriff herausgemessen und die braunen sind die 4 
Wicklungen. Habe sie der Reihenfolge anch, wie sie aus dem Motor kommen 
(vons chwarz ausgehend) angeschlossen.

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:

> Drehe ich das Poti auf, läuft der Motor aber (leider) nicht, sondern er
> ruckelt ziemlich stark.
> Ich habe dann sofort am Poti wieder zugedreht, damit mir nichts
> abraucht. dann hört es direkt wieder auf.
> Wie ich den Motor angeschlossen habe könnt ihr oben sehen. Schwarz habe
> ich als Mittelabgriff herausgemessen und die braunen sind die 4
> Wicklungen. Habe sie der Reihenfolge anch, wie sie aus dem Motor kommen
> (vons chwarz ausgehend) angeschlossen.

Ich denke mal die Reihenfolge der Wicklungen ist bei deinem Motor 
anders.

von Steve (Gast)


Lesenswert?

Ja, denke ich auch.
Hab schon etwas rumprobiert.
Muss ich wohl mal alle Möglichkeiten durchspielen um sicher zu gehen.

von Steve (Gast)


Lesenswert?

Hm, hab jetzt so ziemlich alles Möglichkeiten durch- immer das gleiche 
Spiel.
Rausmessen kann man das ja nicht.
Hm, hat jemand einen Tip wie ich am geschicktesten vorgehe?
Ach ja, wenn ich zwischen dem Anschluss der Mittelabzapfung und den 
jeweiligen Spulenanschlüsse messe habe ich (bei geschlossnem Poti) stets 
5V.

von Karl H. (kbuchegg)


Lesenswert?

Da wirst du wohl systematisch die Reihenfolge der Wicklungen rausfinden 
müssen.
Schwarz hast du als gemeinsamen Mittelpunkt identifiziert. Den schliesst 
du mal an Masse an.
Dann nimmst du einen braunen Leiter und markierst ihn als 1
Mit dem gehst du direkt an die 12V.
Der Schrittmotor wird sich jetzt in eine bestimmte Lage drehen.
Dann nimmst du den braunen Draht(1) wieder weg.
Du suchst jetzt den braunen Draht, bei dem sich der SChrittmotor aus 
dieser (1) Lage am wenigsten weiter dreht. Aufpassen: es gibt natürlich 
2 braune Drähte, je nach Drehrichtung. Aus der (1) Lage, wirst du also 1 
braunen Draht finden, bei dem der Motor einen relativ großen Schritt 
macht und 2 mit einem kleineren Schritt. Wähle einen der beiden als den 
kleineren Schritt aus und markiere ihn als (2). Nach jedem Versuch mit 
einem braunen Draht nicht vergessen, mittels (1)-Draht den Motor wieder 
in die Urspungslage zurückversetzen.
Der braune Draht mit dem größeren Schritt aus der (1) Lage ist dann dein 
(3) Draht und dann bleibt der letzte braune Draht noch als (4) übrig.

Dein Ziel ist es die braunen Drähte in die Reihenfolge zu bringen, so 
dass du nacheinander jeweils 1 davon mit 12V verbindest und dabei der 
Schrittmotor jeweils einen kleinen Schritt in immer dieselbe Richtung 
macht. Wenn du die Reihenfolge hast (Drähte markieren, damit man sie 
nicht verwechselt), dann hast du auch die Reihenfolge, in der sie als Q1 
bis Q4 an die Schaltung müssen.

von Steve (Gast)


Lesenswert?

Also das ist genau gegeben, wenn ich sie der Reihenfolge nach nehme, wie 
ich sie auch angeschlossen habe.
Wenn ich sie nach der Reihe durchspiele, genau wie Karl heinz sagt, 
fährt der Motor Schrittchen für Schrittchen in eine Richtung. habe ich 
die 4 durch und gehe von hinten her wieder durch, fährt er wieder an die 
Ausgangsposition zurück.
Dann ist der Fehler wohl eher beim Tiny oder dessen Programmierung zu 
suchen :-(

von Gastofatz (Gast)


Lesenswert?

Läuft ja wie geölt, Dein Projekt... ;-)

Wie ich schon mal erwähnte, gibts in dem Programm ein paar Parameter, 
die Du an Deinen Motor anpassen musst. Entsprechender Abschnitt im 
Quellcode:

>; Konstanten
>
>.equ cSmSteps = 1276 ; 2552/2, Anzahl Schritte pro Umdrehung
>.equ cSmFreq = 145   ; Frequenz Schrittmotorgeschwindigkeit
>                     ; Minimum: 5 Hz, Maximum: 1171 Hz
>.equ cSmDelay = 390  ; Anzahl Takte vor Abschalten der Magnete

Ich würde erstmal a) cmFreq auf den kleinstmöglichen Wert setzen und 
mich b) um cSmSteps kümmern. Wenn ich mich richtig erinnere, ging der 
Motor des Autors auf ein Getriebe, dessen Übersetzungsverhältnis in 
cSmSteps berücksichtigt ist. Ein solches Getriebe hast Du ja nicht. 
Würde mal mit einem drastisch runtergesetzten Wert experimentieren (50? 
100?).

Hast Du vier LEDs und vier Widerstände 1 k? Dann könntest Du sie 
testweise anstelle der Motorwicklungen an die Ausgänge des ULN hängen 
(je 1 LED + 1 Widerstand in Reihe). Die LEDs sollten dann zu flimmern 
anfangen, wenn Du am Poti drehst, und nach Erreichen der Endstellung 
wieder aufhören.

von Steve (Gast)


Lesenswert?

Naja, ich gebe aber nicht nach.
Das habe ich mir in den kopf gesetzt und das ziehe ich auch durch.
Auch wenn es Neuland ist, das wir dzu Ende gebracht.

Habe vorhin nochmal einen Tiny13 genau wie Gerd programmiert um dort 
einen defekt auszuschließen.
Werde mal mit den Werten "spielen".
Muss man den (schon beschriebenen) Attiny13 vor Neuprogrammierung 
irgendwie löschen, oder ändere ich einfach den Quellcode, mach dann 
"biuld an run" und dann wieder "program"?

Wird ja irgendwie hinzubekommen sein diese Steuerung......

von Gastofatz (Gast)


Lesenswert?

Eyyy, war doch nur n Scherz. Hast Du den Augenzwinker-Smilie nicht 
gesehen? ;-)

>Werde mal mit den Werten "spielen".

Ja.

>Muss man den (schon beschriebenen) Attiny13 vor Neuprogrammierung
>irgendwie löschen, oder ändere ich einfach den Quellcode, mach dann
>"biuld an run" und dann wieder "program"?

Quellcode ändern --> "build and run" --> programmieren. Im 
Programmierdialog Häkchen bei "erase device before programming" und 
"verify device after programming" setzen. Dann ist die Sache sicher.

Du kannst den Controller auch im Zielsystem programmieren, wenn Du ihm 
dort einen 6-poligen ISP-Plug spendierst (Achtung: Je nach 
Stromversorgung muss der Vtarget-Jumper auf dem STK500 geöffnet werden). 
Exzessive Umsteckerei zwischen Zielsystem und STK500 ist unbequem und 
leiert auf Dauer die Sockel aus.

>Wird ja irgendwie hinzubekommen sein diese Steuerung......

Logo.

von Steve (Gast)


Lesenswert?

Ich habe jetzt etwas mit den Werten gespielt und eben mal Frequenz auf 
5Hz gemacht und nur 100 Steps.
Jetzt geschieht alles nur etwas langsamer bzw. mit größeren Schritten.
Also der Motor macht 3 Schritte nach rechts (oder so, ist schwer zu 
zählen) und hüpft dann zurück und dann gehts wieder von vorne los.
Der Spannungsrgler in der Stromsteuerung wird nach ein paar Versuchen 
schon merklich warm (~40°).
Leider habe ich hier keine 4 LEDs oder 1K Widerstände, sonst würde ich 
das geschwind mal testen.
Irgendwie schon merkwürdig. Aber gestern beim Test mit direkt 12V ging 
er eigentlich Step für Step weiter, der Motor scheint mir also korrekt 
angeschlossen (eigentlich).

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:
> Ich habe jetzt etwas mit den Werten gespielt und eben mal Frequenz auf
> 5Hz gemacht und nur 100 Steps.

Kannst du noch langsamer?
1 Hz

> Jetzt geschieht alles nur etwas langsamer bzw. mit größeren Schritten.
> Also der Motor macht 3 Schritte nach rechts (oder so, ist schwer zu
> zählen)

3 oder 4?


> Leider habe ich hier keine 4 LEDs oder 1K Widerstände, sonst würde ich
> das geschwind mal testen.

4 LED wären gut.
Man glaubt gar nicht, wie universell ein paar Lichter beim Testen sein 
können.

> Irgendwie schon merkwürdig. Aber gestern beim Test mit direkt 12V ging
> er eigentlich Step für Step weiter, der Motor scheint mir also korrekt
> angeschlossen (eigentlich).

Ausgangstreiber fehlerhaft? Irgendeine Verbindung die fehlt?
Mit LED würde man das schnell sehen.

von Karl H. (kbuchegg)


Lesenswert?

Nochmal die Projektseitet studiert und diese Tabelle entdeckt

<quote>
Daraus ergeben sich folgende Kodierungen:
1
Step Magnet      Portbit          Byte    Word 
2
     Q4 Q3 Q2 Q1 PB3 PB2 PB1 PB0 
3
1    1  1  0  0  0   1   0   1    0x05 0x0605 
4
2    0  1  1  0  0   1   1   0    0x06 
5
3    0  0  1  1  1   0   1   0    0x0A 0x090A 
6
4    1  0  0  1  1   0   0   1    0x09
</quote>

Hmm. Das wirft das Konzept, dass die Wicklungen in der ausgemessenen 
Reihenfolge angeschlossen werden müssen, über den Haufen.
Vertausche mal probehalber die beiden mittleren braunen Leitungen.

von Steve (Gast)


Lesenswert?

Noch langsamer geht nicht, da steht. "Minimum: 5 Hz, Maximum: 1171 Hz"

Bei 5Hz bin ich nun.

Ich hab nochmal etwas rumgemessen, nicht das es am Poti oder so liegt.
Also wenn ich das Poti zu hab messe ich zwischen GND und Ain auch 0V, 
wie es sein soll. Zwischen +12V und Ain messe ich 12V und zwischen 12V 
und GND messe ich 12V.
Drehe ich jetzt das Poti auf 2V auf messe ich zwischen GND und Ain 2V. 
Zwischen +12V und GND 12V und zwischen Ain und +12V messe ich dann 10V 
(12-2).
Drehe ich auf 5V auf sind es dann zwischen +12V und Ain 7V (12-5).
Mehr kann ich nicht aufdrehen, bei 5V ist dann Ende.

Zwischen  GND und VCC am Tiny Sockel messe ich 5V.
Zwischen GNd und rest ebenso.

Am ULN 2003 Sockel messe ich zwischen GNd und CD 11,3V.
Natürlich alles unabhängig von der Potistellung.

von Steve (Gast)


Lesenswert?

Nochmal gezählt.
Der Motor macht 2 nach rechts und hüpft dann mit 1 großen nach links 
zurück, dann wieder 2 nach rechts und wieder 1 großen nach links.
Die mittleren Anschlüsse habe ich vertauscht - ändert nichts.

von Gastofatz (Gast)


Lesenswert?

>Leider habe ich hier keine 4 LEDs oder 1K Widerstände, sonst würde ich
>das geschwind mal testen.

Dann teste es auf dem STK500. Das hat ja 8 LEDs.

(0) ATtiny13 aufs STK500 stecken.
(1) Verbinden: STK500-PB0/1/2/3 mit STK500-LED0/1/2/3
(2) Verbinden: Target-GND und STK500-GND.
(3) Verbinden: Target-Potiabgriff und STK500-PB4.
(4) Target (mit leerem ATtiny13-Sockel) und STK500 einschalten.
(5) Am Rad drehen (vom Poti...).

Durch (2, 3, 4) ist gewährleistet, dass der Controller auf PB4 seine 
Analogspannung bekommt.

(Generall Vorsicht bei Benutzung von diesen Schnellverbindern mit 
Krokodilklemmen: Keine Kurzschlüsse damit produzieren!)

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:
> Nochmal gezählt.
> Der Motor macht 2 nach rechts und hüpft dann mit 1 großen nach links
> zurück, dann wieder 2 nach rechts und wieder 1 großen nach links.
> Die mittleren Anschlüsse habe ich vertauscht - ändert nichts.

Die Tabelle smTab würde ich mal ändern zu einer 1:1 Entsprechung

<quote>
Step Magnet       Portbit          Byte    Word
     Q4 Q3 Q2 Q1  PB3 PB2 PB1 PB0
1    1  1  0  0   1   1   0   0    0x0C
2    0  1  1  0   0   1   1   0    0x06
3    0  0  1  1   0   0   1   1    0x03
4    1  0  0  1   1   0   0   1    0x09
</quote>

Also:  0x0C06  0x0309

Da wurde im Original an eine vorhandene Pinbelegung des Motorsteckers 
hingearbeitet.

Und dann LED an die Anschlüsse:
Es müssen immer 2 nebeneinander liegende LED aufleuchten, wobei sich das 
Muster der nebeneinander aufleuchtenden LED bei jedem Takt (schade dass 
du nicht unter 5Hz kommst, aber das lässt sich jetzt nicht so einfach 
ändern) um 1 Stelle verschiebt. Alles in allem ist das dann ein schönes 
Lauflicht aus 2 LED, das immer rundum läuft.

Ist das 'Lauflicht' da, sollte es auch keine Probleme mehr mit dem Motor 
geben, wenn die Kabel in der ausgemessenen Reihenfolge angeschlossen 
werden.

Die Zwischenstufe über die LED
 * visualisiert die richtige Reihenfolge
 * visualisiert ob alle Ausgangstreiber arbeiten

daher würde ich die nicht auslassen.
(Wie kann man nur Elektronik-basteln ohne ein paar LED vorrätig zu 
haben?)

von Steve (Gast)


Lesenswert?

Ja, da habt ihr schon recht ich werde mal suchen bzw. sowas geschwind 
besorgen und das dann testen.
Daran soll/wird es nicht scheitern!
Kann es irgendwie sein,d ass der ULN2003 einen weg hat?
Tinys habe ich ja schon durchgetauscht, aber der 2003 ist immer noch der 
1.

von Steve (Gast)


Lesenswert?

Sooo, habe das ganze jetzt mit Dioden und dem auf "Durchlauf" 
programmierten Tiny13 getestet.
Ich denke ich habe den grundsätzlichen Fehler jetzt gefunden (die 
Ursache aber nich nicht).
Und zwar leuchtet zuerst die Diode bei Q4, die bei Q3 nicht, dann die 
bei Q2 und dann die Q1 und dann wieder bei Q4 etc.
Bis der Motor stoppen sollte, drehe ich die Spannung wieder zurück vom 
Poti, genau das gleiche.
Funktioniert wunderbar, nur die Diode bei Q3 bleibt dunkel.
Habe auch die Diode gewechselt aber es liegt defintiv am Anschluss an 
sich.
das erklärt auch genau das Verhalten des Motors er fährt 2 Steps und 
springt dann mit 1 zurück, weil eben genau Q3 nicht geht.
(beziehe mich bei den Angaben auf diesen Plan: 
http://www.avr-asm-tutorial.net/avr_de/stepper/stepper_v1.pdf ).
Habt ihr eine Idee, woran das liegen könnte?
ist wohl eher ein Problem der Platine, als eines der Programmierung, 
oder?

von spess53 (Gast)


Lesenswert?

Hi

Hast du auch beachtet, das die Leds auf dem Board invertiert sind?

MfG Spess

von Steve (Gast)


Lesenswert?

Ich habe die Leds direkt an die Anschlüsse des Motors auf der Platine 
gesteckt.
Ohne STK 500. Hab mir LEDs gekauft und 1K Widerstäne besorgt auf die 
Schnelle und sie dann auf jeweils J2 (Masse) und entsprechend Q1, Q2, Q3 
und Q4 gesteckt.
Genau da, wo auch der Motor angeklemmt wird.

von Gastofatz (Gast)


Lesenswert?

>Funktioniert wunderbar, nur die Diode bei Q3 bleibt dunkel.

Dann stellt sich natürlich sofort die Frage, ob sie auch an demjenigen 
Portpin vom Controller, der Q3 steuert, dunkel bleibt.

von Steve (Gast)


Lesenswert?

D.h. ich soll mal auf GND in der Schaltung und PB1 vom Tiny13 gehen?

von Gastofatz (Gast)


Lesenswert?

Genau. Am besten Du testest alle vier Ausgangspins vom ATtiny13 durch. 
Wie beim Motor. GND ist immer der unveränderliche Bezugspunkt.

Die LEDs werden etwas schwächer leuchten als beim Motortest, weil der 
AVR ja nur mit 5 V läuft. Ist also kein Fehler dann.

von Steve (Gast)


Lesenswert?

Hm, soll ich den 1K Widerstand dazu rauswerfen, damits hell genug wird, 
oder mit ihm dran gehen?

von Karl H. (kbuchegg)


Lesenswert?

Und wenn die LED an den Kontrollerpins leuchten, dann ist dein nächster 
Punkt die jeweilige Eingangsleitung vom ULN.

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:
> Hm, soll ich den 1K Widerstand dazu rauswerfen, damits hell genug wird,
> oder mit ihm dran gehen?

Lass ihn drinnen.
Aufleuchten ist aufleuchten. Es geht ja nicht darum, ob die LED hell 
leuchtet oder nicht, sondern darum ob sie überhaupt aufleuchtet. Das ist 
das gute an Digitaltechnik. Es gibt nur 0 oder 1, leuchten oder nicht 
leuchten.

von Gastofatz (Gast)


Lesenswert?

>Hm, soll ich den 1K Widerstand dazu rauswerfen, damits hell genug wird,
>oder mit ihm dran gehen?

Neiiiiiinnnnnnn! Hab ich das gesagt?

>>> LEDs nie ohne Vorwiderstand betreiben! <<<

Du wirst das Leuchten problemlos erkennen (ist höchstens en bisschen 
funzelig). Mehr brauchst Du nicht.

von Steve (Gast)


Lesenswert?

So gesetestet.
hab mich oben übrigens vertan, Q2 ist die nicht leuchtende "Wicklung"
und entsprechend habe ich auch an PB2 beim Tiny nix.
Alle anderen gehen, aber an PB2 tote Hose.
Liegt also nicht an der Leitung rüber sondern irgendwie kommt da nix.

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:
> So gesetestet.
> hab mich oben übrigens vertan, Q2 ist die nicht leuchtende "Wicklung"
> und entsprechend habe ich auch an PB2 beim Tiny nix.
> Alle anderen gehen, aber an PB2 tote Hose.

OK. Dann müssen wir dem nachgehen.
Poste mal das Programm, so wie es jetzt ist.

von Karl H. (kbuchegg)


Lesenswert?

Ach eines noch.

Wo hast du die LED drann gehalten?
Direkt am IC, am Sockel, an die Lötstelle?

Und nur zur Sicherheit: Der ISP Programmer ist abgezogen?

von Karl H. (kbuchegg)


Lesenswert?

Du kannst auch mal dieses Programm in den Tiny brennen
1
.include "tn13def.inc"
2
3
    ldi r16, 0x0F
4
    out DDRB, r16
5
    out PORTB, r16
6
main:
7
    rjmp main

das Programm macht nichts anderes, als alle 4 Pins auf 1 zu setzen.
Dann kann man mit der LED besser nachsehen, ob da was kommt oder nicht

von Gastofatz (Gast)


Lesenswert?

>Poste mal das Programm, so wie es jetzt ist.

Hm, wärs nicht sinnvoller, erst einen Test auf Kurzschluss der 
PB2-Leitung zu machen? Controller rausnehmen, I5 vom ULN mit VCC 
verbinden und schauen, ob die Betriebsspannung zusammenbricht?

von Karl H. (kbuchegg)


Lesenswert?

Gastofatz schrieb:
>>Poste mal das Programm, so wie es jetzt ist.
>
> Hm, wärs nicht sinnvoller, erst einen Test auf Kurzschluss der
> PB2-Leitung zu machen? Controller rausnehmen, I5 vom ULN mit VCC
> verbinden und schauen, ob die Betriebsspannung zusammenbricht?

Könnte man machen.
Allerdings hat der Tiny anscheinend ja (abgesehen von Q2) sauber 
durchgezählt. Wenn es einen Reset gäbe, hätte er immer wieder von vorne 
angefangen.
Von daher glaub ich nicht so recht an einen Kurzschluss des 
Ausgangspins. Aber möglich ist natürlich alles :-)

Auf der anderen Seite: sinnvoll ist es natürlich um nachzuweisen, ob der 
'Kanal' vom ULN tatsächlich funktioniert.

von Steve (Gast)


Lesenswert?

Also ich habe direkt oben am Sockel drangehalten.
Alles am 16 Pol Sockel wod er Tiny drin steckt.
1 Ende eben an GND und mit dem anderen durchgegangen auf der anderen 
Seite.
Überall geht es, nur am Pb2 nicht.
Hm, eigentlich hatte ich das Problem,d ass der Schrittmotor nicht lief 
(denke es hängt 1:1 mit dem Problem mit der LED zusammen) mit allen 3 
Tinys.

Auf dem 1. habe ich genau das hier drauf: 
http://www.avr-asm-tutorial.net/avr_de/quellen/schrittmotor_v1.asm

Einfach alles markiert und reinkopiert.

Beim 2. habe ich die konstanten geändert, eben auf 5Hz und 100 Steps.

Beim 3. (den hatte ich jetzt auch beim testen drin)habe ich wie von Karl 
heinz vorgeschlagen unter der Tabelle "0x0C06  0x0309" reinkopiert, 
anstatt "0x0605,0x090A".

Den LED Test habe ich aber nur mit letzterem gemacht, hm.
Reichen euch die Infos oder soll ich sonst noch was guggen?

von Gastofatz (Gast)


Lesenswert?

Zieh den ATtiny13 aus Sockel.

Danach check mit Deiner Test-LED den Anschluss PB2 vom leeren Sockel, 
und zwar einmal Pin gegen GND, und einmal Pin gegen VCC (5 V). Am 
bestens beides mit LED so rum und LED andersrum.

Wenn Du die LED irgendwie zum Leuchten bekommst, hast Du den Fehler 
gefunden.

von Steve (Gast)


Lesenswert?

Zwischen Pb2 und VCC leuchtet sie.
Zwischen Pb2 und GND nicht.

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:
> Zwischen Pb2 und VCC leuchtet sie.

Nimm mal den ULN aus dem Sockel und wiederhole den Versuch.
Wenn du sie dann immer noch zum Leuchten bringst, hast du auf der 
Platine irgendwo eine Lötbrücke nach Masse. Auch wenns schwer 
vorstellbar ist, wenn man die Position von PB2 am IC bedenkt :-)

von Steve (Gast)


Lesenswert?

Ja, zwischen Pb2 und VCC leuchtet sie auch ohne ULN.
Hm, kann man schon irgendwie vermuten wo die Brücke ungefähr auf Masse 
geht, oder muss ich alles durchsuchen?
Wer ich mich morgen mal drauf stürzen!

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:
> Ja, zwischen Pb2 und VCC leuchtet sie auch ohne ULN.

Dann hat diese Leitung irgendwo einen Durchgang

> Hm, kann man schon irgendwie vermuten wo die Brücke ungefähr auf Masse
> geht, oder muss ich alles durchsuchen?

Du brauchst nur diese eine Leitung genau absuchen. Irgendwo auf dem Weg 
von PB2 zum ULN gibt es eine Verbindung, die nicht sein darf. Sind doch 
nur ein paar Zentimeter.

Edit: Die Abzweigleitung zum ISP Stecker nicht vergessen! Auch dort 
könnte die ungewollte Verbindung stecken.

von Steve (Gast)


Lesenswert?

Gut, ich melde mich morgen dann wieder, wenn ich den Fehler gefunden 
habe.
Denke das geht recht flott.

Nochmal ein dickes Danke für die zahlreichen Antworten!

von Karl H. (kbuchegg)


Lesenswert?

So kurz vor dem Ziel könnte ich nicht schlafen gehen :-)

von Gastofatz (Gast)


Lesenswert?

Mit gutem Licht findet man ruckzuck was man sucht. Ne ordentliche, immer 
griffbereit liegende Inspektionstaschenlampe ist bei solchen Basteleien 
deshalb genauso wichtig wie der kleine "Für 
alles"-Schlitz-Schraubendreher.

von Steve (Gast)


Lesenswert?

Naja, am Zeil bin ich noch nicht.

Habe den Masseschluss gefunden und beseitigt - jetzt leuchtet zwischen 
VCC und Pb2 nichts mehr und die 2 LEDs leuchtet hinten auch am 
Motoranschluss.

Also munter Motor dran und er ruckelt nur hin und her. Diesmal 1 rechts 
und wieder zurück, wieder 1 nach rechts und wieder zurück.

Dann habe ich wieder LEDs drangehängt und sauber Schritt für Schritt 
mitgeschrieben in welcher Reihenfolge sie leuchten (mit 2 Tinys getestet 
- bei beiden gleich).

Und zwar:

Schritt 1: Q1 und Q4 leuchten
Schritt 2: Q1 und Q2 leuchten
Schritt 3: Q2 und Q3 leuchten
Schritt 4: Q4 und Q3 leuchten

ab dann geht es wieder von vorne los.
Alle meine Angaben beziehen sich wieder auf den Schaltplan (bzgl. der 
"Q-Angaben" : 
http://www.avr-asm-tutorial.net/avr_de/stepper/stepper_v1.pdf )

Falls es noch unklar ist, kann ich es mal in den Plan zeichnen, also die 
4 Steps.

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:

> Und zwar:
>
> Schritt 1: Q1 und Q4 leuchten
> Schritt 2: Q1 und Q2 leuchten
> Schritt 3: Q2 und Q3 leuchten
> Schritt 4: Q4 und Q3 leuchten

Sieht gut aus.
Jetzt brauchst du nur noch die braunen Kabel in der richtigen 
Reihenfolge an die Klemmen anschliessen.
Die richtige Reihenfolge müsste die sein, bei der du mit jeweils einem 
Draht auf Vcc den Motor um jeweils einen kleinen Schritt weiterdrehen 
konntest.

von Steve (Gast)


Lesenswert?

Bist du dir sicher?
Aktuell leuchtet ja mal verbildlicht gesprochen bei

Schritt 1: die oberste und die unterste
Schritt 2: die 2. von oben und die unterste
Schritt 3: die zwei unteren
Schritt 4: die oberste und die 3. (von oben)

Der Schaltplan nummeriert da ja nicht von oben nach unten durch.

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:
> Bist du dir sicher?
> Aktuell leuchtet ja mal verbildlicht gesprochen bei

Du musst das ein bischen umsortieren :-)

Die Schritte sind

    Q4  und  Q1
    Q1  und  Q2
    Q2  und  Q3
    Q3  und  Q4

jeweils 2 nebeneinanderliegende, wobei Q1 als 'neben Q4' liegend gilt.
(also wie wenn die 4 LED einen Kreis bilden würden)

> Der Schaltplan nummeriert da ja nicht von oben nach unten durch.

Shit. Du hast recht.
Also die 4 identifizierten Kabel gehören in der ausgemessenen 
Reihenfolge an Q1, Q2, Q3 und Q4  (in dieser Reihenfolge).

(Wer macht denn auch sowas, da alles durcheinanderzuwürfeln :-)

Alternativ könnte man die Kabel auch in der ausgemessenen Reihenfolge an 
die Klemmen aufsteigend anschliessen und mit der Tabelle im Programm die 
richtige Reihenfolge sicherstellen.

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

Hm, also irgendwie haut mir das nicht hin.
Ich habe oben mal 4 Bilder angehängt, um zu zeigen, was genau leuchtet 
(ist ja mit den bezeichnungen bisschen blöd).

Die Motorkabel habe ich jetzt so markiert (Mittelabgriff an GND):

1: 1. Schritt in eine Richtung
2: 2. Schritt in die gleiche Richtung
3: 3. Schritt in die gleiche Richtung
4: 4. Schritt in die gleiche Richtung

Also halt der Reihenfolge nach, wie sie nach der reihe die steps gehen.
Scgließe ich nun 1 an Q4, 2 an Q2, 3 an Q3 und 4 an Q1 ruckelt er immer 
einen Schritt nach rechts, dann einen zurück etc.

Hoffe ich konnte es hiermit etwas logischer erklären.
Die Q-Nummerierung im schaltplan ist leider nicht soooo logisch 
(1,3,2,4).

von Karl H. (kbuchegg)


Lesenswert?

> Scgließe ich nun 1 an Q4, 2 an Q2, 3 an Q3 und 4 an Q1

Das müsste doch
  Q1 an 1
  Q2 an 2
  Q3 an 3
  Q4 an 4

sein. Denn genau in dieser Reihenfolge werden doch die Wicklungen 
bestromt

von Steve (Gast)


Lesenswert?

Ahhhh.
Habs selber herausgefunden!
Läuft jetzt.
Nur etwas holprig aber das liegt an den Steps und der Frequenz.
Juhu, endlich!

von Gastofatz (Gast)


Lesenswert?

Glückwunsch! Du kannst aber ziemlich froh sein, dass der PB3-Ausgangspin 
des ATtiny13 durch den Kurzschluss keinen Schaden genommen hat.

von Steve (Gast)


Lesenswert?

Hab ja mehrere Tinys, wenn da einer kaputt gewesen wäre.......

Hab die Werte mittlerweile ein wenig angepasst für meine Zwecke, jetzt 
fährt er schön.
frequent bin ich bei 100 und Steps bei 75.
Kann sein, dass ich das noch ändere, wenn später mal alles im Gehäuse 
ist.

Werde jetzt dann wohl mal das Poti rauswerfen und direkt mit 2 
Messfühlern dran gehen.
Bevor ich da was kaputt mache (jetzt wo es endlich funktioniert) wollte 
ich fragen was genau ich rauswerfen muss (normal poti und den 1,4k) und 
wo genau ich die 2 Leitungen hin machen muss.
Verpolung sollte ja keine Rolle spielen später beim Messen, dann läuft 
er einfach anders rum, oder?

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:

> Werde jetzt dann wohl mal das Poti rauswerfen und direkt mit 2
> Messfühlern dran gehen.
> Bevor ich da was kaputt mache (jetzt wo es endlich funktioniert) wollte
> ich fragen was genau ich rauswerfen muss (normal poti und den 1,4k) und
> wo genau ich die 2 Leitungen hin machen muss.

Welche Spannung hast du an deiner Messleitung?

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Steve schrieb:
> Verpolung sollte ja keine Rolle spielen später beim Messen, dann läuft
> er einfach anders rum, oder?

Nein, wird er nicht. Jedoch wird der Prozessor danach wohl nicht mehr 
laufen (zumindest wird Dein Analogeingang sehr wahrscheinlich hin sein). 
Oder hast Du einen Verpolungsschutz dran?

von Karl H. (kbuchegg)


Lesenswert?

Steve schrieb:

> Verpolung sollte ja keine Rolle spielen später beim Messen, dann läuft
> er einfach anders rum, oder?

Kommt auf den Geber an.
Ein Kabel vom Geber kommt an Masse, das andere anstelle des 
Potiabgriffs. Und es wäre besser, wenn du dich da nicht verhaust und die 
Masse des Gebers mit der Masse der Schaltung verbindest. Ansonsten 
speist der geber eine, aus Sicht des Tiny, negative Spannung in den ADC 
ein. Und das ist dann nicht mehr so gut.

von Gastofatz (Gast)


Lesenswert?

Schaltplan --> ADC-Eingang ist geschützt durch 10 k längs + zwei 
Clamp-Dioden.

Das Poti muss nicht ausgelötet werden, es reicht, die Verbindung zum 
Schleifer zu unterbrechen. Ich würde aber zum Spannungsmessen noch einen 
10 k von PB4 nach GND einbauen, damit der ADC-Eingang auf definiertem 
Potential zu liegen kommt, wenn die Messtrippen mal in der Luft hängen.

Die Messtrippen kommen an AIN und DGND von J1.

von Gastofatz (Gast)


Lesenswert?

>Verpolung sollte ja keine Rolle spielen später beim Messen, dann läuft
>er einfach anders rum, oder?

Nein, er läuft dann auf Null und bleibt dort. Falsch gepolte Spannungen 
kannst Du mit der Geschichte in der jetzigen Form nicht messen.

von Steve (Gast)


Lesenswert?

Gut, das ist noch besser.
Nur das mir nichts kaputt geht, wenn man da aus versehen falsch rum 
misst.
Also die Kabel an Ain und DGND, gut so hätte ich mir das nämlich auch 
gedacht.
Das Poti hängt aktuell nur testweise an ein paar Kabel, das kann ich 
dann doch ruhig rauswerfen, oder? Den 1,4k auch?
Und dann noch den 10k zwischen Pb4 und GNd vom Tiny.
Gut, das sollte durchaus machbar sein.

von Gastofatz (Gast)


Lesenswert?

>Nur das mir nichts kaputt geht, wenn man da aus versehen falsch rum misst.

Dont worry.

>Das Poti hängt aktuell nur testweise an ein paar Kabel, das kann ich
>dann doch ruhig rauswerfen, oder? Den 1,4k auch?

Ach so. Klar, weg damit (Poti + 1.4 k).

>Und dann noch den 10k zwischen Pb4 und GNd vom Tiny.

Ja. Der genaue Wert ist nicht kritisch. Kannst vorläufig alles zwischen 
~5 k und ~50 k nehmen, wenn Du keinen 10 k da hast.

Selbstverständlich wirst Du, wenn das ein akzeptables Zeiger-Messgerät 
werden soll, auch noch ein stark untersetzendes Getriebe ("ziemlich 
kleines Rad auf ziemlich großes Rad") brauchen.

von Steve (Gast)


Lesenswert?

Naja aktuell macht er eben 1,8° Steps.
Die Skala hat 180°, also 100 Steps.
Finde die Auflösung ganz in Ordnung, der Spannungsbereich liegt ja nur 
zwischen 0 und 5V und auf 0,05V genau ist garnicht so schlecht.
Die Tage werde ich mal die Messfühler dran basteln und das ganze dann 
langsam in ein Gehäuse stecken :-)

von Steve (Gast)


Lesenswert?

So, mittlerweile ist alles schön im Gehäuse.
Sieht richtig professionell aus :-)
Wenn ihr wollt, kann ich ja mal Bilder einstellen.

Allerdings würde ich mir noch gerne eine schöne Skala drucken. Hat da 
jemand Erfahrung, wo es Programme gibt, mit denen man sowas schön machen 
kann inkl. Beschriftung?

von Steve (Gast)


Angehängte Dateien:

Lesenswert?

So, zum Abschluss meines projekts wollte ich euch das Ergebnis nicht 
vorenthalten.
Fährt jetzt 190Steps bis zu 5V hin (0,9° pro Step). Geschwindigkeit habe 
ich auf 100Hz eingestellt, so läuft er wirklich sehr schön und 
ruckelfrei.

Eine Frage hätte ich noch, weil es mich interessiert. Was genau bewirkt 
der 10K Widerstand zwischen Pb4 und GND?

von Stefan B. (Gast)


Lesenswert?

Gut aufgebaut. Sieht gut aus.

Vielleicht noch ein Denkanstoß für weiteres...
http://hackaday.com/2010/01/16/volt-meter-clock/

von Gastofatz (Gast)


Lesenswert?

>So, zum Abschluss meines projekts...

Glückwunsch! Macht nen soliden Eindruck. Könnte man glatt neidisch 
werden ;-)

>Fährt jetzt 190Steps bis zu 5V hin (0,9° pro Step). Geschwindigkeit habe
>ich auf 100Hz eingestellt, so läuft er wirklich sehr schön und
>ruckelfrei.

Ja super. Meine Bemerkung mit dem Getriebe war übrigens (natürlich 
unbeabsichtigt) Nonsens; da habe ich was Falsches im Kopf gehabt. Also 
vergessen.

>Eine Frage hätte ich noch, weil es mich interessiert. Was genau bewirkt
>der 10K Widerstand zwischen Pb4 und GND?

Wenn Du z. B. die Messstrippen an eine 1.2-Volt-Akkuzelle hälst, 
bestimmt diese das Potential des ADC-Eingangs und alles ist in Ordnung. 
Es kann aber natürlich auch sein, dass mal jemand NICHTS an die 
Messstrippen anschließt, und diese auch nicht kurzschließt, d. h. die 
Dinger baumeln in der Luft. Wenn aber ein ADC-Eingang in der Luft hängt, 
dann "floatet" er und man liest unvorhersagbare ADC-Werte aus. Jetzt 
soll aber nicht der Zeiger anfangen wild herumzutanzen, sobald die 
Strippen offen sind. Daher muss man für den Fall "offene Messstrippen" 
dafür sorgen, dass auch dann der ADC-Pin auf einem definierten Potential 
zu liegen kommt, sinnvollerweise auf GND. Das erledigt der fragliche 
Widerstand. Da er relativ hochohmig ist, stellt er für das Messobjekt 
keine nennenswerte Last dar (wobei andererseits 10 k dann so hochohmig 
auch wieder nicht sind).

Wie mir noch eingefallen ist, wäre es übrigens besser, diesen Widerstand 
nicht zwischen ADC und GND, sondern zwischen AIN und GND anzuordnen. 
Sonst bildet er mit dem Schutz-Längswiderstand (der 10 k gleich hinter 
AIN) einen Spannungsteiler, der die Messspannung unnötigerweise 
heruntersetzt (nämlich halbiert). Eventuell reichen auch 100 k oder 
sogar 1 M aus. Je höher desto kleiner ist die Last für das Messobjekt. 
Deshalb wäre es durchaus sinnvoll, das auszuloten. Das einzige Kriterium 
ist, dass der Zeiger bei offenen Messstrippen auf Null geht und ruhig 
dort verharrt.

Du kannst auch mal den Widerstand probehalber einseitig auslöten und 
beobachten, was dann bei offenen Messstrippen passiert.

von Steve (Gast)


Lesenswert?

Ja genau das mit der Halbierung der Steps ist mir nämlich aufgefallen.
Passt mir aber eigentlich ganz gut.
Habe es schon sauber geeicht und es fährt wirklich erstaunlich präzise.
Bin sehr zufrieden. Innen habe ich alles sauber mit Abstandshaltern auf 
der Unterseite des Gehäuses verschraubt, ist alles schön zerlegbar.
Hat sich unterm Strich wirklich gelohnt!

von gerd (Gast)


Lesenswert?

> Eine Frage hätte ich noch, weil es mich interessiert. Was genau bewirkt
> der 10K Widerstand zwischen Pb4 und GND?

Dazu gehört noch die Info, dass offene Eingänge extrem hochohmig sind. 
Die fangen alles auf, was an NF, HF, statischer Spannung, etc. so alles 
in der Luft herumschwirrt, weil sie fast keinen Innenwiderstand haben. 
Die Strippe wirkt also als Antenne für Schmutz.

> Habe es schon sauber geeicht und es fährt wirklich erstaunlich präzise.

10-Bit-ADC = ca. 1 Promille, bei 5V also 5 mV. Wenn Du den Motor mehr 
Schritte machen lässt und eine spiralförmige Skala dran, kriegste da 
viel mehr Genauigkeit raus, eben auf 5 mV genau. Musst nur die Runden 
mitzählen. Dann ist 100 Hz aber zu schnell.

mfg
gerd

von Karl H. (kbuchegg)


Lesenswert?

Gastofatz schrieb:

> Du kannst auch mal den Widerstand probehalber einseitig auslöten und
> beobachten, was dann bei offenen Messstrippen passiert.

Auch mal den Versuch wagen und bei prinzipiell offenem Eingang mit der 
Hand in die Nähe der Anschlussklemmen kommen oder das Gerät in die Nähe 
anderer Verbraucher bringen.

von Steve (Gast)


Lesenswert?

Ok, danke, das habe ich jetzt verstanden.

Bis wie viel Volt ist das jetzt eigentlich geschützt. Also gegen 
Überspannung meine ich. Nicht das ich mal etwas zu viel anlege und 
gleich was kaputt mache.
Eingangswiderstand dürfte ich auch mal messen, um zu checken ob man 
damit auch mal ne kleine Knopfzelle messen kann.

von Gastofatz (Gast)


Lesenswert?

>Bis wie viel Volt ist das jetzt eigentlich geschützt. Also gegen
>Überspannung meine ich. Nicht das ich mal etwas zu viel anlege und
>gleich was kaputt mache.

Dein Gerät kann das Hobby-Bastel-Spannungslimit schadlos aushalten (ich 
sehe jedenfalls keinen Grund, der dagegen spricht). Es liegt bei 30 V. 
Hier hört der Spannungsbereich auf, der als grundsätzlich ungefährlich 
gilt.

--> !! Absolutes NO-GO ist Netzspannung !! <--

230 V würden an der Reihenschaltung der beiden 10 k-Widerstände eine 
Leistung von über 2 W erzeugen. Das ist mehr als sie aushalten könnten. 
Für Netzspannung ist Dein Gerät auch von der Isolationsproblematik her 
nicht ausgelegt.

>Eingangswiderstand dürfte ich auch mal messen, um zu checken ob man
>damit auch mal ne kleine Knopfzelle messen kann.

Der Eingangswiderstand ist 20 kOhm (aus 10 k + 10 k in Reihe). Alte 
Zeigerinstrumente aus den 70/80ger Jahren hatten oft Eingangswiderstände 
von 20 kOhm pro Volt (bezogen auf das Skalenende). Für den Messbereich 5 
V ergibt sich 100 kOhm Eingangswiderstand. Hier ist Dein Gerät also 
deutlich "schlechter". Bei einigermaßen niederohmigen Messobjekten 
merkst Du davon aber nichts. Einfach die beiden 10 k-Widerstände 
vergrößern geht leider nicht, weil der ADC-Eingang sonst nicht mehr 
genug Strom zum Laden des Sample&Hold-Kondensators hinter dem Pin 
bekommt. Verbesserungen in diesem Punkt würden Extra-Hardware erfordern.

Dagegen wäre es mit minimalem Aufwand möglich, einen zweiten, 
unempfindlicheren Messbereich zu realisieren, z. B. 20 V. Dazu würde ein 
Widerstand von 60 Ohm sowie ein Umschalter (oder eine dritte 
Eingangsbuchse) ausreichen.

von Klaus W. (mfgkw)


Lesenswert?

Steve schrieb:
> Allerdings würde ich mir noch gerne eine schöne Skala drucken. Hat da
> jemand Erfahrung, wo es Programme gibt, mit denen man sowas schön machen
> kann inkl. Beschriftung?

Ich mache sowas meistens altgermanisch mit LaTeX oder gleich
direkt in Postscript.

Drucken mit Laserdrucker auf Selbstklebeetiketten.
Es gibt z.B. von Wäsch Etiketten in Gehrden welche aus Kunststoff,
die sind ziemlich robust (Polyester glaube ich) in verschiedenen
Formaten.

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
Noch kein Account? Hier anmelden.