Archiv verlassen und diese Seite im Standarddesign anzeigen : Asuro - Anfängertauglich; totale Verzweiflung
Abnormal
24.04.2011, 09:35
jaja, ich weiß, ich bin ABNORMAL ;-)
also da hat sich einer (ich) der absolut keine Ahnung von nix hat einen Asuro-Bausatz "als Lötübung" zugelegt. In allen Beschreibungen steht ja, das dies ein Schulungsteil wäre, bestens dokumentiert, Infos an allen Ecken und für Anfänger/Einsteiger ideal...
Der Zusammenbau war kein großes Thema, aber dann selftest:
Alles gut gemacht aber beim Kollisionstaster K1 leuchtet LED UND der linke Motor läuft. Ein altbekanntes Problem, ich habe viel darüber gefunden, auch Ansätze das problem programmtechnisch zu lösen (pollswitch-Funktion)...
Eine Schritt für Schritt Anleitung? Irgendwas in der Aleitung/Fehlerbehebung? weit gefehlt.
Selbst im Buch "Mehr Spaß mit Asuro1" kein kleinster hinweis, wie man einen solchen Fehler beheben könnte.
Programmieren kann ich gar nicht. Ich dachte das dies vllt mit der Beschäftigung mit dem "Einsteigerrobot" mitwachsen würde. Weit gefehlt: ANleitung: sehr kryptisch, für mich unverständlich. Internet hmm, sieht nicht viel anders aus.
Jetzt versuche ich mir die Grundlagen in "C" selbst zu erarbeiten mit hilfe eines Buches "C- programmieren von Anfang an" erlerne ich erste Codes und versuche einen Einblick in diese Sprache zu bekommen. Das Buch ist gut, mühsam ist es trotzdem und für Asuro bringt es ?NIX?!
Ich versteh immer noch kein Wort, der Kollisionstaster tut immer ncoh das selbste, ich ahbe die 500erste Anleitung aus dem Web versucht anchzuvollziehen udn umzusetzen. Was immer nur darin gipfelt, das vielleicht dann das flash Programm oder sonst was grad nicht geht, oder oder einfach nur deprimierend...
Die Programme sind sind für mich so-wie-so ein graus. Mindestens 3 braucht man um irgendwas von a nach b zu übermitteln. Total unübersichtlich und umständlich...
LAnge Rede, kurzer Sinn - WAS MACH ICH FALSCH ? Das ganze kostet einen HAufen ZEit mit dem Ergebnis NIX. Ich versuche nun seit 2 Monaten den Asuro zum laufen zu bringen ( womit ich meine - das das testprogreamm fehlerlos ablaufen kann und die 3 Wahnsinnsprogramme an meinem Computer das tun, was sie sollen).
Irgendwie kann ich mir nicht vorstellen das dies ein guter Einstieg in die Materie ist.
Ein weiterer ernüchternder Versuch etws darüber oder daraus zu lernen war der Ausdruck des Atmel-Datenblattes des Atmega 8. 302 Seiten technisches Englisch, eine einfache, kurze Erklärung die über "besteht aus A/D-Wandlern, Speichern und Taktgebern" habe ich im Internet nícht finden können.
Gibt es nirgends eine Seite die sich mit diesem Bauteil ein bisschen tiefgründiger auseinandersetzt, ohne dafür 300 Seiten fremdsprachig ergründen zu müßen (so tiefgründig brauche ich eine Funktionsbeschreibung auch wieder nicht)...
Seit gestern Abend liegt Asuro wieder mal in der Schublade, ixch hab grad gar keinen Nerv mehr dafür. Vielleicht nächstes Wochenende wieder.
Irgednwie habe ich es geschafft, in den 2 Monaten die TAsterwerte auszulesen. Das war das Ergebnis:
Tastsensor Kalibration
Press Key 6
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
Press Key 5
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
Press Key 4
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
Press Key 3
60 61 62 63 64 65 66 67
Press Key 2
60 61 62 63
Press Key 1
62 63
leider hilft mir dasa auch nicht weiter. Ich dachte EIN Taster würde EINEN Wert ausgeben. Wie gesagt - ich versteh überhaupt nix davon...
Grüße aus Wien
Abnormal
Jetzt versuche ich mir die Grundlagen in "C" selbst zu erarbeiten mit hilfe eines Buches "C- programmieren von Anfang an"
Das sollte man auch von Anfang an tun!
Das Buch ist gut, mühsam ist es trotzdem und für Asuro bringt es ?NIX?
Doch, es hilft dir die Beispiele zu verstehen.
Das ganze kostet einen HAufen ZEit mit dem Ergebnis NIX.
Man lernt es auch nicht in 2 Tagen und ja auch nicht in 2 Wochen.
Irgendwie kann ich mir nicht vorstellen das dies ein guter Einstieg in die Materie ist.
Manchen liegt es halt mehr und manchen weniger.
Gibt es nirgends eine Seite die sich mit diesem Bauteil ein bisschen tiefgründiger auseinandersetzt, ohne dafür 300 Seiten fremdsprachig ergründen zu müßen (so tiefgründig brauche ich eine Funktionsbeschreibung auch wieder nicht)...
Ja, es gibt welche auf deutsch, aber halt auch sehr lang http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial. Es ist nunmal ein sehr umfangreiches Thema!
Seit gestern Abend liegt Asuro wieder mal in der Schublade, ixch hab grad gar keinen Nerv mehr dafür. Vielleicht nächstes Wochenende wieder.
Ja, das ist manchmal auch besser so, oft geht bei wieder aus der Schublade nehmen auf einmal alles.
Ich glaube du gehst falsch an die Sache ran, in der Anleitung ist alles sehr gut beschrieben! Die Grundlagen in C sind darin ab Seite 56 ausführlich beschrieben, das wirst du woanders auch nicht ausführlicher bekommen. Es ist darin auch so ziemlich jeder Fehler beschrieben der auftreten kann.
Hier gibt es noch ein Einstieg Beschreibung von Asuro, das nur ein bisschen tiefer in dem Atmega8 Technik rein geht (nur das Notwendige):
http://www.henkessoft.de/Roboter/ASURO.htm
Etwas anderes, Ich habe selbe erfunden das wenn man ein Negatives Bild von sich selbst macht das es eine starke Einfluss hat auf dein Lern- un Kreative Fähigkeiten. Das 'A-ha'-Erlebnis stirbt ein bischen ab. Zbs. "Abnormal" hat eine negative Klang dabei. (in meiner Meinung) Bitte sehe das lieber als "einzigartig" oder "außergewöhnlich". Und das du gar NIX weiter gekommen bist glaube ich auch nicht. Schau und mal deine bis jetzt gefertigte Programmen. Das du schon die Tastsensor Kalibration gefunden hat und ausprobiert, und weitere information gesucht hat ist schon ganz gut. Eine kleine Zeit Asuro weg zu legen ist auch kein Fehlerei. Das ist gesund. Einiger Nächten darüber 'träumen' kann schon ein bisschen helfen.
oberallgeier
24.04.2011, 15:14
Hei, Du.
jaja, ich weiß, ich bin ... Grüße aus Wien ...Für Wiener ist so tief-depressiv nicht untypisch. Wesentlich besser ist die Qualtinger-Formulierung "... lauta so Buaschn wia i ..." Also versuchs vielleicht nochmal - mit einem besseren Pseudonym, dieses ist grottenschlecht, hör da auf die Anmerkungen von valen.
... einen Asuro-Bausatz "als Lötübung" zugelegt ... dachte EIN Taster würde EINEN Wert ...Die Kollisionstaster beim asuro gehen auf einen Port. Je nachdem, welcher gedrückt wird, schaltet man einen mehr oder weniger großen Widerstand zu dem Port, sodass am Port eine mehr oder weniger hohe Spannung anliegt. Der Port ist als Spannungs-"messgerät" konfiguriert. Die Spannungsmessung ist nicht genau, die "zittert" ein bisschen, die Spannung am asuro ist nicht wirklich konstant, die Widerstände sind nicht immer konstant - deshalb kann man den gleichen Tasterwert meist einigermassen gut, aber nie konstant gleich messen.
Henk, einer der asuro-Väter, hat etliche Testprogramme geschrieben, klick hier. (http://home.kpn.nl/h.van.winkoop/Asuro/Software/AsuSfwPagFrm.htm) (Leider hat Henk seine homepage Anfang des Jahres geändert, da stolperte man noch nicht sooo oft darüber). Probier mal Henks Beispiele und Testprogramme in den asuro und ans Laufen zu bringen. Wenn mal eins nicht klappt - nimm das nächste. Vielleicht findest Du dann mit einem auch heraus, was oder warum es mit den Tastern nicht klappt. Und als Übung lohnt es sich manchmal, das eine oder andere Testbeispiel leicht zu modifizieren und zu schauen ob es trotzdem noch läuft . . . .
Na ja, und elektronische Datenblätter sind meist englisch und oft recht umfangreich. Da muss man durch. Aber es gibt ja etliche deutsche Tutorials.
Also - Kopf hoch, tief durchatmen. Und wenn Du den Anflug an Weltuntergangsststimmung überwinden kannst, dann versuchs mal weiter.
Viel Erfolg
Abnormal
25.04.2011, 08:21
hoj, danke für die Antworten. Sind ja ein paar interessante links dabei. Und dnake auch für die psychologische "Betreuung" ;-) .
Naja, von depressiv bin ich in wahrheit weit entfernt. Ein gewisser hang zur melancholie ist uns Wienern natürlich vorbehalten ;-) keine Angst vor dunklen Stimmungen ;-)
in Wirklichkeit ein dauergrinsender, als fröhlich bekannter, etwas abnormaler Zeitgenosse, was sich vor allem auf mein "früheres Leben" bezieht - jetzt aber eindeutig zu weit führen würde hier details abzuklären...
nochmal zu den Tastern. Asuro verwendet zur Auswertung den A/DWandler des Atmega 8. An einem Spannungsteiler wird je nach Tastendruck die Betriebsspannung auf die Messspannung heruntergebrochen. Um Schwankungen kleinzuhalten ist ein Kondensator mitgeschalten der sich ohne TAstendruck auf Betriebsspannnung auflädt. Ich vermute das damit auch das Thema Tastenprellen erledigt ist.
Die Werte die ich oben aus dem Kallibrationsprogramm kopiert habe sind von EINER Messung und bei mehreren Durchgängen stets gleich gewesen. Auffällig, das Taster 5 und 6 (bei korrekter Funktion) exakt gleiche Werte(Wertbereiche?) ausgeben. Taster 1 ( der im Test die Probleme mach) gibt nur 2 Werte aus, die noch dazu auch von allen anderen TAstern verwendet werden??
ich hätte mir das so vorgestellt, das jeder TAster einen Wert ausgibt und der Fehler darin liegt, das ein TAster zB den Wert 1 hat und mein TAster 1 einen Wert, der durch Widerstandstoleranzen um 1 zu groß ist, weshalb der A/D-Wandler denkt, das in Wirklichkeit 2 TAtser gedrückt seien und den Motor (Wert1) zuschaltet. Das hab ich mir aber nur irgendwie zusammengesponnen und scheint ganz und gar nicht so zu sein.?
radbruch
25.04.2011, 08:48
Hallo
Dein Tastenprogramm gibt nicht die Tastenwerte aus sondern den Formierungsfaktor für die Superformel am Ende von PollSwitch().
http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Tasten
https://www.roboternetz.de/community/showthread.php?8488-Asuro-Schalterproblem-gel%F6st
Um die ermittelten Tastenwerte anzuzeigen kannst du dieses Programm verwenden:
http://www.asurowiki.de/pmwiki/pmwiki.php/Main/TastSensorTestC
Wenn deine Version der Library die Funktion PrintInt() nicht kennt:
https://www.roboternetz.de/community/showthread.php?31893-Tasterwerte-an-Hyperterminal-%FCbergeben
Gruß
mic
Hallo Abnormal,
Ich bin auch ein Programmier-Anfänger und muß Dir fast in allen Teilen zustimmen. es ist manchmal oder oft oder meistens zum Verzweifeln !
Schritt für Schritt-Anleitungen, ich habe auch noch keine gefunden ! Die Anleitungen fangen meist recht soft an, daß man denkt, oh wie schön ! Und dann schmeißen die einem soviel unerklärte und aus sich heraus unverstehbare Begriffe und Sätze an den Kopf, das man aufgibt und verzweifelt. Auch und besonders die Bücher I und II zum Asuro, viel unverständliches Zeug für den Asuro-Neuling. Was soll in Bd. II z.B.der lange Exkurs über Operationsverstärker ? Weitere Erläuterungen des Zusammengehens von C mit dem Asuro wären mir lieber gewesen.
C etwas mühsam zu erlernen, man beißt sich durch...aber die Hoffnung, dabei etwas praktisches für den Asuro zu lernen, gefehlt ! NIX (siehe unten.)
Die Quelldateien von Programmen, denen hex-Dateien beigefügt sind, sind ja für den Anfänger noch zu verwenden, wenn denn das flashen klappt, aber dabei lernt man ja NIX, das Compilieren mancher im RN angebotener Dateien oder sollen es nur Dateischnipsel sein, wie ist das zu erkennen ? ist schon mit Schwierigkeiten verbunden, weil man, ich betone: immer als Anfänger, nicht weiß, welche header-Dateien, makefile, bats man braucht. Da hilft einem C zu lernen NIX !
Die Moderatoren, radbruch sei gelobt, bemühen sich ja redlich und hilfsbereit, auch dumme Fragen zu beantworten, alle Achtung und Hochschätzung ! Dumme Fragen von Anfängern ? Nein, wenn ich keine Durchsicht als Anfänger habe, kann ich häufig auch die Frage nicht richtig stellen. So bleiben die Profis unter sich und die große schweigende Mehrheit, ich bin überzeugt, daß es da noch viele gibt, die sich gar nicht zu fragen trauen, .... schweigt und staunt mit offenem Mund vor soviel Profi-Wissen.
Mein Vorschlag wäre, mal ein separates board zu starten, wo die Anfänger wirklich mal ungeniert "dumme" Fragen stellen dürfen und Antworten erwarten dürfen, die sie verstehen, z.B. wofür gibt es eigentlich zwei gleichnamige header-Dateien mit Endung ...h und ...c, ( warum muß in diesen ein Ausdruck untereinander getauscht werden ?) und die vielen anderen, nicht lesbaren Dateien mit für mich kryptischen Endungen: pnproj, aps u.v.a. ? Wo finde ich zu einer Quelldatei die zugehörigen makefiles und bat-Dateien ??? wenn nur Quelldateien(schnipsel) angeboten werden ? Kann es sein, daß selbst im RN-Wissen Dateien als professionelle Taten abgelagert sind (siehe Maus-Sensor), die selbst ein Profi nicht compiliert kriegt ?
Recht hast Du Abnormal ...und gar nicht so abnormal. Auch ein Abnormaler, oder ?
nicht weiß, welche header-Dateien, makefile, bats man braucht. Da hilft einem C zu lernen NIX !
[...]
z.B. wofür gibt es eigentlich zwei gleichnamige header-Dateien mit Endung ...h und ...c, ( warum muß in diesen ein Ausdruck untereinander getauscht werden ?) und die vielen anderen, nicht lesbaren Dateien mit für mich kryptischen Endungen: pnproj, aps u.v.a. ?
Wo finde ich zu einer Quelldatei die zugehörigen makefiles und bat-Dateien ??? wenn nur Quelldateien(schnipsel) angeboten werden ?
Zum ersten Teil: Falsch, wenn du (C) programmieren kannst, macht einiges sehr schnell sehr viel Sinn. Ich will es Mal so umschreiben: Die ASURO-Bibliothek ist der Werkzeugkasten mit dem du arbeitest. Hast du die handwerklichen/motorischen Fähigkeiten nicht, bringt dir auch das tollste Werkzeug nichts.
Zum zweiten Teil: Das mit "h" und "c" ist einerseits eine Frage der Konvention, andererseits eine Eigenheit der Programmiersprache C, die zwischen Deklaration ("Es gibt eine Funktion mit Namen X, Parametern Y und Rückgabewert Z") und Definition ("Hier ist Funktion X die folgendes macht (Quelltext)"). Jede C-Datei steht beim Kompilieren erst einmal alleine da und weiß nichts über andere Dateien oder Bibliotheken. Um daher "fremde" Funktionen zu verwenden, müssen diese erst bekannt gemacht werden, indem man sie Deklariert. Um diesen Vorgang zu vereinfachen, schafft man eine Art Schnittstelle, die Header-Datei, die die Deklarationen aller wichtigen Funktionen enthält. (Wobei wichtig == soll von außen benutzt werden können).
Und damit man immer weiß, welcher Header die Schnittstelle zur welcher Implementierung enthält, verwendet man normalerweise den gleichen Namen wie bei der Quelltext-(C)-Datei, was die typischen Paare Name.C und Name.H ergibt.
Manche Dateien sind nicht für dich bestimmt, sondern werden (Beispielsweise von Eclipse, AVR Studio o.ä.) für eigene Zwecke verwendet. Andere sind sogenannte Projektdateien, in der die Programmierumgebung sich merkt, was alles zusammengehört.
Und zu der Frage, "Wie finde ich raus was wie zusammengehört und wie es funktioniert", das sollte die Dokumentation des Quelltextes erklären. Wenn nur Schnipsel angeboten werden, musst du dir wohl selbst ein Makefile aufsetzen, alternativ dazu kannst du auch eine Entwicklungsumgebung verwenden, die das für dich von alleine erledigt.
mfG
Markus
Hallo markusj,
danke für Deine Antwort ! Da mag ich ja vielleicht manches falsch sehen, mein Anfängerproblem ist halt, daß man vor lauter Bäumen den Wald nicht sieht. Ich bin ja bemüht, aber wo finde ich den richtigen Einstieg ?, d.h. mit Deinen Worten: ich muß erstmal die Fächer des "Werkzeugkasten" überblicken, daß ich weiß, wo ich den Schraubschlüssel finde, den ich gerade brauche.
Nochmal zuden c. und h. Dateien. Habe ich das jetzt richtig verstanden ? Z.B. In der asuro.h wird eine Fkt. "deklariert". In der asuro.c wird diese Fkt. "definiert" (soll wohl heißen (?), hier ist die Fkt. als eine Art Makro vorprogrammiert (?)). In meiner Quelldatei (z.B. test.c) wird die Fkt.gebraucht und aufgerufen, richtig ?
Muß ich dann beide, also asuro.c und asuro.h, als #include "asuro.c" und #include "asuro.h" an den Anfang meiner Quelldatei (test.c) stellen ? Oder genügt es, die im gleichen Ordner (Pfad) stehen zu haben ? Im make-file steht nur unter TARGET = test, OK ?
radbruch
29.04.2011, 17:01
Hallo
Du könntest auf #include komplett verzichten, wenn du den Inhalt von asuro.h in deiner Datei test.c vor und den Inhalt von asuro.c hinter deine eigene main()-Funktion kopieren würdest. Beim Kompilieren würde der Kompiler dann die Namen aller definierten Dinge (Funktionen, #defines, Variablen oder auch Register und Pins des Kontrollers) kennen bevor du sie in main() verwendest. Weiterhin würde er alle Funktionen hinter main() mit übersetzen und von main() aus anspringen wenn du sie in main() verwendest.
Mit #include eingebundene Dateien werden in das Programm direkt an der Stelle eingefügt, an der das #include steht, quasi wie reinkopiert. Prinzipiel funktioniert deshalb auch ein #include asuro.c Das ist aber "verpöhnt", weil man .c-Dateien über das Projekt einbinden sollte.
Der Unterschied ist etwa so: Wenn über das Projekt eingebunden wird erzeugt der Kompiler beim Übersetzen zwei Objektdateien mit den in Maschinensprache übersetzten C-Befehlen (aus test.c und asuro.c) und der Linker verbindet dann beide zu einem Programm und legt die Speicherbereiche so fest das alles passt (Funktionsadressen, Variablenspeicherplätze...) und erzeugt schließlich aus der Maschinensprache ein Speicherabbild des Programms im AVR als Hex-Datei. Bei Einbindung mit #include asuro.c wird nur eine Objektdatei erzeugt.
Das ist eigentlich nur ein Teil der Wahrheit, denn in Wirklichkeit werden noch viel mehr Dateien eingebunden (siehe Anfang von asuro.h) Das erzeugte Maschinenprogramm heißt übrigends Projektname.lst Darin sieht man dann neben den eigenen Funktionen auch die übersetzten Funktionen der asuro-Library. Hier mal ein einfaches Beispiel:
#include "asuro.h"
#include "asuro.c"
int main(void)
{
Init();
StatusLED(RED);
while (1);
return(0);
}
Zur LST-Datei im Anhang:
Wegen #include asuro.c sieht man auch die Lib-Funktionen, ab Zeile 303 der Code für StatusLED(), ab Adresse 0x019e beginnt der eigentliche Code. In Zeile 1105 beginnt main(), in Zeile 1116 wird die Funktion StatusLED() aus main() heraus aufgerufen. In Zeile 1115 wird übrigends das Register r24 mit 2 geladen. Ab Zeile 333 wird durch diese 2 dann die rote Led ein- und die grüne Led ausgeschaltet. Aber ich glaube, ich schweife ab...
Aller Anfang ist schwer. Die Microkontroller sind kein Spielzeug, das ist echte Hightech. Deshalb ist das auch so kompliziert. Aber wenn du dir mal die Grundlagen erarbeitet hast wird's noch schlimmer ;)
Gruß
mic
oberallgeier
29.04.2011, 17:12
Hi Vilem,
das ist gut beschrieben mit den Bäumen, dem Wald und dem Anfänger. Ging mir genauso - wie vermutlich vielen.
... Nochmal zuden c. und h. Dateien. Habe ich das jetzt richtig verstanden ? Z.B. ...Jetzt könnte man natürlich ausfürlich antworten. Aber vielleicht schaust Du Dir diese beiden Tutorials an (ich meine WIRKLICH ANSCHAUEN - nur soweit durchlesen wie Du es interessant findest - dann weißt Du wo was steht und liest das nur bei Bedarf genauer durch).
http://www.rn-wissen.de/index.php/C-Tutorial
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Im zweiten Tutorial ist im Einführungsbeispiel (klick hier) (http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Einf.C3.BChrungsbeispiel) mal gaaanz kurz gezeigt, wie ein C-Programm aufgebaut ist. Na ja, und zum asuro gibts doch noch immer die BAU- UND BEDIENUNGSANLEITUNG (klick schon wieder) (http://www.arexx.com/downloads/asuro/asuro_manual_de.pdf) in der ein bisschen über C steht. Dass es zum asuro eigene Bibliotheken gibt (asuro lib) ist im Prinzip ne Erleichterung aber für Anfänger wohl immer ein böser Stolperstein *ggg*.
Viel Erfolg
Hallo,
vielen Dank für die Informationen.
@ radbruch: Das habe ich fast alles (glaube ich) verstanden, danke, nur hapert's mal wieder an so einfachen Dingen, daß ich die Fach-Begriffe nicht verstehe.
Was heißt: "Wenn über das Projekt eingebunden wird ...." Was ist das "Projekt", meine Quelldatei ? Was ist "eingebunden" ?
Interessant die lst.txt Datei, arbeite ich noch durch.
Und ... mache uns nicht bange mit: " ... wird's noch schlimmer"
@ oberallgeier: vielen Dank für die links, die ich mir an Wochenende mal zu Gemüte führen werde. Die Asuro Bedienungsanleitung ist Ok, aber hilft eigentlich kaum weiter, den "Wald" zu sehen. Ja, die AsuroLib ist sicher supergut, aber wahrlich ein Stolperstein für Anfänger. Gäb's nur dafür mal eine gute Einführung.
radbruch
29.04.2011, 20:29
"Über das Projekt eingebunden" meint asuro.c per Makefile und nicht per #include eingefügt. Im Makefile findet der Kompiler einen Hinweis auf asuro.c und baut die Datei deshalb in das Programm mit ein.
"Projekt" beschreibt alles was mit dem aktuellen Programm zusammenhängt. Das Wort "Projekt" taucht übrigends nur einmal in der asuro-Anleitung auf. Zufälligerweise genau an der Stelle über die wir uns grad unterhalten ;)
Funktionen:
https://www.roboternetz.de/community/showthread.php?39033-Befehls%FCbersicht-RP6-und-Asuro
.c und .h einbinden:
https://www.roboternetz.de/community/showthread.php?23909-Einbindung-asuro.c
asuro ohne Lib programmieren:
https://www.roboternetz.de/community/showthread.php?44397-Asuro-ohne-asuro.lib-programmieren
Hallo,
vielen Dank, auch für die hilfreichen links ! Mir raucht der Schädel, aber ich glaube, das mit den c- und h-Dateien und auch halbwegs mit dem makefile habe ich jetzt gefressen.
Vorläufig vorletzte ;-) Frage: Im AsuroWiki findet sich ein Tast Sensor Test C (andere laufen schon bei mir); in dem Programm-Code steht: "... benötigt die modifizierte Asuro Bibliothek asuro.c von waste [u.a.], ... zu finden bei www.roboternetz.de"
Ja mei, das roboternetz ist GREAT und large, wo find' ich die ?
http://sourceforge.net/projects/asuro/files/AsuroLib/AsuroLib%20V2.8.0/AsuroLib-v280rc1.zip/download
Es ist wichtig du liest die install.txt Datei durch. Man muss einige Anpassungen machen damit es gut funktioniert.
Abnormal
01.05.2011, 20:47
Auch und besonders die Bücher I und II zum Asuro, viel unverständliches Zeug für den Asuro-Neuling. Was soll in Bd. II z.B.der lange Exkurs über Operationsverstärker ?
NAja die Bücher finde ich eigentlich recht gut. Insbesondere der erste BAnd war sehr leicht verständlich geschrieben. Den zweiten habe ich noch nicht durchgelesen, aber OPs sind allgemein ein sehr wichtiges Thema in der Elektronik. Ich sag mal - wahrscheinlich einer der meist gebrauchtesten Bauteile überhaupt? Da kann es nicht schaden diesem ein paar Kapitel zu widmen - einfach zum besseren Verständnis.
Mit der HArdware des Asuros kenn cih mich - so denke ich- jedenfalls so einigermaßen aus, nur das Programmieren ist für mich totales Neuland und derzeit bin ich in ziemlichen Prüfungsstreß, usw. da geht grad so gar nix weiter.
Nochmal zum OP - im ENeffekt ist der AD/Wandler des Asuros ja auch nix anderes, eine gelieferte (heruntergebrochene/-geteilte) Spannung wird mit einer Referenz verglichen (Komparator) und in einen Digitalwert umgewandelt den der Prozessor verarbeiten kann... Opamp also das täglich Brot. Von daher wundert es mich nicht, das es ein großes und auch wichtiges Thema zum allgemeinen Verständnis des Asuros ist.
Bernd_Stein
02.05.2011, 10:39
...
Und dnake auch für die psychologische "Betreuung" ;-) .
Naja, von depressiv bin ich in wahrheit weit entfernt. Ein gewisser hang zur melancholie ist uns Wienern natürlich vorbehalten ;-) keine Angst vor dunklen Stimmungen ;-)
in Wirklichkeit ein dauergrinsender, als fröhlich bekannter, etwas abnormaler Zeitgenosse, was sich vor allem auf mein "früheres Leben" bezieht - jetzt aber eindeutig zu weit führen würde hier details abzuklären...
Dann laß Dir das auch nicht durch so unwichtig Dinge nehmen. Erstens führt eine pessimistische Grundeinstellung sehr sehr selten zum Erfolg. Zweitens hält Sie dich von einer Lösung ab, weil Du dann schnell und immer wieder davon abschweifst.
Aber die meisten Probleme werden halt dadurch gelöst das man dranbleibt.
nochmal zu den Tastern. Asuro verwendet zur Auswertung den A/DWandler des Atmega 8. An einem Spannungsteiler wird je nach Tastendruck die Betriebsspannung auf die Messspannung heruntergebrochen. Um Schwankungen kleinzuhalten ist ein Kondensator mitgeschalten der sich ohne TAstendruck auf Betriebsspannnung auflädt. Ich vermute das damit auch das Thema Tastenprellen erledigt ist.
Nein das Tastenprellen ist damit nicht erledigt.
Auf Seite 71 im Kapitel 9.2.12 ist zu lesen das verschiedene Werte eingelesen werden.
Aber nach einiger Zeit muß es aber mit den angebebenen den Werten ungefähr hinhauen.
Das heißt der Taster 1 bzw. K1 muß als Wert irgendwas in der nähe von 32 anzeigen, wenn nur er betätigt ist, ansonsten vermute ich das die Widerstände des Spannungsteilers für den A/D-Wandler nicht stimmen oder an der verkehrten Stelle eingebaut sind.
Oder ein anderer Taster ist betätigt oder wird halt als solches erkannt.
Die Werte die ich oben aus dem Kallibrationsprogramm kopiert habe sind von EINER Messung und bei mehreren Durchgängen stets gleich gewesen. Auffällig, das Taster 5 und 6 (bei korrekter Funktion) exakt gleiche Werte(Wertbereiche?) ausgeben. Taster 1 ( der im Test die Probleme mach) gibt nur 2 Werte aus, die noch dazu auch von allen anderen TAstern verwendet werden??
Wie oben schon beschrieben, ließ Dir nochmal Seit 71 bzw. Kapitel 9.2.12 durch. Besser noch alles was mit den Tastern bzw. K1 usw. zu tun hat.
Wir haben einem bekannten ( ca. 12 Jahre ) einen Asuro zum Geburstag geschenkt. Das Ding lag auch nach anfänglichen löten wieder in der Schublade (wahrscheinlich auch über ein Jahr ), weil er keinen passenden Lötkolben besaß.
Wir haben ihm dann passende Dinge gekauft, habe seitdem nur gehört das irgendwelche Transitoren kaputt sein sollen. Habe ihm passende besorgt, denke aber das Ding liegt wieder in der Schublade.
Wenn man es also als Anfänger geschafft hat, die Hardware fehlerfrei zusammenzubauen, hat man eine gute Grundlage um darauf aufzubauen.
ich hätte mir das so vorgestellt, das jeder TAster einen Wert ausgibt und der Fehler darin liegt, das ein TAster zB den Wert 1 hat und mein TAster 1 einen Wert, der durch Widerstandstoleranzen um 1 zu groß ist, weshalb der A/D-Wandler denkt, das in Wirklichkeit 2 TAtser gedrückt seien und den Motor (Wert1) zuschaltet. Das hab ich mir aber nur irgendwie zusammengesponnen und scheint ganz und gar nicht so zu sein.?
Auf der erwähnten Seite steht wie das mit den Tastern funktioniert. Taster 1 bzw. K1 liefert bei Betätigung den Wert 32, Taster 2 bzw. K2 den Wert 16 und so weiter. Mehrer Taster zusammen deren Summe. Aber bitte nicht so genau mit den Zahlen nehmen.
Aber wenn bei Dir der Taster K1 den Wert 74 ausgibt dann ist das schon mehr als das doppelte, was bedeutet das da Harwaremäßig ein Fehler ist.
Du hast doch schon viel geschafft, immerhin kannst Du die Taster auslesen. Das ist für den Anfang schon sehr viel denke ich, wenn ich das mit dem 12 Jährigen Bekannten vergleiche.
Bernd_Stein
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.