Forum: Analoge Elektronik und Schaltungstechnik Projekt zur Spannungsüberwachung mit dem AT90USB/STK525


von Lisa K. (lisa)


Lesenswert?

Hallo,

ich möchte mit einem STK525 StarterKit eine Spannung überwachen und 
auswerten.
Leider habe ich kaum Erfahrung mit AVR's, USB... hatte im Studium mit 
dem 68HC12 (damals von Motorola) zu tun und auch nur in Assembler.
Bin jetzt schon fast vier Wochen dabei mir Wissen anzueignen, aber es 
geht nur sperrlich voran, da das alles auch recht komplex ist. Die 
Beispiele von Atmel habe ich schon fast alle gemacht, weitergeholfen 
haben sie aber kaum. Wenn ich selber ein Projekt erstelle läuft es nicht 
und auch wenn ich Änderungen in den Vorlagen mache endet das meist mit 
einem Haufen an Fehlermeldungen.

Mein größtes Problem (bis jetzt) ist der Umgang mit den ganzen 
Bibliotheken und den Makros; wann man welche header braucht, was das 
Makro macht(find ich auch ziemlich aufwendig wenn man nach jedem Makro 
suchen muss um zu sehen auf welche Flags etc. es Auswirkungen hat)...

Habe mich schon im Forum etwas umgesehen, einige Sachen konnten mir auch 
weiterhelfen, sind ja eine Menge Leute mit Erfahrungen hier, leider 
gibt's noch nicht allzu viel über den AT90USB.

Wenn mir jemand Rat geben könnte wie ich effizienter meinem Ziel näher 
komme wäre das echt super. Ich nutze das AVRStudio mit WinAVR Compiler 
und FLIP.

Ich hoffe es meldet sich jemand...sonst werd ich weiter probieren und 
dann konkrete Fragen posten.

LG Lisa

von Stefan Salewski (Gast)


Lesenswert?

Eine mögliche Alternative wäre vielleicht meine freie USB-Firmware:
http://www.ssalewski.de/Misc.html.de
Ich denke, dass sie grundsätzlich etwas kompakter und damit 
übersichtlicher ist als die Sachen von Atmel. Zudem liest meine 
Beispielanwendung zufällig gerade Werte vom ADC und überträgt sie zu PC.
Wenn man Grundkenntnisse in USB, avr-gcc und AT90USB (Datenblatt) hat 
sollte man eigentlich mit meiner Firmware klarkommen -- ohne diese 
Grundkenntnisse geht es aber leider nicht.

Gruß

Stefan Salewski

von Lisa K. (lisa)


Lesenswert?

Auf der Website war ich auch schon und hab mich umgeschaut, aber ich 
dachte das wäre nur für Linux-User!

Das es ohne Grundkenntnisse nicht geht ist klar, ich will mir diese ja 
auch aneignen; da dachte ich vielleicht gibt es ja Tipps wie man da am 
besten vorgeht, von denen die das schon hinter sich haben und wissen 
worauf es ankommt, worauf man achten sollte etc.

Lisa

von Stefan Salewski (Gast)


Lesenswert?

>dachte das wäre nur für Linux-User!

Du hattest ja nicht klar gesagt, dass Du auf Windows festgelegt bist.

Aber grundsätzlich kann man meine Software auch für Windows einsetzen.
Die Firmware auf dem AT90USB ist ja eh unabhängig vom Betriebssystem, 
und PC-seitig könnte man LibUSB verwenden, die es auch für Windows gibt. 
Ober man könnte einen Device-Driver für Windows schreiben (soll recht 
schwierig sein) oder meine Firmware um die HID-Device-Klasse erweitern, 
dann kann man die Firmware unter Windows ohne Treiber ansprechen.

Aber eventuell ist es unter Windows mit Atmels Software doch einfacher.

Wie sieht es derzeit eigentlich mit Atmels Software aus? Kann man die 
jetzt einfach runterladen, oder muss man sich vorher noch immer 
registrieren? Und ist Atmels Software jetzt kompatibel zum avr-gcc?

Gruß

Stefan Salewski

von Lisa K. (lisa)


Lesenswert?

Beispiele kann man hier runterladen: 
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4199

Software wie AVRSTudio nur mit Registrierung, hab mir letztens auch das 
Update geladen mit dem die AVRSimulation möglich ist. Die Registrierung 
ist nur Schikane, man gelangt direkt nachdem man ("irgendetwas") 
eingegeben hat zum download. Die Beispiele haben mit dem AVR-GCC 
funktioniert, irgendwo hab ich gelesen, dass es in manchen Fällen 
Probleme geben soll, bin aber nicht die Richtige um das beurteilen zu 
können, obwohl manchmal schon merkwürdige Fehler kamen, wie "avr 
undefined reference to ..." bei nur minimalen Änderungen.

Zu meinem Projekt: ich werd jetzt erst mal versuchen die Spannung zu 
messen und dann über eine LED anzuzeigen, ich brauch eigentlich auch 
keine genaue Spannungsmessung, sondern nur ein "Ereignis", sobald ein 
bestimmter Wert überschritten ist, im nächsten Schritt wollte ich dann 
mit dem uC eine Gegenmaßnahme einleiten.

@Stefan
Hab mich schon etwas mit deiner Firmware beschäftigt, leider kann 
AVRStudio einige Bibliotheken nicht finden: usb.h, getopt.h
Sind das Standardlibraries? Bei WinAVR sind sie nicht dabei.
...werd's noch weiter damit rumprobieren



Ist der Controller eigentlich sehr empfindlich gegen elektromagnetische 
Felder?

MfG Lisa

von Stefan Salewski (Gast)


Lesenswert?

>@Stefan
>Hab mich schon etwas mit deiner Firmware beschäftigt, leider kann
>AVRStudio einige Bibliotheken nicht finden: usb.h, getopt.h
>Sind das Standardlibraries? Bei WinAVR sind sie nicht dabei.

Du darfst nicht die Quelltexte der Firmware mit dem PC-seitigen 
Testprogramm durcheinanderwürfeln. Das Testprogramm heißt bei mir 
SUDAP.c (Simple Usb Data-Acquisition-Program). Dieses läuft auf dem PC 
und kommuniziert mit dem USB-Gerät. Dieses Testprogramm wird deshalb 
auch nicht mir avr-gcc kompiliert, sondern mit dem Compiler für den PC, 
bei mir gcc. Und dieses Testprogramm ist ein wenig vom Betriebssystem 
abhängig, getopt.h wird (für Linux) verwendet um Kommandozeilenparameter 
auszuwerten. SUDAP.c wird man für Windows etwas anpassen müssen -- wenn 
man sich etwas auskennt ist das einfach.

Die übrigen Dateien bilden die Firmware, die ist 
Betriebssystemunabhängig. Ich hatte sie allerdings nur mit avr-gcc 3.4.6 
getestet -- wenn Du einen aktuellen avr-gcc verwendest, könnten kleine 
Anpassungen nötig sein.

Aber egal ob Du jetzt meine Firmware oder die von Atmel verwendest, mit 
Deinem derzeitigen Kenntnisstand eine USB-Datenübertragung zu 
realisieren wird sehr schwer. Wenn Du eine Vorlage findest (von Atmel?) 
die Du nur minimal anpassen musst mag es gehen, dann hast Du zwar 
scheinbar ein Erfolgserlebnis, aber dennoch nicht viel gelernt.

Deine Idee, erstmal mit der Spannungsmessung (ADC) anzufangen und das 
Ergebnis über Leuchtdioden anzuzeigen ist daher schon ganz gut. USB 
kommt dann später. Du kannst ja nebenbei mal versuchen dir das Buch von 
H.J. Kelm auszuleihen und die ersten 100 Seiten lesen, dann kennst Du 
schon mal die Grundlagen des USB.

Und falls Du wirklich ein Mädchen oder eine Frau bist und Dich über die 
geringe Hilfsbereitschaft der Männer hier wunderst: Hinter fast jedem 
weiblichen Namen in diesem Forum verbirgt sich ein fauler männlicher 
Dummkopf.

Gruß

Stefan Salewski

von Lisa K. (lisa)


Lesenswert?

>Hinter fast jedem weiblichen Namen in diesem Forum verbirgt sich ein
>fauler männlicher Dummkopf.

Das ist ja witzig, die erhoffen sich dann mehr Hilfe oder wie; oder das 
verletzt deren stolz, kann man ja mit nach dem Weg fragen beim Auto 
fahren vergleichen ;), da muss ja auch, wenn vorhanden, meist die 
Beifahrerin ran.
Nee, ich bin eine richtige, echte Frau.
Das etwas wenig Beteiligung ist, hat mich auch schon gewundert, aber ich 
hab ja auch noch nix konkretes gefragt, vielleicht ändert sich's ja 
dann.

MfG Lisa

von Lisa K. (lisa)


Lesenswert?

Hallo,

habe das mit der AD-Wandlung und der LED-Ansteuerung endlich 
hinbekommen. Jetzt will ich es mit deiner Firmware versuchen, es 
scheitert aber schon beim einschalten einer LED. Ich habe alle Files mit 
eingebunden(außer SUDAP.c natürlich ;)) und den Port für die LED's auf D 
gesetzt(STK525). Es kommen zwar einige "warnings", um genau zu sein 254, 
das ist aber nur, weil es Mehrfachdefinitionen gibt zwischen io.h und 
ioAT90USB1287.h(hat dann mit der neuen Version des avr-gcc zu tun, oder 
ist das bei dir auch so?), daran kann es aber doch nicht liegen, habe 
auch mal ioAT90USB1287.h rausgenommen, funktionierte aber trotzdem 
nicht.
In der Simulation in AVRSTudio wird der PortPin gesetzt(bei mir PORTD, 
DDD4)
Was muss denn evtl. noch angepasst werden?

Dann noch etwas zu deiner Experimentierplatine, würde die gerne 
nachbauen, kann aber die Dateien nicht öffnen, weil ich kein Linux hab, 
und es gEDA für Windows nicht gibt. Hab es mit KIcad versucht, war aber 
nicht kompatibel(auch nict die Schematics, obwohl sie die gleiche Endung 
haben, da gibt es wohl auch noch verschiedene). Könntest du die Dateien 
die ich dann an den Platinenhersteller schicken muss vielleicht online 
stellen?, oder gibt es ein Programm unter Windows, dass diese Formate 
unterstützt und mir dann die Gerder und andere Dateien erstellt?

Gruß Lisa

PS: wenn jemand anderes auf meine Fragen/Probleme Antwort/Hinweise hat, 
ist er natürlich auch angesprochen ;)

von Stefan Salewski (Gast)


Lesenswert?

@Lisa Kunze:

Hallo Lisa,

nachdem ich einige Deiner Postings gelesen habe, würde ich Dir doch ganz 
stark davon abraten, meine USB-Firmware oder meine Platine zu werwenden. 
Bei Dir fehlen momentan einfach zu viele Grundkenntnisse auf diesem 
Gebiet -- da ist der Frust vorprogrammiert. Ich bin zwar gerne bereit, 
mal die eine oder andere Frage zu beantworten, aber ich kann und will 
mich nicht in endlosen Erklärungen verlieren. Zu meiner Platine und zu 
meiner Firmware steht alles nötige auf den zugehörigen Internetseiten, 
ich habe mir damit wirklich recht viel Mühe gegeben. Wer sich etwas 
auskennt sollte damit klarkommen. Zu der Platine: Ich hatte mir einige 
Leiterplatten für mich und einige Kollegen/Freunde fertigen lassen, 
momentan sind leider alle vergeben. Natürlich könnte ich bei Bedarf 
Leiterplatten nachbestellen, ich habe aber Zweifel ob Du sie sachgemäß 
bestücken kannst. Wenn nicht gibt es wieder Frust. Wenn ich sie für Dich 
bestücken würde müsste ich zunächst neue Bauteile bestellen und müsste 
von Dir zumindst die Materialkosten verlangen (ca. 38 Euro). Aber evtl. 
kommst Du dann mit der Platine aus irgendwelchen Gründen doch nicht 
zurecht, Du bist dann gefrusted, und ich fühle mich dann auch nicht gut. 
Also lassen wir es besser. Ich hoffe Du hast dafür Verständnis.

Dass es mit avr-gcc 4.x kleine Probleme geben könnte, hatte ich schon 
befürchtet. Die Firmware ist mit avr-gcc 3.4.6 entwickelt worden, und 
ich habe momentan keine neuere Version zur Verfügung. Ich werde mich 
bemühen demnächst eine aktuelle Compilerversion zu installieren und dann 
die Quelltexte anpassen.

Gruß

Stefan Salewski

von Lisa K. (lisa)


Lesenswert?

Das frusted auch..., aber du hast wohl recht. Mir ist es ja auch 
unangenehm immer wieder Fragen zu stellen, aber ich denke/hoffe, dass es 
so schlimm noch nicht war. Vielleicht ist das Kit und USB noch ne Nummer 
zu groß für mich, da ich eigentlich für's erste nur Signale einlesen und 
dann auswerten möchte.
Vielleicht ein letzter Tipp?! ;)
Ich suche ein Board mit dem ich mehrere Signale wandeln kann und bei dem 
die Möglichkeit besteht diese auszuwerten und das dann ein Signal 
ausgibt.
(Datenübertragung der gewandelten Signale an den Rechner sind dabei 
erstmal nicht erforderlich)

Gruß Lisa

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.