SchiffsModell.net  

Zurück   SchiffsModell.net > Modellwerft > Fernsteuertechnik > Sender, Empfänger, Module

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1: Einzeln / Thread     Top
Alt 21.02.2005, 20:06
Benutzerbild von Harry
Harry Harry ist offline
 
Registriert seit: 18.09.2003
Ort: Oldenburg
Beiträge: 484
Standard Tipps zu Atmel AVRs

Ein paar Anmerkungen zum Forums-Fahrtregler. Ich mache sie hier, weil ich dort nicht schreibberechtigt bin.

ISP:

Ich habe den Programmieradapter von Atmel, für ca. 40 Euro bei Reichelt gekauft. Funktioniert einwandfrei.

Ebenso programmiere ich über die parallele Schnittstelle. Aufwand: 25 pol Sub-D Steckverbinder, zwei Widerstände, ein Kondensator. Download Tool von Johann Aichinger, bis 1kByte Code kostenlos.

ISP bedeutet kein Softwareaufwand. Einfach SCK, MOSI, MISO, /Reset, GND und evtl . UBatt per Stiftleiste zugänglich machen. Ist nur dann etwas problematisch, wenn SCK, MOSI und MISO andere Bausteine ansteuern. Dann muss man überlegen, während der Programmierung die Verbindung zu kappen.

Compiler:

Ich nehme den kostenlosen WINAVR-Compiler. Er erzeugt auch ein *.cof-File. Dieser lässt sich ins AVR Studio laden und dort kann man den C-Code durch den Simulator jagen. Dort kann man den Code durchsteppen und sich alle Register und Speicherinhalte ansehen.

H-Brücke:

Denkt daran, dass Ihr für eine H-Brücke zwei PWM-Ausgänge braucht. Bei Umpolrelais würde einer genügen.

Controller:

Ich empfehle für den Anfang den ATmega8. Auf einer Lochrasterplatine aufgebaut genügt das für die Entwicklung. Ein Upgrade auf einen grösseren ist erst problematisch, wenn die Platine fertig ist. Der Code lässt sich leicht anpassen.

Entwicklungsboard:

Für die ersten Gehversuche genügen ein AVR, ein-zwei Kondensatoren und ein paar LED an den Portpins. Professionelle Boards kann man sich später zulegen oder ganz einsparen. Die AVRs laufen nach dem Flashen von allein los, da sie mit 1MHz Takt bei internem Oszillator geliefert werden. Kann man natürlich später umstellen.

Viele Grüsse

Harry
__________________
Neu auf meiner Seite: eine Leseprobe.
Mit Zitat antworten
  #2: Einzeln / Thread     Top
Alt 21.02.2005, 22:13
Bastl-Wastl Bastl-Wastl ist offline
 
Registriert seit: 16.05.2004
Beiträge: 358
Standard

hallo Harry

warum lässt du dich nicht Freischalten,wenn ich Fragen darf? :wink:

Deine Tips könnten sie sicher gut gebrauchen.

Gruß

Bastl :matrose:
Mit Zitat antworten
  #3: Einzeln / Thread     Top
Alt 28.02.2005, 07:49
Benutzerbild von Harry
Harry Harry ist offline
 
Registriert seit: 18.09.2003
Ort: Oldenburg
Beiträge: 484
Standard

Zur aktuellen Diskussion:

Betrifft Umpolung: Ihr habt zwei PWM-Ausgänge (OC1A und OC1B), wenn Ihr Timer 1 verwendet. Die Ansteuerung einer H-Brücke ist damit problemlos möglich.

PWM-Frequenz: hier seid Ihr deutlich flexibler, als Ihr glaubt. Angenommen Ihr verwendet Timer 1 als Zeitbasis: der braucht nicht bis zum Ende laufen. Im Fast PWM Mode läuft er bei passender Einstellung der WGM Bits bis zum Wert von ICR1, und den Wert kann man passend einstellen.

Ein paar Details zur Leistungsfähigkeit der AVR-Prozessoren: meine ATtiny26 mit 2kB Speicher haben zwei Fahrtregler, einen 2-Kanal Schalter und einen 15 Kanal Schalter, werten also vier Impulsleitungen aus. Sie laufen mit 1 MHz Takt. Ihr habt also reichlich Leistungsreserve was Speicher und Oszillatorfrequenz angeht.

Viele Grüsse

Harry
__________________
Neu auf meiner Seite: eine Leseprobe.
Mit Zitat antworten
  #4: Einzeln / Thread     Top
Alt 28.02.2005, 17:41
Benutzerbild von Hellmut Kohlsdorf
Hellmut Kohlsdorf Hellmut Kohlsdorf ist offline
 
Registriert seit: 03.03.2003
Ort: Mammendorf
Beiträge: 843
Standard

Hallo Harry

Könntest du deinen Kode zur Impulslängenauswertung einstellen? habe gerade im anderen Forum mit einem Mitglied kommuniziert, der hat eine PCM-kodierte Funkanlage und kämpft gerade mit dem Problem die unmittelbar aufeinanderfolgenden Impulse der einzelnen Kanäle zu dekodieren, da er nach beenden des Ersten noch mit der Administration beschäftigt ist, und daher nicht sofort bereit ist den Impuls des zweiten zu dekodieren!

Idealer Weise mit einer einfachen Darstellung wie dein tyny und der Empfänger verschaltet sind. Danke
__________________
MfG



Hellmut
Mit Zitat antworten
  #5: Einzeln / Thread     Top
Alt 28.02.2005, 19:22
Benutzerbild von Harry
Harry Harry ist offline
 
Registriert seit: 18.09.2003
Ort: Oldenburg
Beiträge: 484
Standard

Moin Hellmut,

PCM betrifft doch nur die Funkstrecke, nicht die zwischen Empfänger und Servo!?

Externe Interrupts sind Mangelware beim ATmega8, aber man braucht sie nicht unbedingt. Schliesslich kommen die Impulse nicht unerwartet, und so werden sie der Reihenfolge nach durch einfache Programmschleifen durchgemessen. Aber nur die Eingänge, bei denen bei der Initialisierung

festgestellt wurde, dass dort etwas angeschlossen ist.

Gerechnet wird, wenn alle Impulse gemessen sind. Der Wachhund bellt, wenn bei der Impulsmessung etwas schiefgeht.

Der Code zeigt nur den Kanal 1, Fahrtregler auf dem rechten Knüppel.

Die Impulse kommen zwar auf den einzelnen Kanälen direkt nacheinander. Aber dadurch bekommt man nur einen konstanten Offset, der nicht stört.

#define BIT_IS_SET(ADRESS,BIT_NR) ((ADRESS & (u8)BIT_NR) != 0)

/*Kanal 1, Regler rechts*/

/*~T*/

//ENABLE_EXT_INTERRUPT_0();

/*~I:10*/

if (BIT_IS_SET(MaskeImpulsEingaenge_u8,MASK_BIT0))

/*~-1*/

{

/*~U:11*/

/*~-2*/

do

{

/*~T*/

/*warten auf Impuls

/*~-1*/

}

/*~O:U11*/

while ((PINC & MASK_BIT0) == 0);

/*~E:U11*/

/*~K*/

/*~+er Impuls Kanal 1 (Regler rechts) liegt an: Messung!*/

/*~U:12*/

/*~-2*/

do

{

/*~T*/

tmpMesswert_u16++;

/*~-1*/

}

/*~O:U12*/

while ((PINC & MASK_BIT0) != 0);

/*~E:U12*/

/*~T*/

/*lokalen Messwert global Âbernehmen:*/

MesswNeuReglRe_u16 = tmpMesswert_u16;

tmpMesswert_u16 = 0;

/*~-1*/

}

/*~E:I10*/

/*~T*/

/*~T*/
__________________
Neu auf meiner Seite: eine Leseprobe.
Mit Zitat antworten
  #6: Einzeln / Thread     Top
Alt 28.02.2005, 21:10
Benutzerbild von Torsten
Torsten Torsten ist offline
Moderator
 
Registriert seit: 09.08.2003
Ort: Kempten
Beiträge: 2.213
Standard

Hallo Leute,

zufällig grad drüber gestolpert, kann es sein, daß der Mega8 sogar 3 PWM-Kanäle hat?

Zitat:
Â? Peripheral Features

Â? Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode

Â? One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode

Â? Real Time Counter with Separate Oscillator

Â? Three PWM Channels

Â? 8-channel ADC in TQFP and MLF package

Eight Channels 10-bit Accuracy

Â? 6-channel ADC in PDIP package

Eight Channels 10-bit Accuracy

Â? Byte-oriented Two-wire Serial Interface

Â? Programmable Serial USART

Â? Master/Slave SPI Serial Interface

Â? Programmable Watchdog Timer with Separate On-chip Oscillator

Â? On-chip Analog Comparator
Ich hab nur noch nicht rausfinden können, auf welchen Ports die liegen sollen... RTFM...

Grüße

Torsten
__________________
Signatur? Brauch ich nicht...
Mit Zitat antworten
  #7: Einzeln / Thread     Top
Alt 28.02.2005, 21:37
Benutzerbild von Harry
Harry Harry ist offline
 
Registriert seit: 18.09.2003
Ort: Oldenburg
Beiträge: 484
Standard

OCR1A und OCR1B auf Port B1+ B2 (Timer1) und OC2 auf Port B3 (Timer2).

Viele Grüsse

Harry
__________________
Neu auf meiner Seite: eine Leseprobe.
Mit Zitat antworten
  #8: Einzeln / Thread     Top
Alt 28.02.2005, 21:40
Frank Andrees Frank Andrees ist offline
Moderator
 
Registriert seit: 13.09.2002
Ort: Hildesheim
Beiträge: 1.045
Standard

Hallo Torsten,

schlag nicht zu lange mit dem Kopf gegen die Wand. Du hast recht !!

Laut Datenblatt sind es folgende Ports:

Zitat:
MOSI/OC2 – Port B, Bit 3

MOSI: SPI Master Data output, Slave Data input for SPI channel. When the SPI is

enabled as a Slave, this pin is configured as an input regardless of the setting of DDB3.

When the SPI is enabled as a Master, the data direction of this pin is controlled by

DDB3. When the pin is forced by the SPI to be an input, the pull-up can still be controlled

by the PORTB3 bit.

OC2, Output Compare Match Output: The PB3 pin can serve as an external output for

the Timer/Counter2 Compare Match. The PB3 pin has to be configured as an output

(DDB3 set (one)) to serve this function. The OC2 pin is also the output pin for the PWM

mode timer function.

SS/OC1B – Port B, Bit 2

SS: Slave Select input. When the SPI is enabled as a Slave, this pin is configured as an

input regardless of the setting of DDB2. As a Slave, the SPI is activated when this pin is

driven low. When the SPI is enabled as a Master, the data direction of this pin is controlled

by DDB2. When the pin is forced by the SPI to be an input, the pull-up can still be

controlled by the PORTB2 bit.

OC1B, Output Compare Match output: The PB2 pin can serve as an external output for

the Timer/Counter1 Compare Match B. The PB2 pin has to be configured as an output

(DDB2 set (one)) to serve this function. The OC1B pin is also the output pin for the PWM

mode timer function.

OC1A – Port B, Bit 1

OC1A, Output Compare Match output: The PB1 pin can serve as an external output for

the Timer/Counter1 Compare Match A. The PB1 pin has to be configured as an output

(DDB1 set (one)) to serve this function. The OC1A pin is also the output pin for the PWMmode timer function.
Also sollte es mit der H-Brücke keine Probleme geben.

@ Harry

Vielen Dank für Deine guten Tipps. Nur schade, das Du dich nicht am Projekt beteiligen willst.

Mit freundlichen Grüßen

Frank
Mit Zitat antworten
  #9: Einzeln / Thread     Top
Alt 01.03.2005, 08:42
Benutzerbild von Harry
Harry Harry ist offline
 
Registriert seit: 18.09.2003
Ort: Oldenburg
Beiträge: 484
Standard

Nein, solch eine Projektarbeit ist nichts für mich.

Aber ich verfolge es mit Interesse. Ich glaube, ich kann dabei noch dazulernen und interessante Lösungsansätze kennenlernen. Schiesslich gibt es in der Softwareentwicklung viele Wege, die zum Ziel führen, nicht nur einen. Ausserdem habe ich das Gefühl, dass meine Anmerkungen die Diskussion etwas abwürgen, also halte ich mich etwas mehr zurück.

Viele Grüsse

Harry

Der Kopf ist rund, damit die Gedanken auch einmal eine andere Richung nehmen können.
__________________
Neu auf meiner Seite: eine Leseprobe.
Mit Zitat antworten
  #10: Einzeln / Thread     Top
Alt 01.03.2005, 16:21
Benutzerbild von Hellmut Kohlsdorf
Hellmut Kohlsdorf Hellmut Kohlsdorf ist offline
 
Registriert seit: 03.03.2003
Ort: Mammendorf
Beiträge: 843
Standard

Hallo Harry

Nicht zurückhalten, deine Beiträge sind sehr wertvoll
__________________
MfG



Hellmut
Mit Zitat antworten
  #11: Einzeln / Thread     Top
Alt 02.03.2005, 08:39
Benutzerbild von Harry
Harry Harry ist offline
 
Registriert seit: 18.09.2003
Ort: Oldenburg
Beiträge: 484
Standard

OK, een hebb ick noch: Simulieren mit dem AVR-Studio

Im Makefile zum neuesten WINAVR-Compiler 20050214 muss man unter Debug Info "ELF/DWARF-2" eintragen. Beim Compillieren wird dann eine main.elf erzeugt. Die wird direkt im AVR-Studio geladen. Dort kann man dann Schritt für Schritt den Code durchlaufen lassen. Ausserdem ist es möglich, mit einem Häkchen bei view/dissassembler den C-Code zusammen mit dem Assembler Code zu sehen und laufen zu lassen.

Beim älteren Compiler 20040404 muss man im Makefile unter Debug Info "extcoff" wählen und dann statt .elf den .cof File ins AVR-Studio laden.

Beim WINAVR ist ein Tool dabei, mit dem man ein Makefile automatisch erstellen kann.

Ob das Ganze mit Bascom geht, weiss ich nicht.

Viele Grüsse

Harry
__________________
Neu auf meiner Seite: eine Leseprobe.
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
suche Tipps zur Beschriftung des Rumpfes Philli Schiffsdetails 36 02.02.2009 18:57
brauche mal ein paar Tipps zum Laminieren Seefuchs Rumpf und Aufbauten 6 06.11.2008 22:03
Tipps für Schlepperzubehör Scubamarco Schlepper 5 24.04.2006 16:31
Tipps Vegesack Umbau Jürgen R Seenotrettung 17 28.02.2006 08:45


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Template-Modifikationen durch TMS
© 2011 SchiffsModell.net e.V