Also VCC und GND getestet, kein Strom. die 2 abgeklemmt und durch eigene Stromversorgung ersetzt, bleibt jedoch leider bei -1
Also VCC und GND getestet, kein Strom. die 2 abgeklemmt und durch eigene Stromversorgung ersetzt, bleibt jedoch leider bei -1
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?[...] die 2 abgeklemmt und durch eigene Stromversorgung ersetzt [...]
Gruß
Malte
Das 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 .... :-/ ).
Code:// === 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
Ciao sagt der JoeamBerg
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.
Hey,
Na wessen Fehler denn sonst ...Sorry war am Ende mein Fehler.
Dann viel Spass und bis zum nächsten Problem ...
Gruß
Malte
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).Es geht!!! ... Sorry war am Ende mein Fehler ... ist irgendwie gedreht im Stecker ...
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 . . .... jetzt kanns hoffentlich losgehen, hab zwar noch nichts entwickelt ...
Und natürlich könntest Du bei Gelegenheit dann vom internen Oszillator umsteigen auf Quarz.Code:// ============================================================================== // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = // 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 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ciao sagt der JoeamBerg
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)
Lesezeichen