Serieller Empfänger mit AVR + BASCOM

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 21 12 2025  20:59:34      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Oszilloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte

Gehe zu Seite ( Vorherige Seite 1 | 2 | 3 | 4 Nächste Seite )      


Autor
Serieller Empfänger mit AVR + BASCOM
Suche nach: empfänger (4546)

    







BID = 66915

Midnight

Stammposter



Beiträge: 256
 

  


Hallo Jornbyte,

habe in den letzten Wochen viel Zeit damit verbracht am Port B vom 2313 (frag mich jetzt nicht warum genau das in meinem Datenblatt auf Seite 51 steht, ist aber auch völlig egal) ein simples LCD zu betreiben.... mal wollte es, mal nicht.... ich hatte schon das LCD in verdacht, und hatte mir ein neues bestellt... gleiches Spiel... (LCD 4Bit Betrieb am Port B, allerdings R/W über extra Pin gesteuert).
Ich habe an der Software nix geändert, nur Pullups dran, und ei siehe da, es lief zuverlässig.... frag mich bitte nicht warum....

Gruß

Midnight

BID = 66919

Jornbyte

Moderator



Beiträge: 7336

 

  

Poste doch mal deine Seite 51.

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 67012

Majuz

Neu hier



Beiträge: 24
Zur Homepage von Majuz

@benedikt
ich wie ich schon geschrieben habe will ich mit den schrittmotoren einen plotter bauen. Dieser liest die daten (der einfachheit halber kann er nur Linien, Kreise und Bögen) direkt aus einer *.DXF - Datei. Diesen Dateityp kann eigentlich jedes Zeichenprogramm speichern.

1. die geschwindigkeit ist dabei eher unwichtig. ich werde die motoren wohl nicht am maximum betreiben (obwohl mal interressant währe wie schnell es mit dieser methode geht)

2. In einer zeichnung sind mit hoher wahrscheinlichkeit viele "schräge" linien und kreise und bögen. bei diesen macht der motor ja immer nur ein schritt in eine richtung. dann müsste ich ja genausooft übergragen (immer ein schritt)

die einzige möglichkeit die ich jetzt sehe währe in einem bit den typ (linie,kreis,bogen) und die passenden werte (anfang, mittelpunkt radius ...) zu übergragen und die umrechnung im µC zu machen. allerdings glaube ich dass da der speicherplatz auf dem µC nicht ausreicht.

falls ich was übersehen hab oder du anderer meinung bist lasse ich mich gerne belehren!

Marius

EDIT: hab grad gemerkt dass ein byte da nicht reichen würde, weil die koordinaten schon bis 1000mm gehen können (oder noch größer z.b. bei einer hauszeichnung). außerdem gibts ja auch noch nachkommastellen. bei einem bogen bräuchte ich dann allein 5 byte (wenn man mal nur von ganzen zahlen von 1 - 255 ausgeht) un alle benötigten daten zu übertragen (mittelpunkt in x und y, radius, winkel zum anfang und winkel zum ende) also wohl auch schwer realisierbar.

[ Diese Nachricht wurde geändert von: Majuz am 30 Apr 2004 17:55 ]

BID = 67015

Benedikt

Inventar

Beiträge: 6241

BID = 67018

Majuz

Neu hier



Beiträge: 24
Zur Homepage von Majuz

also:
ich hab mir das auf den links mal durchgelesen. dabei ergeben sich für mich mehrere probleme :

1. ich hab keine lust assembler zu programmieren. ich hatte zwar schon eine vorlesung microcomputertechnik an der fh und da haben wir auch ein bischen assembler programmiert, aber so recht geblickt hab ichs nicht . ich würde gerne in basic (oder von mir aus auch c++) programmieren (vorzugsweise BASCOM).

2. würde ich gerne vorher sehen was der plotter druckt (also ne vorschau). dazu bräuchte ich bei der lösung ja ein grafisches display, für das ich dann wohl noch einen extra-prozessor bräuchte.

3. hab ich noch nie mit externem eprom gearbeitet (könnte ich wahrscheinlich ja auch nicht selbst brennen).

4. hab ich auch noch nie mit mehreren µC gearbeitet die miteinander kommunizieren

punkte 2-4 würden mich schon interressieren, aber dazu bräuchte ich auf jeden fall hilfe!

Marius

BID = 67023

Benedikt

Inventar

Beiträge: 6241

Du brauchst eigentlich nur den Bresenham Algorithmus:
Du sendest mit dem Computerprogramm X,Y Punkte an den uC, dieser berechnet die Punke zwischen diesem und dem vorhergehenden und erzeugt somit eine Linie und steuert entsprechend die beiden Schrittmotore an, die dann diese Linie zeichnen.
Das geht schneller und einfacher, als deine Lösung.
Ich habe eine einfachere Beschreibung mit Herleitung des Bresenham Algorithmus. Wenn du willst, kann ich das mal scannen.

BID = 67025

Majuz

Neu hier



Beiträge: 24
Zur Homepage von Majuz

mit linien ginge das ja noch, aber wie siehts mit kreisen und bögen aus?

kannst es bitte scannen und an     marius.f äht web.de (automatisch editiert wegen spamgefahr)    schicken??
danke!

marius

BID = 67030

Benedikt

Inventar

Beiträge: 6241

Kreise kannst du ebenso wie Linien mit einem Schrittmotor nur näherungsweise zeichnen, da die Auflösung von Schrittmotoren begrenzt ist. Wenn du die Kreise in kleine Linien (je nach Radius mit 1-10 Pixel Länge) zerlegst, dann dürfte das kein Problem sein.

Davon abgesehen: Der Bresenham Algorithmus kann eigentlich nur Kreise wahlen. Der Linien Algorithmus ist eine Abwandlung davon.

PS: Ich hab dir gerade die PDF Datei geschickt.

BID = 67043

Majuz

Neu hier



Beiträge: 24
Zur Homepage von Majuz

danke für das pdf.
die umrechnung sollte also kein problem sein.
was für mich aber ein großes problem darstellt ist die kommunikation zwischen den µC's und die ansteuerung von RAM und EPROM.
hat da wer ein gutes tutorial wo das beschrieben ist.

ein weiteres problem ist noch die ansteuerung eines Grafik-LCDs.

marius

PS: bisher habe ich mit dem µC nur ein paar lämpchen geschaltet und ein paar schalter angeschlossen. außerdem hab ich ein 4x40 Zeichen LCD angesteruert (ist mit BASCOM ja kinderleicht).

BID = 67052

Jornbyte

Moderator



Beiträge: 7336

Da wird es aber enge mit einem 2313. Schau dir mal den ATmega8515 an (Nachfolger des 8515).

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 67053

Benedikt

Inventar

Beiträge: 6241

Für was brauchst du ein EPROM ?

Ein uC verfügt normalerweise über einen Adress/Datenbus, der AT90S4433 leider nicht...
Mann muss nur die Adresse angeben und der uC überträgt die Daten.

Wenn du ein Grafik LCD verwendest, würde ich dir ein LCD mit dem Controller T6963 empfehlen. Der ist leicht anzusteuern und läuft stabil. Leider wird er nur für Displays kleiner 320x240 verwendet. Für größere Displays wird meistens der Epson Controller SED1330 verwendet. Der ist aber etwas komplizierter...

Assembler verwende ich nur bei 8051 uC, das ist einfach.
AVRs sind da um ein Vielfaches schwieriger.

BID = 67057

Jornbyte

Moderator



Beiträge: 7336


Zitat :
AVRs sind da um ein Vielfaches schwieriger.


Das ist die Aussage von Benedikt, ich sage die sind leicht in ASM zu proggen. Also wie immer das gleiche - Atmel oder Pic.

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 67065

Majuz

Neu hier



Beiträge: 24
Zur Homepage von Majuz

also mit PIC hab ich mich noch überhaupt nicht auseinenadergesetzt. also würde ich atmel bevorzugen.
in assembler will ich sowieso nicht programmieren. ich programmiere lieber in basic (oder c++).
ich dachte an ein EPROM weil bei einem programm dieser größe der eingebaute speicher wohl nicht reichen wird.
hast du nen link zu nem LCD mit diesem treiberbaustein?

BID = 67075

Benedikt

Inventar

Beiträge: 6241

@Jornbyte
Das war zumindest mein Eindruck beim selber Programmieren, und dem was ich verschiedenen Foren mitbekommen habe:
Der 8051 häufig in Assembler programmiert, während fast alle bei AVRs C++ verwenden...

@Majuz
An den AT90S4433 kann man keinen externen Programmspeicher anschließen. Aber 4k sind schon einiges. Habe ich noch nie geschafft (in Assembler), aber auch in C oder Basic sollte der Code bei weitem reichen. (außer wenn Bilder im Code enthalten waren).
Ein normale Schrittmotorsteuerung ohne viele extras ist unter 100Byte groß. Mit Bresehnham und LCD könnten es 1-2kb sein...

Als Vorschau für das Bild bräuchtest du warscheinlich schon eine höhere Auflösung (320x240). Daher würde ich dir empfehlen, am PC ein Vorschau einzubauen, und im uC nur eine X,Y Koordinaten in Rasterpunkte Umwandlung zu machen und damit die Motoren anzusteuern.

Ich würde alles über ein 5 Byte System machen:
1. Byte: Befehl + Beginn einer Übertragung (4 bit fest, die anderen 4bit enthalten den Befehl wie z.B. fahre zu Punkt X,Y oder zeichne Linie von aktuellem Punkt zu X,Y
2.+3. Byte X Koordininate (0-65535)
4.+5. Byte Y Koordininate (0-65535)

Die Auflösung von 4 Miliarden Pixel sollte ausreichen. 256x256 sind etwas zu klein, deshalb lieber etwas größer wählen...



BID = 67079

Jornbyte

Moderator



Beiträge: 7336


Zitat :
An den AT90S4433 kann man keinen externen Programmspeicher anschließen.


Das ist nicht richtig, es geht an jeden µC. Nur wenn der µC keine Interne Adress und Datenauswertung hat, muss man sich selbst einen Kopf machen. Aber es geht.

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.


Vorherige Seite       Nächste Seite
Gehe zu Seite ( Vorherige Seite 1 | 2 | 3 | 4 Nächste Seite )
Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 18 Beiträge im Durchschnitt pro Tag       heute wurden bisher 6 Beiträge verfasst
© x sparkkelsputz        Besucher : 187865997   Heute : 13610    Gestern : 21855    Online : 259        21.12.2025    20:59
12 Besucher in den letzten 60 Sekunden        alle 5.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0338830947876