LED anfang

Hier werden Fragen zu LED-Grundlagen beantwortet...

Moderator: T.Hoffmann

Antworten
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

So, 14.07.13, 11:24

Hey,

Ihr habt mich glaub ich falsch verstanden, ich meinte die lichthellichkeit messen und als eingang an einen AtmegaXX ...
Benutzeravatar
Mr Fix-it
Hyper-User
Hyper-User
Beiträge: 1262
Registriert: Sa, 21.04.12, 10:39
Wohnort: Saarland

So, 14.07.13, 13:29

Dazu ist eine Fotozelle sinnvoll. Entweder eine Diode oder ein Transistor. Letzterer ist empfindlicher, kommt auf die Aufgabenstellung an. Wenn es darum geht das Licht automatisiert zu starten reicht sicher eine Diode, soll hingegen das Licht geregelt werden, ist der Transistor die feinfühligere Lösung!
Borax
Star-Admin
Star-Admin
Beiträge: 12218
Registriert: Mo, 10.09.07, 16:28

So, 14.07.13, 14:15

soll hingegen das Licht geregelt werden, ist der Transistor die feinfühligere Lösung!
Außerdem ist der Preisunterschied nahe 0 und weil ein Fototransistor eine wesentlich niedrigere Impedanz hat, ist die Helligkeistinformation einfach und direkt am ADC eines AVRs auswertbar. Ich würde den SFH 309 empfehlen: http://www.reichelt.de/index.html?ACTIO ... ICLE=65221
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Mi, 17.07.13, 18:00

Hey

hab jetzt alle teile bekommen?

Hat Jemand nen schaltplan zur Grundschaltung eines Atmega88, könnte im inet nix finden
Borax
Star-Admin
Star-Admin
Beiträge: 12218
Registriert: Mo, 10.09.07, 16:28

Mi, 17.07.13, 21:36

hab jetzt alle teile bekommen?
Welche?
Hat Jemand nen schaltplan zur Grundschaltung eines Atmega88, könnte im inet nix finden
Grundschaltung wofür? Für den 7805? Oder um den Programmer anzuschließen oder den Quarz oder das DCF-Modul oder den Fototransistor an den ATMega oder für noch was anderes?
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Mi, 17.07.13, 21:41

erstmal ne ganz einfache Grundschaltung zum anschliesen des Programmers und einstellungen im Atmel Studio

Teile hab ich die wo ich oben geschrieben habe ... (nur ohne DFC vorerst)

würde das ganze gerne in C machen (Hast du vieleicht einen Beispiel Code für eine BLINK LED? vorerst zum testen auch ohne quarz)
Borax
Star-Admin
Star-Admin
Beiträge: 12218
Registriert: Mo, 10.09.07, 16:28

Mi, 17.07.13, 21:51

Der Programmer kann den AVR mit Strom versorgen. Zum reinen 'beschreiben' (für ein Blink-LED reicht es auch ;) ) kann man also einfach die entsprechenden Leitungen (MISO,MOSI,SCK,RESET,GND und VCC) mit ein paar (kurzen) Kabeln auf dem Steckbrett mit den passenden Pins des AVRs verbinden und schon kann's losgehen. Die Steckerbelegung des Programmers ist im Handbuch desselben (eher Flyer) beschrieben (oder auch hier: http://www.elv-downloads.de/Assets/Prod ... AVR_um.pdf ), die PINs des ATMega stehen im Datenblatt ( http://www.atmel.com/images/doc2545.pdf ). Brauchst Du da wirklich einen 'vollständigen' Schaltplan?
Mit C kann ich Dir nicht helfen. Ich kann es zwar lesen, aber aus alter Gewohnheit ist mir BASIC (also bei Avr-Chips BASCOM) lieber. Wenn was mit Bascom zu lahm wird, dann wird halt ein Stück Assembler eingefügt (kann man bei Bascom einfach mit in den Code schreiben). Aber es findet sich bestimmt ein passender Code Schnipsel im Netz: http://www.rn-wissen.de/index.php/Hallo ... blinken%29
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Mi, 17.07.13, 22:44

Hallo,

Hab jetzt diesen code:

Code: Alles auswählen

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

int main(void)
{

	DDRD = 0b0110000000;
	
	while (1)
	{
		PORTD = 0b0010000000;
		_delay_ms(200);
		PORTD = 0b0100000000;
		_delay_ms(200);
	}

}
die LED ist an Pin11 des ATMEGAS88

warum funktioniert es nicht was ist falsch?
Horaz
User
User
Beiträge: 25
Registriert: Di, 05.06.07, 14:37
Wohnort: München
Kontaktdaten:

Do, 18.07.13, 09:14

Hallo,

hast du den Code compiliert und auf den avr übertragen?

Du hast bei den Zuweisungen 10 bit angegeben. der avr hat aber nur 8bit breite Register, was er dann tut.. keine Ahnung
wenn du "0b0110000000" durch "0b00100000" ersetzt sollte der die LED am Pin 11 des AVR ansprechen
Testen kann ich das leider erst heute Abend.

Viele Grüße
Markus
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Do, 18.07.13, 16:29

ich glaub ich hab beim übertragen problemme ... gibts ne anleitung wie man alles einstellen muss in Atmel Studio?
Horaz
User
User
Beiträge: 25
Registriert: Di, 05.06.07, 14:37
Wohnort: München
Kontaktdaten:

Do, 18.07.13, 18:08

ich habe bisher im Thread nichts gefunden, daher mal ein kurzes howto

AVR Studio starten, neues Projekt anlegen, avr GCC auswählen und neuen Ordner und Datei anlegen(der Einfachheit halber)
NEXT klicken, nicht Finish

AVR Simulator auf der linken und den AtMega88 auf der anderen Seite, jetzt Finish

dann den Code in die Datei kopieren und abspeichern
->Code compilieren, das geht über Build oder die Taste F7

-> oben auf auf das AVR Symbol klicken, dabei baut das Programm automatische eine Verbindung zum Programmer auf(falls möglich) sonst auf Con(daneben) und STK500 auswählen
unter main kannst du nun mit Read Signature schaun ob eine Verbindung zum Chip möglich ist, falls nein sind die Kabel nicht richtig oder der Chip hat keine Stromversorgung
sonst kannst du unter Program die Hex datei im Projektordner/default auswählen und program drücken (EEPROM und ELF brauchst du nicht)

dann sollte es bereits blinken

hier ist noch eine ähnliche Anleitung, die wählt den zu bespaßenden avr nur etwas später aus
http://www.electronicsplanet.ch/mikroco ... rial-c.htm

Hoffe du kannst damit was anfangen, sonst mach ich dir auch gerne noch Bilder

um noch auf deine Frage einzugehen :)
Man sollte nichts einstellen müssen damit es läuft, wie es bei deinem Programmer aussieht weis ich leider nicht zu 100% weil ich mir den direkt von Atmel (AVRISP mkii) geholt habe
Möglicherweise musst du noch die Firmware updaten, das müsste bei deinem Programmer dabei stehen
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Do, 18.07.13, 19:20

F7 Habe ich gemacht dan kommt das als ausgabe

Code: Alles auswählen

------ Build started: Project: LED BLINKEN, Configuration: Debug AVR ------
Build started.
Project "LED BLINKEN.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Atmel Studio 6.1\Vs\Compiler.targets" from project "C:\Users\Patrick\Documents\Atmel Studio\6.1\LED BLINKEN\LED BLINKEN\LED BLINKEN.cproj" (target "Build" depends on it):
	Task "RunCompilerTask"
		C:\Program Files (x86)\Atmel\Atmel Studio 6.1\shellUtils\make.exe all 
		make: Nothing to be done for `all'.
	Done executing task "RunCompilerTask".
	Task "RunOutputFileVerifyTask"
				Program Memory Usage 	:	108 bytes   1,3 % Full
				Data Memory Usage 		:	0 bytes   0,0 % Full
	Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "LED BLINKEN.cproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Atmel Studio 6.1\Vs\Avr.common.targets" from project "C:\Users\Patrick\Documents\Atmel Studio\6.1\LED BLINKEN\LED BLINKEN\LED BLINKEN.cproj" (entry point):
Done building target "Build" in project "LED BLINKEN.cproj".
Done building project "LED BLINKEN.cproj".

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
was meinst du jetzt aber mit AVR-Symbol?

Der Link ist nicht gerade hilfreich, dort sieht alles anderst aus als im Atmel STudio 6 ^^
Borax
Star-Admin
Star-Admin
Beiträge: 12218
Registriert: Mo, 10.09.07, 16:28

Do, 18.07.13, 20:51

Atmel STudio 6
Geht nicht mit den DIAMEX Programmern. Die laufen nur bis zum AVR Studio 4.18!
Hab ich hier schon mal geschrieben:
viewtopic.php?p=174602#p174602
Horaz
User
User
Beiträge: 25
Registriert: Di, 05.06.07, 14:37
Wohnort: München
Kontaktdaten:

Do, 18.07.13, 21:40

Ich selbst benutze auch das 4.18, da es ohne Visual Studio auskommt und ich eh in normalen Editor programmiere und das Studio nur zum debuggen und überspielen nutze

Für das Studio 6 gibt es hier ein ganz gutes Tutorial was alles wesentliche erklärt
https://www.youtube.com/watch?v=IDdaQQ6mDJY

Wenn sich Programmer und Studio net vertragen hat man meist schlechte Karten und sollte eines von beidem wechseln
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Do, 18.07.13, 22:57

Ich habe diesen Programmer

-> http://www.reichelt.de/Programmer-Entwi ... EX+ALL+AVR

Dachte der wird unterstützt?
Borax
Star-Admin
Star-Admin
Beiträge: 12218
Registriert: Mo, 10.09.07, 16:28

Do, 18.07.13, 23:00

Vom 4.18 schon. Steht sogar in der Beschreibung bei Reichelt:
Kann direkt mit AVR Studio 4 benutzt werden
Da steht nichts von AVR Studio 6
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Do, 18.07.13, 23:02

Ist das nen *** also soll ich ne alte Software verwenden?

kann mans ned kompatibel machen?
Borax
Star-Admin
Star-Admin
Beiträge: 12218
Registriert: Mo, 10.09.07, 16:28

Do, 18.07.13, 23:07

Was heißt hier alte Software... Von den Funktionen der 'neuen' hast Du doch gar nichts. Schließlich willst Du 'alte' Chips damit programmieren.
kann mans ned kompatibel machen?
Nicht dass ich wüsste. Du kannst natürlich in AVR Studio 6 programmieren und zum übertragen AVRDude verwenden.
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Do, 18.07.13, 23:41

Hab AVRdude jetzt und auch im Atmel Studio 6 Eingerichtet (http://www.mikrocontroller.net/topic/267384)
wie gehts jetzt weiter?
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Fr, 19.07.13, 01:43

hab es jetzt mit AVR studio 4 hinbekommen ... die LED Blinkt aber sehr dunkel ...

es kommt als ausgnag 1,2V Spannung (max) und es ist eine 5V LED

hab ich nicht mehr ausgangspannung?
Borax
Star-Admin
Star-Admin
Beiträge: 12218
Registriert: Mo, 10.09.07, 16:28

Fr, 19.07.13, 08:37

Die Spannung am Ausgang sollte man unbelastet (oder mit nur geringer Last wie z.B. 1KOhm nach Masse) nachmessen. 1.2V sind aber schon sehr wenig. Hast Du vielleicht den Programmer (falls Du die Schaltung mit dem Programmer versorgst) über die Jumper auf 3.3V gesetzt?
All-AVR-Jumper1.png
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Fr, 19.07.13, 15:44

JP1 = 1 gesteckt
JP2 = 2 & 3 gesteckt

auch wen ich es über meine 4 batterien (a 1,5V) und dem spannungswandler versuche klappt es nicht dort habe ich nach dem spannungswandler 4,4V

auch mit dem 15V netzteil klappt es nicht
Horaz
User
User
Beiträge: 25
Registriert: Di, 05.06.07, 14:37
Wohnort: München
Kontaktdaten:

Fr, 19.07.13, 15:59

nach dem Bild von Borax müsste bei JP1(unten) der mittlere gesteckt sein -> 5V und beim JP2(oben) der erste -> ISP

du solltest auch bevorzugt nur eine Spannungsquelle nutzen und den Rest abklemmen, sonst kommen u.U. 15V an die 5V vom USB was nicht ganz so prickelnd ist, ich weis nicht was der Programmer an Schutzschaltung hat.

kannst du vielleicht mal ein Bild von der Schaltung machen, so das man möglichst sieht wo welche Kabel lang laufen?
Q-Pat
Mega-User
Mega-User
Beiträge: 112
Registriert: Di, 13.09.11, 18:57

Fr, 19.07.13, 16:01

hab grad nurmal eine Ausgabge gemacht ohne delay, und sieh da (zumindest über die 5V/15V versorgung hab ich jetzt 4,2 an der LED

kannes mit dem delay zusammen hängen?
Horaz
User
User
Beiträge: 25
Registriert: Di, 05.06.07, 14:37
Wohnort: München
Kontaktdaten:

Fr, 19.07.13, 16:10

Kann ja, aber dann sollte die Led nicht blinken...
das ist dann PWM, da wird die Led einfach sehr schnell (<100Hz) an und aus gemacht, das ist die gängige Methode um die Helligkeit zu regeln

aber dann sollte sie nicht blinken, sondern nur dunkel leuchten

Wie misst du denn die Spannung und den Strom? normales Multimeter?
Wenn der Ausgang nicht konstant ist (z.b. Rechteck o.ä.) verfälscht das die Messung
Antworten