Forum: Mikrocontroller und Digitale Elektronik Analoges Projekt auf MC umrüsten. Frage zu PIN Zuweisungen.


von Chris (geomax)


Lesenswert?

Hallo,
ich bin in Sachen AVR-Programmierung absoluter Anfänger. Dennoch möchte 
ich ein bestehendes Projekt mit einem Mikrokontroller neu aufbauen und 
programmieren. Soweit so gut. Wo ich mir nicht 100% sicher bin ist die 
Zuweisung der Signale an den richtigen Mirkrokontroller PIN. Für das 
Projekt ist ein ATTiny2313A in der DIP Version vorgesehen.
Ich habe schon mal eine Tabelle mit den Signal Namen, Signal Typen und 
welchen PIN ich am Mikrokontroller dafür vorgesehen habe 
zusammengestellt. Sind die Signal Typen den richtigen PINs und deren 
Funktion entsprechend korrekt zugewiesen? Oder sollte man etwas ändern? 
Ist hier jemand der sich das mal anschauen kann und mir sagen ob es so 
korrekt ist? Über ein Feedback wäre ich dankbar.
1
#  Signal Name | Signal Type | ATTiny 2313A (PIN Name)
2
1)  BOOST, Digital Input, PA0 (Pin5)
3
2)  AUDIO, Digital Output, PA1 (Pin4)
4
3)  /RST, Reset, PA2 (Pin1)
5
4)  TX-SIGNAL, PWM Output, PB0 (Pin12)
6
5)  RX-SIGNAL, Analog Input, PB1 (Pin 13)
7
6)  DELAY, Analog Input, PB2 (Pin14)
8
7)  T-TUNER, Analog Input, PB3 (Pin15)
9
8)  TRIGGER, Analog Input/Output, PB4 (Pin16)
10
9)  MOSI, AVR-ISP, PB5 (Pin17)
11
10)  MISO, AVR-ISP, PB6 (Pin18)
12
11)  SCK, AVR-ISP, PB7 (Pin19)
13
12)  SA, Digital Output, PD0 (Pin2)
14
13)  SB, Digital Output, PD1 (Pin3)
15
14)  SC, Digital Output, PD2 (Pin6)
16
15)  SD, Digital Output, PD3 (Pin7)
17
16)  ASW, Digital Input, PD4 (Pin8)
18
17)  P-OSC, Digital Output, PD5 (Pin9)
19
18)  TRH-RST, Digital Output, PD6 (Pin11)
20
19)  VCC, Power, VCC (Pin20)
21
20)  GND, Power, GND (Pin10)

[Mod: pre-Tags hinzugefügt]

: Bearbeitet durch Moderator
von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Mit der Liste kann ich nichts anfangen. Daraus geht nicht hervor, was du 
warum anschließen willst. Die Pinbelegung kannst du selbst mit dem 
Datenblatt abgleichen. Dafür brauchst du uns nicht.

Fange mal mit einem LED Blinker auf Steckbrett an. Und dann schließt du 
ein einzelnes Poti an. So kannst du dich mit dem Mikrocontroller 
vertraut machen.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Chris schrieb:
> #  Signal Name | Signal Type | ATTiny 2313A (PIN Name)

Dazu kann dir niemand was sagen. Die Signalnamen sind einfach nicht 
aussagekräftig genug. Zumal das ja laut Topic ein "Analoges Projekt" 
sein soll. Abgesehen davon ist der ATTiny2313 vermutlich keine gute 
Wahl. Er ist z.B. hornalt (muß kein Nachteil sein, kann aber). Im 
Allgemeinen nimmt man zum Ausprobieren einen richtig dicken µC. Und wenn 
es dann läuft, skaliert man es auf einen kleineren herunter.

Das hat den Vorteil, daß man die freien Pins zum Debuggen nutzen kann 
(z.B. ein Display anknüppern) und auch mit Flash und RAM nicht ständig 
am Limit ist.

von Frank K. (fchk)


Lesenswert?

Chris schrieb:

> 4)  TX-SIGNAL, PWM Output, PB0 (Pin12)
Dieser Pin ist von der Hardware her nicht PWM-fähig.

> 5)  RX-SIGNAL, Analog Input, PB1 (Pin 13)
Dieser Chip hat keinen ADC, nur einen analogen Vergleicher.

> 6)  DELAY, Analog Input, PB2 (Pin14)
Dieser Chip hat auf diesem Pin keinen analogen Eingang

> 7)  T-TUNER, Analog Input, PB3 (Pin15)
Dieser Chip hat auf diesem Pin keinen analogen Eingang

> 8)  TRIGGER, Analog Input/Output, PB4 (Pin16)
Dieser Chip hat auf diesem Pin keinen analogen Eingang und wie alle 
alten AVRs keinen analogen Ausgang.

Damit hast Du bereits verloren.

fchk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Chris schrieb:
> Für das Projekt ist ein ATTiny2313A in der DIP Version vorgesehen.
Du stellst dich mit dieser Gehäuseform selber ins Abseits. Es ist echt 
kein Hexenwerk, einen QFP mit 40 Pins zu löten.

> Ich habe schon mal eine Tabelle mit den Signal Namen, Signal Typen und
> welchen PIN ich am Mikrokontroller dafür vorgesehen habe
> zusammengestellt. Sind die Signal Typen den richtigen PINs und deren
> Funktion entsprechend korrekt zugewiesen?
Kein Mensch (ausser dir) weiß, was die Signale machen, wie schnell sie 
eingelesen und oder ausgegeben werden müssen und wieviel Rechenzeit 
dazwischen vergehen darf. Deshalb kann man da nicht viel bewerten. Und 
weil das "analoge Projekt" so geheim ist, kann man nicht mal bewerten, 
ob der AVR da theoretisch überhaupt mit den Anforderungen zurechtkommt.

> ich bin in Sachen AVR-Programmierung absoluter Anfänger.
Ich würde erst mal kleine Brötchen backen und überhaupt irgendetwas 
"Kleines" mit dem AVR machen.

> Oder sollte man etwas ändern?
Und dann würde ich nicht den kleinstmöglichen AVR nehmen, sondern einen 
hübsch geräumig großen mit vielen Pins und viel Speicher. Der kostet 
grade mal ein paar Euro mehr. Wenn es dann in die Serienfertigung mit 
10k Stück aufwärts geht, kannst du anfangen zu optimieren und zu sparen.

: Bearbeitet durch Moderator
von Chris (geomax)


Lesenswert?

Hallo,

vielen lieben Dank für euren Input und Kritik. Es ist natürlich kein 
"geheimes Projekt". Der MC soll bei einem analogen Metalldetektor die 
kritischen Zeitsteuerungsfunktionen übernehmen. Die Signale sind unter 
3kHz. Die Signal Namen sind eigentlich zweitrangig. Wichtig ist doch nur 
das die Signale vom Type her richtig sind und dass der MC PIN diese 
"verarbeiten" kann. Es werden auch keine Berechnungen oder Signal 
Analysen mit dem MC gemacht. Nur einfache Zeitabläufe werden gesteuert. 
Ein ATTiny2313A wäre für diese Aufgabe völlig ausreichend. Der Hinweis 
das der ATTiny2313A gar keine ADC-Eingänge hat, ist mir allerdings total 
entgangen. Danke für den Hinweis. Ich denke dann werde ich wohl auf 
einen ATTiny261 oder ATTiny461 in der DIP-Version wechseln. Die Bauform 
in SMD oder QFP ist auch keine Option. Auch ein Großen uPC und 
LCD-Display oder Debugging Option ist absolut nicht gewünscht. Hört sich 
zwar komisch an aber was willst du von einem 12 bis 14-jährigen erwarten 
der später mal das Bastelprojekt zusammenbauen möchte. Er kann 
vielleicht gerade mal einen Lötkolben und Multimeter halten. Da der 
Metalldetektor aber eine komplexe zeitkritische Signalsteuerung hat, 
will ich diese mit einem MC realisieren. Damit braucht die oben genannte 
Zielgruppe nur den fertig vorprogrammierten MC in den Sockel stecken. 
Sie benötigt auch kein Oszilloskop der für den Aufbau der analogen 
Zeitsteuerung nötig wäre. Ach ja, klein soll der MC aus Platzgründen auf 
dem Board auch noch möglichst sein.
Klein anfangen... Ja, das werde ich. Das kann ich aber auch gleich in 
dem richtigen Projekt machen, denn wie die Signale die aus dem MC 
herauskommen oder hereingehen sollen aussehen und was sie machen müssen 
ist mir ja bekannt.

von Axel S. (a-za-z0-9)


Lesenswert?

Chris schrieb:
> Auch ein Großen uPC und LCD-Display oder Debugging Option ist absolut
> nicht gewünscht. Hört sich zwar komisch an aber was willst du von
> einem 12 bis 14-jährigen erwarten der später mal das Bastelprojekt
> zusammenbauen möchte.

Ähmm. Es geht beim "großen µC und Debugging" darum, dir zu helfen. 
Angesichts deiner Selbstbeschreibung als

Chris schrieb:
> in Sachen AVR-Programmierung absoluter Anfänger

wirst du jede Hilfe brauchen, die du kriegen kannst. Oder meinst du, du 
kriegst das auf Anhieb hin?

Abgesehen davon ist mir schleierhaft, was man bei einem "analogen 
Metalldetektor" mit einem µC will und welche "kritischen 
Zeitsteuerungsfunktionen" das sein sollen. Zu meiner Zeit waren das 
elektronisch triviale LC-Oszillatoren, bei denen man den 
Schwingungsabriß (einfache Geräte) oder die Verstimmung (bessere Geräte) 
detektiert hat. Die Herausforderung war immer die Suchspule. Nie die 
Elektronik.

von Manfred P. (pruckelfred)


Lesenswert?

Chris schrieb:
> ich bin in Sachen AVR-Programmierung absoluter Anfänger.

Chris schrieb:
> Die Bauform in SMD oder QFP ist auch keine Option.

Was spricht gegen einen Arduino mit dem ATMega328 als komplettes Board 
aus China? Erstmal ein paar Gehübungen, später kann der auch als nackter 
µC ohne Arduino-Umgebung programmiert werden.

Chris schrieb:
> Klein anfangen... Ja, das werde ich. Das kann ich aber auch gleich in
> dem richtigen Projekt machen, denn wie die Signale die aus dem MC
> herauskommen oder hereingehen sollen aussehen und was sie machen müssen
> ist mir ja bekannt.

Du hast "klein anfangen" nicht verstanden und verschätzt Dein "richtiges 
Projekt". Aus eigener Erfahrung weiß ich, dass es nötig war, erstmal 
einzelne Grundfunktionen umzusetzen, bevor es dann an das tatsächliche 
Projekt ging.

von Chris (geomax)


Lesenswert?

Hallo Axel,
danke für deine Kommentare. Ich verstehe das ein großer uPC das 
Debugging einfacher macht. Aber ich will das direkt am eigentlichen 
Projekt programmieren. Und ja, ich denke das ich das hinbekomme. Habe ja 
keine Eile oder Zeitdruck. Vor ca. 30 Jahren habe ich schon einmal 8085 
und 8086 Prozessoren in Assembler programmiert. Da habe ich auch ein 
halbes Jahr gebraucht bis ich das einigermaßen konnte. Danach war ich 
schon in der Lage kleine Programme für Zeitsteuerungen in Assembler zu 
schreiben.
Bei dem jetzigen Projekt handelt es sich um einen PI-Detektor wobei die 
Suchspule absolut unkritisch ist. Er funktioniert mit jeder Spulenform. 
Dabei ist es egal ob die Suchspule sauber oder schlecht gewickelt ist. 
In dem Detektor übernimmt der MC z.B. das Abtasten (Sampling) des 
analogen Signales oder die TX-Signal steuerung und andere Trigger 
Signale. Des Weiteren werden die Parameter Puls Breite, Sampling Breite 
und Abstand, Frequenz und Delay etc. verändert oder halt bestimmte 
Funktionen dieser ein bzw. ausgeschaltet.

von Chris (geomax)


Lesenswert?

Hallo Manfred,

ein Adruino Nano oder Mini wäre vielleicht auch eine Option. Der Mini 
ist schön kompakt und auch billig. Vielleicht sollte ich mir die mal als 
Option genauer anschauen.

von Chris (geomax)


Lesenswert?

Manfred P. schrieb:

> Du hast "klein anfangen" nicht verstanden und verschätzt Dein "richtiges
> Projekt". Aus eigener Erfahrung weiß ich, dass es nötig war, erstmal
> einzelne Grundfunktionen umzusetzen, bevor es dann an das tatsächliche
> Projekt ging.

Das tatsächliche Projekt (ohne MC) gibt es schon und es funktioniert 
auch. Der nächste Schritt in dem MC Metalldetektor Projekt ist alle 
Zeitsteuerungselemente wie Timer, Counter, Flip-Flop Signale und Signal 
Einstellungen etc. durch einen MC zu ersetzen. Ein passendes PCB mit MC 
oder den Arduino Nano oder Mini dafür neu zu machen ist eine einfache 
Übung. Ich habe schon sehr viele PCB-Projekte in TH oder mit 
SMD-Komponenten mit 1,2,4, und auch 6-lagige Platinen im Laufe der Jahre 
gemacht.

von Roland F. (rhf)


Lesenswert?

Hallo,
Lothar M. schrieb:
> Du stellst dich mit dieser Gehäuseform selber ins Abseits. Es ist echt
> kein Hexenwerk, einen QFP mit 40 Pins zu löten.

Nein, tut er nicht.
Denn im Gegensatz zu einem aufgelöteten SMD-Bauteil kann er einen 
Prozessor im DIP-Gehäuse, der in einem Sockel steckt, problemlos 
austauschen. Für einen Anfänger ein nicht zu unterschätzender Vorteil.

rhf

von Manfred P. (pruckelfred)


Lesenswert?

Chris schrieb:
> Vor ca. 30 Jahren habe ich schon einmal 8085
> und 8086 Prozessoren in Assembler programmiert. Da habe ich auch ein
> halbes Jahr gebraucht bis ich das einigermaßen konnte.

Und das soll nun mit AVR grundlegend anders sein?

> Danach war ich
> schon in der Lage kleine Programme für Zeitsteuerungen in Assembler zu
> schreiben.

Bei mir war es ein 6502 und später ein 6805-basierter Controller. Das 
erste war ein Schalter an einem Port und eine LED an einem anderen, es 
hat viele Tage gedauert, die LED schalten zu können. Dann mal ein 
Lauflicht mit mehreren LEDs programmiert, per Codierschalter die 
Geschwindigkeit einstellen, am Analogport ein Poti abfragen und alles 
schön einzeln abgespeichert. Dann, erst dann, eine reale Anwendung, die 
meine zuvor erarbeiteten Grundlagen benutzt hat.

Nach vielen Jahren ohne µC, wegen beruflich anderer Aufgaben, habe ich 
mir als Hobby einen China-Arduino-Uno gekauft. Damit bin ich auf genau 
die gleiche Weise gestartet, tagelang Kinderkram bespielt, bevor ich die 
eigentliche Aufgabe angegangen bin.

Chris schrieb:
> ein Adruino Nano oder Mini wäre vielleicht auch eine Option. Der Mini
> ist schön kompakt und auch billig.

Der Nano ist ist nett, wenn man in der A*-IDE C++ programmiert und ihn 
per USB updaten kann. Will man Strom sparen, stört sein USB-Interface.

Mini kenne ich nicht, meint wohl Pro-Mini? Der ist in der Tat fertige 
Arbeit, die LED und den Spannungsregler runter, kann man ihn wie einen 
blanken AT328 betrachten und auch den Sleep-Mode sinnvoll nutzen. In der 
8MHz-Version lässt er sich mit einem LiIon-Akku samt 3V3-LDO (MCP1702) 
sauber betreiben. Der macht Sinn, wenn Du direkt ohne A*-Umgebung 
programmieren willst.

Aber aufpassen: Die Chinesen haben zwei unterschiedliche Layouts, die 
nicht direkt austauschbar sind!

von Manfred P. (pruckelfred)


Lesenswert?

Roland F. schrieb:
>> Du stellst dich mit dieser Gehäuseform selber ins Abseits. Es ist echt
>> kein Hexenwerk, einen QFP mit 40 Pins zu löten.
>
> Nein, tut er nicht.
> Denn im Gegensatz zu einem aufgelöteten SMD-Bauteil kann er einen
> Prozessor im DIP-Gehäuse, der in einem Sockel steckt, problemlos
> austauschen. Für einen Anfänger ein nicht zu unterschätzender Vorteil.

https://www.reichelt.de/de/de/shop/produkt/8-bit-atmega_avr_mikrocontroller_32_kb_20_mhz_pdip-28-119685

von Bradward B. (Firma: Starfleet) (ltjg_boimler)


Lesenswert?

So wie das im Betreff steht ist das Projekt total bekloppt und kann 
nicht funktionieren.

Ein analoges Projekt wie beispielsweise einen Schwarzweiss-Fernseher 
kann man nicht auf "Mikrocontroller umrüsten".

Man kann Analogtechnik auch mit digitaler Logik implementieren, aber 
dazu müßen Signale und Funktion passend gewandelt werden. Also nicht nur 
Namen auflisten sondern alle relevanten Signaleigenschaften (Pegel, 
Modulation, Stromstärke, Codierung, ...)

> PI-Detektor

Hat dich Scientology beauftragt, ein neues Elektropsychometer zu 
konstruieren ?

Gehört das dazu ? -> Beitrag "IC für einen induktiven Näherungsschalter"

: Bearbeitet durch User
von Maik .. (basteling)


Lesenswert?

Bradward schreibt mal wieder Unfug...

solch einen Pulsinduktions Metalldetektor habe ich als Schüler auch mal 
nach einem Baumvorschlag aus der Electronic Aktuell nachgebaut, und 
damit allerhand Unfug gefunden und ausgegraben. Also erateinmalnein 
tolles Projekt.

In dem damalige Projekt wurde dafür ein Zähler / Teilerbaustein und ein 
paar Flipflops verwendet - damit den Sendepuls - und dann zeitverzögert 
das abklingende Signal und den darin enthaltenen induzierten Anteil des 
Suchobjekts abzutasten. Dafür war dann soweit ich mich erinnere so ein 
mehrfach  cmos Schalter eingebaut.

In so einer Schaltung die Abtastzeitpunkte und die Sendeimpulsdauer 
ändern zu können - ist schon eine schöne Sache - und mit einem 
Mikrocontroller absolut sinnvoll denkbar.

von Bradward B. (Firma: Starfleet) (ltjg_boimler)


Lesenswert?

> Bradward schreibt mal wieder Unfug...
>
> solch einen Pulsinduktions Metalldetektor habe ich als Schüler auch mal
> nach einem Baumvorschlag aus der Electronic Aktuell nachgebaut

Was hier als "Baumvorschlag" (sic!) beschrieben wird, ist aber keine 
Analog- sondern eine digitale Meßschaltung.

Zähler, FF sind keine Baugruppen der Analogtechnik !

von Johannes F. (jofe)


Lesenswert?

Manfred P. schrieb:
> 
https://www.reichelt.de/de/de/shop/produkt/8-bit-atmega_avr_mikrocontroller_32_kb_20_mhz_pdip-28-119685

Die neuen AVRxxEA z.B. gibts auch in DIP und die können wesentlich mehr 
(Timer, ADC/DAC u.a. Peripherie, Speicher) zu sogar etwas günstigerem 
Preis:

https://www.reichelt.de/de/de/shop/produkt/avr_64kb_rww_6kb_ram_28p_20mhz-375464?search=avr%2526%2524ea&;

: Bearbeitet durch User
von Chris (geomax)


Lesenswert?

Bradward B. schrieb:
>> PI-Detektor
>
> Hat dich Scientology beauftragt, ein neues Elektropsychometer zu
> konstruieren ?
>
> Gehört das dazu ? -> Beitrag "IC für einen induktiven Näherungsschalter"

Hallo Bradward

Nein, das gehört nicht zu dem oben genannten Topic. Und lies mal Maiks 
vorherigen Beitrag. Er hat sehr gut beschrieben worum es bei dem Projekt 
geht. FYI... heutzutage werden in kommerziellen Metalldetektoren die 
Zeitsteuerungselemente auch immer nur durch einen MC gesteuert. Es gibt 
immer zwei Schaltungsteile. Einen Digitalen und einen Analogen Teil.

Anstoß zu diesem Projekt gab ein entfernter Bekannter. Seine Söhne 12 & 
14 Jahre und auch er wollen einen Metalldetektor bauen um damit am 
Strand auf Schatzsuche zu gehen. Da aber alle keine Ahnung von 
Elektronik haben, aber wissen wie man einen Lötkolben hält und was man 
mit einem Multimeter messen kann habe ich gedacht eine funktionierende 
Puls Induktions Metalldetektor Schaltung (PI-Detektor) so umzubauen 
damit solche Leute wie der Bekannte mit seinen Söhnen einen 
Metalldetektor erfolgreich bauen können.  Macht das vielleicht jetzt 
Sinn für dich? Ist doch ein schönes Projekt. Oder?

von Chris (geomax)


Lesenswert?

Johannes F. schrieb:
> Die neuen AVRxxEA z.B. gibts auch in DIP und die können wesentlich mehr
> (Timer, ADC/DAC u.a. Peripherie, Speicher) zu sogar etwas günstigerem
> Preis:
>
> 
https://www.reichelt.de/de/de/shop/produkt/avr_64kb_rww_6kb_ram_28p_20mhz-375464?search=avr%2526%2524ea&;;

Hallo Johannes,
Danke für die Info. Und ja, der MC als SPDIP-28 Version wäre auch eine 
Option für mein Projekt. Den werde ich mir mal zum Testen besorgen 
sobald ich mich in die Programmierung eingearbeitet habe.

von Maik .. (basteling)


Lesenswert?

Bradward B. schrieb:
>> Bradward schreibt mal wieder Unfug...
>>
>> solch einen Pulsinduktions Metalldetektor habe ich als Schüler auch mal
>> nach einem Baumvorschlag aus der Electronic Aktuell nachgebaut
>
> Was hier als "Baumvorschlag" (sic!) beschrieben wird, ist aber keine
> Analog- sondern eine digitale Meßschaltung.
>
> Zähler, FF sind keine Baugruppen der Analogtechnik !

Na Bradward wenn Leuten wie Dir die realistischen Argumente ausgehen, 
wird auf Rechtschreibfehlern rungeritten. Erbärmlich. Du bist mir keine 
Rechreibkorrkturlesung wert, Du bist mir hier schon öfters negativ 
aufgefallen, dass Du Dich an kleinsten Ungenauigkeiten hochziehst.

Und nochmal für alle Anderen. Der echte Signalverarbeitungspfad bei 
solchen Geräten war und ist oft analog. Und darf es auch gern nach Gusto 
bleiben.
Die Steuerung der Abtastzeitpunkte ist digital, aber diskret aufgebaut. 
Da hat der T.O etwas unscharf formuliert. Das Ansinnen ist aber für den 
allgemeinen Technikinteressierten, der nicht nur stänkern oder 
narzisstische überhöhen will - klar erkennbar. Ich empfehle Dir eine 
Nachschulung in Sozialkompetenz.

----

Zurück zum Threadthema:

Gibt es für das Projekt irgendeine Vorlage, was zu lesen? Jetzt nicht 
extra was schreiben. Würde ich mir einfach gern mal anschauen, wie das 
nun so 25 Jahre später nach meinem Selbstbau von anderen gelöst wird..

VG und viel Spaß damit

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.