PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Möglichst kostengünstiger programmierbarer Einstieg



CodeFan
24.08.2014, 08:50
Hallo,

ich hab mir jetzt einige Threads zum beginnen und Einstieg durchgelesen, hadere aber noch mit mir was jetzt so das ideale für mich ist.
Ich bin seit 15 Jahren Softwareentwickler, habe endlos Programmiersprachen gemacht und auch fertige Geräte über Schnittstellen angesteuert. Und bin halt seit geraumer Zeit am überlegen mal irgendwas selbst zu basteln, reizt mich als Aufgabe einfach ziemlich.

Problem ist, die nötigen Bauteile müssten für den Einstieg möglichst kostengünstig sein. Fokus liegt jetzt nicht darauf irgendwas fertiges zu haben was dann besonders toll fertige Funktionen ausführt, sondern interessieren tut mich am meisten natürlich etwas programmierbares und sei es erst einmal was völlig simples, wo man Erfahrungen sammelt mit denen man sich dann an komplexere Sachen rantasten kann. Programmiersprache dabei völlig egal.

Ideal wäre natürlich was was man als später noch als Modul verwenden kann, aber wenn das schwierig kostengünstig ist, dann auch problemlos was eben ohne diese Möglichkeit.

Habt ihr da spezielle Empfehlungen?

oberallgeier
24.08.2014, 09:35
... Einstieg ... reizt mich als Aufgabe ... Bauteile müssten für den Einstieg möglichst kostengünstig ... erst einmal was völlig simples ...Wenn Du nicht so deutlich auf "simpel", "kostengünstig" und Deine Programmiererfahrungen hinweisen würdest, würde ich das Folgende (klick) (http://rn-wissen.de/wiki/index.php/AVR-Einstieg_leicht_gemacht) eher nicht raten. Aber es könnte für Dich genau das Richtige sein:

......http://rn-wissen.de/wiki/images/thumb/c/c9/Avr8.jpg/300px-Avr8.jpg

Den Controller betreibst Du erstmal ohne Quarz, mit dem internen Takt, einfacher gehts kaum. Ein Steckbrett (klick hier) (https://guloshop.de/shop/Zubehoer-und-Kleinteile/Steckplatine-840::68.html?XTCsid=sff4b47hfb8c86hbfvuci3l713) wäre sinnvoll(er) - es lässt sich später auch benutzen (nimm lieber dieses große statt etwas preisgünstigeres) - gäbs auch beim gleichen Lieferanten zusammen mit Kabeln. Dann bräuchtst Du anfangs nicht soo viel zu löten. Dazu ein paar Bauteile: Widerstände - 1k, 5k, 10k (100k?), zwei, drei Leuchtdioden, ein Poti z.B. 10k_lin. Evtl. ein, zwei Elkos um 22o µF. Dazu nen Programmer (https://guloshop.de/shop/Mikrocontroller-Programmierung/guloprog-der-Programmer-von-guloshop-de::70.html?XTCsid=sff4b47hfb8c86hbfvuci3l713) und gleich noch nen Controller (https://guloshop.de/shop/Mikrocontroller/ATmega328-P::17.html?XTCsid=sff4b47hfb8c86hbfvuci3l713) (lieber etwas nicht mehr sooo kleines - mit Blick auf später) vom gleichen Lieferanten. Mit dem Pro grammer habe ich keine - mit dem Lieferanten sehr gute Erfahrung (unschlagbare Preise zu den Controllern). Stromquelle? Drei Zellen reichen - oder ein Netzteil das WIRKLICH nur 4,9±0,3V liefert. Und bitte: bau Dir gleich am Eingang ne Diode als Schutz gegen Verpolung des Eingangs auf.

Der Rest ist dann aus dem Internet. AVRStudio 4 (für richtig große Projekte auch das Studio 6 - da gibts ne ziemlich umfangreiche Projektorganisation dazu). Mit dem eben genannten Controller habe ich keine Erfahrung, ich habe nen teureren, (http://www.exp-tech.de/Mainboards/Pololu-USB-AVR-Programmer.html) nach einigen etwas billigeren, der aber einige Vorteile und Features hat, die für "später" ziemlich sinnvoll sein können. Bei ebucht gibts solche Dinge aber auch - sehr billig. Der verlinkte Pro grammer funktioniert sehr unkompliziert und sicher aus dem AV RStudio gleich als "STK500" - wirste dann später genauer erfahren.

Alles nur meine Meinung, größtenteils meine Erfahrung - und es ist erstmal sehr minimalistisch. Ich selbst hatte vor Jahren von Null auf angefangen mit dieser Variante. (http://www.b-kainka.de/lpmikros.htm) Die nötige Brainware gibts im Internet. Das eine oder andere Codebeispiel, für Dich sicher in C, z.B. hier im RNWissen. (http://rn-wissen.de/wiki/index.php/RN-Control_Demoprogramm_in_C)

Ach ja, das Datenblatt zum Controller. Hier - diesmal kein deep link (http://www.atmel.com/products/microcontrollers/avr/default.aspx) - nur als kleine Aufgabe (su che mega A V R) für Dich *ggg*. Und weils Sonntag ist ... (http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf)

Hoffentlich wars nicht zu viel zum Lesen und Klicken, viel Erfolg, schönen Sonntag!

Sorry für den Nachtrag: 100 nF Kondensator(en), gegen "Eingangsstörungen" der Versorgung. Evtl. noch nen Quarz (für später, der 328er verträgt 20 MHz) - dann aber 22 pF. Von beiden Größen eher gleich je 10.

robosapiens
24.08.2014, 09:49
Wenn ich auch meinen Senf dazugeben dürfte.... :)

Ich habe vor einiger Zeit auch bei Null angefangen. Würde dir ebenfalls wie oberallgeier ein Steckbrett und wenige Bauteile wie Widerstände, Kondensatoren, Led's, Potis etc. empfehlen. Ich habe vor ein paar Monaten eine Hobbyauflösung über ebay-Kleinanzeigen gekauft für 50EUR. Dafür habe ich knapp 50 000 verschiedene Widerstände, Microcontroller, 1 000 Led's und sehr vieles mehr bekommen. Ich kann dir diese Variante nur empfehlen! Des weiteren würde ich dir für den Anfang folgendes Board empfehlen: http://www.ebay.de/itm/ATmega8-microBOARD-M8-ATMEL-AVR-/221522554344?pt=Bauteile&hash=item3393c5ede8 Ich habe dieses Board mehrmals für verschiedene Projekte gekauft und kann es mit gutem Gewissen weiter empfehlen.

Mxt
24.08.2014, 13:50
Zum Thema AVR wurde ja schon was geschrieben. Daher erlaube ich mir mal zwei andere Vorschläge:

Erstens, wirf mal einen Blick auf den hier
http://mbed.org/platforms/ST-Nucleo-F401RE/
der kostet je nach Versender zwischen 9 und 13 Euro.

Die Programmierung ist erstmal rein Browserbasiert, was in der Praxis besser geht, als man zunächst erwartet.
http://mbed.org/getting-started/
http://mbed.org/handbook/Homepage
http://mbed.org/cookbook/Homepage
Auf richtige Entwicklungsumgebungen kann man dann später noch umsteigen.

Zweitens, falls man Linux gewöhnt ist
http://beagleboard.org/black
die Programmierung reicht von C und C++ über Scriptsprachen
https://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/using-the-bbio-library
bis Node.js
http://beagleboard.org/Support/BoneScript

Dazu LEDs, Widerstände und ein paar Schalter, das wurde schon gesagt, tausende müssen das aber nicht gleich sein. Dann noch mindestens eine Steckplatine, etwas Werkzeug und ein billiges Multimeter.

White_Fox
24.08.2014, 16:56
Ich hätte aber auch zum AVR geraten. Ich tue es aber nicht mehr da oberallgeier das schon so schön ausgeführt hat.

Neben dem Hühnerfutter würde ich aber noch ein paar Lochrasterkarten und etwas Lötequipment ins Feld werfen. Einige Grundschaltungen kommen immer wieder, blöd die jedesmal wieder neu aufbauen zu müssen. Was auch nicht verkehrt ist: Bau dir ein eigenes Testboard. Lies dir ein Tutorial durch und was man da so machen kann (ich empfehle auch gern das Tutorial auf mikrocontroller.net), überleg dir was du machen willst und dann leg los.

Wenn du Interesse hast, dann kann ich ja mal mein eigenes Board vorstellen. Die Teile kosten insgesamt vielleicht 10-15 Taler, aber du hast ne Weile was zu Löten. Als Starterausrüstung bietet es u.a.:

LCD
8x LED
8x Taster
3x Poti (analoge Spannung messen)
Quarze + Schwingkapazität wechselbar


Wie gesagt, es ist fast fertig, außer der zweiten Betriebsspannung (Ich hab zwei per Jumper wählbare Spannungen für den Controller vorgesehen) läuft es auch, am letzten Problem arbeite ich gerade. Ansonsten habe ich das Board so gestaltet, dass man sich leicht ein Addon dazu bauen kann. Z.B. um eine RS232-Verbindung zum Rechner herzustellen (was mein erstes Projekt damit werden soll). Schrittmotoren und Servos zu steuern und Steuersignale auswerten folgen dann auch bald...

Mxt
24.08.2014, 17:35
Der Lötkolben wäre dann sicher der nächste Schritt, wenn man sicher ist, dass Elektronik was für einen ist.

Was mir aber noch einfällt, wenn man eine Grundaustattung Bauelemente kauft, wäre ein lichtempfindlicher Widerstand (LDR) und ein temperaturempfindlicher Widerstand (NTC). Dann hat man auch andere Eingaben, als nur Poti-drehen und Knöpfchen-drücken

White_Fox
24.08.2014, 19:45
Noch ein Tipp: Für eine kleine Bauteilesammlung eignen sich die Grabbel-Sortimente von Pollin ganz gut. Grad für Widerstände und Kondensatoren sind die prima geeignet. Für viele Anwendungen sind die genauen Werte in weiten Bereichen völlig egal. Es interessiert niemanden, ob ein Pullup/down-Widerstand 500Ω oder 10kΩ groß ist, zumindest nicht bei Bastelleien.

Und ein 12V-Netzteil ist immer gut. Für den Anfang reicht ein billiges Steckernetzteil. Für später vielleicht ein Labornetzteil.

CodeFan
24.08.2014, 19:55
Danke für die vielen schnellen Antworten.
Werde mit jetzt mal die ganzen zusammensuchen und dann mal anfangen mit basteln

CodeFan
31.08.2014, 16:14
Ich muss nochmal dumm fragen, ich hol mir grad das zeug was ich brauche.

Steckbrett, Kabel, Controller hab ich. Brauch jetzt noch Widerstände, lampen und sowas aber das ist nicht weiter das Problem.

Aber 2 Sachen sind mir noch nicht wirklich klar.

Erklärt mir mal einer kurz das Grundprinzip von so einem Programmer wie von oberallgeier verlinkt.
Da gibts ja jede Menge verschiedene, die sind per USB mit dem PC verbunden und da wird dann Programmcode übersetzt und übertragen, soweit klar, aber wie ist denn jetzt die Verbindung von Programmer und dem Controller?

Zweite Frage, dieses Minibeispiel mit dem Bild nutzt ja Batterien als Stromquelle. Wenn ich jetzt statts Batterien irgendeine Stromquelle verwenden möchte, habt ihr da Empfehlungen für mich?

White_Fox
31.08.2014, 18:49
Der Programmer fungiert als eine Art "Übersetzer". Der spielt das Programm (sogenannte Hex-Datei) in den Controller.
Mit der seriellen Schnittstelle konnte man das Proramm auch ganz einfach ohne Prorammer in den Controller schreiben, bei dieser lassen sich die Pins der Buchse noch ganz gut ansteuern. Mit USB geht das nicht so einfach, außerdem hätte USB sowieso zu wenig Anschlüsse für eine direkte Verbindung.
Einfach gesagt.

Die Verbindung wird über die ISP-Schnittstelle gemacht. Da gibt es dann entweder sechs- oder zehnpolige Wannenstecker mit entsprechendem Kabel, einfach an die jeweiligen Beinchen des Controllers anschliessen.

Und zu deiner Frage: Für erste Übungen sollte eine Wandwarze (http://www.pollin.de/shop/dt/NDM3ODQ2OTk-/Stromversorgung/Netzgeraete/Steckernetzgeraete/Micro_USB_Steckernetzteil_QUATPOWER_PSN5_1000M_5_V _1_A.html) völlig ausreichen. Ich habe am Anfang mit einem 13,8V-Netzteil gearbeitet und mir irgendwann dann ein Labornetzteil geleistet.


Edit:
Wenn du Interesse hast, stelle ich in den nächsten Tagen eine Bauanleitung für ein kleines Entwicklungsboard rein.

CodeFan
04.09.2014, 07:40
Die Verbindung wird über die ISP-Schnittstelle gemacht. Da gibt es dann entweder sechs- oder zehnpolige Wannenstecker mit entsprechendem Kabel, einfach an die jeweiligen Beinchen des Controllers anschliessen.


Ich habe jetzt also den Programmer (USBasp) mit nem zehnpoligen Stecker im Ausgang. Und ich habe meinen ATMEGA328P Controller.
Ich muss ja jetzt die 10 mit den jeweils richtigen vom Controller verbinden.

Vielleicht kann mir da mal kurz jemand helfen. Belegungen hab ich im I-Net gefunden
USBasp http://www.loetlabor.org/USBasp
Controller http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary.pdf

In beiden Zeichnungen durchnummeriert, bevor ich da jetzt was falsch anklemme
USBasp - Controller
1 - 17 (MOSI)
2 - 7 (VCC)
4 -
5 - 1 (RESET)
6 -
7 - 19 (SCK)
8 - 8 (GND)
9 - 18 (MISO)
10 - 22 (GND)



Edit:
Wenn du Interesse hast, stelle ich in den nächsten Tagen eine Bauanleitung für ein kleines Entwicklungsboard rein.

Gerne

oberallgeier
04.09.2014, 08:10
... Programmer (USBasp) mit nem zehnpoligen Stecker ... ATMEGA328P ... muss ja jetzt die 10 ... verbinden ...Es genügen 6 (SECHS) Anschlüsse vom Programmer zum Controller: Vcc, GND, MOSI, MISO, SCK und /RES. Beim mega328 sind die an den folgenden Pinnen (die Ziffern nennen die jeweiligen Pinnummern) am mega328 :
Vcc 7
GND 8 und 22
MOSI 17
MISO 18
SCK 19
/RES 1
also genau wie Du es beschrieben hast :.-.). Die beiden Groundpin am Controller sollten ja schon am Board an dem der Controller steckt miteinander verbunden sein!

Der Rest der zehn Kabel ist ohne Belang. Aufpassen beim 10-fach-Stecker: es sind manchmal mehrere Pinne mit GND belegt, manchmal ist das nur einer - da MUSST Du den richtigen finden ! ! !

White_Fox
04.09.2014, 22:05
Gerne
Gut...dann bereite ich mal einen Anleitungsthread vor, aber ein paar Tage dauerts schon noch.


Schade dass du dich schon für einen Programmer entschieden hast. Ich hätte dir auch den All-AVR von Diamex sehr empfehlen können. Der nähmlich noch eine externe Taktquelle dabei. Äußerst nützlich gerade bei Anfängern, die durch Auswahl der falschen Taktquelle ihren Controller unbrauchbar machen.

Bei mir hat sich ungefähr eine Handvoll ATMega8 angesammelt bevor ich irgendwann dieses Ding hatte...

White_Fox
05.09.2014, 19:50
Hier die Anleitung.
https://www.roboternetz.de/community/threads/65581-Teststrecke-f%C3%BCr-ATMega-Prozessoren-nach-White_Fox-%28Version-2%29?p=604448#post604448

CodeFan
07.09.2014, 09:58
Hört sich gut an. Muss ich mir allerdings noch ein paar Komponenten holen.

Hoffe das nächste Woche endlich erst einmal meine LEDs ankommen so das ich die ersten Tests basteln kann.
Hab bisher Widerstände (1k,2k,5k,10k,...) den Controller, den Programmer, müsste sich ja mit den LEDs irgendwas erstes basteln lassen.

PICture
07.09.2014, 10:20
Hallo!


Habt ihr da spezielle Empfehlungen?

Ich würde empfehlen mit dem für Dich angeblich schwerigsten anfangen: Hardware z.B. : http://www.reichelt.de/Robotik/ARX-CH09/3/index.html?&ACTION=3&LA=2&ARTICLE=102236&GROUPID=5728&artnr=ARX-CH09&SEARCH=Robotik . ;)

CodeFan
10.10.2014, 10:22
Das Fahrwerk hab ich mir gekauft, damit hätte ich jetzt auch was zur Stromversorgung.

Hänge aber noch am Controller.
Ich hab diesen USBASP basierten Programmer, der hängt am Projektboard und am ATmega328P Chip, soweit so gut.
Bei dem Programmer ist nix an Software dabei, das AtmelStudio könnte ich mir laden und was coden, aber ohne das das Ding den Controller kennt nützt mir das wenig.
(ist auch die Frage, ist das überhaupt zu empfehlen für kleine sachen)

Wie mach ich mir denn jetzt am besten ein einfaches sample (led blinken lassen reicht).

Hubert.G
10.10.2014, 16:55
Wie willst du ohne AVR-Studio oder dergleichen einen Code für den Kontroller erstellen?
Oder habe ich da was falsch verstanden?

Besserwessi
10.10.2014, 20:00
AVRstudio ist schon zu empfehlen - gerade zum lernen. Da hat man die IDE für den Compiler (GCC) und Assembler und auch den Simulator. Die Übertragung des Programms kann man auch mit einem anderen Tool (z.B. AVRDude) machen, wenn AVRstudio den Programmer nicht direkt unterstützt. Für den Anfang könnte man auch auf die Hardware verzichten - schon eine "Blinkende LED" im Simulator ist ein erster Erfolg.

Es geht auch ohne AVRstudio: GCC den Assember und AVRdude kann man auch ohne die Oberfläche Installieren und nutzen, von der Befehlszeile aus, so wie man es von 20 Jahre gemacht hat. Das geht dann auch unter Linux und mit einem älteren PC mit wenig Speicher. Die Installation ist aber bei weitem nicht so einfach wie beim AVRStudio.

CodeFan
11.10.2014, 09:58
Ok, manchmal hat man echt ein Brett vorm Kopf :D
Danke für eure Antworten, also AVRDude zum übertragen und erstellen dann einfach per gcc, probier ich nächste Woche gleich.

Geistesblitz
11.10.2014, 12:08
Als ich mal ein bereits kompiliertes Programm auf einen AVR flashen musste, hatte ich mehrere Programme zu diesem Zweck probiert und kam letztendlich mit PonyProg (http://www.lancos.com/prog.html) am besten zurecht. So als Tipp, falls es nicht klappen sollte ;)

fredred
11.10.2014, 16:10
Hallo,

nun gebe ich auch mal mein „Senf“ dazu.

Wenn du noch ein PC mit SUB- Parallel hast, geht der Einstieg nicht billiger, nehme ich an.
Einfach einen Substeckerverbindung bauen(Kosten ca.40 Cent) und mit SPI MCU Pins verbinden.
Nun noch die kostenlose BASCOM- Demo auf PC laden. Den Progammer in der Software auf STK200/STK300 einstellen.
Das war es. Mehr ist nicht nötig zum Basteln.
Somit nur eine kleine Lochstreifenplatine mit Sockel für MCU mit Steckerport. Die 5 polige Steckerbuchse baue ich in alle meiner Module ein. Man weis ja nie ob eine Programmanpassung nötig ist.
Natürlich ist BASCOM nicht so nah an der Hardware wie C, aber viel verständlicher für Einsteiger.

Mit freundlichen Grüßen
fredred

CodeFan
13.10.2014, 09:24
Installiert habe ich WinAVR (avrdude ist da ja bei)

Aber mehr als eine
-1 programm enable: target doesn't answer.

ist dem nicht zu entlocken.

Vielleicht taugt auch der Programmer nix oder der Controller hat ne Macke, testen kann ich beides ja schlecht.

oberallgeier
13.10.2014, 10:30
... das AtmelStudio könnte ich mir laden und was coden, aber ohne das das Ding den Controller kennt nützt mir das wenig ... Wie mach ich mir denn jetzt am besten ein einfaches sample (led blinken lassen reicht).
AVRstudio ist schon zu empfehlen ... Es geht auch ohne AVRstudio ... bei weitem nicht so einfach wie beim AVRStudio.
Installiert habe ich WinAVR (avrdude ist da ja bei) ... Vielleicht taugt auch der Programmer nix oder der Controller hat ne Macke, testen kann ich beides ja schlecht.

Das klingt irgendwie nach Beratungsresistenz. Nix für ungut. Aber wenn man Dir schon das AVRstudio empfiehlt frag ich mich, warum Du es unbedingt NICHT installierst. Wie Besserwessi schreibt - es geht MIT Studio einfacher. Und Du brauchst hier mittlerweile die dritte Seite, hast schon einiges geändert (und knapp erwähnt) und es klappt immer noch nicht. Bestätigt ja Besserwessis Beitrag.

Ich bin mal den Thread durchgegangen. Du hast also den Programmer USBasp - vermutlich wäre Bild und Link hilfreich für uns. Bild nicht aus den Verkaufsunterlagen sondern das, was Du genau hast.


Installiert habe ich WinAVR (avrdude ist da ja bei) ... Vielleicht taugt auch der Programmer nix oder der Controller hat ne Macke, testen kann ich beides ja schlecht.Im Allgemeinen hat man als Anfänger üblicherweise funktionierende Kaufteile - aber noch ne falsche Konfiguration. Daher:
Wie hast Du den Programmer konfiguriert?
Wie hast Du den Controller angeschlossen - DEINE! Schaltung vom AKTUELLEN Aufbau
Welcher Aufbau - ist es noch das Steckbrett? Auch hier wäre ein Bild (oder youtube-Video) hilfreich.
Wie GENAU sind der komplette Aufbau, die Installation und die Befehlssequenz/-en nach denen Du die genannte Fehlermeldung erhältst?


... USBASP basierten Programmer, der hängt am Projektboard und am ATmega328P Chip, soweit so gut ...Offensichtlich nicht "so weit so gut", daher Dein Problem und offene Fragen.


... Zweite Frage, dieses Minibeispiel mit dem Bild nutzt ja Batterien als Stromquelle. Wenn ich jetzt statts Batterien irgendeine Stromquelle verwenden möchte, habt ihr da Empfehlungen für mich? ...ICH hatte als völliger Anfänger/Elektronik-Noob/C-Noob die Dinge genauso gemacht wie´s in den Hilfen stand. Ohne meine, vermeintlichen, Vereinfachungen. Da ging fast alles.

CodeFan
13.10.2014, 10:54
Das klingt irgendwie nach Beratungsresistenz. Nix für ungut. Aber wenn man Dir schon das AVRstudio empfiehlt frag ich mich, warum Du es unbedingt NICHT installierst. Wie Besserwessi schreibt - es geht MIT Studio einfacher. Und Du brauchst hier mittlerweile die dritte Seite, hast schon einiges geändert (und knapp erwähnt) und es klappt immer noch nicht. Bestätigt ja Besserwessis Beitrag.


Wie du vielleicht gelesen hast hab ich mir VORHER AVRStudio installiert, da bräuchte ich erst einmal eine xml config datei, der kennt nach runterladen nämlich genau 0.



Ich bin mal den Thread durchgegangen. Du hast also den Programmer USBasp - vermutlich wäre Bild und Link hilfreich für uns. Bild nicht aus den Verkaufsunterlagen sondern das, was Du genau hast.


Kann später ein Foto machen gern auch wie ich den angeklemmt habe (momentan gerade nicht zu hause).
Bis dahin mal ein Bild aus einer Ebay Auktion was genau diesen zeigt: http://www.ebay.de/itm/USB-ISP-USBASP-Programmiergeraet-Programmierer-fuer-Atmel-AVR-ATMega-51-ATTiny-/111450478530



Im Allgemeinen hat man als Anfänger üblicherweise funktionierende Kaufteile - aber noch ne falsche Konfiguration. Daher:
Wie hast Du den Programmer konfiguriert?
Wie hast Du den Controller angeschlossen - DEINE! Schaltung vom AKTUELLEN Aufbau
Welcher Aufbau - ist es noch das Steckbrett? Auch hier wäre ein Bild (oder youtube-Video) hilfreich.
Wie GENAU sind der komplette Aufbau, die Installation und die Befehlssequenz/-en nach denen Du die genannte Fehlermeldung erhältst?


Wie gesagt bilder oder vid kann ich noch machen, bisher existiert noch kein grössere Schaltung. Es steckt der Controller auf dem Steckbrett bei dem sind die nötigen Kontakte mit dem Kabel vom Programmer verbunden. Die Belegungen hatte ich ja schon gepostet.

Der Fehler kommt direkt bei
avrdude -p m328p -c USBasp

kommt auch noch eine Warnung:
warning: cannot set sck period. please check for usbasp firmware update

Nach durchstöbern das Internets haben das aber wohl einige mit dem USBasp und soll man wohl ignorieren können (bzw. soll wohl auch ohne laufen)



ICH hatte als völliger Anfänger/Elektronik-Noob/C-Noob die Dinge genauso gemacht wie´s in den Hilfen stand. Ohne meine, vermeintlichen, Vereinfachungen. Da ging fast alles.

Sonderlich viele Vereinfachungen habe ich nicht, Batterien sind ohne Löten halt schlecht anzuklemmen, deswegen brauchte ich eine Alternative. (wobei ich jetzt ja auch Batterien habe, nur halt über den Batteriehalter vom Robotfahrwerk). Aber das Thema externe Energiequelle ist so lang ich am Thema Controller programmieren hänge eher zweitrangig, denn das bräuchte ich ja dann danach, zum benutzen dessen.

malthy
13.10.2014, 11:04
Hi,

immer mit der Ruhe ... :-)


Vielleicht taugt auch der Programmer nix

Doch der taugt schon was.


Aber mehr als eine
-1 programm enable: target doesn't answer.

ist dem nicht zu entlocken.

Das ist ja schonmal was, mMn bedeutet das, dass der USBasp funktioniert, allerdings keinen Kontakt zu Deinem Controller bekommt. Die einfachste Variante diesen Fehler zu erzeugen ist, den ISP Stecker falschherum aufzustecken (falls das in Deinem Fall mechanisch geht). Eine andere Variante ist, dass Du schlicht die ISP Signale falsch auf den Controller verteilt hast. Das würde ich als erstes mal untersuchen. Und zum guten Schluss kann es natürlich auch sein, dass Dein Controller kaputt ist, davon würde ich aber erstmal nicht ausgehen. Also zunächst: ISP überprüfen :-).

Gruß
Malte

CodeFan
13.10.2014, 12:59
Keine besonders gute Quali, aber vielleicht seht ihr ja etwas.

http://imgur.com/HBaHpiP
http://imgur.com/whjelDl
http://imgur.com/G9GfeBn

Habe auch noch einmal die Belegung gehen die Beschreibung des ATmega328p geprüft, ich sehe da zumindest keinerlei Fehler.

schorsch_76
13.10.2014, 13:19
Der µC hat keinerlei Versorgungsspannung. Der Programmer versorgt den Controller _nicht_ mit Spannung.

oberallgeier
13.10.2014, 13:28
Keine besonders gute Quali, aber vielleicht seht ihr ja etwas ...Gut - da sieht man schon mal etwas. Und danke, dass Du meinen mauligen Einwurf ernst genommen hast (manchmal neige ich zu SEHR -ähhhh- deutlichen Einwürfen, sorry).

o Die Anschlüsse /RES, MOSI, MISO, SCK, Vcc und GND sind am richtigen Platz nach Vergleich 2x5 Wannenstecker und Steckbrett.
o Bitte prüfe die Anschlüsse GND am 2x5-Wannenstecker des Programmers (siehe auch weiter unten) ob ALLE wirklich GND anbieten, d.h. verbunden sind.
o Der Controller hat keine Spannungsversorgung. Ich habe schon etliche Controller betrieben (getestet/verschlissen), viele versprechen die Versorgung des Targets, hatte bei mir meist nicht wirklich (nicht richtig) funktioniert.
o Ich stecke den Controller aufs Steckbrett meist in die Reihen (Controller1)=(Reihe-x1)

Bitte teste die Spannung >am Controller< im Betriebszustand, also bevor Du den vom PC aus mit angeschlossenem Programmer ansprechen möchtest.

Bitte teste den nirgendwo angesteckten Programmer, ob GND an beiden "Enden", also USB-Stecker und 2x10-Wannenstecker Durchgang hat.

CodeFan
13.10.2014, 13:37
Danke euch beiden, in dem Online Dokument stand was mit Target Versorgung, geprüft hab ich das tatsächlich nicht ob da auch wirklich was ankommt.
Werde heute Abend wieder dazu kommen, gebe dann Rückmeldung.

oberallgeier
13.10.2014, 14:08
... in dem Online Dokument stand was mit Target Versorgung, geprüft hab ich das tatsächlich nicht ...Meist mache ich das auch so. ABER wenns dann hakt, dann prüfe ich. Das mache ich meist in der Art: ein bißchen prüfen ist eher so wie garnix prüfen. Und manchmal prüfe ich dann auch Dinge die eher selbstverständlich sind und sicher funktionieren sollten (z.B. oben "o Bitte prüfe die Anschlüsse GND am 2x5" und "ob GND an beiden ...") besonders dann, wenns nicht zuu aufwendig und sowieso geprüft wird.

Wolln wir hoffen, dass wirs hinkriegen

malthy
13.10.2014, 14:22
Der µC hat keinerlei Versorgungsspannung. Der Programmer versorgt den Controller _nicht_ mit Spannung.

Den USBasp gibt's in unterschiedlichen Varianten. Ich habe zB diesen hier:

29189

Und da siehst Du hinten (am ISP Stecker) einen dreipoligen Jumper-Header (JP 1), damit kannst Du einstellen, ob Dein Target nicht (kein Jumper), mit 3.3 V (Brücke mitte nach hinten) oder mit 5 V (Brücke mitte nach vorne) versorgt wird.

Gruß
Malte

CodeFan
13.10.2014, 15:11
Also VCC und GND getestet, kein Strom. die 2 abgeklemmt und durch eigene Stromversorgung ersetzt, bleibt jedoch leider bei -1

malthy
13.10.2014, 15:19
[...] die 2 abgeklemmt und durch eigene Stromversorgung ersetzt [...]

Aber die Massen hast Du schon verbunden? Also Masse vom USBasp (auf dem ISP Stecker) und vom µC? Hat denn Deine Version vom USBasp nun die Möglichkeit die Stromversorgung zu liefern oder nicht?

Gruß
Malte

CodeFan
13.10.2014, 15:39
Aber die Massen hast Du schon verbunden? Also Masse vom USBasp (auf dem ISP Stecker) und vom µC? Hat denn Deine Version vom USBasp nun die Möglichkeit die Stromversorgung zu liefern oder nicht?

Gruß
Malte

Nein hat er wohl nicht, ist zwar ein undokumentierter und als "j2" gekennzeichneter Jumper, aber egal ob gesteckt oder nicht, kommt keine Spannung an

oberallgeier
13.10.2014, 17:12
... als "j2" gekennzeichneter Jumper, aber egal ob gesteckt oder nicht, kommt keine Spannung anDas folgende Anschlußschema dürfte für erste Steckbrettaufgaben sinnvoll sein (noch kein Quarz, keine Peripherie, nur Signatur abfragen, Fuses >>abfragen<< !!noch nicht umsetzen!!, evtl. Code flashen - aber ohne Peripherie .... :-/ ).


// === Grundlegende Initialisierungen der Hardware, Portdefinition ATMega168/328
// xx ADC7 - nur TQFP *)
// xx ADC6 - nur TQFP *)
// PCINT14,/RESET,PC6 1 28 PC5,ADC5,SCL,PCINT13
// PCINT16,RxD,PD0 2 27 PC4,ADC4,SDA,PCINT12
// PCINT17,TxD,PD1 3 26 PC3,ADC3,PCINT11
// PCINT18,INT0,PD2 4 25 PC2,ADC2,PCINT10
// PCINT19,OC2B,INT1,PD3 5 24 PC1,ADC1,PCINT9
// PCINT20,XCK,T0,PD4 6 23 PC0,ADC0,PCINT8
// VCC 7 22 GND
// GND 8 21 AREF
// PCINT6,;XTAL1,TOSC1,PB6 9 20 AVCC
// PCINT7,XTAL2,TOSC2,PB7 10 19 PB5,SCK,PCINT5
// PCINT21,OC0B,T1,PD5 11 18 PB4,MISO,PCINT4
// PCINT22,OC0A,AIN0,PD6 12 17 PB3,MOSI,OC2,OC2A,PCINT3
// PCINT23,AIN1,PD7 13 16 PB2,/SS,OC1B,PCINT2
// PCINT0,CLKO,ICP1,PB0 14 15 PB1,OC1A,PCINT1
// --------------------==========----------------------- =
// Vorgesehene/belegte Anschlüsse am ATMega328-Steckbrett
// ================== ====
// /RESET, PC6 1 E E 28 PC5, - -
// PD0 2 E E 27 PC4, - -
// PD1___3 E E 26__PC3, - -
// PD2 4 E E 25 PC2, - -
// PD3 5 E E 24 PC1, - -
// PD4___6 E E 23__PC0, - -
// Vcc Netzteil, VCC 7 22 GND, GND Programmer + Netzteil
//GND Programmer+Netzteil,GND 8 21 AREF
// PB6___9 E 20__AVCC -
// PB7 10 E E 19 PB5, SCK -
// PD5 11 E E 18 PB4, MISO -
// PD6__12 E E 17__PB3, MOSI -
// PD7 13 E E 16 PB2, - -
// PB0 14 E E 15 PB1, - -
// ================================================== ============================
// Ports+Pins als Ein-(0) oder Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren
// A = Ausgang, E = Eingang ohne , EU = Eingang MIT PullUp
// ================================================== ============================
// *) Bei TQFP anderer Pinout/andere Pinnummern

CodeFan
13.10.2014, 17:59
Es geht!!!

Sorry war am Ende mein Fehler. Hab das Kabel jetzt mal durchgeprüft, das ist irgendwie gedreht im Stecker, musste demnach das ganze im Ziel ein Mal die Seiten tauschen.

jetzt kanns hoffentlich losgehen, hab zwar noch nichts entwickelt, aber zumindest die Statusmeldung vom AVRDude sieht jetzt nice aus.

malthy
13.10.2014, 18:37
Hey,


Sorry war am Ende mein Fehler.

Na wessen Fehler denn sonst ... ;-)

Dann viel Spass und bis zum nächsten Problem ...

Gruß
Malte

oberallgeier
13.10.2014, 18:40
Es geht!!! ... Sorry war am Ende mein Fehler ... ist irgendwie gedreht im Stecker ...Glückwunsch, schön dass es läuft! Hoffentlich wars nicht mein Fehler, dass ich das im Foto falsch interpretiert habe (eigentlich habe ich mehrmals und sorgfältig hingesehen).


... jetzt kanns hoffentlich losgehen, hab zwar noch nichts entwickelt ...
Ohne Dir jetzt zuviel dreinreden zu wollen: für weiter Arbeiten wäre dann beispielsweise so etwas sinnvoll. Taste - als Schließer gegen GND (nur zum Beispiel) auf PD7, bei mir habe ich bei 328ern gerne an PB0 meinen Boardtimer - Timer0, der alle Sekunden eine LED toggelt - das ist dann der Heartbeat, oft habe ich an PB1 ne IR-LED mit 36 kHz - ein moduliertes Signal mit der ein Sensor für Hinderniserkennung betrieben werden kann. Alles nur Vorschläge . . .

// ================================================== ============================
// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
// GND 8 21 AREF
// PB6___9 A 20__AVCC
// PB7 10 A A 19 PB5
// PD5 11 A A 18 PB4, LED f Tests
// PD6__12 A A 17__PB3
// Taste1, PD7 13 EU A 16 PB2
// L1g, Heartbeat PB0 14 A A 15 PB1, IR-LED (36 kHz)
// ###>>> Anm.: x(CIRn) ... geplant/vorerst nicht in Verwendung
// ================================================== ============================
// Ports+Pins als Ein-(0) oder Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren
// A = Ausgang, E = Eingang ohne , EU = Eingang MIT PullUp
DDRB = 0b11111111; // siehe aktuell oben
PORTB = 0b00000000; // und Port/Pull Ups (1) aktivieren
//
DDRC = 0b00000000; //
PORTC = 0b11111111; //
//
DDRD = 0b01111110; // -> siehe aktuell oben, D0/D1 Rx/Tx !
PORTD = 0b10000001; // Pull Ups aktivieren, NICHT bei extINT0/~1
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Und natürlich könntest Du bei Gelegenheit dann vom internen Oszillator umsteigen auf Quarz.

CodeFan
14.10.2014, 07:16
Hat alles geklappt meine LED blinkt.

Für die größeren Ideen die hier gepostet wurden muss ich noch etwas Material kaufen. Bestellung ist da schon raus.

Sollte jemand die gleiche Anforderung haben und über den Thread stolpern, vielleicht noch kurz das Ergebnis:

Hardware:
- Projektboard
- Kabel
- ATmega328P (Controller)
- USBasp (Programmer)
- Led (ohne Widerstände oder sonstwas auf Anforderungen achten, bevor die Dinger durchbrennen)

Software:
- WinAVR (dort ist avr-dude und weitere tools enthalten)

Um das später laufen zu lassen noch eine Stromquelle, in meinem Fall das Arexx Roboterfahrwerk, es tut aber auch irgendein Batteriehalter.
Lässt sich alles zusammenstecken, als Werkzeug ist nur ein Multimeter oder einfacher Spannungsprüfer zu empfehlen (allein schon um die Fehler zu finden ;) )

Blink Beispiel:
habe ich mir nur ein einfaches genommen

#define F_CPU 1000000UL

#include <avr/io.h>
#include <util/delay.h>

int
main (void)
{
DDRB |= _BV(DDB0);

while(1)
{
PORTB ^= _BV(PB0);
_delay_ms(500);
}
}


Nächste geplante Schritte:
- Testen verschiedener Sensoren
- Löten (mit Steckbrett allein endet das sonst bald im Kabelsalat ;) )
- Konzept für Bau von Modulen die sich möglichst auf das Roboterfahrwerk montieren lassen (und sich auch abseits davon wiederverwenden lassen)
- Platine zum einfacheren Programmieren von Controllern dieser Bauweise (quasi Sockel für Controller und für Stecker vom Programmer)

CodeFan
15.10.2014, 08:04
2 Fragen hab ich doch noch.

Die 2 Motoren muss ich ja direkt an die Stromversorgung hängen. Da brauch ich dann zum schalten ein Mosfet wenn ich nicht irre.
Geht da sowas?
http://www.ebay.de/itm/1x-STP90NF03L-2-5V-6-5-mOhm-N-Ch-STripFET-II-Power-Mosfet-TO220-STP90NF03L-/161374373291?pt=Bauteile&hash=item2592a985ab
Oder anders gefragt, auf welche Werte muss ich bei diesen achten?

Zweite Frage, Wenn die Motoren da fest dranhängen könnte ich die zwar an und aus aber nicht umschalten damit das ganze rückwärts fährt, brauch ich da jetzt quasi eine 2. umgedrehte Schaltung die ich auch wieder an und ausschalte oder macht man so etwas anders?

oberallgeier
15.10.2014, 08:10
... Die 2 Motoren muss ich ja direkt an die Stromversorgung hängen ... umschalten damit das ganze rückwärts fährt ...Beide Fragen könnten sich erledigen nach kurzem Blick ins RN W issen hier. (http://rn-wissen.de/wiki/index.php/Getriebemotoren_Ansteuerung#Ansteuerung_mit_Treibe r_IC_L293_D)

CodeFan
15.10.2014, 09:27
Genau so etwas habe ich gesucht, danke

oberallgeier
15.10.2014, 11:00
Genau so etwas habe ich gesucht, dankeMal vorsichtshalber ein Hinweis, das steht zwar irgendwo im Link sicher auch:
Es ist sehr empfehlenswert Motoren getrennt vom Controller zu versorgen. Die Treiber/-bausteine haben dazu meist eine IC-Versorgung und eine davon getrennte Zuführung für den Motorstrom. Die eingespeiste Motorspannung muss nicht mit der Versorgungsspannung fürs IC übereinstimmen, GND aber stets "alle" gemeinsam halten.

CodeFan
12.11.2014, 15:12
Muss den Thread noch einmal hoch holen.

Wie macht ihr das mit der Fehleranalyse, debuggen werd ich den Controller ja nicht wirklich können oder?
Gibt es irgendeine einfache Möglichkeit den Status der Register als Log zu produzieren?

PS:
Mag zwar eine ziemlich allgemeine Frage sein und nicht so recht in den Thread passen aber wenn ich einmal beim posten bin, vielleicht hat ja jemand im Kopf sofort ein "kann nur am liegen...". Ich steuere die 2 Motoren von diesem Arexx Fahrgestell an. Nichts wildes, einfach nur ein paar Sekunden an, ein paar Sekunden aus, etc.
Das geht eine Weile, aber manchmal nach 10sek und manchmal auch erst nach 1min startet sich mein Controller neu (nur wenn die Motoren dran hängen). Der Motor "ruckt" dann ganz kurz und dann tritt der Zustand ein. Und das seltsame ist wenn ich das Teil am USBASP Programmer hab läuft er ein ganzes Stückchen länger, wenn nicht passiert es sehr schnell.

oberallgeier
12.11.2014, 16:02
... Fehleranalyse ... steuere die 2 Motoren von diesem Arexx Fahrgestell ... nach 1min startet sich mein Controller neu ...Irgendwie kommt mir das bekannt vor. WENN Motor und Controller an einer Energieversorgung hängen . . . Vielleicht kannst Du mal versuchen, den Controllerstromkreis und den Motorstromkreis getrennt voneinander zu versorgen --- ABER GND von beiden Kreisen muss miteinander verbunden sein! Vielleicht wirds so (besser) laufen.

Glückwunsch, dass es wenigstens überhaupt mal läuft ;-)

CodeFan
13.11.2014, 10:22
Funktioniert Tatsache. Board an den Programmer gehängt, Controller über die Batterien versorgt, läuft. (läuft sogar rückwärts, was vorher sofort den Fehler produzierte)
Der Grund ist mir allerdings nicht ganz klar, meinst du die Belastung ist zu hoch?

Das ist ne Box für 4 Batterien und da hängt nur Controller, 10 Led (sind aber nur 5 gleichzeitig an), der kleine Chip zur Motorsteuerung und halt die 2 Motoren dran.

oberallgeier
13.11.2014, 10:42
Funktioniert Tatsache. Board an den Programmer gehängt, Controller über die Batterien versorgt, läuft. ...Glückwunsch - das wolln wa ja - dass alles läuft :.-.)


... Der Grund ist mir allerdings nicht ganz klar, meinst du die Belastung ist zu hoch ...Motoren ziehen beim Anfahren für wenige Millisekunden ein Vielfaches des üblichen Stromes; kannste ausrechnen: mal den Widerstand des Motors messen (irgendwo bei wenigen *zig Ohm) und daraus den Strom bei der Batteriepackspannung. Du hast zwei Motoren . . . Dieser Stromhunger kann zu so einem starken Einbruch des Controllers führen, dass der aussteigt (möglicherweise ist das behebbar, wenn man das Brownout-Fuse des controllers löscht - no Brownout). Dazu kommt noch, dass die Motoren im Lauf >>wenn die nicht (richtig) entstört sind<< (http://rn-wissen.de/wiki/index.php/Getriebemotoren_Ansteuerung) so viel Störungen zurück in die gemeinsame Versorgung spucken, dass der Controller mitunter ins Stottern kommt!

Peter(TOO)
13.11.2014, 14:31
Hallo,

Motoren ziehen beim Anfahren für wenige Millisekunden ein Vielfaches des üblichen Stromes; kannste ausrechnen: mal den Widerstand des Motors messen (irgendwo bei wenigen *zig Ohm) und daraus den Strom bei der Batteriepackspannung. Du hast zwei Motoren . . . Dieser Stromhunger kann zu so einem starken Einbruch des Controllers führen, dass der aussteigt (möglicherweise ist das behebbar, wenn man das Brownout-Fuse des controllers löscht - no Brownout). Dazu kommt noch, dass die Motoren im Lauf >>wenn die nicht (richtig) entstört sind<< (http://rn-wissen.de/wiki/index.php/Getriebemotoren_Ansteuerung) so viel Störungen zurück in die gemeinsame Versorgung spucken, dass der Controller mitunter ins Stottern kommt!
Man kann den Controller über eine Diode und einen Kondensator entkoppeln.
Die Spannungsversorgung des Kontrollers geht dann zuerst über die Diode welcher ein Elko nachgeschaltet ist.
Bei kurzen Spannungseinbrüchen sperrt dann die Diode und der Controller wird über den Elko versorgt.

MfG Peter(TOO)

fredred
13.11.2014, 15:15
Hallo,

Eine sichere Lösung ist immer Controllerspannung und Lastspannung Hardwaremäßig zu trennen,
Zwei getrennte Spannungsquellen sind immer besser. Musst doch nur GND verbinden.

Oh habe so eben gelesen der Hinweis kam schon.
fredred

CodeFan
13.11.2014, 15:36
Klar, wo ich das jetzt weiß könnte ich auch 2 Stromquellen nehmen, ist halt etwas auch ein konstruktionsproblem, muss ich da noch einen zweiten batteriehalter draufsetzen.

@Peter(TOO)

So lang mach ich das noch nicht, so richtig habe ich den Vorschlag nicht verstanden.
Ich soll eine Diode zwischen Stromquelle und Controller hängen?
Aber müsste ich da nicht vorher wissen wie stark die Schwankungen sind?

fredred
13.11.2014, 16:17
Hallo CodeFan,

ja wir kennen nicht den Stromverbrauch deiner MCU Beschaltung. Könntest auch einen Energiepuffer für Controller einbauen.
Ein Gold Cap 1F 5,5 Volt kann schon einiges an Stromspitzen abfangen. Sollte aber von Last getrennt sein.

Gruß
Fredred

oberallgeier
13.11.2014, 16:19
... Box für 4 Batterien und da hängt nur Controller, 10 Led (sind aber nur 5 gleichzeitig an), der kleine Chip zur Motorsteuerung und halt die 2 Motoren dran.Du meinst mit "Batterien" Zellen! Akkus (Nennspannung 1,2 V) oder Alkalimangan-oder-ähnlich (Nennspannung 1,5 V) ? Der Viererpack mit Akkus bringt nominell 4,8 V, für den Controller mit 5,0+0,5 V grad ausreichend. Bei üblichen, nichtaufladbaren Zellen mit sechs Volt schon etwas zuviel für den Controller!!

Ich hatte mich bei meinem MiniD0/R2D03 (http://www.youtube.com/watch?v=sRNSIBpK8sQ) so rausgemogelt: zwei Boxen für je vier AA, aber nur sechs reingepackt. Das gibt selbst bei Akkus ausreichend Spannung, um sich für den Controller mit einer Verpolungs-Schutzdiode (BYV27) und einem Spannungswandler etwas abzuzweigen; Elko - 220 .. 400 µF nicht vergessen - wie Peter schreibt. So eine Schaltung passt in die eine der beiden leerstehenden Zellen-Mulden, in die andere kam das Gleiche für den Motor. Später hatte ich (bei nem andern Projekt) den Motor direkt vom Akkupack aus angesteuert, die Motorregelung kam ja mit den schwankenden Spannungen gut zurande und da bekam nur der Controller mit Sensorik nen Spannungswandler.

Warum sechs Zellen? Der Spannungswandler braucht (wenns nicht grad ein LDO ist) schon mal schlappe 2 Volt für seine Arbeit, da kann man bei nem Viererpack die Akkus schon mal vergessen, beim Viererpack mit Wegwerfzellen gehts grad.

CodeFan
14.11.2014, 11:08
Benutze momentan keine Akkus, normale 1,5v.
Werde wohl vorerst eine einfache Variante machen, später kann ich das dann immer noch umbauen.

3 Batterien, Spannungsregler 3,3v, der Controller kommt ja mit einen ordentlichen Spektrum hinsichtlich der Volt Zahlen zurecht da passen 3,3v.
Und der andere Versorgung für Motoren und Motorsteuerung. Bei der komm ich ja nicht umhin die an die gleiche Versorgung wie die Motoren zu hängen, da ich darüber ja die Richtung des Motors steuere. Aber da scheint es auch keine Probleme zu geben, hab das Testweise mal einige Zeit laufen lassen.

fredred
14.11.2014, 14:02
Hallo CodeFan,

so das Thema Einstieg und Programmierung können wir wohl abhaken. Jetzt geht es wohl mehr in Richtung Elektronik, wenn ich mich nicht täusche.

Ist es so, verwirst du mich immer mehr mit deinem Projekt.


Warum nutzt du zum testen kein Netzteil(ein USB- Netzteil 1000mA bekommst du schon für 4,90 €)
Wenn schon Batterie was soll das mit den 3 und dann noch ein Spannungsregler nachschalten.
Bitte beachte auch ein sehr guter Spannungsregler hat eine Verlustleistung von min 10%.
Dein ATMEGA328P macht seine Arbeit im Spannungsbereich von 3,0 – 5,5 Volt zuverlässig.
Sehr kritisch wird es, wenn du auf Akkus umsteigst, nur eine Stromspitze beim Anlauf der Motoren reicht um Controller kurzzeitig abzuschalten(Batterien gehen nicht so schnell in die „Knie“).


Schlussfolgerung: Hängt Controllerspannung auch an Lastspannung, immer eine Lösung erstellen, die nicht die Controllerspannung in einem Grenzwert bring. Dies wurde auch schon mehrmals von Experten vermittelt.
Noch ein kleiner Hinweis: Motorspannung direkt an Spannungsversorgung und mit min 470 µF puffern. Auch noch ein ca. 47 µF sehr nah an Controllerspannungsversorgung, sollte einen kleinen Spannungseinbruch für Controller verhindern.
Deine Projektlösung ist zwar nicht mein „Ding“ und meine Hinweise sehr primitiv erklärt, aber vielleicht hilft es dich weiter.

Mit freundlichen Grüßen
fredred

oberallgeier
14.11.2014, 14:49
... Warum nutzt du zum testen kein Netzteil(ein USB- Netzteil 1000mA bekommst du schon für 4,90 €) ...Ein (billiges) Netzteil würd ich nicht nehmen. Ein Kurzschluss ist beim Einstieg bzw. bei ersten Versuchen immer mal drin. Dann kann das Netzteil schnell den drin gespeicherten Rauch rauslassen . . . Und Codefan hat ja nun diesen Aufbau.


... Bitte beachte auch ein sehr guter Spannungsregler hat eine Verlustleistung von min 10% ...Die Verlustleistung ist nicht sooo kritisch, dümmer ist der Dropout. Darauf hatte ich oben auch hingewiesen und deswegen den LDO (Low Drop Out) erwähnt.

fredred
14.11.2014, 16:33
Hallo oberallgeier,

Nanu, was soll es „(billiges) Netzteil würd ich nicht nehmen“.
Ein Schaltnetzteil regelt ab, wenn Strom Max überschritten wird. Eine Batterie wohl kaum.
Natürlich ist es besser für Test noch eine Sicherung vorzuschalten, wenn man nicht so sicher in der Anwendung ist.
Ist maximaler Strom bekann, macht sich eine Rückstellsicherungen gut.
Mit nachgeschaltete LED im String finde ich dies nicht so schlecht.

Gruß
fredred

oberallgeier
14.11.2014, 17:12
... Die 2 Motoren muss ich ja direkt an die Stromversorgung hängen. Da brauch ich dann zum schalten ein Mosfet wenn ich nicht irre ...
... Ich steuere die 2 Motoren von diesem Arexx Fahrgestell an. Nichts wildes, einfach nur ein paar Sekunden an, ein paar Sekunden aus, etc ...Das würde mich nun interessieren wie/womit genau Du die Motoren ansteuerst. Vielleicht ne kurze Beschreibung und ein kleiner Schaltplan.


... Ein Schaltnetzteil regelt ab, wenn Strom Max überschritten wird. Eine Batterie wohl kaum ...Stimmt. ABER der Titel des Threads heißt: "Möglichst günstiger ... Einstieg" - deswegen rate ich eher ab, bestehende Lösungen durch Zukäufe zu ändern die weder notwendig sind, noch ne Verbesserung bringen und wenn das ganze Gefährt mal läuft auch nur noch rumliegen.

Peter(TOO)
15.11.2014, 02:19
Hallo,

So lang mach ich das noch nicht, so richtig habe ich den Vorschlag nicht verstanden.
Ich soll eine Diode zwischen Stromquelle und Controller hängen?
Aber müsste ich da nicht vorher wissen wie stark die Schwankungen sind?

Also:
Wenn die Motoren einschalten fliesst ein grosser Strom und die Batteriespannung bricht ein, das kann sich im Bereich von 1V abspielen.

Nun mag der Controller so etwas aber gar nicht, bzw. die Brownout-Sicherung erzeugt daraus eine Reset des Controllers.

Wenn du nun zwischen Batterie und Controller eine Diode schaltest, dann kann die Batteriespannung absacken ohne diejenige des Controllers auch runter zu ziehen. In dieser Zeit bekommt dann der Controller seine Spannung aus dem Elko.
Wissen muss man dabei eigentlich nur wie lange so ein Spannungseinbruch dauert und welchen Strom der Controller zieht, dies bestimmt dann die Grösse des Elkos.

MfG Peter(TOO)

fredred
15.11.2014, 11:20
Hallo oberallgeier,

hatte ich doch geschrieben. Des Threads heißt: "Möglichst günstiger ... Einstieg", aber die letzen Anfragen waren doch mehr im Bereich Elektronik.
Ob CodeFan für seine Tests Batterien nutzt oder ein kleines USB- Steckerschaltnetzteil, sollte er selber entscheiten.
Nahm an solange er testet könnten schon mal ein paar Sätze Batterien nötig sein(Kostenvergleich). Richtig schlimm wird es, wenn er die Kapazität der Batterien nicht ständig prüft. Nur die Spannung der Batterien zu messen ist Blödsinn. Eine kleine Stromspitze reicht und die Betriebsspannung bricht ein, wenn die Kapazität nicht mehr reicht.
Nun soll der Einsteiger mal den Fehler finden, wenn Projekt unerwartet einfach mal so „Spinnt“.
Vermute auch dies Projekt soll nicht sein einziges sein. Somit wird das Netzteil doch öfters Verwendung findet und lieg nicht rum.

All dies soll keine Belehrung sein. Sprichwort: „Jeder ist seines Glückes Schmied“

Mit freundlichen Grüßen
fredred

PICture
15.11.2014, 12:26
Hallo!


Sprichwort: „Jeder ist seines Glückes Schmied“

Genau ! :D

Ich bin gewöhnt mit 10A Netzteil Schaltungen zu entwickeln, weil dann ein Rauch jeden schwer auffindbaren Fehler zeigt. Wenn danach mit Netzteil gut funktionierende Schaltung Fehler aufweist, dann man darin keine Fehler suchen braucht. ;)

fredred
15.11.2014, 16:39
Hallo PICture,

ja auch wenn du ein 10A Netzteil benötigst für deine „Entwicklungen“, sollte doch erst mal vor Erstinbetriebnahme der Widerstand für Spannungsversorgung gemessen werden (ein billiges Multimeter reich) Ist Widerstand nahe Null, nehme ich an, wenn Spannung zugeschaltet wird, sieht man wie erwähnt, dort wo Rauch aufsteigt, war der Fehler.
Ich mache es eben anders suche erst mal warum der Widerstand so klein ist. Ist ja manchmal nur eine kleine Lötbrücke.
Für meine Testaufbauten habe ich mich vor ca. 40 Jahren ein Netzteil mit Strombegrenzung gebaut.
Beispiel: Grobe Annahme: Projekt 5 Volt und 50 mA, stelle ich Strombegrenzung so ein...
Sehe ich nun an der Spannungsanzeige nur 4 Volt , habe ich den Stromverbrauch fasch eingeschätzt.
Geht aber Spannung gegen Null ist dies ein Anzeichen für Kurzschluss. Muss somit nicht erst auf Rauchzeichen warten.
Bin ja kein Indianer.
Kleiner Nebeneffekt Hardware nimmt keinen Schaden.

Nun ist aber wirklich Schluss mit Thema Spannungsversorgung.

Gruß

Hellmut
21.11.2014, 13:30
Ich bewundere die Geduld derjenigen die dem Threadstarter zu helfen suchen beweisen. Leider ist unser Freund in seinem verhalten typisch für solche die mit Vorkenntnissen aus anderen Bereichen kommen. Ich glaube unser guter freund sollte erstmal ein wenig darüber lernen was eine elektronische Schaltung ist, was ein Controller ist und wozu Elemente sind die minimal vorhanden sein müssen! Nach seiner eigenen Vorstellung hier im Thread ist er ein Programmierer, aber eben nicht in "Embedded Systemen"! Es ist ja nicht viel was man zum Beginnen benötigt. Ein Modellbaufreund hat einen Kurs einer Experimentalplatine in einem anderen Forum veröffentlicht, der Schiffsmodellbauern mit ganz einfachen Mitteln beibringt jene Funktionen aus welche man vieles entwickeln kann vorzustellen. Er geht von einem Eagle-Schaltplan aus, baut einen einfachen Programmierer, damals noch an die Parallelschnittstelle des PCs angeschlossen. dann baut man auf einer Lochplatine die Experimentalplatine Schritt für Schritt auf, wobei man lernt die korrekte Implementiereung jedes Moduls, angefangen mit einem 7805 für die geregelte 5VDC Spannungsversorgung, vom schaltplan auf zu bauen, zu verifizieren, erst elektrisch und dann mit einem kleinen Programmchen!

Heute ist er darauf über gegangen statt des mega8 der Experimentalplatine einen Arduino einzusetzen. ich habe auch Mal so angefangen.

Heute und das hätte ich empfohlen, falls ich den Thread früher entdeckt hätte, würde ich eine LPCXpresso-Karte einsetzen, die man im Internet in Deutschland inklusive Versandkosten für etwa 27,- Euro kauft und wo man die IDE, früher von Red Code, heute von NXP kostenlos herunterladen kann und bis zu 256kByte Kode kostenlos unterstützt. LPCXpresso1769 setze ich ein. Über die USB, Schnittstelle kann man Dank das die halbe LPCXpresso Karte auch den entsprechenden JTAG-Link implementiert voll so debuggen und tracen, wie es unser Freund aus seinem Beruf kennen dürfte. Die LPCXpresso-Karte kann man in das Protoboard stecken! Mit der Standard-Bibliothek CMSIS von ARM für die ARM Cortex Mx Controller, nach Lizenzbedingungen von ARM von jedem Lizenznehmer für die auf dem IC integrierten Peripheriefunktionen bereitzustellen, kann man Hardware und Programmierung schön für Experimente verbinden. Denkt daran, nur etwa 27,- Euro kostet das und man hat einen tollen Controller Arm Cortex M3 z. B.! Die LPCXpresso karten gibt es für pranktische alle ARM Cortex Mx Controller von NXP. Ähnliches gibt es auch für die von ST, vom M0, M0+, M3. Da man für den M4 und M7 teuerere Zusatzhardware auf der Platine braucht um die dort gebotenen Möglichkeiten zu nutzen, kosten karten mit diesen Controllern etwas mehr.

HaWe
26.11.2014, 22:52
ich pflichte meinem(n) Vorredner(n) bei, was das Füllen von Gläsern angeht, wenn sie bereits voll sind ;)

Als Einstieg würde ich persönlich einen Arduino Uno nehmen, und dazu ein didaktisch gut aufgebautes Tutorial oder ein Buch durcharbeiten - und zwar von A bis Z.
Dazu ein paar Steckbretter und Jumperkabel.
Die einfache Programmierung mit Sketch über USB mit Bootloader und integriertem seriellem Terminal-Window finde ich genial.

Wer überhaupt noch keine Kenne von Schaltungen und auch noch keine Bauteile hat, sollte vllt mal von Franzis oder Conrad ein paar Elektronik-Kits kaufen, um das Kleine 1x1 zu lernen, z.B. sowas:
http://www.ebay.de/sch/i.html?_odkw=%28Conrad%2C+Franzis%29+%28Lernpaket% 2C+Baukasten%29&_udhi=12&_from=R40|R40|R40|R40&_mPrRngCbx=1&_osacat=220&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.X%28Conrad %2C+Franzis%29+%28Lernpaket%2C+Baukasten%2C+Advent skalender%29&_nkw=%28Conrad%2C+Franzis%29+%28Lernpaket%2C+Bauka sten%2C+Adventskalender%29&_sacat=220
(gibts teilw für 3-4 EUR zu ersteigern)
Dann hat man sogar schon mal ein Sortiment elementarer Elektronischer Bauteile, die zueinander passen, plus eine kurze Beschreibung.

So ein Set gibt es auch mit einem Arduino Uno
http://www.ebay.de/sch/i.html?_odkw=%28Conrad%2C+Franzis%29+%28Arduino%29&_udhi=50&_from=R40|R40|R40|R40&_mPrRngCbx=1&_osacat=220&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.X%28Conrad %2C+Franzis%29+%28Arduino%29+Starterpaket&_nkw=%28Conrad%2C+Franzis%29+%28Arduino%29+Starter paket&_sacat=220
(ich hatte mal ein solches für 20 EUR ersteigert, vom Materialwert her sicher sehr teuer, aber für einen kompletten Newbee durchaus wertvoll).

Und dann gibt es sogar noch ein kostenloses Buch für Arduinos von Franzis zum Download:
http://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCEQFjAA&url=http%3A%2F%2Fwww.arduinoforum.de%2Farduino-Thread-GRATIS-E-BOOK-Praxisbuch-Arduino&ei=s1t2VLL8OIbWPNPRgKgF&usg=AFQjCNHO01OaouRV7f5HP4ZsRA4EP2o_qg&bvm=bv.80642063,d.ZWU&cad=rja

Ein billiges Multimeter für 10-20 EUR mit Widerstands-Messfunkion und evtl. auch für Kapazitäten oder sogar für Transistor-Test ist sicher auch sinnvoll.
Später kann man sich dann einen Mega für ebenfalls 10-20 EUR holen und Einzelbauteile nach gusto nachkaufen.

Ebay-Händler mit kostenlosem Versand sind da eine hervorragende Quelle (aber nur mit Käuferschutz über Paypal!).
Hierzulande muss man ja bei deutschen Shops Unsummen Porto bezahlen und teilw. sogar Mindermengenzuschlag (völlig unzeitgemäß!)