大衆向けのSTM32トレーニング

少しの背景



私はモスクワ大学のもう1人の卒業生です(平均は特定しません)。 6か月前に、卒業証書を書く時間であることが通知されました。 当時、私はマイクロコントローラを使い始めたばかりで、私にとっては簡単ではありませんでしたが、あなたが一人で貴重なラミネート(私の場合はリノリウム)を損傷せずに静かに動かそうとすると冷蔵庫が壊れます。



私のトレーニングは2年前にマイクロコントローラーのトピックに興味を持つようになり、それらについて尋ねたエンジニアが300x200mmのボードをくれて、STM32F217ZGT6コントローラーがあり、このボードにはトレーニングに必要なものがすべて揃っていると言いました。 「一般的に、あなたがそれをマスターすれば、他のすべてはゴミのように見えます」(しかし、彼はLEDを点滅させるにはSPIを設定する必要があるとは言いませんでした。 それほどストレスのない3か月間、エーテルの試み、プログラミングスキルの弱さ、膨大な数の記事を読まなければならなかった後、STM32VLDISCOVERYに分岐しなければなりませんでした。



私は1年半の間、開発者として働くことができました。私はSTM32で働いている求人を探しました(現在、これらは私のクラスで最も有望なマイクロコントローラーであると考えているため)、私は経験を積んで、卒業証書になったとき、痛いカルスを思い出しました。 「STM32のデバッグボードと(本格的な)トレーニングコース(最小の)に」というテーマのアイデアがすぐに出てきました。



はい、私は知っています、多くのエンジニアから、「ボードをデバッグする」というトピックで「私が先生だったら、防衛のためにあなたを失望させたでしょう」と聞いたが、それでも私はどんな考えにも生命の権利があると思うので、興味がある人は誰でも読んでください。



何、どこ、どのように言っている記事がたくさんあることを知っています。 また、レジスタの操作方法、レジスタの実行内容の理解方法など。 など 私にとって(恐らく素晴らしい考えかもしれませんが)、これらの記事の多くはまだ明確ではなく、かなり長い間、動作するコードの例がなければLEDを点滅させても箱から出られませんでした。 さらに、記事の偶数サイクル(6-7ピース)で、システムは常にトレースされたわけではなく、多くは噛まれませんでした(本当に見逃しました)。そして最も重要なことは、トピックを最後まで閉じずに終了し、さらに多くの質問を残しました。



だから私は完全で完全なコースを書きたいと思ったのです。 研究所に来て、迅速なインセンティブが必要であることに気付いた(またはかなり良いピンチ)かかとで胸を打つ(墓を掘る)ようになりました。トレーニングコースを書いているだけではありません(電話しなければなりませんでした)その方法論マニュアル)、しかし、私は作業レイアウトを提供します。 彼らはトピックを受け入れ、タスクを作成し(墓を掘り、墓石を注文しました)、それは小さな問題であり、すべてを書き、解決しました(墓に横たわり、墓石を掘って入れます)。



人生は私が半年間全く時間がないことを示しましたが、私の卒業証書に割り当てられたすべての時間はほぼ終わり、保護はすぐにありましたが、驚くべきことに、すべてが準備が整っただけでなく、ほぼ100%テストされましたを含む)。



出力は次のとおりです。



1.コース自体(科学ガイド)



一言で言えば、私の意見では、テスターのレビューによると、それは本格的ですが、少し厳しく、最終化されていないということができます。 私はSIでのプログラミングに関する教科書を書かないと決めたので、したがって、コース内のオペレータの説明はなく、したがってコースは場所が厳しいと言いました。 不完全性に関しては、私は正直に言って、降伏のためにすべてをデバッグすることができなかったので、ここだけでなく降伏の方法論マニュアルにもそれを書くことができました。 私はそれがより良い可能性があると思いますが、それについては後で詳しく説明します。



2. STM32F103RET6コントローラーのデバッグボード



ここではすべてが最初の段落よりも少し良く、ボードはRezonitで設計され、注文され(状況により緊急に注文する必要がありました)、コンポーネントは注文され、ハンドルではんだ付けされます(正直に言うと、ビデオはLQFP64の最初のはんだ付けの感覚を伝えません)すぐに獲得)。 しかし、これはレイアウトであり、もちろん、いくつかのオーバーレイがありました:ワイヤー、アダプター、およびその他のさまざまな「割れ目」ですが、残念ながら2番目の改訂版を注文する時間がありませんが、おそらく卒業証書を保護するのに十分ではありません。 そのため、以下ではこのデバッグボードについて詳しく説明します。



エレクトロニクス開発者としての私の最初の仕事に着いたとき、私は1つの興味深い意見に出会いました、そして、それが判明したように、それは非常に一般的です。 この意見は次のように聞こえました。「ここで私はプログラマーであり、プログラムマイクロコントローラーです。回路については知りませんし、知りたくないのです。ところで、はんだ付けの方法も知りません。」 社外のプログラマーのグループと話をして、自分の仕事の人は私の意見では一人ではないことに気づきました。私は彼を支持しませんが、他の人の意見を理解して尊重する価値があり、さらに「ボード上のすべて」デバッグボードの概念に完全に適合します。 この点で、ボードはSTM32SB(SB-StudyBoard)V1.0bと呼ばれる非常に「脂っこい」ものであることが判明しました。 以下に何が入ったかを分析します。



1.マイクロコントローラー

私がSTM32F103RET6マイクロコントローラーを使用したという事実に基づいて、彼はプロジェクトに選ばれました。



画像



2.電源回路とハードウェアUSBコントローラー

このマイクロコントローラーにはUSBが内蔵されており、別のコネクターに接続することが決定されました。



画像



3.スピーカー

PWM変調の開発と、メロディーの書き方の学習のために導入することが決定されました。



画像



4.デジタルインジケータとシフトレジスタ

動的表示とシフトレジスタの同時開発のために、それらを組み合わせることが決定されました。



画像



5. LED

LED、何が良いでしょうか? スムーズな色の変化をマスターできる3色LEDのみ。



画像



6. LCDディスプレイ

パラレルインターフェイスをマスターするための標準の2行、16文字のLCDディスプレイ。



画像



7.キーボード

マトリックスキーボード、あなたが知る必要があります。

画像



8. I / Oポートエクスパンダー

多くのI / Oポートは存在せず、ここでI2Cもマスターできます。



画像



9.電子体温計

1-Wire温度センサー、有用なものとそれに関する貴重な経験が役立つ場合があります。



画像



10.電子ポテンショメーター

このことで、本格的なSPIを習得し、ADCを介して電圧変化の測定を試みることができます。



画像



11.リレー

LEDのレベルで点滅していますが、なじみのあるクリック音が聞こえるのはいいですね。



画像



12.キートランジスタ

また、点滅するLEDのレベルでも、突然誰に原理が明らかではないか。



画像



13.外部結論でのフリーピンの複製

まあ、これはどんなデバッグボードにとっても自然な設計です。突然、その中にあるものは誰にとっても有用ではありませんでしたが、それでも自分の何かを接続する必要があります。



画像



14. WIFI-UARTコンバーター(esp8266)

回路では、コンバータはコネクタとして参加します。これもここに示されています。 すでにセンセーショナルなesp8266モジュールが使用されています。



画像



15. USB-UARTコンバーター

USBは常にクールです。ここではCP2102が使用されます。



画像



16. JTAGおよびSWD

まあ、これらのものなしでどこに。



画像



このような幅広い外部デバイスにより、要素の購入に煩わされたり、テーブルを離れることなく、ほとんどのトリックをマスターし、ほとんどのインターフェイスで作業を試みることができます。これは「ボード上のすべて」だけでなく、「最小の」(はんだ付けできない)の概念と一致しています)



もちろん、いくつかのオーバーレイがありましたが、おなじみのエンジニアが言うように、「エンジニアのスキルは、ボードの最初の反復でカットされたトラックの数で測定されます。」



これが私の「ジャム」のリストです。このボードを開発するときに気づかなかった、忘れた、あるいは知らなかったものです。



1. SWDピンが奇妙な順序で配置されていることに気付きましたが、これはボードに干渉しません。 私の意見では、新しいユーザーの誤解を避けるために、STM32VLDISCOVERYにあるように配置する必要があるという正しい意見を聞きました。



2.単色のLEDを接続する価値はありません。このボードのように、点滅させるにはJTAGを取り外す必要があるため、ファームウェアのロードプロセスを示すために予期せぬ結果になりました。



3.このボードのロゴを開発しました。これをPCBに転送してボードに配置したかったのですが、忘れていました。



4.ボードの2番目のリビジョンのスペースを節約するため、ユーザーSMDが使用しないコンポーネントをボードの底面に配置します。



5.水晶振動子を使用した回路をより便利に配線するには、SMDに置き換えるのが便利だと思いました。



6. JTAGとSWDの場所に署名するのを忘れましたが、それらの接続方法も示していません。JTAGとBH-20コネクタのすべてがそれほど難しくない場合、SWDの状況はやや危険です。



7. LCDのフットプリントを開発するときに、インシデントが発生し、M3ボルトには穴が小さすぎました。



8. CP2102ではRXおよびTXピンが逆になっています。 私はドキュメンテーションが外部デバイスではなくマイクロコントローラーに関する接続の例を提供しているという事実に慣れているので、2つのトラックをカットする必要がありました。



9.このボードでは、ピン配列間の距離はインチに正規化されていません。これに関連して、はんだ付けしないブレッドボードに突き刺して接続するには問題があります。



10.リレーイネーブル表示回路に電流制限抵抗がオーバーレイされ、定格が大きすぎてリレーを切り替えられませんでした。



11.さて、いつものように、「良い考えはその後に来る」。 だから、ボードを受け取った後、私はそれが少なくとも何らかの種類の住宅に適したサイズにする価値があることに気付きました-明らかにそれは2回目の改訂で確定する必要があります。



12.最初は、小さな面積を占有せず、店舗で利用できるため、小さなデジタルインジケーターが配置されましたが、実際には520以上の注文でどこでも利用できることがわかったため、標準のデジタルインジケーター用のアダプターを彫刻する必要がありました。



最後に、このボードの3Dモデルを紹介します。



画像



そして、彼女の写真を比較するために、彼女がどのように「ライブ」になったか、上からの眺め:



画像



そして、より多くの松葉杖が見えるように、横からの眺め:



画像



申し訳ありませんが、卒業証書を渡す前にプロジェクト全体を広めたくはありませんが、この作業の後、質問がありましたが、このプロジェクトを開発する価値はありますか? 私は、このデバッグボードでこのような完全なコースが提示され、すべてが簡単な言葉で書かれ、指で説明される、トレーニングに捧げられる一連の記事を書くというアイデアに訪れました。 現時点でこれがどのように有用かつ必要であるかについてコメントでお聞きしたいと思います。



ご清聴ありがとうございました!



All Articles