Moin zusammen, ich bin neu in diesem Forum und bitte um Verständnis, das ich (vermutlich) etwas frage, was schon x-mal gefragt worden ist. Grundsätzlich bin ich seit Jahrzehnten in der Elektronik zu Hause, aber mit den kleinen schnuckeligen AVR habe ich bisher keine Erfahrung sammeln können. Ich habe nun folgende Aufgabe, die vermutlich sehr einfach mi einem AVR zu realisieren ist: es gibt 2 Analogwerte (Spannungen), die nacheinander eingelesen werden sollen. Nacheinander deswegen, weil nach dem Einlesen der ersten Messung mittels eines digitalen Ausgangs eine (vorübergehende) Umschaltung des Stromkreises geschehen muß. Nach der Umschaltung (vermutlich mit kurzer Wartezeit) soll dann der Strom erneut gemessen werden. Wenn beide Stromwerte (Spannungsfälle über einem Widerstand) bekannt sind, sollen in Abhängigkeit davon, welcher Stromwert der größere ist, per digitalen Output ein MOSFET Transistor geschaltet werden. Der Vorgang soll alle x Minuten wiederholt werden. Es werden insgesamt ein analoger Eingänge und 3 binäre Ausgänge benötigt. Ok, vielleicht sollen noch 2 LED mit angesteuert werden für die schnelle Überprüfung, welcher Zustand dann gesetzt ist. Frage nun: reicht ein Atmega8 dafür aus - ich denke eigentlich schon und so habe ich auch bereits ein Starterboard bei "myAVR" in der light Bausatzversion geordert. Nicht ganz simpel sind wohl ist vermutlich die Programmierung der A/D-Wandler. Womit macht man das als Anfänger idealerweise? Auf was ist bei der ADC-Programmierung zu achten? Generell ist die Sache nicht zeitkritisch. Ich schrieb schon weiter oben, daß der Zyklus vermutlich alle 5 bis 10 Minuten stattfinden soll. Danke Euch für Eure Hinweise! Heidegeist
Rainer W. schrieb: > Grundsätzlich bin ich seit Jahrzehnten in der Elektronik zu Hause, aber > mit den kleinen schnuckeligen AVR habe ich bisher keine Erfahrung > sammeln können. Das klingt nach jemandem der ein AVR-Tutorial machen muss. http://www.mikrocontroller.net/articles/AVR-Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Rainer W. schrieb: > Ich habe nun folgende Aufgabe, die vermutlich sehr einfach mi einem AVR > zu realisieren ist: einfach ist relativ. Für jemanden geübten sicherlich - Anfänger überschätzen sich gerne. Aber lass uns mal schauen was du vor hast. Rainer W. schrieb: > es gibt 2 Analogwerte (Spannungen), die nacheinander eingelesen werden > sollen. Welche Größenordnung [V] und DC/AC Rainer W. schrieb: > Nach der Umschaltung (vermutlich mit kurzer > Wartezeit) soll dann der Strom erneut gemessen werden. soll jetzt Spannung oder Strom gemessen werden ? Vorhin hieß es 2 Spannungen jetzt plötzlich Strom ... Rainer W. schrieb: > Es werden insgesamt ein analoger Eingänge und 3 binäre Ausgänge > benötigt. Ich nehme mal an du willst jetzt beides mal den Spannungsabfall über einem Shung (Widerstand) messen. Entweder schaltest du um oder du verwendest 2 AD Wandler welche wie ich hoffe jeder AVR an Bord hat. Binäre Ausgänge gibt es nicht. Heißt logisch od. digitaler Ausgang. Binär ist ein Zahlensystem. -> Tutorial Rainer W. schrieb: > Frage nun: reicht ein Atmega8 dafür aus - ich denke eigentlich schon und > so habe ich auch bereits ein Starterboard bei "myAVR" in der light > Bausatzversion geordert. Äääm du versuchst mit einem Porsche eine Schnecke zu überholen. Der Mega8 langweilt sich zu Tode. Es reicht dir der absolut kleinste Tiny aus den du finden kannst. Selbst der schläft 99% der Zeit und langweilt sich. Ein MEGA wäre hoffnungslos überdimensioniert. Rainer W. schrieb: > Nicht ganz simpel sind wohl ist vermutlich die Programmierung der > A/D-Wandler. Womit macht man das als Anfänger idealerweise? > Auf was ist bei der ADC-Programmierung zu achten? Dazu musst du das Tutorial durchmachen. Ich gebe dir einen guten Tipp: Glaube nicht, dass du nicht den ganzen Zirkus mitmachen musst. Du musst bei Null anfangen und alles lernen. Nur einen Abschnitt zu lernen ist sinnlos. Alles was du brauchst steht im Tutorial das ich oben gelinkt habe. Wenn man nicht alle Grundlagen beherrscht fällt man schnell auf die Nase und man legt das Projekt frustriert in die Ecke. Rainer W. schrieb: > Generell ist die Sache nicht zeitkritisch. Ich schrieb schon weiter > oben, daß der Zyklus vermutlich alle 5 bis 10 Minuten stattfinden soll. Der AVR langweilt sich zu Tode. Es wäre zu überlegen, ob man nicht auf eine diskrete Schaltung umsteigt. Dann würde man sich einen Monat AVR Programmieren Lernen sparen. Wie gesagt gescheit lernen ansonsten scheiterst du kläglich. # In der Summe ein sehr gut zu machendes Projekt. Sehr schön für Anfänger. Nimm den kleinsten AVR den du finden kannst. Der reicht schon tausend mal aus.
Rainer W. schrieb: > Es werden insgesamt ein analoger Eingänge und 3 binäre Ausgänge > benötigt. Ok, vielleicht sollen noch 2 LED mit angesteuert werden für > die schnelle Überprüfung, welcher Zustand dann gesetzt ist. >Frage nun: reicht ein Atmega8 dafür aus - ich denke eigentlich schon und >so habe ich auch bereits ein Starterboard bei "myAVR" in der light >Bausatzversion geordert. Ja. >Nicht ganz simpel sind wohl ist vermutlich die Programmierung der >A/D-Wandler. Womit macht man das als Anfänger idealerweise? >Auf was ist bei der ADC-Programmierung zu achten? Guck ins Tutorium! >Generell ist die Sache nicht zeitkritisch. Ich schrieb schon weiter >oben, daß der Zyklus vermutlich alle 5 bis 10 Minuten stattfinden soll. Da kann sich der Controller zwischendurch schlafen legen...
Moin zusammen, vielen Dank für Eure prompten Antworten! ich habe geschrieben, daß ich den Spannungsfall an einem Widerstand (sprich: Shunt) messen werde. Ich denke, daß damit die Frage geklärt ist. Auch wenn ein Controller mit dieser Popelaufgabe nur zu einem geringen Teil ausgelastet, werde ich dennoch zunächst an der Atmel-Umsetzung festhalten. Sofern diese (erste) Umsetzung so funktionieren sollte, wie ich mir das vorstelle, dann würde ich einige solcher Module mehr benötigen und dann relativiert sich der Aufwand. Sollte sich im Laufe der Zeit herausstellen, daß eine Modifikation der Steuerung notwendig wäre, würde sich die AVR-Lösung vermutlich als günstiger darstellen als eine reine Hardwarelösung. Die Ströme, die zu messen sind, liegen im Bereich zwischen 0,5A und rund 8A. Ein Widerstand von bspw. 0,5 Ohm könnte in der Ruhezeit mit einem Power MOS überbrückt werden. Wenn der Controller sich zwischendurch schlafen legen darf, ist mir das auch recht... bei dem Stundenlohn :-) Bliebe die Einarbeitung in die Programmierung und das könnte die Hemmschwelle sein... Tschüss Heidegeist
Rainer W. schrieb: > Sollte sich im Laufe > der Zeit herausstellen, daß eine Modifikation der Steuerung notwendig > wäre, würde sich die AVR-Lösung vermutlich als günstiger darstellen als > eine reine Hardwarelösung. > Bliebe die Einarbeitung in die Programmierung und das könnte die > Hemmschwelle sein... Bei Null anfangen ist sicherlich anstrengend, aber mit elektrotechnischem Grundwissen deutlich leichter als ohne. Nimm das o.g. AVR-GCC-Tutorial durch, und Du bist auf dem richtigen Weg. Das Gelernte kannst Du später anderswo verwenden und ausbauen; das ist eindeutig flexibler als eine Hardwarelösung. Und für Detailfragen war das Forum hier schon immer gut.
Moin Lutz, ich sehe das genau so, wie Du. Ich werde es versuchen mit dem Atmos und es findet sich sicherlich eine Hilfestellung hier im Forum, wenn es klemmen sollte. Tschüssi Rainer
Noch ein Tip zur Auswahl des richtigen AVRs: Die ADCs der verschiedenen Typen sind unterschiedlich ausgestattet. Ein Mega8 hat z.B. eine interne Referenz von 2,5 V, ein (pinkompatibler) Mega48 hat aber eine interne Referenz von 1,1 V. Da Du Spannungsabfälle über Shunts messen willst, ist eine kleine Referenz besser. Schau Dir mal den Tiny26 (und seine Nachfolger 261/461/861) an, die haben Gain im ADC. Ein Tiny26 mit Differenzmessung und Gain 20 braucht z.B. 128 mV für Vollausschlag (2,56 V interne Referenz und Gain 20). Damit kann man den Shunt recht niederohmig halten, was auch die Verluste minimiert. Das Programmieren des ADC ist übrigens nicht das Problem, ist er einmal initialisiert, arbeitet er autark im Hintergrund. Man kann dann jederzeit mittels einfachem I/O-Zugriff seinen zuletzt gewandelten Wert auslesen. Solltest Du bisher mit keinerlei Programmiersprache in Berührung gekommen sein, so halte ich Assembler für das Verständlichste. Kannst Du bereits etwas C, dann solltest Du versuchen, die Sache mit mit C anzugehen. Hast Du bereits etwas BASIC-Wissen, so solltest Du Dir Bascom-AVR mal ansehen. Aber unabhängig von der Programmiersprache solltest Du Dir unbedingt die Datenblätter der in Frage kommenden AVRs ansehen, denn ohne Wissen über die "Eingeweide" wirst Du die gegebenen Möglichkeiten nicht ausschöpfen können. ...
Da Du große Ströme messen willst, solltest Du besser einen AVR mit Verstärker vor dem ADC nehmen, z.B. ATtiny25 oder ATtiny24. Peter
Hallo zusammen, vielen Dank für Eure konstruktiven Posts! Die Sache mit der Wahl des "richtigen" AVR (aufgrund der ADC-Thematik) finde ich interessant. Bisher hatte ich die Idee, den Shunt in der Zeit, wo nicht gemessen wird, durch einen MOS-Transen zu überbrücken. Da gibt es einige, die 30mOhm haben... mal schauen. BASIC- und Assembler-Kenntnisse sind aus den guten alten Zeiten mit meinem "Brotkasten" (Commodore C64) noch gegeben. Der hatte damals gute Dienste in Form einer Heizungs-/Raumtemperaturregelung geleistet. Der 6510- (respektive 6502-Prozessor) ist zwar etwas anders, aber prinzipiell ist das auch Assembler. Ich denke, ich werde mich da wieder reinfinden mit der Zeit. Bis die Tage Rainer
Moin zusammen, gestern habe ich den Atmel-Kit zusammengelötet, der auf Anhieb lief. Der Set von MYAVR war für rund 19EUR incl. weiterer Kleinteile und Porto zu haben und dafür ist das sehr attraktiv, zumal der Kit sehr gut gemacht ist! Danach kam die "harte Phase" und ich mußte mich mit dem Programmieren des ATMEL auseinandersetzen. Sehr geholfen hat der kleine, lockere BASKOM-Kurs http://halvar.at/elektronik/kleiner_bascom_avr_kurs/ von Gerold Penz! Damit habe ich dann gestern soviel Wissen aneignen können, daß ich das gewünschte Programmchen schon darstellen konnte. Der Tip von Hannes wg. BASCOM war goldrichtig! Die Demoversion reicht mir voll und ganz. Programmiert habe ich den ATMEL per USB mit dem myAVR PROGTOOL. Also die gesamte Software war kostenlos zu haben. Die notwendige Hardware (u.a. 2 MOSFET-Transen, Spannungstabi) sind auch schon in Arbeit. Leider bin ich die ganze Woche beruflich unterwegs. Ich denke, daß der erste richtige Probelauf am kommenden Wochenende angehen kann. Danke nochmals an alle für ihre Hilfestellung! Heidegeist
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.