INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Bootloader - Atmega8 - MKVII
29.06.2014, 16:15
Beitrag #9
RE: Bootloader - Atmega8 - MKVII
Ja, ATmega8 hab ich sicher richtig verkabelt.
Ja, richtig ausgewählt habe ich es auch.
Ich habe mal nach einem Tutorial http://forum.arduino.cc/index.php?topic=118089.0 einen anderen Treiber installiert, jedoch funktionierte der Programm danach nicht mehr mit dem AVR Studio. Habe jedoch jetzt eine andere Lösung gefunden.
Ich lasse die Hex-Datei von der Arduino IDE compilieren und kopiere sie dann aus dem Temp-Ordner herraus. Dann lade ich die Hex-Datei über AVR Studio rauf.
Ich muss halt ein paar Sachen berücksichtigen:
Der Arduino hat 16MHz, der ATmega8 intern 8MHz (1MHz als Standard gesetzt).
Ich hab die Fuses so geändert das er internt 8MHz verwendet, und beim programmieren muss man beachten, das man bei Befehlen wie delay();
die hälfte des gewolltem nimmt.
delay(1000) (1s) bei 16MHz
delay(1000)(0,5s) bei 8MHz
kurz: Ich muss für 1s -> delay(500) nehmen.
Dann läuft alles!
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2014, 18:38
Beitrag #10
RE: Bootloader - Atmega8 - MKVII
@Tropaion,
..ähm mal nen Gretchenfrage, warum muß es der ATmega8 denn sein ? Der ATmega328 vom UNO ist doch Pin-Kompatibel und da passt eh schon alles. Zudem kann der ATmega8 wenn es nicht gerade die L Version ist auch mit einem externen 16MHz Quarz getaktet werden bzw. der ATmega328 beherrscht auch den internen 8MHz Takt... Warum also diese Verkünstelung ?
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2014, 18:53
Beitrag #11
RE: Bootloader - Atmega8 - MKVII
Ok das sind berechtigte Fragen^^
Hallo Bitklopfer
Zuerst mal ich hab denn: http://www.amazon.de/gp/product/98270469...UTF8&psc=1
Mehrer Gründe:
Ich hab mit dem Tutorial von microcontroller.net angefangen, und das basiert auf dem ATmega8.
Jetzt hab ich 2 ATmegas8 Zuhause liegen, also kann ich dann auch gleich nehmen. Und Geld für andere hab ich sowieso nicht (ja, ich hab nicht mal 4€ für nen Chip in der Tasche)
Ich hab Anfangs eh einen externen 16MHz Quarz am Breadboard verwendet, aber für die kleine Schaltung/Aufgabe die er erledigen soll zahlt es sich echt nicht aus einen externen Quarz einzubauen, daher diese Lösung.
Sind damit deine Fragen beantwortet?
Lg,
Tropaion
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2014, 19:11
Beitrag #12
RE: Bootloader - Atmega8 - MKVII
(29.06.2014 18:53)Tropaion schrieb:  Ok das sind berechtigte Fragen^^
Hallo Bitklopfer
Zuerst mal ich hab denn: http://www.amazon.de/gp/product/98270469...UTF8&psc=1
Mehrer Gründe:
Ich hab mit dem Tutorial von microcontroller.net angefangen, und das basiert auf dem ATmega8.
Jetzt hab ich 2 ATmegas8 Zuhause liegen, also kann ich dann auch gleich nehmen. Und Geld für andere hab ich sowieso nicht (ja, ich hab nicht mal 4€ für nen Chip in der Tasche)
Ich hab Anfangs eh einen externen 16MHz Quarz am Breadboard verwendet, aber für die kleine Schaltung/Aufgabe die er erledigen soll zahlt es sich echt nicht aus einen externen Quarz einzubauen, daher diese Lösung.
Sind damit deine Fragen beantwortet?
Lg,
Tropaion

Hi;
öhm warum der 328er ist doch billiger..:
amazonSTmega328P
Aber Spaß beiseite, wenn man einen Quarz verwendet passen auch die Baudraten für die Serielle Schnittstelle besser was beim Debuggen gerade mit der Arduino IDE der einzige Weg ist an interne Daten der CPU zu kommen.
Und ein Quarz kostet Heute auch keinen Euro mehr, und die 2 22Piko C's dazu auch nicht.
Link-Quarz
Link-C
Zugegeben, das Porto ist dann der Knackpunkt....Sad

Aber meine Fragen sind auch beanwortet, hoffe dir trotzdem geholfen zu haben.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2014, 19:17 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2014 19:21 von Tropaion.)
Beitrag #13
RE: Bootloader - Atmega8 - MKVII
Ja, ich weiß das der billiger ist, aber wie ja schon erwähnt hab ich mir ATmegas8 zuerst wegen dem Tutorial gekauft, da kam mir die Idee mit der Arduino IDE noch gar nicht^^
Und mit 90cent am Konto bekommt man denn Chip auch nicht Big Grin
Quarz und Kondensatoren hab ich eh daheim wie vorher geschrieben:
Zitat:Ich hab Anfangs eh einen externen 16MHz Quarz am Breadboard verwendet, aber für die kleine Schaltung/Aufgabe die er erledigen soll zahlt es sich echt nicht aus einen externen Quarz einzubauen, daher diese Lösung.
Das Programm macht ja nicht viel, und ist nicht unbedingt auf einen sehr genauen Quarz angewiesen, also ist mir das egal.
Brunnenfüllstand messen:
Zitat:#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

//LCD-Pins definieren
#define I2C_ADDR    0x3F // <<----- Add your address here. Find it from I2C Scanner
#define BACKLIGHT_PIN     3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

//Tasterpins
const int select = 2;
const int enter = 3;

//Einstellungsvariablen
int tiefe = 0;
int radius = 0;
int menu = 0;
int selectState = 0;
int selectLastState = 0;
int enterState = 0;
int enterLastState = 0;
const float pi = 3.14;

//Ultraschall-Pins definieren
int pingPin = 13;
int inPin = 12;

void setup()
{
  //Initialisieren des LCD und festlegung der Größe
  lcd.begin (16,2);
  
  //Hintergrundbeleuchtung ein
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
  lcd.setBacklight(HIGH);
  
  //Taster
  pinMode(select, INPUT);
  pinMode(enter, INPUT);
}

void loop()
{
//Einstellungen
if(menu <= 2)
{
enterState = digitalRead(enter);
if(enterState != enterLastState)
{
  if(enterState == HIGH)
  {
    menu++;
  }
}
enterLastState = enterState;
}

if(menu == 0)
{
selectState = digitalRead(select);
if(selectState != selectLastState)
{
  if(selectState == HIGH)
  {
    tiefe++;
  }
}
selectLastState = selectState;

lcd.clear();
lcd.home();
lcd.print("Einstellungen");
lcd.setCursor(0, 1);
lcd.print("Tiefe: ");
lcd.print(tiefe);
lcd.print("dm");
delay(100);
}

if(menu == 1)
{
selectState = digitalRead(select);
if(selectState != selectLastState)
{
  if(selectState == HIGH)
  {
    radius++;
  }
}
selectLastState = selectState;

lcd.clear();
lcd.home();
lcd.print("Einstellungen");
lcd.setCursor(0, 1);
lcd.print("Radius: ");
lcd.print(radius);
lcd.print("dm");
delay(100);
}
//Füllstand
if(menu == 3)
{
//Variablen
long duration, liter, volumen, range;
volumen = radius * radius * pi * tiefe;

//Ultraschall
//Variablen
//Schwingungen senden
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
//Zeit bis zur Rückmeldung der Schwingung
pinMode(inPin, INPUT);
duration = pulseIn(inPin, HIGH);
//Umrechnen in dm
range = microsecondsToDm(duration);
liter = volumen - radius * radius * pi * range;

lcd.clear();
lcd.home();
lcd.print("Range: ");
lcd.print(range);
lcd.print("dm");
lcd.setCursor(0, 1);
lcd.print("Fuel: ");
lcd.print(liter);
lcd.print("Liter");
delay(1000);
}

}

//UNTERPROGRAMME
long microsecondsToDm(long microseconds)
{
//Umrechenung der Zeit in cm
//Ultraschall=340m/s, der Ping ist die Zeit von hin und zurück, also muss man die hälfte nehmen
return microseconds / 29 / 2 / 10;
}
  
Für mein 2tes Projekt werde ich eh einen externen Quarz nehmen da kommt es schon eher auf die Genauigkeit an. Wird ein Belichtungsgerät (Timer) da sollte es schon etwas genauer sein.
Hab ich diesmal besser argumentiert/begründet? Smile
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2014, 19:47
Beitrag #14
RE: Bootloader - Atmega8 - MKVII
(29.06.2014 19:17)Tropaion schrieb:  Ja, ich weiß das der billiger ist, aber wie ja schon erwähnt hab ich mir ATmegas8 zuerst wegen dem Tutorial gekauft, da kam mir die Idee mit der Arduino IDE noch gar nicht^^
Und mit 90cent am Konto bekommt man denn Chip auch nicht Big Grin
Quarz und Kondensatoren hab ich eh daheim wie vorher geschrieben:
Zitat:Ich hab Anfangs eh einen externen 16MHz Quarz am Breadboard verwendet, aber für die kleine Schaltung/Aufgabe die er erledigen soll zahlt es sich echt nicht aus einen externen Quarz einzubauen, daher diese Lösung.
Das Programm macht ja nicht viel, und ist nicht unbedingt auf einen sehr genauen Quarz angewiesen, also ist mir das egal.
Brunnenfüllstand messen:
Zitat:#include <Wire.h>
..........
Für mein 2tes Projekt werde ich eh einen externen Quarz nehmen da kommt es schon eher auf die Genauigkeit an. Wird ein Belichtungsgerät (Timer) da sollte es schon etwas genauer sein.
Hab ich diesmal besser argumentiert/begründet? Smile

öhm ja und nein....weil um die Laufzeit vom US-Sensor zu erfassen ist auch Genauigkeit gefragt, zu dem hat man bei 16MHz die doppelte Auflösung....
Aber Jeder wie er mag....
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2014, 20:22
Beitrag #15
RE: Bootloader - Atmega8 - MKVII
Ok, das hatte ich nicht beachtet, kannst du mir das genauer erklären?
Ich hab denn Sensor: http://www.amazon.de/gp/product/B00BIZQW...UTF8&psc=1
der hat aber einen Quarz onboard Huh
Wie viel Unterschied macht denn das? Ich meine zum Brunnenfüllstand messen muss das jetzt nicht so genau sein.
Es geht hauptsächlich darum, da der Brunnen sehr klein ist, das eine Meldung zurückgegeben wird, wenn zu wenig drin ist.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2014, 20:47
Beitrag #16
RE: Bootloader - Atmega8 - MKVII
(29.06.2014 20:22)Tropaion schrieb:  Ok, das hatte ich nicht beachtet, kannst du mir das genauer erklären?
Ich hab denn Sensor: http://www.amazon.de/gp/product/B00BIZQW...UTF8&psc=1
der hat aber einen Quarz onboard Huh
Wie viel Unterschied macht denn das? Ich meine zum Brunnenfüllstand messen muss das jetzt nicht so genau sein.
Es geht hauptsächlich darum, da der Brunnen sehr klein ist, das eine Meldung zurückgegeben wird, wenn zu wenig drin ist.

Nun der Quarz auf dem Sensor ist nur für den Sensor zuständig und sorgt für einen definiert langen Ausgangsimpuls je nach Abstand des Gegenstandes zum Sensor.
Aber den Ausgangsimpuls mußt du mit dem Arduino dann erfassen und hier spielt voll die Taktfrequenz von der CPU rein... bei 8MHz Takt mußt du den errechneten Abstand verdoppeln, zudem bist du von den Änderungen der Taktfrequenz weil kein Quarz abhängig was zu einem schweben des Messwertes führen kann. Wie hoch der Messfehler nun in % liegen kann kann ich dir auch nicht sagen....ausprobieren...

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Attiny45 Bootloader brennen mit Funduino Mega toto1975 63 2.207 23.10.2016 17:08
Letzter Beitrag: hotsystems
  Bootloader bergfrei 8 377 27.09.2016 16:17
Letzter Beitrag: Mathias
  Adafruit Gemma Board kommt nicht in den Bootloader-Modus! Jack Sparrow 2 329 09.04.2016 12:10
Letzter Beitrag: hotsystems
  Atmega8 / 16 /32 mit Arduino >=IDE 1.6.4 Gelegenheitsbastler 0 605 08.11.2015 22:24
Letzter Beitrag: Gelegenheitsbastler
  Wie kriege ich den Bootloader in den Mega328 Karle 3 1.291 01.08.2015 08:24
Letzter Beitrag: Karle
  Arduino Ethernet und netboot bootloader ebe.ha 8 1.609 05.05.2015 20:29
Letzter Beitrag: ebe.ha
  ATmega16A problem mit serieller Schnittstelle. Bootloader? itAxel 1 808 04.12.2014 11:11
Letzter Beitrag: pylon
  IDE und Atmega8 Marc2014 0 1.317 09.09.2014 16:08
Letzter Beitrag: Marc2014
  Atmega8 - Arduino UNO - USBasp Marc2014 2 1.410 25.07.2014 17:12
Letzter Beitrag: Marc2014
  Arduino Uno Bootloader Problem Marcel.j 0 1.517 17.11.2013 08:49
Letzter Beitrag: Marcel.j

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste