Forum: Mikrocontroller und Digitale Elektronik dsPIC oder PIC 32 und passendes Board


von Modell B. (Firma: keine) (modellfreak)


Lesenswert?

Hi
Ich bin gerade dabei mir einen Brushless Regler zu bauen, daher denke 
ich, dass es Zeit wird mich für einen Microcontroller zu entscheiden. Da 
ich schon Erfahrungen mit einem PIC 16F84 und F877 gemacht hab, dene ich 
natürlich zuerst an einen PIC, dieses mal aber an größere. Dabei sind 
mir zwei Familien ins Auge gesprungen, dsPIC 33, PIC 32

Jedoch kann ich mich überhaupt net entscheiden, der PIC32 hätte halt 
eine größere Rechenleistung, dafür aber nur 5 PWM ausgänge und die dsPIC 
33 haben eine halb so große Rechenleistung, dafür mehr Timer und PWM 
Ausgänge.


Ein weiterer Punkt wäre noch, dass sie hardwareseitiges multiplizieren 
unterstützen, aber des tuen sie ja beide


Andere Vorschläge sind natürlich auch willkommen, auch von ganz anderen 
Mikrocontrollern, ich muss sowieso ein neues Programmerboard kaufen oder 
bauen



Grüße

von Master S. (snowman)


Lesenswert?

nimm einen dsPIC. warum: weil sie für deine zwecke gemacht sind. PIC32 
ist eine ganz andere kategorie. die dsPICs haben massivst mehr leistung 
als die PIC16, und lass dich nicht von den DMIPS des PIC32 beeindrucken, 
der kann unter umständen langsamer sein als ein PIC24H (wenn auch 
selten).

von Lehrmann M. (ubimbo)


Lesenswert?

Ich würde auch für dsPIC plädieren. Ich weiss nicht was genau du 
vorhast. Klingt irgendwie nach Modellbau. Brushless riecht irgendwie 
immer nach Quadrocopter. Da würde ich in jedem Fall wegen der 
Lageerkennung einen dsPIC empfehlen. Für starke Rechenarbeiten empfehle 
ich klar den dsPIC. Die PIC32 sind zwar auch nicht schlecht aber in 
dieser Richtung eher fehl am Platze.

von Master S. (snowman)


Lesenswert?

ja, vielleicht sagst du besser, was du vorhast. sollte es 
batteriebetrieben sein, rate ich dir wider von einem dsPIC ab ;-) 
..vermutlich würde es auch ein stromsparender PIC24F tun, dessen 16 MIPS 
nicht zu unterschätzen sind!

von Modell B. (Firma: keine) (modellfreak)


Lesenswert?

Ich will nen Brushless Regler bauen, nicht für Quadrocopter, sondern 
fürn Auto.

Die Signale vom Funkenmpfänger will ich nach Möglichkeit auch mit dem 
gleich auswerten, allerdings hab ich mich damit noch net beschäftigt.


Der PIC soll halt auch schnell sein, weil ich auch ne einstellbare 
Strombegrenzung haben möchte, die dann auch gescheit funktioniert, ne 
möglichst genaue Drehzahlregelung, ne Überwachung für die 
Versorgungsspannung, Spannung der Servos

Und eventuell noch paar andere Sachen, die ich jetzt noch nicht kenne.


Also möglichst viel Power um sicher zu gehen, dass ich alles noch machen 
kann, was mir einfällt.

von Master S. (snowman)


Lesenswert?

> Auto [...] Servos
also modellbau ;-) ..mit bürstenlosen motoren ansteuern kenne ich mich 
nicht aus (sorry) und weiss auch nicht wieviel rechenleistung du da 
brauchst, aber mehr als messen, ein dutzend multiplikationen und PWM 
wirst du nicht brauchen. wenn dein ganzer regelkreis 1ms reaktionszeit 
voraussetzt und du 16 MIPS hast, hast du für jeden durchlauf 16'000 
befehle, die du abarbeiten kannst. ich glaube, das sollte mehr als 
genügen ;-)
zur sicherheit melde sich doch hier nochmals jemand anderes, der 
schonmal mit mikrokontroller einen bürstenlosen motor angesteuert hat.

von Master S. (snowman)


Lesenswert?

http://www.aerodesign.de/peter/2001/LRK350/SPEEDY-BL.html
wenn ich mir hier die signale ansehe, und auch sehe, dass ein Atmel 
AT90S2313 mit 10 MIPS und 8bit-archidektur verwendet wird, wirst du es 
mit einem PIC18 (10, 12, 16 MIPS, 8bit-archidektur) oder einem PIC24F 
(16 MIPS, 16bit-archidektur) locker schaffen :-)
die 10- und 12 MIPS PIC18 arbeiten mit netten 5V, falls das dir 
angenehmer ist, als die 3.3V für die 16 MIPS PIC18 oder PIC24

edit: zwischen PIC16 und PIC18 liegen welten (in jeder hinsicht) und die 
PIC24F sind einfach geniale teile mit einfach "noch mehr von allem" was 
die 18er bieten, die PIC24H sind etwas abgespeckter als die PIC24F aber 
haben massiv höhere performance. leg die PIC16 ins grab - du wirst sie 
nicht vermissen (rede aus eigener erfahrung)

von Modell B. (Firma: keine) (modellfreak)


Lesenswert?

coole seite, da war mein verständnis über brushlessmotoren wohl doch net 
ganz so falsch.

du hast schon recht, viele verwenden nen kleinen atmel mit bedeutend 
niedriger rechenleistung, aber der hat zum beispiel keine regelnde 
Strombegrenzung, ich denke halt, dass es besser ist nen fettteren 
Microcontroller zu nehmen, weil man dann noch luft hat. Besser zuviel 
power als zu wenig. Ich will halt nen richtigen Regler bauen.

klar sind 5V schon ne schöne Sache, aber mich störts jetzt net, wenn ein 
Mikrocontroller mit 3 bis 3,6V angesteuert wird. Soviel strom ziehen die 
teile ja auch net, da kann man schon was mit nem linear regler oder was 
in der Art machen.

Der Strom kommt im Augenblick aus nem NimH Akku mit 7,2V, umrüsten auf 
nen LiPo mit 11,1V nicht ausgeschlossen.

6V brauch ich wegen den Servos sowieso, die stell ich mit nem step down 
wandler her.


Die 15V für die Gates mach ich mit nem step up wandler





Ich hab auch schon über nen ARM nachgedacht, aber ich glaub, dass mir 
des fast zu teuer wird.


Aber nochmal zum PIC 32 und dsPIC 33, was für Vorteile hat denn der 
dsPIC, wenns um die Lageerkennung geht ?

sorry, wenn ichs überlesen hab, hat des was mit der höheren Anzahl an 
Timern zu tun ?

von Master S. (snowman)


Lesenswert?

auf der verlinkten seite, habe ich beim überfliegen gesehen, dass die 
lageerkennung (motorposition) schlussendlich via komparatoren zum uC 
geht, somit bringt dir dsPIC noch PIC32 einen vorteil ;-)
die ansteuerung der phasen ist auch nur '0' oder '1' (also nicht sinus 
nachgebildet), von daher wirste auch mit 3 MIPS zurecht kommen ;-) dein 
regelprogramm läuft so ab, dass in einem timer-interrupt, die 
phasen-pins angesteuert werden, nebenher berechnest du die zeit zwischen 
zwei interrupts (umdrehungsgeschwindigkeit), die strombegrenzung (ADC 
auslesen und PWM anpassen) und alles andere, was du noch willst. leider 
habe ich keine ahnung von modellbaumotoren, nehmen wir aber an, dass der 
10'000 umdrehungen macht, d.h. 30'000 interrupts pro sekunde um die 
phasen-pins anzusteuern (richtig?). ein interrupt braucht alles in allem 
vielleicht 50 befehle, d.h. du brauchst gerade mal 1.5 MIPS 
rechenleistung, dass der motor bei 10'000 dreht, die restlichen MIPS 
kannst du für alles andere brauchen - mehr als genug reserven!

dsPIC hat einfach den vorteil eines DSPs (digital signal processor), 
d.h. der ist extrem(!) schnell in "multiply and accumulate" (der macht 
in einem taktzyklus eine multiplikation und addition - bei gescheiter 
programmierung), das macht aber nur dann sinn, wenn du FFTs berechnen 
willst oder einen sinus nachbilden willst oder dergleichen. ansonsten 
bringt dir die DSP-einheit nicht viel.

von Modell B. (Firma: keine) (modellfreak)


Lesenswert?

mein Motor dreht mit etwa 60 000 U/min bei 11,1V, ich werd auch auf nen 
3 Zellen LiPo umrüsten.


DSP, hört sich gut an, Sinus nachbilden wäre natürlich ideal, aber ich 
glaub, dass mir des net gelingen wird.

Mit der geregelten Strombegrenzung muss ich auf jedenfall etwas 
berechnen, anderst wirds net gehen.

Paar LEDs werd ich natürlich neber den ganzen Kontrollwerte auch noch 
läuchten lassen, aber des is ja alles kein problem.

Der Sternpunkt geht zum Komperator, die 3 anderen gehen jeweils zu AD 
Wandlern, so kenn ichs auch.

Von dem her wärs denk ich villeicht doch besser nen dsPIC 33 mit 40 MIPS 
und ordentlich programmspeicher, flash und Ram zu nehmen oder ?

Wenn ichs richtig sehe haben die dsPICs auch mehr AD Wandler und mit ner 
höheren auflösung ?, wobei mir eigentlich 10 Bit reichen sollten.




was für Programmerboards könnt ihr eigentlich empfehlen ?

mein altes K8076 oder wies auch immer heißt eignet sich nicht mehr dafür

von Master S. (snowman)


Lesenswert?

60k rpm = 1000 rps  ->  bei 50 befehle pro interrupt: 0.075 MIPS

naja, wenn es eh ein demoboard sein soll, kannste natürlich das mit 
einem dsPIC machen. du wirst - wenn alles läuft - dann gut entscheiden 
können, welchen PIC es auch richten wird und den dann für die finale 
version auf deinem regler verwenden (code-anpassung ist bei den PICs 
schnell gemacht).

ein demoboard habe ich nicht gekauft, ich habe mir eines selbst gemacht: 
http://www.kleiber.li/joomla/index.php?option=com_content&view=article&id=155&Itemid=54 
da man meistens für etwas spezielles programmiert, müsste ein demoboard 
auch immer entsprechend speziell gestaltet sein, daher bin ich von 
eierlegenden wollmilchsäuen-demoboards weg gekommen: ein board, auf dem 
der PIC läuft und über pins die peripherie auf ein steckbrett führen, 
hat sich gut bewährt. letzteres empfehle ich dir dringenst, da du beim 
testen den einen oder anderen mosfet grillieren wirst oder die 
treiberstufe für die mosfets anpassen möchtest oder den schwellwert für 
die komparatoren etc.

von Master S. (snowman)


Lesenswert?

ich meinte 0.15 MIPS

von ds (Gast)


Lesenswert?

dsPIC30 arbeiten auch mit 5V

von Max (Gast)


Lesenswert?

PIC32 hat USB (z.B. für Programmupdates, Bootloader) und MUL+AKkumulate. 
Dafür dauert es etwas länger bis die Daten vom Mul verwendet werden 
können.
Ich glaube PIC32 benötigt 11 Cycles bis der Interrupt aufgerufen wird. 
dsPIC unbekannt.

Ich war vor einer ähnlichen Entscheidungsstellung und habe mich für den 
PIC32 entschieden. Acuh deshalb weil Ethernet für eine zukünftiges 
Projekt nciht ausgeschlossen ist und ich nicht jedes mal einen neue CPE 
erlernen möchte. Preisunterschied ist nicht weltbewegend.

Grüße

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Hi,

Sieh dir bei Microchip mal AN1078 an. Dann weißt du was ein dsPic 
leistet. Dort wird ein PMSM aka BLDC mit sensorloser FOC realisiert, das 
ist denke ich genau das was du suchst. Und damit ist ein dsPic33 erst zu 
40% belastet bei 40MIPS also ran da :), Wenn du noch dazu einen DsPic in 
der MC Variante nimmst dann hat der gleich 3 Phasen PWM mit 
Deadtimegeneration an Board.

dsPic ist für n BL Regler egal mit welchem Regelungsverfahren zur Zeit 
das beste was ich kenne, ich ziehe ihm da sogar einem ARM wie dem STM32 
vor,weil er kompakter ist. Meist macht der Prozessor eh nicht viel mehr 
als den Motor zu Regeln. Dafür brauchts kein ARM auch nicht bei FOC.


MfG

von Modell B. (Firma: keine) (modellfreak)


Lesenswert?

eine kleine Frage, auf der Microchip Seite wird beim PIC 32 auch was von 
DSP Libraries erwähnt, jedoch steht im Datenblatt nichts direktes.

Will man damit nur zeigen, dass auf dem PIC 32 die Berechnungen 
ebenfalls verschnellert wurden oder steckt da doch noch mehr dahinter ?


Wieso werden die dsPIC eigentlich nicht unter 32 Bit geführt obwohl sie 
32 Bit Timer haben ?

von (prx) A. K. (prx)


Lesenswert?

Modell Bauer schrieb:

> Wieso werden die dsPIC eigentlich nicht unter 32 Bit geführt obwohl sie
> 32 Bit Timer haben ?

LOL! Eigentlich gehörten die unter 40 Bit einsortiert, denn so breit 
sind die DSP-Akkumulatoren. ;-)

von Modell B. (Firma: keine) (modellfreak)


Lesenswert?

ok, ich sehs schon, ich soll also einen dsPIC nehmen


was haltet ihr vom dsPIC33FJ256MC710A ?

oder gibts noch nen besseren, der villeicht mehr Programmspeicher hat ?


auf der Microchip Seite find ich zwar keinen, aber ich frag lieber zur 
sicherheit

von (prx) A. K. (prx)


Lesenswert?

Modell Bauer schrieb:

> oder gibts noch nen besseren, der villeicht mehr Programmspeicher hat ?

Die meisten Programme werden durch mehr ROM nicht schneller und 
unbenutzes ROM zurückgeben geht nicht.

Soll heissen: Was brauchst du? Nen STR9 gibt's mit 2MB Flash drauf.

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Moin,

Modell Bauer schrieb:
> ok, ich sehs schon, ich soll also einen dsPIC nehmen
>
>
> was haltet ihr vom dsPIC33FJ256MC710A ?
>
> oder gibts noch nen besseren, der villeicht mehr Programmspeicher hat ?
>
>
> auf der Microchip Seite find ich zwar keinen, aber ich frag lieber zur
> sicherheit

Ich weiß ja nicht was du damit alles machen willst, ich verwende mit 
meinem Regler der sich an AN1078 anlehnt, einen Dspic30f3010, das ist 
ein 28 Pinner.

für einen "reinen" Modelbauregler, glaube ich brauchst du nichts 
größeres als ein Dspic33fj12Mc202 oder besagten 30f3010 da bist du dann 
auch BEC Kompatibel. Wenn du aber noch mehr damit machen willst dann 
gilt wie immer das Motto RAM/Flash/MHz kann man nie genug haben.

MfG

von (prx) A. K. (prx)


Lesenswert?

Die dsPIC30 würde ich eher vom Radar runternehmen, es sei denn man 
betreibt das Zeug draussen und braucht sonst eine Zusatzheizung für 
kalte Zeiten. Manche davon haben auch strunzdumme Pinouts: CAN- und 
Programmier-Pins zu überlagern - also nee.

Ausserdem haben die meisten davon eine herzallerliebste Sammlung von 
Bugs. Nur den 601x haben sie eine A-Version angedeihen lassen um diesen 
Zoo etwas auszudünnen.

von Master S. (snowman)


Lesenswert?

oben links unter "Parametric Search" kannst du zusammenklicken, was du 
haben willst: 
http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=8154&mid=14&lang=en&pageId=75

von Michael H. (morph1)


Lesenswert?

einfacher und moderner gehts hier:

http://maps.microchip.com/

:)

von Master S. (snowman)


Lesenswert?

@ Michael H.: wow, das kannte ich noch nicht! :-)

von Simon L. (simon_l)


Lesenswert?

Hi,

ich hab hier einen Roxxy 80A Regler, da ist ein 30F3011 drauf.

Gruß Simon

von Modell B. (Firma: keine) (modellfreak)


Lesenswert?

ich glaub ich werd zu Testzwecken einen dsPIC33FJ256MC710A nehmen, es 
sei denn einer sagt mir noch, dass ich damit keine möglichkeit hätte 
mein vorhaben auszuführen. Da ihr mir aber alle das gegenteil davon 
gesagt habt und er leistung ohne ende hat, glaub ich nehm ich den


weils mir gerade auffällt, da gibts nen PWM Low und High output, was 
genau muss ich darunter verstehen, einmal inventiert oder was ?


Ich mein, low und high gibts ja schon so oder so

von Modell B. (Firma: keine) (modellfreak)


Lesenswert?

ich glaub, dass ich ein kleines problem hab.

Ich muss Spannungen von 15V mit einem AD Wandler messen können, die vom 
dsPIC mögen aber net mehr als 3,6V. Also kann ich ja nur einen externen 
AD Wandler nehmen und irgendwie mit einem DA Wandler eine Spannung 
ausgeben, die an dem dsPIC angepasst ist und dann per Programm umrechnen 
lassen ?


oder gehts auch einfacher ?

von Master S. (snowman)


Lesenswert?

> oder gehts auch einfacher ?
spannungsteiler mit zwei widerständen (und ggf. einen OPV dazu, wenn die 
widerstände sehr gross sind - wenn du aber etwa 1mA durch deinen 
spannungsteiler lässt, kannst du auch auf einen OPV verzichten).
http://www.hobby-bastelecke.de/grundschaltungen/spannungsteiler.htm

von Modell B. (Firma: keine) (modellfreak)


Lesenswert?

stimmt an ne messbereichsereweiterung hab ich garnet gedacht



ich hab noch ein paar Operationsverstärker übrig, damit wärs doch dann 
auch möglich, die Spannung auf ein viertel zu verkleinern oder ?


besser mit 2 Operationsverstärker oder würde auch einer reichen ?


sinnvoller als messbereichserweiterung per Widerstand?

von Master S. (snowman)


Lesenswert?

wenn du den platz hast für einen OPV, dann nimm ihn: einfach einen 
spannungsteiler (der kann dann auch schön hochohmig sein) und einen 
spannungsfolger mit dem OPV machen.

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Spannungsteiler mit 2 Widerständen und einen 10nF-Kondensator gegen 
Masse um den S&H-Kondensator im PIC ordentlich laden zu können.

Ich habe einen BLDC-Regler für einen Motor mit Hallsensoren geschrieben. 
Der Motor drehte so ca. 1000 UPM und wurde mit einem PWM-Signal 
gefüttert.
Es wurden Sinus-Signale für die Motorspulen erzeugt.

Das lastete den kleinen dsPIC33FJ12MC201 vielleicht zu 20% aus.

Jetzt habe ich den etwas größeren dsPIC33FJ12MC202 in einer 
Motorsteuerung, weil ich eigentlich auch Sinus erzeugen wollte, Aber 
nach 7 verreckten Endstufen gehe ich auf Blockkummutierung... Da hat der 
kleine gar nichts zu tun, das kann auch schon ein PIC18F2431.

Der dsPIC33FJ12MC202 hat aber auch schon 5V-tolerante Ein- und Ausgänge, 
das kann ganz nett sein, wenn man alte Sachen ansteuern will.

Evtl. findest Du bei den Mikroelektronika-Jungs passende Demo-Boards, 
die bieten sehr viel an.

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.