So, wie es bei den AVRs oft der ATMega32 war, zumindest bei mir, den hatte ich dann deshalb immer hier herumliegen, was habt ihr als den Standard vom STm32?
Bluepill?
Blackpill? Welchen davon?
etc?
Und habt ihr dafür einen Grund?
Ich tendiere momentan zum STM32F411 (Blackpill)
Das ist ja das Schöne an den Cortex-M, das es die große Palette gibt. Von kleinen M0 bis zu sehr schnellen M7 mit viel Speicher. Dazu die günstigsten DEV Boards wie Nucleo von ST oder die China Boards wie BlackPill.
Der F407 ist zwar auch schon älter, aber hat sehr viel Peripherie incl Ethernet. Da gibt es auch diverse China Boards, die sind mittlerweile auch wieder bezahlbar. Oder von Olimex, die haben auch einiges. Also Qual der Wahl.
CAN kann der F407 auch.
Der Nachfolger vom STM32F103 ist der F303. Schau dir den mal an. Er hat USB, CAN und eine FPU. Anders als beim F103 unterstützt sein Bootloader auch USB. Seine Pinbelegung ist zum F103 und dem Bluepill Board kompatibel. Entsprechende Platinen kannst du dir ja bei JLCPCB fertigen lassen. Mit 5€ kommst du aber nicht aus, soviel kostet ja schon der nackte Chip. Die Firma die solche Boards für einstellige € verkaufte existiert leider nicht mehr.
Vor der Chipkrise habe ich mir 5 STM32F042 gekauft. Ich brauchte einen. Warum? Weil es die bei dem Händler nur im vielfachen von 5 gab und ich 0.8mm Pinabstand bei LQFP-32 leichter zu löten finde als welche mit 0.5mm Abstand. Außerdem wollte ich USB. Der 5er Pack dann während der Chipkrise super - jetzt sind 4 von 5 in Verwendung.
HAt es eigentlich einen Nachteil einen externen CAN Controller mit Transceiver zu benutzen anstelle eines internen?
Unter welchen Bedingungen kann man denn auf einen Transceiver verzichten oder braucht man den sowieso immer?
Also spart man so oder so kein Bauteil ein?
Der MCP2515 ist ja nur ein reiner Controller ohne Transceiver
Einen Transceiver braucht man immer, alleine schon dehalb damit das Kabel, das zig Meter nach außen geht und Störungen hat nicht direkt die Störungen in den Controller mit rein bringt.
Auch gibt es galvanisch getrennte Transceiver, wenn der im Controller drin wäre, dann könnte man keine galvanisch getrennten nutzen. Industrieanwenungen machen häufig galvanisch getrennte Verbindungen.
Daher macht man das schon aus Prinzip einfach nicht.
Auf einen Treiber IC kann man so gut wie nie verzichten, einzige Ausnahme eventuell eine 1:1 Verbidnung zwischen nur 2 Controllern, aber dafür braucht man dann auch kein CAN sondern kann gleich z.B. SPI verwenden.
Einen Treiber brauchen ebenfalls eine RS232 oder RS485 Schnittstelle, da sind das ebenfalls immer extra Treiber IC's.
STM32G030 im 20-TSSOP, 32- oder 48-LQFP, unter 0,50€ pro Stück ... Und für Hobby-Anwendungen kann man die auch ganz dreist als G031 verwenden. Spez. Platine braucht es da auch nicht, auf eine LQFP-Adapterplatine (da packt man die Kondensatoren gleich mit drauf) und dann auf Lochraster.
STM32G030 im 20-TSSOP, 32- oder 48-LQFP, unter 0,50€ pro Stück ... Und
für Hobby-Anwendungen kann man die auch ganz dreist als G031 verwenden.
Spez. Platine braucht es da auch nicht, auf eine LQFP-Adapterplatine (da
packt man die Kondensatoren gleich mit drauf) und dann auf Lochraster.
LCSC, ab 30 Stück. Die Preise und Verfügbarkeit schwanken stark, und manchmal sind die mit größerem Flash sogar günstiger als die mit dem kleineren ...
Aber wenn man sich mal einen 100-er Pack auf Lager legt, reicht das fürs (Hobby-) Leben.
Ich nutze gerne den kleinen STM32F091. Der hat CAN und reicht für die meisten Dinge aus.
Für Anwendungen mit Display verwende ich mehrere "STM32H7B3I-DK", also komplette Boards incl. Touch Display. Screens designe ich mit TouchGFX (von ST).
Die Verbindung zwischen den kleinen und dem Display meist über CAN Bus.
So ein Display selbst zu bauen wäre zwar möglich, dennoch kaufe ich lieber dieses DK, da das deutlich mehr Flash und RAM hat und zuverlässig funktioniert. Selbstbau wäre mir zu aufwändig.
Wenn man TouchGFX installiert, dann hat man jede Menge DK Displays zur Auswahl die unterstützt werden, da kann man sich gut eines raus suchen, welches einem gefällt.
Den gibt's schon lange, allerdings schwierig bzw. teuer zu beschaffen im Vgl. zu TSSOP-20 - und von der Größe her nehmen die sich nicht so viel.
Außerdem: NRST kann beim G030 "offiziell" nicht zum GPIO verbogen werden, bleiben also nur 5 GPIOs. Wenn man nicht irgendwelche Verrenkungen mit SWD machen will, bleiben sogar nur 3. Also nicht so extrem attraktiv.
Mit 5€ kommst du aber nicht aus, soviel kostet ja schon der
nackte Chip. Die Firma die solche Boards für einstellige € verkaufte
existiert leider nicht mehr.
Der STM32F303CBT6 kostet bei JLC $2.32. Wenn man alles auf eine Seite bekommt, sind 5 Stück für <50€ (inkl. Versand+MwSt) kein Problem. Bei vergleichbar teurem BOM bekomme ich gerade für 30 Stück ca 130$ angezeigt. Das ist dann schon deutlich <5€.